同一个网络中的主机可以直接通信-----直接交付
不同网络的路由器需要路由器来中转----间接交付
发送过程:
主机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数据报后并不会转发该数据报!
即路由器是隔离广播域的
如果路由器收到广播数据报后都进行转发,则会造成巨大的广播风暴,严重浪费资源
中继器和集线器在物理层,既不隔离冲突域也不隔离广播域
网桥和交换机(多端口在网桥)工作在数据链路层,可以隔离冲突域,不能隔离广播域
路由器工作在网络层,既隔离冲突域,也隔离广播域文章来源:https://www.toymoban.com/news/detail-494980.html
路由器并不提供可靠传输!文章来源地址https://www.toymoban.com/news/detail-494980.html
到了这里,关于IP数据报的发送和转发过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!