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。其它的分析类似,请自行完成分析。
基于GNS3 web UI配置RIP协议(Wireshark 分析)
njxiejing2025-10-01 12:38
相关推荐
ICT系统集成阿祥2 小时前
路由相关的概念,一文查阅。半桔3 小时前
【网络编程】套接字入门:网络字节序与套接字种类剖析云计算练习生3 小时前
Linux 操作系统防火墙工具Firewalld常用操作lhxcc_fly3 小时前
Linux网络--4、应用层协议Httpcliproxydaili3 小时前
真家宽IP vs 数据中心IP:Cliproxy为何成为跨境电商首选?Yeats_Liao3 小时前
Java网络编程(七):NIO实战构建高性能Socket服务器卓码软件测评3 小时前
K6的CI/CD集成在云原生应用的性能测试应用我的xiaodoujiao4 小时前
Web UI自动化测试学习系列5--基础知识1--常用元素定位1张永清-老清4 小时前
每周读书与学习->初识JMeter 元件(三)