路由方式,IP路由选择过程

一、路由及路由方式 

    路由这个术语用来说明将数据包从一台设各通过网络发往另一台处在不同网络上的设备。路由器并不关心这些主机,它们只关心网络和通向每个网络的最佳路径。路由器可以从相邻的路由器或从管理员那里认识远程网络。之后,路由器需要建立一个描述如何寻找远程网络的路由表(一张网络地图)。如果网络是直接与路由器相连的,那么路由器自然就知道如何达到这个网络。如果网络没有直接与它相连,路由器必须通过学习来了解如何到达这个远程网络。所采用的方法只有两种:静态路由方式,即必须由人来手动输入所有网络位置到路由表中;和动态路由的方式在动态路由中,在一台路由器上运行的协议将与相邻路由器上运行的相同协议之间进行通信。然后,这些路由器会更新各自对整个网络的认识并将这些信息加入到路由表中去。如果在网络中有一个改变出现,动态路由协议将自动将这个改变通知给所有的路由器。如果使用的是静态路由,则管理员将负责通过手工方式在所有的路由器上更新所有的改变。动态路由与静态路由没有绝对的优劣之分,在一个大型网络中,同时使用动态和静态路由是很典型的方式。

二、IP路由选择过程

      IP的路由处理是一个相当简单并没有多少变化的过程,它与网络的大小无关。这个过程非常重要,以终端A通过一个路由器访问外网的终端B为例,描述一下IP路由选择过程:

因特网控制报文协议(lCMP)创建一个回应请求数据包

——>> ICMP将此包转交给IP 

——>>IP协议判断目的IP地址是处在本地网络中,还是处在一个远程网络上

——>> 这是一个远程请求,这个数据包需要被发送到默认网关(这也就是为什么要在终端上配置网关)

——>>根据ARP缓存中的网关MAC地址,将数据进行帧(Frame)的封装(此时数据已经从网络层到数据链路层)

——>> 帧到物理层位(Bit)的形式传输

——>>传输完成,校验数据,并向上解包,直到网络层

——>>  在路由表中检查其IP目的地址

——>> 此路由表中必须包含有目的地址网络,否则将丢弃数据,并返回"destination network unavailable"的ICMP信息,并被发送回原设备

——>> 数据包被交换到输出接口的缓存区

——>>检查ARP缓存是否有目的地址,如果没有,则向目的主机发出ARP请求,取得地址

——>>根据网关MAC地址,将数据进行帧(Frame)的封装 

——>> 帧到物理层位(Bit)的形式传输

——>> 传输完成,校验数据,并向上解包,直到网络层

——>>  核对IP,正确后交付给ICMP,ICMP会丢弃这个数据包,产生一个新负荷来作为回应应答

——>>创建应答,添加源方和目的方的地址、协议字段和有效负荷,此时目的方设备为主机A。然后就是经历一个相反的过程,将应答返回终端A。

    有一点需要提示一下,当数据包在返回源主机的途中被丢弃时,由于这是一个未知的错误,通常你将会看到“request timed out” 的信息。如果出现的错误是一个已知的错误,如假设在去往目的设各的路途中路由表内没有可用的路曲,你将会得到“destination unreachable” 的信息。根据这些信息,你可以判断问题是发生在去往目的的路上,还是在返回的途中。在这里要理解的关键问题是,即使对于一个非常大的网络,这个处理过程也将是同样的。在一个较大的互联网络中,数据包在找到目的主机之前,需要通过更多的路由器。

    另外,硬件地址总是保存在本地,它们决不会跨过路由器的接口。理解这个过程是至关重要的,所以要将它刻在你的记忆中! 例如:主机A将向主机B发送出一个ARP请求,路由器将如何响应这个请求?由于MAC地址必须限定于本地网络内,路由器将用连接主机A接口的MAC地址响应这个请求,于是当主机A要发送数据包时,会将所有的数据帧发往路由接口的MAC地址。

 

你可能感兴趣的:(计算机网络)