为您推荐:
精华内容
最热下载
问答
  • 5星
    469KB weixin_46414659 2021-04-02 17:24:37
  • 5星
    5.04MB qq_44537408 2021-01-20 15:13:13
  • 5星
    28KB m0_52957036 2019-12-30 19:17:39
  • 5星
    2.03MB weixin_44573410 2021-03-05 21:51:29
  • 5星
    1.49MB weixin_44573410 2021-02-03 19:40:37
  • 5星
    3.08MB weixin_44573410 2021-02-27 16:14:31
  • 5星
    732KB weixin_44573410 2021-01-20 20:00:38
  • 5星
    20.4MB weixin_44573410 2021-02-10 14:35:41
  • 5星
    2.31MB weixin_44573410 2021-03-06 21:54:31
  • 5星
    672KB weixin_44573410 2021-02-01 23:52:43
  • 27KB b_8196_p 2018-10-25 15:26:29
  • 364KB weixin_47467620 2021-11-09 20:49:42
  • 1.49MB weixin_47467620 2021-11-11 23:16:16
  • 334KB weixin_47467620 2021-11-11 23:14:46
  • 5星
    287KB m0_62051506 2021-10-10 13:27:35
  • 290KB qq_37611061 2017-12-19 10:43:04
  • ①:物理层要考虑怎样才能在连接各种计算机的传输媒体上传输比特流数据 ②:物理层要尽可能的屏蔽掉不同传输媒体和通讯手段的差异 ③:确定与传输媒体的接口有关的一些特性,如机械特性、电气特性、功能特性和过程...

    - 2-01:物理层要解决哪些问题?

    ①:物理层要考虑怎样才能在连接各种计算机的传输媒体上传输比特流数据
    ②:物理层要尽可能的屏蔽掉不同传输媒体和通讯手段的差异
    ③:确定与传输媒体的接口有关的一些特性,如机械特性、电气特性、功能特性和过程特性
    物理层的主要特点是什么?
    ①由于在OSI之前,许多物理规程或协议已经制定出来了,而且在数据通信领域中,这些
    物理规程已被许多商品化的设备所采用,加之,物理层协议涉及的范围广泛,所以至今没有按OSI
    的抽象模型制定一套新的物理层协议,而是沿用已存在的物理规程,将物理层确定为描述与传输媒体接口的机械、气、功能和过程特性。
    ②由于物理连接的方式很多,传输媒体的种类也很多,因此,具体的物理协议相当复杂。

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

    在数据通信的早期,对通信所使用的各种规则都称为“规程”(procedure),后来具有体系结构的计算机网络开始使用“协议”(protocol)这一名词,以前的“规程”其实就是“协议”,但由于习惯,对以前制定好的规程有时仍常用旧的名称“规程”。

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

    一个数据通信系统可以划分为三大部分,即源系统(或发送端,发送方)、传输系统(或传输网络)和目的系统(或接收端,接受方)。
    源系统一般包括以下两个部分:
    源点 源点设备产生要传输的数据,例如,从计算机的键盘输入的汉字,计算机产生的输出的数字比特流。源点又称为源站或信源。
    发送器 通常源点生成的数字比特流要通过发送器编码后才能够在传输系统中进行传输。典型的发送器就是调制器。现在很多的计算机使用内置的调制解调器(包含调制器和解调器),用户在计算机外面看不见调制解调器。
    目的系统一般也包括以下两部分
    接收器 接收传输系统传过来的信号,并把它转换为能够被目的设备处理的信息。典型的接收器是解调器,它把来自传输线路上的模拟信号进行解调,提取出在发送端植入的消息,还原出发送端产生的数字比特流。
    终点 重点设备从接收器获取传来的数字比特流,然后把信息输出,例如,把汉子汉字在机器屏幕上显示出来。终点又称为目的站或信宿。
    在源系统和目的系统之间的传输系统,可以是简单的传输线,也可以是连接在源系统和目的系统之间的复杂网络系统。

    - 2-04 试解释以下名词。

    数据(data):是运送消息的实体。
    信号(signal):数据的电气或电磁的表现。
    模拟数据(Analog data)也称为模拟量,相对于数字量而言,指的是取值范围是连续的变量或者数值,模拟数据是指在某个区间产生的连续值,例如,声音、图像、温度、压力。
    模拟信号(analogous signal)或连续信号:代表信息的参数的取值是连续的。
    基带信号:来自信源的信号(即基本频带信号)。
    带通信号:基带信号经过载波调制后把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。
    数字数据(digital data)在数据通信中也称为数字量,相对于模拟量而言,指的是取值范围是离散的变量或者数值。
    数字信号(digital signal)或离散信号代表信息的参数的取值是离散的。
    码元:指在使用时间域(或简称为时域)的波形表示数字信号时,代表不同离散数值的基本波形。
    单工通信又称单向通信,即只能只能有一个方向的通信而没有反方向的交互。无线电广播或有线电广播以及电视广播就属于这种类型。
    半双工通信又称双向交替通信,即通信双方都可以发送信息,但不能双方同时发送,当然也就不能同时接受。这种通信方式是一方发送另一方接受,过一段时间可以再反过来。
    全双工通信又称双向同时通信,即通信的双方可以同时发送信息和接受信息。
    单向通信只需要一条信道而双向交替通信或双向同时通信则都需要两条信道(每个方向各一条)。显然同时通信的传输效率最高。
    串行传输即串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。
    并行传输是在传输中有多个数据位同时在设备之间进行的传输。

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

    ①:机械特性 指明在接口电缆的各条线上出现的电压的范围。
    ②:电气特性 指明在接口电缆的各条线上出现的电压范围。
    ③:功能特性 指明某条线上出现的某一电平的电压意义。
    ④:过程特性 指明对于不同功能的各种可能事件的出现顺序。

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

    数据在信道中的传输速率受那些因素的限制?
    ①:信道能够通过的频率范围
    ②:信噪比
    信噪比能否任意提高?
    信噪比就是信号的平均功率和噪声的平均功率之比。由于噪声是随机产生的。因此信噪比不能任意提高。
    香农公式在数据通信中的意义是什么?
    只要信息传输速率低于信道的极限信息传输速率,就一定存在某种办法来实现无差错的传输。
    “比特/秒”和“码元/秒”有何区别?
    比特/秒是信息传输速率的单位码元传输速率也称为调制速率、波形速率或符号速率一个码元不一定对应于一个比特。

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

    C=RLog2 (16) =20000b/s4=80000b/s

    个人笔记有错请指正谢谢

    展开全文
    WXH913 2021-12-12 20:11:30
  • 3星
    568KB weixin_43742669 2020-12-04 18:41:06
  • 804KB m0_52957036 2020-09-02 07:40:58
  • 675KB weixin_44041700 2020-12-19 16:39:37
  • 853KB weixin_43681764 2020-07-03 12:15:36
  • 四章 1.网络层向上提供的服务有哪两种?是比较其优缺点。 答:网络层向运输层提供 “面向连接”虚电路(Virtual Circuit)服务或“无连接”数据报服务前者预约了双方通信所需的一切网络资源。 优点是能提供服务...

    第四章

    1.网络层向上提供的服务有哪两种?是比较其优缺点。
    答:网络层向运输层提供 “面向连接”虚电路(Virtual Circuit)服务或“无连接”数据报服务前者预约了双方通信所需的一切网络资源。
    优点是能提供服务质量的承诺。即所传送的分组不出错、丢失、重复和失序(不按序列到达终点),也保证分组传送的时限。
    缺点是路由器复杂,网络成本高;后者无网络资源障碍,尽力而为,优缺点与前者互易。
    2.网络互连有何实际意义?进行网络互连时,有哪些共同的问题需要解决?
    答:网络互联可扩大用户共享资源范围和更大的通信区域。
    进行网络互连时,需要解决共同的问题有:
    不同的寻址方案不同的最大分组长度
    不同的网络接入机制
    不同的超时控制
    不同的差错恢复方法
    不同的状态报告方法
    不同的路由选择技术
    不同的用户接入控制
    不同的服务(面向连接服务和无连接服务)
    不同的管理与控制方式
    3.作为中间设备,转发器、网桥、路由器和网关有何区别?
    答:中间设备又称为中间系统或中继(relay)系统。
    物理层中继系统:转发器(repeater)。
    数据链路层中继系统:网桥或桥接器(bridge)。
    网络层中继系统:路由器(router)。
    网桥和路由器的混合物:桥路器(brouter)。
    网络层以上的中继系统:网关(gateway)。
    4.试简单说明下列协议的作用:IP、ARP、ICMP。
    答:IP协议:实现网络互连。使参与互连的性能各异的网络从用户看起来好像是一个统一的网络。网际协议IP是TCP/IP体系中两个最主要的协议之一,与IP协议配套使用的还有四个协议。
    ARP协议:是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
    ICMP:提供差错报告和询问报文,以提高IP数据交付成功的机会
    因特网组管理协议IGMP:用于探寻、转发本局域网内的组成员关系。
    5.IP地址如何表示?
    答:分为ABCDE 5类;每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。各类地址的网络号字段net-id分别为1,2,3,0,0字节;主机号字段host-id分别为3字节、2字节、1字节、4字节、4字节。
    6.IP地址的主要特点是什么?
    答:(1)IP 地址是一种分等级的地址结构。分两个等级的好处是:第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
    (2)实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号 net-id 必须是不同的。这种主机称为多归属主机(multihomed host)。由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP 地址。
    (3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
    (4) 所有分配到网络号 net-id 的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。
    7.试说明IP地址与MAC地址的区别,为什么要使用这两种不同的地址?
    答:IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。从而把整个因特网看成为一个单一的、抽象的网络在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。
    MAC地址在一定程度上与硬件一致,基于物理、能够标识具体的链路通信对象、IP地址给予逻辑域的划分、不受硬件限制。
    8.IP地址方案与我国的电话号码体制的主要不同点是什么?
    答:IP地址方案与网络的地理分布无关,我国的电话号码需要根据地理位置进行排序号码。
    9.IP数据报中的首部检验和并不检验数据报中的数据。这样做的最大好处是什么?坏处是什么?
    答:在首部中的错误比在数据中的错误更严重,例如,一个坏的地址可能导致分组被投寄到错误的主机。许多主机并不检查投递给他们的分组是否确实是要投递给它们,它们假定网络从来不会把本来是要前往另一主机的分组投递给它们。数据不参与检验和的计算,因为这样做代价大,上层协议通常也做这种检验工作,从前,从而引起重复和多余。因此,这样做可以加快分组的转发,但是数据部分出现差错时不能及早发现。
    10.当某个路由器发现一IP数据报的检验和有差错时,为什么采取丢弃的办法而不是要求源站重传此数据报?计算首部检验和为什么不采用CRC检验码?
    答:纠错控制由上层(传输层)执行 IP首部中的源站地址也可能出错请错误的源地址重传数据报是没有意义的 不采用CRC简化解码计算量,提高路由器的吞吐量
    11.设IP数据报使用固定首部,其各字段的具体数值如图所示(除IP地址外,均为十进制表示)。试用二进制运算方法计算应当写入到首部检验和字段中的数值(用二进制表示)。
    在这里插入图片描述
    把以上数据写成二进制数字,按每 16 位对齐,然后计算反码运算的和:
    在这里插入图片描述

    二进制计算规则:例如,最低位相加,一共有 4 个 1,相加后得二进制的 100,把最低位的 0 写下,作为和的最低位。进位中的 0 不必管它,进位中的 1 要与右边第 3 位相加。 右边第 2 位相加时,只有一个 1,相加后得 1,没有进位。把 1写在右边第 2 位上。
    右边第 3 位相加时,共有 4 个 1 和一个进位的 1,即总共 5 个 1,相加后得 101。把这个和最右边的 1 写在和的右边第 3
    位上。进位的 1 应当与右边第 5 位的数字相加,等等。

    12.重新计算上题,但使用十六进制运算方法(每16位二进制数字转换为4个十六进制 数字,再按十六进制加法规则计算)。比较这两种方法。
    解:和11题的解题方式一样:
    在这里插入图片描述
    两者相互比较,一个是8B,一个是B1。
    13.什么是最大传送单元MTU?它和IP数据报的首部中的哪个字段有关系?
    答:IP层下面数据链里层所限定的帧格式中数据字段的最大长度,与IP数据报首部中的总长度字段有关系。
    14.在互联网中将IP数据报分片传送的数据报在最后的目的主机进行组装。还可以有另一种做法,即数据报片通过一个网络就进行一次组装。试比较这两种方法的优劣。
    答:在目的站而不是在中间的路由器进行组装是由于:
    (1)路由器处理数据报更简单些;效率高,延迟小。 
    (2)数据报的各分片可能经过各自的路径。因此在每一个中间的路由器进行组装可能总会缺少几个数据报片; 
    (3)也许分组后面还要经过一个网络,它还要给这些数据报片划分成更小的片。如果在中间的路由器进行组装就可能会组装多次。 为适应路径上不同链路段所能许可的不同分片规模,可能要重新分片或组装。
    15.一个3200位长的TCP报文传到IP层,加上160位的首部后成为数据报。下面的互联网由两个局域网通过路由器连接起来。但第二个局域网所能传送的最长数据帧中的数据部分只有1200位。因此数据报在路由器必须进行分片。试问第二个局域网向其上层要传送多少比特的数据(这里的“数据”当然指的是局域网看见的数据)?
    解:第二个局域网所能传送的最大数据帧中的数据只有 1200 bit,可见每一个IP数据报的最大长度是1200bit,故其数据部分最多为:
    IP数据报的总长度 - IP数据报的首部 = 1200 - 160 = 1040 bit
    而 TCP 交给 IP 的数据共 3200 bit = 1040 + 1040 +1040 + 80,因此 3200 bit 的数据必须划分为 4 个数据报片
    四个数据报片的首部均为 160 bit(但里面内容并不相同),这四个数据报片的总长度(首部加上数据部分)分别为 1200 bit,1200 bit,1200 bit 和 240 bit。
    上面这些就是第二个局域网向其上层传送的数据。
    因此,第二个局域网向上传送 1200 + 1200 + 1200 + 240 = 3840 bit。
    16.(1)试解释为什么ARP高速缓存每存入一个项目就要设置10~20分钟的超时计时器。这个时间设置的太大或太小会出现什么问题?
    答:考虑到IP地址和MAC地址的映射可能发生变化(更换网卡,或动态主机配置)。10-20分钟更换一块网卡是合理的。超时时间太短会使ARP请求和响应分组的通信量太频繁,而超时时间太长会使更换网卡后的主机迟迟无法和网络上的其他主机通信。
    (2)至少举出两种不需要发送ARP请求分组的情况(即不需要请求将某个目的IP地址解析为相应的MAC地址)。
    答:在源主机的ARP高速缓存中已经有了该目的IP地址的项目;源主机发送的是广播分组;源主机和目的主机使用点对点链路。
    17.主机A发送IP数据报给主机B,途中经过了5个路由器。试问在IP数据报的发送过程中总共使用了几次ARP?  
    答:6次,主机用一次,每个路由器各使用一次。
    18.设某路由器建立了如下路由表: 
    目的网络-------------------下一跳 
    192.4.153.0/26--------------R3
    128.96.39.0/25-------------接口m0 
    128.96.39.128/25---------接口m1 
    128.96.40.0/25-------------R2 
    192.4.153.0/26-------------R3
    (默认)--------------------R4  
    现共收到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 
    试分别计算下一跳。

    解:

    这里一共给出了两种目的网络,即子网掩码是255.255.255.128。还有子网掩码是255.255.255.192的。这里首先将目的地址与子网掩码255.255.255.128进行相与得出的结果则是目的网络的IP码,如果没用得到相对应得下一跳,再与子网掩码255.255.255.19进行相与得出目的网络的码,进行路由表对照即可。相与(将目的地址与子网掩码都化为二进制表示,然后进行相与即and,两数都为1时输出1,否则输出0)。这里感谢粉丝天师物联网的帮助!

    (1)分组的目的地址为:128.96.39.10先与子网掩码255.255.255.128相与得128.96.39.0,由路由表对照,则下一跳接口为m0。
    (2)分组的目的地址为:128.96.40.12先与子网掩码255.255.255.128相与得128.96.40.0,由路由表对照,则下一跳接口为R2。
    (3)分组的目的地址为:128.96.40.151先与子网掩码255.255.255.128相与得
    128.96.40.128,由路由表对照,则下一跳接口R4。
    (4)分组的目的地址为:192.4.153.17先与子网掩码255.255.255.192相与得192.4.153.0,由路由表对照,则下一跳接口R3。
    (5)分组的目的地址为:192.4.153.90与子网掩码255.255.255.192相与得192.4.153.64,经查路由表知,该分组转发选择默认路由,则下一跳接口为R4。
    19.某单位分配到一个地址块为129.250/16。该单位有4000台机器,分布在16个不同的地点。试给每一个地点分配一个地址块,并算出每个地址块中IP地址的最小值和最大值。
    解:4000台机器,16个地点,即每个地点有250个主机,根据地址块129.250/16,我们可以得知用16位表示主机号,其中后八位就有256-2=254个主机号,所以250个完全够用。即从答案如下:
    地点: 子网号-----------子网网络号---------IP最小值---------IP最大值

    1: 00000001---------129.250.1.0-------129.250.1.1-------129.250.1.254

    2: 00000010---------129.250.2.0-------129.250.2.1-------129.250.2.254

    3: 00000011---------129.250.3.0-------129.250.3.1-------129.250.3.254

    4: 00000100---------129.250.4.0-------129.250.4.1-------129.250.4.254

    5: 00000101---------129.250.5.0-------129.250.5.1-------129.250.5.254

    6: 00000110---------129.250.6.0-------129.250.6.1-------129.250.6.254

    7: 00000111---------129.250.7.0--------129.250.7.1-------129.250.7.254

    8: 00001000---------129.250.8.0--------129.250.8.1-------129.250.8.254

    9: 00001001---------129.250.9.0--------129.250.9.1-------129.250.9.254

    10: 00001010---------129.250.10.0--------129.250.10.1------129.250.10.254

    11: 00001011---------129.250.11.0--------129.250.11.1-------129.250.11.254

    12: 00001100---------129.250.12.0--------129.250.12.1-------129.250.12.254

    13: 00001101---------129.250.13.0--------129.250.13.1-------129.250.13.254

    14: 00001110---------129.250.14.0--------129.250.14.1-------129.250.14.254

    15: 00001111---------129.250.15.0--------129.250.15.1-------129.250.15.254

    16: 00010000---------129.250.16.0--------129.250.16.1------129.250.16.254
    20.一个数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够传送的最大数据长度为1500字节。试问应当划分为几个短些的数据报片?各数据报片的数据字段长度、片偏移字段和MF标志应为何数值?
    解:这里需要注意到一个问题就是 IP数据报固定首部长度为20字节。解释MF标志字段中的最低位为MF(More Fragment)。MF=1即表示后面还有分片的数据报。MF=0表示这已是若干数据报片中最后一个。片偏移量为8个字节为一个单位
    首先是4000个字节,而网络能够传送的最大数据长度为1500字节,所以最少需要分成3段。
    总长度----------数据字段长度----------MF----------片偏移字段
    1500----------------1480-------------------1-------------0/8=0
    1500----------------1480-------------------1-------------1480/8=185
    1040----------------1020-------------------0-------------(1480+1480)/8=370
    21.写出因特网的IP成查找路由的算法。
    答:Dijkstra算法
    1.每个节点用从源节点沿已知最佳路径到该节点的距离来标注,标注分为临时性标注和永久性标注
    2.初始时,所有节点都为临时性标注,标注为无穷大
    3.将源节点标注为0,且为永久性标注,并令其为工作节点
    4.检查与工作节点相邻的临时性节点,若该节点到工作节点的距离与工作节点的标注之和小于该节点的标注,则用新计算得到的和重新标注该节点
    5.在整个图中查找具有最小值的临时性标注节点,将其变为永久性节点,并成为下一轮检查的工作节点
    6.重复第四、五步,直到目的节点成为工作节点
    22.有如下的4个/24地址块,试进行最大可能的聚合。
    212.56.132.0/24
    212.56.133.0/24
    212.56.134.0/24
    212.56.135.0/24

    解:通俗的解释一下聚合,就是取两个地址块前缀相同的部分。把数全部化为2进制然后进行比较。
    212=11010100
    56=00111000
    132=10000100
    133=10000101
    134=10000110
    135=10000111
    则4个地址块有22个相同的前缀,则聚合之后的CIDR地址为:212.56.132.0/22
    23.有两个CIDR地址块208.128/11和208.130.28/22。是否有那一个地址块包含了另一个地址?如果有,请指出,并说明理由。
    答: 208.128/11的前缀为:11010000 100
    208.130.28/22的前缀为:11010000 10000010 000101,它的前11位与208.128/11的前缀是一致的,所以208.128/11地址块包含了208.130.28/22这一地址块。
    24.已知路由器R1的转发表如下表所示。试画出各网络和必要的路由器的连接拓扑,标注出必要的IP地址和接口,对不能确定的情况应当指明。

    前缀匹配下一跳地址路由器接口
    140.5.12.64/26180.15.2.5m2
    130.5.8/24190.16.6.2m1
    110.71/16m0
    180.15/16m2
    190.16/16m1
    默认110.71.4.5m0

    答:在这里插入图片描述
    25.一个自治系统分配到的IP地址块为30.138.118/23,并包含有5个局域网,其连接图如图所示,每个局域网上的主机数分别标注。试给出每一个局域网的地址块。
    在这里插入图片描述
    答:分配网络前缀时应该先分配地址数较多的前缀。LAN1应该至少有3台主机。这题就看 LAN 上面有几个主机,需要留几个主机位够自己网络中的主机进行使用,答案并不唯一,我只写了其中的一种。
    LAN1:30.138.119.192./29
    LAN2:30.138.119.0/25
    LAN3:30.138.118.0/24
    LAN4:30.138.119.200/29
    LAN5:30.138.119.128/26
    /29:LAN1,LAN4各有8个IP地址
    /26:LAN5有64个地址
    /25:LAN2有128个地址
    /24:LAN3有256个地址
    26.一个大公司有一个总部和三个下属部门。公司分配到的网络前缀是192.77.33/24。公司的网络布局如图所示。总部共有5个局域网,其中的LAN1到LAN4都连接到路由器R1上,R1再通过LAN5与路由器R2相连。R2和远地的三个部门的局域网LAN6到LAN8通过广域网相连。每一个局域网旁边表明的字是局域网上的主机数。试给出每一个局域网分配一个合适的网络前缀。
    在这里插入图片描述
    答:本题和25几乎相同,所以不做过多解释,看你留得主机位够不够你所需的主机数就可以了。
    LAN1:192.77.33.0/26
    LAN2:192.77.33.192/28
    LAN3:192.77.33.64/27
    LAN4:192.77.33.208/28
    LAN5:192.77.33.224/29
    LAN6:192.77.33.128/27
    LAN7:192.77.33.192/27
    LAN8:192.77.33.224/27
    27.以下地址块中的哪一个和86.32/12匹配?请说明理由。(1)86.33.224.123;(2)86.79.65.216;(3)86.58.119.74;(4)86.68.206.153。
    答:是否和地址块相匹配就是是否属于这个地址块,属于这个地址块的话,那么他的网络前缀一定和86.32/12相同。那么我们比较网络前缀就可以了。
    86都相同,前12位为网络位,那么32为:0010
    (1)0010;(2)0100;(3)0011;(4)0100那么这样看的话,只有(1)符合要求。
    28.以下的地址前缀中哪一个地址与2.52.90.140匹配?请说明理由。(1) 0/4;(2)32/4;(3)4/6;(4)80/4。
    答:本题和27题相似,这里前缀有4位和六位,题目中的地址第一个数为2,所以无论前缀是4还是6,都应该全为0,所以(1)符合要求。
    29.以下的地址前缀的哪一个和地址152.7.77.159及152.31.47.252都匹配?请说明理由。(1)152.40/13;(2)153.40/9;(3)152.64/12;(4)152.0/11。
    答:这题首先需要先找这两个地址的相同的网络前缀为152.所以只有(4)符合要求。
    30.与下列掩码相对应的网络前缀各有多少位?
    (1)192.0.0.0;(2)240.0.0.0;(3)255.224.0.0;(4)255.255.255.252

    答:这题就是把掩码化成2进制,从左边开头看,有几个连续的1,就是有几位网络前缀。
    (1)/2;(2)/4;(3)/11;(4)/30
    31.已知地址块中的一个地址是140.120.84.24/20。试求这个地址块中的最小地址和最大地址。地址掩码是什么?地址块中共有多少个地址?相当于多少个C类地址?
    答:因为CIDR没有A类、B类、C类的地址划分概念,IP地址由网络前缀的主机号组成,/20表示网络前缀有20位,剩下的就是主机号。
    140.120.84.24/20转换为二进制是:10001100.01111000.01010100.00000000。黑体部分为网络前缀,所以只有主机号可以变。
    最小地址为:140.120.80.0/20
    最大地址为:140.120.95.255/20
    地址掩码为:11111111.11111111.11110000.00000000(这里就是网络位变为1,主机位为0)
    一共有 2 1 2 2^12 212=4096个地址。相当于16个C类地址。
    32.已知地址块中的一个地址是190.87.140.202/29。重新计算上题。
    答:190.87.140.202/26转换为二进制为:10111110.01010111.10001100.11001010。黑体部分为网络前缀,所以只有主机号可以变。
    最小地址为:190.87.140.200/29
    最大地址为:190.87.140.207/29
    地址掩码为:11111111.11111111.11111111.11111000
    一共有 2 3 2^3 23=8个地址。相当于1/32个C类地址。
    33.某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:
    (1)每一个子网的网络前缀有多长?
    (2)每一个子网中有多少个地址?
    (3)每一个子网的地址是什么?
    (4)每一个子网可分配给主机使用的最小地址和最大地址是什么?

    答:(1)每个子网前缀需要28位,才能平均划分为4个一样大的子网。
    (2)每个子网的地址中有4位留给主机用,因此共有16个地址。
    (3)四个子网的地址块是:
    (4)每一个子网可分配的最小地址和最大地址为:
    第一个地址块136.23.12.64/28,可分配给主机使用的
    最小地址:136.23.12.01000001=136.23.12.65/28
    最大地址:136.23.12.01001110=136.23.12.78/28
    第二个地址块136.23.12.80/28,可分配给主机使用的
    最小地址:136.23.12.01010001=136.23.12.81/28
    最大地址:136.23.12.01011110=136.23.12.94/28
    第三个地址块136.23.12.96/28,可分配给主机使用的
    最小地址:136.23.12.01100001=136.23.12.97/28
    最大地址:136.23.12.01101110=136.23.12.110/28
    第四个地址块136.23.12.112/28,可分配给主机使用的
    最小地址:136.23.12.01110001=136.23.12.113/28
    最大地址:136.23.12.01111110=136.23.12.126/28
    34.IGP和EGP这两类协议得主要区别是什么?
    答:
    IGP:在自治系统内部使用的路由协议;力求最佳路由
    EGP:在不同自治系统便捷使用的路由协议;力求较好路由(不兜圈子)
    EGP必须考虑其他方面的政策,需要多条路由。代价费用方面可能可达性更重要。
    IGP:内部网关协议,只关心本自治系统内如何传送数据报,与互联网中其他自治系统使用什么协议无关。
    EGP:外部网关协议,在不同的AS边界传递路由信息的协议,不关心AS内部使用何种协议。
    35.试简述RIP,OSPF和BGP路由选择协议得主要特点。
    答:在这里插入图片描述
    36. RIP使用UDP,OSPF使用IP,而BGP使用TCP。这样做有何优点?为什么RIP周期性地和临站交换路由器由信息而BGP却不这样做?
    答:RIP只和邻站交换信息,使用UDP无可靠保障,但开销小,可以满足RIP要求;
    OSPF使用可靠的洪泛法,直接使用IP,灵活、开销小;
    BGP需要交换整个路由表和更新信息,TCP提供可靠交付以减少带宽消耗;
    RIP使用不保证可靠交付的UDP,因此必须不断地(周期性地)和邻站交换信息才能使路由信息及时得到更新。但BGP使用保证可靠交付的TCP因此不需要这样做。
    37.假定网络中得路由器B的路由表有如下项目。

    目的网络距离下一跳路由器
    N17A
    N22C
    N68F
    N84E
    N94F

    现在B收到从C发来的路由信息如下表。

    目的网络距离
    N24
    N38
    N64
    N83
    N95

    试求出路由器B更新后的路由表详细说明每一个步骤
    答:先把B收到的路由信息中距离都加1,并且在后面添加C得新表:

    目的网络距离下一跳路由器
    N25C
    N39C
    N65C
    N84C
    N96C

    然后进行对比新表和B表的”目的网络“和”距离“。

    目的网络距离下一跳路由器变化情况
    N17A无新信息,不改变。
    N25C相同下一跳,更新。
    N39C新的项目。添加进来。
    N65C不同下一跳,距离更短,更新。
    N84E不同下一跳,距离一样,不改变。
    N94F不同下一跳,距离更大,不改变。

    38.如图所示。假定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
    39.网络同上题。路由器R1d知道前缀X,并将前缀X写入转发表。
    (1)试问路由器R1d应当从接口1还是接口2转发分组?请简述理由。
    (2)先假定AS2和AS4之间有物理连接。假定路由器R1d知道到达前缀X可以经过AS2,但也可以经过AS3。试问路由器R1d应当从接口1还是接口2转发分组呢?请简述理由。
    (3)现假定有另一个AS5处在AS2和AS4之间。假定路由器R1d知道到达前缀X可以经过路由[AS2,AS5,AS4],但也可以经过路由[AS3,AS4]。试问路由器R1d应当从接口1还是接口2进行分组转发?请简述理由。

    答:(1)从接口1进行转发分组。因为要向AS4进行转发,所以如果用接口2的话,路由器之间的转发会变多。
    (2)从接口2转发,图中的虚线变为实线,从AS2转发,会节省很多的路由器转发时间和步骤。
    (3)从接口1出发,因为多经过一个路由AS5可能会有很多次的路由器转发,会浪费时间。
    40.IGMP协议的要点是什么?隧道技术在多播中是怎样使用的?
    答:IGMP协议要点:
    IGMP是用来进行多播,采用多播协议可以明显减轻网络中各种资源的消耗,IP多播实际上是硬件多播的一种抽象;
    IGMP有两种分组,询问分组和查询分组,IGMP使用IP数据报传递其报文,也向IP提供服务;
    IGMP属于整个网际协议的一个组成部分
    隧道技术的实现:
    当多播数据报在传输过程中遇到不运行多播路由器的网络时,路由器对多播数据报进行再次封装,加一个普通数据报的首部,封装成为一个单播数据报,通过隧道之后再由路由器剥去其首部,恢复成为多播数据报
    41.什么是VPN?VPN有哪些特点和优缺点?VPN有几种类别?
    答:什么是VPN?
    VPN的英文全称是“Virtual Private Network”,翻译过来就是“虚拟专用网络”。顾名思义,虚拟专用网络可以把它理解成是虚拟出来的企业内部专线。
    VPN有什么特点和缺点
    优点:与传统的广域网相比,虚拟专用网能够减少运营成本以及降低远程用户的连接成本。此外,虚拟专用网固定的通讯成本有助于企业更好地了解自己的运营开支。虚拟专用网还能够提供低成本的全球网络机会。
    缺点:基于互联网的虚拟专用网的可靠性和性能不再企业的直接控制之下。机构必须依靠提供虚拟专用网的互联网服务提供商保持服务的启动和运行。这个因素对于与互联网服务提供商协商一个服务级协议,从而创建一个保证各种性能指标的协议,是非常重要的。
    VPN有几种类别?
    按实用技术不同又分为以下类别:
    pptp vpn ,l2tp vpn ,ipsec vpn, ssl vpn ,mpls vpn 等等
    42.什么是NAT?NAPT有哪些特点?NAT的优点和缺点有哪些?
    答:​ NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
    NAT:网络地址转换 。
    NAPT:网络地址端口转换。
    (通俗的讲)它们都是地址转换,NAPT与NAT的区别在于 NAT是NAT是一对一转换,NAPT是多对一转换。通俗来说NAT是一个内部地址转换成一个外部地址进行通信的,而NAPT是多个内部地址使用同一地址不同端口转换成外部地址进行通信的。
    简单来说:NAPT发送数据的时候会在源地址和目标地址上加上端口号(比如源地址:192.168.1.2:1010,目标地址:200.1.1.2:1020),回来的数据也是一样。
    NAT的优点:
    节省合法的公有ip地址
    地址重叠时,提供 解决办法
    网络发生变化时,避免重新编址
    NAT对我们来说最大的贡献就是帮助我们节省了大量的ip资源
    NAT的缺点:
    无法进行端到端的ip跟踪(破坏了端对端通信的平等性)
    很多应用层协议无法识别(比如ftp协议 )
    43.试把下列IPv4地址从二进制记法转换为点分十进制记法。
    (1)10000001 00001011 00001011 11101111
    (2)11000001 10000011 00011011 11111111
    (3)11100111 11011011 10001011 01101111
    (4)11111001 10011011 11111011 00001111

    答:(1)129.11.11.239
    (2)193.131.27.255
    (3)231.219.139.111
    (4)249.155.251.15
    44.假设一段地址的首地址为146.102.29.0,末地址为146.102.32.255.求这个地址段的地址数。
    解:这里看首地址和末地址可以看到可以变化的位数为10位,那么一共有 2 1 0 2^10 210=1024个地址数。
    45.已知一/27网络中有一个地址是167.199.170.82,问这个网络的网络掩码,网络前缀长度和网络后缀长度是多少?
    解:前27位为网络位那么前27是1,后5位为0。
    网络掩码:255.255.255.224
    网络前缀为27位。
    网络后缀位5位。
    46.已知条件同上题,试求这个地址块的地址数,首地址以及末地址各是多少?
    解:可以变化的主机位数为5位。那么共有32个地址数。
    地址块的首地址:167.199.170.64
    地址块的末地址:167.199.170.95
    47.某单位分配到一个地址块14.24.74.0/24。该单位需要用到三个子网,对这三个子地址块的具体要求是:子网N1需要120个地址,子网N2需要60个地址,子网N3需要10个地址。请给出地址块的分配方案。
    解:这里是需要多少个地址,就留 2 n 2^n 2n个地址数,这里的n代表主机位的位数。 2 n 2^n 2n要大于所需的地址数。
    N1的地址块(/25):首地址:14.24.74.0;末地址:14.24.74.127
    N2的地址块(/26):首地址:14.24.74.128;末地址:14.24.74.191
    N3的地址块(/28):首地址:14.24.72.192;末地址:14.24.74.207
    48.如图所示,网络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直接交付,接口m0
    145.13.64.0/18直接交付,接口m1
    145.13.128.0/18直接交付,接口m2
    145.13.192.0/18直接交付,接口m3
    0.0.0.0/0默认路由器,接口m4

    (2)查看路由表属于网络前缀为145.13.128.0/18,所以收到的分组直接交给接口m2进行转发。
    49.收到一个分组,其目的地址D=11.1.2.5。要查找的转发表中有这样三项:
    路由器1:到达网络11.0.0.0/8
    路由器2:到达网络11.1.0.0/16
    路由器3:到达网络11.1.2.0/24
    试问在转发这个分组时应当选择哪一个路由?

    答:这种情况下应该遵从前缀最长匹配准则,那么就是路由器3最符合前缀,应该选择路由器3进行分组转发。
    50.同上题。假定路由1的目的网络11.0.0.0/8中有一台主机H,其IP地址是11.1.2.3。当我们发送一个分组给主机H时,根据最长前缀匹配准则,上面的这个转发表却把这个分组转发到路由3的目的网络11.1.2.0/24。是最长前缀匹配准则有时会出错么?
    答:这里呢最长前缀匹配准则是没有出问题的,有问题的是主机H的IP地址。因为网络11.1.2.0/24它是网络11.0.0.0/8的一个子网,主机H的IP地址11.1.2.3属于11.1.2.0/24的一个IP地址。网络11.0.0.0/8在分配网络时,不允许重复使用子网掩码11.1.2.0/24中的网络地址。因此,网络11.0.0.0/8给他的一个主机分配IP地址11.1.2.3是绝不能允许的。所以只能是11.1.2.0/24分配给IP地址11.1.2.3,因此才有了题目中出现的混乱情况。
    51.已知一CIDR地址块为200.56.168.0/21。
    (1)试用二进制形式表示这个地址块。
    (2)这个CIDR地址块包括有多少个C类地址块?

    解:(1)11001000.00111000.11001000.00000000
    (2)第三个255中还剩余3位,那么就有 2 3 2^3 23=8个C类地址。
    52.建议的IPv6协议没有首部检验和。这样做的优缺点是什么?
    答:优点:对首部的处理更简单。因为如果检验和错误,数据链路层会将有差错的帧丢弃,而网络层正好可以省去这一步骤;
    缺点:可能遇到数据链路层检测不出来的差错。
    53.在IPv4首部中有一个“协议”字段,但在IPv6的固定首部却没有。这是为什么?
    答:在IP数据报传送的路径上的所有路由器都不需要这一字段的信息。只有目的主机才需要。在IPv6使用“下一个首部”字段完成IPv4中的“协议”字段的功能。(下一个首部的值指出了基本首部后面的数据应交付给IP上面的哪一个高层协议(如TCP,UDP)。当出现扩展首部时,下一个首部字段的值就标识后面第一个扩展首部的类型。)
    54.当使用IPv6时,ARP协议是否需要改变?如果需要改变,那么应当进行概念性的改变还是技术性的改变?
    答:从概念上讲没有改变,作用还是将IP地址翻译为以太网的MAC地址,但因IPv6地址长度增大了,所以相应的字段都需要增大。
    55.IPv6只允许在源点进行分片。这样做有什么好处?
    答:分片与重装是非常耗时的操作.IPV6采用端到端分片法,端到端分片将把这一功能从路由器中删除,并移到网络边缘的主机中,就可以减少路由开销使得路由器可以在单位时间内处理更多的数据报。也就是大大的加快网络中IP数据的转发速度
    56.设每隔1微微秒就分配出100万个IPv6地址。试计算大约要用多少年才能将IPv6地址空间全部用光。可以和宇宙的年龄(大约有100亿年)进行比较。
    答:IPv6的地址重建共有 2 128 2^{128} 2128个地址,或3.4× 1 0 38 10^{38} 1038次方。1秒种分配 1 0 18 10^{18} 1018个地址,可分配1.08× 1 0 13 10^{13} 1013年。大约是宇宙年龄的1000倍.地址空间的利用不会是均匀的.但即使只利用那个整个地址空间的1/1000,那也是不可能那个用完的.
    57.试把以下的IPv6地址用零压缩方法写成简洁形式:
    (1)0000:0000:F53:6382:AB00:67DB:BB27:7332
    (2)0000:0000:0000:0000:0000:0000:004D:ABCD
    (3)0000:0000:0000:AF36:7328:0000:87AA:0398
    (4)2819:00AF:0000:0000:0000:0035:0CB2:B271

    答:
    (1) ::F53:6382:AB00:67DB:BB27:7332
    (2)::4D:ABCD
    (3)::AF36:7328:0:87AA:398
    (4)2819:AF::35:CB2:B271
    58.试把以下零压缩的IPv6地址写成原来的形式:
    (1)0::0
    (2)0:AA::0
    (3)0: 1234 :3
    (4)123::1:2

    答:(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:0001:0000:0002
    59.从IPv4过渡到IPv6的方法有哪些?
    答:主要是三种方法:
    (1)双栈技术:主机或路由器同时装有IPV4和IPV6两个协议栈,因此主机既能和IPV4通 信, 也能和IPV6通信。
    (2)隧道技术:在IPV6分组进入IPV4网络时,将IPV6分组封装成IPV4分组; 当 封装成IPV4分组 离开IPV4网络时,再装数据部分(IPV6部分)转发给目的节点。
    (3)协议翻译技术:对IPV6和IPV4报头时行相互翻译,实现IPV4/IPV6协议和地址的转换。
    60.多协议标签交换MPLS的工作原理是怎样的?它有哪些主要的功能?
    答:MPLS个工作原理主要包含两部分内容:
    (1)MPLS的体系结构是指运行MPLS的单个设备内部的独立工作原理。
    (2)MPLS的网络结构是指运行MPLS的多个设备互连的联合工作原理。
    MPLS的一个重要功能就是可以构成协议栈(Label Stack)MPLS标记一旦产生就压入到标记栈中而整个标记栈放在数据链路层首部和IP首部之间。MPLS的标记栈用于当MPLS域出现嵌套的情况。MPLS协议在转发分组时采用标记对换技术这是一种用于网络层信息包转发的新方法。
    61.SDN的广义转发与传统的基于终点的转发有何区别?
    答:SDN的三个主要特征:
    转控分离:网元的控制平面在控制器上,负责协议计算,产生流表;而转发平面只在网络设备上。
    集中控制:设备网元通过控制器集中管理和下发流表,这样就不需要对设备进行逐一操作,只需要对控制器进行配置即可。
    开放接口:第三方应用只需要通过控制器提供的开放接口,通过编程方式定义一个新的网络功能,然后在控制器上运行即可。
    SDN控制器既不是网管,也不是规划工具:
    网管没有实现转控分离:网管只负责管理网络拓扑、监控设备告警和性能、下发配置脚本等操作,但这些仍然需要设备的控制平面负责产生转发表项。
    规划工具的目的和控制器不同:规划工具是为了下发一些规划表项,这些表项并非用于路由器转发,是一些为网元控制平面服务的参数,比如IP地址,VLAN等。控制器下发的表项是流表,用于转发器转发数据包。
    62.试举出IP数据报首部中能够在OpenFlow1.0中匹配的三个字段。试举出在OpenFlow中不能匹配的三个IP数据报首部。
    答:能匹配:IP目的,VLAN优先权,目的MAC
    不能匹配:TTL字段,数据报长度,差错检验
    63.如图所示
    在这里插入图片描述
    (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)根据题目中的条件,无法判断出路由器从接口3还是接口4进行转发,所以无法给出路由表。
    64.已知一具有4个接口的路由器R1的转发表如表所示,转发表的每一行给出了目的地址的范围,以及对应的转发接口。

    目的地址范围转发接口
    —最小地址:11100000 00000001 00000000 00000000
    最大地址:11100000 00000001 11111111 11111111
    0
    —最小地址:11100000 00000000 00000000 00000000
    最大地址:11100000 00000000 11111111 11111111
    1
    —最小地址:11100000 00000010 00000000 00000000
    最大地址:11100001 11111111 11111111 11111111
    2
    其他3

    (1)试把以上转发表改换成另一形式,其中的目的地址范围改成前缀匹配,而转发表由4行增加为5行。
    (2)若路由器收到一个分组,其目的地址是:
    (a)11100000 10000001 01010001 01010101
    (b)11100000 00000000 11010111 01111100
    ( c)11100001 10010000 00010001 01110111
    试给出每一种情况分组转发的应当通过的接口。

    答:(1)这里就是根据二进制最大最小地址,找到地址块就可以了,看可以变化的范围,和之前的地址块分配一个道理。ha

    前缀匹配转发接口
    224.1.0.0/160
    224.0.0.0/161
    224.0.0.0/72
    224.0.0.0/53
    其他3

    (2)这题就是找到对应的前缀,然后找到对应的接口。
    (a)接口2;(b)接口1;©接口2
    65.一路由器连接到三个子网,这三个子网的共同前缀是225.2.17/24。假定子网N1要有62台主机,子网N2要有105台主机,而子网N3要有12台主机。试分配这三个子网的前缀。
    解:这题和47属于一类题。
    N2:225.2.17/25
    N1:225.2.17.128/26
    N3:225.2.17.192/28
    66.如图是一个SDN OpenFlow网络。假定
    在这里插入图片描述
    (1)任何来自H5或者H6并到达输入端口1的且发往H1或者H2的分组,应通过端口2转发出去。
    (2)任何来自H1或者H2并到达输入端口2的且发往H5或者H6的分组,应通过端口1转发出去。
    (3)任何从端口1或者2进入的且发往H3或者H4的分组,应交付指明的主机。
    (4)H3或者H4彼此可以互相发送分组。
    试给出交换机S2的流表项(每一行的“匹配+动作“)。

    答:表格中因为csdn编译器原因,无法打两个*连续的,所以表中出现两个的均为一个。

    匹配动作
    入口端=1;IP源地址=10.3.*.**;转发(2)
    入口端=2;IP源地址=10.1.*.**;转发(1)
    入口端=*;IP源地址=10.3…;转发(3)
    入口端=*;IP源地址=10.3…;转发(4)
    入口端=3;IP源地址=10.2.0.3;转发(4)
    入口端=4;IP源地址=10.2.0.4;转发(3)

    67.SDN OpenFlow 网络同上题。从主机H3或H4发出并到达S2交换机的分组,应遵循以下规则:
    (1)任何来自H3并到达输入端口2的且发往H1,H2,H5,H6的分组,应顺时针转发出去。
    (2)任何来自H4并到达输入端口2的且发往H1,H2,H5,H6的分组,应逆时针转发出去。
    试给出交换机S2的流表项(匹配+动作)

    答:

    匹配动作
    入口端=3;IP源地址=10.2.0.3;转发(2)
    入口端=4;IP源地址=10.2.0.4;转发(1)

    68.SDN OpenFlow 网络同上题。在交换机S1和S3有这样的规定:从源地址H3或H4到来的分组,将按照分组首部中的目的地址进行转发。试给出交换机S1和S3的流表。
    答:S1:

    匹配动作
    入端口=4;IP源地址=10.2…;IP目的地址=10.3…转发(1)

    S3:

    匹配动作
    入口端=4;IP源地址=10.2…;IP目的地址=10.1…转发(3)

    69.SDN OpenFlow 网络同上题。假定我们把交换机S2作为防火墙。防火墙的行为有一下两种:
    (1)对于目的地址为H3和H4的分组,仅可转发从H1和H6发出的分组,也就是说,从H2和H5发出的分组应当被阻挡。
    (2)仅对于目的地址为H3的分组才交付,也就是说,所有发往H4的分组均被阻挡。试分别对上述每一种情况给出交换机S2的流表。对于发往其他路由器的分组可不管。

    答:(1)

    匹配动作
    入端口=1;IP源地址=10.3.0.6;IP目的地址=10.2…;转发(3)(4)
    入口端=2;IP源地址=10.1.0.1;IP目的地址=10.2…;转发(3)(4)

    (2)

    匹配动作
    入端口=1;IP源地址=10.3…;IP目的地址=10.2.0.3转发(3)
    入端口=2;IP源地址=10.1…;IP目的地址=10.2.0.3转发(3)
    展开全文
    qq_51344334 2021-10-07 15:57:07
  • 五章 1.试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的? 答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供...

    第五章

    35题,36题已经做了更正,特别感谢粉丝奈七七的答案。
    1.试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的?
    答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务 运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信(面向主机,承担路由功能,即主机寻址及有效的分组交换)。 各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。
    2.网络层提供数据报或虚电路服务对上面的运输层有何影响?
    答:网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。 但提供不同的服务质量。
    3.当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是面向无连接的?
    答:都是。这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的。
    4.试用画图解释运输层的复用。画图说明许多个运输用户复用到一条运输连接上,而这条运输连接有复用到IP数据报上。
    答:
    在这里插入图片描述
    在图中,主机H3同时和主机H1和主机H2进行通信。H1和H3两个应用进程(HTTP和SMTP)进行通信,这需要使用两个TCP连接。这两个TCP连接所传送的报文段,使用下面的网络层IP数据报进行传送。H2和H3的应用进程(HTTP)进行通信,这需要使用一个TCP进行连接。这个TCP连接所传送的报文段,也要使用下面的网络层IP数据报进行传送。在网络层所传送的IP数据报已看不到运输层以上的复用情况。
    5.试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠TCP。
    答:VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的承受度,但对传输时延的变化较敏感。有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起重传,可能带来较大的时延扰动。因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。
    6.接收方收到有差错的UDP用户数据报时应如何处理?
    答:丢弃。
    7.如果应用程序愿意使用UDP来完成可靠的传输,这可能吗?请说明理由。
    答:可能,但应用程序中必须额外提供与TCP相同的功能。
    8.为什么说UDP是面向报文的,而TCP是面向字节流的?
    答:发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。发送方TCP对应用程序交下来的报文数据块,视为无结构的字节流(无边界约束,课分拆/合并),但维持各字节。
    9.端口的作用是什么?为什么端口要划分为三种?
    答:端口的作用是对TCP/IP体系的应用进程进行统一的标志,使运行不同操作系统的计算机的应用进程能够互相通信。熟知端口,数值一般为0——1023.标记常规的服务进程;登记端口号,数值为1024——49151,标记没有熟知端口号的非常规的服务进程。
    10.试说明运输层中伪首部的作用。
    答:用于计算运输层数据报校验和。
    11.某个应用进程使用运输层的用户数据报UDP,然而继续向下交给IP层后,又封装成IP数据报。既然都是数据报,可否跳过UDP而直接交给IP层?哪些功能UDP提供了但IP没提提供?
    答:不可跳过UDP而直接交给IP层IP数据报IP报承担主机寻址,提供报头检错;只能找到目的主机而无法找到目的进程。UDP提供对应用进程的复用和分用功能,以及提供对数据差分的差错检验。
    12.一个应用程序用UDP,到IP层把数据报在划分为4个数据报片发送出去,结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重传UDP,而IP层仍然划分为4个数据报片来传送。结果这次前两个到达目的站而后两个丢失。试问:在目的站能否将这两次传输的4个数据报片组装成完整的数据报?假定目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中。
    答:不行。重传时,IP数据报的标识字段会有另一个标识符。仅当标识符相同的IP数据报片才能组装成一个IP数据报。前两个IP数据报片的标识符与后两个IP数据报片的标识符不同,因此不能组装成一个IP数据报。
    13.一个UDP用户数据的数据字段为8192字节。在数据链路层要使用以太网来传送。试问应当划分为几个IP数据报片?说明每一个IP数据报字段长度和片偏移字段的值。
    答:UDP数据报 = 首部8字节 + 数据部分组成。
    因为数据字段为8192字节,所以数据报总长度 = 8192 + 8 = 8200 字节。
    以太网的最大传输单元MTU = 1500。
    因为要划分为几个IP数据报,而每个IP数据报的首部占20字节,所以字段部分最大占1480字节。
    划分的时候,可以划分为 8200 / 1480 = 5,余 800 字节。
    所以应当划分为 6 个IP数据报片,前 5 个都是 1480 字节,第 6 个是 800 字节。一个字段即为8个字节。
    第一个IP数据报字段长度:1480,第一片偏移字段:1480 * 0 / 8 = 0
    第二个IP数据报字段长度:1480,第二片偏移字段:1480 * 1 / 8 = 185
    第三个IP数据报字段长度:1480,第三片偏移字段:1480 * 2 / 8 = 370
    第四个IP数据报字段长度:1480,第四片偏移字段:1480 * 3 / 8 = 555
    第五个IP数据报字段长度:1480,第五片偏移字段:1480 * 4 / 8 = 740
    第六个IP数据报字段长度:800, 第六片偏移字段:1480 * 5 / 8 = 925
    UDP数据报的首部存在于第一个IP数据报片中,所以第一个IP数据报字段为:首部8字节 + 1472数据部分。
    14.一UDP用户数据报的首部十六进制表示是:06 32 00 45 00 1C E2 17.试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器还是服务器发送给客户?使用UDP的这个服务器程序是什么?
    解:源端口:1586(前4个字节0632)
    目的端口:69(00 45)
    用户数据报总长度:28 字节(00 1C,其中首部占8字节)
    数据部分长度:20 字节
    这个用户数据报是:从客户发送给服务器
    服务器程序:TFTP。
    UDP数据报由首部字段和数据字段组成,其中首部占8个字节(TCP数据报首部占20字节),格式如下:
    在这里插入图片描述
    以上求出的长度为UDP数据报的总长度28字节,由于UDP数据报的首部占8字节,所以数据字段长度占20字节
    因为目的端口号 69 < 1023,是常用的服务端口,所以这个数据报是发往服务器端的
    0~1023:常用的服务端口
    1024~49151是被注册的端口,也成为“用户端口”
    其中 1024~5000为临时端口
    因为端口号为69,所以使用 UDP 的这个服务器程序是TFTP
    TFTP:是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。
    15.使用TCP对实时话音数据的传输有没有什么问题?使用UDP在传送数据文件时会有什么问题?
    答:如果语音数据不是实时播放(边接受边播放)就可以使用TCP,因为TCP传输可靠。接收端用TCP讲话音数据接受完毕后,可以在以后的任何时间进行播放。但假定是实时传输,则必须使用UDP。 UDP不保证可靠付,但UCP比TCP的开销要小很多。因此只要应用程序接受这样的服务质量就可以使用UDP。
    16.在停止等待协议中如果不使用编号是否可行?为什么?
    答:不可行,分组和确认分组都必须进行编号,才能明确哪个分则得到了确认。
    17.在停止等待协议中,如果收到重复的报文段时不予理睬(即悄悄地丢弃它而其他什么也没做)是否可行?试举出具体的例子说明理由。
    答:可行,比如收到重复的报文段不确认相当于确认丢失。
    18.假定在运输层使用停止等待协议。发送发在发送报文段M0后再设定的时间内未收到确认,于是重传M0,但M0又迟迟不能到达接收方。不久,发送方收到了迟到的对M0的确认,于是发送下一个报文段M1,不久就收到了对M1的确认。接着发送方发送新的报文段M0,但这个新的M0在传送过程中丢失了。正巧,一开始就滞留在网络中的M0现在到达接收方。接收方无法分辨M0是旧的。于是收下M0,并发送确认。显然,接收方后来收到的M0是重复的,协议失败了。试画出类似于图5-9所示的双方交换报文段的过程。
    答:在这里插入图片描述
    我们可以看出,旧的M0被当成是新的M0!可见运输层不能使用停止等待协议(编号只有 0 和1 两种)。
    19.试证明:当用 n 比特进行分组的编号时,若接收到窗口等于 1(即只能按序接收分组),当仅在发送窗口不超过 2 n − 1 2^n-1 2n1时,连接 ARQ 协议才能正确运行。窗口单位是分组。
    答:
    在这里插入图片描述
    Ⅰ、设发送窗口记为 WT,接收窗口记为 WR。假定用 3 比特进行编号。设接收窗口正好在 7 号分组处(有阴影的分组)。
    Ⅱ、发送窗口 WT的位置不可能比 ② 的位置更靠前。因为接收窗口的位置表明接收方正在等待接收 7 号分组,而这时的发送方不可能已经收到了对 7 号分组的确认。因此发送窗口必须包括 7 号分组,也就是不可能比 ② 的位置更靠前(前方就是图的右方)。
    Ⅲ、发送窗口 WT的位置不可能比 ③ 的位置更靠后。因为接收窗口的位置表明接收方已经对 6 号分组(以及以前的分组)发送了确认。但如果发送窗口 WT的位置再靠后一个分组,即在 6 号分组的左边,那就表明还没有发送 6 号分组。但接收方的位置表明接收方已经发送了对 6 号分组的确认。这显然是不可能的。
    Ⅳ、发送窗口 WT的位置可能在某个位置的中间,如 ①。
    对于 ① 和 ② 的情况,在 WT的范围内必须无重复序号,即 WT 2 n 2^n 2n
    对于 ③ 的情况,在 WT+ WR的范围内无重复序号,即 WT + WR 2 n 2^n 2n
    现在 WR = 1,故发送窗口的最大值:WT 2 n − 1 2^n − 1 2n1
    20.在连续 ARQ 协议中,若发送窗口等于 7,则发送端在开始时可连续发送 7 个分组。因此,在每一分组发送后,都要置一个超时计时器。现在计算机里只有一个硬时钟。设这 7 个分组发出的时间分别为 t0,t1,…t6,且tout都一样大。试问如何实现这 7 个超时计时器(这叫软件时钟法)?
    答:
    方法1:可采用链表记录,其信息域为分组的相对发送时间和分组编号来实现。当编号为 0 的分组定时时钟到期后,修改链表指针并重发此分组,同时将头指针指向编号为 1 的分组,以此类推。此类方法相当于数据结构算法里的链表建立的过程。我有一篇C++的链表文章,可以参考。
    在这里插入图片描述
    方法2:可以定义一个含有7个数据的数组,数组中的数据表示时间,当该组数据发送出去时,在对应序号的数组中填入时间值,该时间值是该组发送出去的时间+超时时间得到,如何不停的对该数组的值进行扫描,当接收到接收端的确认分组时,即将对应数组序号的时间值设置为空,准备记录下一个数据发发送时间,当系统时间大于数组中某一个时间值时,说明该分组以及超时了,需要进行重传。
    21.使用连续 ARQ 协议中,发送窗口大小是 3,而序列范围 [0, 15],而传输媒体保证在接收方能够按序收到分组。在某时刻,接收方,下一个期望收到序号是 5。试问:
    (1)在发送方的发送窗口中可能有出现的序号组合有哪几种?
    (2)接收方已经发送出去的、但在网络中(即还未到达发送方)的确认分组可能有哪些?说明这些确认分组是用来确认哪些序号的分组。

    答:
    (1)在接收方,下一个期望收到的序号是 5。这表明序号到 4 为止的分组都已收到。若这些确认都已到达发送方,则发送窗口最靠前,其范围是 [5, 7]。
    假定所有的分组都丢失了,发送方都没有收到这些确认。这时,发送窗口最靠后,应为 [2, 4]。因此,发送窗口可以是 [2, 4],[3, 5],[4, 6],[5, 7] 中的任何一个。
    (2)接收方期望收到的序号 5 的分组,说明序号为 2,3,4 的分组都已收到,并且发送了确认。对序号为 1 的分组的确认肯定被发送方收到了,否则发送方不可能发送 4 号分组。可见,对序号为 2,3,4 的分组的确认有可能仍滞留在网络中。这些确认是用来确认序号为 2,3,4 的分组的。
    22.主机 A 向主机 B 发送一个很长的文件,其长度为 L 字节。假定 TCP 使用的 MSS 有 1460 字节。
    (1)在 TCP 的序号不重复使用的条件下,L 的最大值是多少?
    (2)假定使用上面计算出文件长度,而运输层、网络层和数据链路层所使用的首部开销共 66 字节,链路的数据率为 10 Mb/s,试求这个文件所需的最短发送时间

    答:(1)可能的序号共 2 32 2^{32} 232=4294967296 个。TCP 的序号是数据字段中每一个字节的编号,而不是每一个报文段的编号。因此,这一小题与报文段的长度无关,即用不到题目给出的 MSS 值。这个文件 L 的最大值就是可能的序号数,即 4294967296 字节。若1GB= 2 30 2^{30} 230B,则 L 的最大值为 4 GB。
    (2)发送帧数等于数据字节/每帧的数据字节= 2 32 2^{32} 232/1460=2941758.422,需要发送 2941759 个帧。
    帧首部的开销是 66×2941759 = 194156094 字节。
    发送的总字节数 = 2 32 2^{32} 232 + 194156094 = 4489123390字节。
    数据率 10 Mbilt/s = 1.25 MB/s = 1250000 字节/秒。
    发送 4489123390 字节需时间为:4489123390/1250000 =3591.3 秒。
    即 59.85 分,约 1 小时。
    23.主机 A 向主机 B 连续发送了两个 TCP 报文段,其序号分别为 70 和 100。试问:
    (1)第一个报文段携带了多少个字节的数据?
    (2)主机 B 收到第一个报文段后发回的确认中的确认号应当是多少?
    (3)如果主机 B 收到第二个报文段后发回的确认中的确认号是 180,试问 A 发送的第二个报文段中的数据有多少字节?
    (4)如果 A 发送的第一个报文段丢失了,但第二个报文段到达了 B。B 在第二个报文段到达后向 A 发送确认。试问这个确认号应为多少?

    答:
    (1)第一个报文段的数据序号是 70 到 99,共 30 字节的数据。
    (2)B 期望收到下一个报文段的第一个数据字节的序号为 100,因此确认号为 100。
    (3)A 发送的第二个报文段中的数据中的字节数是 180 - 100 = 80 字节(实际上,就是序号 100 到序号 179 的字节,即 179 - 100 + 1 = 80 字节
    (4)B 在第二个报文段到达后向 A 发送确认,其确认号应为 70。(报文段丢失,就会重复发送确认上一个未收到的报文段第一个序号,即 70)
    24.一个 TCP 连接下面使用 256 kb/s 的链路,其端到端时延为 128 ms。经测试,发现吞吐量只有 120 kb/s。试问发送窗口 W 是多少?(提示:可以有两种答案,取决于接收端发出确认的时机)。
    答:设发送窗口 = W(bit),再设发送端连续发送完窗口内的数据所需要的时间 = T。有两种情况:
    (a)接收端在收完一批数据的最后才发出确认,因此发送端经过 (256 ms + T) 后才能发送下一个窗口的数据。
    (b)接收端每收到一个很小的报文段就发回确认,因此发送端经过比 256 ms 略多一些的时间即可在发送数据。因此每经过 256 ms 就能发送一个窗口的数据。
    在这里插入图片描述
    (a):吞吐量=数据量/时间
    数据量=W;时间=发送时延+往返时延=W/256kbit/s+256ms;
    吞吐量=W/[(W/256kbit/s)+256ms]=120kbit/s;
    求得W=57825.88bit,约等于7228字节。
    (b):吞吐量=数据量/时间
    数据量=W;时间=发送时延+往返时延=256ms(这里b是发送一点就确认接收一点,所以发送时延可以忽略不计。)
    吞吐量=W/256ms=120kbit/s;
    求得W=30720bit=3840字节。
    25.为什么在 TCP 首部中要把 TCP 端口号放入最开始的 4 个字节?
    答:在 ICMP 的差错报文中要包含 IP 首部后面的8个字节的内容,而这里面有 TCP 首部中的源端口和目的端口。当 TCP 收到 ICMP 差错报文时需要用这两个端口来确定是哪条连接出了差错。
    26.为什么在 TCP 首部中有一个首部长度字段,而 UDP 的首部中就没有这个这个字段?
    TCP 首部除固定长度部分外,还有选项,因此 TCP 首部长度是可变的。UDP 首部长度是固定的。
    27.一个 TCP 报文段的数据部分最多为多少个字节?为什么?如果用户要传送的数据的字节长度超过 TCP 报文字段中的序号字段可能编出的最大序号,问还能否用 TCP 来传送?
    答:(1) 一个 TCP 那段的数据部分最多为 65495 字节,此数据部分加上 TCP 首部的 20 字节,再加上 IP 首部的 20 字节,正好是 IP 数据报的最大长度 65535。(当然,若 IP 首部包含了选择,则 IP 首部长度超过20字节,这时 TCP 报文段的数据部分的长度将小于 65495 字节。)
    (2)如果数据的字节长度超过 TCP 报文段中的序号字段可能编出的最大序号,仍可用 TCP 传送。编号用完后可重复使用。但应设法保证不出现编号的混乱。
    IP 数据报的最大长度 = 2 1 6 2^16 216 − 1 = 65535 字节
    TCP 报文段的数据部分 = IP 数据报的最大长度 - IP 数据报的首部 - TCP 报文段的首部 = 65535 - 20 - 20 = 65495 字节
    一个 TCP 报文段的最大载荷是 65515 字节.
    IP数据报的最大长度为 2 1 6 2^16 216 − 1= 65535 字节,减去 IP 数据报首部 20 字节和 TCP 首部 20 字节后的 TCP 报文段的数据部分为 65495 字节。

    28.主机 A 向主机 B 发送 TCP 报文段,首部中的源端口是 m 而目的端口是n。当 B 向 A 发送回信时,其 TCP 报文段的首部中源端口和目的端口分别是什么?
    答:当 B 向 A 发送回信时,其 TCP 报文段的首部中得到源端口就是 A 发送的 TCP 报文段首部的目的端口 n,而 B 发送的 TCP 报文段首部中的目的端口就是 A 发送的 TCP 报文段首都的源端口 m。
    29.在使用 TCP 传送数据时,如果有一个确认报文段丢失了,也不一定会引起与该确认报文段对应的数据的重传。试说明理由。
    答:还未重传就收到了对更高序号的确认。因为 TCP 接收方只会对按序到达的最后一个分组发送确认。当对更高的序号确认了,意味着已经到达了,即不用重传了。
    30.设 TCP 使用的最大窗口为 65535 字节,而传输信道不产生差错,带宽也不受限制。若报文段的平均往返时延为 20 ms,问所能得到的最大吞吐量是多少?
    解: 最大吞吐量那就是单位时间内的最大发送数据量。
    即每20ms可以发送65535×8=524280bit。
    吞吐量=524280bit/20ms=26.2Mb/s。
    31.通信信道带宽为 1 Gb/s,端到端时延为 10 ms。TCP 的发送窗口为 65535 字节。试问:可能达到的最大吞吐量是多少?信道的利用率是多少?
    解:吞吐量=发送数据/时间
    发送数据最大=65535×8=524280bit。
    时间=发送时延+往返时延=524280bit/(1Gbit/s)+20ms=20.524ms。
    最大吞吐量=524280bit/20.524ms=25.5Mbit/s。
    信道利用率=吞吐量/带宽=(25.5Mbit/s)/(1Gbit/s)×100%=2.55%。
    32.什么是 Karn 算法?在 TCP 的重传机制中,若不采用 Karn 算法,而是在收到确认时都认为是对重传报文段的确认,那么由此得出的往返时延样本和重传时间都会偏小。试问:重传时间最后会减小到什么程度?
    答:Karn 算法允许 TCP 能够区分开有效的和无效的往返时间样本,从而改进往返时间的估算。
    若不采用 Karn 算法,而是在收到确认时都认为是对重传报文段的确认,那么由此得出的往返时间样本和重传时间都会偏小。如下图所示,TCP 发送了报文段后,没有收到确认,于是超时重传报文段。但刚刚重传了报文段后,马上就收到了确认。显然,这个确认是对原来发送的报文段的确认。
    但是,根据题意,我们就认为这个确认是对重传的报文段的确认。这样得出的往返时间就会很小。这样的往返时间最后甚至可以减小到很接近于零、
    因此,上述的这种做法是不可取的。
    33.假定 TCP 在开始建立连接时,发送方设定超时重传时间是RTO = 6秒。
    (1)当发送方接到对方的连接确认报文段时,测量出 RTT 样本值为1.5秒。试计算现在的RTO值。
    (2)当发送方发送数据报文段并接收到确认时,测量出RTT样本值为2.5秒。试计算现在的RTO值。

    解:(1)当第一次测量RTT样本时,RTTS就取值RTT样本值为1.5s。RTTS=1.5s
    根据RFC2988的建议,RTTD取值为RTT样本值的一半。
    RTTD=0.75s
    根据公式可得:RTO=RTTS+4RTTD=1.5s+3s=4.5s
    (2)新的RTT样本为2.5s。(根据RFC6298推荐,α取1/8,β取1/4。)
    即新的RTTS=(1-α)×(旧的RTTS)+α×(新的RTT样本)=1.625s
    新的RTTD=(1-β)×(旧的RTTD)+β×|RTTS-新的RTT样本|=0.78s
    根据公式:RTO=RTTS+4RTTD=1.625s+4×0.78s=4.75s
    34.已知第一次测得 TCP 的往返时延的当前值 RTT 是 30 ms。现在收到了三个接连的确认报文段,它们比相应的数据报文段的发送时间分别滞后的时间是:26 ms,32 ms 和24 ms。设 α = 0.1。试计算每一次的新的加权平均往返时间值RTTS。讨论所得出的结果。
    解:公式:即新的RTTS=(1-α)×(旧的RTTS)+α×(新的RTT样本)
    第一次:RTTs=(1-0.1)×30ms+0.1×26ms=29.6ms
    第二次:RTTS=(1-0.1)×29.6ms+0.1×32ms=29.86ms
    第三次:RTTS=(1-0.1)×29.86ms+0.1×24ms=29.256ms
    三次的加权平均时间相差不大,当RTT样本值变化不大时,RTTs的变化也是很小的。
    35.用TCP通过速率为1Gbit/s的链路传送一个10MB的文件。假定链路的往返时延RTT=50ms。TCP选用了窗口扩大选项,使窗口达到可选用的最大值。在接收端,TCP的接收窗口为1MB,而发送端采用拥塞控制算法,从慢开始传送。假定拥塞窗口以分组为单位计算,在一开始发送1个分组,而每个分组长度都是1KB.假定网络不会发生拥塞和分组丢失,并且发送端发送数据的速率足够快,因此发送时延可以忽略不计,而接收端每一次收完一批分组后就立即发送确认ACK分组。
    (1)经过多少个RTT后,发送窗口大小达到1MB?
    (2)发送端把整个10MB文件传送成功共需要多少个RTT?传送成功是指发送完整个文件,并收到所有的确认。TCP扩大的窗口够用么?
    (3)根据整个文件发送成功所花费的时间(包括收到所有的确认),计算此传输链路的有效吞吐率。链路带宽的利用率是多少?

    解:(1)根据拥塞算法,就是每一次接收端发出确认时,发送端口就会增加为原来的2倍。则1MB=1024KB。那么就是 2 10 2^{10} 210KB=1MB,也就是来回十次就可以了,经过10个RTT,发送窗口大小达到1MB。
    在这里插入图片描述
    (2)从图中可看出,当第10个RTT结束时,已传送成功的分组是 2 10 − 1 2^{10}-1 2101个分组,正好比1MB少一个分组。一个分组只有1KB,可先不考虑。可以这样分析:在第10个RTT结束时,发送窗口为1MB,已传送成功的数据量约为1MB(准确的是1MB-1 KB),因此在此基础上,我们还需要再传送9MB(实际上还需要再传送9MB+ 1 KB)。由于每经过一个RTT,发送窗口就加倍,因此在第11个RTT结束时,又成功发送了1MB。第12个RTT结束时,又成功发送了2MB。第13个RTT结束时,又成功发送了4MB。至此,一共又成功传送了I+2+4=7MB。与9MB 相比还差2MB。因此还要经过一个RTT。在第14个RTT开始时把所有剩下的数据2MB(实际上是2MB+1KB)都发送完毕。这样,全部10MB的数据成功发送完毕需要14个 RTT。
    (3)吞吐率=数据量/时间
    数据量=10MB=10× 2 20 2^{20} 220B=10× 2 20 2^{20} 220×8bit
    时间=14×50ms=0.7s
    有效吞吐率=10× 2 20 2^{20} 220×8bit/0.7s=119.8Mbit/s
    带宽利用率=吞吐量/带宽
    带宽利用率=119.8Mbit/s/1Gbit/s×100%=11.98%
    36.假定TCP采用一种仅使用线性增大和乘法减小的简单拥塞控制算法,而不使用慢开始。发送窗口不采用字节为计算单位,而是使用分组pkt为计算单位。在一开始发送窗口为1pkt。假定分组的发送时延非常小,可以忽略不计。所有产生的时延就是传播时延。假定发送窗口总是小于接收窗口。接收端每收到一分组后,就立即发回确认ACK。假定分组的编号为i,在一开始发送的是i=1的分组。以后当i=9,25,30,38,50时,发生了分组的丢失。再假定分组的超时重传时间正好是下一个RTT开始的时间。试画出拥塞窗口(也就是发送窗口)与RTT的关系曲线,画到发送第51个分组为止。
    答:开始时拥塞窗口(发送窗口)为1 pkt,发送编号为1的分组。
    当RTT=1时(即第1个RTT结束时),收到确认,拥塞窗口增大到2 pkt,发送2个分组,其编号为2和3。
    当RTT=2时(即第2个RTT结束时),收到确认,拥塞窗口增大到3 pkt,发送3个分组,其编号为4~~6。
    当RTT=3时(即第3个RTT结束时),收到确认,拥塞窗口增大到4 pkt,发送4个分组,其编号为7~10。
    但在RTT=4时(即第4个RTT结束时),发送端发现编号为9的分组丢失了,没有收到相应的确认。于是这时把拥塞窗口减半,从前面的4减到2。请注意,拥塞窗口的值仅在RTT为整数值时才有意义。因为只有在这些时刻,确定了发送端能够发送几个分组。分组一旦发送出去,发送窗口就不再起作用。只有到了下一个RTT 结束时,发送窗口才再次起作用。
    后面的分组发送,在图中表示,就不再作过多的解释了。但最后,在RTT=18时,由于编号为50的分组丢失,拥塞窗口应减半,从5 pkt减小到2.5 pkt。但分组组不能只发送半个,因此实际上拥塞窗口就是2。如果在图中把拥塞窗口设定为2.5 pkt,那么在发送时也只能发送2个分组。因此在RTT -18时,发送的分组编号是50和51。
    在这里插入图片描述
    37.在 TCP 的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法?这里每一种算法各起什么作用? “乘法减小”和“加法增大”各用在什么情况下?
    答:
    ① 慢开始:
    在主机刚刚开始发送报文段时可先将拥塞窗口 cwnd 设置为一个最大报文段 MSS 的数值。在每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个 MSS 的数值。用这样的方法逐步增大发送端的拥塞窗口 cwnd,可以分组注入到网络的速率更加合理。
    ② 拥塞避免:
    当拥塞窗口值大于慢开始门限时,停止使用慢开始算法而改用拥塞避免算法。拥塞避免算法使发送的拥塞窗口每经过一个往返时延 RTT 就增加一个 MSS 的大小。
    ③ 快重传算法规定:
    发送端只要一连收到三个重复的 ACK 即可断定有分组丢失了,就应该立即重传丢手的报文段而不必继续等待为该报文段设置的重传计时器的超时。
    ④ 快恢复算法:
    当发送端收到连续三个重复的 ACK 时,就重新设置慢开始门限 ssthresh 与慢开始不同之处是拥塞窗口 cwnd 不是设置为 1,而是设置为 ssthresh 若收到的重复的 ACK 为 n 个(n>3),则将 cwnd 设置为 ssthresh 若发送窗口值还容许发送报文段,就按拥塞避免算法继续发送报文段。若收到了确认新的报文段的 ACK,就将 cwnd 缩小到 ssthresh。
    ⑤ 乘法减小:
    是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把慢开始门限值 ssthresh 设置为当前的拥塞窗口值乘以 0.5。当网络频繁出现拥塞时,ssthresh 值就下降得很快,以大大减少注入到网络中的分组数。
    ⑥ 加法增大:
    是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间),就把拥塞窗口 cwnd 增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。
    38.设 TCP 的 ssthresh 的初始值为 8 (单位为报文段)。当拥塞窗口上升到 12 时网络发生了超时,TCP 使用慢开始和拥塞避免。试分别求出第 1 次到第 15 次传输的各拥塞窗口大小。你能说明拥塞控制窗口每一次变化的原因吗?
    答:拥塞窗口大小及变化原因见下表:

    轮次拥塞窗口拥塞窗口变化的原因
    11网络发生了超时,TCP 使用慢开始算法
    22拥塞窗口值加倍
    34拥塞窗口值加倍
    48拥塞窗口值加倍,这是 ssthresh 的初始值
    59TCP 使用拥塞避免算法,拥塞窗口值加 1
    610TCP 使用拥塞避免算法,拥塞窗口值加 1
    711TCP 使用拥塞避免算法,拥塞窗口值加 1
    812TCP 使用拥塞避免算法,拥塞窗口值加 1
    91网络发生了超时,TCP 使用慢开始算法
    102拥塞窗口值加倍
    114拥塞窗口值加倍
    126拥塞窗口值加倍,但到达 12 的一半时,改为拥塞避免算法
    137TCP 使用拥塞避免算法,拥塞窗口值加 1
    148TCP 使用拥塞避免算法,拥塞窗口值加 1
    159TCP 使用拥塞避免算法,拥塞窗口值加 1

    注:依照原理,首先执行 TCP 连接初始化,将拥塞窗口 cwnd 值置为 1;其次执行慢开始算法,cwnd 按指数规律增长,因此随后窗口大小分别为 2,4,8。当拥塞窗口 cwnd = ssthresh 时,进入拥塞避免阶段,其窗口大小依次是 9,10,11,12,直到上升到 12 为止发生拥塞;然后把门限值 ssthresh 设置为当前的拥塞窗口值乘以 0.5,门限值 ssthresh 变为6,;然后进入慢开始,cwnd 值置为1,cwnd 按指数规律增长,随后窗口大小分别为 1,2,4,6。当拥塞窗口 cwnd = ssthresh 时,进入拥塞避免阶段,其窗口大小依次是 7,8,9。
    39.TCP 的拥塞窗口 cwnd 大小与传输轮次 n 的关系如表所示:
    在这里插入图片描述
    (1)试画出如教材中图 5-25 所示的拥塞窗口与传输轮次的关系曲线。
    (2)指明 TCP 工作在慢开始阶段的时间间隔。
    (3)指明 TCP 工作在拥塞避免阶段的时间间隔。
    (4)在第 16 轮次和第 22 轮次之后发送方是通过收到三个重复的确认还是通过超时检测到丢失了报文段?
    (5)在第 1 轮次,第 18 轮次和第 24 轮次发送时,门限 ssthresh 分别被设置为多大?
    (6)在第几轮次发送出第 70 个报文段?
    (7)假定在第 26 轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口 cwnd 和门限 ssthresh 应设置为多大?

    答:(1)在这里插入图片描述
    (2)慢开始时间间隔:[1, 6] 和 [23, 26]
    (3)拥塞避免时间间隔:[6, 16] 和 [17, 22]
    (4)在第 16 轮次之后发送方通过收到三个重复的确认,检测到丢失了报文段,因为题目给出,下一个轮次的拥塞窗口减半了。在第 22 轮次之后发送方通过超时,检测到丢失了报文段,因为题目给出,下一个轮次的拥塞窗口下降到 1了。
    (5)在第 1 轮次发送时,门限 ssthresh 被设置为 32,因为从第 6 轮次起就进入了拥塞避免状态,拥塞窗口每个轮次加 1。
    在第 18 轮次发送时,门限 ssthresh 被设置为发生拥塞时拥塞窗口 42 的一半,即 21。
    在第 24 轮次发送时,门限 ssthresh 被设置为发生拥塞时拥塞窗口 26 的一半,即 13。
    (6)第 1 轮次发送报文段 1。(cwnd = 1)
    第 2 轮次发送报文段 2, 3。(cwnd = 2)
    第 3 轮次发送报文段 4 ~ 7。(cwnd = 4)
    第 4 轮次发送报文段 8 ~ 15。(cwnd = 8)
    第 5 轮次发送报文段 16 ~ 31。(cwnd = 16)
    第 6 轮次发送报文段 32 ~ 63。(cwnd = 32)
    第 7 轮次发送报文段 64 ~ 96。(cwnd = 33)
    因此第 70 报文段在第 7 轮次发送出。
    (7)检测出了报文段的丢失时拥塞窗口 cwnd 是 8,因此拥塞窗口 cwnd 的数值应当减半,等于 4,而门限 ssthresh 应设置为检测出报文段丢失时的拥塞窗口 8 的一半,即 4。
    40.TCP 在进行流量控制时是以分组的丢失作为产生拥塞的标志。有没有不是因拥塞而引起的分组丢失的情况?如有,请举出三种情况。
    答:不是因为拥塞而引起分组丢失的情况是有的,举例如下:
    ① 当 IP 数据报在传输过程中需要分片,但其中一个数据报片未能及时到达终点,而终点组装 IP 数据报已超时,因而只能丢弃该数据报。
    ② IP 数据报已经到达终点,但终点的缓存没有足够的空间存放此数据报。
    ③ 数据报在转发过程中经过一个局域网的网桥,但网桥在转发该数据报的帧时没有足够的储存空间而只好丢弃。
    41.用 TCP 传送 512 字节的数据。设窗口为 100 字节,而 TCP 报文段每次也是传送 100 字节的数据。再设发送端和接收端的起始序号分别选为 100 和 200,试画出类似于教材中图 5-31 的工作示意图。从连接建立阶段到连接释放都要画上。
    要传送的 512 B 的数据必须划分为 6 个报文段传送,前 5 个报文段各 100 B,最后一个报文段传送 12 B。下图是双方交互的示意图。下面进行简单的解释。
    【----- 进行三报文握手 -----】
    报文段 #1:A 发起主动打开,发送 SYN 报文段,除以 SYN-SENT 状态,并选择初始序号 seq = 100。B 处于 LISTEN 状态。
    报文段 #2:B 确认 A 的 SYN 报文段,因此 ack = 101(是 A 的初始序号加 1)。B选择初始序号 seq = 200。B 进入到 SYN-RCVD 状态。
    报文段 #3:A 发送 ACk 报文段来确认报文段 #2,ack = 201(是 B 的初始序号加 1)。A 没有在这个报文段中放入数据。因为 SYN 报文段 #1 消耗了一个序号,因此报文段 #3 的序号是 seq = 101。这样,A 和 B 都进入了 ESTABLISHED 状态。
    【----- 三报文握手完成 -----】
    在这里插入图片描述
    【----- 开始数据传送 -----】
    报文段 #4:A 发送 100 字节的数据。报文段 #3 是确认报文段,没有数据发送,报文段 #3 并不消耗序号,因此报文段 #4 的序号仍然是 seq = 101。A 在发送数据的同时,还确认 B 的报文段 #2,因此 ack = 201。
    报文段 #5:B 确认 A 的报文段 #4。由于收到了从序号 101 到 200 共 100 字节的数据,因此在报文段 #5 中,ack = 201(所期望收到的下一个数据字节的序号)。B 发送的 SYN 报文段 #2 消耗了一个序号,因此报文段 #5 的序号是 seq = 201,比报文段 #2 的序号多了一个序号。在这个报文段中,B 给出了接收窗口 rwnd = 100。
    从报文段 #6 到报文段 # 13 都不需要更多的解释。到此为止,A 已经发送了 500 字节 的数据。值得注意的是,B 发送的所有确认报文都不消耗序号,其序号都是 seq = 201。
    报文段 #14:A 发送最后 12 字节的数据,报文段 #14 的序号是 seq = 601。
    报文段 #15:B 发送对报文段 #14 的确认。B 收到从序号 601 到 602 共 12 字节的数据。因此,报文段 #15 的确认号是 ack = 613(所期望收到的下一个数据字节的序号)。
    需要注意的是,从报文段 #5 一直到 报文段 #15,B 一共发送了 6 个确认,都不消耗序号,因此 B 发送的报文段 #15 的序号仍然和报文段 #5 的序号一样,即 seq = 201。
    【-----数据传送完毕-----】
    【-----进行四报文挥手------】
    报文段 #16:A 发送 FIN 报文段。前面所发送的数据报文段 #14 已经用掉了序号 601 到 612,因此报文段 #16 序号是 seq = 613。A 进入 FIN-WAIT-1 状态。报文段 #16 的确认号 ack = 202。
    报文段 #17:B发送确认报文段,确认号为 614,进入 CLOSE-WAIT 状态。由于确认报文段不消耗序号,因此报文段 #17 的序号仍然和报文段 #15 的一样,即 seq = 201
    报文段 #18:B 没有数据要发送,就发送 FIN 报文段 #18,其序号仍然是 seq = 201。这个 FIN 报文会消耗一个报文。
    报文段 #19:A 发送最后的确认报文段。报文段 #16 的序号是 613,已经消耗掉了。因此,现在的序号是 seq = 614。但这个确认报文段并不消耗序号。
    【-----四报文挥手结束-----】
    42.在图 5-29 中所示的连接释放过程中,主机 B 能否先不发送 ACK = x + 1 的确认?(因为后面要发送的连接释放报文段中仍有 ACK = x + 1 这一信息)
    答:在这里插入图片描述
    如果 B 不再发送数据了,是可以把两个报文段合并成为一个,即只发送 FIN+ACK 报文段。但如果 B 还有数据报要发送,而且要发送一段时间,那就不行,因为 A 迟迟收不到确认,就会以为刚才发送的 FIN 报文段丢失了,就超时重传这个 FIN 报文段,浪费网络资源。
    43.在图 5-30 中,在什么情况下会发生从状态 SYN-SENT 到状态 SYN-RCVD 的变迁?
    答:
    在这里插入图片描述
    当 A 和 B 都作为客户,即同时主动打开 TCP 连接。这时的每一方的状态变迁都是:
    CLOSED -> SYN-SENT -> SYN-RCVD -> ESTABLISHED
    44.试以具体例子说明为什么一个运输连接可以有多种方式释放。可以设两个互相通信的用户分别连接在网络的两结点上。
    答:设 A,B建立了运输连接。
    协议应考虑一下实际可能性: A 或 B 故障,应设计超时机制,使对方退出,不至于死锁;
    A主动退出,B被动退出
    B主动退出,A被动退出
    45.解释为什么突然释放运输连接就可能会丢失用户数据,而使用 TCP 的连接释放方法就可保证不丢失数据。
    答:当主机 1 和主机 2 之间连接建立后,主机 1 发送了一个 TCP 数据段并正确抵达主机 2,接着主机 1 发送另一个TCP数据段,这次很不幸,主机 2 在收到第二个 TCP 数据段之前发出了释放连接请求,如果就这样突然释放连接,显然主机 1 发送的第二个 TCP 报文段会丢失。
    而使用 TCP 的连接释放方法,主机 2 发出了释放连接的请求,那么即使收到主机 1 的确认后,只会释放主机 2 到主机 1 方向的连接,即主机 2 不再向主机 1 发送数据,而仍然可接收主机 1 发来的数据,所以可保证不丢失数据。
    46.试用具体例子说明为什么在运输连接建立时要使用三次握手。说明如不这样做可能会出现什么情况。
    答:3 次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。
    假定 B 给 A 发送一个连接请求分组,A 收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A 认为连接已经成功地建立了,可以开始发送数据分组。可是,B 在 A 的应答分组在传输中被丢失的情况下,将不知道 A 是否已准备好,不知道 A 建议什么样的序列号,B 甚至怀疑 A 是否收到自己的连接请求分组,在这种情况下,B 认为连接还未建立成功,将忽略 A 发来的任何数据分组,只等待连接确认应答分组。而 A 发出的分组超时后,重复发送同样的分组。这样就形成了死锁。
    47.一个客户向服务器请求建立 TCP 连接。客户在 TCP 连接建立的三次握手中的最后一个报文段中捎带上一些数据,请求服务器发送一个长度为 L 字节的文件。假定:
    (1)客户和服务器之间的数据传输速率是 R 字节/秒,客户与服务器之间的往返时间是 RTT(固定值)。
    (2)服务器发送的 TCP 报文段的长度都是 M 字节,而发送窗口大小是 nM 字节。
    (3)所有传送的报文段都不会出错(无重传),客户收到服务器发来的报文段后就及时发送确认。
    (4)所有的协议首部开销都可忽略,所有确认报文段和连接建立阶段的报文段的长度都可忽略(即忽略这些报文段的发送时间)。
    试证明,从客户开始发起连接建立到接收服务器发送的整个文件多需的时间 T 是:T = 2RTT + L/R,当 nM > R(RTT) + M
    或 T= 2RTT + L/R + (K - 1)[ M/R + RTT - nM/R],当 nM < R(RTT) + M
    其中,K=『L/nM』,符号『x』表示若 x 不是整数,则把 x 的整数部分加 1。
    (提示:求证的第一个等式发生在发送窗口较大的情况,可以连续把文件发送完。求证的第二个等式发生在发送窗口较小的情况,发送几个报文段后就必须停顿下来,等收到确认后再继续发送。建议先画出双方交互的时间图,然后再进行推导。)

    答:
    在这里插入图片描述
    先看图(a):
    M/R 是一个报文段的发送时间(一个报文段的长度除以数据率)
    nM 是窗口大小,nM/R 是把窗口内的数据都发送完所需要的时间。
    如果 nM/R > M/R + RTT ,那么服务器在发送窗口内的数据还没有发送完,就收到客户的确认,因此,服务器可以连续发送,直到全部数据发送完毕。
    这个不等式两边都乘以 R,就得出等效的条件:
    当 nM > R(RTT) + M 发送窗口内的数据还没有发送完就收到确认,因此,服务器可以连续发送,直到全部数据发送完毕。
    因此,客户接收全部数据所需的时间是:
    T = 2RTT + L/R,当 nM > R(RTT) +
    再看图(b):
    当 nM > R(RTT) + M 时,服务器把发送窗口内的数据发送完毕时还收不到确认,因此必须停止发送。从图中可知,停止的时间间隔是 M/R + RTT - nM/R。
    整个文件 L 要划分为 K =『L/nM』次传送,停止的时间间隔有(K-1)个。这样就证明了求证的公式:
    T = 2RTT + L/R + (K-1)[M/R + RTT - nM/R],当 nM < R(RTT) + M
    48.网络允许的最大报文段长度为 128 字节,序号用 8 比特表示,报文段在网络中的寿命为 30 s。求发送报文段的一方所能达到的最高数据率。
    解:根据题意,先可以做出以下一些假设:
    (1)本题不是使用 TCP 协议,因为序号字段是 8 位,而不是 TCP 的 32 位。
    (2)既然不是使用 TCP 协议,当然也不是使用 TCP 协议得到首部。现在的报文段的首部是什么样子,和我们解题没有关系。我们不用管它。我们只需要知道的是,现在的报文段的首部有一个序号字段。
    (3)显然,现在不是给报文中的每一个字节编上序号,而是给每一个报文编上序号。
    (4)报文段的传送应当使用滑动窗口协议(而不是停止等待协议),这样可得到较高的效率。
    我们知道,在使用滑动窗口协议时,在没有收到确认的情况下,8 位的序号字段可连续发送 255 个序号( 2 n − 1 2^n-1 2n1)的报文段。
    那么一共可以发送的比特数为255×128×8=261120bit
    数据率=比特数/时间
    最高数据率=261120bit/30s=8704bit/s
    49.下面是以十六进制格式存储的一个 UDP 首部:
    CB84000D001C001C
    试问:
    (1) 源端口号是什么?
    (2) 目的端口号是什么?
    (3) 这个用户数据报的总长度是什么?
    (4) 数据长度是多少?
    (5)这个分组是从客户到服务器还是从服务器到客户?
    (6) 客户进程是什么?

    答:(1)源端口号是最前面的四位十六进制数(CB84)16=(52100)10
    (2)目的端口号是五到八位的十六进制数(000D)16=(13)10
    (3)用户数据报的长度由九到十二位十六进制数决定(001C)16=(28)10字节。
    (4)数据长度=数据报长度-首部长度=28字节-8字节=20字节。
    (5)因为目的端口是 13 (熟知端口),所以这个分组是从客户到目的端口。
    (6)从 RFC 867 可以得知,这个客户进程是 Daytime。当 Daytime 服务器收到客户发送的 UDP 用户数据报后,就把现在的日期和时间以 ASCII 码字符串的形式返回给客户。
    50.把教材上的图 5-7 计算 UDP 检验和的例子自己具体演算一下,看是否能够得出书上的计算结果。
    在这里插入图片描述可以使用两种方法进行二进制反码求和的运算。一种方法是把这 14 行的 16 位数据一起从低位到高位逐位相加。另一种方法是把这 14 行的 16 位数据两行两行地相加(即二进制反码求和)
    我们这里使用后一种方法,这里要相加 13 次。
    第 1 行和 第 2 行相加,得 10100001 01111011
    再和第 3 行相加,得 1 01001100 011111110。请注意,最左边(最高位)的 1 是进位得到的 1,这要和最低位相加。因此和第 3 行相加后,得 01001100 01111111。最低位的 1 就是由最高位的进位得到的。这叫做 “回卷”。
    再和第 4 行相加,得 01011010 10001010。
    再和第 5 行相加,得 01011010 10011011。
    再和第 6 行相加,得 01011010 10101010。
    再和第 7 行相加,得 01011110 11101001。
    再和第 8 行相加,得 01011110 11110110。
    再和第 9 行相加,得 01011111 00000101。
    第 10 行是全 0,不用再计算相加。
    再和第 11 行相加,得 10110011 01001010。
    再和第 12 行相加,得 00000110 10011111。这里的最低位的 1 由最高位的进位回卷得到的。
    再和第 13 行相加,得 01001111 11101101。
    再和第 14 行相加,得 10010110 11101101。这就是二进制反码求和的结果。把这个结果求反码(1 换成 0 而 0 换成 1),得出:01101001 00010010。这就是应当写在检验和字段的数。和书上给出的结果是一致的。
    UDP 用户数据报传送到接收端后,再进行检验和计算。这就是把收到的 UDP 用户数据报连同伪首部(以及可能的填充全零字节)一起,按二进制反码求这些 16 位字的和。当无差错时其结果应当全 1。否则就表明有差错出现,接收方就应丢弃这个 UDP 用户数据报(也可以上交应用层,但附上出现差错的警告)。
    51.在以下几种情况下,UDP 的检验和在发送时数值分别是多少?
    (1)发送方决定不使用检验和。
    (2)发送方使用检验和,检验和的数值是全 1。
    (3)发送方使用检验和,检验和的数值是全 0。

    答:(1)UDP 规定,UDP 的上层用户可以关闭检验和的计算(即在 UDP 的传送过程中,不使用检验和这个检错功能)。这样做的好处是可以提高 UDP 的传送速度(但要牺牲一些可靠性)。如果发送方决定不使用检验和,那么发送方的检验和的值应当置为全 0。这表示这个数值不是计算出来的,而是发送方关闭了检验和这个功能。
    (2)如果发送方使用检验和,但检验和的数值是全 1。
    我们可以想一想,怎么会出现这种情况。如果计算检验和最后的结果是全 1,就表明得出这个结果的前一个步骤(即二进制反码求和)的结果是全 0。在什么情况下,伪首部和整个 UDP 按 16 位字进行二进制反码求和的结果是全 0 ?这就是伪首部和整个 UDP 的所有字段都是 0。但很明显,这是不可能的。所有的地址和数据都是 0,还有什么意义?不要以为两个 1 相加就是 0。不对。两个 1 相加按二进制反码求和的结果是 1 0。这里的 1 是进位。因为此按照计算检验和的规矩来计算,对真实的 UDP 用户数据报不可能得出检验和的数值是全 1。
    但是,计算检验和时的倒数第二步,即按二进制反码求和的结果却有可能是全 1。在这种情况下,最后一步求反码,就会得出检验和是全 0。但是前面我们已经讲过,检验和置为全 0是表示发送方不使用检验和。这样就产生了疑问:如果检验和是全 0,是发送方不使用检验和?还是使用了检验和但检验和的结果碰巧全是 0?无法确定。于是 UDP 协议就规定:如果计算检验和的结果刚好是全 0,那么就把它人为的置为全 1。因为前面已经讲过,全 1 的检验和是不可能由计算出来的。因此接收方一旦收到检验和为全 1 的 UDP 用户数据报,就知道这是人为的,真正地检验和其实是全 0。
    (3)发送方使用检验和,检验和的数值是全 0。
    前面已经讲过,这是不可能的。如果发送方计算出来的检验和是全 0,那也要把它变成全 1 再发送出去。
    52.UDP 和 IP 的不可靠程度是否相同? 请加以解释。
    答:① UDP 和 IP 都是无连接的协议和不可靠传输的协议。UDP 用户数据报和 IP 数据报的首部都有检验和字段。当检验出现差错时,就把收到的 UDP 用户数据报或 IP 数据报丢弃。这是它们的相同之处。
    ② 但 UDP 和 IP 的可靠性是有些区别的。UDP 用户数据报的检验和是既检验 UDP 用户数据报的首部又检验整个的 UDP 用户数据报的数据部分,而 IP 数据报的检验和仅仅检验 IP 数据报的首部。UDP 用户数据报的检验和还增加了伪首部,即还检验了下面的 IP 数据报的源 IP 地址和目的 IP 地址。
    53.UDP 用户数据报的最小长度是多少?用最小长度的 UDP 用户数据报构成的最短 IP 数据报的长度是多少?
    答:UDP 用户数据报的最小长度是 8 字节,即仅有首部而没有数据。用最小长度的 UDP 源用户数据报构成的最短 IP 数据报的长度为 28 字节。此 IP 数据报具有 20 字节的固定首部,首部中没有可选字段。
    54.某客户使用 UDP 将数据发送给一服务器,数据共 16 字节。试计算在运输层的传输效率(有用字节与总字节之比)。
    解:UDP的数据报总长度=16+8=24字节
    传输效率=(16/24)×100%=66.7%
    55.重做 54,但在 IP 层计算传输效率。假定 IP 首部无选项。
    解:IP数据报总长度=24+20=44字节
    传输效率=(16/44)×100%=32.4%
    56.重做 54,但在数据链路层计算传输效率。假定 IP 首部无选项,在数据链路层使用以太网。
    解:以太网有 14 字节的首部,4 字节的尾部(FCS 字段),发送以太网的帧之前还有 8 字节的前同步码。但其数据字段的最小长度是 46 字节,而我们的 IP 数据报仅有 44 字节,因此还必须加上 2 字节的填充。这样,以太网的总长度 = 14 + 4 + 8 + 2 + 44 = 72 字节。
    传输效率=(16/72)×100%=22.2%
    57.某客户有 67000 字节的分组。试说明怎样使用 UDP 用户数据将这个分组进行传送。
    答:一个 UDP 用户数据报的最大长度为 65535 字节。现在的长度超过了这个限度,因此不能使用一个 UDP 用户数据报来传送。必须进行切割(例如,分割为两个 UDP 用户数据报),使其长度不超过以上的限度。
    58.TCP 在 4:30:20 发送了一个报文段。它没有收到确认。在 4:30:25 它重传了前面这个报文段。它在 4:30:27 收到确认。若以前的 RTT 值为 4 秒,根据 Karn 算法,新的 RTT 值为多少?
    解:根据 Karn 算法,只要是 TCP 报文段重传了,就不采用其往返时间样本。本题中收到的确认是在重传后收到的。因此 RTT 没有变化,仍然是以前的数值(4 秒)。
    Karn算法:运输层用来控制流量算法。在计算平均往返时延 RTT 时,只要报文段重传了,就不采用其往返时延样本。这样得出的平均往返时延 RTT 和重传时间就较准确。
    59.TCP 连接使用 1000 字节的窗口值,而上一次的确认号是 22001。它收到了一个报文段,确认号是 22401.。试用图来说明在这之前与之后的窗口情况。
    答:在这之前和在这之后的窗口情况如下图所示。
    这里要注意的是:发送窗口为 1000 字节,窗口里面的序号也正好是 1000 个。号码小在后面,即在图的左方。另外一点要注意的是,发送方收到的确认号表示接收方期望能够收到序号。这个序号应当在发送窗口的最前面。
    在这里插入图片描述
    60.同上题,但在接收方收到的字节为 22401 的报文段时,其窗口字段变为 1200 字节。试用图来说明在这之前与之后的窗口情况。
    答:在这之前与之后的窗口情况如下图所示:
    在这里插入图片描述
    61.在本题中列出的 8 种情况下,画出发送窗口的变化。并标明可用窗口的位置。已知主机 A 要向主机 B 发送 3 KB 的数据。在 TCP 连接建立后,A 的发送窗口大小是 2 KB。A 的初始序号是 0。
    (1) 一开始 A 发送 1 KB的数据。
    (2) 接着 A 就一直发送数据,直到把发送窗口用完。
    (3) 发送方 A 收到对第 1000 号字节的确认报文段。
    (4) 发送方 A 再发送 850 B的数据。
    (5) 发送方 A 收到 ack = 900 的确认报文段。
    (6) 发送方 A收到对第 2047 号字节的确认报文段。
    (7) 发送方 A把剩下的数据全部都发送完。
    (8) 发送方 A 收到 ack = 3072 的确认报文段。

    答:在这里插入图片描述
    (1)我们应当注意到,发送窗口 = 2 KB 就是 2 ×1024 = 2048 字节。因此,发送窗口应当是从 0 到第 2047 字节为止,长度是 2048 字节。A 开始就发送了 1024 字节,因此发送窗口中左边的 1024 个字节已经用掉了(窗口的这部分为灰色),而可用窗口是白色的,从第 1024 字节到第 2047 字节位置。请注意,不是到第 2048 字节位置,因此第一个编号是 0 而不是 1。
    (2)发送方 A 一直发送数据,直到把发送窗口用完。这时,整个窗口都已用掉了,可用窗口的大小已经是零了,一个字节也不能发送了。
    (3)发送方 A 收到对第 1000 字节的确认报文段,表明 A 收到确认号 ack = 1001 的确认报文段。这时,发送窗口的后沿向前移动,发送窗口从第 1001 字节(不是从第 1000 字节)到第 3048 字节(不是第 3047 字节)为止。可用窗口从第 2048 字节到第 3048 字节。【注意,因为从 1001 起,3048 - 1001 + 1 = 2048】
    (4)发送方 A 再发送 850 字节,使得可用窗口的后沿向前移动 850 字节,即移动到 2898 字节。现在的可用窗口从第 2898 字节到 3048 字节。
    (5)发送方 A 收到 ack = 900 的确认报文段,不会对其窗口状态有任何影响。这是个迟到的确认。
    (6)发送方 A 收到对第 2047 号字节的确认报文段。A 的发送窗口再向前移动。现在的发送窗口从第 2048 字节开始到第 4095 字节。可用窗口增大了,从第 2898 字节第 4095 字节。
    (7)发送方 A 把剩下的数据全部发送完。发送方 A 共有 3 KB(即 3072 字节)的数据,其编号从 0 到 3071。因此现在的可用窗口变小了,从第 3072 字节到第 4095 字节。
    (8)发送方 A 收到 ack = 3072 的确认报文段,表明序号在 3071 和这以前的报文段都收到了,后面期望收到的报文段的序号熊 3072 开始。因此新的发送窗口的位置又向前移动,从第 3072 号字节到第 5119 号字节。整个发送窗口也就是可用窗口。
    62.TCP 连接处于 ESTABLISHED 状态。以下的事件相继发生:
    (1)收到一个 FIN 报文段。
    (2)应用程序发送 “关闭” 报文。
    在每一个事件之后,连接的状态是什么?在每一个事件之后发生的动作是什么?

    答:(1)处于 ESTABLISHED 状态又能够收到一个 FIN 报文段,只有 TCP 的服务器端而不会是客户端。当这个服务器端收到 FIN 时,服务器就向客户端发送 ACK 报文段,并进入到 CLOSE-WAIT 状态。这是被动关闭。请注意,这时客户端不会再发送数据了,但服务器端如还有数据要发送给客户端,那么还是可以继续发送的。
    在这里插入图片描述
    (2)应用程序发送 “关闭” 报文给服务器,表明没有数据要发送了。这时服务器就应当发送 FIN 报文段给客户,然后转换到 LAST-ACK 状态,并等待来自客户端的最后的确认。
    以上的状态转换可参考教材上的图 5-30。
    在这里插入图片描述
    63.TCP 连接处于 SYN-RCVD 状态。以下的事件相继发生:
    (1)应用程序发送 “关闭” 报文。
    (2)收到 FIN 报文段。
    在每一个事件之后,连接的状态是什么?在每一个事件之后发生的动作是什么?

    答:(1)处于 SYN-RCVD 状态而又能够收到应用程序发送的 “关闭” 报文的,只有 TCP 的客户端而不会是服务器端。这时,客户端就应当向服务器端发送 FIN 报文段,然后进入到 FIN-WAIT-1 状态。
    在这里插入图片描述
    (2)当客户收到服务器端发送的 FIN 报文段后,就向服务器发送 ACK 报文段,并进入到 CLOSED 状态。
    以上的状态转换可参考教材上的图 5-30。
    在这里插入图片描述
    64.TCP 连接处于 FIN-WAIT-1 状态。以下的事件相继发生:
    (1)收到 ACK 报文段。
    (2)收到 FIN 报文段。
    (3)发生了超时。
    在每一个事件之后,连接的状态是什么?在每一个事件之后发生的动作是什么?

    答:(1)处于 FIN-WAIT-1 状态的只有 TCP 的客户。当收到 ACK 报文段后,TCP 客户不发送任何报文段,只是从 FIN-WAIT-1 状态进入到 FIN-WAIT-2 状态。
    在这里插入图片描述
    (2)在收到 FIN 报文段后,TCP 客户发送 ACK 报文段,并进入到 TIME-WAIT 状态。
    (3)当发生了超时,也就是经过了 2 MSL时间后,TCP 客户进入到 CLOSED 状态。
    以上的状态转换可参考教材上的图 5-30。
    在这里插入图片描述
    65.假定主机 A 向 B 发送一个 TCP 报文段。在这个报文段中,序号是 50,而数据一共有 6 字节长。试问,在这个报文段中的确认字段是否应当写入 56?
    答:在这个报文段中的确认字段应当写入的是B期望下次收到A发送的数据中的第一个字节的编号,而这个数值是B已经收到的数据的最后一个字节的编号加 1。然而这些在题目中并未给出。题目给出的是 A 向 B 发送的数据中第一个字节的编号是 50,并且在这个报文段中共有 6 字节的数据。这些都和此报文段中的确认字段是什么毫无关系。因此,现在我们无法知道这个报文段中的确认字段应当写入的数值。
    66.主机 A 通过 TCP 连接向 B 发送一个很长的文件,因此这需要分成很多个报文段来发送。假定某一个 TCP 报文段的序号是 x,那么下一个报文段的序号是否就是 x + 1 呢?
    答:假定某一个 TCP 报文段的序号是 x,那么下一个报文段的序号应当是 x+n,这里的 n 是这个报文段中的数据长度的字节数。如 n = 4000,那么下一个报文段的序号应当是 x + 4000。若此报文段中仅有一个字节的数据,则下一个报文段的序号才是 x + 1。
    67.TCP 的吞吐量应当是每秒发送的数据字节数,还是每秒发送的首部和数据之和的字节数?吞吐量应当是每秒发送的字节数,还是每秒发送的比特数?
    答:① TCP 的吞吐量本来并没有标准的定义,可以计入首部,也可以不计入首部,但应当说清楚。不过,从拥塞控制来看,拥塞窗口和发送窗口针对的都是 TCP 报文段中的数据字段,而重要的参数 MSS 也是指 TCP 报文段中的数据字段的长度,因此,把 TCP 的吞吐量定义为每秒发送的数据字节数是比较方便的。
    ② 计算机内部的数据传送是以每秒多少字节作为单位的,而在通信线路上的数据率则常用每秒多少比特作为单位。这两种表示方法并无实质上的差别。在上面的习题中,因为 MSS 用字节作为单位,因此,用每秒发送多少字节作为 TCP 吞吐量的单位就比较简单一些。
    68.在 TCP 的连接建立的三报文握手过程中,为什么第三个报文段不需要对方的确认?这会不会出现问题?
    答:① 关于这个问题,还不能简单地用 “是” 或 “否” 来回答。
    ② 我们假定 A 是客户端,是发起 TCP 连接建立一方。现在假定三报文握手过程中的第三个报文段(也就是 A 发送的第二个报文段 —— 确认报文)丢失了,而 A 并不知道。这是,A 以为对方收到了这个报文段,以为 TCP 连接已经建立,于是就开始发送数据报文段给 B。
    ③ B 由于没有收到三报文握手中的最后一个报文段(A 发送的确认报文段),因此 B 就不能进入 TCP 的 ESTABLISHED 状态(“连接已建立” 状态)。B 的这种状态可以叫做 “半开连接” ,即仅仅把 TCP 连接打开了一半。在这种状态下,B 虽然已经初始化了连接变量和缓存,但是不能接收数据。通常,B 在经过一段时间后(例如,一分钟后) ,如果还没有收到来自 A 的确认报文段,就终止这个半开连接状态,那么 A 就必须重新建立 TCP 连接。因此,在这种情况下,第三个报文段(A 发送的第二个报文段)的丢失,就导致了 TCP 连接无法建立。
    ④ 但是,假定 A 在这段时间内,紧接着就发送了数据。我们知道,TCP 具有累计确认的功能。在 A 发送的数据报文段中,自己的序号也没有改变,仍然是和丢失的确认真的序号一样(丢失的那个确认帧不消耗序号),并且确认位 ACK = 1,确认号也是 B 的初始序号加 1。当 B 收到这个报文段后,从 TCP 的首部就可以知道,A 已确认了 B 刚才发送的 SYN + ACK 报文段,于是就进入了 ESTABLISHED 状态(“连接已建立” 状态)。接着,就接收 A 发送的数据。在这种情况下,A 丢失的第二个报文段对 TCP 的连接建立就没有影响。
    ⑤ 大家知道,A 在发送第二个报文段时,可以有两种选择:
    (1)仅仅是确认而不携带数据,数据接着在后面发送。
    (2)不仅是确认,而且携带上自己的数据。
    ⑥ 在第一种选择时,A 在下一个报文段发送自己的数据。但下一个报文的首部中仍然包括了对 B 的 SYN + ACK 报文段的确认,即和第二种选择发送的报文段一样。
    ⑦ 在第二种选择时,A 省略了单独发送一个确认报文段。
    从这里也可以看出,A 发送的第二个仅仅是确认的报文段,是个可以省略的报文段,即使丢失了也无妨,只要下面紧接着就可以发送数据报文段即可。
    69.现在假定使用类似 TCP 的协议(即使用滑动窗口可靠传送字节流),数据传输速率是 1 Gbit/s,而网络的往返时间 RTT = 140 ms。假定报文段的最大生存时间是 60 秒。如果要尽可能快的传送数据,在我们的通信协议的首部中,发送窗口和序号字段至少各应当设为多大?
    解:发送窗口至少能够容纳的比特数=传输速率×RTT=1Gbit/s × 140ms=1.75× 1 0 7 10^7 107bit
    我们知道,每一个字节的数据需要有一个编号。假定发送窗口一共有 w 位,那么总的号码数应当大于1.75× 1 0 7 10^7 107字节,即: 2 w 2^w 2w>17500000,那么w>24.06,那么发送窗口至少为25位。
    可见只用 24 位的发送窗口差一点,必须使用 w = 25 位的发送窗口才行。TCP 的窗口字段为 16 位。
    再看看 60 秒钟以1Gbit/s 的速率可以发送 60s× 1 0 9 10^9 109bit/s=7.5× 1 0 9 10^9 109字节的数据。
    假定需要 n 位的序号字段,那么总的序号数应当大于 7.5× 1 0 9 10^9 109字节,即:
    2 n 2^n 2n > 7.5 × 1 0 9 10^9 109,求得n=32.8
    因此,取序号字段长度 n = 33 位即可保证在报文段的最大生产时间内没有重复的序号。但TCP 的序号字段为 32 位(因为TCP的序号字段范围是0~32位)。
    70.假定用 TCP 协议在 40 Gbit/s 的线路上传送数据。
    (1)如果 TCP 充分利用了线路的带宽,那么需要多长的时间 TCP 会发生序号绕回?
    (2)假定现在 TCP 的首部中采用了时间戳选项。时间戳占用了 4 字节,共 32 位。每隔一定的时间(这段时间叫做一个滴答)时间戳的数值加 1。假定设计的时间戳是每隔 859 微秒,时间戳的数值加 1。试问要经过多长时间才发生时间戳数值的绕回。

    解:(1)40Gbit/s的线路上每秒可以传送5× 1 0 9 10^9 109个字节。TCP序号共有 2 32 2^{32} 232个。那么需要经过 2 32 2^{32} 232/ 5 × 1 0 9 5×10^9 5×109=0.859s就会发生TCP序号绕回。
    (2)时间戳绕回时间: 2 3 2 2^32 232×0.000859s=3.69× 1 0 6 10^6 106=42.7天。
    71. 5.5 节中指出:例如,若用 2.5 Gbit/s 速率发送报文段,则不到 14 秒钟序号就会重复。请计算验证这句话。
    证明:2.5Gbit/s的速率,那么每秒就可以发送0.3125× 1 0 9 10^9 109个字节,一共有 2 32 2^{32} 232个序号, 2 32 2^{32} 232/0.3125× 1 0 9 10^9 109=13.74S。所以这不到14秒,TCP序号就会发生绕回。
    72.已知 TCP 的接收窗口大小是 600(单位是字节,为简单起见以后就省略了单位),已经确认了的序号是 300。试问,在不断的接收报文段和发送确认报文段的过程中,接收窗口也可能会发生变化(增大或缩小)。请用具体的例子(指出接收方发送的确认报文段中的重要信息)来说明哪些情况是可能发生的,而哪些情况是不允许发的。
    答:在这里插入图片描述
    (1)这是题目开始的情况。接收方发送的确认报文段中的接收窗口 rwnd = 600。已确认的序号是 300。接收方发送的确认报文段的 ack = 301,表示期望收到开始的序号为 301 的数据。我们看到,序号 301 到 900 都在接收窗口内。
    (2)接收窗口增大总是不受限制的。这就是说,只要接收端的 TCP 能够拿出更多的空间来接收发来的数据,就可以这样做。图中给出的例子是:已确认的序号是 400,接收方发送的确认报文段为 ack = 401。假定现在接收窗口从情况(1)的 600 增大到了 700,即 rwnd = 700。现在接收窗口的范围是从 401 到 1100。当接收窗口增大时,接收窗口的前沿总是向前移动的。
    (3)这种情况是接收窗口变小了,但接收窗口的前沿没有变化。例如,现在的已确认的序号是 400,接收方发送的确认报文段的 ack = 401。假定现在接收窗口从情况(1)的 600 减少到了 500,即 rwnd = 500。接收窗口的范围是从 501 到 1000。
    (4)这种情况是接收窗口变小了,同时接收窗口的前言页向前移动了。例如,现在已确认的序号是 500,接收方发送的确认报文段的 ack = 501。假定现在接收窗口从情况 (1) 的 600 减少到了 500,即 rwnd = 500。接收窗口的范围是从 501 到 1000。
    (5)这种情况是接收窗口变小了,但接收窗口的前沿是后退的。例如,现在已确认的序号是 500,接收方发送的确认报文段的 ack = 501。假定现在接收窗口从情况(1)的 600 减小到了 300,即 rwnd = 300。接收窗口的范围是从 501 到800。但请注意,这种情况是不允许出现的。也就是说,接收窗口的前沿是不允许后退的。在开始时,接收窗口的前沿的编号是 900。不管是接收窗口是变大还是变小,这个窗口的前沿的编号可以不动,也可以前移,但是不允许后退。
    为什么不允许出现这种情况呢?可以先观察一下发送方的情况。在一开始,发送方收到接收窗口 = 600 的报文段后(其中 ack = 301),发送方就把发送窗口设置为 600,可以发送的数据的序号从 301 到 900。假定发送方发送了在发送窗口内的全部数据。这本来正好落入到接收窗口之内。但这些数据正在网络中传输时,接收方却缩小了接收窗口,只接收序号从 501 到 800 之间的数据。这就导致最后的一些数据(编号从 801 到 900)落入接收窗口之外,使得接收方只能丢弃这些数据(编号从 801 到 900)。因此,这种情况(在发送时数据是在发送窗口之内,但到达接收端,这些数据却落入到接收窗口之外)必须避免。总之,我们要记住,接收窗口是不允许后退的。
    73.在上题中,如果接收方突然因某种原因不能够再接收数据了,可以立即向发送方发送把接收窗口置为零的报文段(即 rwnd = 0)。这时会导致接收窗口的前沿后退。试问这种情况是否允许?
    答:这种情况是允许的。当发送方收到这样的信息,并不是把发送窗口缩回到零,而是立即停止发送。什么时候可以再发送数据,就要等接收方重新开放接收窗口,即给出一个非零的接收窗口。
    74.流量控制和拥塞控制的最主要的区别是什么?发送窗口的大小取决于流量控制还是拥塞控制?
    简单地说,流量控制是在一条 TCP 连接中的接收端才用的措施,用来限制对方(发送端)发送报文的速率,以免在接收端来不及接收。流量控制只控制一个发送端。
    拥塞控制是用来控制 TCP 连接中发送端发送报文段的速率,以免使互联网中的某处产生过载。拥塞控制可能会同时控制许多个发送端,限制它们的发送速率。不过每一个发送端只知道自己应当怎样调整发送速率,而不知道在互联网中还有哪些主机被限制了发送速率。
    我们知道,发送窗口的上限值是 Min [rwnd, cwnd],即发送窗口的数值不能超过接收窗口和拥塞窗口中娇小的一个。接收窗口的大小体现了接收端对发送端施加的流量控制,而拥塞窗口的大小则是整个互联网的负载情况对发送端施加的拥塞控制。因此,当接收窗口小于拥塞窗口时,发送窗口的大小取决于流量控制,即取决于接收端的接收能力。但当拥塞窗口小于接收窗口时,则发送窗口的大小取决于拥塞控制,即取决于整个网络的拥塞状况。

    展开全文
    qq_51344334 2021-10-21 14:12:44
  • 1.计算机网络可以向用户提供哪些服务? 答:例如音频,视频,游戏等,但本质是提供连通性和共享这两个功能。 连通性:计算机网络使上网用户之间可以交换信息,好像这些用户的计算机都可以彼此直接连通一样。 共享:...

    第一章

    1.计算机网络可以向用户提供哪些服务?
    答:例如音频,视频,游戏等,但本质是提供连通性和共享这两个功能。
    连通性:计算机网络使上网用户之间可以交换信息,好像这些用户的计算机都可以彼此直接连通一样。
    共享:指资源共享。可以是信息,软件,也可以是硬件共享。
    2.试简述分组交换的要点。
    答:采用了存储转发技术。把报文(要发送的整块数据数据)等分成若干数据段,每个数据段加入控制信息组成的首部(header),构成若干分组。因为分组首部包含了目的地址和原地址等重要控制信息,每个分组才可以在互联网中独立地选择传输路径。
    分组交换在传送数据之前不必先占用一条端到端的通信资源,分组到达一个路由器之后先存储,查找转发表、后转发,省去建立和释放连接的开销,因此效率更高。
    分组交换的优点:高效、灵活。迅速、可靠
    高效:在分组传输过程中动态分配传输带宽,对通信链路是逐段占用。
    灵活:每一个分组独立地选择转发路由。
    迅速:以分组作为传送单位,可以不先建立连接就能向其他主机发送分组
    可靠:保证可靠性的网络协议:分布式多路由的分组交换网,使网络有很好的生存性
    分组交换的缺点:时延、额外开销
    时延:分组在各路由器存储转发时需要排队。
    额外开销:分组必须携带控制信息,整个分组交换网络还需要专门的管理和控制机制。
    3.试从多个方面比较电路交换,报文交换和分组交换的主要优缺点
    (1)电路交换:端对端通信质量因约定了通信资源获得可靠保障,对连续传送大量数据效率高。
    (2)报文交换:无须预约传输带宽,动态逐段利用传输带宽对突发式数据通信效率高,通信迅速。
    (3)分组交换:具有报文交换之高效、迅速的要点,且各分组小,路由灵活,网络生存性能好。
    4.为什么说互联网是自印刷术发明以来人类在存储和交换信息领域的最大变革?
    答:融合其他通信网络,在信息化过程中起核心作用,提供最好的连通性和信息共享,第一次提供了各种媒体形式的实时交互能力。
    5.因特网的发展大致分为哪几个阶段?请指出这几个阶段的主要特点。
    答:从单个网络 APPANET 向互联网发展;TCP/IP 协议的初步成型 建成三级结构的
    Internet;分为主干网、地区网和校园网;形成多层次 ISP 结构的 Internet;ISP 首次出现。
    6.简述因特网标准制定的几个阶段?
    答:(1)因特网草案(Internet Draft) ——在这个阶段还不是 RFC 文档。
    (2)建议标准(ProposedStandard) ——从这个阶段开始就成为 RFC 文档。
    (3)草案标准(Draft Standard)
    (4) 因特网标准(Internet Standard)
    7.小写和大写开头的英文名 internet 和 Internet 在意思上有何重要区别?
    答:(1) internet(互联网或互连网):通用名词,它泛指由多个计算机网络互连而成的网络,协议无特指。
    (2)Internet(因特网):专用名词,特指采用 TCP/IP 协议的互联网络。
    区别:后者实际上是前者的双向应用。
    8.计算机网络都有哪些类别?各种类别的网络都有哪些特点?
    答:按范围:
    (1)广域网 WAN:远程、高速、是 Internet 的核心网。
    (2)城域网:城市范围,链接多个局域网。
    (3)局域网:校园、企业、机关、社区。
    (4)个域网 PAN:个人电子设备
    按用户:公用网面向公共营运。
    专用网面向特定机构。
    9.计算机网络中的主干网和本地接入网的主要区别是什么?
    答:主干网:提供远程覆盖\高速传输\和路由器最优化通信。
    本地接入网:主要支持用户的访问本地,实现散户接入,速率低。

    时延计算问题:

    (1)发送时延:发送时延=数据帧长度(bit)/发送速率(bit/s) 
    (2)传播时延:传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s) 
    (3)处理时延题目中会给出。 
    (4)排队时延和处理时延一般题目都会忽略不计。 
    (5)总时延=发送时延+传播时延+处理时延+排队时延
    (6)时延带宽积=传播时延*带宽
    (7)往返时间RTT:发送时间=数据长度/发送速率;有效数据率=数据长度/(发送时间+RTT)
    (8)利用率:D。表示网络空闲时的时延,D表示网络当前的时延,网络当前的利用率为U,则:D=D。/(1-U)
    (9)带宽时延积=带宽×(距离/传播速率)(也指传播信道上比特数目最大的数值)
    

    10.试在下列条件下比较电路交换和分组交换。要传送的报文共 x(bit)。从源点到终点共经过 k 段链路,每段链路的传播时延为 d(s),数据率为 b(b/s)。在电路交换时电路的建立时间为 s(s)。在分组交换时分组长度为 p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察 k 段链路共有几个结点。)(可以参照第10题上面的计算公式
    答:线路交换时延:kd+x/b+s, 分组交换时延:kd+(x/p)(p/b)+ (k-1)(p/b),其中(k-1)(p/b)表示 K段传输中,有(k-1)次的储存转发延迟,当 s>(k-1)(p/b)时,分组交换的时延比电路交换的时延小,当x>>p,相反。
    11.在第10题的分组交换网中,设报文长度和分组长度分别为x和(p+h)(bit),其中p为分组的数据部分的长度,h为每个分组所添加的首部长度,与p的大小无关。通信的两端共经过k段链路。链路的数据率为b(bit/s),但传播时延和节点的排队时间均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度p应取为多大?(可以参照第10题上面的计算公式
    答:总时延D表达式,分组交换时延为:D= (x/p)((p+h)/b)+ (k-1)(p+h)/b ,D对p求导后,令其值等于0,求得p=[(xh)/(k-1)]^0.5
    12.因特网的两大组成部分(边缘部分与核心部分)的特点是什么?它们的工作方式各有什么特点?
    答:边缘部分:由各主机构成,用户直接进行信息处理和信息共享;低速连入核心网。
    核心部分:由各路由器连网,负责为边缘部分提供高速远程分组交换。
    13 .客户-服务器方式与P2P对等通信方式的主要区别是什么?有没有相同的地方?
    答:前者严格区分服务和被服务者,后者无此区别。后者实际上是前者的双向应用。
    14.计算机网络有哪些常用的性能指标?
    答:速率,带宽,吞吐量,时延,时延带宽积,往返时间RTT,利用率。
    15.假定网络利用率达到了90%。试估计一下现在的网络时延是它的最小值的多少倍?(可以参照第10题上面的计算公式
    解:设网络利用率为U,当前网络时延为D,网络空闲时延为D。
    根据D=D。/(1-U),可以得出D=10D。现在的网络时延是它的最小值的10倍。
    16.计算机通信网有哪些非性能特征?非性能特征与性能特征有什么区别?
    答:非性能特征:宏观整体评价网络的外在表现。性能特征:具体定量描述网络的技术性能。
    17.收发两端之间的传输距离为1000km,信号在媒体上的传播速率为 2 × 1 0 8 m / s 2×10^8m/s 2×108m/s。试计算以下两种情况的发送时延和传播时延:
    (1) 数据长度为 1 0 7 b i t 10^7bit 107bit,数据发送速率为100kb/s。
    (2) 数据长度为 1 0 3 b i t 10^3bit 103bit,数据发送速率为1Gb/s。
    从上面的计算中可以得到什么样的结论?(可以参照第10题上面的计算公式

    解:(1)发送时延:ts= 1 0 7 / 1 0 5 10^7/10^5 107/105=100s
    传播时延tp= 1 0 6 / ( 2 × 1 0 8 ) 10^6/(2×10^8) 106/(2×108)=0.005s
    (2)发送时延ts = 1 0 3 / 1 0 9 10^3/10^9 103/109=1µs
    传播时延:tp= 1 0 6 / ( 2 × 1 0 8 ) 10^6/(2×10^8) 106/(2×108)=0.005s
    结论:若数据长度大而发送速率低,则在总的时延中,发送时延往往大于传播时延。但若数据长度短而发送速率高,则传播时延就可能是总时延中的主要成分。
    18.假设信号在媒体上的传播速度为 2.3 × 1 0 8 m / s . 2.3×10^8m/s. 2.3×108m/s.媒体长度L分别为: (1)10cm(网络接口卡)(2)100m(局域网) (3)100km(城域网)(4)5000km(广域网) 试计算出当数据率为1Mb/s和10Gb/s时在以上媒体中正在传播的比特数。
    解:
    (1)1Mb/s:传播时延= 0.1 / ( 2.3 × 1 0 8 ) = 4.35 × 1 0 − 10 0.1/(2.3×10^8)=4.35×10^{-10} 0.1/(2.3×108)=4.35×1010,比特数= 4.35 × 1 0 − 10 × 1 × 1 0 6 = 4.35 × 1 0 − 4 4.35×10^{-10}×1×10^6=4.35×10^{-4} 4.35×1010×1×106=4.35×104
    10Gb/s: 比特数= 4.35 × 1 0 − 10 × 1 × 1 0 10 = 4.35 4.35×10^{-10}×1×10^{10}=4.35 4.35×1010×1×1010=4.35
    (2)1Mb/s: 传播时延= 100 / ( 2.3 × 1 0 8 ) = 4.35 × 1 0 − 7 100/(2.3×10^8)=4.35×10^{-7} 100/(2.3×108)=4.35×107, 比特数= 4.5 × 1 0 − 7 × 1 × 1 0 6 = 4.35 × 1 0 − 1 4.5×10^{-7}×1×10^6=4.35×10^{-1} 4.5×107×1×106=4.35×101
    10Gb/s: 比特数= 4.35 × 1 0 − 7 × 1 × 1 0 1 0 = 4.35 × 1 0 3 4.35×10^{-7}×1×10^10=4.35×10^3 4.35×107×1×1010=4.35×103
    (3) 1Mb/s: 传播时延= 100000 / ( 2.3 × 1 0 8 ) = 4.35 × 1 0 − 4 100000/(2.3×10^8)=4.35×10^{-4} 100000/(2.3×108)=4.35×104,比特数= 4.35 × 1 0 − 4 × 1 × 1 0 6 = 4.35 × 1 0 2 4.35×10^{-4}×1×10^6=4.35×10^2 4.35×104×1×106=4.35×102
    10Gb/s: 比特数= 4.35 × 1 0 − 4 × 1 × 1 0 1 0 = 4.35 × 1 0 6 4.35×10^{-4}×1×10^10=4.35×10^6 4.35×104×1×1010=4.35×106
    (4)1Mb/s: 传播时延= 5000000 / ( 2.3 × 1 0 8 ) = 2.17 × 1 0 − 2 5000000/(2.3×10^8)=2.17×10^{-2} 5000000/(2.3×108)=2.17×102,比特数= 2.17 × 1 0 − 2 × 1 × 1 0 6 = 2.17 × 1 0 4 2.17×10^{-2}×1×10^6=2.17×10^4 2.17×102×1×106=2.17×104
    1Gb/s: 比特数= 2.17 × 1 0 − 2 × 1 × 1 0 1 0 = 2.17 × 1 0 8 2.17×10^{-2}×1×10^10=2.17×10^8 2.17×102×1×1010=2.17×108
    19.长度为100字节的应用层数据交给传输层传送,需加上20字节的TCP首部。再交给网络层传送,需加上20字节的IP首部。最后交给数据链路层的以太网传送,加上首部和尾部工18字节。试求数据的传输效率。数据的传输效率是指发送的应用层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。若应用层数据长度为1000字节,数据的传输效率是多少?
    解:(1)100/(100+20+20+18)=63.3%
    (2)1000/(1000+20+20+18)=94.5%
    20.网络体系结构为什么要采用分层次的结构?试举出一些与分层体系结构的思想相似的日常生活。
    答:①各层之间是独立的。某一层可以使用其下一层提供的服务而不需要知道服务是如何实现的。
    ②灵活性好。当某一层发生变化时,只要其接口关系不变,则这层以上或以下的各层均不受影响。
    ③结构上可分割开。各层可以采用最合适的技术来实现
    ④易于实现和维护。
    ⑤能促进标准化工作。
    与分层体系结构的思想相似的日常生活有邮政系统,物流系统。
    21.协议与服务有何区别?有何关系?
    答:协议和服务的概念的区分:
    1、协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。
    2、协议是“水平的”,即协议是控制两个对等实体进行通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。上层使用所提供的服务必须与下层交换一些命令,这些命令在OSI中称为服务原语。
    22.网络协议的三个要素是什么?各有什么含义?
    答:网络协议:为进行网络中的数据交换而建立的规则、标准或约定。由以下三个要素组成:
    (1)语法:即数据与控制信息的结构或格式。
    (2)语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。
    (3)同步:即事件实现顺序的详细说明。
    23.为什么一个网络协议必须把各种不利的情况都考虑到?
    答:因为网络协议如果不全面考虑不利情况,当情况发生变化时,协议就会保持理想状况,一直等下去!就如同两个朋友在电话中约会好,下午3点在公园见面,并且约定不见不散。这个协议就是很不科学的,因为任何一方如果有耽搁了而来不了,就无法通知对方,而另一方就必须一直等下去!所以看一个计算机网络是否正确,不能只看在正常情况下是否正确,而且还必须非常仔细的检查协议能否应付各种异常情况。
    24.论述具有五层协议的网络体系结构的要点,包括各层的主要功能。
    答:综合OSI 和TCP/IP 的优点,采用一种原理体系结构。
    各层的主要功能:
    (1)物理层 物理层的任务就是透明地传送比特流。(注意:传递信息的物理媒体,如双绞线、同轴电缆、光缆等,是在物理层的下面,当做第0 层。) 物理层还要确定连接电缆插头的定义及连接法。
    (2)数据链路层 数据链路层的任务是在两个相邻结点间的线路上无差错地传送以帧(frame)为单位的数据。每一帧包括数据和必要的控制信息。
    (3)网络层 网络层的任务就是要选择合适的路由,使 发送站的运输层所传下来的分组能够正确无误地按照地址找到目的站,并交付给目的站的运输层。
    (4)运输层 运输层的任务是向上一层的进行通信的两个进程之间提供一个可靠的端到端服务,使它们看不见运输层以下的数据通信的细节。
    (5)应用层 应用层直接为用户的应用进程提供服务。
    25.试举出日常生活中有关“透明”这种名词的例子。
    答:电视,计算机视窗操作系统、工农业产品
    26.试解释以下名词:协议栈、实体、对等层、协议数据单元、服务访问点、客户、服务器、客户-服务器方式。
    答:(1)实体(entity) 表示任何可发送或接收信息的硬件或软件进程。
    (2)协议是控制两个对等实体进行通信的规则的集合。
    (3)客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。
    客户是服务的请求方,服务器是服务的提供方。客户服务器方式所描述的是进程之间服务和被服务的关系。
    (4)协议栈:指计算机网络体系结构采用分层模型后,每层的主要功能由对等层协议的运行来实现,因而每层可用一些主要协议来表征,几个层次画在一起很像一个栈的结构.
    (5)对等层:在网络体系结构中,通信双方实现同样功能的层.
    (6)协议数据单元:对等层实体进行信息交换的数据单位.
    (7)服务访问点:在同一系统中相邻两层的实体进行交互(即交换信息)的地方.服务访问点SAP是一个抽象的概念,它实体上就是一个逻辑接口.
    27.试解释everything over IP 和IP over everthing 的含义。
    答:(1)TCP/IP协议可以为各式各样的应用提供服务 (所谓的everything over ip)
    (2)允许IP协议在各式各样的网络构成的互联网上运行(所谓的ip over everything)
    28.假定要在网络上传送1.5MB的文件。设分组长度为1KB,往返时间RTT=80ms。传送数据之前还需要有建立TCP连接的时间,这时间时2*RTT=160ms。试计算在以下几种情况下接收方收完该文件的最后一个比特需要的时间。
    (1)数据发送速率为10Mbit/s,数据分组可以连续发送。
    (2)数据发送速率为10Mbit/s,但每发送完一个分组后要等待一个RTT时间才能在发送下一个分组。
    (3)数据发送速率极快,可以不考虑发送数据所需要的时间。但规定在每一个RTT往返时间内只能发送20个分组。
    (4)数据发送速率极快,可以不考虑发送数据所需要的时间。但在第一个RTT往返时间内只能发送一个分组,在第二个RTT内可以发送两个分组,在第三个RTT内可以发送四个分组。

    解:题目的条件中的 M = 2 20 = = 1048576 约 等 于 1 0 6 B , K = 2 10 = 1024 约 等 于 1 0 3 B M=2^{20}==1048576约等于10^{6}B,K=2^{10}=1024约等于10^{3}B M=220==1048576106BK=210=1024103B,1B=1字节=8bit=8b
    (1)发送这些比特所需时间= 1.5 × 2 20 × 8 b i t / ( 10 × 1 0 6 b i t / s ) 1.5×2^{20}×8bit/(10×10^6bit/s) 1.5×220×8bit/10×106bit/s=1.258(s)
    最后一个分组传播到达目的地还需要0.5×RTT=40ms时间。总共需要的时间=2×RTT+1.258+0.5×RTT=0.16+1.258+0.04=1.458(s)
    (2)需要划分的分组数=1.5MB/1KB=1536(组)
    建立时间:2xRTT = 0.16(s)
    总的发送时间:仍是1.258(s)
    最后一个分组传播到达目的地需要:0.5×RTT=40(ms)=0.04(s)(二分之一往返时间)
    从第一个分组最后一个比特到达 直到最后一个分组第一个比特 到达需要经历:1535×RTT=1535×0.08=122.8(s)
    总共需要的时间=0.16+1.258+0.04+122.8=1.458+122.8=124.258(s)
    (3)在每一个RTT往返时间内只能发送20个分组。1536个分组,需要76个整的RTT,76个RTT可以发送76×20=1520个分组,最后剩下16个分组,一次发送完。但最后一次发送的分组到达接收方也需要0.5×RTT。
    因此,总共需要的时间=2×RTT+76×RTT+0.5×RTT=6.12+0.16=6.28(s)
    (4)在两个RTT后就开始传送数据。共 1536个分组
    经过n个RTT后就发送了1+2+4+…+2n=2^n-1个分组。
    若n=10,那么只发送了 2^n-1=1023个分组。可见10个RTT不够。
    若n=11,那么只发送了 2^n-1= 2047个分组。可见11个RTT足够了。
    这样,考虑到建立TCP连接的时间和最后的分组传送到终点需要的时间,(最后一次,不考虑返回)现在总共需要的时间=(2+10+0.5)×RTT=12.5×0.08=1(s)
    29.有一个对点链路,长度为50KM。若数据在此链路上的传播速率为 2 × 1 0 8 2×10^8 2×108m/s,试问链路的带宽为多少才能使传播时延和发送100字节的分组的发送时延一样大?如果发送的是512字节长的分组,结果又是如何?(可以参考第十题上面的公式)
    解:传播时延=信道长度/传播速率= 5 × 1 0 4 m / 2 × 1 0 8 m / s = 2.5 × 1 0 − 4 s 5×10^4m/2×10^8m/s=2.5×10^{-4}s 5×104m/2×108m/s=2.5×104s
    100字节:此时的带宽=时延带宽积/传播时延= 100 × 8 b i t / 2.5 × 1 0 − 4 = 3.2 M / b i t 100×8bit/2.5×10^{-4}=3.2M/bit 100×8bit/2.5×104=3.2M/bit ;此时需要带宽为3.2M/bit。
    512字节:此时的带宽=时延带宽积/传播时延= 512 × 8 b i t / 2.5 × 1 0 − 4 = 16.384 M / b i t 512×8bit/2.5×10^{-4}=16.384M/bit 512×8bit/2.5×104=16.384M/bit;此时需要的带宽为16.384M/bit。
    30.有一个点对点链路,长度为 20000 km。数据的发送速率是 1kbit/s。要发送的数据有100bit。数据在此链路上的传播速度为 2 × 1 0 8 m / s 2×10^8m/s 2×108m/s;假定我们可以看见在线路上传播的比特,试画出我们看到的线路上的比特(画两个图,一个在100 bit 刚刚发送完时,另一个是再经过 0.05 s 后)。(可以参考第十题上面的公式)
    解:首先要求出发送时延,传播时延这样才能够清楚的画出图。
    发送时延=数据帧长度/发送速率=100bit/1kbit/s=0.1s
    传播时延=信道长度/传播速率= 2 × 1 0 7 m / 2 × 1 0 8 m / s = 0.1 s 2×10^7m/2×10^8m/s=0.1s 2×107m/2×108m/s=0.1s
    所以我们就可以清楚的知道当一个100bit刚刚发送完时,第一个bit刚好到终点,再经过0.05s后是信道上还有50bit。
    在这里插入图片描述
    31.条件同上题。但数据的发送速率改为1Mbit/s。和上题的结果相比较,你可以得出什么结论?
    答:发送速率=1Mbit/s,经过发送时间0.1s,第一个比特传播了 2 × 1 0 8 × 0.1 = 2 × 1 0 7 m 2×10^8×0.1=2×10^7m 2×108×0.1=2×107m
    再经过0.05s,最后一个比特传播距离为 2 × 1 0 8 × 0.05 = 1 × 1 0 7 m 2×10^8×0.05=1×10^7m 2×108×0.05=1×107m,即走到线路的一半
    发送速率提升可以弥补信息传输中信息传输中断的问题。
    32.以1 Gbit/s的速率发送数据。试问在以距离或时间为横坐标时,一个比特的宽度分别是多少?
    距离: 1 b i t × 2 × 1 0 8 m / s ( 在 光 纤 中 的 速 率 ) / 1 G b i t / s = 0.2 m 1 bit × 2 × 10^8 m/s(在光纤中的速率)/ 1 Gbit/s = 0.2 m 1bit×2×108m/s()/1Gbit/s=0.2m
    时间: 1 b i t / 1 G b i t / s = 1 0 − 9 s 1 bit / 1 Gbit/s = 10^{- 9 }s 1bit/1Gbit/s=109s
    33.我们在互联网上传输数据经常是从某个源点传送到某个终点,而并非传送过去再传送回来。那么为什么往返实际RTT是一个很重要的性能指标呢?
    RTT在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。

    往返延时(RTT)由三个部分决定:即链路的传播时间、末端系统的处理时间以及路由器的缓存中的排队和处理时间。其中,前面两个部分的值作为一个TCP连接相对固定,路由器的缓存中的排队和处理时间会随着整个网络拥塞程度的变化而变化。所以RTT的变化在一定程度上反映了网络拥塞程度的变化。
    34. 主机A向主机B发送一个长度为 1 0 7 10^7 107比特的报文。中间要经过两个节点交换机,即一共经过三段链路。设每条链路的传输速率为2Mbit/s。忽略所有时延。
    (1)如果采用报文交换,即整个报文不分段,每台节点交换机收到整个的报文后再转发。问从主机A把报文传送到第一个节点交换机需要多少时间?从主机A把报文传送到主机B需要多长时间?

    解:第一节点时间=数据长度/传播速率= 1 0 7 b i t / 2 × 1 0 6 b i t / s = 5 s 10^7bit/2×10^6bit/s=5s 107bit/2×106bit/s=5s
    从A到B的总时间=3×节点时间=15s
    (2)如果采用分组交换。报文被划分为1000个等长的分组,并连续发送。节点交换机能够边接受边发送。试问从主机A把第一个分组传送到第一个节点交换机需要的时间?从主机A把第一个分组传送到主机B需要多少时间?从主机A把1000个分组传送到主机B需要多少时间?
    解:分成1000个分组,则每个分组有 1 0 4 10^4 104个bit。
    第一个分组到达第一个节点的时间= 1 × 1 0 4 b i t / 2 × 1 0 6 / s = 0.005 s 1×10^4bit/2×10^6/s=0.005s 1×104bit/2×106/s=0.005s
    第一个分组到达主机B的时间=3×0.005s=0.015s
    1000个分组到达主机B的时间=0.005s×1000+0.01s=5.01s
    (3)就一般情况而言,比较用整个报文来传送和用划分多个分组来传送的优缺点。
    报文交换:报文是通信链路中一次要发送的数据,报文交换就是把整个报文完整的发送到链路中,在某个节点存储下来之后再发送到下一个节点。
    优点:更加灵活。不需要事先建立连接之后再进行通信。
    缺点:当每个报文的数据量较大时,每次在节点处转发再存储的话时延较大。
    分组交换:分组交换采用转发存储技术,将一个完整的报文,分成若干个分组,再进行转发,而且每个分组之间经过哪一个节点,与上一个分组完全没有关系,这一点在某些网络节点发生网络阻塞时会显得尤其重要。
    优点:发送数据更加灵活,时延更下。
    缺点:发送设备和接收设备就更加复杂。
    35.主机A向主机B连续传送一个600000bit的文件。A和B之间有一条带宽为1Mbit/s的链路相连,距离为5000KM,在此链路上的传播速率为 2.5 × 1 0 8 m / s 。 2.5×10^8m/s。 2.5×108m/s
    (1)链路上的比特数目的最大值是多少?

    解:带宽时延积=带宽×(距离/传播速率)= 1 M b i t / s × 5000 K M / 2.5 × 1 0 8 m / s = 2 × 1 0 4 b i t s 1Mbit/s×5000KM/2.5×10^8m/s=2×10^4bits 1Mbit/s×5000KM/2.5×108m/s=2×104bits
    则最大比特数目为 2 × 1 0 4 2×10^4 2×104个。(区分于时延带宽积)
    (2)链路上每比特的宽度是多少?
    解:宽度=链路长度/带宽时延积= 5 × 1 0 6 m / 2 × 1 0 4 b i t s = 250 m 5×10^6m/2×10^4bits=250m 5×106m/2×104bits=250m
    (3)若想把链路上每比特的宽度变为5000KM,这时应把发送速率调整到什么数值?
    解:宽度=链路长度/时延带宽积= 5 × 1 0 6 m / 带 宽 时 延 积 = 5 × 1 0 6 m 5×10^6m/带宽时延积=5×10^6m 5×106m/=5×106m;则时延带宽积=1bits。
    时延带宽积=带宽×(距离/传播速率)=$带宽×5000KM/ 2.5 × 1 0 8 m / s 2.5×10^8m/s 2.5×108m/s=1bits;则带宽=50bit/s,即发送速率为50bit/s。$
    36.主机A到主机B的路径有三段路,其速率分别为2Mbit/s,1Mbit/s和500kbit/s。现在A向B发送一个文件。
    (1)试计算该文件传送的吞吐量。

    解 :吞吐量为三段路中速率最小的那一个,所以吞吐量为500kbit。
    (2)设文件长度为10MB,而网络上没有其他流量。试问该文件从A传送到B大约需要多少时间?为什么这里只是计算大约的时间?
    解:文件大小为 10 × 1 0 6 × 8 b i t = 8 × 1 0 7 b i t 10×10^6×8bit=8×10^7bit 10×106×8bit=8×107bit
    传送速率=吞吐量/单位时间=500kbit/s
    时间=文件大小/吞吐量传送速率= 8 × 1 0 7 b i t / 5 × 1 0 5 b i t / s = 160 s 8×10^7bit/5×10^5bit/s=160s 8×107bit/5×105bit/s=160s
    因为在计算机使用过程中不可能只有这一个文件进行传输,其他文件的传输也在占用传输通道,但无法知道有多少个文件进行传输,所以只能进行假设只有这一个文件进行传输,所以只能计算大约的时间。

    展开全文
    qq_51344334 2021-09-23 22:45:17
  • qq_51344334 2021-09-29 20:07:32
  • 290KB weixin_47467620 2021-11-11 23:13:05
  • 171KB weixin_44143702 2020-12-15 22:01:17
  • 259KB weixin_41603028 2019-09-28 10:30:25
  • qq_51344334 2021-10-01 19:26:13
  • 177KB m0_52957036 2020-08-02 06:18:05
  • 4星
    17.55MB liruibeckham 2013-12-31 16:51:43
  • 29KB weixin_43461888 2021-01-19 16:08:38
  • 36KB weixin_43461888 2021-01-19 16:13:20
  • 72.62MB sxy201658506207 2019-01-08 10:30:41
  • JUSTLOVEBOY 2021-11-29 18:07:02
  • JUSTLOVEBOY 2021-12-01 21:33:29
  • m0_52685272 2021-11-19 08:46:41
  • 568KB qq_39897249 2018-04-07 21:01:26

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,338
精华内容 6,535
关键字:

计算机网络第八版答案

友情链接: TSP_aco.rar