计算机网络(第8版)(全9章)

计算机网络(第8版)(全9章)

内容概述

  • 章节1:概述
  • 章节2:物理层
  • 章节3:数据链路层
  • 章节4:网络层
  • 章节5:传输层
  • 章节6:应用层
  • 章节7:网络安全
  • 章节8:多媒体网络
  • 章节9:下一代因特网

计算机网络(谢希仁-第八版)第一章习题全解

1-01.计算机网络可以向用户提供哪些服务?

1)连通性:互联网用户之间,不管距离多远,都可以便捷、经济地交换各种信息,好像这些用户彼此都相互连通一样。

2)资源共享:可以是信息共享、软件共享、硬件共享等。

1-02.试简述分组交换的要点?

分组交换:主要采用存储转发技术。把一整块报文划分为一个个等长的数据段,每一个分段的前面,再加上一些必要的控制信息,就构成了一个个"分组",每一个分组在网络上都是独立传输的,路由器就负责转发这些分组,经过多次转发后,交付给目的主机。

优点:

缺点:

1)分组在各路由器进行存储转发需要排队,这造成了一定的时延。

2)分组交换不像电路交换一样通过建立连接来保证通信时所需的各种资源,所以无法确保通信时端到端的带宽,在通信量很大的时候可能会造成拥塞。

3)由于各分组必须携带控制信息,所以也造成了一定的开销,整个分组交换网还需要专门的管理和控制机制。

1-03.试从多个方面比较电路交换、报文交换和分组交换的优缺点?

1)电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。电路交换必须经过"建立连接"、"通话"、"释放连接"三个步骤。在通话过程中,通话的两个用户始终占用端到端的通信资源。

优点:

① 通信线路为通话双方独占,所以可以实现数据直达,传播时延小。

② 双方按发送顺序传送数据,不存在顺序问题。

③ 既适用于传输模拟信号,也适用于传输数字信号。

④ 通信双方的物理通路一旦建立连接,双方可以随时通信,实时性强。

缺点:

① 电路交换建立物理通路的时间相对较长。

② 双方建立连接后,通信资源被通信双方独占,即使不通信,也不能供其他用户使用,信道利用率很低。

③ 电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难进行通信,也难以在通信过程中进行差错控制。

2)报文交换:采用存储转发的技术,但是采用的是整个报文的传送。整个报文先传送到相邻节点,全部存储下来以后查找转发表,转发到下一个节点。

优点:

① 不需要建立物理通路,随时可进行通信

② 由于采用的存储转发技术:

a.在报文交换中可以设置代码检验和数据重发机制,交换节点还可以根据网络情况进行转发路径的选择,所以当某条路径发生故障,可以选择另外一条路径进行数据传输,提高了传输的可靠性。

b.在存储转发中容易实现代码转换和速率匹配,通信双方可以不同时处于可用状态,这样就便于类型、规格和速度不同的计算机之间进行通信。

c.提供多目标服务,即一个报文可以同时发送到多个目的地址,这是电路交换难以做到的。

d.可以设置数据传送的优先级,使得优先级高的报文优先转换。

③ 通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有物理通路,因此大大提高了通信线路的利用率。

缺点:

① 报文交换只适用于数字信号。

② 由于报文在交换节点处要经历存储、转发这一过程,从而就引起了转发时延(接受报文、排队、处理报文等),而且,当网络通信量越大,造成的时延就越大。因此,报文交换的实时性差,不适合传送实时或者交互式业务的数据。

③ 由于报文长度没有限制,而中间每一个节点都要经历存储转发完整的报文,当输出线路不空闲时,还肯恩要存储几个完整的报文等待转发,要求网络中每个节点有较大的缓冲区。

为了降低成本,减少节点缓冲存储器的容量,有时要把等待转发的报文存储在磁盘上,进一步增大了传送时延。

3)分组交换:仍采用存储转发技术,但与报文交换不同的是,分组交换是将一个完整的报文分割为若干个固定长度的短分组,再在每个分组前面加上控制信息,然后在网络上独立地转发这些分组,因此,分组交换除了具有报文交换的优点之外,还具有以下优缺点:

优点:

① 加速了数据在网络中的传输,因为分组是逐个独立的传输,可以使后一个分组的存储操作和前一个分组的转发操作并发进行,这种流水线式的传输方式减少了报文的传播时延。

此外,传输一个分组所需的缓冲区比传输一份报文所需的缓冲区小得多,这样因缓冲区不足而等待发送的几率及等待的时间也必然少得多。

② 简化了存储管理。因为分组的长度固定,相应的缓冲区的大小也固定,在交换节点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易。

③ 减少了出错几率和重发数据量。因为分组较短,其出错的几率必然减少,每次重发的数据量也就大大减少,这样不仅提高了可靠性,也减少了传输时延。

④ 由于分组短小,更适用于优先级策略,便于及时传送一些紧急数据,对于计算机之间突发式的通信,显然分组交换更为合适。

缺点:

① 虽然传播时延比报文交换少,但是还是存在传播时延,而且要求节点对数据的处理更强。

② 每个分组都要加上控制信息,使得传输的数据量增大,一定程度上降低了通信效率,增加了处理时间,使得控制变得复杂,处理时延增加。

③ 当分组交换采用数据报服务时,可能会失序、重复、丢失分组,分组到达目的节点时,要根据首部信息对分组进行排序等工作;若采用虚电路服务,就避免了失序问题,但虚电路必须有呼叫建立、数据传输和虚电路释放等三个过程。

1-04.为什么说互联网是自印刷术发明以来人类在存储和交换信息领域的最大变革?

融合其他通信网络,在信息化过程中起核心作用,提供最好的连通性和信息共享,第一次提供了各种媒体形式的实时交互能力。

1-05.互联网基础结构的发展大致分为哪几个阶段?请指出这几个阶段最主要的特点?

互联网的基础结构大体上经历了三个阶段的演进。但这三个阶段在时间划分上并非截然分开而是有部分重叠的,这是因为网络的演进是逐步的,而非在某个日期发生了突变。

第一阶段:是从单个网络ARPANET向互连网发展的过程。

第二阶段:建成了三级结构(主干网、地区网、企业网或校园网)的互联网。

第三阶段:逐渐形成了全球范围内的多层次的ISP结构的互联网。

1-06.简述互联网标准制定的几个阶段?

制定互联网的正式标准要经过以下三个阶段:

1)互联网草案(Internet Draft)------互联网草案的有效期只有六个月,在这个阶段还不能算的上是RFC文档。

2)建议标准(Proposed Standard)------从这个阶段开始就称为RFC文档(RFC("请求评论"),所有的RFC文档都可以从互联网上下载,也可以评论,所有的互联网标准都是RFC文档,但是RFC文档只有极少部分能够成为互联网标准)。

3)互联网标准(Internet Standard)------如果经过长期的检验,证明了某个建议标准可以成为互联网标准时,就给它分配一个标准编号,一个互联网标准可以和多个RFC文档关联。

1-07.小写和大写开头的英文名字internet和Internet在意思上有何重要区别?

internet:译为"互连网",它是一个通用名词,泛指多个计算机网络互连而成的计算机网络。在这些网络之间的通信协议(即通信规则)可以任意选择,不一定必须使用TCP/IP协议。

Internet:译为"互联网"、"因特网",它是一个专用名词,指当前全球最大的、开放的、由众多网络相互连接而成的特定的互连网,它采用TCP/IP协议族作为通信的规则,且其前身是美国的ARPANET。

1-08.计算机网络有哪些类别?各种类别的网络都有哪些特点?

按网络的作用范围分:

1)广域网(WAN):作用范围一般是几十到几千公里,所以有时候也被称为"远程网",广域网是互联网的核心部分。

2)城域网(MAN):作用范围一般是一个城市,可以跨越几个街区甚至整个城市,一般是5~50公里,目前很多城域网也是使用的以太网技术。

3)局域网(LAN):作用范围一般是一个企业或者学校,大约1公里左右,在局域网发展初期,一个学校或企业往往只有一个局域网,但现在局域网非常广泛了,学校或企业大多数都用于许多个互连的局域网(这样的网络常称为校园网或企业网)

4)个人区域网(PAN):作用范围大约10米左右,个人区域网就是在个人工作的地方把属于个人使用的电子设备(如笔记本电脑等)用无线技术连接起来的网络。

按网络的使用者分:

1)公用网:指电信公司(国有或私有)出资建造的大型网络,"公用"的意思是所有愿意按照电信公司的规定缴纳费用的人都可以使用这种网络,因此也叫作公众网。

2)专用网:指某个部门为满足本单位的特殊业务工作的需要建造的网络。这种网络不向本单位以外的人提供服务。例如:军队、铁路、银行、电力等系统均有专用网。

用来把用户接入到互联网的网络:这种网络就是接入网(AN),接入网就是通过多种接入网技术连接用户和互联网的特殊网络,ISP拥有的网络实际上就是接入网。

1-09.计算机网络中的主干网和本地接入网的主要区别是什么?

主干网:提供远程覆盖,高速传输,路由器最优化通信。

本地网:主要是支持散户接入,速率低。

1-10.试在下列条件下比较电路交换和分组交换:要传送的报文共x(bit)。从源点到终点共经过k段链路,每段链路的传播时延为d(s),数据率为b(bit/s)。在电路交换时电路的建立时间为s(s)。在分组交换时,分组长度p(bit),每个分组所必须添加的首部都很短,对分组的发送时延的影响在本题中可以不考虑。此外,各节点的排队等待时间可以忽略不计。问:在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画草图观察k段链路共有几个节点)?

电路交换: 总时延 = 建立连接时延 + 发送时延 +传播时延 = s + x/b + k*d

分组交换: 总时延 = 发送时延 + 存储转发的时延 + 传播时延 = x/b + (k-1)*p/b + k*d 其中(k-1)*p/b是k段链路上存储转发时延

要使得分组交换比电路交换时延小,就必须满足 s>(k-1)*p/b,即电路交换的建立连接时延大于分组交换的存储转发时延。

1-11.在上题的分组交换网中,设报文长度和分组长度分别为x和(p+h)(bit),其中p为分组的数据部分的长度,而h为每个分组所添加的首部长度,与p的大小无关。通信的两端共经过k段链路。链路的数据率为b(bit/s),但是传播时延和节点时间均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度p应取多大?(提示,参考图1-11的分组交换部分,观察总的时延由哪几部分组成。)?

总时延 = 发送时延 + 存储转发时延 = (p+h)*(x/p)/b + [k-1]*(p+h)/b = h*x/p + (k-1)*p

对上面的总时延求导,-(h*x)/p^2 + (k-1),令导数为0,求出p = √(h*x)/(k-1)(看不清,下面有图片)

1-12.互联网的两大组成部分(边缘部分与核心部分)的特点是什么?他们的工作方式各有什么特点?

边缘部分:处在互联网边缘的部分就是连接在互联网上的所有主机。边缘部分利用核心部分提供的服务,使众多主机之间能够互相通信并交换信息或共享信息。

核心部分:互联网核心部分由路由器和网络组成。向网络边缘中的主机提供连通性,使边缘部分的任何一个主机都能够向其他主机通信。

1-13.客户-服务器方式与P2P对等通信方式的主要区别是什么?有没有相同的地方?

客户-服务器方式:是互联网最常用的,也是传统的方式。客户端和服务器都是指通信中所涉及的两个应用进程。客户-服务器是指两个进程间服务与被服务的关系。客户是服务请求方,服务器是服务提供方。服务请求方和服务提供方都要使用网络核心部分所提供的服务。

P2P对等通信:指两台主机在通信时,并不区分哪一个是服务请求方和哪一个是服务提供方。只要两台主机都运行了对等连接软件(P2P软件),他们就可以进行平等的对等连接通信。

相同之处:实际上,对等连接方式从本质上仍然是客户-服务器方式,只是对等连接中的每一台主机既是客户同时又是服务器。

1-14.计算机网络有哪些常用的性能指标?

1)速率:指数据的传送速率,也称为"数据率"或"比特率",速率的单位是bit/s(比特每秒,有时也写为bps,即 bit per second),当提到网络的速率时,常常指的是额定速率或标称速率,而并非网络实际上的运行速率。

2)带宽:带宽本来指某个信号具有的频带宽度,但是在计算机网络中,带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信道所能通过的"最高数据率"。所以带宽的单位就是数据率的单位bit/s,是"比特每秒"。

3)吞吐量:表示在单位时间内通过某个网络(或信道、接口)的实际数据量。吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上有多少数据量能够通过网络。吞吐量受网络带宽或网络额定速率的限制。

4)时延:分为发送时延、传播时延、派对实验、处理时延等

5)时延带宽积: 时延带宽积 = 传播时延 x 带宽

由上面的公式我们可知,时延带宽积的单位是bit。假如将链路比喻成一个管道,管道的横截面积看成带宽,管道的长度就是链路的传播时延,那么时延带宽积就表示这个管道的体积,表示这样的链路可以容纳多少个比特。这表明,若发送端连续发送数据,则在发送的第一个比特即将到达终点时,发送端就发送了时延带宽积bit的数据,而这些数据都在链路上移动。因此,链路的时延带宽积又称为以比特为单位的链路长度。

6)往返时间(RTT):表示通信双发双向交互一次所需的时间

7)利用率:利用率有信道利用率和网络利用率两种。信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道利用率为0,但不是信道利用率越高越好。根据排队理论,当某信道的利用率增加的时候,该信道引起的时延也迅速增加。假设令D0表示网络空闲时的时延,D表示网络当前的时延,设现在网络利用率为U,那么有公式:

1-15 假定网络的利用率达到了90%,试估算一下现在的网络时延是它的最小值的多少倍?

根据公式: D = D0/(1-U),已知网络时延的最小值是D0,将U = 90%代入公式,得出D = 10D0,所以现在的网络时延是它的最小值的10倍。

1-16 计算机通信网有哪些非性能特征?非性能特征与性能指标有什么区别?

1)费用:一般来说,网络的速率越高,费用越高。

2)质量:网络的质量取决于网络中所有构件的质量。

3)标准化:网络的硬件和软件的设计既可以按照通用的国际标准,也可以遵循特定的专用网络标准。最好采用国际标准的设计,这样可以得到更好的互操作性,更易于升级换代和维修,也更容易得到技术上的支持。

4)可靠性

5)可扩展性和可升级性

6)易于管理和维护

区别:性能指标指的是与网络本身性能相关的指数,而非性能指标与网络本身无关。

1-17 收发两端之间的传输距离为1000km,信号在媒体上的传播速率为2x10^8 m/s。试计算以下两种情况的发送时延和传播时延。

1)数据长度为10^7bit,数据的发送速率为100k bit/s。

2)数据长度为10^3bit,数据发送速率为1 Gbit/s。

从以上计算结果可得出什么结论?

1)发送时延:10^7 bit/100k bit/s = 100s 传播时延:1000km/2x10^8 m/s = 0.005 s

2)发送时延:10^3 bit /1G bit/s = 10^(-6)s 传播时延:1000 km/2x10^8 m/s = 0.005 s

结论:传播时延与链路长度有关,与发送速率无关。发送时延和发送速率有关,与链路长度无关。

1-18 假设信号在媒体上的传播速率为2.3x10^8 m/s。媒体长度l分别为:

1)10cm(网络接口卡)

2)100m(局域网)

3)100km(城域网)

4)5000km(广域网)

现在连续传送数据,数据率分别为1 Mbit/s 和10 Gbit/s。试计算每一种情况下在媒体中的比特数。(提示:媒体中的比特数实际上无法使用仪表测量。本题是假想我们能够看见媒体中正在传播的比特,能够给媒体中的比特拍个快照。媒体中的比特数取决于媒体的长度和数据率)

10cm:

10cm / 2.3x10^8 m/s * 1Mbit/s = 4.35 x 10^(-4) bit

10cm / 2.3x10^8 m/s * 10Gbit/s = 4.35 bit

100m:

100m / 2.3x10^8 m/s * 1Mbit/s = 4.35 x 10^(-1) bit

100m / 2.3x10^8 m/s * 10Gbit/s = 4.35 x 10^3 bit

100km:

100km / 2.3x10^8 m/s * 1Mbit/s = 4.35 x 10^2 bit

100km / 2.3x10^8 m/s * 10Gbit/s = 4.35 x 10^6 bit

5000km:

5000km / 2.3x10^8 m/s * 1Mbit/s = 2.17 x 10^4 bit

5000km / 2.3x10^8 m/s * 10Gbit/s = 4.35 x 10^8 bit

1-19 长度为100字节的应用层数据交给运输层传送,需加上20字节的TCP首部。再交给网络层传送,再加上20字节的IP首部。最后交给数据链路层的以太网传送,加上首部和尾部共18字节。试求数据的传输效率。数据的传输效率是指发送层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。

若应用层数据长度为1000字节,数据的传输效率是多少?

传输效率: 1 - (20+20+18)/(100+20+20+18) = 63.3%

若数据长度为1000字节: 1-(20+20+18)/(1000+20+20+18) = 94.5%

1-20 网络体系结构为什么要采用分层次结构?试举出一些与分层体系结构的思想相似的日常生活的例子。

① 各层之间是独立的,某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间接口(即界面)所提供的服务。

② 灵活性好,当任何一层发生变化(例如由于技术的变化),只要层间接口关系保持不变,那么这层以上或以下各层均不受影响。

③ 结构上可分割开,各层都可以采用最合适的技术来实现。

④ 易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得更加容易,因为整个系统已被分解为若干个相对独立的子系统。

⑤ 能促进标准化工作,因为每一层的功能及其所提供的服务都已有了精确的说明。

类似例子:快递物流等。

1-21 协议与服务有何区别?

协议:协议是水平的,协议是控制两个对等实体(或多个实体)进行通信的规则的集合。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,要实现本层协议,还需要使用下面一层所供的服务。

服务:服务是垂直的,即服务是由下层向上层通过层间接口提供的。另外,并非在一个层内完成的全部功能都称为服务,只有那些能被高一层实体"看得见"的功能才能称之为"服务"。

1-22 网络协议的三个要素是什么?各有什么含义?

网络协议的三要素:

① 语法:即数据与控制信息的结构或格式

②语义:即需要发出何种控制信息,完成何种动作以及做出何种响应

③ 同步:即事件实现顺序的详细说明

1-23 为什么一个网络协议必须把各种不利的情况都考虑到?

因为协议必须保证数据在网络中能有条不紊地交换,而不能出现死锁等现象,因此,协议不能假定一切都是正常的和非常理想的,必须非常仔细地检查协议能否应付任何一种出现概率极小的异常情况。

1-24 试述具有五层协议的网络体系结构的要点,包括各层的主要功能?

①物理层(Physical Layer)

负责透明地传输比特流。在物理层上所传数据的单位是比特,物理层需要考虑用多大的电压代表"1"或"0",以及接收方如何识别发送方所发送的比特,物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应如何连接。

②数据链路层(Data Link Layer)

常简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。在相邻节点间的连路上传送数据时,数据链路层将网络层交下来的IP数据包组装成帧,在相邻两个节点间的链路上传送帧。每一帧都包括数据和必要的控制信息。

③网络层(Network Layer)

网络层负责为分组交换网上的不同主机提供通信服务。网络层产生的数据称为IP数据包(因为使用的是IP协议),网络层有两个具体任务:一是通过一定的算法,在互联网中的每一个路由器上生成一个用来转发分组的转发表。二是每一个路由器在接收到一个分组时,依据转发表中指明的路径把分组转发到下一个路由器。

④运输层(Transport Layer)

运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。多种应用可以使用同一个运输层服务,由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层可同时使用下面运输层的服务,而分用就是运输层把收到的信息分别交付上面应用层中的相应进程。

运输层主要使用以下两种协议: 传输控制协议TCP、用户数据报协议UDP

⑤应用层(Application Layer)

应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。对于不同的网络应用需要有不同的应用层协议互联网中的应用层协议有很多,如域名系统DNS、支持万维网应用的HTTP协议、支持电子邮件的SMTP协议,应用层交互的数据单位称为报文。

1-25 试举出日常生活中有关"透明"这一名词的例子?

电视、计算机视窗操作系统、工农业产品

1-26 试解释以下名词:协议栈、实体、对等层、协议数据单元、服务访问点、客户、服务器、客户-服务器方式?

① 协议栈:协议栈是指网络中各层协议的总和,因为几个层次画在一起很像一个栈结构。其形象的反映了一个网络中数据传输的过程:由上层协议到底层协议,再由底层协议到上层协议。

②实体:当研究开放系统中的信息交换时,往往使用实体这名词表示任何可发送或接受信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。

③对等层:是指在计算机网络协议层次中,将数据(即数据单元加上控制信息)直接(逻辑上)传递给对方的任何两个同样的层次。

④协议数据单元:OSI参考模型把对等层次之间传送的数据单位称为该层的协议数据单元PDU(Protocol Data Unit)

⑤服务访问点:在同一系统中相邻两层的实体进行交互(即交换信息)的地方,通常称为服务访问点。服务访问点是一个抽象的概念,它实际上即使一个逻辑接口。

⑥客户:指计算机进程,客户程序一般都是被调用后运行,在通信时主动向服务器发起通信(请求服务),因此,客户程序必须知道服务器程序的地址。客户程序不需要特殊的硬件和很复杂的操作系统。

⑦服务器:指计算机进程,是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。服务器系统启动后即一直不断地运行着,被动地等待并接受来自各地的客户的通信请求,因此,服务器不需要知道客户程序的地址。服务器一般需要强大的硬件和高级的操作系统支持。

⑧客户-服务器方式:这是端系统之间通信方式之一,客户是服务请求方,服务器是服务提供方。

1-27 试解释 everything over IP 和 IP over everything?

IP层可以支持多种运输层协议,而不同的运输层协议上面又可以有多种应用层协议,这就是 everything over IP,同时IP协议也可以在多种类型的网络上运行,这就是 IP over everything

1-28 假定要在网络上传输1.5MB的文件。设分组长度为1KB。往返时间RTT = 80ms。传送数据之前还需要有建立TCP连接的时间,这时间是2xRRT = 160ms。试计算在以下几种情况下接受方收完该文件的最后一个比特所需的时间。

1)数据发送速率为10M bit/s,数据分组可以连续发送。

2)数据发送速率为 10M bit/s,但每发送完一个分组后要等待一个RTT时间才能再发送下一个分组。

3)数据发送速率极快,可以不考虑发送数据所需的时间。但规定在每一个RTT往返时间内只能发送20个分组。

4)数据发送速率极快,可以不考虑发送数据所需的时间。但在第一个RTT往返时间内只能发送一个分组,在第二个RTT内可发送两个分组,在第三个RTT内可发送四个分组(即2^(3-1) = 2^2 = 4个分组)。

解:

1)T = TCP建立时间 + 发送时延+最后一个比特的传播时延 =160ms + 1.5x2^20x8/10^7 + 40ms = 1.458s

2)T = TCP建立时间 + 发送时延+每个分组等待时延*(分组数-1) + 最后一个比特的传播时延 = 160ms +1.5x2^20x8/10^7+(1.5MB/1KB-1)*80ms +40ms = 124.258s

(这里分组数-1,是因为第一个分组在发送时不需要等待)

3) T = TCP建立时间 + RTT*[分组数/20] + 最后一组传播时延 = 160ms + 80ms*[1536/20] + 0.04s =6.28s

4)等比数列求和公式:

经过n个RTT可以发送:1+2+4+...+2n = 2^n - 1(分组)

因此1535个分组需要11RTT(2^10 <1535 <2^11)

T = TCP建立时间 + 前1024个分组的传播时延 + 最后511分组的传播时延 = 160ms+10x80ms+40ms =1s

1-29 有一个点对点链路,长度为50km。若数据在此链路上的传播速率为2x10^8 m/s,试问链路的带宽应为多少才能使传播时延和发送100字节的分组的发送时延一样大?如果发送的是512字节长的分组,结果又应如何?

设带宽为y

传播时延 =50km/2x10^8 m/s = 100B/y = 发送时延,求得y= 3.2x10^6 bit/s

若发送的是512字节: y1 = 1.6384x10^7 bit/s

1-30 有一个点对点链路,长度为20000km。数据的发送速率是1k bit/s,要发送的数据有100bit。数据在此链路上的传播速率为2x10^8 m/s。假定我们可以看见在线路上传输的比特,试画出我们看到的线路上的比特(画两张图,一张是在100bit刚刚发送完时,另一张是再经过0.05s后)

1-31 条件同上题,但数据的发送速率改为1M bit/s。和上题的结果相比较,你可以得出什么结论?

结论:发送速率提高可以弥补信息传输中信息中断的问题。

1-32 以1G bit/s的速率发送数据。试问在以距离或时间为横坐标时,一个比特的宽度分别是多少?

以距离为横坐标时:1bit * 2*10^8 m/s /1G bit/s = 0.2 m(传输介质假设为光纤)

以时间为横坐标时:1bit/1G bit/s = 10^(-9) s

1-33 我们在互联网上传送数据经常是从某个源点传送到某个终点,而并非传送过去又再传送回来。那么为什么往返时间RTT是个很重要的性能指标呢?

许多情况下,互联网上的信息往往是双向的而不仅仅是单向传输,我们有时很需要知道通信双方往返一次所需要的时间。还有,一方发送信息给另一方,有时需要确保数据正确无误的送达,这时候收到方就要发送确认信息给发送方,在发送数据之后要经过多少时间才能收到对方的确认,这也取决于RTT的大小。

1-34 主机A向主机B发送一个长度为10^7比特的报文,中间要经过两个节点交换机,即一共经过三段链路。设每条链路的传输速率为2 Mbit/s。忽略所有的传播、处理和排队时延。

1)如果采用报文交换,即整个报文不分段,每台节点交换机收到整个的报文后再转发。问从主机A把报文传送到第一个节点交换机需要多少时间?从主机A把报文传送到主机B需要多少时间?

2)如果采用分组交换,报文被划分为1000个等长的分组(这里忽略分组首部对本题计算的影响),并连续发送。结点交换机能够边接收边发送。问从主机A把第一个分组传送到第一个节点交换机需要多少时间?从主机A把第一个分组传送到主机B需要多少时间?从主机A把1000个分组传送到主机B需要多少时间?

3)就一般情况而言,比较用整个报文来传送和用划分多少个分组来传送的优缺点。

1)传送到第一个节点:T =发送时延=10^7 bit /2 Mbit/s * 2= 5s

A到B:T = 发送时延*3 = 15s

2)传送到第一个节点: T = 发送时延= 10^7 bit/1000/2 Mbit/s*2 = 0.005s

一个分组从A到B :T = 发送时延 *3 =0.015s

1000个分组从A到B = 发送时延*1000+最后一个分组传送到B的发送时延 = 0.005 s*1000 + 0.005s*2 = 5.01s

3)报文交换:

优点:与电路交换相比,更加灵活,不需要事先建立连接。

缺点:如果报文很长,每次在链路的节点处存储转发时延较长。

分组交换:

优点:与报文交换相比,在节点存储转发时延更小,更加灵活。

缺点:设备更复杂,对硬件要求更高;每个分组的首部信息降低了数据的传送效率。

1-35 主机A向主机B连续发送一个600 000 bit的文件。A和B之间有一条带宽为1 Mbit/s的链路相连,距离为5000 km,在此链路上的传播速率为2.5 x 10^8 m/s。

链路上额的比特数目最大值是多少?

链路上每比特的宽度(以米来计算)是多少?

若想把链路上的每比特的宽度变为 5000 km (即整条链路的长度)这时应把发送速率调整到什么数值?

链路上最大比特数目: 时延带宽积 = 传播时延 x 带宽 = 5000 km / 2.5 x 10^8 m/s x 1 Mbit/s = 2 x 10^4 bit

链路上每比特宽度: 5000km / 2x10^4 bit = 250 (米)

设发送速率为 y, 1 bit *2.5*10^8 m/s / y = 5000km ,解得 y = 50 bit/s

1-36 主机A到主机B的路径上有三段链路,其速率分别是2 Mbit/s,1 Mbit/s和500 kbit/s。现在A向B发送一个大文件。试计算该文件传送的吞吐量。设文件长度为10MB,而网络上没有其他流量。试问该文件从A传送到B大约需要多少时间?为什么这里只计算大约的时间?

该文件传送的吞吐量: 500kbit/s(取决于速率最小的链路)

A到B的大约时间: 10MB /500kbit/s = 10 x 2^20 x 8 bit / 5x10^5 bit/s = 167.77s

因为计算出来的只是理论值,实际上,如果网络发生拥塞,是达不到这个值的。

计算机网络(谢希仁-第八版)第二章习题全解

2-01 物理层要解决哪些问题?物理层的主要特点是什么?

1)需要解决的问题:

物理层要屏蔽掉传输媒体和通信手段的差异,使物理层上面的数据链路层感觉不到这些差异,这样数据链路层就只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体和通信手段。

2)主要特点

①由于在OSI之前,许多物理规程或协议已经制定出来了,而且在数据通信领域中,这些

物理规程已被许多商品化的设备所采用,加之,物理层协议涉及的范围广泛,所以至今没有按OSI

的抽象模型制定一套新的物理层协议,而是沿用已存在的物理规程,将物理层确定为描述与传输媒体接口的机械、气、功能和过程特性。

②由于物理连接的方式很多,传输媒体的种类也很多,因此,具体的物理协议相当复杂。

2-02 规程与协议有什么区别?

在计算机网络中,规程就是协议。比如,物理层的协议也常称为物理层的规程,只是"协议"这个名词出现之前人们先使用了"规程"这一名词。

2-03 试给出数据通信系统的模型并说明其主要组成构件的作用。

如下图,一个数据通信系统可划分为三大部分,即源系统(或发送端、发送方)、传输系统(或传输网络)和目的系统(或接收端、接收方)。

源系统一般包括两部分:

源点:

源点设备产生要传输的数据,比如,从计算机的键盘输入汉字,计算机产生输出的数字比特流,源点又称为源站或信源。

发送器:

通常源点生成的数字比特流要通过发送器编码之后才能够在传输系统中进行传输,比较典型的是调制器,现在很多计算机使用内置的调制解调器。

目的系统一般也包括两个部分:

接收器:

接收传输系统传送过来的信号,并把它转换为能够被目的设备处理的信息。典型的接收器就是解调器。

终点:

终点设备从接收器获取传送来的数字比特流,然后把信息输出。终点又称为目的站或信宿。

传输系统:

负责向密度系统传输源系统发来的数据,传输系统可以是简单的传输线,也可以是连接在源系统和目的系统之间的复杂网络系统。

2-04 试解释以下名词:数据、信号、模拟数据、模拟信号、基带信号、带通信号、数字数据、数字信号、码元、单工通信、半双工通信、全双工通信、串行传输、并行传输。

①数据:通信的目的是传送消息。语音、文字、图像、视频等都是消息。数据是运送消息的实体,数据是使用特定方式表示的信息,通常是有意义的符号序列,这种信息的表示可以用计算机或人处理产生。

②信号:信号是数据的电气或电磁的表现

③模拟数据:模拟数据也称为模拟量,相对于数字量而言,指的是取值范围是连续的变量或数值。模拟数据是指在某个区间产生的连续值,例如声音、图像、温度和压力等。模拟数据一般采用模拟信号,例如用一系列变化的电磁波(如无线电与电视广播中的电磁波),或电压信号(如电话传输中的音频电压信号)来表示。

④模拟信号:也称连续信号------代表消息的参数的取值是连续的,例如用户家中的调制解调器到电话端局之间的用户线上传送的就是模拟信号。

⑤基带信号:来自信源的信号称为基带信号(基本频带信号)。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。

⑥带通信号:经过载波调制后的信号称为带通信号(即仅在一段频率范围内能够通过信道)。

⑦数字数据:在数据通信中也称为数字量,相对于模拟量而言,指的是取值范围是离散的变量或者数值。

⑧数字信号:也称离散信号------代表消息的参数的取值是离散的。例如,用户家中的计算机到调制解调器之间或在电话网中继线上传送的就是数字信号。

⑨码元:在使用时间域(或简称为时域)的波形表示数字信号时,代表不同离散数值的基本波形就称为码元。在使用二进制编码时,只有两种不同的码元,一种代表0状态而另一种能够代表1状态。

⑩单工通信:又称为单向通信,即只能有一个方向的通信而没有反方向的交互。无线电广播或优先电广播以及电视广播就是这种类型。

⑪半双工通信:又称为双向交替通信,可以双方互相发送和接收信息,但是双方不能同时发送和接收。

⑫全双工通信:又称为双向同时通信,即通信双方可以同时发送和接收信息。

⑬串行传输:数据在单条一位宽的传输线上,1bit接1bit地按照顺序传送的方式称为串行通信。

⑭并行传输:指的是数据以成组的方式,在多条并行信道上同时进行传输,是在传输中有多个数据位同时在设备之间进行的传输,常用的是将构成一个字符的几位二进制码同时分别在几个并行的信道上传输。

2-05 物理层的接口有哪几个方面的特性?各包含些什么内容?

1)机械特性:指明接口所用接线器的形状或尺寸、引脚数目和排列、固定和锁定装置等。平时常见的各种规格的接插件都有严格的标准化规定。

2)电气特性:指明在接口电缆的各条线上出现的电压的范围。

3)功能特性:指明某条线上出现的某一电平的电压的意义。

4)过程特性:指明对于不同功能的各种可能事件的出现顺序。

2-06 数据在信道中的传输速率受哪些因素的限制?信噪比能否任意提高?香农公式在数据通信中的意义是什么?"比特/秒"和"码元/秒"有何区别?

从概念上讲,限制码元在信道上的传输速率的因素有以下两个:

①信道能够通过的频率范围:

具体的信道所能通过的频率范围总是有限的,信号中的许多高频分量往往不能通过信道。信号中的高频分量在传输时会受到衰减,使得高频和低频分量难以区分,每个码元之间的界限也变得模糊,这就叫码间串扰。奈氏准则说:在带宽为W(Hz)的低通信道中,若不考虑噪声影响,则码元传输的最高速率是2W(码元/秒)。超过这个上限,就会出现严重的码间串扰,使得信息无法被识别。

②信噪比:噪声存在于所有的电子设备和通信信道中。但噪声的影响是相对的,如果信号相对较强,那么噪声的影响就相对较小。因此,信噪比很重要------信号的平均功率和噪声的平均功率之比,常记为S/N,但是一般用分贝作为度量单位(dB):

香农公式在数据通信中的意义是:

在1984年,信息论的创始人香农推倒出了著名的香农公式。香农公式指出:信道的极限信息传输速率C是:

香农公式表名,信道的带宽或信道中的信噪比越大,信息的极限速率就越高。这个公式的意义在于:只要信息的传输速率低于信道的极限信息传输速率,就一定存在某种办法来实现无差错的传输。但香农并没给出具体的方法。

"比特/秒"与"码元/秒":根据编码的不同,一个码元可以对应多个比特位,一个比特位也可以对应多个码元。当然,也可以一个码元对应一个比特位,在这种情况下,他们在数值上才相等。

2-07 假定某信道受奈氏准则限制的最高码元速率为20000码元/秒。如果采用振幅调制,把码元的振幅划分为16个不同等级来传送,那么可以获取多高的数据率(bit/s)?

16个不同等级的振幅需要4个比特位(2^4)来进行表示,因此: 4*20000 = 80000 bit/s

2-08 假定要用3 kHz带宽的电话信道传送64kbit/s的数据(无差错传输),试问这个信道应具有多高的信噪比(分别用比值和分贝来表示)?这个结果说明什么问题?

1)用比值表示: C = Wlog2(S/N)= 3000Hz*log2(S/N+1) = 64 x 10^3 bit/s

S/N = 2^(64/3)-1;

2)用分贝表示: 10log10(S/N) = 10log10(2^(64/3)-1)(dB)

3)结果说明:64kbit/s传输速率下,信道的信噪比很高

2-09 用香农公式计算以下,假定信道带宽为3100Hz,最大信息传输速率为35kbit/s,那么若想使最大信息传输速率增加60%,问信噪比S/N应增大到多少倍?如果在刚才计算出的基础上将信噪比S/N再增大到10倍,问最大信息传输速率能否再增加20%?

根据香农公式: 35kbit/s = 3100Hz*log2(S/N+1),求得S/N = 2503.5

35*(1+0.6)kbit/s = 3100Hz*log(S/N+1),求得S/N = 274131.9

求得, 274131.9/2503.5 = 109.0,因此,S/N应增大到109倍

根据香农公式: 3100Hz*log2(10*274131.9+1) /56000 = 1.184,因此,增加了18%,没有达到20%

2-10 常用的传输媒体有哪几种?各有何特点?

传输媒体分为导引型传输媒体和非导引型传输媒体:

导引型传输媒体:

1)双绞线:

是最古老又是最常用的传输媒体。把两根互相绝缘的铜导线并排放在一起,然后用规则的方法绞合起来就构成了双绞线。现在的以太网(主流的计算机局域网)基本上也是使用各种类型的双绞线电缆进行连接的。为了提高双绞线抗电磁干扰能力以及减少电缆内不同双绞线对之间的串扰,可以采用增加双绞线的绞合度以及增加电磁屏蔽的方法。绞合度越高的双绞线都能够用月儿高的数据率传送数据。无论是哪种类别的双绞线,衰减都随频率的升高而增大。使用更粗的导线可以减少衰减,但却增加了导线的重量和价格。

2)同轴电缆:

由内导体铜制芯线(单股实心线或多股绞合线)、绝缘层、网状编织的外导体屏蔽层(也可以是单股的)以及绝缘保护套层所组成。同轴电缆有很好的抗干扰特性,被广泛用于传输较高速率的数据。同轴电缆的带宽取决于电缆的质量。

在局域网发展的初期曾广泛地使用同轴电缆作为传输媒体,但现在基本都是采用双绞线作为传输媒体。

3)光缆:

光纤通信就是利用光导纤维(简称光纤)传递光脉冲来进行通信的,有光脉冲就相当于1,没有光脉冲相当于0。由于可见光的频率非常高,约为10^8MHz的重级,因此一个光纤通信系统的传输带宽远远大于目前其他各种传输媒体的带宽。现代的生产工艺可以制造出超低损耗的光纤,做到光线在纤芯中传输数公里而基本没什么衰耗。

光纤不仅具有通信容量非常大的优点,而且

①传输损耗小,中继距离长,对远距离传输特别经济

②抗雷电和电磁干扰性能好。这在有大电流脉冲干扰的环境下尤为重要

③无串音干扰,保密性好,也不容易被窃听或截取数据

④体积小,重量轻,这在现有电缆管道已拥塞不堪的情况下特别有利。

非导引型传输媒体:

使用频段、短波通信、微波通信(传统的微波通信主要有两种方式:地面微波接力通信和卫星通信)。

特点略

2-11 假定有一种双绞线的衰减是0.7dB/km(在1kHz时),若容许有20dB的衰减,试问使用这种双绞线的链路的工作距离有多长?如果要使这种双绞线的工作距离增大到100公里,问应当使衰减降低到多少?

工作距离:L = 20dB /0.7dB/km = 28.6 km

衰减降低到: 20dB/100km = 0.2 dB/km

2-12 试计算工作在1200~1400 nm之间以及工作在1400~1600 nm之间的广播的频带宽度。假定光在光线中的传输速率为2 x 10^8 m/s?

频率 = 光速/波长

带宽 = 短波长对应的频率-长波长对应的频率

因此,1200~1400nm之间的广播的频带宽度: 2 x 10^8 m/s / 1200 x 10^(-9)m - 2x10^8 m/s / 1400 x 10(-9)m = 2.381 x 10^13 Hz = 23.81 THz

1400~1600nm之间的广播的频带宽度: 2 x 10^8 m/s /1400 x10^(-9)m - 2 x 10^8 m/s / 1400 x 10^(-9)m = 1.786 x 10^13 Hz = 17.86 THz

2-13 为什么要使用信道复用技术?常用的信道复用技术有哪些?

一般情况下,通信信道带宽远远大于用户所需的带宽,使用信道复用技术可以提高信道利用率,共享信道资源,降低网络成本。常用的信道复用技术有频分复用、时分复用、统计时分复用、波分复用、码分复用。

2-14 试写出下列英文缩写的全称,并进行简单的解释。

FDM,FDMA,TDM,TDMA,STDM,WDM,DWDM,CDMA,SONET,SDH,STM-1,OC-48。

1)FDM(Frequency Division Multiplexing):频分复用:用户可以在相同的时间占用不同的带宽资源。

2)FDMA(Frequency Division Mutiple Access):频分多址:使用频分复用技术,可以使N个用户各使用一个频带,或让更多的用户轮流使用这N个频带,这种方式称为频分多址接入,简称频分多址。

3)TDM(Time Division Mutiplexing):时分复用:用户可以在不同的时间占用相同的带宽资源。

4)TDMA(Time Division Mutiple Access):时分多址:使用时分复用技术,可以使N个用户各使用一个时隙,或者让更多的用户轮流使用这N个时隙。这种方式称为时分多址接入,简称时分多址。

5)STDM(Statistic TDM):统计时分复用:是一种改进的时分复用。使用STDM帧来进行传送复用的数据。但是每一个STDM帧的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中输入数据放入STDM帧中,对没有数据的缓存就跳过去,当一个帧的数据放满了,就发送出去。所以,STDM不是固定分配时隙,而是按需动态地分配时隙,因此,统计时分复用可以提高线路的利用率。

6)WDM(Wavelength Division Multiplexing):波分复用:就是光的频分复用。使用一个光纤来同时传输多个频率接近但是不同的光载波信号。

7)DWDM(Dense Wavelength Division Multiplexing):密集波分复用:随机技术的发展,在一根光纤上复用的光载波信号的路数越来越多,现在已经能够做到一个光纤上复用几十路或更多路数的光载波信号,于是就使用了密集波分复用。

8)CDMA(Code Division Multiple Access):码分多址:当码分复用信道为多个不同地址的用户所共享时,就称为码分多址。

9)SONET(Synchronous Optical Network):同步光纤网:是Bellcore在八十年代中期首先提出的用光导纤维传输的物理层标准,SONET定义了同步和等时(时间敏感数据,如实时视频)信息的传输。

10)SDH(Synchronous Digital Hierarchy):同步数字系列:SDH 即数字同步传输体制,SDH是一种传输的体制协议。SDH 规范了数字信号的帧结构、复用方式、传输速率等级、接口码型等特性,一般可认为SDH与SONET是同义词。

11)STM-1:是SDH的一种基本传输模块,传输速率为155.52Mbps。

12)OC-48:是SONET的一种速率标准,对应的数值是------2.5Gbit/s

2-15 码分多址CDMA为什么可以使所有用户在同样的时间使用同样的频带进行通信而不会互相干扰?这种复用方法有何优缺点?

因为各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。

优点:

①抗干扰能力强;其频谱类似于白噪声,不易被敌人发现。

②可以提高通信的话音质量和数据传输的可靠性。

③增大通信系统的容量。

缺点:

①占用较大的带宽

2-16 共有四个站进行码分多址CDMA通信。四个站的码片序列为:

A:(-1 -1 -1 +1 +1 -1 +1 +1) B:(-1 -1 +1 -1 +1 +1 +1 -1)

C:(-1 +1 -1 +1 +1 +1 -1 -1) D:(-1 +1 -1 -1 -1 -1 +1 -1)

现收到这样的码片序列:(-1 +1 -3 +1 -1 -3 +1 +1)。问哪个站发送数据了,发送数据的站发送的是0还是1?

设码片序列为S

对于A:A*S = (1 -1 3 1 -1 3 1 1)/8 = 1,因此A发送的是1

对于B:B*S = (1 -1 -3 -1 -1 -3 1 -1)/8 = -1,因此B发送的是0

对于C:C*S = (1 1 3 1 -1 -3 -1 -1)/8 = 0,因此C没有发送数据

对于D:D*S = (1 1 3 -1 1 3 1 -1)/8 = 1,因此D发送的是1

2-17 试比较ADSL,HFC以及FTTx接入技术的优缺点?

非对称数字用户线ADSL技术是用数字技术对现有的模拟电话用户线进行改造,使它能够承载宽带数字业务。ADSL最大的好处就是可以利用现有电话网中的用户线(铜线),而不需要重新布线。有许多老的建筑,电话线都早已存在。但若重新铺设光纤,往往会对原有建筑产生一些损伤。从尽量损坏原有建筑考虑,使用ADSL进行宽带接入就非常合适了。缺点是信号传输距离短,信号衰减大,信号传输不稳定,容易受干扰,故障率高。

光纤同轴混合网(HFC网)是在目前覆盖面很广的有线电视网的基础上开发的一种居民宽带接入网,除可传送电视节目外,还能提供电话、数据和其他宽带交互型业务。优点是覆盖面广,带宽高,传输速率高,缺点是在使用HFC的电缆调制解调器时,在同轴电缆这一段用户所享用的最高数据率是不确定的,因为某个用户所能享用的数据率大小取决于这段电缆上现在有多少个用户正在传送数据。有线电视运营商往往宣传通过电缆调制解调器上网可以达到比ADSL更高的数据率(例如达到10Mbit/s甚至30Mbit/s),但只有在很少几个用户上网时才可能会是这样的。然而若出现大量用户(例如几百个)同时上网,那么每个用户实际的上网速率可能会低到难以忍受的程度。

多种宽带光纤接入方式,称为FTTx。这里字母x可代表不同的光纤接入地点。实际上,FTTx就是把光电转换的地方,从用户家中向外延伸到离用户家门口有一定距离的地方。光纤到户FTTH应当是最好的选择。所谓光纤到户,就是把光纤一直铺设到用户家庭。只有在光纤进入用户的家门后,才把光信号转换为电信号,这样做就可以使用户获得最高的上网速率。但光纤到户FTTH有两个问题:首先是目前的价格还不够便宜;其次是一般的家庭用户也并没有这样高的数据率的需求。要在网上流畅地观看视频节目,有数兆比特每秒的数据率就可以了,不一定非要使用100 Mbit/s或更高的数据率。

2-18 在ADSL技术中,为什么在不到1 MHz的带宽中却可以使传送速率高达每秒几个兆比特?

采用先进的编码技术,每个码元携带多个比特,即每秒传送一个码元就相当于每秒传送多个比特。

2-19 什么是EPON和GPON?

无源光网络PON的种类有很多,但最流行的有以下两种,各有其优缺点。

一种是以太网无源光网络EPON,已在2004年6月形成了IEEE的标准802.3ah,较新的版本是802.3ah-2008.EPON在链路层使用以太网协议。利用PON的拓扑结构实现了以太网的接入。EPON的优点是:与现有以太网的兼容性好,并且成本低,扩展性强,管理方便。

另一种是吉比特无源光网络GPON,其标准是ITU在2003年1月批准的ITU-T G.984。之后更新多次,目前最新的是2010年的G.984.7.GPON采用通用封装方法GEM,可承载多业务,对各种业务类型都能够提供很有潜力的宽带光纤接入技术。

计算机网络(谢希仁-第八版)第三章习题全解

3-01 数据链路(即逻辑链路)与链路(即物理链路)有何区别?"链路接通了"与"数据链路接通了"的区别何在?

链路(物理链路):所谓链路就是指从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点,链路只是一条路径的组成部分。

数据链路(逻辑链路):数据链路就是物理链路加上实现必要的通信协议的软件和硬件。

"链路接通了":表示链路连孤单的节点交换机已经开机,物理连接已经能够传送比特流了。

"数据链路接通了":表示在物理链路的基础上,再建立了数据链路连接,由于数据链路连接具有检测、确认和重传等功能,才使不靠谱的物理链路变成可靠的数据链路。当数据链路断开连接时,物理电路连接不一定跟着断开连接。

3-02 数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点?

数据链路层的链路控制包括封装成帧、透明传输、差错控制等。

若数据链路层做成可靠的链路层,其优缺点取决于应用的环境,对于干扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防止全网络的传输效率受损。对于优质信道可靠的链路层会增大资源开销,影响传输效率。

3-03 网络适配器的作用是什么?网络适配器工作在哪一层?

适配器(即网卡)是实现数据链路层和物理层这两层协议的硬件和软件。

网络适配器工作在数据链路层和物理层。

3-04 数据链路层的三个问题(封装成帧、透明传输和差错检测)为什么都必须加以解决?

1)封装成帧就是在一段数据前后分别添加首部和尾部。接收端以便从收到的比特流中识别帧的开始与结束。帧界定是分组交换的必然要求。

2)透明传输避免消息符号与帧界定符号相混淆。

3)差错检测防止差错的无效数据帧在网络上传输,浪费网络资源。

3-05 如果数据链路层不进行封装成帧,会发生什么问题?

如果在数据链路层不进行封装成帧,那么数据链路层在收到一些数据时,就无法知道对方传送的数据中哪些是数据,哪些是控制信息,甚至数据中有没有差错也不清楚(因为无法进行差错检测)。数据链路层也无法知道数据传送结束了没有,导致不知道应当在什么时候把收到的数据交给上一层。

3-06 PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输?

PPP协议的主要特点:点对点协议,既支持异步链路,也支持同步链路。

PPP不使用帧的编号,因为帧的编号是为了出错时可以有效地重传,而PPP并不需要实现可靠传输。

PPP适用于线路质量不太差的情况下。如果通信线路太差,传输就会频频出错。但PPP又没有编号和确认机制,这样就必须靠上层的协议(有编号和重传机制)才能保证数据传输的正确无误,这样就使数据的传输效率降低。

若使用能够实现可靠传输的数据链路层协议(如HDLC),开销就要增大。在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。在因特网环境下,PPP的信息字段放入的数据是IP数据报。假定采用了能实现可靠传输但十分复杂的数据链路层协议,然而当数据帧在路由器中从数据链路层上升到网络层后,仍有可能因网络拥塞而被丢弃。因此,数据链路层的可靠传输并不能保证网络层的传输也是可靠的。PPP协议在帧格式中有帧检验序列FCS。对于每一个收到的帧,PPP都要使用硬件进行CRC检验,若发现有差错,则丢弃该帧(一定不能把有差错的帧交付给上一层)。端到端的差错检测最后由高层协议负责,因此,PPP协议可保证无差错接受。

3-07 要发送的数据为1101011011。采用CRC的生成多项式是P(X)= X^4 + X + 1。试求应添加在数据后面的余数。

若要发送的数据在传输过程中最后一个1变成了0,即变成了1101011010,问接收端能否发现?

若要发送的数据在传输过程中最后两个1都变成了0,即变成了1101011000,问接收端能否发现?

采用CRC检验后,数据链路层的传输是否就变成了可靠传输?

P(X)=> 10011

1)除数:10011 被除数:11010110110000,经过模二除法,得添加在数据后面的余数为1110

2)若最后一个变为0,被除数:11010110101110,除数:10011,得到余数为0011,余数不为0,则接收端可以发现错误。

3)若最后两个成为0,被除数:11010110001110,除数:10011,得到余数为0101,余数不为0,故接收端可以发现错误。

采用CRC检验,若接收端检测到错误,则丢弃该帧,然后就不做任何操作。因此,缺乏重传机制,数据链路层的传输还不是可靠的传输。

3-08 要发送的数据为101110.采用CRC的生成多项式是P(X)= X^3 + 1。试求应添加在数据后面的余数。

被除数:101110000,除数:1001,模二除法的余数为011,因此,应添加在数据后面的余数为011。

3-09 一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)?

根据字节填充的规则,遇到7E替换成7D 5E,遇到7D替换成7D 5D。

所以真正的数据是:7E FE 27 7D 7D 65 7E。

3-10 PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是 0001110111110111110110,试问删除发送端加入的零比特后会变成怎样的比特串?

1)零比特填充后:011011111011111000

2)删除零比特后:00011101111111111110

3-11 试分别讨论以下各种情况在什么条件下是透明传输,在什么条件下不是透明传输。(提示:请弄清什么是"透明传输",然后考虑能否满足其条件。)

(1)普通的电话通信。

(2)互联网提供的电子邮件服务。

"透明的"表示实际上存在的东西对我们却好像看不见一样或好像不存在一样,从这一点来看:

1)若说话方所说的话,接受方都能准确听清并理解,则是透明的。若话音传输过程中有失真或个别字词有误,但还可以理解,则是基本透明的。若失真或噪声严重,根本听不懂,则是不透明的。对于普通的电话通信通信,由于输入和输入的波形是有差异的,故可以说普通的电话通信不是透明传输。

2)一般而言,电报通信是准确的,收发报文是一致的,故是透明传输。但现代通信规则为安全起见,不允许传输一些普通人看不懂的信息,故是不透明的。

3)一般而言,电子邮件是透明传输,但如果存在垃圾邮件拦截,收方不能打开邮件等情况,则是不透明传输。

3-12 PPP协议的工作协议有哪几种?当用户要使用PPP协议和ISP建立连接进行通信时,需要建立哪几种连接?每一种连接解决什么问题?

PPP协议的工作状态有:链路静止、链路建立、鉴别、网络层协议、链路打开、链路终止。

需要建立的连接有:物理链路的连接、LCP链路的连接(解决LCP配置协商问题)、NCP链路的连接(解决NCP配置协商问题)。

3-13 局域网的主要特点是什么?为什么局域网采用广播通信方式而广域网不采用呢?

局域网LAN是指在较小的地理范围内,将有限的通信设备互联起来的计算机通信网络。

从功能的角度来看,局域网具有以下几个特点:

1)共享传输信道,即多个系统连接到一个共享的通信媒体

2)地理范围有限,用户个数有限,覆盖范围10m~10km内或者更大一些

3)传输速率高,支持计算机之间高速通信,所以时延低

4)因为近距离传输,误码率低

5)多采用分布式和广播通信,局域网各站是平等关系不是主从,可以进行广播,组播。

局域网体系结构和传输控制规程特点:

1)低层协议简单

2)不单独设立网络层,其拓扑结构多采用共享信道,网内不需要转接

3)采用多种媒体访问控制技术

局域网采用广播通信方式而广域网不采用的原因:

局域网内的机器是连接到同一条物理线路,所有主机发数据都经过这条链路,通信方式是放到公用链路,发送给所有主机,接收端对比地址,接受发往自己的数据,丢弃其他数据。如果是广域网,地理空间太大,有更多主机构成,降低网络使用率,严重消耗主机处理能力,可能会导致网络无法运行。同时也造成了数据无效流动,极易产生网络风暴。

3-14 常用的局域网的网络拓扑有哪些种类?现在最流行的是哪种结构?为什么早期的以太网选择总线拓扑结构而不使用星形拓扑结构,但现在却改为使用星形拓扑结构呢?

常用的局域网的网络拓扑有:星形网、环形网、总线网。

目前最流行的网络结构是星形网。

在局域网发展的早期,人们认为有源器件比较容易出故障,因而无源的总线结构一定会更加可靠。星形拓扑结构的中心使用了有源器件,人们就认为比较容易出故障,而要使这个有源器件少出故障,必须使用非常昂贵的有源器件。然而实践证明,连接有大量站点的总线式以太网,由于接插件的接口较多,反而很容易出现故障。现在专用的ASIC芯片的使用可以把星形结构的集线器做得非常可靠,因此现在的以太网一般都是使用星形结构的拓扑。

(常用的局域网的网络拓扑有哪些种类?现在最流行的是哪种结构_百度知道 (baidu.com))

3-15 什么叫做传统的以太网?以太网有哪两个主要标准?

DIX Ethernet V2 标准的局域网称为传统以太网,以太网已发展到了吉比特甚至 10G 比特,因此通常"传统局 域网"是指最早流行的 10Mb/s 速率的以太网。

以太网的两个标准:

1.DIX Ethernet V2标准:是世界上第一个局域网产品的规约,于1982年由DEC公司、英特尔公司和施乐公司联合提出的,数据率为10Mbit/s。

2.IEEE 802.3标准:是IEEE 802委员会的802.3工作组于1983年制定的第一个IEEE的以太网标准,数据率也为10Mbit/s,802.3局域网对以太网标准中的帧格式只做了一点很小的改动,但允许基于这两种标准的硬件实现可以在同一个局域网上互操作。

由于这两种标准只有很小的区别,很多人也常把802.3局域网简称为"以太网",虽然严格意义上来说"以太网"应该是指符合DIX Ethernet V2标准的局域网。

3-16 数据率为10Mbit/s的以太网在物理媒体上的码元传输速率(即码元/秒)是多少?

码元传输速率即为波特率。以太网使用曼切斯特编码,这就意味着发送的每一位都有两个信号周期。标准以太网的数据速率是 10Mbit/s ,因此波特率是数据率的两倍,即 20 码元 / 秒。(这也是曼彻斯特编码的缺陷:它所占的频带宽度比原始的基带信号增加了一倍)

数据率为 10MB/s 的以太网在物理媒体上的码元传输速率是__牛客网 (nowcoder.com)

3-17 为什么LLC子层的标准已制定出来但现在却很少使用?

在20世纪90年代后,以太网在局域网市场中已经取得垄断地位,并且几乎成了局域网的代名词。目前使用最多的只剩下DIX Ethernet V2,而不是IEEE 802委员会制定的几种局域网。IEEE 802委员会制定的逻辑链路控制子层LLC(即IEEE 802.2标准)的作用已经消失了,很多厂商生产的适配器上仅装有MAC协议,而没有LLC协议。

3-18 试说明 10BASE-T 中的"10"、"BASE"、"T"所代表的意思?

"10":指信号在电缆上的传输速率为10Mbit/s

"BASE":表示传输的信号是基带信号

"T":表示双绞线星形网

3-19 以太网使用的CSMA/CD协议是以争用方式接入到共享信道的,这与传统的时分复用TDM相比有何优缺点?

1.CSMA/CD是一种动态的媒体随机接入共享信道方式,而传统的时分复用TDM是一种静态的划分信道,因此对于信道的利用,前者更灵活,可提高信道的利用率。

2.传统时分复用是为用户按时隙固定分配信道,当某个用户没有传输数据时,时隙也不能被其他用户使用,不利于信道的充分利用。而CSMA/CD是用户争用接入共享信道,因此有可能发生碰撞,也会降低信道利用率。

3.对于计算机通信,突发式的数据更不利于TDM。

3-20 假定1km长的CSMA/CD网络的数据率为1 Gbit/s。设信号在网络上的传播速率为200000 km/s。求能够使用此协议的最短帧长?

基本退避时间争用期为端到端的往返时延,而在争用期能发送的比特数就是最短有效帧长,因此最短有效帧长的计算公式为:

S = 数据率 * 往返时延(争用期)

所以: 最短有效帧长 = 1 Gbit/s * (1/200000 km/s * 2) = 10000 bit

3-21 什么叫做比特时间?使用这种时间单位有什么好处?100比特时间是多少微秒?

比特时间:一比特时间就是发送一比特所需要的时间。

好处:便于建立信息长度和发送延迟的关系,这种时间单位与数据率密切相关。

100比特时间:假设数据率是10Mbit/s,则100比特时间等于10us。

3-22 假定在使用CSMA/CD协议的10Mbit/s以太网在某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数 r = 100.试问这个站需要等待多长时间后才能再次发送数据?如果是100Mbit/s的以太网呢?

已知10Mbit/s以太网的争用期是512比特时间,即51.2us(512/10^7),根据退避算法,发送数据应该推迟r个争用期的时间,所以这个站需要等待 5.12ms;

如果是100Mbit/s的以太网,争用期为5.12us(512/10^8),所以此时这个站需要等待 512us。

3-23 公式(3-3)表示,以太网的极限信道利用率与连接在以太网的站点数无关能否由此推论出:以太网的利用率也与连接在以太网上的站点数无关?请说明你的理由。

实际情况中,以太网各站点发送数据的时刻是随机的,而以太网的极限信道利用率的得出是 假定以太网使用了特殊的调度方法(已经不再是CSMA/CD了),使各结点的发送不发生碰撞。实际情况往往不能达到理想状态,所以站点数往往也会影响利用率。

公式(3-3)表示,以太网的极限信道利用率与连接在以太网上的__牛客网 (nowcoder.com)

3-24 假定站点A和B在同一个10Mbit/s的以太网段上。这两个站点间的传播时延为225比特时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所容许的最短的帧,那么A在检测到和B发生碰撞之前能否把自己的数据发送完毕?换言之,如果A在发送完毕之前并没有检测到碰撞,那么能否肯定A所发送的帧不会和B发送的帧发生碰撞?(提示:在计算时应当考虑到每一个以太网帧在发送到信道上时,在MAC帧前面还要增加若干字节的前同步码和帧界定符)。

上图所示的是MAC帧格式,根据题意"A发送的是以太网所容许的最短的帧",那么可知这MAC帧的长度为64字节(即512比特),再加上前同步码和帧开始界定符和8字节,帧长总共为 512+8*8 = 576比特。

假设A站点从T = 0开始发送数据,由于CSMA/CD,B发送数据只能有两种情况:

  1. T = 0~224比特时间:此时B还没有检测到A发送的数据(T=225时,A的数据第一个比特到达B),会发生碰撞

  2. T = >225比特时间:此时B能检测到A发送的数据,不会发生碰撞

根据题意"在A发送完毕之前B也发送一帧",所以B发送数据只能是第一种情况,此时A最晚能在2*225比特时间能检测到碰撞,2*225<576,所以此时A数据一定还没发送完,因此,A不能在检测到碰撞之前将自己的数据发送完毕,也就相当于,如果在A发送完之前没有检测到碰撞,那么A的数据就一定没有和B发生碰撞。

3-25 上题中的站点A和B在t = 0时同时发送了数据帧。当t = 225比特时间,A和B同时检测到了碰撞,并且在t = 225+48=273比特时间完成了干扰信号的传输。A和B在CSMA/CD算法中选择不同的r值退避。假定A和B选择的随机数分别是rA = 0和rB = 1。试问A和B各在什么时间开始重传其数据帧?A重传的数据帧在什么时间到达B?A重传的数据会不会和B重传的数据再次发生碰撞?B会不会在预定的重传时间停止发送数据?

注意:10Mbit/s的以太网的争用期规定为512比特时间

A:

T = 273比特时间完成干扰信号的传输

T = 273+225 = 498比特时间干扰信号最后一个比特到达B,此时A检测到信道空闲

T = 498+rA*争用期+最小帧间间隔(96比特时间) = 594比特时间A开始发送数据到B

T = 594+225 = 819比特时间 A发送数据的第一个比特到达B

B:

T = 273比特时间完成干扰信息的传输

T = 273+rB*争用期=785比特时间,此时B检测到信道空闲

T = 785+最小帧间间隔(96比特时间)=819比特时间,此时B已经收到的A的数据,所以B检测到信道不空闲,所以B停止发送数据,再等待一个随机时间。

因为B停止发送数据,所以A不会与B发送碰撞。

3-26 以太网上只有两个站,它们同时发送数据,产生了碰撞。于是按截断二进制指数退避算法进行重传。重传次数记为i,i = 1,2,3,...。试计算第1次重传失败的概率、第2次重传失败的概率、第3次重传失败的概率,以及一个站成功发送数据之前的平均次数I。

根据退避算法:

第一次重传失败的概率:{0,1}-->{00,11}-->0.5*0.5*2,所以再次碰撞的概率为0.5;

第二次重传失败的概率:{0,1,2,3}-->{00,11,22,33}-->0.25*0.25*4,所以再次碰撞的概率为0.25;

第三次重传失败的概率:{0,1,...,7}-->{00,11,...,77}-->0.125*0.125*8,所以再次碰撞的概率为诶0.125;

百度教育 (baidu.com)

3-27 有10个站连接到以太网上。试计算以下三种情况每一个站所能得到的带宽:

1)10个站都连接到一个10Mbit/s以太网集线器;

2)10个站都连接到一个100Mbit/s的以太网集线器上;

3)10个站都连接到一个10Mbit/s的以太网交换机上;

1)10个站共享10Mbit/s;

2)10个站共享100Mbit/s;

3)每一个站独占10Mbit/s;

3-28 10Mbit/s以太网升级到100Mbit/s、1Gbit/s和10Gbit/s时,都需要解决哪些技术问题?为什么以太网能够在发展的过程中淘汰掉自己的竞争对手,并使自己的应用范围从局域网一直扩展到城域网和广域网?

以太网升级时,由于数据率提高了,帧的发送时间会按比例缩短,这样会影响冲突的检测。

所以需要减少最大电缆长度或增大帧的最小长度,使参数a保持为较小的值,才能有效地检测冲突。

在帧的长度方面,几种以太网都采用802.3标准规定的以太网最小最大帧长,使不同速率的以太网之间可以方便地通信。

100Mbit/s的以太网采用保持最短帧长(64Byte)不变的方法,而将一个网段的最大电缆长度减小到100m,同时将帧间间隔时间由原来的9.6us,改为0.96us。

1Gbit/s以太网采用保持网段的最大长度为100m的方法,用"载波延伸"和"分组突发"的办法使最短帧仍为64字节,同时将争用字节增大为512字节。

传输媒体方面,10Mbit/s以太网支持同轴电缆、双绞线和光纤,而100Mbit/s和1Gbit/s以太网支持双绞线和光纤,10Gbit/s以太网只支持光纤。

计算机网络第3章习题答案 - 豆丁网 (docin.com)

3-29 以太网交换机有何特点?用它怎样组成虚拟局域网?

特点:

1.以太网交换机实质上就是多端口的网桥,通常都有十几个或更多的端口。

2.交换机的每个端口都与单个主机或另一个交换机直接相连,一般都工作在全双工方式。

3.交换机还具有并行性,能连通多对主机,使得多对主机能够同时通信。相互通信的主机都独占媒体,无碰撞地传输数据。具有N个端口的以太网交换机有N个碰撞域。

4.交换机的端口还有存储器,能在输出端口繁忙时把到来的帧进行缓存。

5.交换机是一种即插即用的设备,其内部的帧交换表(又称地址表)是通过自学习算法自动地逐渐建立起来的。

6.以太网交换机一般都具有多种速率的端口,例如,可以具有10Mbit/s,100Mbit/s和1Gbit/s的端口的各种组合,这就大大方便了各种不同情况的用户。

3-30 在图3-30中,某学院的以太网交换机有三个端口分别和学院三个系的以太网相连,另外三个端口分别和电子邮件服务器、万维网服务器以及一个连接互联网的路由器相连。图中A,B和C都是100Mbit/s以太网交换机。假定所有的链路的速率都是100Mbit/s,并且图中的9台主机的任何一个都可以和任何一个服务器或者主机通信。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?

因为交换机的端口是并行通信的,9台主机和两个服务器的总吞吐量为1100M。

3-31 假定图中3-30中的所有链路的速率仍然为100Mbit/s,但三个系的以太网交换机都换成100Mbit/s的集线器。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?

因为集线器的100Mbit/s是所有端口共享的,所以9台主机和两个服务器产生的总的吞吐量的最大值只有500M。

3-32 假定3-30中所有的链路的速率仍然为100Mbit/s,但所有的以太网交换机都换成为100Mbit/s的集线器。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。

因为集线器的100Mbit/s是共享的,所以9台服务器和两个主机产生的总的吞吐量的最大值为100M。

3-33 在图3-31中,以太网交换机有6个端口 ,分别接到5台主机和一个路由器。

在下面的"动作"一栏中,表示先后发送了4个帧。假定在开始时,以太网交换机的交换表是空的。试把该表中的其他的栏目都填写完。

计算机网络(谢希仁-第八版)第四章习题全解

4-01 网络层向上提供的服务有哪两种?试比较其优缺点?

虚电路服务和数据报服务。

虚电路

优点:

1.可以提供可靠的通信服务

2.因为数据是沿着建立的虚电路进行传输的,因此分组的首部不需要携带完整的目的主机 的地址,只需要填写这条虚电路的编号(并不大的整数),因此减少了分组的开销。

3.所有分组可以按序到达,无重复、无丢失。

缺点:

1.每次通信需要建立连接(逻辑连接而非物理连接),数据传输启动慢。

2.同属于一条虚电路的分组只能按照同一路由进行转发,在这条通路上,只要有一个结点 出现故障,整条通路均无法工作。

3.因为网络层要保证可靠传输,所以使用虚电路服务的网络节点交换机也比较昂贵和复 杂。

数据报

优点:

1.每个分组可独立查找转发表进行转发,比较灵活

2.由于传输网络不提供端到端的可靠传输服务,这就使得网络中的路由器比较简单,且价 格较便宜,这就使得网络造价大大降低。

缺点:

1.不能提供可靠的通信服务

2.分组不能有序到达,可能出现分组的重复或者丢失

3.因为网络层不提供可靠通信,因此由主机来负责端到端的可靠性,包括差错处理和流量 控制,因此主机的处理负担比较大。

4-02 网络互连有何实际意义?进行网络互连时,有哪些共同的问题需要解决?

实际意义:

可以使许多异构网络在逻辑层面上看起来是同一种网络,这样的好处是,当IP网上的主机 进行通信时,就好像在一个单个网络上通信一样。

网络互连需要解决的问题有:

1.不同的寻址方案

2.不同的最大分组长度

3.不同的网络接入机制

4.不同的超时控制

5.不同的差错恢复方法

6.不同的状态报告方法

7.不同的路由选择技术

8.不同的服务(面向连接服务和无连接服务)

9.不同的管理与控制方式;等等

4-03 作为中间设备,转发器、网桥、路由器和网关有何区别?

1)物理层使用的中间设备叫做转发器

2)数据链路层使用的中间设备叫做网桥或桥接器,以及交换机

3)网络层使用的中间设备叫做路由器

4)在网络层以上使用的中间设备叫做网关,用网关连接两个不兼容的系统需要在高层进行协议的转换

转发器和网桥仅仅是将一个网络扩大了,从网络层的角度看来,这仍然是一个网络,并不叫网络的互连。

因此当我们讨论到网络互连,都是指用路由器进行网络互连和路由选择。

由于一些历史原因,以前的文献把路由器也叫作网关。

4-04 试简单说明下列协议的作用:IP,ARP和ICMP。

IP协议(Internet Protocol):使许多异构网络互连,以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。

ARP协议(Address Resolution Protocol):地址解析协议,将IP地址映射为MAC地址

ICMP协议(Internet Control Message Protocol):网际控制报文协议,为了有效地转发IP数据报和提高交付成功的机会,在网际层使用了ICMP,ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。

4-05 IP地址如何表示?

整个网络就是一个单一的、抽象的网络。IP地址就是给连接到互联网上的每一台主机(或路由器)的每一个接口,分配一个在全世界范围内是唯一的32位的标识符。

IP地址现在由互联网名字和数字分配机构ICANN进行分配。

对于主机和路由器来说,IP地址都是32位的二进制代码。为了提高可读性,我们常常将32位的IP地址中的每隔8位插入一个空格(但是在机器中并没有这样的空格),为了人们方便记忆和书写,常用其等效的十进制数字表示,并且在每段数字之间加上一个小数点。这就是点分十进制记法。

IP地址不仅标志了这个主机(或路由器),而且还标志了此接口所连接的网络,因此,32位的IP地址采用两级结构,由两个字段组成:网络号+主机号。

网络号标志主机(或路由器)所连接的到的网络,一个网络号在整个互联网范围内必须是唯一的。

主机号标志该主机(路由器)。

因此,一个IP地址在整个互联网范围内是唯一的。

4-06 IP地址的主要特点是什么?

1)IP地址在整个互联网范围内是唯一的

2)所有IP地址是对等的

3)每个IP地址都是由网络号和主机号两部分组成的

4)IP地址管理机构在分配IP地址时,只分配网络号,而剩下的主机号由得到该网络号的单位自行分配,这样便于管理。

4-07 试说明IP地址和MAC地址的区别。为什么要使用这两种不同的地址?

IP地址:被称为虚拟地址、软件地址或逻辑地址,IP地址是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址为逻辑地址是因为IP地址是用软件实现的)。

MAC地址:由于MAC地址已固化在网卡的ROM中,因此常将MAC地址称为硬件地址或物理地址。MAC地址是数据链路层使用的地址。

IP地址放在IP数据报的首部,而MAC地址则放在MAC帧的首部。

为什么要使用这两种不同的地址?

由于全世界存在着各式各样的网络,它们使用不同的MAC地址。要使这些异构网络能够互相通信就必须进行非常复杂的MAC地址转换工作,因此由用户或用户主机来完成这项工作几乎是不可能的事。

即使是对分布在全世界的以太网MAC地址进行寻址,也是极其困难的。

然而IP编址解决了这个问题,连接到互联网的主机只需各自拥有一个IP地址,它们之间的通信就可以像连接在同一个网络上那样简单方便,即便必须多次调用ARP来找到MAC地址,但这个过程都是由计算机软件自动进行的,用户看不见。

4-08 IP地址方案与我国的电话号码体制的主要不同点是什么?

IP地址分为网络号和主机号,它不反映主机地理位置的信息。而电话号码反映有关电话的地理位置的信息,同一地域的电话号码相似。

注:我国电话号码体制是按照行政区域划分的层次结构,同一地域的电话号码有相同的若干位前缀。号码相似的若干话机,其地理位置应该相距较近。IP地址没有此属性。

IP地址方案与我国的电话号码体制的主要不同点是什么_百度知道 (baidu.com)​编辑https://zhidao.baidu.com/question/328934229.html

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

这样做的最大好处是可减少计算的工作量,加快路由器的处理速度。

坏处是不能及时发现数据部分的错误,只有在到达主机的时候才能检查到错误。

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

不要求源站重发,是因为地址字段也有可能出错,从而找不到正确的源站。

不使用CRC,就是为了简化计算。

4-11 设IP数据报使用固定首部,其各字段的具体数值如图所示(除IP地址外,均为十进制形式表示),试用二进制运算方法计算应当写入到首部检验和字段中的数值(用二进制形式表示)。

0100 0101 0000 0000

0000 0000 0001 1100

0000 0000 0000 0001

0000 0000 0000 0000

0000 0100 0001 0001

0000 0000 0000 0000

0000 1010 0000 1100

0000 1110 0000 0101

0000 1100 0000 0110

0000 0111 0000 1001


计算规则,逢二进一,如果最高位有进位,则在得到的结果的最低位加1 。因此得到的结果为0111 0100 0100 1110,取反码为:1000 1011 1011 0001.

4-12 重新计算上题,但使用十六进制运算方法(每16位二进制数字转换为4个十六进制数字,再按十六进制加法规则计算)。比较这两种方法。

根据题意:

4 5 0 0

0 0 1 C

0 0 0 1

0 0 0 0

0 4 1 1

0 0 0 0

0 A 0 C

0 E 0 5

0 C 0 6

0 7 0 9


计算规则,逢16进1,最高位有进位,则在计算结果的最低位加1,因此得到的结果为744E,

取反码为8BB1,由此可见,两种计算结果是相等的。

4-13 什么是最大传送单元MTU?它和IP数据报首部中的哪个字段有关系?

最大传送单元MTU:是数据链路层协议规定的一个数据帧中的数据字段的最大长度。

当一个IP数据报封装成链路层的帧时,此数据报的总长度(即首部加上数据部分)一定不能超过下面数据链路层所规定的MTU值。例如,最常用的以太网就规定其MTU值是1500字节。如果IP数据报超过了最大传送单元MTU的长度,就必须要进行分片。

MTU与IP数据报的总长度字段有关系。

4-14 在互联网中将IP数据报分片传送的数据报在最后的目的主机进行组装。还可以有另一种做法,即数据分片后通过一个网络就进行一次组装。试比较这两种方法的优劣。

在目的站而不是在中间的路由器进行组装更好:

1)路由器处理数据报更简单些

2)并非所有的数据报片都经过同样的路由器,因此在每一个中间的路由器进行组装可能总会缺少几个数据报片

3)也许分组后面还要经过一个网络,它还要给这些数据报划分成更小的片。如果在中间的路由器进行组装就可能会组装多次。

计网|计算机网络网络层一些必须要懂的重难点课后习题整理(二) - 知乎 (zhihu.com)​编辑https://zhuanlan.zhihu.com/p/407381605

4-15 一个3200位长的TCP报文传到IP层,加上160位的首部后称为数据报。下面的互联网由两个局域网通过路由器连接起来,但第二个局域网所能传送的最长数据帧中的数据部分只有1200位,因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的"数据"当然是指局域网看得见的数据)?

第二个局域网所能传送的最长数据帧中的数据部分只有1200bit,可知每一个IP数据报的最大长度是1200bit,故其数据部分长度为:

1200 - 160 = 1040 bit

而TCP交给IP的数据共3200bit = 1024 + 1024 + 1024 + 128,因此3200bit的数据必须划分为4个数据报片。(数据报分片以8字节为单位,因此每个分片字节数必须是8字节的整数倍,最后一个分片不要求)

每个数据报片再加上首部信息:

3200 + 160*4 = 3840 bit

因此,第二个局域网向其上层要传送3840比特的数据。

4-15 (1)试解释为什么ARP高速缓存每存入一个项目就要设置10~20分钟的超时计时器。这个事件设置得太大或太小会出现什么问题?

(2)举出至少两种不需要发送ARP请求分组的情况(即不需要请求将某个目的IP地址解析为相应的MAC地址)

1)因为局域网随时可能会加入主机或者路由器(或者移除主机或路由器),随时需要更新IP地址和MAC地址的映射关系。

如果时间设置的太小,ARP高速缓存记录更新过快,频繁发送ARP请求和应答的时候会占用网络资源,网络负担过重。

如果时间设置的太长,ARP高速缓存记录更新过慢,可能会使更换网卡之后的主机迟迟无法和该网络上的其他主机通信。

2)第一种情况:目的IP地址在ARP高速缓存中有记录,直接在缓存里拿,不需要发送ARP 请求。

第二种情况:源主机发送的是广播分组。

第三种情况:源主机和目的主机使用的是点对点链路(PPP)。

4-17 主机A发送IP数据报给主机B,途中经过了5个路由器。试问在IP数据报的发送过程中总共使用了几次ARP?

总共使用6次ARP

4-18 设某路由器建立了如下转发表:

现共收到5个分组,其目的地址分别为:

1)128.96.39.10

2)128.96.40.12

3)128.96.40.151

4)192.4.153.17

5)192.4.153.90

试分别计算下一跳

1)如果网络号是前26位或者前25位,得到的网络号均为 128.96.39.0,因此匹配的下一跳为接口m0

2)如果网络号是前26位,得到的网络号为128.96.40.0,如果网络号是前25位,得到的网络号也是128.96.40.0,因此匹配的下一跳为R2

3)如果网络号是前26位,得到的网络号为128.96.40.128,如果网络号是前25位,得到的网络号也是128.96.40.128,均匹配失败,因此匹配的下一跳为默认路由R4

4)如果网络号是前26位,得到的网络号为192.4.153.0,如果网络号是前25位,得到的网络号也是192.4.153.0,因此匹配的下一跳为 R3

5)如果网络号是前26位,得到的网络号为192.4.153.64,如果网络号是前25位,得到的网络号也是192.4.153.0,均匹配失败,因此匹配的下一跳为默认路由R4

4-19 某单位分配到一个地址块129.250/16.该单位有4000台机器,平均分布在16个不同的地点。试给每一个地点分配一个地址块,并算出每个地址块中IP地址的最小值和最大值。

4000台机器,平均分布在16个不同的地点,那么每个地点的机器台数:

4000/16 = 250(台)

那么可以算出,至少需要8位主机号(2^7<250<2^8),那么子网号有32-16-8 = 8(位)

因此,

分配的第一个地址块子网号为0000 0001,因此该地址块的IP地址范围为129.250.1.1~129.250.1.254

分配的第二个地址块的子网号为0000 0010,因此该地址块的IP地址范围为129.250.2.1~129.250.2.254

分配的第三个地址块的子网号为0000 0011,因此该地址块的IP地址范围为129.250.3.1~129.250.3.254

分配的第四个地址块的子网号为0000 0100,因此该地址块的IP地址范围为129.250.4.1~129.250.4.254

以此类推,第X个地址块的子网号为X,IP地址范围为129.250.X.1~129.250.X.254

(注意,主机号为全0或全1的IP地址不能被分配)

4-20 一个数据报长度为4000字节(固定首部长度)。现经过一个网络传送,但此网络能够传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值?

首先应该记住,IP数据报的固定首部长度为20字节。

因此,可以算出这个数据报的数据部分长度为4000-20=3980字节,因为当前网络所能传送的最大数据长度为1500字节,因此该网络所能传送的最大数据部分为1480字节,3980 = 1480+1480+1020,所以应当划分为3个短些的数据报片:

第一个数据报片数据字段长度为1480,片偏移字段为0,因为后面还有分片,所以MF = 1

第二个数据报片数据字段长度为1480,片偏移字段为1480/8 = 185(片偏移是以8个字节为偏移单位),因为后面还有分片,所以MF = 1

第三个数据报片数据字段长度为1020,片偏移字段为2960/8 = 370,因为这是最后一个分片,所以MF = 0

4-21 写出互联网的IP层查找路由的算法。

使用CIDR查找路由的算法:

1)从ISP收到的数据报中提取目的IP地址

2)把该IP地址分别和ISP的路由器的路由表中的已有的各项的掩码逐位,将逐位与操作后的结果顺序写出

3)根据最长前缀匹配原则选择目的网络,把收到的数据报转发到所选择的匹配的目的网络

tips:最长前缀匹配原则:在同网段内,掩码越长,越匹配

使用子网掩码查找路由的算法:

1)从收到的数据报首部提取目的IP地址

2)判断是否为直接交付

对路由器直接相连的网络逐个进行检查,用各网络的子网掩码和目的IP地址逐位相与,若匹配上了,就是直接交付(将IP地址转换成MAC地址,数据报封帧发送),转发任务结束;若没有匹配上,就是间接交付。

3)若路由表中有目的地址的特点主机路由,则把数据报传送给路由表中指明的下一套路由,否则执行4)

4)对路由表中的每一行逐个检查,匹配数据报传送给改行指明的下一跳路由器,否则执行步骤5)

5)若路由器中有一个默认路由,则把数据报传送给指定的默认路由器,否则就报告转发分组出错

4-22 有如下的4个/24地址块,试进行最大可能的聚合。

由于四个地址块前两个字节都相同,只需将每个地址块的第三个字节转换为二进制:

212.56.1000 0100.0

212.56.1000 0101.0

212.56.1000 0110.0

212.56.1000 0111.0

可以发现,212.56.1000 01这一部分是相同的,因此可以聚合成212.56.132.0/22

4-23 有两个CIDR地址块208.128/11和208.130.28/22.是否有哪一个地址块包含了另一个地址?如果有,请指出,并说明理由。

208.128/11地址块包含了208.130.28/22这个地址块,因为前一个地址块的前11位与后一个地址块的前11位是相同的。

4-24 已知路由器R1的转发表如下所示:

试画出各网络和必要的路由器的连接拓扑,标注出必要的IP地址和接口。对不能确定的情况应当指明。

(6条消息) 已知路由器R1的路由表如表4-12所示。试画出各网络和必要的路由器的连接拓扑,标注出必要的IP地址和接口。对不能确定的情况应当指明。_W明Z帝M的博客-CSDN博客_r1的路由表​编辑https://blog.csdn.net/W8Z8M/article/details/118066081

4-25 一个自治系统分配到的IP地址块为30.138.118/23,并包含有5个局域网,其连接图如图所示,每个局域网上的主机数分别标注在图4-77上。试给出每一个局域网的地址块(包括前缀)。

如图,

LAN1下有三个局域网,至少需要分配6(2^2-2<3<2^3-2)个地址;

LAN2至少要分配126个地址(2^6-2<91<2^7-2);

LAN3至少要分配254个地址(2^7-2<150<2^8-2);

LAN4至少要分配6个地址(2^2-2<4<2^3-2);

LAN5至少要分配30个地址(2^4-2<15<2^5-2);

因此,如果按照地址从多往少划分,可以是:

LAN1------30.138.118.192/29

LAN2------30.138.118/25

LAN3------30.138.119/24

LAN4------30.138.118.224/29

LAN5------30.138.118.128/27

上面只是众多划分方法中的一种,还可以有很多划分结果

4-26 一个大公司有一个总部和三个下属部门。公司分配到的网络前缀是192.77.33/24.公司的网络布局如图4-78所示。总部共有5个局域网,其中的LAN1~LAN4都连接到路由器R1上,R1再通过LAN5与路由器R2相连。R2和远地的三个部门的局域网LAN6~LAN8通过广域网相连。每一个局域网旁边标明的数字是局域网上的主机数。试给每一个局域网分配一个合适的网络前缀。

如果按照主机数由多到少的顺序来分配,可以是(有多种分法,只要地址块不重叠):

LAN1:192.77.33.0/26(子网号:00)

LAN3:192.77.33.64/27(子网号:010)

LAN8:192.77.33.96/27(子网号:011)

LAN6:192.77.33.128/27(子网号:100)

LAN7:192.77.33.160/27(子网号:101)

LAN2:192.77.33.192/28(子网号:1100)

LAN4:192.77.33.208/28(子网号:1101)

LAN5:192.77.33.224/29(子网号:11100)

4-27 以下地址中的哪一个和86.32/12匹配?请说明理由?

①86.33.224.123 ②86.79.65.216 ③86.58.119.74 ④86.68.206.154

第一个,因为取第一个地址的前12位,与86.32吻合,所以选择第一个,其他三个选项都不吻合。

4-28 以下的地址前缀中的哪一个地址与2.52.90.140匹配?请说明理由?

①0/4 ②32/4 ③4/6 ④80/4

对于①,取2.52.90.140的前4位,等于0,所以匹配

对于②,取2.52.90.140的前4位,等于0!=32,所以不匹配

对于③,取2.52.90.140的前6位,等于0!=4,所以不匹配

对于④,取2.52.90.140的前4位,等于0!=80,所以不匹配

4-29 下面的前缀中的哪一个和地址152.7.77.159及152.31.47.252都匹配,请说明理由?

①152.40/13 ②153.40/9 ③152.64/12 ④152.0/11

④,因为取题目中给的两个地址的前11位,与④都是匹配的,其余选项不符合条件

4-30 与下列掩码相对应的网络前缀各有多少位?

1)192.0.0.0; 2)240.0.0.0; 3)255.224.0.0; 4)255.255.255.252;

掩码中"1 "的个数就是网络前缀的位数,"0"的个数代表主机号的位数。

因此:

1)2位

2)4位

3)11位

4)30位

4-31 已知地址块中的一个地址是140.120.84.24/20.试求这个地址块中的最小地址和最大地址。地址掩码是什么?地址块中共有多少个地址?相当于多少个C类地址?

根据这个IP地址,可以得到该地址块的网络前缀为140.120.80/20,

因此,

最小地址为:140.120.80.0/20,最大地址为:140.120.95.255/20

地址掩码是:255.255.240.0(前20位都是1,后面全为0)

地址块中有2^12个地址

相当于2^12/2^8=16个C类地址

4-32 已知某地址块中的一个地址是190.87.140.202/29.试重新计算上题。

根据这个IP地址,可以得到该地址块的网络前缀为190.87.140.200,

因此,

最小地址为:190.120.87.200/29,最大地址为:190.128.95.207/29

地址掩码是:255.255.255.248(前29位都是1,后面全为0)

地址块中有2^3个地址

相当于2^3/2^8=1/32个C类地址

4-33 某单位分配到一个地址块136.23.12.64/26.现在需要进一步划分为4个一样大的子网。试问:

(1)每一个子网的网络前缀有多长?

(2)每一个子网中有多少个地址?

(3)每一个子网的地址块是什么?

(4)每一个子网可分配给主机使用的最小地址和最大地址是什么?

1)划分为4个子网需要两位子网号,因此每一个子网的网络前缀为26+2=28位

2)每一个子网中有32-28 = 4位主机号,因此一共有2^4个地址

3)每一个子网的地址块为:

①136.23.12.64/28;②136.23.12.80/28;③136.23.12.96/28;④136.23.12.112/28;

4)

可分配的最小地址 可分配的最大地址

136.23.12.65/28 136.23.12.78/28

② 136.23.12.81/28 136.23.12.94/28

③ 136.23.12.97/28 136.23.12.110/28

④ 136.23.12.113/28 136.23.12.126/28

4-34 IGP和EGP这两类协议的主要区别是什么?

IGP-内部网关协议(Interior GateWay Protocol):即在一个自治系统内部使用的路由选择协议,这与在互联网中的其他自治系统选用什么路由选择协议无关。目前这类路由选择协议使用最多的是RIP和OSPF协议。

EGP-外部网关协议(External GateWay Protocol):若源主机和目的主机处在不同的自治系统中(这两个自治系统可能使用不同的内部网关协议),那么在不同自治系统AS之间的路由选择,就需要使用外部网关协议EGP,目前使用最多的外部网关协议是BGP的版本4(BGP-4)

4-35 试简述RIP,ODPF和BGP路由选择协议的主要特点?

RIP主要特点:

①是一个内部网关协议,其最大的优点是简单

②RIP是基于距离向量的路由选择协议,RIP对"距离"的定义是:从一路由器到直接连接的网络的距离定义为1;从一主机到非直接连接的网络的距离定义为所经过的路由器+1

③要求网络中每个路由器都维护从它到其他每一个目的网络的距离的记录

④RIP允许一条路径只能包含15 个网络,因此"距离"等于16即相当于不可达 ,由此可见,RIP只适用于小型网络

⑤RIP要求网络中的路由器仅和相邻路由器交换信息

⑥路由器交换的信息是本路由器所知道的全部信息

⑦按固定时间间隔交换路由信息

⑧"坏消息传的慢,好消息传得快"------网络出故障的传播时间往往较长

OSPF主要特点:

①是一个内部网关协议,是为了克服RIP协议的缺点开发出来的

②OSPF是基于链路状态的路由选择协议

③向本自治系统中所有路由器发送消息------使用洪泛法

④发送的消息就是与本路由器相邻的所有路由器的链路状态 (只是交换的部分信息,而非全部信息)

⑤当链路状态发生变化每隔一段时间,路由器向所有路由器用洪泛法发送链路信息

⑥由于各路由器之间频繁的交换路由状态信息,因此所有的路由器最后都能建立一个链路状态信息库------即全网的拓扑结构图

⑦OSPF的最大优点是更新过程收敛得快

BGP主要特点:

①BGP是一种外部网关协议,其着眼点不在于发现和计算路由,而在于控制路由的传播选择最佳路由

②BGP使用TCP作为其传输层协议(端口号:179),提高了协议的可靠性

③BGP是一种距离矢量 路由协议,在设计上就避免了环路的发生

④BGP提供了丰富的路由策略,能够实现路由的灵活过滤和选择

⑤BGP采用触发式增量更新,而不是周期性更新

4-36 RIP使用UDP,OSPF使用IP,而BGP使用TCP。这样做有何优点?为什么RIP周期性地和邻站交换路由信息而BGP却不这样做?

BGP作为自治系统之间的路由协议,需要携带大量的路由信息,远远超出了IGP携带路由的数量。因此,BGP需要采用一种可靠的协议来承载。BGP选择了TCP协议作为其传输信息的协议,而不是IP/UDP。这样做的好处是:TCP是一种面向连接的协议,自身能够保证数据传输的可靠,通过重传等机制保证路由协议报文在网络中传输的可靠性,因此BGP协议本身可以省去保证传输可靠性的设计工作,简化了协议的设计。

而RIP、OSPF由于使用的是非面向连接的协议(UDP/IP),UDP/IP协议本身无法保证路由协议报文的可靠传输,因此RIP、OSPF就必须通过自身的协议实现来保证路由协议报文在网络中的可靠传输。为了做到这一点,RIP采用了定期更新的方法,每隔一个固定时间就重传路由,OSPF通过主从协商来做路由更新报文的隐式确认。

RIP使用UDP,OSPF使用IP,而BGP使用TCP.这样做有何优点 为什么RIP周期性地和邻站交换路由信息而BGP却不这样_百度知道 (baidu.com)​编辑https://zhidao.baidu.com/question/22380859.html

4-37 假定网络中的路由器B的路由表有如下的项目(这三列分别表示"目的网络""距离"和"下一跳路由器"):

现在B收到从C发来的路由信息(这两列表示"目的网络"和"距离")

试求出路由器B更新后的路由表(详细说明每一个步骤)

对于第一条信息:目的网络是N2,距离是5,下一跳是C,说明B经由C到N2的路由发生了变化,因此直接更新路由信息。

对于第二条信息:目的网络是N3,距离是9,下一跳是C,发现原来的路由表没有到N3的路由,因此直接在路由表中加入该路由信息

对于第三条信息:目的网络是N6,距离是5,下一跳是C,发现原来的路由表中有一条经由B到N6的路由,距离为8>5,因此更新该路由信息

对于第四条信息:目的网络是N8,距离是4,下一跳是C,发现原来的路由表中有一条经由E到N8的路由,距离为4=4,因此不更新该路由信息

对于第五条信息:目的网络是N9,距离是6,下一跳是C,发现原来的路由表中有一条经由F到N9的路由,距离为4<6,因此不更新该路由信息

因此,更新之后的路由表为:

N1 7 A

N2 5 C

N3 9 C

N6 5 C

N8 4 E

N9 4 F

4-38 网络如图4-79所示。假定AS1和AS4运行程序RIP,AS2和AS3运行程序OSPF。AS之间运行程序eBGP和iBGP。目前先假定在AS2和AS4之间没有物理连接(图中的虚线表示这个假定)

(1)路由器R3c使用哪一个协议知道前缀X(X在AS4中)?

(2)路由器R3a使用哪一个协议知道前缀X?

(3)路由器R1c使用哪一个协议知道前缀X?

(4)路由器R1d使用哪一个协议知道前缀X?

(1)eBGP协议

(2)iBGP协议

(3)eBGP协议

(4)iBGP协议

4-39 网络同上题。路由器R1d知道前缀X,并将前缀X写入转发表。

(1)试问路由器R1d应当从接口1还是接口2转发分组呢?请简述理由。

(2)现假定AS2和AS4之间有物理连接,即图中的虚线变成了实线。假定路由器R1d知道到达前缀X可以经过AS2,但也可以经过AS3。试问路由器R1d应当从接口1还是接口2转发分组呢?请简述理由。

(3)现假定有另一个AS5处在AS2和AS4之间(图中的虚线之间未画出AS5)。假定路由器R1d知道到达前缀X可以经过路由[AS2 AS5 AS4],但也可以经过路由[AS3 AS4]。试问路由器R1d应当从接口1还是接口2转发分组呢?请简述理由。

(1)从接口1转发分组,因为AS4和AS2之间没有物理连接,用接口2的话,路由器之间的转发会更多

(2)从接口2转发分组,AS2和AS4之间有了物理连接,从接口2转发会减少路由器之间的转发时间

(3)从接口1转发分组,因为不知道AS5之间的路由器转发次数,多经过一个AS5可能会多很多次路由器转发,浪费时间

4-40 IGMP协议的要点是什么?隧道技术在多播中是怎样使用的?

IGMP是网际组管理协议,它不是一个单独的协议,而是属于整个网际协议IP的一个组成部分。IGMP并非是在互联网范围内对所有多播组成员进行管理的协议。IGMP不知道多播组包含的成员数,也不知道这些成员都分布在哪些网络上。IGMP协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机(严格讲,是主机上的某个进程)参加或退出了某个多播组。

显然,仅有IGMP协议是不能完成多播任务的。连接在局域网上的多播路由器还必须和互联网上的其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有的组成员。这就需要使用多播路由协议。

从概念上讲,IGMP的工作可分为两个阶段:

①第一个阶段:当某个主机加入新的多播组时,该主机应向多播组的多播地址发送一个IGMP报文,声明自己要成为该组的成员。本地的多播路由器收到IGMP报文后,还要利用多播路由选择协议把这种组成员关系转发给互联网上的其他多播路由器。

②第二个阶段:组成员的关系是动态的。本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。只要有一个主机对某个组响应,那么多播路由器就认为这个组是活跃的。但一个组在经过几次的探询后仍然没有一个主机响应,多播路由器就认为本网络上的主机已经都离开了这个组,因此也就不在把这个组的成员关系转发给其他的多播路由器。

隧道技术适用于多播组的位置在地理上很分散的情况。例如在下图中,网1和网2都支持多播。现在网1中的主机向网2中的一些主机进行多播。但路由器R1和R2之间的网络并不支持多播,因而R1和R2不能按多播地址转发数据报。为此,路由器R1就对多播数据报再次进行封装,即再加上普通数据报首部,使之成为向单一目的站发送的单播数据报,然后通过"隧道"从R1发送到R2。

单播数据报到达路由器R2后,再由路由器R2剥去其首部,使它又恢复成原来的多播数据报,继续向多个目的站转发。

百度教育 (baidu.com)​编辑https://easylearn.baidu.com/edu-page/tiangong/questiondetail?id=1726852096618837849&fr=search

4-41 什么是VPN?VPN有什么特点和优缺点?VPN有几种类别?

VPN------虚拟专用网,用于同一机构之间的主机的之间的通信的"专用网",这里"专用网"不是真正的专用,而是使用隧道技术使得同一机构之间的主机利用外部的互联网通信,就像主机之间直接使用专用网进行通信一样。

VPN的特点:

(1)安全保障。VPN通过建立一个隧道,利用加密技术对传输数据进行加密,以保证数据的私有和安全性。

(2)服务质量保证(QoS)。VPN可以为不同要求提供不同等级的服务质量保证。

(3)可扩充性和灵活性。VPN支持通过Internet和Extranet(外联网,外部网,企业间网络)的任何类型的数据流。

(4)可管理性。VPN可以从用户和运营商角度方便进行管理。

VPN的优缺点:

优点:

①与传统的广域网相比,虚拟专用网能够减少运营成本以及降低远程用户的连接成本。此外,虚拟专用网固定的通讯成本有助于企业更好地了解自己的运营开支。虚拟专用网还能够提供低成本的全球网络机会。

②虚拟专用网提供一个高水平的安全,使用高级的加密和身份识别协议防止数据被窥探,防止数据窃贼和其它非授权的用户窥探数据。

③设计良好的宽带虚拟专用网是模块化的和伸缩性的。虚拟专用网技术能够让应用者使用容易设置的互联网基础设施,允许迅速地和方便地向这个网络增加新用户。这个能力意味着企业不必增加额外的基础设施就能够提供大量的网络容量和应用。

④虚拟专用网能够让移动员工、远程办公人员、业务合作伙伴和其他人利用本地可用的、高速宽带接入技术访问公司的网络,如DSL、线缆和wifi等技术。此外,高速宽带连接为连接远程办公室提供一个节省成本的方法。

缺点:

①基于互联网的虚拟专用网的可靠性和性能不再企业的直接控制之下。机构必须依靠提供虚拟专用网的互联网服务提供商保持服务的启动和运行。这个因素对于与互联网服务提供商协商一个服务级协议,从而创建一个保证各种性能指标的协议,是非常重要的。

②企业创建和部署一个虚拟专用网并不是非常容易。这个技术需要对网路和安全问题有高水平的理解以及认真地规划和配置。因此,选择一个互联网服务提供商处理更多的具体的运营问题是一个好主意。

③不同厂商的虚拟专用网产品和解决方案并不是总是相互兼容的,因为许多厂商不愿意或者没有能力遵守虚拟专用网技术标准。因此,设备的混合搭配可能引起技术难题。另一方面,使用一家供应商的设备也许会增加成本。

④虚拟专用网在与无线设备一起使用时会产生安全风险。接入点之间的漫游特别容易出现问题。当用户在接入点之间漫游的时候,任何依靠高水平加密的解决方案都会被攻破。幸运的是有一些第三方解决方案能够解决这个缺陷。

VPN的类别:内联网、外联网、远程接入VPN

4-42 什么是NAT?NAPT有哪些特点?NAT的优点和缺点有哪些?

NAT:

NAT是在内部专用网络中使用本地地址,而当内部主机要与外界网络发生联系时,就在边缘路由器或者防火墙处,将内部地址替换成全球地址,即可路由的合法注册地址,从而在外部公共网上正常使用,其具体的做法是把IP包内本地地址域用全球IP地址来替换。

NAPT特点:

将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号,这样就可以使多个拥有本地地址的主机,共用NAT路由器上的一个全球IP地址。

NAT的优点:

  • 节省全球地址

  • 处理地址交叉

  • 增强灵活性

  • 安全性

NAT的缺点:

  • 延迟增大

  • 配置和维护的复杂性

  • 不支持某些应用

什么是NAT?NAPT有哪些特点?NAT的优点和缺点有哪些?NAT的优点和缺点有哪些?_百度知道 (baidu.com)​编辑https://zhidao.baidu.com/question/159880404.html

4-43 试把下列IPv4地址从二进制记法转换为点分十进制记法。

(1)129.11.11.239

(2)193.131.27.255

(3)231.219.139.111

(4)249.155.251.15

4-44 假设一段地址的首地址为146.102.29.0,末地址为146.102.32.255,求这个地址段的地址数。

(32-29+1)x(255-0+1) = 1024(个)

4-45 已知一/27网络中有一个地址是167.199.170.82,问这个网络的网络掩码、网络前缀长度和网络后缀长度是多少?

网络掩码:255.255.255.224

网络前缀长度:27

网络后缀长度:5

4-46 已知条件同上题,试求这个地址块的地址数、首地址以及末地址各是多少?

地址数:2^5 = 32

首地址:167.199.170.64

末地址:167.199.170.95

4-47 某单位分配到一个地址块14.24.74.0/24.该单位需要用到三个子网,对这三个子地址块的具体要求是:子网N1需要120个地址,子网N2需要60个地址,子网N3需要10个地址。请给出地址块的分配方案。

要分成三个子网,至少需要两位子网号2^2>3,因此:

分配方案可以是:

N1: 14.24.74.0/26

N2:14.24.74.128/26

N3: 14.24.74.192/26

4-48 如图4-80所示,网络145.13.0.0/16划分为四个子网N1,N2,N3和N4.这四个子网与路由器R连接的接口分别是m0,m1,m2和m3.路由器R的第五个接口m4连接到互联网。

(1)试给出路由器R的路由表

(2)路由器R收到分组,其目的地址是145.13.160.78.试给出这个分组是怎样被转发的。

(1)

目的网络 子网掩码 下一跳

145.13.0.0/18 255.255.192.0 m0

145.13.64.0/18 255.255.192.0 m1

145.13.128.0/18 255.255.192.0 m2

145.13.192.0/18 255.255.192.0 m3

其他 M m4

(2)145.13.160.78由m2转发

4-49 收到一个分组,其目的地址D = 11.1.2.5。要查找的转发表有这样的三项:

试问在转发这个分组时应当选择哪一个路由?

根据最长前缀匹配原则,虽然三个路由都能匹配上,但是路由3是最长的,因此应该选择路由3.

4-50 同上题。假定路由1的目的网络 11.0.0.0/8中有一台主机H,其IP地址是11.1.2.3。当我们发送一个分组给主机H时,根据最长前缀匹配准则,上面的这个转发表却把这个分组转发到路由3的目的网络11.1.2.0/24.是最长前缀匹配准则有时会出错吗?

最长前缀匹配准则是没有问题的,问题处在主机H的IP地址

如果单纯看网络11.0.0.0/8,那么就知道这个网络的前缀是8位,剩下的24位是主机号host-id,因此把host-id = 1.2.3分配给某个主机是完全可以的。

请注意,网络11.1.2.0/24是网络11.0.0.0/8的一个子网,而IP地址11.1.2.3正是子网11.1.2.0/24的一个合法IP地址。网络11.0.0.0/8在分配本网络的主机号时,不允许重复使用子网11.1.2.0/24中的任何一个地址。这样做会引起网络地址块的重叠,因而引起了混乱。

百度教育 (baidu.com)​编辑https://easylearn.baidu.com/edu-page/tiangong/questiondetail?id=1727693064409941375&fr=search

4-51 已知一CIDR地址块为200.56.168.0/21.

(1)试用二进制形式表示这个地址块

(2)这个CIDR地址块包括有多少个C类地址块?

(1)110 1000.0011 1000.1001 1000.0000 0000

(2)2^(32-21)/2^8 = 2^3(个)

4-52 建议的IPv6协议没有首部检验和。这样做的优缺点是什么?

优点:

取消了首部检验和,这样就加快了路由器处理数据报的速度。

缺点:

数据链路层已经将有差错的帧丢弃了,因此网络层可以省去这步骤,但不排除也有数据链路层检测不出来的差错,这个概率是极小的。

4-53 在IPv4首部中有一个"协议"字段,但在IPv6的固定首部中却没有。这是为什么?

在IP数据报传送的路径上的所有路由器都不需要这一字段的信息,只有目的主机才需要协议字段。在IPv6使用"下一个首部"字段完成IPv4中的"协议"字段的功能。

4-54 当使用IPv6时,协议ARP是否需要改变,如果需要改变,那么应当进行概念性的改变还是技术性的改变?

从概念上讲不需要改变。在技术上由于被请求的IP地址现在变大了因此需要比较大的域(也称段)。

当使用IPv6时,是否ARP协议需要改变?如果需要改变,那么应当概念性的改变还是 - 找题吧 (zhaotiba.com)​编辑https://www.zhaotiba.com/shiti/9412927.html

4-55 IPv6只允许在源点进行分片。这样做有什么好处?

IPV6把分片限制为由源点来完成可以保证采用的最小MTU(1280字节),或者在发送数据前完成路径最大传送单元,以确定沿着该路径到终点的最小MTU。当需要分片时,源点在发送数据报前先把数据报分片,保证每个数据报片都小于此路径的MTU.因此,分片是端对端的,路径途中的路由器不允许进行分片。

端对端分片,可以减少路由器开销,简化了中间节点对数据报的处理,允许路由器在单位时间内处理更多的数据报。

IPv6 只允许在源点进行分片。这样做有什么好处?__牛客网 (nowcoder.com)​编辑https://www.nowcoder.com/questionTerminal/c880c2737f8e404eb5a62f44f2598b06

4-56 设每隔1微微秒就分配出100万个IPv6地址。试计算大约要用多少年才能将IPv6地址空间玩不用光。可以和宇宙的年龄(大约有100亿年)进行比较。

据计算,

2^128/10^18/3600/24/265 = 1.08^14(约等于)

相当于10^3个宇宙的年龄

4-57 试把以下的IPv6地址用零压缩法写成简洁的形式:

(1)::F53:6382:AB00:67DB:BB27:7332

(2)::4D:ABCD

(3)::AF36:7328:0:87AA:398

(4)2819:AF::35:CB2:B271

4-58 试把以下的零压缩的IPv6地址写成原来的形式:

(1)0000:0000:0000:0000:0000:0000:0000:0000

(2)0000:00AA:0000:0000:0000:0000:0000:0000

(3)0000:1234:0000:0000:0000:0000:0000:0003

(4)0123:0000:0000:0000:0000:0000:0001:0002

4-59 从IPv4过渡到IPv6的方法有哪些?

由于现在整个互联网的规模太大,因此,"规定一个日期",从这一天其所有的路由器一律都改用IPv6,显然是不可行的,这样,向IPv6过渡只能采用逐步演进的办法,同时,还必须使新安装的IPv6系统能够向后兼容。

下面是两种向IPv6过渡的策略:

①双协议栈:

指在完全过渡到IPv6之前,使一部分主机(或路由器)同时装有IPv4和IPv6这两种协议,双协议栈主机使用域名系统DNS来查询目的主机使用的是哪一种协议,若DNS返回的是IPv4地址,那么源主机就使用IPv4地址,否则就使用IPv6.但是这种方式需要付出的代价太大,因为要安装上两套协议。

②隧道技术:

比上面的方式要好,这种方法的要点就是在IPv6数据报要进入IPv4网络时,把IPv6数据报封装成为IPv4数据报。这样的IPv4数据报从路由器A经过C和D,传送到E时,IPv6数据报就好像在IPv4网络的隧道中传输。

4-60 多协议标签交换MPLS的工作原理是怎样的?它有哪些主要的功能?

工作原理:

在传统的IP网络中,分组每到达一个路由器,都必须查找路由表,并按照"最长前缀匹配"的原则找到下一跳的IP地址。当网络很大时,查找含有大量项目的路由表要花费很多时间,在出现突发性的通信量时,往往还会使缓存溢出,这就会引起分组丢失、传输时延增大和服务质量下降。

MPLS的一个重要特点就是不用长度可变的IP地址前缀来查找转发表的匹配项目,而是给每一个进入MPLS域的IP数据报打上固定长度的"标记",然后对打上标记的IP数据报用硬件进行转发,这就使得IP数据报转发的过程省去了每到达一个路由器都要上升到第三层用软件查找路由表的过程,因而IP数据报转发的速率就大大加快了。

采用硬件技术对打上标记的IP数据报进行转发就称为标记交换,"交换"也表示在转发是=时不再上升到第三层查找转发表,而是根据标记在第二层用硬件进行转发。MPLS可使用多种链路层协议,如PPP、以太网、ATM以及帧中继等。

主要的功能:

(1)属于一种面向连接的连网技术。

(2)在MPLS域中的各标记交换路由器LSR,使用专门的标记分配协议LDP交换报文,并找出和特定标记相对应的路径。当IP数据报进入MPLS域时就被打上标记,然后在MPLS域的核心部分标记交换路由器LSR利用硬件进行转发,这样就加快了IP数据报的转发速度。

(3)在MPLS的上面可以采用多种协议,但最常用的是IP协议。

(4)具有转发等价类FEC的功能。入口结点并不是给每一个IP数据报指派一个不同的标记,而是将属于同样FEC的IP数据报都指派同样的标记,因而都按照同样方式转发。

(5)MPLS可以把FEC用于负载平衡。网络管理员采用自定义的FEC就可以更好地管理网络的资源。这种均衡网络负载的做法也称为流量工程。

4-61 SDN的广义转发与传统的基于终点的转发有何区别?

①传统的转发是根据转发表来转发分组,而广义转发是基于"流表"进行转发的。

②广义转发不仅是转发分组,而且可以把具有相同目的地址的分组从不同的接口转发出去(为了负载均衡)。

③广义转发还可以重写IP首部,或者可以人为地阻挡或丢弃一些分组。

④广义转发不仅是可以在网络层,而是可以对应各种层次,所以完成广义转发的设备,不应该称为路由器,而是叫做:分组交换机或OpenFlow交换机。

4-62 试举出IP数据报首部中能够在OpenFlow1.0中匹配的三个字段。试举出在OpenFlow中不能匹配的三个IP数据报首部。

能够匹配的:IP目的、VLAN优先权、目的MAC

不能够匹配的:TTL字段、数据报长度、差错检验

4-63 网络如图4-81所示

(1)假定路由器R1把所有发往网络前缀123.1.2.16/29的分组都从接口4转发出去。

(2)假定路由器R1要把H1发往123.1.2.16/29的分组从接口4转发出去,而把H2发往123.1.2.16/29的分组从接口3转发出去。

试问,在上述两种情况下,你都能够给出路由器R1的转发表吗?转发表只需要给出发往123.1.2.16/29的分组应当从哪一个接口转发出去。

(1) 网络前缀 转发接口

123.1.2.16/29 接口4

(2)根据题目的条件,无法给出转发表

4-64 已知一具有4个接口的路由器R1的转发表如表4-11所示,转发表的每一行给出了目的地址的范围,以及对应的转发接口。

(1)试把以上转发表改换为另一种形式,其中的目的地址范围改为前缀匹配,而转发表由4行增加为5行

(2)若路由器收到一个分组,其目的地址是:

试给出每一种情况下分组应当通过的转发接口。

(1)转发表如下:

(2)根据最长前缀匹配原则

a.接口2

b.接口1

c.接口2

4-65 一路由器连接到三个子网,这三个子网共同的前缀是255.2.17/24.假定子网N1要有62台主机,子网N2要有105台主机,而子网N3要有12台主机。试分配这三个子网的前缀。

分配方案可以是:

N2:255.2.17.0/25

N1:255.2.17.128/26

N3:255.2.17.192/28

计算机网络(谢希仁-第八版)第五章习题全解

5-01 试说明运输层在协议栈中的地位和作用。运输层的通信和网络层的通信有什么重要的区别?为什么运输层是必不可少的?

地位和作用:

从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能的最低层,当网络边缘部分的两台主机使用网络核心部分的功能进行端到端的通信时,都要使用协议栈中的运输层。

网络层和运输层通信的重要区别:

从IP层来说,通信的两端是两台主机,IP数据报的首部明确标志了这两台主机的IP地址。但实际上,真正进行通信的实体是在主机中的应用进程------是一台主机中的应用进程和另一台主机中的应用进程在交换数据(即通信)。

因此,IP协议虽然能把分组送到目的主机,但是这个分组还停留在主机的网络层而没有交付主机中的应用进程。

而运输层正是实现主机间进程通信的协议层,实现不同主机之间进程的"逻辑通信"(逻辑通信的意思是:从应用层来看,只要应用层报文交给下面的运输层,运输层就可以将这报文传送到对方的运输层。。好像这种通信就是沿水平方向直接传送数据,但事实上这两个运输层之间并没有一条水平方向的物理连接,数据的传送是经过多个层次传送的)

为什么运输层必不可少:

正如前面所说的,真正通信的实体是主机之间的不同进程,因此,需要运输层将网络分组交付给进程,完成进程间的通信。除此之外,由于网络层的不可靠性,运输层还要对收到的报文进行差错检测,运输层的TCP协议还可以保证可靠传输。

5-02 网络层提供数据报或虚电路服务对上面的运输层有何影响?

网络层提供的数据报或虚电路服务不影响上面的运输层的运行机制,但提供不同的服务质量。

网络层所提供的服务越多,传输层协议就可以做得越简单。

虚电路服务的思路是:可靠通信应当由网络来保证 。它规定属于同一条虚电路的分组按照同一路由进行转发,而且转发的方式总是按发送的顺序以此到达终点。这样做虽然使中间的网络节点造价比通信端点造价高,但这样能基本保证报文无差错、不丢失、不重复且按序地进行交付,因此运输层的协议就可以做得很简单。

数据报服务的思路是:可靠通信由用户主机来保证,它对运输层只提供简单灵活,无连接的,尽最大努力交付的数据报服务,是不可靠的通信。因此,若要保证通信的质量,要求主机有一个复杂的传输协议,这个协议就交给运输层。

(26条消息) 【计算机网络 (谢希仁) 习题题解】第5章 运输层 (1)------UDP_计算机网络第八版谢希仁课后答案第五章_今岁成蹊的博客-CSDN博客​编辑https://blog.csdn.net/HPP_CSDN/article/details/117250463

5-03 当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接还是无连接的?

这个问题得从不同层次来看:

若是运输层,TCP是面向连接的,为应用程序提供端到端的可靠传输服务。

若是IP层,IP是无连接的,是不可靠的传输,可能丢包、乱序等。

5-04 试画图解释运输层的复用。画图说明许多个运输用户复用到一条运输连接上,而这条运输连接又复用到IP数据报上。

在一台主机中经常有多个应用进程分别和另一台主机中的多个应用进程通信。

在上图中,主机A的进程AP1和主机B的进程AP3通信,而此时,AP2也和对方的AP4通信。他们都可以用同一个运输层协议进行数据交换(当然要加上适当的首部),这表明运输层有个很重要的功能------复用。

复用------发送方不同的应用进程都可以使用同一个运输层协议传输数据

分用------接收方的运输层在剥去报文的首部后能够把这些数据正确交付目的应用进程

IP层的复用和分用:发送方使用不同协议的数据都可以封装成IP数据报发送出去,而在接收方的IP层根据IP首部的协议字段进行分用,把剥去首部的数据交付应当接受这些数据的协议。

5-05 试举例说明有些应用程序愿意采用不可靠的UDP,而不愿意采用可靠的TCP。

实时数据:

比如QQ聊天、视频播放平台哔哩哔哩等。在互联网上传输实时数据的分组时,有可能会出现差错甚至丢失。如果利用TCP协议对这些出错或丢失的分组进行重传,那么时延就会大大增加。因此,实时数据的传输在运输层就应采用用户数据报UDP协议。这就是意味着,对于实时数据的传输,我们宁可丢失少量分组,也不要等待太晚到达的分组。在连续的音频和视频数据流中,很少量的分组丢失对播放效果的影响不大,因而是可以容忍的。

另外,当网络出现拥塞时,TCP的拥塞控制就会让TCP的发送方放慢报文段的发送。可能有的应用程序就不愿意放慢其报文段的发送速度。

其次,可能有的应用程序不需要TCP的可靠传输,在上面这些情况下,就宁可使用UDP来传送。

试举例说明有些应用程序愿意采用不可靠的 UDP,而不愿意采用__牛客网 (nowcoder.com)​编辑https://www.nowcoder.com/questionTerminal/dbb080e409654ca683f37dfef88500d5

5-06 接收方收到有差错的UDP用户数据报时应如何处理?

因为UDP首部的检验和字段,会检验首部和数据部分。

如果有差错,接收方会丢弃这个用户数据报;

但是也可以上交给应用层,但要附上出现了差错的警告。

5-07 如果应用愿意使用UDP完成可靠传输,这可能吗?请说明理由。

这是可能的,但这要由应用层自己来完成可靠传输。例如,应用层自己使用可靠传输协议。

底层不保证可靠传输,又想实现可靠传输,这就只能将可靠传输交付上层来实现了。

计网|计算机网络传输层(运输层)一些必须要懂的重难点课后习题整理(一) - 知乎 (zhihu.com)​编辑https://zhuanlan.zhihu.com/p/402864699

5-08 为什么说UDP是面向报文的,而TCP是面向字节流的?

UDP是面向报文的:发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对用用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这意味着,应用层交给UDP多长的报文,UDP就照样发送,即一次发送一整个报文。所以说UDP是面向报文传输的。

TCP是面向字节流:TCP中的"流"指的是流入到进程或从进程流出的字节序列。虽然应用程序和TCP的交互是一次一个数据块(大小不等),但是TCP把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。

5-09 端口的作用是什么?为什么端口号要划分为三种?

我们知道,通信的实体是主机之间的进程。在单个计算机中的进程是用进程标识符来标志的,但是在互联网中,计算机的操作系统种类很多,不同的操作系统又使用不同格式的进程标识符。为了使运行在不同操作系统上的计算机中的进程能够相互通信,就必须用统一的方法对应用进程进行标志。

但是,将一个特点机器上运行的特定进程,指明为互联网上通信的最后终点时不可行的。这是因为进程是动态的程序,进程的创建和撤消都是动态的,通信的一方几乎无法知道和识别对方机器上的进程。另外,我们往往需要利用目的主机提供的功能来识别终点,但是不一定要知道这个服务器的功能是由目的主机的哪一个进程实现的。

因此,端口就应运而生了。在应用层和运输层之间的界面上,设置一个特殊抽象的"门",应用层中的应用要通过运输层发送到互联网,就必须通过这个"门",这个"门"就是端口。

简而言之,端口的作用就是对TCP/IP体系的应用进程进行统一的标志,使运行在不同操作系统的计算机的应用进程能够互相通信。

将端口号分为3类是因为:避免端口号重复,无法区分应用进程。二是因特网上的计算机通信都是采用C/S方式,在客户发起通信请求时,必须知道服务器的端口,对于一些主要
的应用程序,必须让所有用户知道。

端口的作用是什么?为什么端口号要划分为三种?__牛客网 (nowcoder.com)​编辑https://www.nowcoder.com/questionTerminal/2698c6c392cd47f0abf7954dabb22f36?page=1&onlyReference=false#:~:text=%E7%AB%AF%E5%8F%A3%E7%9A%84%E4%BD%9C%E7%94%A8%E6%98%AF%E5%AF%B9TCP%2FIP%E4%BD%93%E7%B3%BB%E7%9A%84%E5%BA%94%E7%94%A8%E8%BF%9B%E7%A8%8B%E8%BF%9B%E8%A1%8C%E7%BB%9F%E4%B8%80%E7%9A%84%E6%A0%87%E5%BF%97%EF%BC%8C%E4%BD%BF%E8%BF%90%E8%A1%8C%E4%B8%8D%E5%90%8C%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%9A%84%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%9A%84%E5%BA%94%E7%94%A8%E8%BF%9B%E7%A8%8B%E8%83%BD%E5%A4%9F%E4%BA%92%E7%9B%B8%E9%80%9A%E4%BF%A1%E3%80%82,%E6%8A%8A%E7%AB%AF%E5%8F%A3%E5%88%92%E5%88%86%E4%B8%BA3%E7%B1%BB%E6%98%AF%E5%9B%A0%E4%B8%BA%EF%BC%9A%E9%81%BF%E5%85%8D%E7%AB%AF%E5%8F%A3%E5%8F%B7%E9%87%8D%E5%A4%8D%EF%BC%8C%E6%97%A0%E6%B3%95%E5%8C%BA%E5%88%86%E5%BA%94%E7%94%A8%E8%BF%9B%E7%A8%8B%E3%80%82

5-10 试说明运输层中伪首部的作用。

伪首部并不是UDP用户数据报真正的首部,只是在计算检验和时,临时添加在UDP用户数据包前面,得到一个UDP用户数据报。

检验和就是按照这个临时的UDP用户数据报来计算的。这个伪首部既不向下传送也不向下递交,仅仅是为了计算检验和。

5-11 某个应用进程使用运输层的用户数据报UDP,然后继续向下交给IP层后,又封装成IP数据报。既然都是数据报,是否可以跳过UDP而直接交给IP层?哪些功能UDP提供了但IP没有提供?

不可以。

IP数据报承担了主机寻址功能,可以找到目的主机,却无法找到目的进程,分组还是停留在网络节点中,而无法到达通信实体。

UDP提供了对进程的分用和复用功能,以及对数据报的差错检测。

5-12 一个应用程序用UDP,到了IP层把数据报再划分为4个数据报片发送出去。结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重传UDP,而IP层仍然划分为4个数据报片来传送。结果这次前两个到达目的站而后两个丢失。试问:在目的站能否将这两次传输的4个数据报片组装成完整的数据报?假定目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中。

不行。

重传时,IP数据报的标识字段会有另一个标识符,只有标识符相同的IP数据报片才能组装成一个IP数据报。

5-13 一个UDP用户数据报的数据字段为8192字节。在链路层要使用以太网来传送。试问应当划分为几个IP数据报片?说明每个IP数据报的数据字段长度和片偏移字段的值。

已知UDP数据报的数据字段为8192字节,再加上UDP的首部,一共8200字节。每个MAC帧数据部分的最大长度为1500,除去IP数据报的固定首部20字节,可知IP数据报的数据部分为1480字节。

应当划分为:

8200/1480 = 5...800

因此应当划分为6个IP数据报片,每个数据报片的数据字段长度和片偏移如下:

① 1500字节(加首部20字节) 片偏移为:0

② 1500字节 片偏移为1480/8 = 185

③ 1500字节 片偏移为2960/8 = 370

④ 1500字节 片偏移为4440/8 = 555

⑤ 1500字节 片偏移为5920/8 = 740

⑥ 820 字节 片偏移为7400/8 = 925

5-14 一个UDP用户数据报的首部的十六进制表示是:06 32 00 45 00 1C E2 17.试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发给服务器还是从服务器发送给客户?使用UDP这个服务器程序是什么?

根据UDP的首部组成:

可知,

源端口: 0*16^3+6*16^2+3*16+2*16^0 = 1586(十进制)

目的端口: 0*16^3+0*16^2+4*16+5*16^0 = 69(十进制)

用户数据报总长度:0*16^3+0*16^2+1*16+12*16^0 = 28(十进制)

数据部分长度 = 总长度 - 首部长度 = 20(字节)

目的端口为69<1023(0~1023为熟知端口),所以数据报是从客户端发送给服务器的,经查询,这个服务器程序TFTP。

5-15 使用TCP对实时话音数据的传输会有什么问题?使用UDP在传送数据文件时会有什么问题?

因为TCP是面向连接的,建立逻辑连接就会有一定的时延,如果再发生网络拥塞,TCP的拥塞控制会让实时话音数据放慢发送速度,这对于实时数据传输是无法忍受的,再加上TCP是可靠传输协议,如果数据出现了丢失,会重传,这时重传的数据已经失去了其意义。

UDP是不可靠的传输协议,如果在使用UDP在传输数据文件出现了错误,会直接丢弃,导致数据的丢失。

5-16 在停止等待协议中如果不使用编号是否可行?为什么?

不可以。

"停止等待"就是每发送完一个分组就停止发送,等待对方确认。在收到确认后再发送下一个分组。

分组和确认分组都必须进行编号,这样才能明确是哪一个发送出去的分组收到了确认,而哪一个分组还没有收到确认。

5-17 在停止等待协议中,如果收到重复的报文段时不予理睬(即悄悄地丢弃它而其他什么也不做)是否可行?试举出具体例子说明理由。

不行,如果接收方在收到重复字段时,不给发送方发送确认分组,发送方会认为接收方没有正确收到这个字段,会一直重传,达到一定的重传次数之后,会认为是网络出现了故障。

5-18 假定在运输层使用停止等待协议。发送方发送报文段M0后在设定的时间内未收到确认,于是重传M0,但M0又迟迟不能到达接收方。不久,发送方收到了迟到的对M0的确认,于是发送下一个报文段M1,不久就收到了对M1的确认。接着发送方发送新的报文段M0,但这个新的M0在传送的过程中丢失了。正巧,一开始就滞留在网络中的M0现在到达接收方。接收方无法分辨M0是旧的。于是收下M0,并发送确认。显然,接收方后来收到的M0是重复的,协议失败了。

试画出类似于图5-9所示的双方交换报文段的过程。

百度教育 (baidu.com)​编辑https://easylearn.baidu.com/edu-page/tiangong/questiondetail?id=1727523410818805212&fr=search

5-19 试证明:当用n比特进行分组的编号时,若接受窗口等于1(即只能按序接收分组),则仅在发送窗口不超过2^n - 1时,连续ARQ协议才能正确运行。窗口单位是分组。

坦白说,这个题只有下面链接的博主的解释勉强能看懂

(12条消息) 试证明:当用n比特进行分组的编码时,若接收窗口等于1(即只能按序接收分组),那么如果要求连续ARQ协议能正常运行时,发送窗口大小是多少?_试证明当用n比特进行分组的编号时_xiao666wang的博客-CSDN博客​编辑https://blog.csdn.net/xiao666wang/article/details/107402937

5-20 在连续的ARQ协议中,若发送窗口等于7,则发送端在开始可连续发送7个分组。因此,在每一分组发出后,都要置一个超时计时器。现在计算机里只有一个硬时钟。设这7个分组发出的时间分别为t0,t1,...,t6,且tout都一样大。试问如何实现这7个超时计时器(这叫软时钟法)?

可以用相对发送时间实现一个链表:

百度教育 (baidu.com)​编辑https://easylearn.baidu.com/edu-page/tiangong/questiondetail?id=1726955074142053304

用数组也可以:

数组的下标是分组的序号,数组的内容是相对时间(Ti-T(i-1));

5-21 假定使用连续ARQ协议,发送窗口大小是3,而序号范围是[0,15],而传输媒体保证在接受方能够按序收到分组。在某一时刻,在接收方,下一个期望收到的序号是5.

试问:

(1)在发送方的发送窗口中可能出现的序号组合有哪些?

(2)接收方已经发送出的、但在网络中(即还未到达发送方)的确认分组可能有哪些?说明这些确认分组是用来确认哪些序号的分组。

(1)根据题目,接受方下一个期望收到的序号是5,而传输媒体又保证分组是按序到达的。

因此,发送窗口只能是下面的情况:

序号组合有:234、345、456、567.

(如果这里没有理解为什么发送窗口的最左最右位置是上图的情形,可以看5-19题链接中博主的解释)

(2)首先我们得搞清楚:发送窗口内的分组可能有哪些情况?

窗口内的分组只能有两种情况:①已经发送,但未经确认的分组;②可以发送,但是还未发送的分组。

若序号组合是234:接收方期望收到的分组是5,说明234是已经发送的分组,但是还未经确认的分组。那么这种情况下,234均未收到确认。

若序号组合是345:那么34均未收到确认。

若序号组合是456:那么4未收到确认。

若序号组合是567:那么无未收到确认的分组。

总的来说,2、3、4分组均有可能未被确认。

5-22 主机A向主机B发送了一个很长的文件,其长度为L字节。假定TCP使用的MSS为1460字节。

(1)在TCP的序号不重复使用的条件下,L的最大值是多少?

(2)假定使用上面计算出的文件长度,而运输层、网络层和数据链路层所用的首部开销共66字节,链路的数据率为10Mbit/s,试求这个文件所需的最短发送时间.

(1)序号所占字节数为4字节,每个字节对应一个序号,序号不重复使用的条件下,L的最大值是2^32 = 4GB = 4294967296 字节。

(2)数据链路层数据部分的最大字节数为1480,

4294967296/1460 = 2941759(约等)

因此,首部总共所占字节:2941759*66 = 194156094 字节,

T = ( 首部+数据部分)/数据率 =(4294967296 + 194156094 )*8/10^7 = 3591.2986592 s ,大约一个小时

5-23 主机A向主机B连续发送了两个TCP报文段,其序号分别是70和100.试问:

(1)第一个报文段携带了多少字节的数据?

(2)主机B收到第一个报文段后发回的确认中的确认号应当是多少?

(3)如果B收到第二个报文段后发回的确认中的确认号是180,试问A发送的第二个报文段中的数据有多少字节?

(4)如果A发送的第一个报文段丢失了 ,但第二个报文段到达了B。B在第二个报文段到达后向A发送确认。试问这个确认号应为多少?

(1)在一个TCP连接中传送的字节流中的每一个字节都按顺序编号,首部中的序号字段值则指的是本报文段所发送的数据的第一个字节的序号:

因此第一个报文段的长度 = 第二个报文段序号 - 第一个报文段序号 = 30 字节

(2)主机B收到的第一个报文段之后,期待收到的序号应当为100

(3)该题跟(1)问相同,因此第二个报文段中的数据有80字节

(4)主机B虽然收到了第二个报文段,但是第一个报文段丢失了,因此,主机B期待收到的报文段的序号依然是第一个报文段的第一个字节的序号:70

5-24 一个TCP连接下面使用256kbit/s的链路,其端到端时延为128ms。经测试,发现吞吐量只有120 kbit/s。试问发送窗口W是多少?(提示:可以有两种答案,取决于接收端发出确认的时机)

第一种情况:接收端在接收完一批数据之后才发送确认:

在一个传输周期内,从发送第一个报文段到收到确认时间为:

T = 发送窗口W/链路速率R+往返时间(2倍的端到端时延)

吞吐量 = 发送窗口W/传输时间T

经计算,

120 kbit/s = W(W/256 kbit/s + 2*128ms)

W = 57826b = 7228 字节(约等)

计算题.一个TCP连接下面使用256kb/s的链路,其端到端时延为128mS。经测试,发 现吞吐量只有120kb/s。_百度知道 (baidu.com)​编辑https://zhidao.baidu.com/question/1819573283673407988.html 第二种情况:发送端接收到一小部分数据,就发送确认字段

吞吐量 = 最大发送窗口W/往返时延

120 kbit/s = W/256ms

W = 30720 bit = 3840字节

计网|计算机网络传输层(运输层)一些必须要懂的重难点课后习题整理(三) - 知乎 (zhihu.com)​编辑https://zhuanlan.zhihu.com/p/403758800

5-25 为什么在TCP首部中要把TCP的端口号放入最开始的4个字节?

在ICMP的差错报文中要包含紧随IP头部后面的8个字节的内容,让在TCP头部最开始的4个字节是TCP的端口号,就可以在ICMP的差错报文的上述8个字节中包含TCP的源端口和目的端口。

当发送IP分组的源收到ICMP差错报文时需要用这两个端口来确定是哪个应用进程的网络通信出了差错。

5-26 为什么在TCP首部中有一个首部长度字段,而UDP的首部中就没有这个字段?

UDP提供的无连接的通信服务,首部也是固定的8个字节;而TCP报文段除了固定首部20字节,还有一个可选项,为了使接收方知道哪些字节是数据部分,哪些字节是首部,于是设了这样一个字段标识首部长度。

5-27 一个TCP报文段的数据部分最多为多少个字节?为什么?如果用户要传送的数据的字节长度超过TCP报文段中的序号字段可能编出的最大序号,问还能否用TCP来传送?

因为IP数据报的总长度只有16位,因此IP数据报的最大长度为2^16 - 1 = 65535 字节。

TCP报文段的最大数据部分 = IP数据报最大长度 - IP数据报固定首部 - TCP固定首部

= 65535 - 20 - 20 = 65495 字节

如果要传送的数据的字节长度超过TCP报文段中的序号字段可能编出的最大序号,依然可以使用TCP传输,编号用完再重复使用即可,但是应该设法保证不出现编号的混乱。

5-28 主机A向主机B发送TCP报文段,首部中的源端口是m而目的端口是n。当B向A发送回信时,其TCP报文段的首部中的源端口和目的端口分别是什么?

源端口是n,目的端口是m

5-29 在使用TCP传送数据时,如果有一个确认报文段丢失了,也不一定会引起与该确认报文段对应的数据的重传。试说明理由。

由于TCP确认机制采用了累积确认方法,即一个TCP确认报文段中的确认号标识了接收方将要接收方将要接收的下一个字节,这表示接收方已经收到该确认号之前的所有字节。现在假设发送方一次发送了多个报文段,而接收方成功接收到这些报文段并发出相应的确认。如果某个报文段的确认丢失,而在它之后的其他报文段的确认到达,这时,只要该报文段的重传计时器没有超时,发送方就该知道该报文段被正确接收而不需要重传。

5-30 设TCP使用的最大窗口为65535字节,而传输信道不产生差错,带宽也不受限制。若报文段的平均往返时间为20ms,问所能得到的最大吞吐量是多少?

最大吞吐量 = 最大窗口/平均往返时间 = 65535*8 bit / 20*10^-3 s = 26.214 Mbit/s

5-31 通信信道带宽为 1 Gbit/s,端到端传播时延为 10 ms。TCP的发送窗口为65535字节。试问:可能达到的最大吞吐量是多少?信道的利用率是多少?

最大吞吐量 = 发送窗口W / 往返时延

= 65535*8 bit /(20*10^-3) s

= 26.214 Mbit/s

信道的利用率 = 最大吞吐量/信道带宽

= 26.214 Mbit/s /1Gbit/s

= 2.62%(约等)

5-32 什么是Karn算法?在TCP的重传机制中,若不采用Karn算法,而是在收到确认时都认为是对重传报文段的确认,那么由此得出的往返时间样本和重传时间都会偏小。试问:重传时间最后会减小到什么程度?

Karn算法是要解决如下问题:

TCP为了保证可靠传输,在发送完报文段之后,一段时间内没有收到确认报文,就会超时重传该报文段;那么问题来了,这个一段时间究竟是多长的时间?

如果这个超时重传的时间设置过短,正巧该报文段经过的是一个低速率的网络,确认报文段在网络中滞留,会造成很多不必要的重传,使网络负荷增大;若这个超时重传的时间设置过长,正巧该报文段经过的是一个高速率的网络,网络空闲时间增大,降低了传输效率。

TCP如此便采用了一种自适应算法,它记录一个报文段发出的时间,以及收到相应的确认的时间。这两个时间差就是报文段的往返时间RTT。为了使得出的结果更平滑,TCP就保留了一个加权平均往返时间RTTs :

新的RTTs = (1- a) x (旧的RTTs) + a x (新的RTT样本)

可以看出,当a很接近于0的时候,表示新的RTTs和旧的RTTs值相比变化不大,这样就导致RTT值更新较慢;当a接近于1的时候,则表示RTTs值受新的RTT样本的影响较大,这样就导致RTT值更新较快。

问题到这还没完,设想这样一种状况: 发送出一个报文段,设定的重传时间到了,还没有收到确认,于是重传报文段。经过一段时间后,收到了确认报文段。现在的问题是:如何判定此确认报文段是对先发送的报文段的确认,还是对后来重传的报文段的确认?

如果这个确认报文段是对先发送的报文段的确认,但却被判定为对重传报文段的确认,那么会造成RTT越来越短,导致不必要的重传。反之,会造成RTT越来越长,造成网络空闲。

为了解决上述问题,Karn提出了一个算法:在计算加权平均RTTs时,只要报文段重传了,就不采用其往返时间样本。这样得出的加权平均RTTs和RTO就较准确。

在统计意义上,最后的RTO会减少到使用Karn算法的一半,看下图:

(23条消息) 【计算机网络 (谢希仁) 习题题解】第5章 运输层 (3)------滑动窗口;流量控制_计算机网络滑动窗口例题_今岁成蹊的博客-CSDN博客​编辑https://blog.csdn.net/HPP_CSDN/article/details/117323221

5-33 假定TCP在开始建立连接时,发送方设定超时重传时间RTO = 6秒。

(1)当发送方收到对方的连接确认报文段时,测量出RTT样本值为1.5秒。试计算现在的RTO值

(2)当发送方发送数据报文段收到确认时,测量出RTT样本值为2.5秒。试计算现在的RTO值。

计算RTO的公式为:

根据规定,每当第一次测量到RTT样本时,RTTs值就取为所测量到的RTT样本的值,但以后每测量到一个新的RTT样本,就按下式重新计算一个RTTs:

其中,已成为建议标准的RFC 6298推荐的α值为1/8.

而RTTd是RTT的偏差的加权平均值,它与RTTs和新的RTT样本之差有关。RFC 6298建议这样计算RTTd。当第一次测量时,RTTd值取为测量到的RTT样本值的一半,在以后的测量中,则使用下式计算加权平均的RTTd:

这里β是个小于1的系数,它的推荐值是1/4,即0.25.

(1)RTO = 1.5 + 1/2*1.5*4 =4.5 s

(2)新的RTTs = (1-1/8)*1.5 + 1/8*2.5 = 1.625 s

新的RTTd = 3/4*0.75 + 1/4*|1.625 - 2.5| = 0.78125 s

RTO = 1.625+0.78125*4 = 4.75 s

5-34 已知第一次测得TCP的往返时间RTT是30ms。接着收到了三个报文段,用它们测量出的往返时间样本RTT分别是:26ms、32ms和24ms。设α = 0.1.试计算每一个新的加权平均返回时间值RTTs。讨论所得出的结果。

依据以上公式:

RTT1 = 0.9*30+0.1*26 = 29.6 ms

RTT2 = 29.6*0.9 + 0.1*32 = 29.84 ms

RTT3 = 29.84*0.9 + 0.1*24 = 29.256 ms

可以看出,当α的值接近于0的时候,新样本对RTT的影响是很小的。

5-35 用TCP通过速率为1G bit/s的链路传送一个10MB的文件。假定链路的往返时延RTT = 50 ms。TCP选用了窗口扩大选项,使窗口达到可选用的最大值。在接收端,TCP的接收窗口为1MB(保持不变),而发送端采用拥塞控制算法,从慢开始传送。假定拥塞窗口以分组为单位计算,在一开始发送1个分组,而每个分组长度都是1KB。假定网络不会发生拥塞和分组丢失,并且发送端发送数据的速率足够快,因此发送时延可以忽略不计,而接收端每一个收完一批分组后就立即发送确认ACK分组。

(1)经过多少个RTT后,发送窗口大小达到1MB?

(2)发送端把整个10MB文件传送成功共需要经过多少个RTT?传送成功是指发送完整个文件,并收到所有的确认。TCP扩大的窗口够用吗?

(3)根据整个文件发送成功所花费的时间(包括收到所有的确认),计算此传输链路的有效吞吐率。链路带宽的利用率是多少?

(1)根据慢开始算法,发送方每收到一个对新报文段的确认(对重传的确认不算在内),就把发送方的拥塞窗口加1.因此,发送方每发送一次报文,实际上拥塞窗口是增大了一倍的。因此,1MB = 2^10 KB,所以需要10次发送,发送窗口就能达到1MB大小。

(2)当第10个RTT结束时,已传送成功的分组是2 10 − 1 2^{10}-12

10

−1个分组,正好比1MB少一个分组。一个分组只有1KB,可先不考虑。可以这样分析:在第10个RTT结束时,发送窗口为1MB,已传送成功的数据量约为1MB(准确的是1MB-1 KB),因此在此基础上,我们还需要再传送9MB(实际上还需要再传送9MB+ 1 KB)。由于发送窗口必须小于等于接收窗口大小,因此,后面的发送窗口大小固定为1MB,因此还需要10个RTT(9MB+1KB),因此总共需要20个RTT。

(32条消息) 计算机网络原理(谢希仁第八版)第五章课后习题答案_计算机网络第八版谢希仁课后答案_爱栗创的博客-CSDN博客​编辑https://blog.csdn.net/qq_51344334/article/details/120885548

5-36 假定TCP采用一种仅使用线性增大和乘法减小的简单拥塞控制算法,而不使用慢开始。发送窗口不采用字节为计算单位,而是使用分组pkt为计算单位。在一开始时发送窗口为1pkt。假定分组的发送时延非常小,可以忽略不计。所有产生的时延就是传播时延。假定发送窗口总是小于接收窗口。接收端每收到一组分组后,就立即发回确认ACK。假定分组的编号为i,在一开始发送的是i = 1的分组。以后当 i = 9,25,30,38和50时,发生了分组的丢失。再假定分组的超时重传时间正好是下一个RTT开始的时间。试画出拥塞窗口(也就是发送窗口)与RTT的关系曲线,画到发送第51个分组为止。

线性增大:在没有分组丢失的情况下,每收到一个确认拥塞窗口就+1

乘法减小:一但出现超时或3个重复的确认,就要把门限值设置为当前拥塞窗口值的一半

(具体介绍可以看下面37题)

(63条消息) 计算机网络原理(谢希仁第八版)第五章课后习题答案_计算机网络第八版谢希仁课后答案_爱栗创的博客-CSDN博客​编辑https://blog.csdn.net/qq_51344334/article/details/120885548

5-37 在TCP的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法?这里每一种算法各起什么作用?"乘法减小"和"加法增大"各用在什么情况下?

慢开始

这个"慢"并非是指拥塞窗口增长的速度慢,而是指拥塞窗口是由小到大逐渐增大(翻倍增长)的,而不是一开始拥塞窗口就很大。

慢开始算法的初始拥塞窗口是这样规定的:

若SMSS(发送方的最大报文段)>2190字节,则设置初始拥塞窗口为cwnd = 2xSMSS字节,且不能超过2个报文段

若SMSS>1095字节且SMSS<=2190字节,则设置初始拥塞窗口为cwnd = 3xSMSS字节,且不得超过3个报文段

若SMSS<=1095,则设置初始拥塞窗口cwnd = 4xSMSS字节,且不得超过4个报文段

慢开始的拥塞窗口增长规则是:

在每收到一个对新的报文段的确认后,可以把拥塞窗口增加最多一个SMSS的数值,就是

拥塞窗口cwnd每次的增长量 = min(N,SMSS)

其中N是原先未被确认的、但现在被刚收到的确认报文段所确认的字节数。

慢开始算法起的作用:试探性地控制拥塞窗口,避免网络出现拥塞。

拥塞避免(加法增大):

当慢开始算法使拥塞窗口增长到一定大小的时候,为了避免这种增长可能带来的拥塞,因此,当慢开始算法使得拥塞窗口增长到某个阈值的时候,就要切换到拥塞避免算法来减缓这种增长。

拥塞避免算法的规则是这样的:每经过一个往返时间RTT,发送方的拥塞窗口cwnd的大小就+1,而不是向慢开始那样加倍增长,因此在拥塞避免节点就称为"加法增大"AI,表明在拥塞避免阶段,拥塞窗口cwnd按线性规律缓慢增长,比慢开始的拥塞窗口增长速率缓慢得多。

拥塞避免的作用:显然就是减缓慢开始的拥塞窗口增长速率,以避免过快增长带来的拥塞。

快重传:

有时,个别的报文段在网络中意外丢失,但是此时网络并没有发生拥塞,如果发送方迟迟收不到确认,就会产生超时,并误以为网络发生拥塞,这就导致发送方错误地启动慢开始算法,把拥塞窗口又置为1,因而不必要地降低的传输效率。

采用快重传算法可以让发送方尽早知道发生了个别报文段的丢失,具体做法就是接收方在收到数据时立马发送确认,如M2出现了丢失,在发送方发送M3时,接收方向发送方发送一个对M2的重复确认,当发送方发送M4时,接收方依然向发送方发送一个对M2的重复确认,M5亦如此。这样发送方就收到了三次对M2的重复确认,发送方就知道M2只是意外丢失了,而并未出现拥塞,这样发送方就不会启动慢开始算法了,而是立即重传M2.

快重传的作用:避免发送方对网络拥塞误判引起的误启动慢开始算法,减少不必要的传输效率的降低。

快恢复(乘法减小)

当发送方连续收到三个重复确认时,就执行"乘法减小"算法,把慢开始的门限减半,这是为了预防网络发生拥塞,但是并不执行慢开始算法。

快恢复的作用:使拥塞窗口不会被过分地减小,提高传输效率。

"加法增大"和"乘法减小"各用在什么情况下?

加法增大用在当慢开始算法使拥塞窗口的大小>=门限值的时候

乘法减小用在当发送方连续收到三个重复确认的时候

5-38 设TCP的ssthresh的初始值为8(单位为报文段)。当拥塞窗口上升到12时网络发生了超时,TCP使用慢开始和拥塞避免。试分别求出RTT = 1到RTT = 15的各拥塞窗口大小。你能说明拥塞窗口每一次变化的原因吗?

假设此时拥塞窗口初始值为1

当RTT = 1 时,cwnd = 1

当RTT = 2 时,cwnd = 2,因为此时发送方收到1个确认报文

当RTT = 3 时,cwnd = 4,因为此时发送方收到两个确认报文

当RTT = 4 时,cwnd = 8,因为此时发送方收到四个确认报文

当RTT = 5 时,cwnd = 9,因为此时拥塞窗口达到了阈值,使用了拥塞避免算

当RTT = 6 时,cwnd = 10,因为启用了拥塞避免算法

当RTT = 7 时,cwnd = 11,因为启用了拥塞避免算法

当RTT = 8 时,cwnd = 12,因为启用了拥塞避免算法

当RTT = 9 时,cwnd = 1,因为发生了超时,启用慢开始算法,ssthresh减半

当RTT = 10 时,cwnd = 2,因为此时发送方收到一个确认报文

当RTT = 11 时,cwnd = 4,因为此时发送方收到两个确认报文

当RTT = 12 时,cwnd = 6,此时拥塞窗口达到了阈值,下面要使用拥塞避免算法

当RTT = 13 时,cwnd = 7,因为启用了拥塞避免算法

当RTT = 14 时,cwnd = 8,因为启用了拥塞避免算法

当RTT = 15 时,cwnd = 9,因为启用了拥塞避免算法

5-39 TCP的拥塞窗口cwnd大小与RTT的关系如下所示:

(1)试画出如图5-25所示的拥塞窗口与RTT的关系曲线。

(2)指明TCP工作在慢开始阶段的时间间隔。

(3)指明TCP工作在拥塞避免的时间间隔。

(4)在RTT = 16和RTT = 22之后发送方是通过收到三个重复的确认还是通过超时检测到丢失了报文段?

(5)在RTT = 1、RTT = 18 和RTT = 24时,门限ssthresh分别被设置为多大?

(6)在RTT等于多少时发送出第70个报文段?

(7)假定在RTT = 26 之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口cwnd和门限ssthresh有多大?

(1)

(2)慢开始:[1,6],[23,26]

(3)拥塞避免:[6,16],[7,22]

(4)RTT = 16时,发送方是通过收到三个重复的确认,RTT = 22后发送方是检测到超时

(5)RTT = 1时,门限为32 ; RTT = 18 时,门限为21;RTT = 24时,门限为13

(6)在RTT等于

相关推荐
搞科研的小刘选手1 天前
【IEEE会议】第七届计算机工程与应用国际学术会议 (ICCEA 2026)
大数据·计算机网络·算法·信息技术·学术会议·计算机应用·计算机工程
CS创新实验室1 天前
《计算机网络》深入学:连接主机与应用的桥梁
计算机网络
梁辰兴1 天前
计算机网络基础:远程终端协议 Telnet
网络·计算机网络·计算机·telnet·计算机网络基础·梁辰兴·远程终端协议
李派森2 天前
【 开发实现】民航专业工程标准工期计算软件
笔记·计算机网络·算法
pps-key2 天前
人工智能自主生命理论
人工智能·python·计算机网络·网络安全·华为·理论·自我意识
Hubianji_092 天前
2026 IEEE第5届电气工程、大数据与算法国际会议 (EEBDA 2026)
大数据·计算机网络·国际会议·国际期刊
tobias.b2 天前
408真题解析-2010-34-计算机网络-分组交换网络传输时延
网络·计算机网络·计算机考研·408真题解析
三水不滴2 天前
计网核心协议与IP地址分类
经验分享·笔记·网络协议·tcp/ip·计算机网络
小李独爱秋3 天前
计算机网络经典问题透视:简述一下第二代蜂窝移动通信网的主要特点
人工智能·计算机网络·语音识别·信息与通信·2g