一、网络层
4.1 ~4.2 节
R1.
问题:Let's review some of the terms used in this book. Earlier, we talked about how the name of a packet at the transport layer is a message segment, and the name of a packet at the data link layer is a frame. What is the name of the network layer packet? As mentioned earlier routers and link layer switches are called packet switches. What is the fundamental difference between a router and a link layer switch? Recall that we use vocabulary routers for both datagram networks and virtual circuit networks
翻译:我们回顾一下在本书中使用的某些术语。前面讲过运输层的分组名字是报文段,数据链路层的分组名字是帧。网络层分组的名字是什么?前面讲过路由器和链路层交换机都被称为分组交换机。路由器与链路层交换机间的根本区别是什么?回想我们对数据报网络和虚电路网络都使用词汇路由器
答:网络层的分组名字叫做数据报。
路由器和链路层交换机间的根本区别:路由器是基于网络层字段中的值做决定,而链路层交换机是根据链路层字段中的值做转发决定。
R2.
问题:What are the two most important functions of the network layer in a datagram network? What are the 3 most important functions of the network layer in a virtual circuit network?
翻译:在数据报网络中,网络层的两个最重要功能是什么?虚电路网络中网络层的3 个最重要的功能是什么?
答:数据报网络中网络层最重要的两个功能:①转发,即当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到适当的输出链路;②路由选择,即当分组从发送方流向接受方时,网络层必须决定这些分组所采用的路由或路径;
虚电路网络中网络层的3个最重要的功能是:①建立连接;②转发;③路由选择。比在数据报网络中多了一个功能,连接建立。
R3.
问题:What is the difference between routing and forwarding?
翻译:路由选择和转发的区别是什么?
答:转发是指将分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作。路由选择是指网络范围的过程,以决定分组从源到目的地所采取的端到端路径。
举个例子,驾车从A到B,有很多路径可以选择,而最终选择哪条路径,这是路由选择的概念;选好了路径之后,按着这条路径走的时候,中间遇到立交桥(连接很多路),要根据之间选好的路,正确地选择立交桥的出口,从进入立交桥到选择出口出来,这个过程是转发的概念。
R4.
问题:Do routers use forwarding tables in both datagram networks and virtual circuit networks? If yes, describe the forwarding tables used for both types of networks.
翻译:在数据报网络和虚电路网络中,路由器都使用转发表吗?如果是,描述用于这两类网络的转发表。
答:在数据报网络和虚电路网络中,路由器都使用转发表。
在虚电路中,每当跨越一个路由器创建一条新的虚电路时,转发表就建立一个新项。类似地,无论何时终止一条虚电路时,就删除沿着该路径每个表中的相应项。所以虚电路中的转发表更新很快。但在数据报网络中,转发表是由选路算法修改的,所以更新速度比较慢。
R5.
问题:Describes some hypothetical service that some network layer can provide for a single packet. The same description is given for packet flows. Does the network layer of the Internet provide you with these hypothetical services, does the CBR service model of ATM provide this hypothetical service, and does the ABR service model of ATM provide this hypothetical service?
翻译:描述某些网络层能为单个分组提供的某些假想的服务。对于分组流进行相同的描述。因特网的网络层为你提供了这些假想服务吗?ATM的CBR服务模型提供了该假想服务吗?ATM的ABR服务模型提供类该假想服务吗?
答:单个分组:无丢失保证,保证最大延迟。
分组流:按顺序传送,最小宽带保证,定时保证。
因特网的网络层提供的是尽力而为模型,无带宽保证,无无丢包保证,不保证有序,不维护定时,没有拥塞指示。
CBR(Constant Bit Rate)保证恒定速率,提供无丢包保证,保证有序,维护定时,不出现拥塞。
ABR(Available Bit Rate)保证最小速率,不提供无丢包保证, 不维护定时,但保证有序,并提供拥塞指示。
R6
问题:List some of the applications that benefit from ATM's CBR service model.
翻译:列出某些得益于ATM的CBR服务模型的应用。
答:IP电话和视频会议。CBR服务在承载实时、恒定比特率的音频和视频流量方面很适用。
4.3 节
R7.
问题:Discuss why a shadow copy of the forwarding table is stored on each input port of the high-speed router.
翻译:讨论为什么在高速路由器的每个输入端口都存储转发表的影子副本。
答:因为有了影子副本,转发决策能在每个输入端口本地做出,无须调用中央路由选择处理器,可以避免集中式处理的瓶颈。(转发表是由路由器选择处理器计算和更新的,但每个输入端口都会存储一份转发表的副本)。
R8.
问题:Three types of exchange structures are discussed in Section 4.3. List and briefly discuss each type of switching fabric. Which one (if any) is capable of sending multiple packets in parallel across the switching structure?
翻译:4.3节中讨论了3类交换结构。列出并简要讨论每一类交换结构。哪一种(如果有的话)能够跨越交换结构并行发送多个分组?
答:(1)经内存交换:这种就像是计算机(最简单、最原始的路由器就是计算机),在输入端口与输出端口之间的交换是在CPU(路由选择处理器)的直接控制下完成的。
(2)经总线交换:输入端口经一根共享总线将分组直接传送到输出端口,不需要选路处理器的干预。因为每个分组必须跨越单一总线(同时只能有一个分组可以跨越总线),所以路由器的交换宽带受总线速率的限制。
(3)经互联网络交换:可以克服单一、共享式总线带宽限制,可以并行转发多个分组。但如果来自两个不同输入端口的两个分组其目的地为相同的输出端口,则一个分组必须在输入端等待。
综上,经互联网络交换的纵横式交换机可以跨越交换结构并行发送多个分组。
R9.
问题:Describe the reasons why packet loss can occur at the input port. Describe how to eliminate packet loss at the input port (without using an infinite buffer).
翻译:描述在输入端口会出现分组丢失的原因。描述在输入端口如何消除分组丢失(不使用无限大缓存区)。
答:当输出端入的排队情况太多,足以耗尽输入端口的存储空间,所以分组就被丢弃了。如果交换结构的速率至少是输入线路速率的n倍,则在输入端口处不会出现排队。
R10.
问题:Describe the reasons for packet loss at the output port. Can this loss be prevented by increasing the switching fabric rate?
翻译:描述在输出端口出现分组丢失的原因。通过增加交换结构速率,能够防止这种丢失吗?
答:当多个分组到达输出端口,并在输出端口排队等候,当耗尽输出端口的存储空间时,分组就被丢弃了。通过增加交换结构速率只会让排队的分组更多(其他条件相同),并不能防止这种丢失。
R11.
问题:What is HOL blocking? Does it appear on the input port or the output port?
翻译:什么是HOL阻塞?它出现在输入端口还是输出端口?
答:HOL(Head-Of-the-Line),即在一个输入队列中排队的分组必须等待通过交换结构发送(即使输出端口是空闲的),因为它由位于线路前部的另一个分组阻塞。HOL阻塞出现在输入端口。
4.4 节
R12.
问题:Does the router have an IP address? If so, how many are there?
翻译:路由器有IP地址吗?如果有,有多少个?
答:有。路由器的每个接口都有一个全球唯一的IP地址。
R13.
问题:What is the 32-bit binary equivalent form of the IP address 223.1.3.27?
翻译:IP地址223.1.3.27的32比特二进制等价形式是什么?
答:11011111.00000001.00000011.00011100。
R14.
问题:Examine the host that uses DHCP to obtain its IP address, network mask, default router and the IP address of its local DNS server. List these values.
翻译:考察使用DHCP获得它的IP地址,网络掩码,默认路由器和其本地DNS服务器的IP地址的主机。列出这些值。
答:TODO
R15.
问题:Suppose there are 3 routers between a source host and a destination host. How many ports will an IP message sent from the source host to the destination host pass through, regardless of fragmentation? How many forwarding tables need to be retrieved in order to move the datagram from the source to the destination?
翻译:假设在一个源主机和一个目的主机之间有3台路由器。不考虑分片,一个从源主机发送给目的主机的IP报文将通过多少个端口?为了将数据报从源移动到目的地需要检索多少个转发表?
答:IP报文将通过8个端口:源主机和目的主机各一个,每台路由器各两个(输入端口和输出端口);需要检索3个转发表(每台路由器检索一次)。
R16.
问题:Suppose an application generates a 40-byte block of data every 20ms, with each block encapsulated in a TCP message, and the TCP message encapsulated in an IP datagram. What is the overhead of each datagram? What is the percentage of application data?
翻译:假设某应用每20ms生成一个40字节的数据块,每块封装在一个TCP报文中,TCP报文再封装在一个IP数据报中。每个数据报的开销有多大?应用数据所占的百分比是多少?
答:每个数据包的开销是80个字节:20字节的IP首部(假设首部无选项,且数据包无分片) + 20字节的TCP首部 + 应用层报文(40字节),所以应用数据所占的百分比是50%。
R17.
问题:Suppose that Host A sends a TCP message segment encapsulated in an IP datagram to Host B. When Host B receives that datagram, how should the network layer in Host B know that it should give that message segment (i.e., the datagram payload) to TCP instead of UDP or some other thing?
翻译:假设主机A向主机B发送封装在一个IP数据报中的TCP报文段。当主机B接收到该数据报时,主机B中的网络层应该如何知道它应当将该报文段(即数据报的有效载荷)交给TCP而不是UDP或某个其他东西呢?
答:通过数据包中的协议字段:该字段指示了IP数据报的数据部分应该交给哪个特定的运输层协议。例如,值为6表明数据部分要交给TCP,而值为17表明数据要交给UDP。
R18.
问题:Assume that you purchased a wireless router and connected it to a cable modem, and that your ISP dynamically assigns an IP address to the device you are connected to (i.e., your wireless router). Assume also that you have 5 PCs in your house, all connected wirelessly to the wireless router using 802.11. How do I assign IP addresses to these 5 PCs? Does the wireless router use NAT? Why?
翻译:假定你购买了一个无线路由器并将其与电缆调制解调器相连,并且你的ISP动态地为你连接的设备(即你的无线路由器)分配一个IP地址。还假定你家有5台PC,均使用802.11以无线方式与该无线路由器相连。怎样为这5台PC分配IP地址?该无线路由器使用NAT吗?为什么?
答:①使用DHCP(动态主机配置协议,Dynamic Host Configuration)给设备分配地址,DHCP允许主机自动获取一个IP地址。
②使用NAT(网络地址转换,Network Address Translation),因为它只能从ISP获得一个IP地址。从本质上讲,NAT使能路由器对外界隐藏了家庭网络的细节。
R19.
问题:Compare IPv4 and IPv6 prefix fields. Do they have certain fields that are the same?
翻译:比较IPv4和IPv6首部字段。它们有某些字段是相同的吗?
答:有,除了分片,首部检验和和选项,其它字段在IPv6中都存在。
R20.
问题:Some people say that when IPv6 builds a tunnel through an IPv4 router. IPv6 uses the IPv4 tunnel as a link layer protocol. Do you agree with this statement? Why?
翻译:有人说当IPv6通过IPv4路由器建隧道时。IPv6将IPv4隧道作为链路层协议。你同意这种说法吗?为什么?
答:可以这样认为,因为IPv6数据报被封装在IPv4数据报中。
4.5 节
R21.
问题:Compare and contrast link state and distance vector routing algorithms?
翻译:比较和对照链路状态和距离向量路由选择算法?
答:链路状态路由选择算法:以所有结点之间的连通性及所有链路的费用的完整信息为输入,计算本身可在某个场点进行或在多个场点重复进行。
距离向量算法:没有结点拥有关于所有网络链路费用的完整信息,每个结点仅有与其直接相连链路的费用知识即可,每个节点维护到网络中所有其他结点的费用(距离)估计的向量。
R22.
问题:Discuss how the hierarchical organization of the Internet has enabled it to scale to millions of users.
翻译:讨论因特网的等级制组织是怎样使得其能够扩展为数以百万计用户的。
答:通过路由器组织进自治系统(Autonomous System)来解决。每个AS由一组通常处在相同管理控制下的路由器组成,在相同的AS中的路由器都全部运行同样的路由选择算法,且拥有彼此的信息。而这些AS又彼此互联,这样,就将数以百万级的用户连接起来。
R23.
问题:Is it necessary to use the same AS internal routing algorithm for each autonomous system? Why?
翻译:每个自治系统使用相同的AS内部路由选路算法是必要的吗?为什么?
答:有必要:①一个AS内部路由器仅需要知道被AS内的路由器,扩展性得到了解决;②因为一个组织可运行它选择的任何AS内部路由选择协议,管理责任的问题得到了解决;③相连的每对AS需要运行相同的AS间路由选择协议以交换可达性信息。
4.6 节
R24.
问题:Consider Figure 4-37. Starting with the initial table in D, assume that D receives the following notice from A:Does the table in D change? If so, how does it change?
翻译:考虑图4-37。从D中的初始表开始,假设D收到来自A的下面的通告:
D中的表会改变吗?如果是,怎样变化?
答:不会。因为根据图4-36,由路由器D到沿着最短路径到目的子网z的为7跳距离,虽然此时收到来自A的通知,但通知中显示,路由器假设下一跳到路由器C,到目的子网z有10跳的距离,比原来更远,因此不会D不会更新其转发表。
R25.
问题:Compare the announcements used by RIP and OSPF.
翻译:比较RIP和OSPF使用的通告。
答:RIP是各路由器相邻之间相互广播。而OSPF是路由器向自治系统内所有其他路由器广播路由选择信息,而不仅仅是向其相邻路由器广播。
R26.
问题:Fill in the blanks: RIP announcements usually declare the number of hops to each destination. BGP, on the other hand, advertises the number of _____ hops to each destination?
翻译:填空:RIP通告通常宣称到各目的地的跳数。另一方面,BGP则是通告到各目的地的_____?
答:路由上的AS序列。
R27.
问题:Why are different types of inter-AS and intra-AS routing protocols used in the Internet?
翻译:为什么在因特网中用到了不同类型的AS间与AS内部选路协议?
答:(1)策略:在AS之间,策略问题起主导作用, 而策略问题在AS内部微不足道。
(2)规模:扩展一个路由选择算法及其数据结构以处理大量网络或大量网络之间的路由选择的这种能力,是AS间路由选择的一个关键问题。而在一个AS内,可扩展性不是关注的焦点。
(3)性能:AS间路由选择是面向策略的,不太关心性能或质量,然而在一个AS内部,更多关注于一条路由实现的性能级别的实现。
R28.
问题:Why are policy considerations as important for intra-AS protocols (such as OSPF and RIP) as they are for inter-AS routing protocols (such as BGP)?
翻译:为什么策略考虑对于AS内部协议(如OSPF和RIP)与对于AS间路由选择协议(如BGP)一样重要呢?
答:在AS之间,策略问题是至关重要的。但在AS内部,策略问题是微不足道的。
R29.
问题:Define and compare the following terms: subnets, prefixes, and BGP routes.
翻译:定义和对比下列术语:子网,前缀和BGP路由。
答:子网是较大网络的一部分,不包含路由器,其边界由路由器和主机接口定义。
前缀是地址的网络部分,以a.b.c.d / x的形式写入,每个前缀表示一个子网或多个子网的集合。
当路由器在BGP会话中通告前缀时,该前缀包含许多BGP属性。 在BGP术语中,带有属性的前缀被称为一条BGP路由。
R30.
问题:How does BGP use the NEXT-HOP attribute? How does it use the AS-PATH attribute?
翻译:BGP是怎样使用NEXT-HOP属性的?它是怎样使用AS-PATH属性的?
答:AS-PATH属性包含了前缀的通告已经通过的那些AS,路由器使用该属性来做三件事:①检测通告;②阻止循环通知;③在多条路径中选择相同的前机缀。
NEXT-HOP是一个开始某AS-PATH的路由接口,路由器使用该属性正确地配置转发表。
R31.
问题:Describe how a network administrator at a higher-level ISP implements policies when configuring BGP.
翻译:描述一个较高层ISP的网络管理员在配置BGP时是如何实现策略的。
答:ISP的网络管理员通过将已知的路由设置到其路由信息库中,并向客户通告这些信息。目前还没有强制主干ISP之间如何路由选择的官方标准。但商业运行的ISP们都遵从的一个经验法则是:任何穿越某ISP主干网的流量必须是其源或目的(或两者)位于该ISP的某个客户网络中。
二、传输层
3. 1 ~3.3 节
R1
问题:The following services are assumed to be provided by the network layer. The network layer in the source host accepts a message segment with a maximum length of 1200 bytes and the address of the destination host from the transport layer. The network layer then ensures that the segment is delivered to the transport layer at the destination host. Assume that many network application processes can run on the destination host.
a Design the simplest possible transport layer protocol that will allow application data to reach the desired process at the destination host. Assume
Assume that the operating system in the destination host has assigned a 4-byte port number to each running application process.
b. Modify this protocol so that it provides a "return address" to the destination process.
c. In your protocol, does the transport layer "have to do anything" at the heart of the computer network?
翻译:假定网络层提供了下列服务。在源主机中的网络层接受最大长度 1200 字节和来自运输层的目的主机地址的报文段。网络层则保证将该报文段交付给位于目的主机的运输层。假定在目的主机上能够运行许多网络应用进程。
a 设计可能最简单的运输层协议,该协议将使应用程序数据到达位于目的主机的所希望的进程。假
设在目的主机中的操作系统已经为每个运行的应用进程分配了一个 4 字节的端口号。
b. 修改这个协议,使它向目的进程提供一个的“返回地址”。
c. 在你的协议中,该运输层在计算机网络的核心中“必须做任何事" 吗?
答:a. 将此协议称为简单传输协议(STP)。在发送方,STP从发送进程接受不超过1196字节的数据块、目标主机地址和目标端口号。STP在每个块中添加一个4字节的头,并将目标进程的端口号放在这个标头中。然后,STP将目标主机地址和结果段提供给网络层。网络层将段传送到目标主机上的STP,STP然后检查段中的端口号,从段中提取数据,并将数据传递给由端口号标识的进程。
b. 段现在有两个头字段:源端口字段和目标端口字段。在发送方,STP接受不超过1192字节的数据块、目标主机地址、源端口号和目标端口号。STP创建一个段,其中包含应用程序数据、源端口号和目标端口号。然后,它将段和目标主机地址捉供给网络展。在接收到段后,接收主机上的STP给出应用程序的应用程序数据和源端口号。
c. 不,传输层不需要在核心中做任何事情;传输层“生命”在最终系统中。
R2.
问题:Consider a planet where each person belongs to some family of six, each family lives in its own house, each house has a unique
Each house has a unique address, and each person in a given family has a unique name. Assume that the planet has a postal service that delivers mail from the source family to the destination family.
A postal service delivers mail from the source home to the destination home. The mail service requires: a letter in an envelope; the address of the destination family clearly written on the envelope (and nothing else). Assume that each household has a family member representative who collects and distributes the letters for the other members of the household.
a. Using the solution to review problem R1 above as inspiration, describe the protocol that the family member representative can use to deliver letters from the sending family
member to the receiving family member for delivery of the letter.
b. In your protocol, must the Postal Service open the envelope and inspect the contents of the letter in order to provide its services?
翻译:考虑有一个星球,每个人都属于某个六口之家,每个家庭都住在自己的房子里,每个房子都一个唯
一的地址,并且某给定家庭中的每个人有一个独特的名字。假定该星球有一个从源家庭到目的家庭
交付信件的邮政服务。该邮件服务要求: 个信封中有一封信; 在信封上清楚地写上目的家庭的地址(并且没有别的东西)。假设每个家庭有一名家庭成员代表为家庭中的其他成员收集和分发信件这些信没有必要提供任何有关信的接收者的指示。
a. 使用对上面复习题 R1 的解决方案作为启发,描述家庭成员代表能够使用的协议,以从发送家庭
成员向接收家庭成员交付信件。
b. 在你的协议中,该邮政服务必须打开信封并检查信件内容才能提供它的服务吗?
答:a. 在寄信时,家庭成员必须将信件本身、目的地住所的地址和收件人的姓名交给代表。委托将收件人的姓名清楚地写在信函的顶部。然后,委托将信放入信封中,1并在信封上写入目标住宅的地址。然后,代表将这封信交给地球的邮件服务部门。在接收方,委托收到来自邮件服务的信函,从信封中取出信件,并记下在信件顶部写的收件人姓名。然后,代表将这封信交给具有此名称的家庭成员。
b. 不,邮件服务部门不必打开信封;它只检查信封上的地址。
R3.
问题:Consider a TCP connection between host A and host B. Assume that the TCP message segment from Host A to Host 8 has a source port number, and a port number for h. What are the source and destination port numbers for the message segment from Host B to Host A?
翻译:考虑在主机 A 和主机 B 之间有一条 TCP 连接。假设从主机 A 传送到主机 8 的 TCP 报文段具有源端口号,和h的端口号外 对于从主机 B 传送到主机 A 的报文段,源端口号和目的端口号分别是多少?
答:源端口号y和目标端口号x。
R4.
问题:Describe the reasons why an application developer might choose to run the application on UDP rather than TCP.
翻译:描述应用程序开发者为什么可能选择在 UDP 上运行应用程序而不是在 TCP 上运行的原因。
答:应用程序开发人员可能不希望其应用程序使用TCP的拥塞控制,这会在拥塞时限制应用程序的发送速率。通常,IP电话和IP视频会议应用程序的设计者选择在UDP上运行他们的应用程序,因为他们希望避免TCP的拥塞控制。另外,有些应用程序不需要TCP提供的可靠数据传输。
R5.
问题:Why is it that in today's Internet, voice and image traffic is often sent over TCP rather than over UDP. (Hint: The answer we are looking for has nothing to do with TCP's congestion control mechanism.)
翻译:在今天的因特网中,为什么语音和图像流量常常是经过 TCP 而不是经 UDP 发送。(提示:我们寻找的答案与 TCP 的拥塞控制机制没有关系。)
答:由于大多数防火墙都被配置为阻止UDP通信,因此使用TCP进行视频和语音通信可以让通信通过防火墙。
R6.
问题:When an application runs on UDP, is it possible for the application to get reliable data transfer? If so, how is it possible?
翻译:当某应用程序运行在 UDP 上时,该应用程序可能得到可靠数据传输吗?如果能,如何实现?
答:是的。应用程序开发人员可以将可靠的数据传输放到应用层中协议。然而,这需要大量的工作和调试。
R7.
问题:Assume that a process on host C has a UDP socket with port number 6789. Assume that both Host A and Host B send a UDP message segment to Host C on destination port number 6789. Are these segments for both hosts described as the same socket at host C? If so, how would the process at host C know that the two segments originated from two different hosts?
翻译:假定在主机 C 上的一个进程有一个具有端口号 6789 的 UDP 套接字。假定主机 A 和主机 B 都用目的端口号6789 向主机 C 发送一个 UDP 报文段。这两台主机的这些报文段在主机 C 都被描述为相同的套接字吗?如果是这样的话,在主机 C 的该进程将怎样知道源于两台不同主机的这两个报文段?
答:是的,两个段将指向同一个套接字。对于每个接收到的段。在套接字接口上,操作系统将为进程提供IP地址,以确定各个段的来源。
R8.
问题:Assume a web server running on port 80 on host C. Assume that this web server is using a persistent connection and is receiving requests from two different hosts, A and B. Are all the requests being sent through the same socket on host C? If they are passed through different sockets, do both sockets have port 80? Discuss and explain.
翻译:假定在主机 C 端口 80 上运行的一个 Web 服务器。假定这个 Web 服务器使用持续连接,并且正在接收来自两台不同主机 A 和 B 的请求。被发送的所有请求都通过位于主机 C 的相同套接字吗?如果它们通过不同的套接字传递,这两个套接字都具有端口 80 吗?讨论和解释之。
答:对于每个持久连接,Web服务器创建一个单独的"连接插座"。每个连接套接字被标识为具有四个元组:(源IP地址,源端口号、目标IP地址、目标端口号)。当主机C接1收和IP数据报,它检查数据报/段中的这四个字段确定哪个套接字应该通过TCP段的有效负载。因此,来自A和B的请求通过不同的套接字。这两个参数的标识符用于目标端1口的套接字具有80;但是,这些套接字的标识符源IP地址的不同值。与UDP不同,传输层通过时TCP段对应用程序进程的有效负载,它不指定源IP地址,因为这是由套接1字标识符隐式指定的。
3.4 节
R9.
问题:Why do we need to introduce serial numbers in our hernia protocol?
翻译:在我们的疝协议中,为什么需要引入序号?
答:接收机需要序列号来确定到达的数据包是包含新数据还是是重传。
R10.
问题:Why do we need to introduce timers in our point protocol?
翻译:在我们的点协议中,为什么需要引入定时器?
答:处理通道中的损失。如果在该分组的计时器持续时间内未接收到发送分组的ACK,则假定该分组(或其ACK或NACK)已丢失。因此,分组被重传。
R11.
问题:Assume that the round-trip delay between sender and receiver is fixed and known to the sender. Assuming that packets can be lost, is a timer still necessary in protocol rdt3.0? Try to explain it.
翻译:假定发送方和接收方之间的往返时延是固定的并且为发送方所知。假设分组能够丢失的话,在协议rdt3.0 中,一个定时器仍是必需的吗?试解释之。
答:在RDT3.0协议中仍然需要计时器。如果知道往返时间,那么唯一的优势是,发送方肯定知道数据包或数据包的ACK(或Nack)已经丢失,而实际情况是,在计时器过期后,ACK(或Nack)可能仍在发送方的途中。然而,要检测丢失,对于每个包,一个持续时间不变的定时器仍然需要在发送者。
R12.
问题:Use the Go- Back- N (Back N steps) Java applet on the companion website.
a. Have the source send 5 packets and pause the animation before any of the 5 packets reach their destination. Then destroy the first group
and continue the animation. Try to describe what happens.
b. Repeat the experiment, except now let the first packet reach its destination and destroy the first confirmation. Describe what happens again.
c. Finally, try to send 6 packets. What happens?
翻译:在配套网站上使用 Go- Back- N(回退 N 步)Java 小程序。
a. 让源发送5 个分组,在这5 个分组的任何一个到达目的地之前暂停该动画。然后毁掉第一个分组
并继续该动画。试描述发生的情况。
b. 重复该实验,只是现在让第一个分组到达目的地并毁掉第一个确认。再次描述发生的情况。
c. 最后,尝试发送6 个分组。发生了什么情况?
答:a. 丢包造成一段时间后,所有五个包都被重传。
b. 由于Go-Back-N使用累积数据,ACK的丢失没有触发任何重传承认。
c. 发送方无法发送第六个分组,因为发送窗口大小固定为5。
R13.
问题:Repeat review question R12, but now use the Selective Repeal Java applet. What is the difference between Selective Repeal and N-step back?
翻译:重复复习题 R12, 但是现在使用 Selective Repeal(选择重传)Java 小程序。选择重传和回退 N 步有什么不同?
答:a. 当分维丢失时,接收的4个分组被缓冲接收器。完成后超时,发送方重新发送丢失的数据包,接收方传送缓冲的数据包数据包以正确的顺序应用。
b. 接收器为丢失的ACK发送了重复ACK.
c. 发送窗口大小固定为5时,发送方无法发送第六数据包当分组丢失时,返回-N重传所有的分组,而选择性地重传所有的分组。仅重发丢失的数据包。在丢失确认的情况1下,选择性重复发送重复ACK,并作为返回-N使用的累积确认,不需要重复ACK.
3.5 节
R14.
问题:Right or wrong judgment question:
a. Host A sends a large file to Host B over a TCP connection. Assume that Host B has no data to send to Host A. Because Host B cannot piggyback an acknowledgment with the data, Host B will not send an acknowledgment to Host A.
b. The length of TCP's rwnd never changes during the entire connection.
c. Suppose that Host A sends a large file to Host B over a TCP connection. The number of bytes sent but not acknowledged by Host A does not exceed the size of the receive cache.
d. Assume that Host A sends a large file to Host B over a TCP connection. If the sequence of a message segment for this connection is
for this connection is 6, then the sequence number for subsequent segments will necessarily be plus + 1.
e. A TCP message segment has a stomach hole field in its header.
f. Assuming that the last SampleRTT in a TCP connection is equal to 1 second, then the current value of Timeoutinterval for that connection must be greater than or equal to 1 second.
g. Assume that Host A sends a 4-byte message segment with the serial number 38 to Host B over a TCP connection. In this same message segment, the acknowledgement number must be 42.
翻译:是非判断题:
a. 主机 A 经过一条 TCP 连接向主机 B 发送一个大文件。假设主机 B 没有数据发往主机 A。因为主机 B 不能随数据捎带确认,所以主机 B 将不向主机 A 发送确认。
b. 在连接的整个过程中,TCP 的 rwnd 的长度决不会变化。
c. 假设主机 A 通过一条 TCP 连接向主机 B 发送一个大文件。主机 A 发送但未被确认的字节数不会超过接收缓存的大小。
d. 假设主机 A 通过一条 TCP 连接向主机 B 发送一个大文件。如果对于这条连接的一个报文段的序
号为 6,则对于后继报文段的序号将必然是 加+ 1。
e.TCP 报文段在它的首部中有一个胃洞 字段。
f. 假定在一条 TCP 连接中最后的 SampleRTT 等于 1 秒,那么对于该连接的 Timeoutinterval 的当前值必定大于等于1 秒。
g. 假设主机 A 通过一条 TCP 连接向主机 B 发送一个序号为 38 的4 个字节的报文段。在这个相同的报文段中,确认号必定是42。
答:a假 b假 c真 d假 e真 f假 g假
R15.
问题:Suppose that Host A sends two immediately following TCP message segments to Host B over a TCP connection. The first segment is numbered 90, and the second segment is numbered 110.
a. How much data is in the first message segment?
b. Suppose the first segment is lost and the second segment arrives at Host B. In the acknowledgment message from Host B to Host A, what should be the acknowledgment number?
What should the acknowledgment number be?
翻译:假设主机 A 通过一条TCP 连接向主机 B 发送两个紧接着的 TCP 报文段。第一个报文段的序号为90,第二个报文段序号为 110。
a. 第一个报文段中有多少数据?
b. 假设第一个报文段丢失而第二个报文段到达主机 B。那么在主机 B 发往主机 A 的确认报文中,
确认号应该是多少?
答:a. 20 bytes
b. ack number = 90
R16.
问题:Consider the example of Telnet discussed in Section 3.5. A few seconds after the user types the character C, the user types the character R. How many message segments are sent after the user types the character R, and what should be entered in the sequence number and acknowledgment fields of these message segments?
翻译:考虑在3.5 节中讨论的 Telnet 的例子。在用户键入字符 C 数秒之后,用户又键入字符 R。那么在用户键入字符 R 之后,总共发送了多少个报文段,这些报文段中的序号和确认字段应该填入什么?
答:3段,第一段:SEQ=4, ack=80; 第二段:SEQ = 80, ack = 44; 第三段: seq = 44, ack = 81;
3.7 节
R17.
问题:Assume that two TCP connections exist on a bottleneck link with a bandwidth of Kbps. They both want to send a very large file (in the same direction over the bottleneck link), and they both start sending the file at the same time. What transfer rate will TCP assign to each connection?
翻译:假设两条 TCP 连接存在于一个带宽为 Kbps的瓶颈链路上。它们都要发送一个很大的文件(以相同方向经过瓶颈链路),并且两者是同时开始发送文件。那么 TCP 将为每条连接分配什么样的传输速率?
答:R/2
R18.
问题:It is a non-judgmental question. Consider TCP's congestion control. When the sender timer times out, its ssthresh value will be set to half of its original value.
翻译:是非判断题。考虑TCP 的拥塞控制。当发送方定时器超时时,其 ssthresh 的值将被设置为原来值的一半。
答:否,设置为拥塞窗口的当前值的一半。
R19.
问题:In the "TCP Bifurcation" discussion in Section 3.7, the response time for a TCP bifurcation is asserted to be approximately 4 * RTTFE + RTTFE + processing time. Evaluate this assertion.
翻译:在 3.7 节的 “TCP 分岔”讨论中,对于 TCP 分岔的响应时间,断言大约是 4 * RTTFE + RTTFE + 处理时间。评价该断言。
答:让X=RTTTFE,Y=RTTTBE和 ST=搜索时间。考虑以下时序图。
文章来源地址https://www.toymoban.com/news/detail-487933.html
客户端和服务器(后端)之间使用代理(前端)之间的TCP数据包交换图。
从这个图中我们可以看到,总时间是4XYST=4*RTTFERTTBE 搜索时间。文章来源:https://www.toymoban.com/news/detail-487933.html
到了这里,关于计算机网络--网络层传输层复习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!