‘壹’ 计算机网络(三)——网络层
网络层的 目的 是实现在任意结点间进行数据报传输,它的目的与链路层、物理层不是一样的吗?但是通过它数据可以在更大的网络中传输。
为了能使数据更好地在更大的网络中传输,网络层主要实现三个功能: 异构网络互联 、 路由与转发 和 拥塞控制 。
我们知道,在物理层、链路层,可以使用不同的传输介质和拓扑结构将几台、十几台主机连接在一起形成一个小型的局域网,把这些组成结构不完全相同的局域网称为异构网,因此将它们连接扩大成更大的网络,需要一个类似转接头的设备——路由器,路由器不仅仅可以连接异构网,还能隔离冲突域和广播域,依照IP地址转发。
下图对集线器、网桥、交换机和路由器能否隔离冲突域和广播域进行比较:
路由器作为连接多个网络的结点,不仅需要完成对数据的分组转发,还要选择传输路径,因此路由器主要由 路由选择 和 分组转发 组成。
网络层最重要的功能是 路由与转发 功能。路由也就是选择一条合适的路,转发则是在这条路上遵守协议。这有点像从某个多个国家的交界城市自驾,选其中一条路,那么就遵守这个国家的交通协议。
数据通过一个又一个路由器到达目的地址,路由器怎么知道数据应该从哪个端口出发才能到达目的地呢?这就需要构造路由表。
路由表有两种构造方式: 静态 和 动态 。
一个个小网络可以构成一个区域,足够多的区域互连成一个网络,多个网络又形成巨大的互联网。要想让数据高效在网络中传输,采用“分而治之”的理念。
将互联网分为许多较小的自治系统,系统有权决定自己内部采用什么路由协议,这便是层次路由。通过层次路由便可以采用灵活的协议传输数据。数据在自治系统内传输采用 内部网关协议 而自治系统之间则采用 外部网关协议 。
内部网关协议有两种协议: 路由信息协议(RIP) 和 开放最短路径优先协议(OSPF)
外部网关协议则是边界网关协议(BGP)。内部网关协议服务某个自治系统,范围较小,所以尽可能有效地从源站送到目的站,也就是找到一条最佳路径。而外部网关协议需要面对更大的网络范围和网络环境,因此更关注的找到比较好的路径,也就是不能兜圈子。
BGP工作原理:
将三种路由协议进行比较:
构建大规模、异构网络的互联网除了硬件的支持外,还需要建立协议以实现数据报传输服务——IP协议。
目前IP协议有两个版本:IPv4和IPv6。
现在主流的IP协议版本还是IPv4。
IP数据报主要由首部和数据部分组成,由TCP报文段封装到数据部分,再在前端加上一些描述信息的首部,其格式如下图:
IP协议使用分组转发,当报文过大时需要分片。分片的思路如下:
如果把IP数据报看作是信,那么首部中的源地址与目的地址则分别是发信地址和邮件地址。为了方便路由计算这些地址,并且使IP地址足够使用,因此将IP地址进行分类。
IP地址的格式 : {<网络号>,<主机号>},网络号标志主机所连接的网络,主机号标志该主机,每个IP地址都是唯一的。
IP地址分类 如下:
通过分类,可以计算每个网络中最大的主机数:
网络地址转换(NAT)是一种转换机制,将专用网络地址转换为公用地址,目的是为了对外隐藏内部管理的IP地址,这样不仅可以保证网络安全,还可以解决IP地址不足问题。
当路由器接收到的目的地址是私有地址则一律不进行转发,而如果是公用地址,则是用NAT转换表将源IP及端口号映射成全球IP号,然后从WAN端口发送到因特网上。
IP地址有A、B、C类网络号,如果把A类网络号分给一个广播域,那么这个广播域可以接入16,777,212台主机,然而一个广播域不可能融入这么多台主机,因为这样会导致广播域过饱和而瘫痪,而只给其分配一定数量的网络号,则会浪费大量的IP地址。因此在IP地址中增加一个“子网号字段”,将IP地址划分为三级,即IP地址={<网络号>,<子网号>,<主机号>},也就是从主机号中借用几个比特号作为子网号,这个子网号是对内划分的,对外仍旧表现为二级IP地址。
主机或路由器如何判断一个网络是否进行子网划分了呢?——利用子网掩码。
CIDR是 无分类 域间路由器选择,目的是消除A、B、C类网络划分,这样可以大幅度提高IP地址空间利用率。相比较子网掩码划分,它更加灵活。
上图中,如果R1收到前缀为206.1的IP地址,它只需要转发给R2,具体发往网络1还是网络2,则由R2计算得出。
通过IP地址,可以将数据从某个网络传输到目的网络,但是把信息发送给哪台主机呢?由于路由器的隔离,IP网路没办法使用广播方式查找MAC地址,只有通过链路层的MAC地址以广播方式寻址。
因此,IP协议还包括三个协议—— ARP、DHCP和ICMP ,共同配合完成数据转发。
IPv6是解决IP地址耗尽的根本手段。它与IPv4的报文形式差别如下图:
IPv6与IPv4地址通信示意图:
在通信过程中,如果分组过量而导致网路性能下降,会产生拥塞。
拥塞的控制方式:
‘贰’ 计算机网络名词解释知识点简答题整理
基带传输:比特流直接向电缆发送,无需调制到不同频段;
基带信号:信源发出的没有经过调制的原始电信号;
URL :统一资源定位符,标识万维网上的各种文档,全网范围唯一;
传输时延:将分组的所有比特推向链路所需要的时间;
协议:协议是通信设备通信前约定好的必须遵守的规则与约定,包括语法、语义、定时等。
网络协议:对等层中对等实体间制定的规则和约定的集合;
MODEM :调制解调器;
起始(原始)服务器:对象最初存放并始终保持其拷贝的服务器;
计算机网络:是用通信设备和线路将分散在不同地点的有独立功能的多个计算机系统互相连接起来,并通过网络协议进行数据通信,实现资源共享的计算机集合;
解调:将模拟信号转换成数字信号;
多路复用:在一条传输链路上同时建立多条连接,分别传输数据;
默认路由器:与主机直接相连的一台路由器;
LAN :局域网,是一个地理范围小的计算机网络;
DNS :域名系统,完成主机名与 IP 地址的转换;
ATM :异步传输模式,是建立在电路交换和分组交换基础上的一种面向连接的快速分组交换技术;
Torrent :洪流,参与一个特定文件分发的所有对等方的集合;
Cookie :为了辨别用户、用于 session 跟踪等而储存在用户本地终端的数据;
SAP :服务访问点;
n PDU : PDU 为协议数据单元,指对等层之间的数据传输单位;第 n 层的协议数据单元;
PPP :点对点传输协议;
Web caching :网页缓存技术;
Web 缓存:代替起始服务器来满足 HTTP 请求的网络实体。
Proxy server :代理服务器;
Go-back-n :回退 n 流水线协议;允许发送方连续发送分组,无需等待确认,若出错,从出错的分组开始重发;接收方接收数据分组,若正确,发 ACK ,若出错,丢弃出错分组及其后面的分组,不发任何应答;
Packet switching :分组交换技术;
CDMA :码分多路复用技术;各站点使用不同的编码,然后可以混合发送,接收方可正确提取所需信息;
TDM :时分多路复用,将链路的传输时间划分为若干时隙,每个连接轮流使用不同时隙进行传输;
FDM :频分多路复用,将链路传输频段分成多个小的频段,分别用于不同连接信息的传送;
OSI :开放系统互连模型,是计算机广域网体系结构的国际标准,把网络分为 7 层;
CRC :循环冗余检测法,事先双方约定好生成多项式,发送节点在发送数据后附上冗余码,使得整个数据可以整除生成多项式,接收节点收到后,若能整除,则认为数据正确,否则,认为数据错误;
RIP :路由信息协议;
Socket (套接字):同一台主机内应用层和运输层的接口;
转发表:交换设备内,从入端口到出端口建立起来的对应表,主要用来转发数据帧或 IP 分组;
路由表:路由设备内,从源地址到目的地址建立起来的最佳路径表,主要用来转发 IP 分组;
存储转发:分组先接收存储后,再转发出去;
虚电路网络:能支持实现虚电路通信的网络;
数据报网络:能支持实现数据报通信的网络;
虚电路:源和目的主机之间建立的一条逻辑连接,创建这条逻辑连接时,将指派一个虚电路标识符 VC.ID ,相关设备为它运行中的连接维护状态信息;
毒性逆转技术: DV 算法中,解决计数到无穷的技术,即告知从相邻路由器获得最短路径信息的相邻路由器到目的网络的距离为无穷大;
加权公平排队 WFQ :排队策略为根据权值大小不同,将超出队列的数据包丢弃;
服务原语:服务的实现形式,在相邻层通过服务原语建立交互关系,完服务与被服务的过程;
透明传输:在无需用户干涉的情况下,可以传输任何数据的技术;
自治系统 AS :由一组通常在相同管理者控制下的路由器组成,在相同的 AS 中,路由器可全部选用同样的选路算法,且拥有相互之间的信息;
分组丢失:分组在传输过程中因为种种原因未能到达接收方的现象;
隧道技术:在链路层或网络层通过对等协议建立起来的逻辑通信信道;
移动接入:也称无线接入,是指那些常常是移动的端系统与网络的连接;
面向连接服务:客户机程序和服务器程序发送实际数据的分组前,要彼此发送控制分组建立连接;
无连接服务:客户机程序和服务器程序发送实际数据的分组前,无需彼此发送控制分组建立连接;
MAC 地址:网卡或网络设备端口的物理地址;
拥塞控制:当网络发生拥塞时,用响应的算法使网络恢复到正常工作的状态;
流量控制:控制发送方发送数据的速率,使收发双方协调一致;
Ad Hoc 网络:自主网络,无基站;
往返时延:发送方发送数据分组到收到接收方应答所需要的时间;
电路交换:通信节点之间采用面向连接方式,使用专用电路进行传输;
ADSL :异步数字用户专线,采用不对称的上行与下行传输速率,常用于用户宽带接入。
多播:组播,一对多通信;
路由器的组成包括:输入端口、输出端口、交换结构、选路处理器;
网络应用程序体系结构:客户机 / 服务器结构、对等共享、混合;
集线器是物理层设备,交换机是数据链路层设备,网卡是数据链路层设备,路由器是网络层设备;
双绞线连接设备的两种方法:直连线和交叉线,同种设备相连和计算机与路由器相连都使用交叉线;不同设备相连用直连线;
MAC 地址 6 字节, IPv4 地址 4 字节, IPv6 地址 16 字节;
有多种方法对载波波形进行调制,调频,调幅,调相;
IEEE802.3 以太网采用的多路访问协议是 CSMA/CD ;
自治系统 AS 内部的选路协议是 RIP 、 OSPF ;自治系统间的选路协议是 BGP ;
多路访问协议:分三大类:信道划分协议、随机访问协议、轮流协议;
信道划分协议包括:频分 FDM 、时分 TDM 、码分 CDMA ;
随机访问协议包括: ALOHA 、 CSMA 、 CSMA/CD(802.3) 、 CSMA/CA(802.11) ;
轮流协议包括:轮询协议、令牌传递协议
ISO 和 OSI 分别是什么单词的缩写,中文意思是什么?用自己的理解写出 OSI 分成哪七层?每层要解决的问题和主要功能是什么?
答:ISO:international standard organization 国际标准化组织;OSI:open system interconnection reference model 开放系统互连模型;
OSI分为 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层;
层名称解决的问题主要功能
应用层实现特定应用选择特定协议;针对特定应用规定协议、时序、表示等,进行封装。在端系统中用软件来实现,如HTTP;
表示层压缩、加密等表示问题;规定数据的格式化表示,数据格式的转换等;
会话层会话关系建立,会话时序控制等问题;规定通信的时序;数据交换的定界、同步、建立检查点等;
传输层源端口到目的端口的传输问题;所有传输遗留问题:复用、流量、可靠;
网络层路由、拥塞控制等网络问题;IP寻址,拥塞控制;
数据链路层相邻节点无差错传输问题;实现检错与纠错,多路访问,寻址;
物理层物理上可达;定义机械特性,电气特性,功能特性等;
因特网协议栈分层模型及每层的功能。
分层的优点:使复杂系统简化,易于维护和更新;
分层的缺点:有些功能可能在不同层重复出现;
假设一个用户 ( 邮箱为: [email protected]) 使用 outlook 软件发送邮件到另一个用户 ( 邮箱为: [email protected]) ,且接收用户使用 IMAP 协议收取邮件,请给出此邮件的三个传输阶段,并给出每个阶段可能使用的应用层协议。
用户 [email protected] 使用outlook软件发送邮件到 163 邮件服务器
163邮件服务器将邮件发送给用户 [email protected] 的yahoo邮件服务器
用户 [email protected] 使用IMAP协议从yahoo邮件服务器上拉取邮件
第1、2阶段可以使用SMTP协议或者扩展的SMTP协议:MIME协议,第3阶段可以使用IMAP、POP3、HTTP协议
三次握手的目的是什么?为什么要三次(二次为什么不行)?
为了实现可靠数据传输,TCP协议的通信双方,都必须维护一个序列号,以标识发送出去的数据包中,哪些是已经被对方收到的。三次握手的过程即是通信双方相互告知序列号起始值,并确认对方已经收到了序列号起始值的必经步骤。
如果只是两次握手,至多只有连接发起方的起始序列号能被确认,另一方选择的序列号则得不到确认。
选择性重传 (SR) 协议中发送方窗口和接收方窗口何时移动?分别如何移动?
发送方:当收到ACK确认分组后,若该分组的序号等于发送基序号时窗口发生移动;向前移动到未确认的最小序号的分组处;
接收方:当收到分组的序号等于接收基序号时窗口移动;窗口按交付的分组数量向前移动;
简述可靠传输协议 rdt1.0, rdt2.0, rdt2.1, rdt2.2 和 rdt3.0 在功能上的区别。
rdt1.0:经可靠信道上的可靠数据传输,数据传送不出错不丢失,不需要反馈。
rdt2.0(停等协议):比特差错信道上的可靠数据传输,认为信道传输的数据可能有比特差错,但不会丢包。接收方能进行差错检验,若数据出错,发送方接收到NAK之后进行重传。
rdt2.1:在rdt2.0的基础上增加了处理重复分组的功能,收到重复分组后,再次发送ACK;
rdt2.2:实现无NAK的可靠数据传输,接收方回发带确认号的ACK0/1,
收到出错分组时,不发NAK,发送接收到的上一个分组的ACK;
rdt3.0:实现了超时重发功能,由发送方检测丢包和恢复;
电路交换和虚电路交换的区别?哪些网络使用电路交换、报文交换、虚电路交换和数据报交换?请各举一个例子。
电路交换时整个物理线路由通讯双方独占;
虚电路交换是在电路交换的基础上增加了分组机制,在一条物理线路上虚拟出多条通讯线路。
电路交换:电话通信网
报文交换:公用电报网
虚电路交换:ATM
数据报交换:Internet
电路交换:面向连接,线路由通信双方独占;
虚电路交换:面向连接,分组交换,各分组走统一路径,非独占链路;
数据报交换:无连接,分组交换,各分组走不同路径;
交换机逆向扩散式路径学习法的基本原理:
交换表初始为空;
当收到一个帧的目的地址不在交换表中时,将该帧发送到所有其他接口(除接收接口),并在表中记录下发送节点的信息,包括源MAC地址、发送到的接口,当前时间;
如果每个节点都发送了一帧,每个节点的地址都会记录在表中;
收到一个目的地址在表中的帧,将该帧发送到对应的接口;
表自动更新:一段时间后,没有收到以表中某个地址为源地址的帧,从表中删除该地址;
非持久 HTTP 连接和持久 HTTP 连接的不同:
非持久HTTP连接:每个TCP连接只传输一个web对象,只传送一个请求/响应对,HTTP1.0使用;
持久HTTP连接:每个TCP连接可以传送多个web对象,传送多个请求/响应对,HTTP1.1使用;
Web 缓存的作用是什么?简述其工作过程:
作用:代理原始服务器满足HTTP请求的网络实体;
工作过程:
浏览器:与web缓存建立一个TCP连接,向缓存发送一个该对象的HTTP请求;
Web缓存:检查本地是否有该对象的拷贝;
若有,就用HTTP响应报文向浏览器转发该对象;
若没有,缓存与原始服务器建立TCP连接,向原始服务器发送一个该对象的HTTP请求,原始服务器收到请求后,用HTTP响应报文向web缓存发送该对象,web缓存收到响应,在本地存储一份,并通过HTTP响应报文向浏览器发送该对象;
简要说明无线网络为什么要用 CSMA/CA 而不用 CSMA/CD ?
无线网络用无线信号实施传输,现在的技术还无法检测冲突,因此无法使用带冲突检测的载波侦听多路访问协议CSMA/CD,而使用冲突避免的载波侦听多路访问协议CSMA/CA;
简述各种交换结构优缺点,并解释线头 HOL 阻塞现象。
内存交换结构:以内存为交换中心;
优点:实现简单,成本低;
缺点:不能并行,速度慢;
总线交换结构:以共享总线为交换中心;
优点:实现相对简单,成本低;
缺点:不能并行,速度慢,不过比memory快;
纵横制:以交叉阵列为交换中心;
优点:能并行,速度快,比memory和总线都快;
缺点:实现复杂,成本高;
线头HOL阻塞:输入队列中后面的分组被位于线头的一个分组阻塞(即使输出端口是空闲的),等待交换结构发送;
CSMA/CD 协议的中文全称,简述其工作原理。
带冲突检测的载波侦听多路访问协议;
在共享信道网络中,发送节点发送数据之前,先侦听链路是否空闲,若空闲,立即发送,否则随机推迟一段时间再侦听,在传输过程中,边传输边侦听,若发生冲突,以最快速度结束发送,并随机推迟一段时间再侦听;
奇偶校验、二维奇偶校验、 CRC 校验三者比较:
奇偶校验能检测出奇数个差错;
二维奇偶校验能够检测出两个比特的错误,能够纠正一个比特的差错;
CRC校验能检测小于等于r位的差错和任何奇数个差错;
GBN 方法和 SR 方法的差异:
GBN:一个定时器,超时,重发所有已发送未确认接收的分组,发送窗口不超过2的k次方-1,接收窗口大小为1,采用累计确认,接收方返回最后一个正确接受的分组的ACK;
SR:多个定时器,超时,只重发超时定时器对应的分组,发送窗口和接收窗口大小都不超过2的k-1次方,非累计确认,接收方收到当前窗口或前一窗口内正确分组时返回对应的ACK;
‘叁’ 计算机网络知识点
一、计算机网络概述
1.1 计算机网络的分类
按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);
按照网络使用者:公用网络、专用网络。
1.2 计算机网络的层次结构
TCP/IP四层模型与OSI体系结构对比:
1.3 层次结构设计的基本原则
各层之间是相互独立的;
每一层需要有足够的灵活性;
各层之间完全解耦。
1.4 计算机网络的性能指标
速率:bps=bit/s 时延:发送时延、传播时延、排队时延、处理时延 往返时间RTT:数据报文在端到端通信中的来回一次的时间。
二、物理层
物理层的作用:连接不同的物理设备,传输比特流。该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。
物理层设备:
中继器【Repeater,也叫放大器】:同一局域网的再生信号;两端口的网段必须同一协议;5-4-3规程:10BASE-5以太网中,最多串联4个中继器,5段中只能有3个连接主机;
集线器:同一局域网的再生、放大信号(多端口的中继器);半双工,不能隔离冲突域也不能隔离广播域。
信道的基本概念:信道是往一个方向传输信息的媒体,一条通信电路包含一个发送信道和一个接受信道。
单工通信信道:只能一个方向通信,没有反方向反馈的信道;
半双工通信信道:双方都可以发送和接受信息,但不能同时发送也不能同时接收;
全双工通信信道:双方都可以同时发送和接收。
三、数据链路层
3.1 数据链路层概述
数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。数据链路层在不可靠的物理介质上提供可靠的传输。
该层的作用包括: 物理地址寻址、数据的成帧、流量控制、数据的检错、重发 等。
有关数据链路层的重要知识点:
数据链路层为网络层提供可靠的数据传输;
基本数据单位为帧;
主要的协议:以太网协议;
两个重要设备名称:网桥和交换机。
封装成帧:“帧”是 数据链路层 数据的基本单位:
透明传输:“透明”是指即使控制字符在帧数据中,但是要当做不存在去处理。即在控制字符前加上转义字符ESC。
3.2 数据链路层的差错监测
差错检测:奇偶校验码、循环冗余校验码CRC
奇偶校验码–局限性:当出错两位时,检测不到错误。
循环冗余检验码:根据传输或保存的数据而产生固定位数校验码。
3.3 最大传输单元MTU
最大传输单元MTU(Maximum Transmission Unit),数据链路层的数据帧不是无限大的,数据帧长度受MTU限制.
路径MTU:由链路中MTU的最小值决定。
3.4 以太网协议详解
MAC地址:每一个设备都拥有唯一的MAC地址,共48位,使用十六进制表示。
以太网协议:是一种使用广泛的局域网技术,是一种应用于数据链路层的协议,使用以太网可以完成相邻设备的数据帧传输:
局域网分类:
Ethernet以太网IEEE802.3:
以太网第一个广泛部署的高速局域网
以太网数据速率快
以太网硬件价格便宜,网络造价成本低
以太网帧结构:
类型:标识上层协议(2字节)
目的地址和源地址:MAC地址(每个6字节)
数据:封装的上层协议的分组(46~1500字节)
CRC:循环冗余码(4字节)
以太网最短帧:以太网帧最短64字节;以太网帧除了数据部分18字节;数据最短46字节;
MAC地址(物理地址、局域网地址)
MAC地址长度为6字节,48位;
MAC地址具有唯一性,每个网络适配器对应一个MAC地址;
通常采用十六进制表示法,每个字节表示一个十六进制数,用 - 或 : 连接起来;
MAC广播地址:FF-FF-FF-FF-FF-FF。
四、网络层
网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。数据交换技术是报文交换(基本上被分组所替代):采用储存转发方式,数据交换单位是报文。
网络层中涉及众多的协议,其中包括最重要的协议,也是TCP/IP的核心协议——IP协议。IP协议非常简单,仅仅提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。
与IP协议配套使用实现其功能的还有地址解析协议ARP、逆地址解析协议RARP、因特网报文协议ICMP、因特网组管理协议IGMP。具体的协议我们会在接下来的部分进行总结,有关网络层的重点为:
1、网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能;
2、基本数据单位为IP数据报;
3、包含的主要协议:
IP协议(Internet Protocol,因特网互联协议);
ICMP协议(Internet Control Message Protocol,因特网控制报文协议);
ARP协议(Address Resolution Protocol,地址解析协议);
RARP协议(Reverse Address Resolution Protocol,逆地址解析协议)。
4、重要的设备:路由器。
路由器相关协议
4.1 IP协议详解
IP网际协议是 Internet 网络层最核心的协议。虚拟互联网络的产生:实际的计算机网络错综复杂;物理设备通过使用IP协议,屏蔽了物理网络之间的差异;当网络中主机使用IP协议连接时,无需关注网络细节,于是形成了虚拟网络。
IP协议使得复杂的实际网络变为一个虚拟互联的网络;并且解决了在虚拟网络中数据报传输路径的问题。
其中,版本指IP协议的版本,占4位,如IPv4和IPv6;首部位长度表示IP首部长度,占4位,最大数值位15;总长度表示IP数据报总长度,占16位,最大数值位65535;TTL表示IP数据报文在网络中的寿命,占8位;协议表明IP数据所携带的具体数据是什么协议的,如TCP、UDP。
4.2 IP协议的转发流程
4.3 IP地址的子网划分
A类(8网络号+24主机号)、B类(16网络号+16主机号)、C类(24网络号+8主机号)可以用于标识网络中的主机或路由器,D类地址作为组广播地址,E类是地址保留。
4.4 网络地址转换NAT技术
用于多个主机通过一个公有IP访问访问互联网的私有网络中,减缓了IP地址的消耗,但是增加了网络通信的复杂度。
NAT 工作原理:
从内网出去的IP数据报,将其IP地址替换为NAT服务器拥有的合法的公共IP地址,并将替换关系记录到NAT转换表中;
从公共互联网返回的IP数据报,依据其目的的IP地址检索NAT转换表,并利用检索到的内部私有IP地址替换目的IP地址,然后将IP数据报转发到内部网络。
4.5 ARP协议与RARP协议
地址解析协议 ARP(Address Resolution Protocol):为网卡(网络适配器)的IP地址到对应的硬件地址提供动态映射。可以把网络层32位地址转化为数据链路层MAC48位地址。
ARP 是即插即用的,一个ARP表是自动建立的,不需要系统管理员来配置。
RARP(Reverse Address Resolution Protocol)协议指逆地址解析协议,可以把数据链路层MAC48位地址转化为网络层32位地址。
4.6 ICMP协议详解
网际控制报文协议(Internet Control Message Protocol),可以报告错误信息或者异常情况,ICMP报文封装在IP数据报当中。
ICMP协议的应用:
Ping应用:网络故障的排查;
Traceroute应用:可以探测IP数据报在网络中走过的路径。
4.7网络层的路由概述
关于路由算法的要求:正确的完整的、在计算上应该尽可能是简单的、可以适应网络中的变化、稳定的公平的。
自治系统AS: 指处于一个管理机构下的网络设备群,AS内部网络自治管理,对外提供一个或多个出入口,其中自治系统内部的路由协议为内部网关协议,如RIP、OSPF等;自治系统外部的路由协议为外部网关协议,如BGP。
静态路由: 人工配置,难度和复杂度高;
动态路由:
链路状态路由选择算法LS:向所有隔壁路由发送信息收敛快;全局式路由选择算法,每个路由器计算路由时,需构建整个网络拓扑图;利用Dijkstra算法求源端到目的端网络的最短路径;Dijkstra(迪杰斯特拉)算法
距离-向量路由选择算法DV:向所有隔壁路由发送信息收敛慢、会存在回路;基础是Bellman-Ford方程(简称B-F方程);
4.8 内部网关路由协议之RIP协议
路由信息协议 RIP(Routing Information Protocol)【应用层】,基于距离-向量的路由选择算法,较小的AS(自治系统),适合小型网络;RIP报文,封装进UDP数据报。
RIP协议特性:
RIP在度量路径时采用的是跳数(每个路由器维护自身到其他每个路由器的距离记录);
RIP的费用定义在源路由器和目的子网之间;
RIP被限制的网络直径不超过15跳;
和隔壁交换所有的信息,30主动一次(广播)。
4.9 内部网关路由协议之OSPF协议
开放最短路径优先协议 OSPF(Open Shortest Path First)【网络层】,基于链路状态的路由选择算法(即Dijkstra算法),较大规模的AS ,适合大型网络,直接封装在IP数据报传输。
OSPF协议优点:
安全;
支持多条相同费用路径;
支持区别化费用度量;
支持单播路由和多播路由;
分层路由。
RIP与OSPF的对比(路由算法决定其性质):
4.10外部网关路由协议之BGP协议
BGP(Border Gateway Protocol)边际网关协议【应用层】:是运行在AS之间的一种协议,寻找一条好路由:首次交换全部信息,以后只交换变化的部分,BGP封装进TCP报文段.
五、传输层
第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。
传输层的任务是根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间,提供建立、维护和取消传输连接的功能,负责端到端的可靠数据传输。在这一层,信息传送的协议数据单元称为段或报文。
网络层只是根据网络地址将源结点发出的数据包传送到目的结点,而传输层则负责将数据可靠地传送到相应的端口。
有关网络层的重点:
传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输以及端到端的差错控制和流量控制问题;
包含的主要协议:TCP协议(Transmission Control Protocol,传输控制协议)、UDP协议(User Datagram Protocol,用户数据报协议);
重要设备:网关。
5.1 UDP协议详解
UDP(User Datagram Protocol: 用户数据报协议),是一个非常简单的协议。
UDP协议的特点:
UDP是无连接协议;
UDP不能保证可靠的交付数据;
UDP是面向报文传输的;
UDP没有拥塞控制;
UDP首部开销很小。
UDP数据报结构:
首部:8B,四字段/2B【源端口 | 目的端口 | UDP长度 | 校验和】 数据字段:应用数据
5.2 TCP协议详解
TCP(Transmission Control Protocol: 传输控制协议),是计算机网络中非常复杂的一个协议。
TCP协议的功能:
对应用层报文进行分段和重组;
面向应用层实现复用与分解;
实现端到端的流量控制;
拥塞控制;
传输层寻址;
对收到的报文进行差错检测(首部和数据部分都检错);
实现进程间的端到端可靠数据传输控制。
TCP协议的特点:
TCP是面向连接的协议;
TCP是面向字节流的协议;
TCP的一个连接有两端,即点对点通信;
TCP提供可靠的传输服务;
TCP协议提供全双工通信(每条TCP连接只能一对一);
5.2.1 TCP报文段结构:
最大报文段长度:报文段中封装的应用层数据的最大长度。
TCP首部:
序号字段:TCP的序号是对每个应用层数据的每个字节进行编号
确认序号字段:期望从对方接收数据的字节序号,即该序号对应的字节尚未收到。用ack_seq标识;
TCP段的首部长度最短是20B ,最长为60字节。但是长度必须为4B的整数倍
TCP标记的作用:
5.3 可靠传输的基本原理
基本原理:
不可靠传输信道在数据传输中可能发生的情况:比特差错、乱序、重传、丢失
基于不可靠信道实现可靠数据传输采取的措施:
差错检测:利用编码实现数据包传输过程中的比特差错检测 确认:接收方向发送方反馈接收状态 重传:发送方重新发送接收方没有正确接收的数据 序号:确保数据按序提交 计时器:解决数据丢失问题;
停止等待协议:是最简单的可靠传输协议,但是该协议对信道的利用率不高。
连续ARQ(Automatic Repeat reQuest:自动重传请求)协议:滑动窗口+累计确认,大幅提高了信道的利用率。
5.3.1TCP协议的可靠传输
基于连续ARQ协议,在某些情况下,重传的效率并不高,会重复传输部分已经成功接收的字节。
5.3.2 TCP协议的流量控制
流量控制:让发送方发送速率不要太快,TCP协议使用滑动窗口实现流量控制。
5.4 TCP协议的拥塞控制
拥塞控制与流量控制的区别:流量控制考虑点对点的通信量的控制,而拥塞控制考虑整个网络,是全局性的考虑。拥塞控制的方法:慢启动算法+拥塞避免算法。
慢开始和拥塞避免:
【慢开始】拥塞窗口从1指数增长;
到达阈值时进入【拥塞避免】,变成+1增长;
【超时】,阈值变为当前cwnd的一半(不能<2);
再从【慢开始】,拥塞窗口从1指数增长。
快重传和快恢复:
发送方连续收到3个冗余ACK,执行【快重传】,不必等计时器超时;
执行【快恢复】,阈值变为当前cwnd的一半(不能<2),并从此新的ssthresh点进入【拥塞避免】。
5.5 TCP连接的三次握手(重要)
TCP三次握手使用指令:
面试常客:为什么需要三次握手?
第一次握手:客户发送请求,此时服务器知道客户能发;
第二次握手:服务器发送确认,此时客户知道服务器能发能收;
第三次握手:客户发送确认,此时服务器知道客户能收。
建立连接(三次握手):
第一次: 客户向服务器发送连接请求段,建立连接请求控制段(SYN=1),表示传输的报文段的第一个数据字节的序列号是x,此序列号代表整个报文段的序号(seq=x);客户端进入 SYN_SEND (同步发送状态);
第二次: 服务器发回确认报文段,同意建立新连接的确认段(SYN=1),确认序号字段有效(ACK=1),服务器告诉客户端报文段序号是y(seq=y),表示服务器已经收到客户端序号为x的报文段,准备接受客户端序列号为x+1的报文段(ack_seq=x+1);服务器由LISTEN进入SYN_RCVD (同步收到状态);
第三次: 客户对服务器的同一连接进行确认.确认序号字段有效(ACK=1),客户此次的报文段的序列号是x+1(seq=x+1),客户期望接受服务器序列号为y+1的报文段(ack_seq=y+1);当客户发送ack时,客户端进入ESTABLISHED 状态;当服务收到客户发送的ack后,也进入ESTABLISHED状态;第三次握手可携带数据;
5.6 TCP连接的四次挥手(重要)
释放连接(四次挥手)
第一次: 客户向服务器发送释放连接报文段,发送端数据发送完毕,请求释放连接(FIN=1),传输的第一个数据字节的序号是x(seq=x);客户端状态由ESTABLISHED进入FIN_WAIT_1(终止等待1状态);
第二次: 服务器向客户发送确认段,确认字号段有效(ACK=1),服务器传输的数据序号是y(seq=y),服务器期望接收客户数据序号为x+1(ack_seq=x+1);服务器状态由ESTABLISHED进入CLOSE_WAIT(关闭等待);客户端收到ACK段后,由FIN_WAIT_1进入FIN_WAIT_2;
第三次: 服务器向客户发送释放连接报文段,请求释放连接(FIN=1),确认字号段有效(ACK=1),表示服务器期望接收客户数据序号为x+1(ack_seq=x+1);表示自己传输的第一个字节序号是y+1(seq=y+1);服务器状态由CLOSE_WAIT 进入 LAST_ACK (最后确认状态);
第四次: 客户向服务器发送确认段,确认字号段有效(ACK=1),表示客户传输的数据序号是x+1(seq=x+1),表示客户期望接收服务器数据序号为y+1+1(ack_seq=y+1+1);客户端状态由FIN_WAIT_2进入TIME_WAIT,等待2MSL时间,进入CLOSED状态;服务器在收到最后一次ACK后,由LAST_ACK进入CLOSED;
为什么需要等待2MSL?
最后一个报文没有确认;
确保发送方的ACK可以到达接收方;
2MSL时间内没有收到,则接收方会重发;
确保当前连接的所有报文都已经过期。
六、应用层
为操作系统或网络应用程序提供访问网络服务的接口。应用层重点:
数据传输基本单位为报文;
包含的主要协议:FTP(文件传送协议)、Telnet(远程登录协议)、DNS(域名解析协议)、SMTP(邮件传送协议),POP3协议(邮局协议),HTTP协议(Hyper Text Transfer Protocol)。
6.1 DNS详解
DNS(Domain Name System:域名系统)【C/S,UDP,端口53】:解决IP地址复杂难以记忆的问题,存储并完成自己所管辖范围内主机的 域名 到 IP 地址的映射。
域名解析的顺序:
【1】浏览器缓存,
【2】找本机的hosts文件,
【3】路由缓存,
【4】找DNS服务器(本地域名、顶级域名、根域名)->迭代解析、递归查询。
IP—>DNS服务—>便于记忆的域名
域名由点、字母和数字组成,分为顶级域(com,cn,net,gov,org)、二级域(,taobao,qq,alibaba)、三级域(www)(12-2-0852)
6.2 DHCP协议详解
DHCP(Dynamic Configuration Protocol:动态主机设置协议):是一个局域网协议,是应用UDP协议的应用层协议。作用:为临时接入局域网的用户自动分配IP地址。
6.3 HTTP协议详解
文件传输协议(FTP):控制连接(端口21):传输控制信息(连接、传输请求),以7位ASCII码的格式。整个会话期间一直打开。
HTTP(HyperText Transfer Protocol:超文本传输协议)【TCP,端口80】:是可靠的数据传输协议,浏览器向服务器发收报文前,先建立TCP连接,HTTP使用TCP连接方式(HTTP自身无连接)。
HTTP请求报文方式:
GET:请求指定的页面信息,并返回实体主体;
POST:向指定资源提交数据进行处理请求;
DELETE:请求服务器删除指定的页面;
HEAD:请求读取URL标识的信息的首部,只返回报文头;
OPETION:请求一些选项的信息;
PUT:在指明的URL下存储一个文档。
6.3.1 HTTP工作的结构
6.3.2 HTTPS协议详解
HTTPS(Secure)是安全的HTTP协议,端口号443。基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护
原文地址:https://blog.csdn.net/Royalic/article/details/119985591
‘肆’ 计算机网络中的自治系统什么意思
计算机网络中的自治系统是指能够自主决定在本系统中应采取某种路由协议的单位。
‘伍’ 计算机网络是以能够相互共享资源的方式互联起来的什么系统的集合
计算机网络是以能够相互共享资源的方式互联起来的自治系统的集合。
‘陆’ 计算机网络什么是自治系统
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
计算机网络也称计算机通信网。关于计算机网络的最简单定义是:一些相互连接的、以共享资源为目的的、自治的计算机的集合。若按此定义,则早期的面向终端的网络都不能算是计算机网络,而只能称为联机系统(因为那时的许多终端不能算是自治的计算机)。但随着硬件价格的下降,许多终端都具有一定的智能,因而“终端”和“自治的计算机”逐渐失去了严格的界限。若用微型计算机作为终端使用,按上述定义,则早期的那种面向终端的网络也可称为计算机网络。
另外,从逻辑功能上看,计算机网络是以传输信息为基础目的,用通信线路将多个计算机连接起来的计算机系统的集合,一个计算机网络组成包括传输介质和通信设备。
从用户角度看,计算机网络是这样定义的:存在着一个能为用户自动管理的网络操作系统。由它调用完成用户所调用的资源,而整个网络像一个大的计算机系统一样,对用户是透明的。
一个比较通用的定义是:利用通信线路将地理上分散的、具有独立功能的计算机系统和通信设备按不同的形式连接起来,以功能完善的网络软件及协议实现资源共享和信息传递的系统。
‘柒’ 什么叫自治计算机系统
你说的是自制电脑操作系统吧?就是把自主选择安装好的操作系统连同软件用GOST软件制作的系统,可以安装在其他电脑上。
‘捌’ 计算机网络(四)网络层
主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。
链路层数据帧可封装数据的上限称为最大传送单元MTU
标识:同一数据报的分片使用同一标识。
中间位DF(Don’t Fragment):
最低位MF(More Fragment):
片偏移:指出较长分组分片后,某片在原分组中的相对位置。以8B为单位。除了最后一个分片,每个分片长度一定是8B的整数倍。
IP地址:全世界唯一的32位/4字节标识符,标识路由器主机的接口。IP地址::={<网络号>,<主机号>}
有一些IP地址是不能用的,有其特殊的作用,如:
网络地址转换NAT(Network Address Translation):在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。
此外,为了网络安全,划分出了部分IP地址和私有IP地址,私有IP地址网段如下:
路由器对目的地址是私有IP地址的数据报一律不进行转发。
分类的IP地址的弱点:
某单位划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内子网的划分。
路由器转发分组的算法:
无分类域间路由选择CIDR:
CIDR记法:IP地址后加上“/”,然后写上网络前缀(可以任意长度)的位数。e.g. 128.14.32.0/20
CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。
使用CIDR时,查找路由表可能得到几个匹配结果(跟网络掩码按位相与),应选择具有最长网络前缀的路由。前缀越长,地址块越小,路由越具体。
将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。方法:将网络前缀缩短(所有网络地址取交集)。
由于在实际网络的链路上传送数据帧时,最终必须使用MAC地址。
ARP协议:完成主机或路由器IP地址到MAC地址的映射。
ARP协议使用过程:
ARP协议4种典型情况:
动态主机配置协议DHCP是 应用层 协议,使用 客户/服务器 方式,客户端和服务端通过 广播 方式进行交互,基于 UDP 。
DHCP提供即插即用联网的机制,主机可以从服务器动态获取IP地址、子网掩码、默认网关、DNS服务器名称与IP地址,允许地址重用,支持移动用户加入网络,支持在用地址续租。
DHCP工作流程如下:
ICMP协议支持主机或路由器:包括差错(或异常)报告和网络探询,分部发送特定ICMP报文
ICMP差错报告报文(5种):
不应发送ICMP差错报文的情况:
ICMP询问报文:
ICMP的应用:
32位IPv4地址空间已分配殆尽,这时,可以采用更大地址空间的新版本的IPv6,从根本上解决地址耗尽问题
IPv6数据报格式如下图
IPv6的主要特点如下:
IPv6地址表示形式:
零压缩:一连串连续的0可以被一对冒号取代。双冒号表示法在一个地址中仅可出现一次。
IPv6基本地址类型:
IPv6向IPv4过渡的策略:
R1的路由表/转发表如下:
最佳路由:“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。
路由算法可分为
由于因特网规模很大且许多单位不想让外界知道自己的路由选择协议,但还想连入因特网,可以采用自治系统来解决
自治系统AS:在单一的技术管理下的一组路由器,而这些路由器使用一种AS内部的路由选择协议和共同的度量以确定分组在该AS内的路由,同时还使用一种AS之间的路由协议以确定在AS之间的路由。
一个AS内的所有网络都属于一个行政单位来管辖,一个自治系统的所有路由器在本自治系统内都必须连通。
路由选择协议
RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。
RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离 [1] 记录(即一组距离)。 RIP协议只适用于小互联网。
RIP是应用层协议,使用 UDP 传送数据。一个RIP报文最多可包括25个路由,如超过,必须再用一个RIP报文传送。
RIP协议的交换
路由器刚开始工作时,只知道直接连接的网络的距离(距离为1),接着每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。
经过若干次更新后,所有路由器最终都会知道到达本自治系统任何一个网络的最短距离和下一跳路由器的地址,即“收敛”。
RIP的特点:当网络出现故障时,要经过比较长的时间(例如数分钟) 才能将此信息传送到所有的路由器,“慢收敛”。
对地址为X的相邻路由器发来的RIP报文,修改此报文中的所有项目:把“下一跳”字段中的地址改为X,并把所有的“距离”字段+1。
开放最短路径优先OSPF协议:“开放”标明OSPF协议不是受某一家厂商控制,而是公开发表的;“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。OSPF最主要的特征就是使用分布式的链路状态协议。 OSPF直接用IP数据报传送。
OSPF的特点:
为了使OSPF 能够用于规模很大的网络,OSPF 将一个自治系统再划分为若干个更小的范围,叫做区域。每一个区域都有一个32 位的区域标识符(用点分十进制表示)。区域也不能太大,在一个区域内的路由器最好不超过200 个。
BGP 所交换的网络可达性的信息就是要到达某个网络所要经过的一系列AS。当BGP 发言人互相交换了网络可达性的信息后,各BGP 发言人就根据所采用的策略从收到的路由信息中找出到达各AS 的较好路由。
一个BGP 发言人与其他自治系统中的BGP 发言人要交换路由信息,就要先建立TCP 连接,即通过TCP传送,然后在此连接上交换BGP 报文以建立BGP 会话(session),利用BGP 会话交换路由信息。 BGP是应用层协议,借助TCP传送。
BGP协议特点:
BGP-4的四种报文
组播提高了数据传送效率。减少了主干网出现拥塞的可能性。组播组中的主机可以是在同一个物理网络,也可以来自不同的物理网络(如果有组播路由器的支持)。
IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)。
组播地址范围为224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址。
同单播地址一样,组播IP地址也需要相应的组播MAC地址在本地网络中实际传送帧。组播MAC地址以十六进制值01-00-5E打头,余下的6个十六进制位是根据IP组播组地址的最后23位转换得到的。
TCP/IP 协议使用的以太网多播地址的范围是:从01-00-5E-00-00-00到01-00-5E-7F-FF-FF .
收到多播数据报的主机,还要在IP 层利用软件进行过滤,把不是本主机要接收的数据报丢弃。
ICMP和IGMP都使用IP数据报传递报文。组播路由器知道的成员关系只是所连接的局域网中有无组播组的成员。
IGMP工作的两个阶段:
只要有一个主机对某个组响应,那么组播路由器就认为这个组是活跃的;如果经过几次探询后没有一个主机响应,组播路由器就认为本网络上的没有此组播组的主机,因此就不再把这组的成员关系发给其他的组播路由器。
组播路由协议目的是找出以源主机为根节点的组播转发树。构造树可以避免在路由器之间兜圈子。对不同的多播组对应于不同的多播转发树;同一个多播组,对不同的源点也会有不同的多播转发树。
组播路由选择协议常使用的三种算法:
移动IP技术是移动结点(计算机/服务器等)以 固定的网络IP地址 ,实现跨越不同网段的 漫游 功能,并保证了基于网络IP的网络权限在漫游过程中不发生任何改变。
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。
若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。 路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。
路由器(网络层)可以互联两个不同网络层协议的网段。
网桥(链路层)可以互联两个物理层和链路层不同的网段。
集线器(物理层)不能互联两个物理层不同的网段。
路由表根据路由选择算法得出的,主要用途是路由选择,总用软件来实现。
转发表由路由表得来,可以用软件实现,也可以用特殊的硬件来实现。转发表必须包含完成转发功能所必需的信息,在转发表的每一行必须包含从要到达的目的网络到输出端口和某些MAC地址信息的映射。
‘玖’ 计算机网络-4-6-互联网的路由选择协议
路由选择协议的核心是 路由算法 。即 需要一种算法来获取路表中的各项 ,一个比较好的路由选择算法应该有以下特点[BELL86]:
一个实际的路由选择算法,应该尽可能的接近于理想的算法,在不同的应用条件下,可以对上面提出的六个方面有不同的侧重。
倘若从路由算法能否随网络的通信量或拓扑自适应的进行调整变化来划分,则只有两大类: 静态路由选择策略 和 动态路由选择策略 。静态路由选择策略也叫做 非自适应路由选择 ,其特点是简单和开销较小,但不能即使适应网络状态的变化。对于很简单的小网络,完全可以采用静态路由选择,用人工配置每一条路由。动态路由选择也叫做 自适应路由选择 ,其特点是能够较好的适应网络状态的变化,但实现起来较为复杂,开销也比较大,因此动态路由选择适用于较复杂的大网络。
互联网采用的路由选择协议主要是自适应的(动态的),分布式路由选择协议。由于以下两种原因,互联网采用分层次的路由选择协议:
为此,可以把整个互联网划分为许多较小的 自治系统AS(autonomous system) ,自治系统AS是在单一技术管理下的一组路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量,一个AS对其他AS表现的出是 一个单一的和一致的路由选择策略 。
在目前的互联网中,一个大的ISP就是一个自治系统。这样,互联网就把路由选择协议划分为两大类:
自治系统之间的路由选择协议也叫做 域间路由选择(interdomain routing) ,而在自治系统内部的路由选择叫做 域内路由选择(intradomain routing) 。如图4-31
RIP(routing information protocol)是内部网关协议IGP中最先得到广泛使用的协议[RFC1058],也叫 路由信息协议 ,RIP是一种分布式的 基于距离向量的路由选择协议 。最大的优点就是简单。
RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(因此这是一组距离,叫做距离向量),RIP将距离定义如下:
从一路由器到直接连接的网络的距离为1,从路由器到非之间的网络的距离定义为所经过的路由器数+1。
RIP协议的距离也称之为 跳数 ,但是一条跳数最多只能包含15个路由器,因此,当距离=16时,就相当于不可达。因此RIP只能适用于小型互联网。
注意的是,到直接连接的网络也定义为0(采用这种定义的理由是:路由器在和直接连接在该网络上的主机进行通信并不需要经过另外的路由器,既然经过每一个路由器都要将距离增加1,那么不经过路由器就不需要+1,就是0)。
RIP不能在两个网络之间同时使用多条路由。RIP选择一条具有最少路由器的路由(最短路由),哪怕还存在另一条高速低延时的但是路由器较多的路由。
路由器在刚开始工作的时候,其内部路由表是空的。然后路由器就可以和直接相连的几个网络的距离(这些距离为1),接着,每个路由器和与自己相连的路由器不断交换路由表信息,经过若干次更新后,所有的路由器最终就可以知道本自治系统中任何一个网络地址和最短下一跳路由器的地址。
路由器最主要的信息是:到某个网路的距离(最短距离),以及下一跳的地址,路由表更新的原则是找出到每个网络的 最短距离 ,这种算法又称之为 距离向量算法 。
对 每一个相邻的路由器 发送过来的RIP报文,进行以下步骤:
算法描述:其实就是求一个路由器到另一个路由器的最短距离。
例题:
已知路由器R6有表4-9(a)所表示的路由表,现在收到相邻路由器路由表R4发过来的路由更新信息,如图4-9(b)所示。试更新路由器R6的路由表。
解:首先把R4发过来的路由表中的距离都+1:
把这个表和R6的路由表进行比较:
RIP协议让每一个自治系统中的所有路由都和自己的相邻路由器定期交换路由表信息,并不断更新路由表,使得每从 每一个路由器到每一个目的网络的路由都是最短距离(也就是跳数最小)。
现在比较新的RIP协议报文格式是1998年提出的RIP2。
RIP协议使用运输层的用户数据报(UDP端口为520)进行传输。
RIP报文由首部和路由部分组成。
RIP首部占4个字节,其中的命令字段指出报文的意义。
RIP2报文中的路由部分有若干路由信息组成,每个路由信息需要用20字节。 地址标识符(又称地址列别) 字段用来标识所用的地址协议。如果采用IP地址就为2。 路由标记填入自治系统号ASN(Autonomous System Number) ,这是考虑使用RIP有可能收到本自治系统以外的路由选择信息,再后面指出某个 网络地址 , 下一跳路由器地址 以及 到此网络的距离 ,一个RIP报文最多可以包含25个路由,因而RIP报文的最大长度是4+20x25=504字节。如果超过,则必然再使用以恶搞RIP报文来传送。
RIP还具有简单的鉴别功能,若使用鉴别功能,则将原来写入第一个路由信息(20字节)的位置用作鉴别,这时应该将地址标识符置为全1(0xFFFF),而路由标记写入鉴别类别,剩下的16字节作为鉴别数据,在鉴别数据之后才能写入路由信息,但这时只能写入24个路由信息。
RIP存在的一个问题是 当网络出现故障的时候,要经过比较长的时间才能将信息传送到所有的路由器 ,RIP协议的这一特点是: 好消息传播的很快,而坏消息传播的很慢 ,网络出现故障的传播时间往往需要经过较长时间,这是RIP协议的一个主要缺点。
为了使坏消息传播的更快些,可以采用多种措施,例如,让路由器记录收到某特定路由信息的接口,而不是让同一个路由信息再通过此接口反方向传送。
总之,RIP协议最大的优点是 实现简单,开销较小 ,但RIP协议缺点也很明显,首先 限制了网络规模,因为路由器最大的跳数是15跳,一般中大型网络规模RIP协议就不适用了 。其次就是 路由器之间交换的路由信息是路由器中完整的路由表,因而随着网络规模变大,开销也就增加 。最后就是 好消息传播的很快,坏消息传播的很慢 。