一个RIP响应消息在封装进UDPvxlan报文封装之前,为什么其长度不能超过504个字节?

cisco第2学期第5章_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
cisco第2学期第5章
&&思科ccna考试认证复习资料
你可能喜欢RIP为什么不直接使用IP传输呢,而是封装在UDP中_百度知道
RIP为什么不直接使用IP传输呢,而是封装在UDP中
OSPF为什么可以直接封装在IP呢?
我有更好的答案
OSPF并非封装在IP中,它在IP包中只占有一个协议号而已。它实际在IP层之上,夹在网络层与传输层之间。RIP也在UDP之上,使用UDP520端口号。它们并非集成在TCP/IP协议中,可以考虑成是TCP/IP协议的扩展或者协议之上。所谓的七层与四层,只是一个标准,实际情况比这复杂。
1.&OSPF并非封装在IP中,它在IP包中只占有一个协议号而已。它实际在IP层之上&如何理解呢?OSPF不是构成了IP数据部分吗?加上了IP头,这不是被封装在IP中吗?&2,RIP直接包含在UDP中,然后又包在IP中那么到了IPssssss层如何取出RIP报文呢?。。因为UDP是IP上层协议。3.OSPF和RIP到底属于哪层协议呢?&谢谢。
1、首先,你要明白数据包与层的概念,一个数据包可以包含多个层。(你的上下两个图对比,下图中IP数据报包含UDP部分,然而UDP在传输层。)其实OSPF只在IP包中有个协议号的部分,所以你可以看成它是IP的扩展部分,也可以看成在IP层之上,但它又不属于传输层。所以,通用意义上来说,它在网络层。但是,在不同的资料中可能有不同的观点。这些具体信息,你最好看看RFC文档。2、RIP也是同样的道理。不要太限于这些协议到底属于哪一层,除非是为了考试。RIP使用UDP520端口号,可以看成是传输层的协议。3、分层只是为了标准化,理解简单化,但与实际总会有些出入。比如现在比较流行的SDN(软件定义网络),可以自定义数据流传输,它就抛弃了原来的很多观念。4、同样的,要确定这些协议,最好看看官方的RFC文档。参考书也会有出入的。
采纳率:36%
  1982年,伯克利发布的UNIX4.2BSD版本中,通过一个为“routed”的守护进程实现了rip协议;很多后来的UNIX版本都是基于流行的UNIX4.2BSD版本,并且通过一个成为“routed“或”gated“的进程支持rip协议。直到1988年才发布了一个rip协议的标准。所以说rip协议使用UDP是有它的历史原因的。当时的网络环境没有现在这么复杂,rip协议在开发时就没有考虑过多的原因,所以导致rip更新数据包不可靠。后来由IETF开发的OSPF协议来代替一些存在问题的rip协议。都是基于传输服务的,所以封装在IP数据报里面。
为您推荐:
其他类似问题
您可能关注的内容
udp的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。UDP_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是(Open System Interconnection,) 参考模型中一种无连接的协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP在IP报文的协议号是17。UDP协议全称是用户数据报协议
,在中它与协议一样用于处理数据包,是一种无连接的协议。在模型中,在第四层——,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在之间传输数据的网络应用。包括系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天UDP仍然不失为一项非常实用和可行的网络传输层协议。与所熟知的TCP()协议一样,UDP协议直接位于IP(网际协议)协议的顶层。根据OSI()参考模型,UDP和TCP都属于传输层协议。UDP协议的主要作用是将流量压缩成数据包的形式。一个典型的数据包就是一个二进制数据的传输单位。每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。
UDP是参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成
,提供面向事务的简单不可靠信息传送服务。UDP 协议基本上是与上层协议的接口。UDP协议适用分别运行在同一台设备上的多个。
UDP提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据,UDP传输的可靠性由应用层负责。常用的UDP端口号有:
应用协议 端口号
UDP报文没有可靠性保证、顺序保证和流量控制字段等,可靠性较差。但是正因为UDP协议的控制选项较少,在数据传输过程中延迟小、数据传输效率高,适合对可靠性要求不高的应用程序,或者可以保障可靠性的应用程序,如DNS、TFTP、SNMP等。
UDP在IP报文中的位置如图所示。
在选择使用协议的时候,选择UDP必须要谨慎。在质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重。但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。比如我们聊天用的ICQ和就是使用的UDP协议。
UDP报头由4个域组成,其中每个域各占用2个字节,具体如下:
目标端口号
UDP协议使用端口号为不同的应用保留其各自的数据传输通道。UDP和正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。数据发送一方(可以是客户端或服务器端)将UDP数据包通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。一般来说,大于49151的端口号都代表动态端口。
数据报的长度是指包括报头和数据部分在内的总字节数。因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。数据报的最大长度根据操作环境的不同而各异。从理论上说,包含报头在内的数据报的最大长度为65535字节。不过,一些实际应用往往会限制数据报的大小,有时会降低到8192字节。
UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是否出错。这与TCP协议是不同的,后者要求必须具有校验值。
许多链路层协议都提供错误检查,包括流行的协议,也许你想知道为什么UDP也要提供检查和校验。其原因是链路层以下的协议在源端和之间的某些通道可能不提供错误检测。虽然UDP提供有错误检测,但检测到错误时,UDP不做错误校正,只是简单地把损坏的消息段扔掉,或者给应用程序提供警告信息。
UDP Helper是实现对指定UDP端口广播报文的中继转发,即将指定UDP端口的广播报文转换为单播报文发送给指定的服务器,起到中继的作用.
为了在给定的主机上能识别多个目的地址,同时允许多个应用程序在同一台主机上工作并能独立地进行数据包的发送和接收,设计UDP。
使用UDP协议包括:、、NFS、DNS、BOOTP  UDP使用底层的互联网协议来传送报文,同IP一样提供不可靠的无连接数据包传输服务。它不提供报文到达确认、排序、及流量控制等功能。
UDP报文格式
每个UDP报文分UDP报头和UDP数据区两部分。报头由四个16位长(2字节)字段组成,分别说明该报文的源端口、目的端口、报文长度以及校验值。
UDP分层封装
在TCP/IP协议层次模型中,UDP位于IP层之上。应用程序访问UDP层然后使用IP层传送数据报。IP层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。
UDP分解操作
UDP的复用、分解与端口
UDP软件应用程序之间的复用与分解都要通过端口机制来实现。每个应用程序在发送数据报之前必须与操作系统协商以获得协议端口和相应的端口号。  UDP分解操作:从IP层接收了数据报之后,根据UDP的目的端口号进行分解操作。  UDP端口号指定有两种方式:由管理机构指定端口和动态绑定的方式。
UDP配置命令
1.1.1 display udp-helper server
display udp-helper server[interfaceinterface-type interface-number]
【缺省级别】
interfaceinterface-type interface-number:显示指定接口的UDP中继转发相关信息。interface-type interface-number为接口类型和接口编号。
display udp-helper server命令用来显示UDP中继转发的相关信息。
如果不选择参数,则显示所有接口的UDP中继转发相关信息。
# 显示VLAN接口1的UDP中继转发相关信息。
&Sysname& display udp-helper server interface vlan-interface 1
Interface name Server address Packets sent
Vlan-interface1 192.1.1.2 0
以上显示信息表示VLAN接口1对应的目的服务器的IP地址为192.1.1.2,中继转发到该目的服务器的报文数为0。
1.1.2 reset udp-helper packet
reset udp-helper packet
【缺省级别】
reset udp-helper packet命令用来清除UDP中继转发的报文统计数目。
# 清除UDP中继转发的报文统计数目。
&Sysname& reset udp-helper packet
1.1.3 udp-helper enable
udp-helper enable
undo udp-helper enable
【缺省级别】
udp-helper enable命令用来使能UDP Helper功能,设备会将指定UDP端口的广播报文转换为单播报文发送给指定的目的服务器,起到中继的作用。undo udp-helper enable命令用来关闭UDP Helper功能。
缺省情况下,UDP Helper功能处于关闭状态。
# 使能UDP Helper功能。
&Sysname& system-view
[Sysname] udp-helper enable
1.1.4 udp-helper port
udp-helper port{port-number|dns|netbios-ds|netbios-ns|tacacs|tftp|time}
undo udp-helper port{port-number|dns|netbios-ds|netbios-ns|tacacs|tftp|time}
【缺省级别】
port-number:需要中继转发的UDP端口号,取值范围为1~65535(不支持67和68)。
dns:对DNS的数据报文进行中继转发,对应的UDP端口号为53。
netbios-ds:对NetBIOS数据报服务的数据报文进行中继转发,对应的UDP端口号为138。
netbios-ns:对NetBIOS名字服务的数据报文进行中继转发,对应的UDP端口号为137。
tacacs:对终端访问控制器访问控制系统的数据报文进行中继转发,对应的UDP端口号为49。
tftp:对简单文件传输协议的数据报文进行中继转发,对应的UDP端口号为69。
time:对时间服务的数据报文进行中继转发,对应的UDP端口号为37。
udp-helper port命令用来配置需要中继转发的UDP端口。undo udp-helper port命令用来取消对需要中继转发的UDP端口的配置。
缺省情况下,没有配置中继转发的UDP端口。
关闭UDP Helper功能后,所有已配置的UDP端口都被取消。
# 配置对目的UDP端口号为100的广播报文进行中继转发。
&Sysname& system-view
[Sysname] udp-helper port 100
1.1.5 udp-helper server
udp-helper serverip-address
undo udp-helper server[ip-address]
三层以太网接口视图/VLAN接口视图
【缺省级别】
ip-address:目的服务器的IP地址,为点分十进制形式。
udp-helper server命令用来配置中继转发的目的服务器。undo udp-helper server命令用来删除中继转发的目的服务器。
缺省情况下,没有配置中继转发的目的服务器。
目前,一个接口上最多可以配置20个中继转发的目的服务器。
需要注意的是,undo udp-helper server命令后不加参数时,将会删除该接口下配置的所有目的服务器。
相关配置可参考命令display udp-helper server。
(1) UDP是一个,传输数据之前源端和终端不建立连接,当
它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。
(2) 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。
(3) UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。
(4) 吞吐量不受拥挤控制算法的调节,只受生成数据的速率、传输带宽、源端和终端主机性能的限制。
(5)UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表(这里面有许多参数)。
(6)UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。
虽然UDP是一个不可靠的协议,但它是分发信息的一个理想协议。例如,在屏幕上报告股票市场、在屏幕上显示航空信息等等。UDP也用在RIP(Routing Information Protocol)中修改路由表。在这些应用场合下,如果有一个消息丢失,在几秒之后另一个新的消息就会替换它。UDP广泛用在多媒体应用中,例如,Progressive Networks公司开发的RealAudio,它是在上把预先录制的或者现场音乐实时传送给客户机的一种软件,该软件使用的RealAudio audio-on-demand protocol协议就是运行在UDP之上的协议,大多数因特网电话软件产品也都运行在UDP之上。
UDP和TCP协议的主要区别是两者在如何实现信息的可靠传递方面不同。
TCP协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。与TCP不同,UDP协议并不提供数据传送的保证机制。如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。因此,通常人们把UDP协议称为不可靠的。
相对于TCP协议,UDP协议的另外一个不同之处在于如何接收突发性的多个数据报。不同于TCP,UDP并不能确保数据的发送和接收顺序。例如,一个位于客户端的应用程序向服务器发出了以下4个数据报
但是UDP有可能按照以下顺序将所接收的数据提交到服务端的应用:
事实上,UDP协议的这种乱序性基本上很少出现,通常只会在网络非常拥挤的情况下才有可能发生。
既然UDP是一种不可靠的,那么还有什么使用价值或必要呢?其实不然,在有些情况下UDP协议可能会变得非常有用。因为UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的,无疑使速度受到严重的影响。反观UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。
关于UDP协议的最早规范是768,1980年发布。尽管时间已经很长,但是UDP协议仍然继续在主流应用中发挥着作用。包括视频在内的许多应用都证明了UDP协议的存在价值。因为相对于可靠性来说,这些应用更加注重实际性能,所以为了获得更好的使用效果(例如,更高的画面帧刷新速率)往往可以牺牲一定的可靠性(例如,画面质量)。这就是UDP和TCP两种协议的权衡之处。根据不同的环境和特点,两种传输协议都将在今后的网络世界中发挥更加重要的作用。
UDP程序设计
UDP Server程序
UDP编写程序
(1)使用socket()来建立一个UDP socket,第二个参数为SOCK_DGRAM。
(2)初始化sockaddr_in结构的变量,并赋值。sockaddr_in结构定义:
struct sockaddr_in {
uint8_t sin_
sa_family_t sin_
in_port_t sin_
structsin_
char sin_zero[8];
这里使用“8888”作为服务程序的端口,使用“”作为绑定的IP地址即任何主机上的地址。
(3)使用把上面的和定义的IP地址和端口绑定。这里检查bind()是否执行成功,如果有错误就退出。这样可以防止服务程序重复运行的问题。
(4)进入无限循环程序,使用recvfrom()进入等待状态,直到接收到客户程序发送的数据,就处理收到的数据,并向客户程序发送反馈。这里是直接把收到的数据发回给客户程序。
UDP程序内容
#include&sys/socket.h&
#include&unistd.h&
#include&string.h&
#include&stdio.h&
#include&arpa/inet.h&
#include&stdlib.h&
#defineMAXLINE80
#defineSERV_PORT8888
voiddo_echo(intsockfd,structsockaddr*pcliaddr,socklen_tclilen)
charmesg[MAXLINE];
/*waitingforreceivedata*/
n=recvfrom(sockfd,mesg,MAXLINE,0,pcliaddr,&len);
/*sentdatabacktoclient*/
sendto(sockfd,mesg,n,0,pcliaddr,len);
intmain(intargc,char*argv[])
structsockaddr_inservaddr,
sockfd=socket(AF_INET,SOCK_DGRAM,0);/*createasocket*/
/*initservaddr*/
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
servaddr.sin_port=htons(SERV_PORT);
/*bindaddressandporttosocket*/
if(bind(sockfd,(structsockaddr*)&servaddr,sizeof(servaddr))==-1)
perror(&binderror&);
do_echo(sockfd,(structsockaddr*)&cliaddr,sizeof(cliaddr));
UDP Client程序
1、编写UDP Client程序的步骤
(1)初始化sockaddr_in结构的变量,并赋值。这里使用“8888”作为连接的服务程序的端口,从命令行参数读取IP地址,并且判断IP地址是否符合要求。
(2)使用socket()来建立一个UDP socket,第二个参数为SOCK_DGRAM。
(3)使用connect()来建立与服务程序的连接。与TCP协议不同,UDP的connect()并没有与服务程序三次握手。上面说了UDP是非连接的,实际上也可以是连接的。使用连接的UDP,kernel可以直接返回错误信息给用户程序,从而避免由于没有接收到数据而导致调用recvfrom()一直等待下去,看上去好像客户程序没有反应一样。
(4)向服务程序发送数据,因为使用连接的UDP,所以使用write()来替代sendto()。这里的数据直接从标准输入读取用户输入。
(5)接收服务程序发回的数据,同样使用read()来替代recvfrom()。
(6)处理接收到的数据,这里是直接输出到标准输出上。
udpclient.c程序内容:
#include&sys/socket.h&
#include&unistd.h&
#include&string.h&
#include&stdio.h&
#include&arpa/inet.h&
#include&stdlib.h&
#defineMAXLINE80
#defineSERV_PORT8888
voiddo_cli(FILE*fp,intsockfd,structsockaddr*pservaddr,socklen_tservlen)
charsendline[MAXLINE],recvline[MAXLINE+1];
/*connecttoserver*/
if(connect(sockfd,(structsockaddr*)pservaddr,servlen)==-1)
perror(&connecterror&);
while(fgets(sendline,MAXLINE,fp)!=NULL)
/*readalineandsendtoserver*/
write(sockfd,sendline,strlen(sendline));
/*receivedatafromserver*/
n=read(sockfd,recvline,MAXLINE);
perror(&readerror&);
recvline[n]=0;/*terminatestring*/
fputs(recvline,stdout);
intmain(intargc,char**argv)
structsockaddr_
/*checkargs*/
if(argc!=2)
printf(&usage:udpclient\n&);
/*initservaddr*/
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(SERV_PORT);
if(inet_pton(AF_INET,argv[1],&servaddr.sin_addr)&=0)
printf(&[%s]isnotavalidIPaddress\n&,argv[1]);
sockfd=socket(AF_INET,SOCK_DGRAM,0);
do_cli(stdin,sockfd,(structsockaddr*)&servaddr,sizeof(servaddr));
UDP例子程序
1、编译例子程序
使用如下命令来编译例子程序:
gcc -Wall -o udpserv udpserv.c
gcc -Wall -o udpclient udpclient.c
编译完成生成了udpserv和udpclient两个可执行程序。
2、运行UDP Server程序
执行./udpserv &命令来启动服务程序。我们可以使用netstat -ln命令来观察服务程序绑定的IP地址和端口,部分输出信息如下:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:.0.0:* LISTEN
tcp 0 0:631 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:.0.0:*
udp 0 0 0.0.0.0:.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:882 0.0.0.0:*
可以看到udp处有“0.0.0.0:8888”的内容,说明服务程序已经正常运行,可以接收主机上任何IP地址且端口为8888的数据。
如果这时再执行./udpserv &命令,就会看到如下信息:
bind error: Address already in use
说明已经有一个服务程序在运行了。
UDP运行程序
执行./udpclient 127.0.0.1命令来启动客户程序,使用127.0.0.1来连接服务程序,执行效果如下:
Hello,World!
Hello,World!
this is a test
this is a test
输入的数据都正确从服务程序返回了,按ctrl+d可以结束输入,退出程序。
如果服务程序没有启动,而执行客户程序,就会看到如下信息:
$ ./udpclient 127.0.0.1
read error: Connection refused
说明指定的IP地址和端口没有服务程序绑定,客户程序就退出了。这就是使用connect()的好处,注意,这里错误信息是在向服务程序发送数据后收到的,而不是在调用connect()时。如果使用程序来,会发现收到的是ICMP的错误信息。
UDPUDP的分组结构
偏移0123                                                        字节01234567891011121314151617181920212223242526272829303100来源连接端口目的连接端口432报长检查码
UDP生物名词
UDP = uridine diphosphate,,一种,由、与组成,主要用途是合成(转录)时的原料。另外UDP也是能量消耗后产物,功能类似,但较ADP少见。参与微生物等的合成
解读词条背后的知识
.协议分析网[引用日期]
刘瑞挺.全国计算机等级考试三级教程网络技术:高等教育出版社,2010:45
.H3C.[引用日期]
本词条认证专家为
副理事长兼秘书长
中国通信学会
中国通信学会
原武汉邮电科学研究院
中国联通网络技术研究院
工业和信息化部电信研究院互联网中心
副院长兼总工程师
中国移动设计院
首席架构师业务总工程师
中兴通讯股份有限公司
百度公司发展研究中心
中国通信学会科普中国百科科学词条评审专家委员会
中国通信学会是全国通信...
提供资源类型:内容
清除历史记录关闭您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
【协议分析】【RIP 路由报文结构分析】.pdf 25页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
【协议分析】【RIP 路由报文结构分析】.pdf
你可能关注的文档:
··········
··········
计算机网络协议原理实验教程
RIP 路由报文结构分析
【实验目的】
掌握动态路由协议RIP 的报文结构,工作原理及工作过程;
掌握RIP 路由协议两个版本的区别。
【实验学时】
【实验环境】
在本实验中需要3 台路由器、1 台交换机、1 台协议分析仪。3 台路由器运行RIP 路由
协议,使用协议分析仪采集数据包,对采集到的数据进行分析。
将所有的路由器都接入到交换机上,并在交换机上配置端口映像功能,具体 IP 分配如
设备IP 地址分配表
连接到交换机
192.168.1.1/24
192.168.10.1/24
192.168.1.2/24
192.168.2.1/24
192.168.20.1/24
192.168.2.2/24
192.168.30.1/24
RG-PATS 协议分析仪
172.16.1.4
设备连接如下图所示:
实验拓扑图
第六章 路由协议分析
【实验内容】
1、学习RIP 协议的报文格式;
2、掌握RIP 协议的工作原理,了解RIP1 和RIP2 的区别;
3、了解RIP 协议的缺陷。
【实验流程】
6-5 实验流程图
【实验原理】
RIP 协议简介
RIP 路由协议有RIPv1 和RIPv2 两个版本,RIPv1 是有类路由协议,其不支持VLSM ,
不支持验证,路由更新采用的广播的方式;而 RIPv2 是无类路由协议,支持VLSM ,支持
验证,路由更新采用组播的方式。RIPv2 首先在RFC1388 “携带额外信息的RIP 版本2 ”
中定义,发布于1993 年 1 月。该RFC 在 1732 中做了修订,最终在1998 年 11 月发布的
RFC2453 “RIP 版本2 ”中定稿。
为确保RIP 今后可以和TCP/IP 一起使用,有必要定义一种能和IPv6 一起使用的版本,
1997 年RFC2080 发布了标题为“用于IPv6 的RIPng”文档。
RIP 路由协议进行路由信息交换是通过发送两种不同类型RIP 报文实现的:RIP 请求和
计算机网络协议原理实验教程
响应,这些报文作为常规TCP/IP 报文,使用UDP 传输,使用UDP 端口520 。该端口按照
如下方式使用:
RIP 请求报文发送到UDP 目的端口520,这些报文可以使用520 作为源端
正在加载中,请稍后...路由选择信息协议_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
路由选择信息协议
路由信息协议(RIP) 是IGP中最先得到广泛使用的协议【1058
】。RIP是一种分布式的基于距离矢量的路由选择协议,是因特网的标准协议,其最大优点就是实现简单,开销较小。但RIP的缺点也较多。首先,其限制了网络的规模,能使用的最大距离为15(16表示不可达)。其次路由器交换的信息是路由器的完整路由表,因而随着网络规模的扩大,开销也就增加。最后,“坏消息传播得慢”,使更新过程的收敛时间过长。因此对于规模较大的网络就应当使用OSPF协议。然而目前在规模较小的网络中,使用RIP协议的仍占多数。
路由选择信息协议信息协议
路由信息协议(Routing Information Protocol,缩写:RIP)是一种使用最广泛的(IGP)。(IGP)是在内部网络上使用的(在少数情形下,也可以用于连接到的网络),它可以通过不断的交换信息让动态的适应网络连接的变化,这些信息包括每个路由器可以到达哪些网络,这些网络有多远等。 IGP是应用层协议,并使用作为传输协议。
虽然RIP仍然经常被使用,但大多数人认为它将会而且正在被诸如和这样的路由协议所取代。当然,我们也看到,一种和RIP属于同一基本协议类(距离矢量路由协议,Distance Vector Routing Protocol)但更具适应性的路由协议,也得到了一些使用。
路由选择信息协议历史
Xerox公司在20世纪70年代开发的,是IP所使用的第一个路由协议,RIP已经成为从UNIX系统到各种路由器的必备路由协议。RIP协议有以下特点:   (1)RIP是自治系统内部使用的协议即内部网关协议,使用的是距离矢量算法。   (2)RIP使用UDP的520端口进行RIP进程之间的通信。  (3)RIP主要有两个版本:RIPv1和RIPv2。RIPv1协议的具体描述在RFC1058中,RIPv2是对RIPv1协议的 改进,其协议的具体描述在RFC2453中。   (4)RIP协议以跳数作为网络度量值。
(5)RIP协议采用广播或组播进行路由更新,其中RIPv1使用广播,而RIPv2使用组播(224.0.0.9)。    (6)RIP协议支持主机被动模式,即RIP协议允许主机只接收和更新路由信息而不发送信息。    (7)RIP协议支持默认路由传播。     (8)RIP协议的网络直径不超过15跳,适合于中小型网络。16跳时认为网络不可达。     (9)RIPv1是有类路由协议,RIPv2是无类路由协议,即RIPv2的报文中含有掩码信息。
RIP所使用的路由算法是算法.这种算法最早被用于一个计算机网络是在1969年,当时是作为的初始路由算法。
RIP是由“网关信息协议”(的用于互联网工作的PARC通用数据包协议簇的一部分)发展过来的,可以说网关信息协议是RIP的最早的版本。后来的一个版本才被命名为“路由信息协议”,是Xerox网络服务协议簇的一部分。
路由选择信息协议运作原理
同一自治系统(A.S.)中的路由器每 30秒会与相邻的路由器 交换子讯息,以动态的建立。
RIP 允许最大的hop数(跳数)为15 多于15跳不可达。
路由选择信息协议版本
RIP共有三个版本,RIPv1, RIPv2, RIPng
其中RIPV1和RIPV2是用在IPV4的网络环境里,RIPng是用在IPV6的网络环境里。
路由选择信息协议RIPv1
RIPv1使用分类路由,定义在[RFC 1058
]中。在它的路由更新(Routing Updates)中并不带有的资讯,因此它无法支持。这个限制造成在RIPv1的网络中,同级网络无法使用不同的子网掩码。换句话说,在同一个网络中所有的子网络数目都是相同的。另外,它也不支持对路由过程的认证,使得RIPv1有一些轻微的弱点,有被攻击的可能。
路由选择信息协议RIPv2
因为RIPv1的缺陷,RIPv2在1994年被提出,将子网络的资讯包含在内,透过这样的方式提供,不过对于最大节点数15的这个限制仍然被保留着。另外针对安全性的问题,RIPv2也提供一套方法,透过加密来达到认证的效果。而之后[RFC 2082
]也定义了利用MD5来达到认证的方法。 RIPv2的相关规定在[RFC 2453
] orSTD56。
现今的IPv4网络中使用的大多是RIPv2,RIPv2是在RIPv1基础上的改进, RIPv2和RIPv1相比主要有以下区别。
RIP2与RIP1的对比
路由选择信息协议RIPng
RIPng(Routing Information Protocol next generation)则被定义在[RFC 2080
],主要是针对IPv6做一些延伸的规范。与RIPv2相比下其最主要的差异是:
RIPv2 支持RIP更新认证, RIPng 则没有 (IPv6 routers were, at the time, supposed to use IPsec for authentication);
RIPv2 容许附上arbitrary 的标签, RIPng 则不容许;
RIPv2 encodes the next-hop into each route entries, RIPng requires specific encoding of the nexthop for a set of route entries.
RIPv2 UDP的Port number 为 520,RIPng UDP的Port number 为 521
路由选择信息协议相似协定
一只比RIP更强大,且同样基于距离矢量路由协定的协定,是专有的。思科在其现时发行的软件中已再没有对IGRP提供支援,而且由──一只彻底地重新设计的路由通讯协定所取代。 不过它与IGRP的关系就只有命名上的相似,亦纯粹是因为EIGRP依然是基于距离矢量路由协定的缘故。
路由选择信息协议缩写
Router Information protocol 路由信息协议
也写作R.I.P.,rip
路由选择信息协议分层
TCP/IP参考模型分为四层:应用层(Application Layer)、主机到主机层、网络层(Internet Layer)、网络接入层
TCP/IP分层
 OSI 分层
5、6、7主机到主机层
3,网络接入层
Token  Ring
2   Coaxial cablefibre-optical1
路由选择信息协议RIP
(RIP/RIP2/RIPng:Routing Information Protocol)
RIP作为IGP()中最先得到广泛使用的一种协议,主要应用于 AS 系统,即(Autonomous System)。连接 AS 系统有专门的协议,其中最早的这样的协议是“EGP”(),仍然应用于因特网,这样的协议通常被视为内部 AS。RIP 主要设计来利用同类技术与大小适度的网络一起工作。因此通过速度变化不大的接线连接,RIP 比较适用于简单的校园网和区域网,但并不适用于复杂网络的情况。
RIP是一种分布式的基于的路由选择协议,是因特网的标准协议,其最大的优点就是简单。RIP协议要求网络中每一个都要维护从它自己到其他每一个目的网络的距离记录。RIP协议将“距离”定义为:从一路由器到直接连接的网络的距离定义为1。从一路由器到非直接连接的网络的距离定义为每经过一个路由器则距离加1。“距离”也称为“跳数”。RIP允许一条路径最多只能包含15个路由器,因此,距离等于16时即为不可达。可见RIP协议只适用于小型互联网。
RIP 2 由 RIP 而来,属于 RIP 协议的补充协议,主要用于扩大装载的有用信息的数量,同时增加其安全性能。RIPv1和RIPv2 都是基于 UDP 的协议。在 RIP2 下,每台主机或通过路由选择进程发送和接受来自 UDP 端口520的数据包。RIP协议默认的路由更新周期是30S。
(1)仅和相邻的路由器交换信息。如果两个路由器之间的通信不经过另外一个路由器,那么这两个路由器是相邻的。RIP协议规定,不相邻的路由器之间不交换信息。
(2)路由器交换的信息是当前本路由器所知道的全部信息。即自己的路由表。
(3)按固定时间交换路由信息,如,每隔30秒,然后路由器根据收到的路由信息更新路由表。(也可进行相应配置使其触发更新)
路由选择信息协议适用
RIP 和 RIP 2 主要适用于 IPv4网络,而 RIPng 主要适用于 IPv6 网络。本文主要阐述 RIP 及 RIP 2。
RIPng:路由选择信息协议下一代(应用于IPv6)
(RIPng:RIP for IPv6)RIPng与RIP 1和 RIP 2 两个版本不兼容。
RIP协议的“距离”其实就是“跳数”(hop count),因为每经过一个,跳数就加1。RIP认为好的路由就是它通过的路由器的数目少,即“距离短”。
RIP与其它动态路由协议如OSPF、ISIS相比起来,在收敛时间和扩展性方面,RIP不如OSPF和ISIS,使用的网络规模也比OSPF和ISIS小;但是RIP配置和管理起来容易,所占用的带宽小。
路由选择信息协议应用
RIP(Routing information Protocol)是应用较早、使用较普遍的(Interior Gateway Protocol,简称IGP),适用于小型同类网络,是典型的(distance-vector)协议。文档见RFC1058
RIP通过广播UDP来交换路由信息,每30秒发送一次路由信息更新。RIP提供跳跃计数(hop count)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所必须经过的的数目。如果到相同目标有二个不等速或不同的路由器,但跳跃计数相同,则RIP认为两个路由是等距离的。RIP最多支持的跳数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16表示不可达。
路由选择信息协议RIP概述
-RIP采用贝尔曼—福德(Bellman-Ford)算法
-RIP有两个版本RIPv1和RIPv2。
-RIP有以下一些主要特性:
-RIP属于典型的距离矢量路由选择协议。
-RIP消息通过广播地址255.255.255.255进行发送,RIPv2使用组播地址224.0.0.9发送消息,两者都使用UDP 协议的520端口。
-RIP以到目的网络的最小跳数作为路由选择度量标准,而不是在链路的和延迟的基础上进行选择。
-RIP是为小型网络设计的。它的跳数计数限制为15跳,16跳为不可到达。
-RIP-1是一种有类路由协议,不支持不连续设计。RIP-2支持CIDR及VLSM,使其支持不连续子网设计。
-RIP周期性进行完全路由更新,将广播给邻居,广播周期缺省为30秒。
-RIP的协议为120。
RIP是(Routing Information Protocol)的缩写,采用。在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为1~15,数值16表示无穷大。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“”,其后续的的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷,则相应的距离就被设定成无穷大,并从中删除该表项。RIP分组分为两种:请求分组和响应分组。
RIP-1被提出较早,其中有许多缺陷。为了改善RIP-1的不足,在RFC1388中提出了改进的RIP-2,并在RFC 1723和RFC 2453中进行了修订。RIP-2定义了一套有效的改进方案,新的RIP-2支持路由选择,支持CIDR,支持,并提供了验证机制。
RIP-2的特性:
RIP-2 是一种无类别(Classless Routing Protocol)。
RIP-2协议中携带信息,支持VLSM()和CIDR。
RIP-2支持以组播方式发送路由更新报文,为224.0.0.9,减少网络与系统资源消耗。
RIP-2支持对协议报文进行验证,并提供明文验证和MD5验证两种方式,增强安全性。
RIP-2能够支持VLSM
随着OSPF和IS-IS的出现,许多人认为RIP已经过时了。但事实上RIP也有它自己的优点。对于小型网络,RIP就所占而言开销小,易于配置、管理和实现,并且RIP还在大量使用中。但RIP也有明显的不足,即当有多个网络时会出现环路问题。为了解决环路问题,IETF提出了法,在这个接口收到的路由信息不会再从该接口出去(split-Horizon)。分割范围解决了两个之间的路由环路问题,但不能防止因网络规模较大、主要由延迟因素产生的环路。触发更新要求路由器在链路发生变化时立即传输它的路由表。这加速了网络的聚合,但容易产生广播泛滥。总之,环路问题的解决需要消耗一定的时间和带宽。若采用RIP协议,其网络内部所经过的链路数不能超过15,这使得RIP协议不适于大型网络。
路由选择信息协议防环机制
1-记数最大值(maximum hop count):定义最大跳数(最大为15跳),当跳数为16跳时,目标为不可达。
2-(split horizon):从一个接口学习到的路由不会再广播回该接口。cisco可以对每个接口关闭水平分割功能。
3-路由毒化(route posion):当拓扑变化时,路由器会将失效的路由标记为possibly down状态,并分配一个不可达的度量值。
4-毒性逆转(poison reverse):从一个接口学习的路由会发送回该接口,但是已经被毒化,跳数设置为16跳,不可达。
5-触发更新(trigger update):一旦检测到路由崩溃,立即广播路由刷新,而不等到下一刷新周期。
6-(holddown timer):防止路由表频繁翻动,增加了网络的稳定性。
RIP(Routing Information Protocol)是基于D-V算法的内部。它是第一个为所有主要厂商支持的标准IP选路协议,网络。对于更复杂的环境,一般不应使用RIP。
RIP1作为距离,具有与D-V算法有关的所有限制,如慢收敛和易于产生和广播更新占用带宽过多等;RIP1作为一个有类别路由协议,更新消息中是不携带,这意味着它在主网边界上自动聚合,不支持VLSM和CIDR;同样,RIP1作为一个古老协议,不提供认证功能,这可能会产生潜在的危险性。总之,简单性是RIP1广泛使用的原因之一,但简单性带来的一些问题,也是RIP故障处理中必须关注的。
路由选择信息协议版本
RIP在不断地发展完善过程中,又出现了第二个版本:RIP2。与RIP1最大的不同是RIP2为一个无类别,其更新消息中携带,它支持VLSM、CIDR、认证和多播。这两个版本都在应用,两者之间的差别导致的问题在RIP故障处理时需要特别注意。
路由选择信息协议信息类型
请求信息(可以是请求一条路由的信息),应答信息(一定是全部的路由)。
RIP是最常使用的之一,是一种典型的基于的。在不同的网络系统如Internet、AppleTalk、NOVELL等协议都实现了RIP。他们都采用相同的算法,只是在一些细节上做了小改动,适应不同网络系统的需要。
RIP有RIP-1和RIP-2两个版本,需要注意的是,RIP-2不是RIP-1的替代,而是RIP-1功能的扩展。比如RIP-2更好地利用原来RIP-1分组种必须为零的域来增加功能,不仅支持,也支持路由对象标志。此外,RIP-2还支持明文认证和MD5密文认证,确保路由信息的正确。
RIP通过(UDP)报文交换路由信息,使用跳数来衡量到达目的地的距离。由于在RIP中大于15的跳数被定义为无穷大,所以RIP一般用于采用同类技术的中等规模网络,如校园网及一个地区范围内的网络,RIP并非为复杂、大型的网络而设计。但由于RIP使用简单,配置灵活,使得他在今天的和互联网中被广泛使用。
路由选择信息协议局限性
另外,RIP也有他的局限性。比如RIP支持站点的数量有限,这使得RIP只适用于较小的,不能支持超过15跳数的路由。再如,路由表更新信息将占用较大的,因为RIP每隔一定时间就向外广播发送路由更新信息,在有许多的网络中,这将会消耗相当大的网络带宽。此外,RIP的收敛速度慢,因为一个更新要等30s,而宣布一条路由无效必须等180s,而且这还只是收链一条路由所需的时间,有可能要花好几个更新才能完全收敛于新拓扑,RIP的这些局限性显然削弱了网络的性能。
RIP的是120。
RIPV1与RIPV2的相同与不同。不同版本 RIPV1 RIPV2
1 有类路由 无类路由
2 不支持VLSM 支持VLSM
3 广播更新(255.255.255.255)更新(224.0.0.9)
4 自动汇总,不支持手动汇总 自动汇总且可以手动关闭该特性,支持手动汇总
5 不支持验证 支持验证
6 产生CIDR 不产生CIDR
路由选择信息协议相同
2(hop count)
3 防环机制
4 汇总(默认相同),在上汇总
5 使用UDP的520端口
6默认为4条。最大为6条。
7 缺省每隔30秒更新一次路由表
RIP的下一跳与METRIC的关系
路由选择信息协议不同
大写进数据库中,等180秒后再写进路由表中 写进数据库中
小写进路由表中 替换原有的路由
相同不给于响应
默认情况下,配置相应版本的RIP只能接收和发送相应版本的RIP消息。可以配置设备接口限制收发RIP信息的类型。
路由选择信息协议不足之处
(1)过于简单,以跳数为依据计算,经常得出非最优路由。例如:2跳64K专线,和3跳1000M光纤,显然多跳一下没什么不好。
(2)度量值以16为限,不适合大的网络。解决问题,16跳在rip中被认为是无穷大,rip是一种域内自治路由算法,多用于园区网和。
(3)安全性差,接受来自任何设备的路由更新。无密码验证机制,默认接受任何地方任何设备的路由更新。不能防止恶意的rip欺骗。
(4)不支持无类ip地址和VLSM&ripv1&。
(5)收敛性差,时间经常大于5分钟。
(6)消耗很大。完整的复制路由表,把自己的路由表复制给所有邻居,尤其在低速广域网链路上更以显式的全量更新。
路由选择信息协议常见问题
1)什么是RIP
RIP是一种距离(Distance Vector Routing Protocol)。基本上,距离矢量路由协议基于距离矢量算法根据目的地的远近(远近=经过的数量)来决定最好的路径。
2)RIP的作用是什么
RIP让路由器之间互相传递路由信息。路由器通过RIP,能自动知道远程目的地,而不需要给每台路由器添加信息。
3)传递路由信息
RIP把自己所有的路由信息,通过Response包给邻居。
4)计算Metric
RIP用“跳数”来计算cost(metric),每经过一台,“跳数”就增加1。RIP会通过“跳数”最小的路径传输。框架控件
路由选择信息协议工作原理
1 、初始化——RIP初始化时,会从每个参与工作的接口上发送请求。该请求数据包会向所有的RIP请求一份完整的。该请求通过LAN上的广播形式发送LAN或者在点到点链路发送到地址来完成。这是一个特殊的请求,向相邻设备请求完整的路由更新。
2 、接收请求——RIP有两种类型的消息,响应和接收消息。请求数据包中的每个路由条目都会被处理,从而为路由建立度量以及路径。RIP采用跳数度量,值为1的意为着一个直连的网络,16,为网络不可达。路由器会把整个路由表作为接收消息的应答返回。
3、接收到响应——路由器接收并处理响应,它会通过对项进行添加,删除或者修改作出更新。
4、 常规路由更新和定时——以30秒一次地将整个路由表以地形式发送到邻居路由器。路由器收到新路由或者现有路由地更新信息时,会设置一个180秒地超时时间。如果180秒没有任何更新信息,路由的跳数设为16。路由器以16宣告该路由,直到从路由表中删除该路由。刷新计时器的时间设为240秒,或者比过期计时器时间多60秒。Cisco还用了第三个计时器,称为。接收到一个度量更高的路由之后的180秒时间就是抑制计时器的时间,在此期间,路由器不会用它接收到的新信息对路由表进行更新,这样能够为网路的收敛提供一段额外的时间。
5、 触发路由更新——当某个路由度量发生改变时,只发送与改变有关的路由,并不发送完整的路由表。
.RFC 1058.[引用日期]
.百度文库[引用日期]
.RFC 2082[引用日期]
.RFC 2453.[引用日期]
.rfc 2080.[引用日期]
.rfc 1723.[引用日期]
中国通信学会是全国通信...
提供资源类型:内容
清除历史记录关闭

我要回帖

更多关于 vxlan报文的封装格式 的文章

 

随机推荐