第4章网络层(2)
在前面关于 ARP 工作原理的介绍中我们还留下了一个悬而未决的问题,即当目标主机和源主机不在同一网络中时,数据包将被发送至源主机的缺省网关(即源主机本网络上的路由器接口地址),发给路由器后剩下的工作由路由器完成,那么路由器收到该数据包后又将做什么样的处理呢?
所谓路由是指对到达目标网络所进行的最佳路径选择,通俗地讲就是解决“何去何从”的问题,路由是网络层最重要的功能。
在网络层完成路由功能的设备被称为路由器,路由器是专门设计用于实现网络层功能的网络互连设备
路由器将所有有关如何到达目标网络的最佳路径信息以数据库表的形式存储起来,这种专门存放路由信息的表被称为路由表。
路由表是自动创建的,创建的依据是计算机当前的TCP/IP设置。
要显示Windows操作系统计算机中的路由表,在命令行状态下使用:route print
网络目的:数据报中的目的IP地址和网络掩码一起计算出网络ID,然后对照网络目的。
网络掩码:应用于数据报中的目的IP地址。
网关:确定本地主机进行IP数据报转发时发往的IP地址。
接口:确定计算机在转发数据报时使用的本地网卡的IP地址。
Metric跃点数:确定路由的花费
2. 分组转发算法
有四个 A 类网络通过三个路由器连接在一起。每一个网络上都可能有成千上万个主机。
可以想像,若按目的主机号来制作路由表,则所得出的路由表就会过于庞大。
但若按主机所在的网络地址来制作路由表,那么每一个路由器中的路由表就只包含 4 个项目。这样就可使路由表大大简化。
网 1
网 4
网 3
网 2
目的主机所在的网络
下一跳地址
直接交付,接口 1
直接交付,接口 0
路由器 R2 的路由表
链路 4
链路 3
链路 2
链路 1
R2
R3
R1
0
1
R2
R3
R1
在路由表中,对每一条路由,最主要的是
(目的网络地址,下一跳地址)
总之,在路由表中,对每一条路由,最主要的信息是:(目的网络地址,下一跳地址)
于是我们可以根据目的网络地址就能确定下一跳路由器,这样做的结果是:
(1)IP 数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。
(2)只有到达最后一个路由器时,才试图向目的主机进行直接交付。
特定主机路由:
虽然因特网所有的分组转发都是基于目的主机所在的网络,但在大多数情况下也允许有这样的特例,即对特定的目的主机指明一个路由。这种路由叫做特定主机路由。
默认路由(default route)
路由器还可采用默认路由以减少路由表所占用的空间和搜索路由表所用的时间。这种转发方式在一个网络只有很少的对外连接时是很有用的。
第4章网络层(2) 来自淘豆网www.taodocs.com转载请标明出处.