博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IP层转发分组的流程
阅读量:5958 次
发布时间:2019-06-19

本文共 518 字,大约阅读时间需要 1 分钟。

使用子网时的分组转发流程

  当使用子网划分之后,路由表中每一项都包含三个内容:目的网络地址、子网掩码、下一跳地址

  分组转发算法如下:

  1. 先从要转发的数据报中,提取出目的IP地址D,注意D包含了网络号和主机号
  2. 首先判断,D是否与路由器直接相连,即,将每个与路由器直接相连的网络的子网掩码,与D进行“与”操作,若得出的结果和与路由器直接相连的网络号匹配,就直接交付,将数据报交给数据链路层,并填入新的源MAC地址和目的MAC地址。
  3. 若D不与路由器直接相连,则查看路由表中是否有目的地址为D的特定主机路由,若有从相应的接口转发出去,若没有执行第四步操作
  4. 对路由表中的每一行,使用子网掩码和D进行与操作,若结果与相应的网络地址匹配,则从相应的接口转发出去,若不存在这样的路由,执行第五步操作
  5. 若主机中有默认路由,则转发给默认路由,否则报告分组转发错误

 

当使用CIDR构成超网时

  路由表中每一项只包含两个内容:网络前缀,下一跳地址,这样一来就有可能出现在查找路由表时得到多个匹配的结果,我们应该从匹配结果中选择具有最长前缀匹配的路由。

转载于:https://www.cnblogs.com/yusiming/p/9753211.html

你可能感兴趣的文章
Unix环境高级编程 centos中配置apue编译环境
查看>>
运算符
查看>>
数据结构之各排序算法
查看>>
网页分帧操作<frameset>,<iframe>标签
查看>>
Vue生产环境部署
查看>>
酒店之王
查看>>
html5判断用户摇晃了手机(转)
查看>>
VS下Qt4.8.4安装
查看>>
Linux df命令
查看>>
redhat6.5 配置使用centos的yum源
查看>>
取得内表的数据数
查看>>
在一个程序中调用另一个程序并且传输数据到选择屏幕执行这个程序
查看>>
“=” “:=” 区别
查看>>
pwnable.kr lotto之write up
查看>>
python之UnittTest模块
查看>>
HDOJ_ACM_Rescue
查看>>
笔记纪录
查看>>
九、oracle 事务
查看>>
Git - 操作指南
查看>>
正则表达式的贪婪与非贪婪模式
查看>>