TCP/IP之路由表与路由转发回顾

2013年4月15日 由 Creater 留言 »

这些东西都是比较基础的,但是又很重要,读过一次后可能不久就遗忘,最好还是抽空再看看加深理解。

1.主机与路由器参与IP数据包转发。所以主机与路由器都含有路由表;route

2.如果目的地存在于直接相连的网络,则可以直接交付。发送方把IP数据报封装在一个帧中,把目的IP地址绑定到一个物理硬件地址后发出;

3.如果不在直接相连的网络,路由器则需要进行转发,即间接交付。协议栈提取IP数据报,然后选择通往目的地的路径上选择下一个路由器,数据报放入帧中发送出去;

4.路由表一般包含许多(N,R)对,N表示目的网络的IP地址,R表示通往N的路径上下一跳地址。路由表中的N一般是用网络地址,而不是主机的IP地址。

5.路由表通常将多个表项合并成一个默认表项,如果表中没有查找到路由,就可以直接转发到默认路由器。(为什么采用默认表项呢?一个主机或路由器本地地址集很小,而且只有一条到互联网的连接,可以降低路由表的大小)

6.路由表中也可以包含特定主机路由,一般用于特殊途径。

路由转发算法分析

从数据报中抽取目的IP地址D。

if(表中包含D的一个特定路由[6])   

把数据包发送到路由表指定的下一跳地址,然后退出。

计算地址D的网络前缀N

else if(N与任何一个直接相连的网络地址匹配)

把D解析成一个物理地址,把数据包封装成帧交付到D。

else if(表中包含一个针对网络N的路由)

把数据包发送到路由表指名的下一跳地址;

else if(表中含有默认路由)

把数据报发送到路由表指名的默认路由器。

else

声明一个转发错误。

广告位

发表评论

你必须 登陆 方可发表评论.