网际协议(Ipv4) : 转发IP数据报
引言
在网络的世界里,数据报转发可以分为两种类型:直接交付和间接交付。
直接交付
直接交付是指把数据报从一台机器通过物理网络直接传输到另外一台机器,这是所有互联网通信的基础。
只有当两台主机位于同一个物理网络时,才会发生直接交付。
当然,还有几个小问题没有解决。
Q1: 直接交付具体怎么交付?
A1:先用ARP协议解析得到目标站点的MAC地址,然后,知道了MAC地址就直接将数据报封装成帧发送过去。
Q2:如果每次都用ARP协议解析得到对方MAC地址,会不会效率太低了?
A2:当然,不一定要解析,每一次进行ARP解析之前,都会去检查ARP缓存有没有以往解析的记录。若有,直接取出记录即可发送。
Q3:如何判断对方网络是不是跟我处于在一个网段?
A3:直接取出对方IP地址的网络号部分和我方IP地址的网络号进行比对。若网络号相同,则说明处在同一物理网络。
间接交付
简介交付是指,当两个主机不处于同一个物理网络,也即两个主机之间间隔了至少一个路由器时,一台主机要给另外一个主机发送数据报,则这台主机会将这个数据报发送给最近的路由器,通过路由器之间的互相传递,最终将数据报交给目标主机。
这个概念在《用TCP/IP进行网际互连》有一段精辟的总结:
TCP/IP互联网中的路由器形成一