一、实例一
在TCP/IP详解这本书中讲解IP路由选择的时候,
过程讲解的比较粗略
,这里详细介绍下其中的整体过程。在这篇文章中,将通过一个案例,来帮助大家深入了解IP路由的选择过程。希望这篇文章能够帮助大家扫清IP路由选择上的一些误区。
如下图,现在这么一个网络。主机甲与主机乙分别在两个不同的网段上,中间通过路由器进行连接。现在假设主机甲要跟主机乙进行通信,那么主机甲如何才能够找到主机乙的位置呢?笔者现在就通过这个例子,跟大家详细解释IP路由选择的整个过程。在这里,笔者以Cisco的路由器为例进行介绍。
主机甲<————————–>路由器<————————–>主机乙
172.16.60.6 172.16.80.8
假设现在主机甲的用户利用Ping命令,来确认主机乙的连通性问题。这个网络架构虽然比较简单,但是其路由选择过程的步骤则是一步不缺的。主要通过如下步骤:
第一步:当用户在主机甲上输入PING 172.168.80.8之后,主机甲中有一个因特网控制报文协议,英文简称为ICMP。这个协议将创建一个回应请求数据包,在它的数据域中只包含有字母。
第二步:英特网控制报文协议会将这个有效负荷(即刚创建的数据包)交给因特网协议(英文简称IP)。然后这个因特网协议也会创建一个数据包。在这个英特网协议创建的数据包中,所包含的内容要比因特网控制报文协议所创建的数据包丰富的多。在这个包中包括主机甲的IP地址、目的地主机乙的IP地址以及值为01h的协议字段。当数据包到达主机乙时,这些内容就是告诉对方,应该将这个有效负荷交给因特网控制报文协议来处理。
第三步:IP协议会判断目的IP地址是属于远程网络,还是在本地网络。由于根据IP地址规划规则,主机甲与主机已是属于不同的网络。此时,刚才英特网协议(IP)所创建的数据包将会被发送到默认的网关中去。在主机甲的网络属性配置中,除了有自身的逻辑IP地址,还有默认的网关地址。网关地址就是用来不同网络之间的主机进行通信的一扇门。只有通过网关,主机甲的数据包才能够被发送到不同网络的主机乙中。
第四步:确认路由器相应接口的MAC地址。假设主机甲(IP地址为172.168.60.6)的默认网关被配置为172.168.60.1。若主机甲的数据包要发送到这个默认网关上,则就必须知道其对应的路由器接口的物理地址,即MAC地址。因为只有如此,数据包才能够被传递到更下一层的数据链路层并根据一定的规则生成帧。然后主机甲才能够把数据包发送给172.168.60.1网络连接的路由器接口。在本地局域网上,主机只可以通过硬件地址来相互之间进行通信。所以当主机甲要把数据包发送给特定的网关时,必须要知道这个网关所对应的MAC地址。这一个过程是不可避免的。为了达到这个目的,主机甲首先会检查自己的ARP缓存,查看一个默认网关的IP地址是否已经解析为对应接口的硬件地址。如果在ARP缓存表中已经有对应的记录,表示已经被成功解析。此时,数据包将会被释放并传递到数据链路层并生成帧。其中目的方的硬件地址也将同数据包一起下传到数据链路层。通常情况下,在主机甲上,可以通过ARP命令来查看主机当前的IP地址与MAC地址的对应表。如下图。笔者现在电脑所设置的默认网关为192.168.0.254,后面的16位字符就是默认网关所对应的硬件地址。
第五步:生成帧。当这个数据包和目的方的硬件地址被传递给数据链路层之后,局域网驱动器将用来提供媒体访问服务,以通过以太网进行数据传输。一个数