13017 计算机网络与信息安全——主观题
共十一章
一、计算机网络与信息安全概述
大纲知识点
什么是计算机网络?
计算机网络是计算机技术与通信技术相互融合的产物。
计算机网络是利用通信设备与通信链路或者通信网络,互连位置不同、功能自治的计算机系统,并遵循一定的规则实现计算机系统之间信息交换的系统。
计算机网络是互连的、自治的计算机的集合。
目前最大的、应用最广泛的计算机网络就是Internet(因特网)。网络协议的三要素是什么?每个要素的含义分别是什么
语 法 (syntax)、语 义 (semantics) 和 时 序 (timing)。
语法定义实体之间交换信息的格式与结构。
语义定义实体之间交换的信息中需要发送哪些控制信息及其具体含义、接收端如何响应、差错处理机制。
时序也称为同步,定义实体之间交换信息的顺序以及如何匹配或适应彼此的速度。按网络覆盖范围划分,主要有哪几类计算机网络?它们各有什么特点?
按网络覆盖范围分类,计算机网络可以分为以下4 类:
( 1 ) 个域网:通常是由个人设备通过无线通信技术构成小范围的网络,实现个人设备间的数据传输,比如蓝牙。覆盖范围为1~10 m。
( 2 ) 局域网:通常部署在办公楼、校园等局部区域内,采用高速有线或无线链路连接主机,实现局部范围内高速数据传输。通常覆盖范围为10 m~1km。
( 3 ) 城域网:指覆盖一个城市范围的网络,覆盖范围通常为5~50km 。
( 4 ) 广域网:可以实现异地城域网或局域网的互连,覆盖范围在几十到几千公里。按网络拓扑划分,主要有哪几类计算机网络?它们各有什么特点?
按照拓扑分类,计算机网络可以分为星形拓扑、总线型拓扑、环形拓扑、网状拓扑、树形拓扑和混合拓扑等。
( 1 ) 星形拓扑:包括一个中央结点,网络中的主机通过点对点通信链路与中央结点连接。
( 2 ) 总线型拓扑:采用一条广播信道作为总线,所有结点均与总线连接,通过总线进行结点间的通信。
( 3 ) 环形拓扑:利用通信链路将所有结点连接成一个闭合的环,每个结点与环互通数据。
( 4 ) 网状拓扑:每个结点通过多条链路与不同的结点直接连接。
( 5 ) 树形拓扑:可以看作总线型拓扑或星形拓扑的扩展。常见通过级联星形拓扑网络中的中央结点构建树形拓扑网络。
( 6 ) 混合拓扑:由两种以上简单拓扑网络混合连接而成的网络。计算机网络结构主要包括哪几部分?每部分的主要功能分别是什么?
现代计算机网络的结构包括网络边缘(networkedge)、接入网络(accessnetwork)与网络核心(networkcore)三部分。
三、传输层服务与物议
大纲知识点
实现可靠数据传输的主要措施有哪些?这些措施主要用于解决哪些问题?
实现可靠数据传输的主要措施包括差错检测、确认、重传、序号以及计时器等。
(1)差错检测:检测和纠正数据在传输过程中的比特错误差错。
(2)确认:解决数据丢失或传输错误的问题。
(3)重传:确保数据能够完整、准确地到达接收方。
(4)序号:解决数据包在传输过程中可能出现的乱序问题,确保数据按正确的顺序重组。
(5)计时器:防止数据丢失或确认信息延迟导致的传输失败。UDP与TCP是分别如何实现复用与分解的?
(1)UDP的复用与分解
①复用:在发送端,UDP从多个进程收集数据报,并为每个数据报添加源端口号和目标端口号,然后将这些数据报发送到网络层。
②分解:在接收端,UDP根据报文段中的目标端口号将数据报分发到对应的套接字。UDP套接字由二元组(目标IP地址、目标端口号)标识。
③特点:UDP是无连接的,不维护连接状态,因此只通过端口号进行分解。如果多个数据报具有相同的目标端口号,它们会被分发到同一个套接字。
(2)TCP的复用与分解
①复用:在发送端,TCP从多个进程收集数据流,并为每个数据流添加源IP地址、源端口号、目标IP地址和目标端口号,然后将这些数据流发送到网络层。
②分解:在接收端,TCP根据报文段中的四元组(源IP地址、源端口号、目标IP地址、目标端口号)将数据流分发到对应的套接字。每个TCP连接都有一个唯一的套接字。
③特点:TCP是面向连接的,每个连接都有一个独立的套接字,即使多个连接使用相同的端口号,也可以通过源IP和源端口号区分。请画出TCP报文段结构,并简要说明各个字段的主要作用。
(1)源端口号标识发送该报文段的源端口;目的端口号标识发送该报文段的目的端口。
(2)序号是对每个应用层数据的每个字节的编号;确认序号是期望从对方接收数据的字节序号。
(3)首部长度指出TCP报文段的首部长度;保留字段留给今后使用;URG=1时,说明报文中有紧急数据;ACK=1时,确认序号字段有效;PSH=1时,会尽快将报文段中数据交付进程,而不再等缓存填满后再上交;RST=1时,表明TCP连接中出现严重差错,必须释放重连;SYN=1时,表明该TCP报文段是一个建立新连接请求控制段或同意建立新连接的确认段;FIN=1时,表明该TCP报文段的发送端数据已发送完毕,请求释放TCP连接;接收窗口字段表示愿意接收的应用层数据字节数量。
(4)校验和字段检验TCP伪首部、TCP报文段首部、数据;紧急指针只在URG=1时有效,指出在本TCP报文段中紧急数据共多少字节。
(5)选项字段放入最大报文长度等信息;填充字段取值全0,使首部长度是4B的整数倍。
(6)数据部分存放报文段的主要数据。TCP为何采用三次握手来建立连接?采用二次握手可以吗?为什么?
TCP(传输控制协议)采用三次握手来建立连接,主要是为了确保连接的可靠性和防止错误连接的建立。
第一次握手:客户端发送一个带有SYN(同步)标志的报文到服务器,表示请求建立连接。
第二次握手:服务器收到客户端的SYN报文后,回复一个带有SYN和ACK(确认)标志的报文。其中,ACK是对客户端SYN报文的确认,而SYN表示服务器也准备好建立连接。
第三次握手:客户端收到服务器的SYN+ACK报文后,再发送一个带有ACK标志的报文给服务器,确认收到服务器的SYN+ACK报文,至此连接建立。
三次握手的主要作用:
(1)防止已失效的连接请求报文突然又传送到了服务端,因而产生错误;
(2)确保双方都具备发送和接收的能力;
(3)同步双方的初始序列号。
如果采用二次握手,会存在以下问题:
(1)无法防止已失效的连接请求报文;
(2)无法确认客户端的接收能力;
(3)无法同步初始序列号。请分别说明TCP建立连接与断开连接的过程,并给出主要状态转移过程。
TCP建立连接的过程是通过三次握手来完成的。
第一次握手:客户端向服务器发送一个带有SYN标志的报文请求建立连接,客户端状态转移CLOSED → SYN-SENT;
第二次握手:服务器收到客户端的SYN报文后,回复一个带有SYN和ACK标志的报文,服务器状态转移LISTEN → SYN-RCVD;
第三次握手:客户端收到服务器的SYN+ACK报文后,发送一个带有ACK标志的报文给服务器,客户端状态转移SYN-SENT → ESTABLISHED,服务器收到客户端的ACK报文后状态转移SYN-RCVD → ESTABLISHED。
主要状态转移:
客户端:CLOSED → SYN-SENT → ESTABLISHED。
服务器:LISTEN → SYN-RCVD → ESTABLISHED。TCP断开连接的过程是通过四次挥手来完成的。
第一次挥手:客户端向服务器发送一个带有FIN标志的报文,表示客户端已经完成数据发送,准备关闭连接,客户端状态转移ESTABLISHED → FIN-WAIT-1;
第二次挥手:服务器收到客户端的FIN报文后,回复一个带有ACK标志的报文,确认收到客户端的关闭请求,服务器状态转移ESTABLISHED → CLOSE-WAIT,客户端状态转移FIN-WAIT-1 → FIN-WAIT-2;
第三次挥手:服务器完成数据发送后,向客户端发送一个带有FIN标志的报文,表示服务器也准备关闭连接,服务器状态转移CLOSE-WAIT → LAST-ACK;
第四次挥手:客户端收到服务器的FIN报文后,回复一个带有ACK标志的报文,确认收到服务器的关闭请求,客户端状态转移FIN-WAIT-2 → TIME-WAIT,服务器状态转移LAST-ACK → CLOSED,客户端在TIME-WAIT状态等待2MSL后状态转移TIME-WAIT → CLOSED。
主要状态转移:
客户端:ESTABLISHED → FIN-WAIT-1 → FIN-WAIT-2 → TIME-WAIT → CLOSED。
服务器:ESTABLISHED → CLOSE-WAIT → LAST-ACK → CLOSED。TCP是如何保证可靠数据传输的?
TCP的可靠数据传输实现机制包括差错编码、确认、序号、重传、计时器等。
(1)校验和:发送方和接收方验证校验和是否相同。不相同则数据传输有误,相同也可能有问题。
(2)确认应答:三次握手与四次挥手过程中通过比对Seq和ACK来实现。
(3)超时重传:发送数据包在一定的时间周期内没有收到相应的ACK,等待一定的时间,超时之后就认为这个数据包丢失,就会重新发送。请分别简述GBN协议和SR协议的工作过程。
GBN协议是一种滑动窗口协议,用于实现可靠的数据传输。其核心思想是发送方在未收到确认(ACK)之前可以连续发送多个数据分组,但一旦检测到超时或丢失,将重传所有未确认的分组。
SR协议也是一种滑动窗口协议,但与GBN协议不同,它允许接收方缓存失序到达的分组,并只重传丢失的分组。请说明TCP滑动窗口机制,并对比TCP滑动窗口与GBN协议的异同。
graph LR A[传输层TCP如何实现可靠传输] --> B[停-等协议] A --> C[滑动窗口协议] C --> D[GBN协议] C --> E[SR议]
TCP滑动窗口机制是一种用于流量控制和拥塞控制的技术,允许发送方在等待确认之前连续发送多个数据段。其核心原理如下:
- 发送窗口与接收窗口:
发送方维护一个发送窗口,表示可以发送但尚未被确认的数据范围。
接收方维护一个接收窗口,表示可以接收的数据范围。
窗口大小动态调整,取决于接收方的处理能力和网络拥塞情况。 - 窗口滑动:
当发送方收到接收方的确认(ACK)时,窗口向前滑动,允许发送更多数据。
如果接收方缓冲区已满,窗口大小会减小,甚至变为0,发送方暂停发送。 - 确认机制:
TCP使用累积确认,接收方确认的是已正确接收的最高序号数据。
如果数据丢失,发送方会根据确认信息重传丢失的数据。 - 动态调整:
TCP的滑动窗口大小不是固定的,而是根据网络状况和接收方的接收能力动态调整。
窗口大小的调整涉及接收窗口(rwnd)和拥塞窗口(cwnd),实际发送窗口大小为两者的最小值。
TCP滑动窗口与GBN协议的相同点:
- 基于滑动窗口协议:TCP和GBN都使用滑动窗口机制来提高数据传输效率。
- 单个计时器:TCP和GBN都使用单个计时器来监控最早未被确认的数据段。
- 按序确认:TCP和GBN都要求接收方按序接收数据,接收方只确认按序到达的数据。
TCP滑动窗口与GBN协议的不同点:
- 接收窗口大小:TCP滑动窗口:动态调整,取决于接收方缓冲区容量。GBN协议:固定为1。
- 重传机制:TCP滑动窗口:选择性重传丢失的数据段。GBN协议:重传从丢失数据段开始的所有后续数据段。
- 对失序数据的处理:TCP滑动窗口:接收方缓存失序数据。GBN协议:接收方丢弃失序数据。
- 窗口大小限制:TCP滑动窗口:动态调整,无固定上限。GBN协议:最大为 2^n−1(n为序列号比特数)。
- 传输效率:TCP滑动窗口:高,支持选择性重传和缓存失序数据。GBN协议:较低,重传数据量可能较大。
- 发送窗口与接收窗口:
TCP与UDP的主要区别是什么?
- 连接性:TCP:面向连接的协议。(三次握手)UDP:无连接的协议。
- 可靠性:TCP:提供可靠的数据传输(确认-重传机制)UDP:不保证数据包的可靠传输。
- 顺序性:TCP:保证数据包按顺序到达。UDP:不保证数据包的顺序。
- 流量控制:TCP:提供流量控制机制。UDP:没有流量控制机制。
- 拥塞控制:TCP:具有拥塞控制机制。UDP:没有拥塞控制机制。
- 应用场景:TCP:适用于需要可靠传输的应用,如 Web 浏览(HTTP)、文件传输(FTP)、电子邮件(SMTP)等。UDP:适用于对传输速度要求高、可以容忍一定丢包率的应用,如实时视频/音频传输、在线游戏、DNS 查询等。
TCP是如何实现拥塞控制的?
TCP拥塞控制是通过合理调度、规范、调整向网络中发送数据的主机数量、发送速率或数据量,以避免拥塞或尽快消除已发生的拥塞。
拥塞控制策略可以分为拥塞预防与拥塞消除两大类。
拥塞预防是通过采取一些技术预防拥塞的发生,如流量整形技术
拥塞消除是利用拥塞检测机制检测网络中是否发生拥塞,然后通过某种方法消除已发生的拥塞。
根据拥塞检测机制的不同,拥塞控制又可以分为基于拥塞状态反馈的拥塞控制方法和无须拥塞状态反馈的拥塞控制方法。
TCP的拥塞控制是从端到端的角度,推测网络是否发生拥塞,如果推断网络发生拥塞,则立即将数据发送速率降下来,以便缓解网络拥塞。
TCP拥塞控制的基本思想是AIMD。
TCP的拥塞控制采用的也是窗口机制,通过调节窗口的大小实现对发送数据速率的调整。窗口调节的基本策略是网络未发生拥塞时,逐渐“加性”增大窗口大小,当网络拥塞时,“乘性”快速减小窗口大小,
TCP拥塞控制窗口的调节分为慢启动阶段和拥塞避免阶段,慢启动阶段窗口从一个MSS快速增长,达到某个阈值后转为拥塞避免阶段;拥塞避免阶段的窗口增长放慢。【简洁版】
- 慢启动:开始时,拥塞窗口设置为一个较小的值(通常为1个MSS)。每当收到一个ACK,拥塞窗口就增加一个MSS,呈指数增长,直到达到慢启动阈值。
- 拥塞避免:当拥塞窗口超过慢启动阈值时,TCP进入拥塞避免阶段。拥塞窗口的增长速度变慢,每次收到ACK时,拥塞窗口增加1,呈线性增长。
- 快速重传:当发送方收到三个重复的ACK时,它会立即重传丢失的数据包,而不是等待重传定时器超时。
- 快速恢复:快速恢复算法与快速重传配合使用,用于在发生数据包丢失后快速调整拥塞窗口。
- 拥塞窗口调整:当发生丢包时,TCP会调整拥塞窗口的大小,以减少网络拥塞。
四、网络层
网络层提供的主要功能是什么?
转发、路由以及连接管理。
(1)转发:通过一条输入链路收到分组后,决策选哪条输出链路发送分组,将分组从输入接口转到输出接口。
(2)路由:按照路由选择算法决定分组经过的路径。
(3)连接管理:建立从源主机到目标主机的一条路径,这条路径经过的每个路由器等网络设备都要参与网络层连接的建立。转发和路由的含义是什么?它们之间有什么区别和联系?
(1)转发:通过一条输入链路收到分组后,决策选哪条输出链路发送分组,将分组从输入接口转到输出接口。
(2)路由:按照路由选择算法决定分组经过的路径。
区别和联系:
(1)作用范围:转发是局部的,发生在单个网络设备内部;路由是全局的,涉及整个网络的路径选择。
(2)决策依据:转发基于转发表(如MAC地址表或路由表);路由基于网络拓扑和路由协议。
(3)功能层次:转发可以看作是路由决策的执行部分,即路由决定路径,转发执行路径上的传输。简述虚电路网络和数据报网络各自的优缺点。
虚电路网络(如X.25, Frame Relay, MPLS)
优点:
(1)可靠性:在数据传输前建立连接,确保数据传输的可靠性。
(2)有序传输:数据包按照发送顺序到达目的地。
(3)流量控制:提供流量控制机制,避免拥塞。
(4)错误检测:能够检测和纠正传输过程中的错误。
(5)带宽保证:为每个连接提供一定的带宽保证。
缺点:
(1)建立延迟:需要时间来建立连接,对于突发性数据传输不够灵活。
(2)资源占用:即使没有数据传输,也需要占用网络资源以维持连接。
(3)不够灵活:对于动态变化的网络条件适应性较差。
数据报网络(如IP)
优点:
(1)灵活性:不需要建立连接,数据包可以独立选择路由。
(2)动态路由:能够适应网络拓扑的变化,动态选择最佳路径。
(3)资源效率:只在有数据传输时占用网络资源。
(4)可扩展性:适合大规模网络,易于扩展。
(5)适应性:能够适应各种类型的网络服务和应用。
缺点:
(1)无序传输:数据包可能不按发送顺序到达,需要应用层处理。
(2)无流量控制:可能导致网络拥塞,需要应用层或传输层协议来控制。
(3)错误处理:错误检测和纠正通常由应用层或传输层协议处理。
(4)无带宽保证:不能保证数据传输的带宽,可能导致延迟和抖动。
总的来说,虚电路网络更适合需要可靠、有序传输的应用,而数据报网络则更适合需要灵活性和动态路由的应用。在实际应用中,根据具体需求选择合适的网络模型是非常重要的。虚电路网络如何建立虚电路?虚电路网络分组转发的依据是什么?
通信之前,双方需要先建立虚电路,通信结束后再拆除虚电路。虚电路是在源主机到目的主机的一条路径上建立的一条网络层逻辑连接,为区别于电路交换中的电路,称之为虚电路。电路交换网络在建立每条电路时,网络会为电路分配独享资源,沿某条电路传输的数据,只占用分配给该电路的资源。
虚电路网络设备根据分组所携带的VCID判断其所属的虚电路,从而决策如何转发分组。实现异构网络互连的主要方法有哪些?实现异构网络互连的典型网络设备是什么?
异构网络主要是指两个网络的通信技术和运行协议的不同。
实现异构网络互连的基本策略主要包括协议转换和构建虚拟互联网络。
(1)协议转换机制采用一类支持异构网络之间的协议转换的网络中间设备,实现异构网络之间数据分组的转换与转发。
(2)通过构建虚拟互联网络机制的异构网络互连是在现有异构网络基础上,构建一个同构的虚拟互联网络,异构网络均只需要封装、转发虚拟互联网络分组,同时引入虚拟互联网中间设备互连异构网络,实现在异构网络间转发统一的虚拟互联网的数据分组。
用来连接网络的设备多种多样,包括中继器、集线器、交换机、网桥、路由器和网关
等。路由器有哪些部分组成?各部分的主要功能是什么?
路由器可以分为输入端口、交换结构、输出端口与路由处理器。
(1)输入端口负责从物理接口接收信号,还原数据链路层帧,提取IP数据报(或其他网络层协议分组),根据IP数据报的目的IP地址检索路由表,决策需要将该债数据报交换到哪个输出端口。
(2)交换结构将输入端口的田数据报交换到指定的输出端口。
(3)输出端口首先提供一个缓存排队功能,排队交换到该端口的待发送分组,并从队列中不断取出分组以进行数据链路层数据帧的封装,通过物理线路端接发送出去。
(4)路由处理器就是路由器的CPU,负责执行路由器的各种指令,包括路由协议的运行、路由计算以及路由表的更新维护等。网络层出现拥塞的原因是什么?有哪些网络层拥塞控制策略?
在分组交换网中,由于众多用户随机地将信息送入网络,使网络中需要传输的信息总量经常大于其传输能力,以致某些网络结点(如路由器)因缓冲区已满,无法接收新到达的分组,此时就发生了拥塞现象。
四种原因:
(1)缓冲区容量有限。
(2)传输线路的带宽有限。
(3)网络结点的处理能力有限。
(4)网络中某些部分发生了故障。
措施:
(1)流量感知路由:【拥塞预防】链路费用(边的权值)根据网络负载动态调整,则可以将网络流量引导到不同的链路上,均衡网络负载,从而延缓或避免拥塞的发生。
(2)准入控制:【拥塞预防】如果新建立的虚电路会导致网络变得拥塞,那么网络拒绝建立该新虚电路。
(3)流量调节:【拥塞消除】通过调整发送方向网络发送数据的速率来消除拥塞。
(4)负载脱落:【拥塞消除】有选择地主动丢弃一些数据报,减轻网络负载,从而缓解或消除拥塞。一个新加入到网络中的主机需要发送DHCP请求来获取一个可用的IP地址,为什么DHCP请求要以广播的形式发送出去?当某台DHCP服务器接收到一台主机的DHCP请求时,会返回一个DHCP响应,为什么DHCP响应也要以广播的形式发送出去?
DHCP(动态主机配置协议)是一种网络协议,用于自动分配IP地址给网络中的主机。
DHCP请求以广播形式发送的原因:(1)未知的DHCP服务器地址;(2)可能存在多个DHCP服务器;(3)简化配置;(4)快速发现。
DHCP响应以广播形式发送的原因:(1)未知的客户端地址;(2)确保可达性;(3)避免地址冲突;(4)简化DHCP服务器逻辑。简述ICMP的主要功能。
ICMP互联网控制报文协议:主要目的是在主机或路由器间实现差错信息报告。
ICMP通过发送ICMP报文,实现差错报告或网络探询功能。因此ICMP报文分为差错报告报文和询问报文两大类。说明NAT的工作原理,如何实现NAT穿透?
NAT(网络地址转换)原理:对于从内网出去,进入公共互联网的密数据报,将其源IP地址替换为NAT服务器拥有的合法的公共I P地址,同时替换源端口号,并将替换关系记录到NAT转换表中;对于从公共互联网返回的我数据报,依据其目的IP地址与目的端口号检索NAT转换表,并利用检索到的内部私有IP地址与对应的端口号替换目的IP地址和目的端口号,然后将IP数据报转发到内部网络。
NAT穿透技术就是在外网主机主动与内网主机发起通信之前,先在NAT转换表中建立好内网到外网的映射,使内网运行的服务以NAT公网地址的“合法”身份“暴露”出去。IPv6提出的动机是什么?相比于加IPv4,IPv6的数据报格式有什么特点?
IPv4地址即将耗尽,NAT只能过渡缓解这个问题,所以提出了IPv6,在地址长度上进行了扩展。
(1)简化的报头结构:IPv6简化了报头结构,去除了IPv4中一些不常用的字段。
(2)更大的地址空间:IPv6使用128位地址,而IPv4使用32位地址,这意味着IPv6可以提供比IPv4更大的地址空间。
(3)固定长度的报头:IPv6基本首部长度为固定的40字节。
(4)分片与重组:IPv6规定分片与重组只能在源与目的地上执行,不允许在中间路由器进行,这大大加快了网络中的IP转发速率。
简述链路状态路由选择算法与距离向量路由选择算法的实现过程。
链路状态路由选择算法的实现过程:
(1)发现邻居:当一个路由器启动时,它首先发现邻居,并向邻居发送“hello”消息。
(2)计算链路状态:然后计算和邻居的距离,发送一个echo,要求马上返回,除以二就是距离。
(3)广播链路状态包:将自身和邻居之间的链路状态包广播出去,发送到整个网络的每个路由器。
(4)构建拓扑图:每个路由器都能在自己本地构建一个完整的图。
(5)计算最短路径:针对这个图使用Dijkstra算法,找到两点之间的最短路径。
距离向量路由选择算法的实现过程:
(1)初始化路由表:每个路由器初始化自己的路由表,将所有目标网络的最短距离设置为无穷大,除了直接相连的网络。
(2)路由信息交换:路由器定期向邻居路由器发送自己的路由表信息。
(3)更新路由表:每个路由器根据收到的邻居路由表信息,计算到达目标网络的最短距离,并更新自己的路由表。
(4)收敛:当所有路由器的路由表不再发生变化时,整个网络达到收敛状态。为什么距离向量路由选择算法可能产生无穷计数问题?请举例说明。可以采取哪些措施来避免这一问题?
当两个或多个路由器试图通过更新彼此的路由信息来找到到达某个目的地的最短路径时,它们可能会错误地不断增加到达该目的地的距离(或“跳数”),导致距离变得无限大。
措施:
(1)水平分割:它规定路由器不能将从某个接口学到的路由信息再通过同一个接口发送出去。
(2)毒性逆转:不仅阻止了路由信息的循环,还将该信息以无穷大的距离发送回相邻路由器,明确告知对方该路由不可达。
(3)触发更新:网络拓扑发生变化时,立即发送更新信息,而不是等待常规的更新周期。
(4)路由抑制:当检测到一个不可达的网络时,将其距离设置为无穷大,并通知所有相邻路由器。简述RIP、OSPF和BGP的异同。
RIP(路由信息协议)、OSPF(开放最短路径优先)和BGP(边界网关协议)是三种常见的路由协议,它们在网络中扮演着重要的角色,但各自有不同的特点和应用场景。
RIP是一种基于距离向量的路由协议,它通过跳数来衡量路径的优劣。
OSPF是一种基于链路状态的内部网关协议,专为自治系统(AS)内部设计。
BGP是一种外部网关协议,主要用于自治系统间的路由选择。
(1)RIP和OSPF主要用于单一自治系统内部的路由选择,而BGP用于不同自治系统间的路由发布与选择。
(2)RIP基于距离向量算法,OSPF基于链路状态算法,BGP基于路径向量算法。
(3)OSPF和BGP通常具有更快的收敛速度,而RIP的收敛速度较慢。
五、数据链路层
信道使用的协议
graph LR A[数据链路层的信道类型] --> B[点对点信道] A --> C[广播信道] C --> D[多路访问控制协议MAC] D --> E[信道划分MAC协议] D --> F[随机访问MAC协议] D --> G[受控接入MAC协议] E --> E0[多路复用技术] E0 --> E1[频分多路复用FDM] E0 --> E2[时分多路复用TDM] E0 --> E3[波分多路复用WDM] E0 --> E4[码分多路复用CDM] E2 --> E21[同步STDM] E2 --> E22[异步ATDM/统计STDM] E3 --> E31[密集波分复用技术DWDM] F --> F1[ALOHA协议] F --> F2[载波监听] F --> F3[带冲突检测的载波监听]
多路复用技术的目的是实现信道共享。
数据链路层协议能够向网络层提供哪些可能的服务?
(1)组帧:数据链路层一般会将要传输的数据封装成帧。
(2)链路接入:发送结点和接收结点独占通信链路,只要链路处于空闲状态,就可以随时使用链路发送和接收帧。
(3)可靠交付:可以在相邻结点间经数据链路实现数据报的可靠传输。
(4)差错控制:确保出现差错的帧不再被处理和继续传输。
(5)流量控制:两个相邻结点间帧的发送和接收处理速度,避免接收方被数据淹没。为什么有些网络用纠错码而不用检错和重传机制?请给出两个理由。
(1)不需要发送方重发数据:纠错码允许接收方利用数据中的冗余信息检测并纠正传输中发生的错误,不需要发送方重发数据,节省了网络资源和时间。
(2)提高数据传输效率:使用纠错码可以减少因为错误而导致的数据重传。差错编码的检错或纠错能力与什么有关?试举例说明。
(1)编码冗余度:指编码中用于错误检测和纠正的额外位数。冗余度越高,编码的检错和纠错能力通常越强。
(2)编码方法:不同的编码方法具有不同的检错和纠错能力。如:奇偶校验码,汉明码。
(3)错误模式:检错和纠错能力还取决于错误发生的模式。
(4)编码复杂度:编码的复杂度也会影响其检错和纠错能力。