计算机网络课后习题

文章目录


《计算机网络与下一代互联网》课后习题,个人练习
封面

第一章 计算机网络概论

1. 计算机网络的发展划分为几个阶段?每个阶段有何特点?

大致可以划分为四个阶段。

  1. 技术与理论的准备(50年代)
    (1)数据通信的研究与技术的日趋成熟;
    (2)主要是用于实现计算机之间的数据传输,通信主要依赖于专用线路和终端之间的直接连接;
    (3)提出分组交换的概念
  2. 形成(60年代)
    (1)ARPANET的成功运行证明了分组交换理论的正确性;
    (2)TCP/IP协议的广泛应用为更大规模的网络互联奠定基础
  3. 网络体系结构的研究(70年代中期)
    (1)OSI参考模型的研究;
    (2)TCP/IP协议经受了检验,成为业界标准
  4. 互联网应用、无线网络、网络安全、物联网(90年代)
    (1)三网融合:计算机网络与电信网络、有线电视网络;
    (2)引入了光纤通信和宽带接入技术,互联网迅速发展;
    (3)无线局域网和无线城域网进入应用阶段,实现移动办公、无线上网等功能;
    (4)网络安全技术研究进入高速发展阶段;
    (5)物联网(Internet of Things,IoT)的兴起,各种物理设备通过互联网连接在一起,实现智能化、自动化的应用。物联网连接了各种智能设备,如智能家居、智能城市、智能工厂等。

2. 举出对网络协议的分层处理方法的优缺点。

协议分层的根本目的是把复杂的通信问题按一定层次划分为许多相对独立的子功能,然后为每一个子功能设计一个单独的协议,使得每个协议的设计、分析、编码和测试变得简单易行。
优点
(1)模块化设计:减少网络设计的复杂性;
(2)提高可靠性:每个层次都有特定的功能和责任,当某一层的协议出现问题时只需关注该层的修复或替换,便于维护;
(3)促进互操作性:允许不同厂商开发符合同一层协议标准的实现;
(4)提高性能:可以针对每个层次进行针对性的优化;
缺点
(1)增加复杂性:每个层次都需要定义协议和接口,而且不同层之间的交互和协同工作需要一定的管理和协调;
(2)延迟和开销:数据在经过每一层时都需要进行协议的封装和解封装,这会引入一定的延迟和开销;
(3)层次间的依赖:上层协议通常依赖于下层协议的提供的服务。如果底层协议出现问题或需要改变,可能会对上层协议产生影响,需要进行相应的调整和适配。

3. 把TCP/IP和OSI的体系结构进行比较,讨论其异同之处。

虽然TCP/IP不是ISO倡导的标准,但它有广泛的商业应用,因此是事实上的标准。
由于TCP/IP协议栈中没有考虑具体的物理传输介质,所以没有对数据链路层和物理层做出规定,只是将最低的一层取名为网络接口层。
在一些问题的处理上,TCP/IP与OSI差异较大
(1) TCP/IP一开始考虑多种异构网的互联问题,但OSI最初只考虑到使用一种标准的公用数据网互联;
(2)TCP/IP一开始就对面向连接服务和无连接服务并重,而OSI在开始时只强调面向连接服务;
(3)TCP/IP有较好的网络管理功能
(4)TCP/IP的模型对“服务”,“协议”,“接口”等概念没有清晰区分。

4. 协议与服务有何区别?有何关系?

协议是在网络通信中规定数据交换方式和规则的一组规范。
(1)它定义了通信的格式、顺序、错误处理和其他相关细节。
(2)协议可以分为不同的层次,如TCP/IP协议栈中的物理层、数据链路层、网络层、传输层和应用层等。
(3)每个层次都有对应的协议,它们负责完成特定的功能,相互之间通过接口进行通信。

服务是指在计算机网络中提供给用户或应用程序的功能或资源
(1)服务是协议的一种应用,它是在协议的基础上实现的。
(2)协议定义了通信的规则和方式,而服务则提供了实际的功能,使用户能够完成特定的任务或获取特定的资源。
(3)例如,HTTP协议定义了在Web上进行数据传输的规则,而Web服务器提供了HTTP服务,使用户能够访问和浏览网页。

总结起来,协议是定义网络通信规则和方式的规范,而服务是在协议基础上提供实际功能和资源的应用。

5. 假设一个系统具有n层协议,其中应用进程生成长度为m字节的数据,在每层都加上长度为h字节的报头。计算为了传输报头所占用的网络带宽的百分比。

nh+m
m n h + m ∗ 100 % \frac{m}{nh+m}*100\% nh+mm100%

6. 在一个n层的层次型网络体系结构中,每层协议分别要求加上长为H字节的报头。如果某应用进程生成的数据长度为D字节,则在物理传输介质的带宽中有多大的比例是用来传输有效应用数据的?

D n H + D ∗ 100 % \frac{D}{nH+D}*100\% nH+DD100%

第二章 应用层协议与互联网应用技术

1. C/S模式和P2P模式的基本特征和应用前景

C/S模式基本特征:

  1. 客户端之间不能够直接通信
  2. 中心化控制:服务器扮演着中心化的角色,负责接收客户端的请求,并提供相应的服务和资源。
  3. 专业化分工:服务器端通常具备更高的计算能力、存储资源和网络带宽,负责处理复杂的业务逻辑和数据存储,而客户端主要负责展示和处理用户界面。

C/S模式的应用前景:

  1. 适用于复杂业务场景:C/S模式适用于需要集中管理和控制的复杂业务场景,例如企业内部的管理系统、电子商务平台、在线游戏等。
  2. 安全性和稳定性要求高:通过服务器进行数据存储和处理可以提高数据的安全性和稳定性,同时方便进行权限管理和备份。

P2P模式的基本特征:

  1. 对等连接:P2P模式是指网络中的设备可以直接互相连接,每个设备既可以充当客户端,又可以充当服务器。
  2. 分布式资源共享:P2P模式中,每个节点都可以共享自己的资源(计算能力、存储空间、带宽等),同时也可以获取其他节点的资源。
  3. 自组织和去中心化:P2P网络是自组织的,没有中央服务器进行集中管理,节点之间可以相互协作和协调。

P2P模式的应用前景:

  1. 文件共享和分发:P2P模式广泛应用于文件共享和分发领域,例如BitTorrent协议就是基于P2P模式的文件共享协议。
  2. 实时通信和协作:P2P模式可用于实现实时通信和协作应用,如即时通信、语音视频通话、在线会议等。
  3. 去中心化应用:P2P模式有助于实现去中心化应用,例如区块链技术中的分布式账本和去中心化应用平台。

2. 在使用FTP服务下载文件或上传文件时,可能会发现文件的传输速率会有较大的变化,比如说最初的传输速率可能高达几十个kbps,最后的传输速率只有几个bps,这是为什么?

FTP的工作模式采用典型的C/S模式,传输层选择TCP协议。
有几个可能的原因可以解释这种现象:

  1. 网络拥塞:当网络中的数据流量过大或网络带宽有限时,可能会导致网络拥塞。在网络拥塞情况下,数据包的传输会变得缓慢,从而导致传输速率下降。
  2. 服务器资源限制:FTP服务器可能会限制每个用户的带宽或连接数,以确保服务器的稳定性和公平共享。当同时有许多用户在进行文件传输时,服务器可能会限制每个用户的传输速率,导致传输速率下降。
  3. 客户端或服务器性能问题:传输速率也可能受到客户端或服务器的性能限制。如果客户端或服务器的处理能力有限,可能会导致传输速率的下降。

3. 假设一个用户正在通过http下载一个没有内嵌对象的网页,TCP协议的慢启动窗口门限值为30个分组大小,该网页长度为14个分组大小,用户主机到WWW服务器的RTT(往返时延)为1s,不考虑额外开销(DNS、分组丢失、报文段处理),用户下载网页大概多久?

5个RTT。
(1)第一个RTT,用户发送SYN,服务器回复SYN+ACK到用户,两次握手;
(2)第二个RTT,用户发送ACK,第三次握手完成,同时发送一个报文段请求,并收到一个确认包, cwnd从1增加到2;
(3)第三个RTT,用户发送两个报文段请求,并收到两个确认包,cwnd从2增加到4;
(4)第四个RTT,用户发送四个报文段请求,并收到四个确认包,cwnd从4增加到8;
(5)第五个RTT,用户发送七个报文段请求,并受到七个确认包,至此14个分组全部接收。cwnd从8增加到15;
综上,用户下载网页大概需要5s。

4. 有www.center.edu.cn的www服务器,ip地址为213.67.145.89, HTTP服务器进程在默认端口守候,如果某个用户直接用服务器名称查看该WWW服务器的主页,那么客户端的WWW浏览器需要经过哪些步骤才能将主页显示在客户端的屏幕上?

  1. 解析:www.center.edu.cn → 213.67.145.89
  2. 连接:浏览器与服务器建立TCP连接
  3. 请求:浏览器向服务器发送请求网页的http请求
  4. 返回:服务器将请求的web页面的信息发送到浏览器
  5. 渲染:浏览器解释网站信息并且输出到屏幕上

5. 有台主机,IP地址202.113.27.33/27, 默认路由器配置202.113.27.33,DNS服务器配置202.113.16.10. 现主机需要解析www.sina.com.cn, 逐步写出域名解析过程。

  1. 主机构造一个域名请求报文,报文的目的地址是DNS服务器202.113.16.10。
  2. 默认路由器收到封装有该报文的IP分组后,根据路由表信息将该分组转发出去,到达DNS 服务器202.113.16.10。
  3. DNS 服务器收到报文后,查询所管辖的域名信息,如果存在域名www.sina.com.cn对应的IP地址,则把IP地址以报文的形式发送给主机202.113.27.60。该响应报文最后将经过路由器202.113.27.33转发给主机202.113.27.60。本次域名解析结束。
  4. 如果不存在域名www.sina.com.cn,则将报文转发给com.cn根域名服务器,递归查找,把最终结果经过路由器转发给主机。

6. 单击超链接,网页的URL对应的IP地址没有被缓存,通过DNS来获取IP地址。假设采用n个DNS服务器,假设网页大小为500字节,当前主机和WWW服务器的往返时延为RTT0.则从单击超链接到接收到该网页的时间最长为多少?

  1. 域名解析最长需要时间RTT1+…+RTTn
  2. 获取到IP地址之后,建立TCP连接需要1.5RTT0
  3. 500字节无需分片处理,在第三次握手时发送500字节的数据报请求。再等待0.5RTT0,WWW服务器返回500字节的网页信息。

综上,最长时间为2RTT0+RTT1+RTT2+…+RTTn

7. 电子邮件最主要的组成部件是什么?UA和MTA的作用是什么?能否不使用它们?

  1. 用户接口和邮件传输程序
  2. 用户接口又称为用户代理(UA),使得用户能够通过一个很友好的接口(窗口界面)来发送和接收邮件。功能至少包含撰写、显示、处理。
  3. 邮件传输程序又称为报文传送代理(MTA),负责把邮件发送给接收方,从网络接收邮件。
  4. UA的任务是创建和显示报文,并在UA和本地MTA之间传送报文。多个MTA构成MTS,任务是在MTA与MTA之间传送报文。
  5. 不可以,在传统的电子邮件系统中,UA和MTA是不可或缺的组件,尽管在理论上可以设计一种不依赖UA和MTA的电子邮件系统,但实际上,这种方案面临着许多技术和功能上的挑战,同时也会受到与现有系统的兼容性和互操作性方面的限制。

8. 简述SMTP通信的三个阶段的过程,POP3的工作过程。IMAP和POP3有何区别?

SMTP通信的三个阶段

  1. 连接建立阶段:SMTP客户端使用25号端口和SMTP服务器之间建立TCP连接,①服务器返回220提示服务就绪,②客户端使用HELO命令请求建立会话,③服务端返回250表示会话成功建立;
  2. 报文传送:SMTP客户端发送邮件的源地址、目的地址、主题、正文等信息,使用MAIL FROMRCPT TODATA等命令。SMTP服务器对每个命令回复一个状态码,表示是否接受或拒绝邮件。
  3. 连接终止: SMTP客户端发送QUIT命令,表示邮件传输结束,请求断开连接。SMTP服务器回复221,表示同意断开连接。

IMAP和POP3的区别
在邮件交付的第三阶段,不采用SMTP协议,而是采用邮件读取协议。邮件读取协议主要有POP3协议和IMAP4协议.

  1. POP3协议允许客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上。而IMAP提供webmail与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。
  2. IMAP提供的摘要浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。
  3. IMAP更好地支持了从多个不同设备中随时访问新邮件。
  4. POP3更易丢失邮件或多次下载相同的邮件,但IMAP通过邮件客户端与webmail之间的双向同步功能很好地避免了这些问题。

9. SNMP使用UDP传送报文,为什么不使用TCP?管理信息库MIB和管理信息结构SMI的作用是什么?

SNMP协议的交互过程简单,只规定了5种信息对网络进行管理,使用UDP传送报文可以简化和降低通信代价。
不使用TCP的原因

  1. 轻量和高效:SNMP的请求和响应通常很小,传输的数据量相对较小。UDP是一种无状态的协议,没有TCP中的连接状态和序号等管理机制,因此在传输开销和协议头部开销上更加轻量级和高效。
  2. 连接开销:TCP三次握手过程,增加了额外的开销和延迟。对于SNMP这样的简单请求-应答协议,没有必要建立持久的连接。
  3. 实时性:SNMP通常用于网络设备的管理和监控,需要实时地收集和传输设备的状态信息。UDP是一种无连接的协议,没有TCP中的流量控制和拥塞控制机制,因此具有更低的延迟和更高的实时性。
  4. 简单性:SNMP的设计目标之一是简单性,以便于实现和部署。使用UDP作为传输协议可以减少协议的复杂性,简化实现和维护过程。

第三章 传输层协议与进程通信

1. 在某个网络中,TPDU的长度最大值为128字节,最长生存时间为30s,序列号为8位。那么,每条TCP连接所能达到的最大数据传输速率为多少?

TPDU,传输协议数据单元。
序列号用于确认已接收的数据,并对乱序的数据进行重组。
考点:报文流序号回绕

  1. 序列号范围为0~255,给每个TPDU进行编号,结合TTL可知,30s内最多出现256个TPDU
  2. 每个TPDU的长度取最大值,128字节。
    结果: 256 × 128 × 8 b i t 30 s = 8.738 k b p s \frac{256\times128\times8bit}{30s}=8.738kbps 30s256×128×8bit=8.738kbps

2. 如果TCP使用2次握手替代3次握手来建立连接,那么是否可能产生死锁?

不可能产生死锁
但存在浪费资源的可能

  1. 如果客户端发送的连接请求报文段由于网络原因延迟到达服务器,而客户端又放弃了连接,那么服务器收到延迟的报文段后会认为连接已经建立,并分配资源等待客户端的数据,但客户端已经不再发送数据了,导致服务器的资源被浪费。
  2. 如果服务器发送的确认报文段由于网络原因延迟或丢失,那么客户端会重发连接请求报文段,而服务器收到重发的报文段后会认为是一个新的连接请求,并分配新的资源,但实际上这是同一个连接请求,导致服务器的资源被重复分配。
  3. 如果客户端可以篡改IP包里的源IP,那么可以伪造多个连接请求报文段,向服务器发送大量的连接请求,导致服务器的资源被耗尽,造成拒绝服务攻击。

3. 为什么TCP和UDP传输报文时使用端口号来标识目的实体呢?

端口号属于传输层的一部分,是一个16位的二进制数,范围从0到65535。端口号是网络通信中的标准化方式,在TCP/IP协议族中被广泛采用和支持。操作系统和网络设备都已经针对端口号的使用进行了相应的实现和优化,以支持基于端口号的应用层协议。
为什么不使用进程号标识目的实体?
①进程PID属于操作系统范畴,若使用进程ID标识则传输层不独立于操作系统,产生依赖性。
②进程号的动态性和变化性:进程号在进程创建和销毁的过程中可能会发生变化。如果使用进程号来标识目的实体,那么在进程重新启动或进程号变化的情况下,通信的双方需要重新协商和更新相关信息,这会增加复杂性和维护成本。
③多进程通信的复杂性:在一个计算机系统中,可能会有多个进程需要进行网络通信。使用进程号来标识目的实体可能会导致混乱和冲突,需要复杂的管理和调度机制来确保正确的通信目标。
④跨网络通信的限制:在分布式环境中,通信可能涉及多个计算机和网络。不同计算机和操作系统之间的进程号分配和管理方式可能存在差异,使用进程号来标识目的实体可能会面临跨平台和跨网络的限制和不一致性。

使用端口号的好处是可以在网络通信中实现多路复用和多路分解

4. 地址IP1的主机1上的一个进程被分配端口p,地址IP2的主机2上的一个进程被分配端口q,那么这两个端口之间是否可以同时建立两条或者多条TCP连接?

这两个端口之间可以同时建立两条TCP连接,但不能建立两条以上的TCP连接。
1.由于题目没有确定客户端和服务端的身份,所以可以同时建立两条TCP连接
①一个由IP1:p作为客户端和IP2:q作为服务器
②另一个由IP2:q作为客户端和IP1:p作为服务器。
2. 这两条TCP连接是相互独立的,它们之间的数据传输和状态管理是分开的。

如果客户端和服务器的身份固定,则这两台主机只能建立一个TCP连接。

5. 在一个1Gbps的TCP连接上,发送窗口的大小为65535字节,发送方和接收方的单程延迟时间为10ms。最大吞吐量是多少?线路效率是多少?

最大吞吐量取决于两个因素:发送窗口大小和往返时间(RTT)

  1. 计算计算发送方在一个往返时间(RTT)内发送的数据量。RTT为20ms,在一个RTT内,发送方可以发送的数据量为发送窗口大小,也就是65535 × 8bit=524,280bit。那么吞吐量是 524280 b i t 20 m s = 26.214 M b p s \frac{524280bit}{20ms}= 26.214Mbps 20ms524280bit=26.214Mbps
  2. 线路效率是指实际有效传输数据与总可用带宽之间的比例。可以通过最大吞吐量除以总可用带宽来计算。
    信道利用率= 26.214 M b p s 1000 M b p s = 2.6214 % \frac{26.214Mbps}{1000Mbps}=2.6214\% 1000Mbps26.214Mbps=2.6214%

6. 设计一个滑动窗口协议,运行在一个100Mbps网络上,线路的RTT为100ms,报文段最大生存时间为60s,设计的窗口字段和序号字段最少有几位?

窗口大小 = 延迟 × 带宽 = 100 m s × 100 M b p s = 10 M b = 1.25 M B , ( 2 20 < 1.25 M < 2 21 , 窗口字段取 21 位 ) 序号空间大小 = 生存期 × 带宽 = 60 s × 100 M b p s = 6000 M b = 750 M B , ( 2 29 < 750 M < 2 30 , 序号字段取 30 位 ) \begin{aligned} 窗口大小&=延迟\times带宽\\ &=100ms\times100Mbps\\ &=10Mb=1.25MB,\\&(2^{20}<1.25M<2^{21},窗口字段取21位)\\ 序号空间大小&=生存期\times带宽\\ &=60s\times100Mbps\\&=6000Mb=750MB,\\&(2^{29}<750M<2^{30},序号字段取30位) \end{aligned} 窗口大小序号空间大小=延迟×带宽=100ms×100Mbps=10Mb=1.25MB(220<1.25M<221,窗口字段取21)=生存期×带宽=60s×100Mbps=6000Mb=750MB,(229<750M<230,序号字段取30)

7. 设TCP使用的最大窗口为64KB,传输信道的带宽不受限制。若报文段的平均RTT为20ms,最大吞吐量有多少?

最大吞吐量 = 窗口大小 / 平均 R T T = ( 64 × 1024 B ) / 20 m s = 3276.8 K B p s = 26.2144 M b p s \begin{aligned} 最大吞吐量 &= 窗口大小 / 平均RTT\\&= (64 × 1024B) / 20ms\\&= 3276.8 KBps\\&= 26.2144 Mbps \end{aligned} 最大吞吐量=窗口大小/平均RTT=(64×1024B)/20ms=3276.8KBps=26.2144Mbps

8. 在传输层使用UDP,在网络层封装成IP数据报,能否跳过UDP直接交给网络层?

如果传输层只是靠IP地址寻址是不够的,IP地址只能区分网络中的主机,只有加入了UDP才能进一步区分端口地址。
不同的网络协议在各自的层级上负责不同的功能,UDP协议负责传输层的功能,IP协议负责网络层的功能

9. 在传输层使用UDP,在IP层将数据报划分为4个数据报段,最后前两个数据报段丢失,过了一段时间重发UDP,这一次后两个数据报段丢失,试问能否组装前后两次的报文段?

不能。

  1. UDP本身并不提供报文段的可靠性和重传机制。
  2. UDP协议对于丢失的报文段没有感知,也不会主动触发重发操作。
  3. 在网络层的IP协议中,丢失的数据报段通常不会被重新组装。IP协议是无连接的,每个数据报段都是独立的。如果有数据报段丢失,IP协议无法识别或重新组装丢失的数据报段。

10. 使用TCP处理实时语音业务有没有问题?使用UDP传送文件有没有问题?

TCP处理实时业务

  1. 拥塞控制和流量控制等机制:带来延迟
  2. 丢包重传:可能导致进一步的延迟和抖动,影响语音质量。
  3. 拥塞控制机制:当网络出现拥塞时,TCP会减少发送速率。这可能导致实时语音业务无法充分利用可用带宽,限制了语音质量和实时性。

UDP传送文件

  1. 不可靠:UDP协议不提供可靠的数据传输,数据包丢失或乱序的风险较高。对于文件传输,这可能导致文件损坏或丢失。
  2. UDP协议没有自动的丢包重传机制,如果发生丢包,需要应用层进行相应的处理和恢复。

11. TCP在进行流量控制时以分组的丢失作为产生阻塞的标志。当网络不存在阻塞时,有没有可能出现分组丢失的情况?

有的。

  1. 因为网络中存在各种不可预测的因素,比如信号干扰、硬件故障、软件错误等,都可能导致分组在传输过程中被破坏或丢弃。
  2. 这些情况下,分组的丢失并不代表网络拥塞,而是一些偶然的事件。
  3. 但是,TCP无法区分分组丢失的真正原因,所以它只能假设分组丢失是由于网络拥塞造成的,并采取相应的措施。
  4. 这可能会导致TCP过于保守地降低发送速率,从而浪费了一些可用的网络资源。这是TCP流量控制机制的一个局限性。

第四章 网络层与IP协议

1. IP数据报中的首部检验和并不检验数据报中的数据。这样做的最大好处是什么?坏处是什么?

最大好处是快速和简化

  • 快速计算:首部检验和是通过对IP首部中的字段进行简单的位运算得到的,计算快,不涉及数据报中的数据部分,可以节省计算资源,特别是对于大型数据报而言。
  • 错误检测:首部检验和可以检测到IP首部在传输过程中的错误或损坏。如果首部检验和验证失败,接收方可以丢弃该数据报,以避免使用错误或损坏的首部信息。

IP分组头每经过一个路由器都要改变一次,但数据部分并不改变,因此只对变化部分进行校验是合理的。

坏处是不能保证数据的完整性或正确性

  • 无法检测和纠正在数据传输过程中可能发生的数据错误或丢失。增大高层数据传输的不可靠性,增加高层协议的负担。

2. 当某个路由器发现一数据报的检验和有差错时,为什么采取丢弃的办法而不是要求源站重新发送?计算首部检验和为什么不采用CRC检验码?

为什么丢弃

  1. 数据报的可靠性问题:IP协议本身是无连接的,不提供数据报的可靠性保证,无法保证数据内的源站地址正确。
  2. 选择丢弃错误的数据报可以更快地处理后续的数据报,从而减少网络传输延迟;可以释放路由器的资源,使其能够更有效地处理其他数据报。

为什么不用CRC

  1. CRC检验码使用的是多项式除法,复杂度相对较高,需要更多的计算资源和时间。
  2. CRC算法可以提供更强大的错误检测能力,可以检测更多类型的错误。然而,对于IP协议而言,首部检验和的目的是基本的完整性验证,而不需要提供强大的错误检测能力。
  3. 在IP协议中,首部检验和的目标是快速验证IP首部的完整性,并帮助路由器快速处理数据报,因此采用了简单的位运算方法,以降低计算开销。

3. 分段传送的数据报在最后目的主机进行组装。另一种做法是每通过一个网络就进行一次组装,比较这两种方法的优劣。

端到端组装的优点

  1. 减少网络节点的负担:组装过程集中在目的主机上,减轻了中间节点的工作量和延迟。
  2. 错误处理:端到端组装使得错误处理更加简单。如果在网络中的某个节点上发生分段丢失或损坏,只需要重传相应的分段即可,而不需要重传整个数据报。这可以减少数据报传输的开销。

逐段组装的优点

  1. 提前处理错误:在每个网络节点上可以及时检测和处理分段的错误。如果某个分段出现错误,可以立即通知源主机进行重传或其他处理,避免将错误的分段传输到最终目的主机
  2. 减少重传范围:如果发生分段丢失或损坏,逐段组装可以使得只需要重传丢失或损坏的分段,而不需要重新传输整个数据报。这可以减少传输的开销和延迟。

端到端组装更为常见和有效,因为它可以减轻中间节点的负担,并简化错误处理。逐段组装可能在特定的网络环境或特殊需求下使用,例如对实时数据传输要求较高或网络延迟较高的情况下,以提前处理错误和减少重传范围。

4. 公司要创建内部网络,有四个部门,每个部门有30台计算机。公司使用一个C类地址192.168.161.0, 如何划分子网?

给定子网掩码255.255.255.192

  • 子网1(00):网络地址:192.168.161.0
    可用主机范围:192.168.161.1 - 192.168.161.62
    广播地址:192.168.161.63
  • 子网2(01):网络地址:192.168.161.64
    可用主机范围:192.168.161.65 - 192.168.161.126
    广播地址:192.168.161.127
  • 子网3(10):网络地址:192.168.161.128
    可用主机范围:192.168.161.129 - 192.168.161.190
    广播地址:192.168.161.191
  • 子网4(11):网络地址:192.168.161.192
    可用主机范围:192.168.161.193 - 192.168.161.254
    广播地址:192.168.161.255

5. 主机A的IP地址是208.17.16.165/27,主机B的IP地址是208.17.16.185/27,默认网关是208.17.16.160,主机A和B能否直接通信?默认网关有没有问题?

主机A的网络地址是208.17.16.160
主机B的网络地址是208.17.16.160
一致的,可以直接通信。

  • 网络地址不是一个有效主机地址,不可以设置为默认网关地址。
  • 默认网关地址应该是网络中的一个有效主机地址,以便主机能够将数据包发送到该地址,由默认网关进行转发。

6. 主机A和IP地址192.168.1.250的主机B通信,A如何得到主机B的MAC地址。涉及哪些协议?

  1. 主机A根据主机B的IP地址在自己的ARP高速缓存表查找与之对应的MAC地址。如果找到即结束,否则:
  2. 广播方式发送一个ARP请求分组,分组中包含主机A的IP地址、MAC地址以及主机B的主机地址。
  3. 直到主机B接收到ARP请求分组,完成地址解析,发送ARP应答分组,分组包含了主机B的MAC地址。
  4. 主机A收到来自主机B的ARP应答分组,提取主机B的IP地址和MAC地址加入到ARP高速缓存表中
  5. 然后将具有完整的源IP地址、目的IP地址、目的MAC地址和数据作为一个发送分组,传送给数据链路层并封装成帧。

7.一个有50个路由器的网络,采用基于距离矢量的路由选择算法。路由表的每个表项长度为6个字节,每个路由器都有3个邻接路由器,每秒与每个邻接路由器交换一次路由表,则每条链路上由于路由器更新路由信息而耗费的带宽为多少?

  1. 在该网络上共有50个路由器,所以每个路由器的路由表有50个表项
  2. 每个路由器的路由表的大小为50×6B=300B=2400bit
  3. 每个路由器每秒与自己的每个邻接路由器交换1次路由表,一条链路连接两个路由器,每秒在一条链路上交换的数据为2×2400bit=4800bit

综上,每条链路由于更新路由信息而耗费的带宽为4800bps。

8. 假设有一个IP数据报,头部长度为20字节,数据部分长度为2000字节。现该分组从源主机到目的主机需要经过两个网络。这两个网络所允许的最大传输单位MTU为1500字节和576字节。请问该数据报如何分片?

经过第一个网络,分为2个分片,分片1携带1480B的数据,而分片2携带520B的数据。
经过第二个网络,分为4个分片,分片1、分片2、分片3携带556B的数据,而分片4携带332B的数据

9. 假设主机A要向B传输一个长度为512KB的报文,数据传输速率为50Mbps,途中需要经过6个路由器,每条链路长度为1000km。信号在链路中的传播速率为2000km/s,并且链路是可靠的。假定对于报文与分组,每个路由器的排队延迟时间为1ms,数据传输速率为50Mbps,那么在下列情况下,该报文需要多长时间才能到达主机B?

采用报文交换方式,报文头部为32字节

  1. 整个报文长为(32+512×1024)×8=4194560bit。
  2. 数据传输速率已知,则传输时延=4194560b/50Mbps≈84(ms),系数为6个路由器加一台主机,即7.
  3. 路由器的排队时延为1ms, 系数为路由器台数,即6
  4. 一条链路的传播时延为 1000 k m 2000 k m / s = 500 m s \frac{1000km}{2000km/s}=500ms 2000km/s1000km=500ms,系数为5.因为途中需要经过6个路由器,即需要经过5条链路

总时间 = 7 × 传输时延 + 6 × 排队时延 + 5 × 传播时延 = 7 × 84 m s + 6 m s + 2500 m s = 588 m s + 2506 m s = 3094 m s \begin{aligned}总时间&=7\times传输时延+6\times排队时延+5\times传播时延\\&=7\times84ms+6ms+2500ms\\&=588ms+2506ms=3094ms\end{aligned} 总时间=7×传输时延+6×排队时延+5×传播时延=7×84ms+6ms+2500ms=588ms+2506ms=3094ms

采用分组交换方式,每个分组携带的数据为2KB,头部长为32字节

  1. 一个分组的长度为(32+2048)×8=16640bit
  2. 一个分组的传输时延=16640b/50Mbps=0.3328ms
  3. 每个分组经过路由器的排队时延为1ms,在每条链路上的传播时延为500ms
  4. 总时间=A发送N-1个分组的传输时延+最后一个分组从A到B的时间。
    总时间 = 255 × 传输时延 + [ 7 × 传输时延 + 6 × 排队时延 + 5 × 传播时延 ] = 255 × 0.33 m s + [ 7 × 0.33 m s + 6 m s + 2500 m s ] = 84 m s + 2508 m s = 2592 m s \begin{aligned} 总时间&=255\times传输时延+[7\times传输时延+6\times排队时延+5\times传播时延 ]\\&=255\times0.33ms+[7\times0.33ms+6ms+2500ms]\\&=84ms+2508ms=2592ms\end{aligned} 总时间=255×传输时延+[7×传输时延+6×排队时延+5×传播时延]=255×0.33ms+[7×0.33ms+6ms+2500ms]=84ms+2508ms=2592ms

第五章 数据链路层协议与局域网交换技术

1. IEEE 802局域网参考模型与OSI参考模型有何异同之处?

相同之处

  1. 分层结构:两个模型都采用了分层结构的设计,将复杂的网络功能划分为不同的层次,以简化网络设计和实现。
  2. 协议栈:两个模型都使用了协议栈的概念,每个层次都有相应的协议集合来实现特定的功能。
  3. 通信流程:两个模型都遵循自底向上的通信流程,数据从较低层次经过各个层次逐层封装和处理,最终到达目标设备。

不同之处

  1. OSI参考模型定义了7个层次,IEEE 802标准定义了3个层次
  2. IEEE 802标准将数据链路层划分为LLC和MAC子层,不同的局域网在MAC子层和物理层可以采用不同的协议,但在LLC子层必须采用相同的协议。这一点与网络层IP协议的设计思路相类似。
  3. IEEE 802局域网参考模型主要用于局域网技术的标准化,特别是以太网和无线局域网等。它的重点是在数据链路层和物理层上提供可靠的局域网通信。而OSI参考模型则是一个更通用的网络参考模型,适用于各种类型的计算机网络。
  4. 标准化组织:IEEE 802局域网参考模型是由IEEE(电气和电子工程师协会)制定和管理的。而OSI参考模型是由国际标准化组织(ISO)制定的国际标准。

2. 逻辑链路与物理链路有何区别?“电路接通了”与“数据链路”接通了有何区别?

  1. 物理链路是一条点到点的物理线路,中间没有任何其他交换结点。
  2. 逻辑链路往往是由多条物理链路串接而成的。逻辑链路是物理链路加上必要的通信规程。
  3. "电路接通了"通常指的是电信领域中基于电路交换技术的通信连接建立,而"数据链路接通了"指的是在计算机网络中数据链路层上的物理链路已经建立,可以进行数据传输。

3. 数据链路层中的链路控制包括哪些功能?

  1. 链路管理:建立和释放链路、链路状态检测、链路配置和链路监控等功能
  2. 帧同步:接收方能够准确地识别每个帧的边界,从而正确解析接收到的数据帧。
  3. 流量控制:确保发送方和接收方之间的数据传输速率匹配
  4. 差错控制:检测和纠正数据链路层传输中可能引入的错误
  5. 透明传输:可以在不同网络设备之间进行无缝的数据传输,而无需考虑特定设备或协议的细节
  6. 寻址:确定数据帧的目标,并将数据准确地传输到目标节点或设备

4. 信道速率为4Kbps。采用停止等待协议,传播时延tp=20ms,确认帧长度和处理时间均可忽略。帧长为多少才能使得信道利用率达到至少50%?

题目提及至少, 所以计算对象是单帧。在理想情况下,单帧停止等待协议的帧传输效率为 U = t f t f + 2 t p U=\frac{t_f}{t_f+2t_p} U=tf+2tptf

  • 假定信道传输无差错,信道利用率为50% 。 相当于 t f = 2 t p t_f=2t_p tf=2tp
  • C = 4 K b p s C=4Kbps C=4Kbps为信道速率,L为帧长, t p = 20 m s t_p=20ms tp=20ms为单程传播时延
    发送延时,表示发送数据所需的时间。计算公式为 t f = L C , 发送延时,表示发送数据所需的时间。计算公式为t_f=\frac{L}{C}, 发送延时,表示发送数据所需的时间。计算公式为tf=CL
    方程为 L C = 2 t p , L = C × 2 t p = 4 K b p s × 40 m s = 160 b i t 方程为\frac{L}{C}=2t_p,L=C\times 2t_p=4Kbps\times40ms=160bit 方程为CL=2tpL=C×2tp=4Kbps×40ms=160bit
    所以帧长为160bit才能使得信道利用率达到至少50%。

5. 长度为1km,数据传输率为10Mbps的以太网,点信号在网上的传输速度是200m/μs,数据帧的长度为256bit,包括32bit帧头、检验和和其他开销。数据帧发送成功后的第一个时间片保留给接收方用于发送一个32比特的应答帧。假设网络负载非常轻(没有冲突),该网络的有效数据传输率是多少?

考虑到第一个时间片保留给接收方发送一个32比特的应答帧,我们需要将这个时间段加入计算。这意味着发送方需要等待j接收到应答帧之后才能继续发送下一个数据帧。

1.总时间= 256 b i t 10 M b p s + 32 b i t 10 M b p s + 2 × 1 k m 200 m / μ s = 38.8 μ s \frac{256bit}{10Mbps}+\frac{32bit}{10Mbps}+2\times \frac{1km}{200m/μs}=38.8μs 10Mbps256bit+10Mbps32bit+2×200m/μs1km=38.8μs
2.有效数据是224bit
则该以太网的有效数据传输率为 224 b i t s 38.8 μ s ≈ 5.77 M b p s \frac{224bits}{38.8μs}≈5.77Mbps 38.8μs224bits5.77Mbps

6. 交换式集线器有何特点?用它怎样组成局域网?

特点:

  • 多端口:交换式集线器通常具有多个端口,可以连接多台计算机或其他网络设备。
  • 数据转发:交换式集线器能够根据目标MAC地址将数据帧从一个端口转发到另一个端口,实现点对点的数据传输。它会维护一个转发表,记录目标MAC地址和相应的端口关联。
  • 内部交换矩阵:交换式集线器内部有一个交换矩阵,用于实现数据的转发和交换。它能够同时处理多个端口的数据,并根据目标MAC地址将数据转发到正确的目的地。
  • 单播和广播:交换式集线器可以根据目标MAC地址进行单播转发,将数据帧仅转发到目标设备。同时,它也支持广播传输,将数据帧转发到所有连接的端口上的设备。
  • 自动学习:交换式集线器具有自动学习功能,可以在数据传输过程中学习每个端口上的设备的MAC地址,并将其记录在转发表中,以便实现有效的数据转发。

交换式集线器存在的问题主要有:

  • 目前还没有制定一个统一的管理交换式集线器的标准。网络管理员必须使用多个管理控制台才能监控不同厂商生产的交换式集线器。
  • 绝大多数交换式集线器在分析交换流量方面都很欠缺。网络管理员需要为每个端口配备测试工具。

用交换式集线器构成虚拟局域网的方法

  1. 将多台计算机或其他网络设备连接到交换式集线器的各个端口上。当其中一台设备向另一台设备发送数据时,交换式集线器会根据目标MAC地址将数据帧转发到正确的端口,确保数据能够准确地传输到目标设备。通过这种方式,所有连接到交换式集线器上的设备都可以进行点对点的数据通信,形成一个局域网。
  2. 交换式集线器的使用可以提供更高的带宽利用率和数据传输效率,相比于传统的集线器(Hub)能够提供更好的网络性能和灵活性。

7. 网桥的工作原理和特点是什么,网桥和集线器有何异同?

  • 网桥是在数据链路层上实现网络互连的设备。作用是数据接收地址过滤数据转发

工作原理

  1. 学习:网桥通过监听网络上的数据帧来学习设备的MAC地址和相应的端口关联关系。它会建立一个转发表,记录着每个设备的MAC地址和所在的端口。
  2. 过滤和转发:当网桥接收到一个数据帧时,它会检查数据帧的目标MAC地址。如果目标地址在转发表中,网桥会根据转发表中的信息将数据帧转发到相应的端口,以实现点对点的数据传输。如果目标地址不在转发表中,网桥会将数据帧广播到所有的端口,以确保数据能够传输到目标设备。
  3. 透明性:网桥在传输数据时是透明的,它不修改数据帧的内容,只负责根据目标MAC地址进行数据转发。

特点

  1. 分割冲突域:网桥可以将局域网分割成多个冲突域。冲突域是指具有相同物理介质的设备之间可能发生冲突的范围。通过分割冲突域,网桥能够减少冲突的发生,提高网络的性能和可靠性。
  2. 过滤广播流量:网桥可以根据目标MAC地址来过滤广播流量,只将数据帧转发到目标设备,而不会广播到整个网络。这减少了网络上的广播流量,提高了网络的效率。
  3. 自学习和动态适应:网桥具有自学习的功能,可以根据网络上的数据流量和设备的连接情况来动态地更新转发表。这使得网桥可以适应网络拓扑的变化和设备的增减。

与集线器的比较

  1. 工作层次:集线器工作在物理层,主要是简单地将收到的数据帧广播到所有连接的端口上。而网桥工作在数据链路层,具有更高级的功能,能够根据MAC地址进行数据转发和过滤。
  2. 数据转发方式:集线器进行广播转发,将数据帧复制到所有端口,无法分割冲突域。而网桥根据目标MAC地址进行有选择性地转发,可以分割冲突域和减少广播流量。
  3. 网络性能:由于网桥能够分割冲突域和减少广播流量,它比集线器具有更好的网络性能和可靠性。
  4. 学习功能:网桥具有自学习功能,可以根据网络上的数据流量动态地学习和更新转发表。而集线器没有学习功能,无法记忆设备的MAC地址和端口关联。

8. 在广播式网络中,当多个结点试图同时访问通信信道时,信道将会产生冲突,这会造成信道容量的浪费。作为一个简单的例子,假设可以把时间分割成时间片,n个结点中每个结点在每个时间片试图使用信道的概率为p。试计算由于冲突而被浪费的时间片的百分比。

  • P(冲突发生) = P(至少两个节点同时试图使用信道)== 1 - P(没有节点或只有一个节点试图使用信道)
  1. P(只有一个节点)= n p ( 1 − p ) n − 1 np(1-p)^{n-1} np(1p)n1
  2. P(没有节点使用信道)= ( 1 − p ) n (1-p)^n (1p)n
  3. P(冲突发生)= 1 − n p ( 1 − p ) n − 1 − ( 1 − p ) n 1-np(1-p)^{n-1}-(1-p)^n 1np(1p)n1(1p)n

9. 写出连续ARQ协议的算法

  1. 发送方:
  • 初始化变量:设置一个发送窗口(send window)的大小,设置一个基序号(base)和一个下一个要发送的序号(nextseqnum)。
  • 将发送窗口内的数据分组发送到接收方。
  • 等待接收方的确认(ACK)或否定确认(NAK)。
  1. 接收方:
  • 初始化变量:设置一个接收窗口(receive window)的大小,设置一个期望接收的下一个序号(expectedseqnum)。
  • 接收数据帧:如果接收到的帧的序号与期望的序号匹配,则将数据交付给上层应用,并发送确认帧(ACK)。否则发送否定确认帧(NAK),要求发送方重传。
  1. 发送方:如果收到确认帧(ACK),则将发送窗口向前滑动(即base和nextseqnum都增加)。如果收到否定确认帧(NAK),则重传被否定确认的数据帧。
  2. 重复步骤 2 和步骤 3,直到所有数据成功传输并被接收方确认。

连续ARQ协议通过使用滑动窗口的机制,允许发送方连续发送多个数据帧,而无需等待每个帧的确认。接收方通过期望的序号来检测和纠正任何丢失或失序的帧。发送方根据接收到的确认和否定确认来决定下一步的操作,以确保数据的可靠传输。

10. 在连续ARQ协议中,设编号用3位,而发送窗口 W T = 8 W_T=8 WT=8。找出一种情况,使协议不能工作。

考点:发送序号与发送窗口最大值的关系
采用有序接收的滑动窗口协议,设序号位数为n,则发送窗口最大尺寸为 2 n − 1 2^n-1 2n1
采用无序接收的滑动窗口协议,具发送窗口最大尺寸为 2 n − 1 2^{n-1} 2n1

表面上看,3个比特的序号空间大小为8,发送窗口的最大值似乎应该是8.但实际上,这在某些情况下无法正常工作。

  • 观察以下情况:
  1. 发送方发送完0-7共8个数据帧,发送窗口已满,发送暂停。
  2. 8个数据帧均已正确到达接收方,并对每一个数据帧都发送了确认帧。
  3. 理想情况是所有的确认帧都正确到达发送方,发送方可以接着发送8个新的数据帧。
  4. 特殊情况是如果所有的确认帧都丢失了,经过一段时间后,发送方重发这8个新的数据帧。
  5. 可以看到,对于接收方来说,分不清发送方是面临着理想情况还是特殊情况,因为两种情况都将会发送8个序号为0-7的数据帧,不知道是新的还是重发的。

11. 在数据传输过程中,若接收方收到的二进制比特序列为10110011010,接收双方采用的生成多项式为 G ( x ) = x 4 + x 3 + 1 G(x)=x^4+x^3+1 G(x)=x4+x3+1,则该二进制比特序列在传输中是否出现了差错?如果没有出现差错,发送数据的比特序列和CRC校验码的比特序列分别是多少?

  1. 接收数据为:10110011010(7+4位,后4位1010为CRC校验码)
  2. 生成多项式: G ( x ) = x 4 + x 3 + 1 G(x) = x^4 + x^3 + 1 G(x)=x4+x3+1(n=4,k=4)
  3. 验证接收方收到的带有CRC的校验码的数据比特流能被相同的生成多项式整除。即通过进行二进制除法运算(异或运算)得出余数为0。
    模2除法

二进制除法用的运算符是异或,不同于普通十进制除法的÷,不涉及进位和借位,不具有可逆性,属于广义上的除法。

  1. 没有差错。发送数据的比特序列和CRC校验码的比特序列分别是10110011010.

12. 要发送的数据比特序列为1010001101,CRC校验生成多项式为 G ( x ) = x 5 + x 4 + x 2 + 1 G(x)=x^5+x^4+x^2+1 G(x)=x5+x4+x2+1,计算CRC校验码。

计算CRC
计算结果是01110,所以发送比特流101000110101110

13. 在一些网络中,数据链路层通过请求重传损坏的帧来处理传输差错。如果一个帧损坏的概率为p,在确认帧不丢失的情况下,发送一个帧需要的平均传输次数是多少?

1 × ( 1 − p ) p 0 + 2 × ( 1 − p ) p 1 + ⋯ + n × ( 1 − p ) p n − 1 + … = ( 1 − p ) Σ i = 1 ∞ i p i − 1 = ( 1 − p ) 1 ( 1 − p ) 2 = 1 1 − p \begin{aligned}&1\times(1-p)p^0+2\times(1-p)p^1+\dots+n\times(1-p)p^{n-1}+\dots\\=&(1-p)\Sigma_{i=1}^{\infty}ip^{i-1}\\=&(1-p)\frac{1}{(1-p)^2}\\=&\frac{1}{1-p}\end{aligned} ===1×(1p)p0+2×(1p)p1++n×(1p)pn1+(1p)Σi=1ipi1(1p)(1p)211p1

把 f ( x ) = 1 ( 1 − x ) 2 展开成 x 的幂级数。 因为 ∫ 0 x d x ( 1 − x ) 2 = − ∫ 0 x d ( 1 − x ) ( 1 − x ) 2 = 1 1 − x 当 − 1 < x < 1 时,有 1 1 − x = Σ n = 0 ∞ x n 故 1 ( 1 − x ) 2 = d d x ∫ 0 x d x ( 1 − x ) 2 = d d x Σ n = 0 ∞ x n = Σ n = 1 ∞ n x n − 1 , ∣ x ∣ < 1 \begin{aligned} &把f(x)=\frac{1}{(1-x)^2}展开成x的幂级数。\\ &因为\int_{0}^{x}\frac{dx}{(1-x)^2}=-\int_{0}^{x}\frac{d(1-x)}{(1-x)^2}=\frac{1}{1-x}\\ &当-1<x<1时,有\frac{1}{1-x}=\Sigma_{n=0}^{\infty}x^n\\ &故\frac{1}{(1-x)^2}=\frac{d}{dx}\int_{0}^{x}\frac{dx}{(1-x)^2}=\frac{d}{dx}\Sigma_{n=0}^{\infty}x^n=\Sigma_{n=1}^{\infty}nx^{n-1},|x|<1 \end{aligned} f(x)=(1x)21展开成x的幂级数。因为0x(1x)2dx=0x(1x)2d(1x)=1x11<x<1时,有1x1=Σn=0xn(1x)21=dxd0x(1x)2dx=dxdΣn=0xn=Σn=1nxn1,x<1

14. 假设一个信道的数据传输速率为4Kbps,单向传输延迟时间为20ms,那么帧长在什么范围内,才能让用于差错控制的停止等待协议的效率至少为50%?

  • 设帧长为L ,数据传输速率为C, 单向传输延迟为 T p T_p Tp, 效率为U
  • U = t f t f + 2 t p , t f 为发送延时 , t f = L C U=\frac{t_f}{t_f+2t_p}, t_f为发送延时, t_f=\frac{L}{C} U=tf+2tptf,tf为发送延时,tf=CL
  • 假定信道传输无差错,信道利用率为50% 相当于 t f = 2 t p t_f=2t_p tf=2tp
  • L = C × 2 t p = 4 K b p s × 40 m s = 160 b i t L=C\times 2t_p=4Kbps\times40ms=160bit L=C×2tp=4Kbps×40ms=160bit
  • 帧长大于160bit才能使得效率达到至少50%。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值