您的位置:

python实现rip的简单介绍

本文目录一览:

rip采用何种算法

RIP(Routing Information Protocol)就是内部网关协议的一种,它采用的是矢量距离(Vector-Distance)算法。

RIP协议是V-D算法在局域网上的直接实现,RIP将协议的参加者分为主动机和被动机两种。主动机主动地向外广播路径刷新报文,被动机被动地接受路径刷新报文。

包括RIP在内的V-D算法路径刷新协议,都有一个严重的缺陷,即“慢收敛”(slow convergence)问题。又叫“计数到无穷”(count to infinity)。如果出现环路,直到路径长度达到16,也就是说要经过7番来回(至少30X7秒),路径回路才能被解除,这就是所谓的慢收敛问题。

Python 函数的调用方式

好像没有特别的叫法吧,也没注意手册上有什么特别的叫法,至于区别,举个例子你就清楚了,如下:

假如有个列表aa=[1,4,3,5],对这个列表用sort()进行排序,如果第一种方式aa.sort()后aa=[1,3,4,5];

而第二种方式sort(aa)排序后虽然得到了新列表[1,3,4,5],但是aa还是=[1,4,3,5]。

也就是说第一种方式会改变原列表,而第二种不会改变,只是得到了一个新的副本。

GOT IT?!^^

补充一下,如果非要说叫法上的区别的话,第一种叫做方法调用,第二种叫做函数调用。至于方法和函数的些微区别,方法是基于对象的,函数是基于本身的。如果再详细……方法一般不可以单独使用,因为大部分方法是基于对象的,调用也必须基于对象,像上面第一种;而函数则可以单独使用,你可以理解成它是数据系统本身的,而不是对象专有的。

PS:至于为什么我换了用sort()而没有用LZ给的例子函数,是因为..…^o^……LZ第一种方式和第二种方式写的都不是一个函数……

Python3 & TCP协议和UDP协议的特点和区别

优点:

(1)TCP是面向连接的运输层协议;

(2)每一条TCP连接只能有两个端点(即两个套接字),只能是点对点的;

(3)TCP提供可靠的传输服务。传送的数据无差错、不丢失、不重复、按序到达;

(4)TCP提供全双工通信。允许通信双方的应用进程在任何时候都可以发送数据,因为两端都设有发送缓存和接受缓存;

(5)面向字节流。虽然应用程序与TCP交互是一次一个大小不等的数据块,但TCP把这些数据看成一连串无结构的字节流,它不保证接收方收到的数据块和发送方发送的数据块具有对应大小关系,例如,发送方应用程序交给发送方的TCP10个数据块,但就受访的TCP可能只用了4个数据块久保收到的字节流交付给上层的应用程序,但字节流完全一样。

缺点:

慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接。事实上,每个连接都会占用系统的CPU、内存等硬件资源。因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。

TCP的应用场景:

当对网络通讯质量有要求的时候。例如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用。如:用于文件传输(FTP HTTP 对数据准确性要求高,速度可以相对慢),发送或接收邮件(POP IMAP SMTP 对数据准确性要求高,非紧急应用),远程登录(TELNET SSH 对数据准确性有一定要求,有连接的概念)等等。

优点:

(1)UDP是无连接的传输层协议;

(2)UDP使用尽最大努力交付,不保证可靠交付;

(3)UDP是面向报文的,对应用层交下来的报文,不合并,不拆分,保留原报文的边界;

(4)UDP没有拥塞控制,因此即使网络出现拥塞也不会降低发送速率;

(5)UDP支持一对一 一对多 多对多的交互通信;

(6)UDP的首部开销小,只有8字节.

缺点:

不可靠,不稳定。 因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。

UDP的应用场景:

当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。 UDP一般用于即时通信(QQ聊天 对数据准确性和丢包要求比较低,但速度必须快),在线视频(RTSP 速度一定要快,保证视频连续,但是偶尔花了一个图像帧,人们还是能接受的),网络语音电话(VoIP 语音数据包一般比较小,需要高速发送,偶尔断音或串音也没有问题)等等。

(1)TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

(2)TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付

(3)TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)

(4)每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信

(5)TCP首部开销20字节;UDP的首部开销小,只有8个字节

(6)TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

HTTP、HTTPS、FTP、TELNET、SMTP(简单邮件传输协议)协议基于可靠的TCP协议。TFTP、DNS、DHCP、TFTP、SNMP(简单网络管理协议)、RIP基于不可靠的UDP协议

eNSP模拟实验-动态路由RIP配置

    Routing Information Protocol,路由信息协议。两个网段中的两台电脑能相互访问,那么需要在每台路由器上做静态路由来实现,但是做静态路由需要知道下一跳的地址。在小型的网络中,我们用rip协议来实现(RIP协议通常应用在小型网络,用于发现和生成路由信息),只需要知道本台路由器上接口的网段的地址就可以了。

1、按照图示的IP地址来配置PC1和PC2,Z注意网关为连接路由器接口IP。

IP:192.68.1.2                                           IP:192.68.3.2     

netmask:255.255.255.0                           netmask:255.255.255.0

gateway:192.168.1.1                                gateway:192.168.3.1

2、AR1配置

配置接口的ip地址:

Huaweisys 

[Huawei]int gi 0/0/0

[Huawei-GigabitEthernet0/0/0]ip address 192.168.1.1 24

[Huawei-GigabitEthernet0/0/0]int gi 0/0/1

[Huawei-GigabitEthernet0/0/1]ip address 192.168.1.1 24

[Huawei-GigabitEthernet0/0/1]q

配置rip协议:

[Huawei]rip 1

[Huawei-rip-1]version 2  #可以选择版本2 

[Huawei-rip-1]network 192.168.10.0

[Huawei-rip-1]network 192.168.1.0

[Huawei-rip-1]q

3、AR2配置

配置接口的ip地址:

Huaweisys 

[Huawei]int gi 0/0/0

[Huawei-GigabitEthernet0/0/0]ip address 192.168.10.2 24

[Huawei-GigabitEthernet0/0/0]int gi 0/0/1

[Huawei-GigabitEthernet0/0/1]ip address 192.168.12.1 24

[Huawei-GigabitEthernet0/0/1]q

配置rip协议:

[Huawei]rip 1

[Huawei-rip-1]version 2  #可以选择版本2 

[Huawei-rip-1]network 192.168.10.0

[Huawei-rip-1]network 192.168.12.0

[Huawei-rip-1]q

4、AR3配置

配置接口的ip地址:

Huaweisys 

[Huawei]int gi 0/0/0

[Huawei-GigabitEthernet0/0/0]ip address 192.168.12.2 24

[Huawei-GigabitEthernet0/0/0]int gi 0/0/1

[Huawei-GigabitEthernet0/0/1]ip address 192.168.3.1 24

[Huawei-GigabitEthernet0/0/1]q

配置rip协议:

[Huawei]rip 1

[Huawei-rip-1]version 2  #可以选择版本2 

[Huawei-rip-1]network 192.168.13.0

[Huawei-rip-1]network 192.168.3.0

[Huawei-rip-1]q

5、路由器命令查看配置的信息

查看路由表:display ip routing-table protocol rip

查看RIP配置:display rip 1 route

命令可以看到nexthop下一跳地址。

6、ping测试

rip 是什么

路由选择信息协议

(RIP/RIP2:Routing Information Protocol)

路由信息协议(RIP)是一种在网关与主机之间交换路由选择信息的标准。RIP 是一种内部网关协议。在国家性网络中如当前的因特网,拥有很多用于整个网络的路由选择协议。作为形成网络的每一个自治系统,都有属于自己的路由选择技术,不同的 AS 系统,路由选择技术也不同。作为一种内部网关协议或 IGP(内部网关协议),路由选择协议应用于 AS 系统。连接 AS 系统有专门的协议,其中最早的这样的协议是“EGP”(外部网关协议),目前仍然应用于因特网,这样的协议通常被视为内部 AS 路由选择协议。RIP 主要设计来利用同类技术与大小适度的网络一起工作。因此通过速度变化不大的接线连接,RIP 比较适用于简单的校园网和区域网,但并不适用于复杂网络的情况。

RIP 2 由 RIP 而来,属于 RIP 协议的补充协议,主要用于扩大 RIP 2 信息装载的有用信息的数量,同时增加其安全性能。RIP 2 是一种基于 UDP 的协议。在 RIP2 下,每台主机通过路由选择进程发送和接受来自 UDP 端口520的数据包。

RIP 和 RIP 2 主要适用于 IPv4 网络,而 RIPng 主要适用于 IPv6 网络。本文主要阐述 RIP 及 RIP 2。

RIP(Routing information Protocol)是应用较早、使用较普遍的内部网关协议(Interior Gateway Protocol,简称IGP),适用于小型同类网络,是典型的距离向量(distance-vector)协议。文档见RFC1058、RFC1723。

RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新。RIP提供跳跃计数(hop count)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所必须经过的路由器的数目。如果到相同目标有二个不等速或不同带宽的路由器,但跳跃计数相同,则RIP认为两个路由是等距离的。RIP最多支持的跳数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16表示不可达。

RIP概述

-RFC 1508

-RIP采用贝尔曼—福德(Bellman-Ford)算法

-目前RIP有两个版本RIPv1和RIPv2。

-RIP有以下一些主要特性:

-RIP属于典型的距离向量路由选择协议。

-RIP消息通过广播地址255.255.255.255进行发送,使用UDP 协议的520端口。

-RIP以到目的网络的最小跳数作为路由选择度量标准,而不是在链路的带宽和延迟的基础上进行选择。

-RIP是为小型网络设计的。它的跳数计数限制为15跳,16跳为不可到达。

-RIP是一种有类路由协议,不支持不连续子网设计。

-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,支持组播,并提供了验证机制。

随着OSPF和IS-IS的出现,许多人认为RIP已经过时了。但事实上RIP也有它自己的优点。对于小型网络,RIP就所占带宽而言开销小,易于配置、管理和实现,并且RIP还在大量使用中。但RIP也有明显的不足,即当有多个网络时会出现环路问题。为了解决环路问题,IETF提出了分割范围方法,即路由器不可以通过它得知路由的接口去宣告路由。分割范围解决了两个路由器之间的路由环路问题,但不能防止3个或多个路由器形成路由环路。触发更新是解决环路问题的另一方法,它要求路由器在链路发生变化时立即传输它的路由表。这加速了网络的聚合,但容易产生广播泛滥。总之,环路问题的解决需要消耗一定的时间和带宽。若采用RIP协议,其网络内部所经过的链路数不能超过15,这使得RIP协议不适于大型网络。

RIP协议的工作原理

RIP协议是一种典型的距离矢量协议,它使用的也是距离矢量算法,该算法可以用一句话来概括:进行路由更新时传递路由表。RIP协议的度量值是以跳数来计算的,即每经过一跳,度量值就会加一,这样的度量值计算并不符合当前的网络环境,因为当前带宽爆炸性的增长,可能会导致RIP选择了次优路径。RIP的最大网络直径为15,也就是说RIP协议所能传递路由信息的最大跳数就是15跳,超过15跳就表示不可达。RIP协议作为典型的距离矢量协议,它的防环机制有两种:水平分割和毒性逆转,简单来说,水平分割就是从一个接口接收的路由更新,不会再从该端口发送出去。毒性逆转则是从一个接口接收的路由更新,会再从该接口发出去,但是会将其置为不可达状态(16跳)。RIP协议默认会进行自动汇总(有类路由协议),即传输的路由条目会自动进行主类的汇总,这样会导致路由条目不精确,后续RIP协议为了解决该问题,将RIPV1升级为RIPV2,V2版本不仅支持手动汇总,使路由条目传递更加精准,而且将路由更新方式从V1的广播变成了V2的组(224.0.0.9),提升了路由更新效率。