当前位置:网站首页>IP数据报的发送和转发过程
IP数据报的发送和转发过程
2022-06-28 04:14:00 【斯沃福德】
同一个网络中的主机可以直接通信-----直接交付
不同网络的路由器需要路由器来中转----间接交付
发送过程:

主机C将自己的ip地址和自己的子网掩码相与,得到主机C的网络地址;
主机C再将主机F的网络地址和自己的子网掩码相与 得到目的网络地址;
发现主机F的目的网络地址和C自己的一样则直接交付; 若不一样,则不在同一个网络中需要路由器转发报文进行间接交付;
主机C将数据报传输给所在网络的路由器,由路由器将数据报转发给主机F
转发过程:
(1)首先从需要从数据报首部提取目的地址,检查首部校验和是否出错,出错则丢弃数据报并通知主机。
(2)与本路由器的子网掩码相与,看是否可以直接交付。即目的地址所在网络是否与该路由器直接连接,若连接则可直接交付,不需要再经过其他路由器的进行转发。否则,则执行3。
(3)查看路由表是否有对应的特定主机路由(特定主机路由用于控制、测试网络),有的话就转发给特定主机路由路由指定的下一跳地址,否则执行4。
(4)查看有没有到达目的网络的路由器,如果有,则根据符合规则的那一条一般路由指定的下一跳地址进行转发,否则执行5。
(5)若该路由器中的路由表设定了默认路由,则将分组转发到默认路由指明的地址,否则执行6
(6)丢弃该数据包,并报告转发失败
注意:
- 每个路由器依据路由表选择到目标网络需要的下一跳(路由器的物理端口号或下一网络地址),而ip分组在通过多次路由转发到达目标网络后,改为在目标LAN中通过链路层的MAC地址以广播方式寻址!(IP地址转换为MAC地址,存于MAC帧首部中)这样可以提高路由选择的效率
- 虽然ip数据报有完整的源ip地址和目的ip地址,但路由器只根据目的地址的网络号进行路由选择 !
- 在局域网中的链路层,只能看见MAC地址。而通过路由转发ip分组时,ip分组在每个网络中都被路由器解封装和重新封装(组帧),所以MAC地址是不断改变的!这也决定了无法通过MAC地址跨网络通信!
- 由于路由器互联多个网络,因此不仅有多个ip地址,还有多个硬件地址
- 无论网络层使用什么协议,在实际网络传输数据帧时,最终都必须使用硬件地址,所以需要一种方法来完成ip地址到MAC地址的映射-----地址解析协议ARP
ARP用于解决一个LAN中的主机/路由器的ip地址和MAC地址的映射问题,如果要找的主机和源主机不在同一个网络中,则通过ARP找到位于本LAN的某个路由器的硬件地址,然后把分组转发给这个路由器
广播风暴:
如果主机A给本网络的各设备发送一个广播数据报(ip的主机号全为1),即ip数据报的目的地址是广播地址,
则路由器收到该ip数据报后并不会转发该数据报!
即路由器是隔离广播域的
如果路由器收到广播数据报后都进行转发,则会造成巨大的广播风暴,严重浪费资源
中继器和集线器在物理层,既不隔离冲突域也不隔离广播域
网桥和交换机(多端口在网桥)工作在数据链路层,可以隔离冲突域,不能隔离广播域
路由器工作在网络层,既隔离冲突域,也隔离广播域
路由器并不提供可靠传输!
边栏推荐
- Multithreading and high concurrency V: detailed explanation of wait queue, executor and thread pool (key)
- 控制器的功能和工作原理
- How do I get the STW (pause) time of a GC (garbage collector)?
- xml  File read / write
- 10: 00 interview, came out at 10:02, the question is really too
- Win10 how to delete the large file hiberfil sys
- Short video platform development, click links and pictures to automatically jump to a new page
- Necessary skills for test and development: actual combat of security test vulnerability shooting range
- [NOIP2002 普及组] 过河卒
- 2022年中国音频市场年度综合分析
猜你喜欢

Mask's miserable and inspirational childhood, who is introverted by campus violence

first. Net core MVC project

Matlab exercises -- basic data processing

论文详读:IMPROVING CONVOLUTIONAL MODELS FOR HANDWRITTEN TEXT RECOGNITION

JVM I: introduction to JVM and understanding of class files

抖音實戰~關注博主

27年,微软IE结束了!

多线程实现 重写run(),怎么注入使用mapper文件操作数据库

Ppt production tips

With favorable policies, more than 20 provinces and cities have launched the yuanuniverse development plan
随机推荐
How do I get the STW (pause) time of a GC (garbage collector)?
Is the securities account opened by qiniu safe? How to open an account
Multi thread implementation rewrites run (), how to inject and use mapper file to operate database
玩转双指针
Has anyone ever used CDC to synchronize to MySQL with a deadlock?
Notepad++ -- column editing mode -- Usage / instance
Has any boss ever seen repeated binlog messages when MySQL CDC uses datastream
CI & CD must be known!
Find an SQL that can judge the data in the table and only fill in the SQL that is not overwritten
[applet] solution document using font awesome Font Icon (picture and text)
[proteus simulation] timer 1 external counting interrupt
Idle interrupt cannot be cleared
TACo:一种关于文字识别的数据增强技术
mysql导入文本文件时的pager
With the transformation of automatic empowerment, Feihe dairy accelerates its move towards digitalization!
Flexible IP network test tool -- x-launch
成长一夏 挑战赛来袭 | 学习、创作两大赛道,开启导师报名啦!
[early knowledge of activities] list of recent activities of livevideostack
Lazy loading and preloading of pictures
How to clean the nozzle of Epson l3153 printer