基于GNS3 web UI配置RIP协议(Wireshark 分析)

RIP(Routing Information Protocol)路由信息协议,是一种分布式的基于距离向量的路由选择协议。对每个相邻路由器(假设其地址为 X)发送过来的 RIP 报文,路由器处理遵循以下算法:

(1) 修改 RIP 报文中的所有项目(即路由):把"下一跳"字段中的地址都改为 X,并把所有的"距离"字段的值加 1。

(2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤: 若路由表中没有目的网络N,则把该项目添加到路由表中。否则

  • 若路由表中网络 N 的下一跳路由器为 X,则用收到的项目替换原路由表中的项目。

否则

  • 若收到项目中的距离小于路由表中的距离,则用收到项目更新原路由表中的项目。
  • 否则 什么也不做。

(3) 若 3 分钟还未收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离置为 16(表示不可达)。

(4) 返回。

1、在GNS3中,点击tools选择Web UI-Beta进入GNS3图形配置界面:

可以通过上方按钮执行相关操作,如+可以添加网络设备,如下所示:

这里显示的设备和GNS3界面中一模一样。

2 完成拓扑后,可以启动wireshark(这里我们在位置R1的S0/1接口抓取数据)

3.配置RIP路由(这里省略地址配置步骤,请根据地址结构,自行完成)

  • router rip(命令启用RIP进程);
  • version 2(设置RIP版本为2);
  • network 192.168.0.0(通告网络);
  • network 172.16.12.0(通告网络)。



4.RIP路由(路由器启用RIP v2 以后,各自形成自己的路由表,这里我只显示RIP条目,直连网络没有显示)

路由条目中,左侧R表示,这是RIP路由,[120/2],[120/1],其中120表示管理距离,RIP默认的管理距离是120,2和1表示的是距离。

路由器R1到达目标网络172.16.23.0的距离是1,因为中间隔了一个路由器R2,这里默认直连网络的距离是0,一些教材上可能定义的是1,这并不影响,这样所有路由器都这样认定就可以了。

路由器R1到达目标网络192.168.1.0的距离是2,因为中间隔了两个路由器R2和R3。


路由器R2到达网络192.168.0.0的距离是1,中间隔了一个R1路由器。

路由器R2达到网络192.168.1.0的距离是1,中间隔了一个R3路由器。


路由器R3到达网络192.168.0.0的距离是2,中间隔了路由器R1和R2.

路由器R3到达网络172.16.12.0的距离是1,中间隔了路由器R2。

5.Wireshark抓包

(1)请求

(2)响应

RIP路由条目的格式:

RIP头部:

command:1表示请求,2表示响应。

Version:版本(1,2)

Address Family:(IP为2)

Route Tag:0(用于标记外部路由或重分布到RIPv2的路由)

192.168.0.0:(网络地址)

子网掩码:

下一跳:(0.0.0.0直连的网络)

Metric:(1,度量值为1)

从请求和响应中,我们可以看到,当Command字段值为1时表示这是一个Request,当command字段值为2时,表示这是一个响应。

我们可以看到在RIP Request中,封装成IP数据报的时候,TTL=2,很多人可能问为什么要设置成2,主要原因在于RIP只和相邻路由器交换信息,因此只要到邻居路由器TTL减1不等于0即可,没有必要设置大。这点OSPF就不会这么设置,因为OSPF协议是链路状态协议。两者有本质区别。

RIP协议用UDP进行封装,源端口号和目标端口号都是520。之后再封装成IP数据报,从图中我们可以看到在RIP v2中,目标地址都是组播都是224.0.0.9,源地址都是发送路由器地址,这一点和RIP v1有区别,在v1中,目标地址是255.255.255.255广播地址。

如图所示的响应,R1把192.168.0.0网络通告给R2,网络:192.168.0.0 metric:1(默认情况下,直连网络的metric为0,在发出时进行了+1操作,所以R2在收到后,不会再加1,这点需要注意,否则可能感觉和上面的算法不一样),R2收到后,执行上述RIP算法,关于192.168.0.0的网络路由条目变为:

管理距离120,metric 1,下一跳地址172.16.12.1,接口S0/1。其它的分析类似,请自行完成分析。





相关推荐
专业开发者14 小时前
蓝牙技术联盟推出网络照明控制(NLC)规范
网络·物联网
Kiyra14 小时前
阿里云 OSS + STS:安全的文件上传方案
网络·人工智能·安全·阿里云·系统架构·云计算·json
小趴菜不能喝15 小时前
Docker 网络
网络·docker·容器
云飞云共享云桌面16 小时前
河北某机器人工厂8个研发设计共享一台SolidWorks云主机
运维·服务器·网络·数据库·算法·性能优化·机器人
陌路2017 小时前
TCP/IP模型传输层协议
网络·网络协议·tcp/ip
不染尘.18 小时前
应用层之WWW
服务器·javascript·css·网络·网络协议·计算机网络·html
DX_水位流量监测18 小时前
压力式水位计的技术特性与应用实践
大数据·网络·人工智能·安全·信息可视化
测试人社区-千羽19 小时前
智能化测试:AI驱动的测试覆盖率提升方法论与实战路径
运维·人工智能·测试工具·程序人生·自动化·测试覆盖率
chenyuhao202420 小时前
Linux网络编程:UDP和TCP套接字编程
linux·网络·udp·tcp
进击的前栈20 小时前
Flutter跨平台网络图片缓存库cached_network_image鸿蒙化适配指导手册
开发语言·网络·rust