• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    5年前 (2013-04-15)  网络 |   3 条评论  17 
    文章评分 0 次,平均分 0.0
    [收起] 文章目录

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

    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

    声明一个转发错误。

     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/639.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享