路由分组转发算法的模拟

上传人:m**** 文档编号:146418916 上传时间:2022-08-31 格式:DOC 页数:10 大小:473.50KB
收藏 版权申诉 举报 下载
路由分组转发算法的模拟_第1页
第1页 / 共10页
路由分组转发算法的模拟_第2页
第2页 / 共10页
路由分组转发算法的模拟_第3页
第3页 / 共10页
资源描述:

《路由分组转发算法的模拟》由会员分享,可在线阅读,更多相关《路由分组转发算法的模拟(10页珍藏版)》请在装配图网上搜索。

1、路由分组转发算法的模拟C+计算机网络作业教材P128所述的分组转发算法如下:(1) 从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。(2) 若网络N与此路由器直接相连,则把数据报直接交付目的主机D;否则是间接交付,执行(3)。(3) 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路 由器;否则,执行(4)。(4) 若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执 行(5)。(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。(6) 报告转发分组出错。将该算法加以修改便可用于

2、如下图所示(P130)划分子网的B类网络。TR我的两豁地址 是 145 一个未划分子网的B类网145 13.21 23所有到网路的分组均 到达此踣曲器网络145.137,34_I戸 丿 R 145.13.21.9 145J3.3.10-耳T该B类网络被划分为三个子网,它们分别为, 和。可知它们的子网掩码均为 。修改后的算法如下:(1) 从收到的分组的首部提取目的IP地址D。(2) 先用各网络的子网掩码和D逐比特相“与”,看是否和相应的网络地址匹配。若匹配,则将分 组直接交付。否则就是间接交付,执行(3)。(3) 若路由表中有目的地址为D的特定主机路由,则将分组传送给指明的下一跳路由器;否则,

3、执行(4)。(4) 对路由表中的每一行的子网掩码和D逐比特相“与”,若其结果与该行的目的网络地址匹配, 则将分组传送给该行指明的下一跳路由器;否则,执行(5)。(5) 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行(6)。(6) 报告转发分组出错。用流程图表示上述算法如下:是否是否否是否是结果与该行目的 地址匹配?与相应网络地址匹配?路由表中有 默认路由?路由表中有目的 地址为D的特 定主机路由?路由表中第行子网掩 码与D逐位相“与”传送给该行指 明的路由器用子网掩码与D逐位相“与”传送给指明的 默认路由器传送给指明的 下一路由器报告分组 发送出错提取目的IP地

4、址D直接交付1结束开始路由分组转发算法的模拟C+用C+实现该算法,考虑传送到路由器R2处的IP数据报分组,经过路由选择决定 如何投递,编制程序模拟IP数据报分组转发过程。在程序中,以手动方式输入数据分 组的目的IP地址D来模拟上述算法中的步骤(1)(D以点分十进制形式输入,在程序 中分四部分输入,每部分以回车结尾)。设R2的路由表中,目的IP地址有对应的特定主机路由,该特定路由 指明发送到的数据分组传送到路由器R3。同时又设R2的路由表有默认路 由,默认路由的下一跳也是R3。而对于发送到网络的数据分组均被直接传 送到路由器R1。即路由器R2的路由表如下图所示:目的主机所在的网络子网掩码下一跳地

5、址0.0.0.0 (默认)R3145.13.3.10 (特定主机)R3R1具体程序代码如下:#include using namespace std;class A /定义一个基类 Apublic:int part1;int part2;int part3;int part4;A subnet_ID; / 用于存储子网号class B:public A /定义 B 类用于存储输入的点分十进制 IP 地址 public:void display();void input();D;/D 用于存储输入的目的主机 IP 地址void B:input() /定义 input 函数,用于输入参数,分四部分

6、输入,每部分以回国结束cinpart1;cinpart2;cinpart3;cinpart4;void B:display()/以点分十进制形式显示 IP 地址,子网掩码coutpart1.;coutpart2.;coutpart3.;coutpart4endl;class C /定义 C 类用于设定路由表中和项public:void setDEST(int p1,int p2,int p3,int p4);void setSUBNET_MASK(int a1,int a2,int a3,int a4);A DEST; /DEST 为目的主机地址,类型为 AA SUBNET_MASK;/ 子网

7、掩码,类型为 A;void C:setDEST(int p1,int p2,int p3,int p4)DEST.part1=p1;DEST.part2=p2;DEST.part3=p3;DEST.part4=p4;void C:setSUBNET_MASK(int a1,int a2,int a3,int a4)SUBNET_MASK.part1=a1;SUBNET_MASK.part2=a2;SUBNET_MASK.part3=a3;SUBNET_MASK.part4=a4;void AND(B IP,C subnet_mask) /AND 函数用于将 IP 地址和子网掩码遂位相“与”等到

8、相应的子网号A SUB=subnet_mask.SUBNET_MASK;subnet_ID.part1=IP.part1&SUB.part1;subnet_ID.part2=IP.part2&SUB.part2;subnet_ID.part3=IP.part3&SUB.part3;subnet_ID.part4=IP.part4&SUB.part4;int main()C c3;c0.setDEST(0,0,0,0);/为相应的路由表项赋值c0.setSUBNET_MASK(255,255,0,0);c1.setDEST(145,13,3,10);c1.setSUBNET_MASK(255,2

9、55,255,255);c2.setDEST(145,13,0,0);c2.setSUBNET_MASK(255,255,0,0);coutvv输入目的主机IP地址D: endl;D.input();coutvv开始路由选择! vvendl;coutvv目的主机IP地址D为:;D.display();int flag=1;/定义一个标志,用于差别是否已经找到了相应的路由表项for(int i=0;iv3;i+)AND(D,ci);if(subnet_ID.part1=ci.DEST.part1&subnet_ID.part2=ci.DEST.part2&subnet_ID.part3=ci.D

10、EST. part3&subnet_ID.part4=ci.DEST.part4)if(i=1)/若对应于特定主机路由表项coutvv有相应的特定主机路由表项,数据分组发送到路由器R3!vvendl;flag=0;break;if(i=2)/若对应于普通路由表项coutvv找到相应路由表项,数据分组发送到路由器R1!vvendl;flag=0;break;if(flag) 未找到完全相符的路由表项则使用默认路由_coutvv使用默认路由,数据分组发送到路由器R3!vvendl;_return 0;运行程序:1、输入目的主机地址为 (表中有对就的特定主机路由表项),结果如下图2、输入目的主机地址

11、为,该主机是图中划分了子网的B类网络中的一台主机,据算法 可知数据分组应传送到路由器R1,结果如下图,可见与预计结果相符。3、 输入其它不是图中 B 类网络中的任一主机地址时由算法知应该使用默认路由,演示时输入,运行结果如下,可见与预计结果相符。若路由表中没有配置默认路由,则前面所列的路由表中就删去第一行,并将上述程序代码加粗下 划线部分修改成如下内容:if(flag) /未找到完全相符的路由表项,而又没有默认路由则报告出错cout出错!未找到完全相符的路由表项或默认路由! e ndl;此时若再输入步骤(3)中的主机IP地址时则会报告出错,与算法中第六步相对应。实际运行如果见 下图:对于发送到路由器R1处的数据分组,其算法与前面所述的相似,现在只将R1的路由表列出如下:目的主机所在的网络子网掩码下一跳地址RARBRC说明:设 RA 与子网 145.13.3.0 直接相连,设 RB 与子网 145.13.7.0 直接相连,设 RC 与子网 145.13.21.0 直接相连。若有主机直接与路由器 R1 相连,刚其对应的下一跳 地址将是直接投递。另外,对于特定主机路由,其对应的子网掩码为全1 码,即 。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!