计算机网络 自顶向下方法 第三章 运输层 *题答案

发布时间:2021-07-27 06:32:00

复*题


    a)称此协议为简单传输协议(STP)。在发送方,STP从发送进程接收不超过1196字节的数据块、目标主机地址和目标端口号。STP向每个块添加一个四字节的头,并将目标进程的端口号放在此头中。然后,STP向网络层提供目标主机地址和生成的段。网络层将该段发送到目标主机上的STP。然后,STP检查段中的端口号,从段中提取数据,并将数据传递给由端口号标识的进程。
    b)段现在有两个头字段:源端口字段和目标端口字段。在发送方,STP接受不超过1192字节的数据块、目标主机地址、源端口号和目标端口号。STP创建一个包含应用程序数据、源端口号和目标端口号的段。然后它将段和目标主机地址提供给网络层。接收主机的STP接收到段后,向应用程序进程提供应用程序数据和源端口号。
    c)不,运输层不必在核心中做任何事情;运输层“生活”在终端系统中。1.对于寄信,家庭成员必须向代表提供信件本身,目的地住宅的地址和收件人的姓名。 代表清楚地将收件人的姓名写在信件的顶部。 然后代表将信件放入信封中,并在信封上写下目的地住宅的地址。 然后代表将这封信寄给地球的邮件服务部门。 在接收方,代表收到邮件服务中的信件,从信封中取出信件,并记下信件顶部写的收件人姓名。 然后,代表将该信件以此名称发给家庭成员。
    2.不,邮件服务无需打开信封; 它只检查信封上的地址。源端口号y和目标端口号x。应用程序开发人员可能不希望其应用程序使用TCP的拥塞控制,这可以在拥塞时限制应用程序的发送速率。 通常,IP电话和IP视频会议应用程序的设计者选择通过UDP运行其应用程序,因为他们希望避免TCP的拥塞控制。 此外,某些应用程序不需要TCP提供的可靠数据传输。由于大多数防火墙都配置为阻止UDP流量,因此使用TCP进行视频和语音流量可以使流量通过防火墙。是的。应用程序开发人员可以将可靠的数据传输放入应用层协议中。然而,这需要大量的工作和调试。是的,两段都将指向同一套接字。对于每个接收到的段,在套接字接口上,操作系统将向进程提供IP地址,以确定各个段的起源。对于每个持续连接,Web服务器创建单独的“连接套接字”。 每个连接套接字用四元组标识:(源IP地址,源端口号,目标IP地址,目标端口号)。 当主机C接收到IP数据报时,它会检查数据报/段中的这四个字段,以确定它应该将TCP段的有效负载传递给哪个套接字。 因此,来自A和B的请求通过不同的套接字。 这两个套接字的标识符都有目的端口80; 但是,这些套接字的标识符对源IP地址具有不同的值。 与UDP不同,当传输层将TCP段的有效负载传递给应用程序进程时,它不会指定源IP地址,因为这是由套接字标识符隐式指定的。接收方需要序号来确定到达的数据包是包含新数据还是重传。处理传输损失。 如果在分组的定时器的持续时间内没有接收到针对所发送的分组的ACK,则假定分组(或其ACK或NACK)已丢失。 因此,重传该分组。协议rdt 3.0中仍然需要一个计时器。 如果往返时间已知,则唯一的优点是,发送者确切地知道分组或分组的ACK(或NACK)已经丢失,与真实场景相比,ACK(或者 在计时器到期后,NACK)可能仍然在发送方的路上。 但是,为了检测丢失,对于每个分组,仍然需要在发送方处具有恒定持续时间的定时器。a)数据包丢失导致超时,之后所有五个数据包都被重新传输。
    b)由于Go-Back-N使用累积确认,因此丢失ACK不会触发任何重传。
    c)发送方无法发送第六个数据包,因为发送窗口大小固定为5。a)当数据包丢失时,收到的四个数据包被缓冲到接收器。 超时后,发送方重新传输丢失的数据包,接收方以正确的顺序将缓冲的数据包传递给应用程序。
    b)接收方为丢失的ACK发送重复的ACK。
    c)发送方无法发送第六个数据包,因为发送窗口大小固定为5
    当数据包丢失时,GO-Back-N重新传输所有数据包,而选择重传仅重传丢失的数据包。 在丢失确认的情况下,选择重传发送重复的ACK而GO-Back-N使用累积确认,因此不需要重复的ACK。a) false b) false c) true d) false e) true f) false g) falsea) 20 bytes b) 确认号 = 903段。 第一段:seq = 43,ack = 80; 第二段:seq = 80,ack = 44; 第三段; seq = 44,ack = 81R/2假,它被设置为拥塞窗口当前值的一半。设X = RTT FE,Y = RTT BE,ST =搜索时间。 请考虑以下时序图。
    客户端和服务器(后端)之间的TCP数据包交换图,它们之间有代理(前端)。


从该图中我们看到总时间为4X + Y + ST = 4 * RTTFE + RTTBE +搜索时间


*题


    源端口 目标端口
    a) A → S 467 23
    b) B → S 513 23
    c) S → A 23 467
    d) S → B 23 513
    e) Yes.
    f) No.

    假设主机A、B和C的IP地址分别是a、b、c。(注意a、b、c是不同的。)
    到主机A:源端口=80,源IP地址=b,目标端口=26145,目标IP地址=a
    到主机C,左进程:源端口=80,源IP地址=b,目标端口=7532,目标IP地址=c
    到主机C,右进程:源端口=80,源IP地址=b,目标端口=26145,目标IP地址=c

    注意,如果溢出则回卷


    反码=1 1 0 1 0 0 0 1。
    为了检测错误,接收方添加四个字(三个原始字和校验和)。如果和包含零,则接收器知道发生了错误。所有的一位错误都将被检测到,但是两位错误是无法检测到的(例如,如果第一个字的最后一位转换为0,第二个字的最后一位转换为1)。

    a)添加两个字节得到11000001.取一个反码给出00111110。
    b)添加两个字节得到01000000; 反码给10111111。
    c)第一个字节= 01010100; 第二个字节= 01101101。

    不,接收方不能绝对确定是否没有发生位错误。这是因为计算数据包校验和的方式。如果数据包中两个16位字的对应位(将加在一起)分别为0和1,那么即使它们分别翻转为1和0,总和仍然保持不变。因此,接收方计算的反码也将相同。这意味着即使存在传输错误,校验和也将确认。

    假设发送者处于“等待上面的调用1”状态,而接收者(家庭作业问题中显示的接收者)处于“等待下面的1”状态。发送者发送序列号为1的数据包,并转换为“等待ACK或NAK 1”,等待ACK或NAK。假设现在接收方正确地接收序列号为1的数据包,发送一个ACK,并转换到状态“从下面等待0”,等待序列号为0的数据包。但是,ACK已损坏。当RDT2.1发送器收到损坏的ACK时,它用序列号1重新发送数据包。但是,接收方正在等待序列号为0的数据包,并且(如家庭工作问题中所示)总是在没有序列号为0的数据包时发送一个NAK。因此,发送方将始终发送序列号为1的数据包,而接收方将始终对该数据包进行NAK操作。也不会从那个状态向前发展。

    为了最好地回答这个问题,首先考虑一下为什么我们需要序号。我们看到发送者需要序号,这样接收者就可以知道数据包是否是已经接收到的数据包的副本。对于ACK,发送方不需要此信息(即ACK上的序号)来通知检测重复的ACK。对于rdt3.0接收器来说,重复的ACK是显而易见的,因为当它接收到原始ACK时,它会转换到下一个状态。重复的ACK不是发送方需要的ACK,因此被rdt3.0发送方忽略。

    协议rdt3.0的发送方与协议2.2的发送方不同之处在于添加了超时。 我们已经看到,超时的引入增加了重复数据包进入发送方到接收方数据流的可能性。 但是,协议rdt.2.2中的接收方已经可以处理重复的数据包。 (如果接收方发送了丢失的ACK,发送方随后重新发送了旧数据),则会出现rdt 2.2中的接收方副本。 因此,协议rdt2.2中的接收方也将作为协议rdt 3.0中的接收方工作。

    假设协议已经运行了一段时间。 发件人处于“等待来自上方的调用”状态(左上角),接收器处于“等待0从下面”的状态。 损坏数据和损坏的ACK的方案如图1所示。



    在这里,我们添加一个计时器,其值大于已知的往返传播延迟。 我们在“等待ACK或NAK0”和“等待ACK或NAK1”状态中添加超时事件。 如果发生超时事件,则重传最*发送的数据包。 让我们看看为什么这个协议仍然适用于rdt2.1接收方。
    ? 假设超时是由丢失的数据包引起的,即发送方到接收方通道上的数据包。 在这种情况下,接收方从未接收到先前的传输,并且从接收器的角度来看,如果接收到超时重传,则它看起来与正在接收原始传输的情况完全相同。
    ? 现在假设ACK丢失了。 接收方最终将在超时时重新传输数据包。 但是,重新传输与ACK被篡改时的操作完全相同。 因此,发送方的反应与丢失相同,就像错误的ACK一样。 rdt 2.1接收器已经可以处理错误ACK的情况。如果删除此消息的发送,发送和接收端将死锁,等待永远不会发生的事件。下面是一个场景:
    ?发送方发送pkt0,输入“等待ACK0状态”,并等待从接收方返回的数据包
    ?接收器处于“等待下层的0”状态,并从发送方接收损坏的数据包。假设它不发送任何内容,只需重新进入“等待下层的0”状态。
    现在,发送程序正在等待接收程序的某种确认,而接收程序正在等待来自发送程序的数据包??死锁!该协议仍然有效,因为如果接收到的错误数据包确实丢失了将会发生重传(从接收端的角度来看,它永远不知道会发生哪一个事件,如果发生了这两个事件的话)。
    为了解决这个问题背后的更微妙的问题,必须允许过早的超时发生。 在这种情况下,如果分组的每个额外副本被确认并且每个接收到的额外ACK导致要发送当前分组的另一个额外副本,则分组n被发送的次数将随着n接*无穷大而不受限制地增加。


    在仅NAK协议中,只有在接收到数据包X+1时,接收方才会检测到数据包X的丢失。也就是说,接收方接收X-1,然后接收X+1,只有当接收到X+1时,接收方才会意识到X丢失了。如果在X的传输和X+1的传输之间有很长的延迟,那么在仅NAK协议下,在X恢复之前需要很长的时间。
    另一方面,如果经常发送数据,那么在仅NAK方案下的恢复可能会很快发生。此外,如果错误不常见,则仅偶尔发送NAK(在需要时),并且从不发送ACK??与仅ACK情况相比,仅NAK情况下的反馈显著减少。

    发送数据包需要12微秒(或0.012毫秒),因为1500 * 8/109 = 12微秒。 为了让发送方在98%的时间都忙,我们必须拥有
    util=0.98=(0.012n)/ 30.012
    或大约2451个数据包。

    是。 这实际上导致发送方将多个流水线数据发送到通道。 是。 这是一个潜在的问题。 如果数据段在通道中丢失,则rdt 3.0的发送方将不会重新发送这些段,除非应用程序中有一些额外的机制可以从丢失中恢复。

    a)这里我们的窗口大小为N = 3。假设接收方已经接收到分组k-1,并且已经确认了该分组以及所有之前分组。如果发送方已收到所有这些ACK,则发送方的窗口为[k,k + N-1]。接下来假设在发送方没有收到任何ACK。在第二种情况下,发送方的窗口是[k-N,k-1]。通过这些参数,发送方窗口的大小为3,并从[k-N,k]范围内的某处开始。
    b)如果接收方正在等待分组k,则它在此之前已经接收(和确认)分组k-1和N-1分组。如果发送方尚未接收到那些N个ACK,那么值为[k-N,k-1]的ACK消息可能仍在传播回来。因为发送方已经发送了数据包[k-N,k-1],它必须是发送方已收到k-N-1的ACK的情况。一旦接收方发送了针对k-N-1的ACK,它将永远不会发送小于k-N-1的ACK。因此,ACK值的范围可以从k-N-1到k-1。

    为了避免图3.27所示的情况,我们希望避免将接收方窗口的前缘(即序列号为“最高”的窗口)环绕在序列号空间中并与后缘(发送方窗口中序列号为“最低”的窗口)重叠。也就是说,序列号空间必须足够大,以适合整个接收方窗口和整个发送方窗口,而不存在这种重叠情况。所以-我们需要确定在任何给定时间,接收方和发送方窗口可以覆盖多大范围的序列号。
    假设接收方等待的最低序列号是数据包m。在这种情况下,它的窗口是[m,m+w-1],它之前已经接收(和确认)数据包m-1和w-1,其中w是窗口的大小。如果发送方尚未接收到这些w ACK,那么值为[m-w,m-1]的ACK消息可能仍在传播。如果发送方没有收到带有这些确认号的确认,那么发送方的窗口将是[m-w,m-1]。
    因此,发送方窗口的下边缘为m-w,而接收方窗口的前缘为m+w-1。为了使接收器窗口的前缘不与发送方窗口的后缘重叠,序列号空间必须
    因此要足够大以容纳2w序列号。也就是说,序列号空间必须至少是窗口大小的两倍。k >=2w

    a)正确。 假设发送方的窗口大小为3,并在t0发送数据包1,2,3。 在
    t1(t1>t0)接收方ACKS 1,2,3。在t2(t2>t1)发送方超时并重发1,2,3。在t3,接收方接收副本并重新确认1,2,3.在t4,发送方接收到接收方在t1发送的ACK并使其前进窗口到4,5,6。在t5,发送方接收接收方在t2发送的ACK 1,2,3。 这些ACK在窗口之外。
    b)正确。 基本上与(a)中的情况相同。
    c)正确。
    d)正确。 请注意,窗口大小为1时,SR,GBN和比特交替协议在功能上是等效的。 窗口大小为1排除了无序数据包(在窗口内)的可能性。 在这种情况下,累积ACK只是普通的ACK,因为它只能引用窗口内的单个数据包。

    a)考虑通过传输协议发送应用程序报文。使用TCP,应用程序将数据写入连接发送缓冲区,TCP将获取字节,而不必在TCP段中放入单个报文;TCP可能会在段中放入多于或少于单个报文。另一方面,UDP封装在一个段中,不管应用程序给它什么;这样,如果应用程序给UDP一个应用程序报文,这个消息将是UDP段的有效负载。因此,使用UDP,应用程序可以更好地控制在段中发送的数据。
    b)对于TCP,由于流量控制和拥塞控制,从应用程序将数据写入其发送缓冲区到将数据提供给网络层,可能会有明显的延迟。由于流量控制和拥塞控制,UDP没有延迟。

    有232= 4294967296个可能的序列号。
    a)序列号不随每个段递增1。相反,它以发送的数据字节数递增。因此,MSS的大小是不相关的??从A到B发送的最大大小的文件只是232= 4.19 GB可表示的字节数。
    b)段数是232/536=8,012,999
    每个都添加66个字节的头,段提供总共528,857,934字节的头。 传输的总字节数为232+528,857,934=4.824×109字节。
    因此,通过155~Mbps链路传输文件需要249秒。

    a)在主机A到B的第二段中,序列号为207,源端口号为302,目的端口号为80。
    b)如果第一段在第二段之前到达,在第一到达段的确认中,确认号为207,源端口号为80,目的端口号为302。
    c)如果第二个段在第一个段之前到达,在第一个到达段的确认中,确认号为127,表示它仍在等待字节127及以后。
    d )



    由于链路容量只有100 Mbps,所以主机A的发送速率最高可达100 Mbps。不过,主机A向接收缓冲区发送数据的速度比主机B从缓冲区中删除数据的速度要快。接收缓冲区以大约40Mbps的速率填充。当缓冲区满时,主机B向主机A发出信号,通过设置rcvwindow=0停止发送数据。然后主机A停止发送,直到接收到一个rcvwindow>0的TCP段。因此,主机A将停止并开始发送从主机B接收的RcvWindow函数值。作为此连接的一部分,主机A向主机B发送数据的长期速率*均不超过60Mbps。

    a)服务器使用特殊的初始序列号(从源和目标IP和端口的散列获得)以防御SYN 洪泛攻击。
    b)不,攻击者无法通过简单地向目标发送和ACK数据包来创建半开放或完全开放的连接。半开连接是不可能的,因为使用SYN cookie的服务器在建立完整连接之前不会为任何连接维护连接变量和缓冲区。为了建立完全开放的连接,攻击者应该知道攻击者的(欺骗性)源IP地址对应的特殊初始序列号。此序列号需要每个服务器使用的“机密”号码。由于攻击者不知道这个密码,她无法猜出初始序列号。
    c)不,服务器可以简单地在计算这些初始序列号时添加一个时间戳,并为这些序列号选择一个生存时间值,并丢弃过期的初始序列号,即使攻击者重放它们。

    a)如果超时值是固定的,那么发送者可能会过早超时。 因此,即使它们没有丢失,也会重新发送一些数据包。
    b)如果估计了超时值(就像TCP那样),那么增加缓冲区大小肯定有助于提高该路由器的吞吐量。 但可能存在一个潜在的问题。 排队延迟可能非常大,类似于方案1中显示的。

    EstimatedRTT = xSampleRTT + (1 - x)EstimatedRTT
    DevRTT = y |SampleRTT - EstimatedRTT |+ (1- y)DevRTT
    TimeoutInterval = EstimatedRTT + 4* DevRTT
    第一次
    EstimatedRTT = 0.125*106 + 0.875*100
    = 100.75ms .
    DevRTT = 0.25 *| 106 -100.75| + 0.75* 5
    = 5.06ms .
    TimeoutInterval = 100.75 + 4*5.06
    = 120.99ms .

    a)

    让我们来看看如果TCP测量重传段的SampleRTT会出现什么问题。假设源发送数据包P1,P1的计时器到期,然后源发送P2,即同一数据包的新副本。进一步假设源测量P2的SampleRTT(重传的分组)。最后假设在发送P2之后不久,P1的确认到达。源将错误地将此确认作为对P2的确认并计算SampleRTT的不正确值。

    在任何给定时间t,SendBase-1是发送方知道已正确接收的最后一个字节的序列号,并按顺序在接收方处接收。 如果管道中存在确认,则在时间t在接收器处接收(正确且有序)的实际最后字节可能更大。 从而
    SendBase?1 <= LastByteRcvd

    当在时间t,发送者接收到具有值y的确认时,发送者确定接收者已经通过y-1接收了所有内容。 如果y?SendBase或管道中有其他确认,则在时间t接收器(正确和按顺序)接收的实际最后一个字节可能更大。 从而
    y-1<=LastByteRvcd

    假设发送分组n,n + 1和n + 2,并且接收并确认该分组n。 如果数据包n+1和n+2沿端到端路径重新排序(即,按照n+2、n+1的顺序接收),则接收到的数据包n+2将为n生成一个重复的ACK,并根据只等待第二个重复的ACK进行重传的策略触发重传。通过等待一个三重重复的ACK,必须是在n包之后的两个包被正确接收,而n+1没有被接收。三重复制ACK方案的设计者可能认为,等待两个数据包(而不是1)是在需要时触发快速重传,而不是在数据包重新排序时过早重传之间的折衷。

    a)GoBackN:
    A总共发送9个段。 它们最初被发送为1,2,3,4,5以及后来重新发送的段2,3,4和5。
    B发送8个ACK。 它们是序列号为1的4个ACKS,序列号为2,3,4和5的4个ACKS。
    SR:
    A总共发送6个段。 它们最初被发送为1,2,3,4,5以及后来重新发送的段2。
    B发送5个ACK。 它们是4个ACKS,序列号为1,3,4,5。并且有一个序列号为2的ACK。
    TCP:
    A总共发送6个段。 它们最初被发送为1,2,3,4,5以及后来重新发送的段2。
    B发送5个ACK。 它们是序列号为2的4个ACKS。有一个序列号为6的ACK。请注意,TCP始终发送带有预期序列号的ACK。
    B)TCP。 这是因为TCP使用快速重传而不等到超时。

    是的,发送速率总是大致为cwnd / RTT。

    如果到达率超过图3.46(b)中的R / 2,则队列的总到达率超过队列的容量,导致到达率增加时损失增加。 当到达率等于R / 2时,离开队列的每三个分组中有1个是重传。 随着丢失的增加,即使离开队列的数据包的更大部分也将是重传。 假设其中一个会话的队列的最大离开率是R / 2,并且当到达率增加时,假设传输的三分之一或更多,则成功传送数据的吞吐量不会超过λout。 根据类似的推理,如果离开队列的一半数据包是重传,并且每个会话的最大输出数据包速率是R / 2,那么λout的最大值是(R / 2)/ 2或R / 4。

    a)TCP慢启动在区间[1,6]和[23,26]中运行
    b)TCP拥塞避免在间隔[6,16]和[17,22]中运行
    c)在第16轮传输之后,通过三冗余ACK来识别分组丢失。如果超时,拥塞窗口大小将降至1。
    d)在第22轮传输之后,由于超时检测到段丢失,因此拥塞窗口大小设置为1。
    e)阈值最初为32,因为在此窗口大小处,缓慢的启动停止并且拥塞避免开始。
    f)当检测到丢包时,将阈值设置为拥塞窗口值的一半。当在第16轮传输期间检测到丢失时,拥塞窗口大小为42.因此在第18轮传输期间阈值为21。
    g)当检测到丢包时,将阈值设置为拥塞窗口值的一半。当在第22轮传输期间检测到丢失时,拥塞窗口大小为29.因此,在第24轮传输期间,阈值为14。
    h)在第一轮传输期间,发送分组1;包2-3在第二轮传输中发送;数据包4-7在第3轮传输中发送;数据包8-15在第4轮传输中发送;分组16-31在第5次传输中发送
    回合;分组32-63在第6轮传输中发送;分组64-96在第7轮传输中发送。因此,在第7轮传输中发送分组70。
    i)当发生丢失并且拥塞窗口将被设置为新的阈值+ 3 MSS时,阈值将被设置为拥塞窗口(8)的当前值的一半。因此,阈值和窗口的新值将分别为4和7。
    j)阈值为21,拥塞窗口大小为1。
    k)第17轮,1包; 18轮,2包;第19轮,4包; 20轮,8包; 21轮,16包; 22轮,21包。所以,总数是52。

    参见图5.在图5(a)中,连接1和连接2之间的线性损耗减少的比率是相同的 - 线性增加的比率:单位。 在这种情况下,吞吐量永远不会偏离AB线段。 在图5(b)中,连接1和连接2之间的线性损耗减少的比率是2:1。 也就是说,每当出现丢失时,连接1会将其窗口减少两倍的连接量2.我们看到最终,在经过足够的损失和随后的增加之后,连接1的吞吐量将变为0,并且完整的链路带宽将 被分配给连接2。

    如果TCP是停止等待协议,那么超时间隔加倍就足以作为拥塞控制机制。 但是,TCP使用流水线操作(因此不是停止等待协议),这允许发送方具有多个未确认的未确认段。 即使端到端路径高度拥塞,超时间隔加倍也不会阻止TCP发送方将大量首次传输的数据包发送到网络中。 因此,当存在网络拥塞的迹象时,需要拥塞控制机制来阻止“从上面的应用程序接收的数据”的流动。

    在这个问题中,由于接收方的接收缓冲区可以容纳整个文件,所以没有接收方溢出的危险。 此外,由于没有丢失并且在计时器到期之前返回确认,因此TCP拥塞控制不会限制发送方。 但是,主机A中的进程不会持续将数据传递给套接字,因为发送缓冲区将很快填满。 一旦发送缓冲区变满,该过程将以*均速率或R << S传递数据。

    a)需要1个RTT才能将CongWin增加到6个MSS; 2 RTT增加到7 MSS; 3 RTT增加到8 MSS; 4个RTT增加到9 MSS; 5 RTT增加到10 MSS; 6个RTT增加到11 MSS; 和7个RTT增加到12MSS。
    b)在第一个RTT 发送了5MSS; 在第二个RTT 发送了6MSS; 在第三个RTT 发送了7MSS; 在第四次RTT 发送了8MSS; 在第五次RTT中,发送了9个MSS; 在第六次RTT中,发送了10个MSS。 因此,直到时间6 RTT,5 + 6 + 7 + 8 + 9 + 10 = 45 MSS被发送(并且被确认)。 因此,我们可以说直到时间6 RTT的*均吞吐量是(45 MSS)/(6 RTT)= 7.5 MSS / RTT。

    a)丢失率L是丢失的数据包数与发送的数据包数之比。在一个周期中,1个数据包丢失。在一个周期中发送的数据包数为

    a)设W表示以段为单位测量的最大窗口大小。 然后,W * MSS / RTT = 10Mbps,因为如果最大发送速率超过链路容量,则将丢弃分组。 因此,我们有W * 1500 * 8 / 0.15 = 10 * 10 ^ 6,那么W约为125个段。
    b)当拥塞窗口大小从W / 2变化到W时,则*均窗口大小为0.75W = 94(93.75的上限)段。 *均吞吐量为94 * 1500 * 8 / 0.15
    =7.52Mbps。
    c)94/2 * 0.15 = 7.05秒,因为RTT的数量(该TCP连接需要将其窗口大小从W / 2增加到W)由W / 2给出。 回想一下每个RTT中窗口大小增加1。

    设W表示最大窗口大小。 设S表示缓冲区大小。 为简单起见,假设TCP发送方以循环方式发送数据包,每一轮对应一个RTT。 如果窗口大小达到W,则发生丢失。 然后,发送方将其拥塞窗口大小减半,并在再次开始发送数据段之前等待W / 2未完成数据包的ACK。 为了确保链路始终忙于发送数据,我们需要让链路忙于在W /(2 * C)期间发送数据(这是发送方等待W / 2的ACK的时间间隔) 优秀的数据包)。 因此,S / C必须不小于W /(2 * C),即S> = W / 2。
    设Tp表示发送方和接收方之间的单向传播延迟。
    当窗口大小达到最小W / 2且缓冲区为空时,我们需要确保链接也忙于发送数据。 因此,我们必须具有W / 2 /(2Tp)> = C,因此,W / 2> = C * 2Tp。
    因此,S> = C * 2Tp。

    a)设W表示最大窗口大小。 然后,W * MSS / RTT = 10Gbps,因为如果最大发送速率达到链路容量,则将丢弃分组。 因此,我们有W * 1500 * 8 / 0.15 = 10 * 10 ^ 9,那么W = 125000个段。
    b)当拥塞窗口大小从W / 2变化到W时,则*均窗口大小为0.75W = 93750个段。 *均吞吐量为93750 * 1500 * 8 / 0.1 = 7.5Gbps。
    c)93750/2 * 0.15 / 60 = 117分钟。 为了加快窗口增加过程,我们可以将窗口大小增加一个更大的值,而不是在每个RTT中仅增加一个窗口大小。 提出了一些协议来解决这个问题,例如ScalableTCP或HighSpeed TCP。

    由于TCP的*均吞吐量B

    所以我们知道,所以我们知道,
    L =(1.22 * MSS /(B * RTT))2
    由于在两个连续的分组丢失之间,TCP发送器发送了1 / L分组,因此,T =(1 / L)* MSS / B. 因此,我们发现T = B * RTT2 /(1.222 * MSS),即T是B的函数。

    W代表最大窗口大小。
    首先,我们可以找到在TCP将窗口大小从W / 2更改为包含W的时间间隔内发送的段总数。这由下式给出:

    TCP将窗口大小从W / 2增加到W所需的时间由下式给出:

    这显然与TCP的*均吞吐量无关。
    注意,TCP的*均吞吐量由下式给出:
    B = MSS * S /((k + 1)* RTT)= MSS /(L *(k + 1)* RTT)。
    请注意,这与具有*均吞吐量的TCP不同:

    其中L的*方根出现在分母中。

    设1500字节的数据包和100毫秒的往返时间。 从TCP吞吐量方程

    10 Gbps = 1.22 * (1500*8 bits) / (.1 sec * srqt(L)), or sqrt(L) = 14640 bits / (10^9 bits) = 0.00001464, or
    L = 2.14 * 10^(-10)

    在t2使用早期的cwnd和ssthresh值的一个优点是,TCP不必经过缓慢的启动和拥塞避免,以达到在t1获得的吞吐量值。使用这些值的一个缺点是它们可能不再准确。特别是,如果路径在t1和t2之间变得更拥挤,发送方将发送一个大窗口的段,使其进入已经(更)拥挤的路径。

    a)服务器将其响应发送给Y.
    b)服务器可以确定客户端确实在Y.如果它在某个其他地址欺骗Y,则SYNACK将被发送到地址Y,并且该主机中的TCP将不会发回TCP ACK段。 即使攻击者要发送适当的定时TCP ACK段,它也不会知道正确的服务器序列号(因为服务器使用随机的初始序列号。)

    a)参考下图,我们看到总延迟是
    RTT + RTT + S / R + RTT + S / R + RTT + 12S / R = 4RTT + 14 S / R
    b)同样,这种情况的延迟是:
    RTT + RTT + S / R + RTT + S / R + RTT + S / R + RTT + 8S / R = 5RTT +11 S / R
    c)同样,这种情况的延迟是:
    RTT + RTT + S / R + RTT + 14 S / R = 3 RTT + 15 S / R.

相关文档

  • 程序员地铁上写代码被抓拍,网友:这也太装了
  • 如何去选购登山杖
  • 建军节90周年征文纪念建军节90周年的作文
  • 军训和教官的作文
  • 幸福闺蜜个性签名
  • 我们班的奇人作文600字
  • 自由的鸟四年级作文
  • 个人四述工作报告 工作报告范文
  • 2020年项目部安全生产月工作总结
  • 有关写假如我是一名老师小学作文200字
  • 正好制药通脉颗粒说明书
  • 蒙娜丽莎之约教学课件
  • 比较好看的文章
  • 30最棒的响应式css前端框架
  • 罗汉果菊花茶制作方法步骤
  • 读《圆明园的?灭》有感800字
  • laravel 自带的登陆 方法
  • 孕妇初期适合吃些酸性食物
  • 成功的欲望故事
  • 女性春季养生多吃什么食物
  • 尼可刹怎么读音
  • 常用牛皮癣食疗 车前子薏米粥 黑木耳薏米粥益气补血降胆固醇
  • springboot搭建web项目完整步骤
  • 移动、联通跟电信有什么区别啊
  • 实例讲解好照片的10个特征
  • 经理人的知识结构
  • 致尊师的一封信
  • 史上最全idea快捷键
  • 一级注册建筑师《建筑设计》精华讲义
  • 电视剧人民的名义人物原型介绍***8***
  • 猜你喜欢

  • 第二章工程造价构成
  • 空气冷却器在热处理行业中的应用:第二讲 淬火介质空气冷却器
  • 市场营销实务课件ppt
  • 童年养育:每次分离都有成长的营养
  • 党报党刊发行大会领导发言稿-演讲致辞模板
  • 做营养晚餐 避免六个饮食陋习
  • 中级软件设计师(软考)笔记知识产权与标准化
  • 第三章几何光学1.
  • 延安行心得体会
  • 2014湖北省土建造价员考试真题(含答案)考试题库
  • 卖花的姑娘
  • 三年空气质量监测统计表
  • 平淡朴实无华的句子大全
  • 综邯妗墩湎?奔溥舞动青春》主题班会 2.
  • Why Health Care Information Systems
  • 爱的罗曼史指弹吉他视频
  • 慢性肺源性心脏病护理体会
  • 中原油田天然气液化工艺流程优化设计研究_李多金
  • 黄华山的金秋
  • 小学三年级谚语摘录
  • 中山大学2015年下半年大学英语(三)第二次作业
  • 最新北京师范大学附属中学2017-2018学年七年级上学期期中考试数学试题-
  • 转发温州市教育局关于做好2009年中小学教师职务资格评审工作的通知
  • 盱眙县实验中学2018-2019学年高三上学期11月月考数学试卷含答案
  • 研究院云计算大数据*台方案
  • 594.粉刺脂溢性皮炎红鼻头一方去完
  • 浅谈农商行金融创新如何提高“乡村振兴”金融服务契合度
  • 适合一岁以下婴儿的玩具有哪些玩具可以刺激宝宝哪些感官发展
  • 被刑事拘留后多长时间通知家属
  • LED导热胶带项目可行性研究报告项目建议书
  • 七年级地理《地图上的方向》说课稿
  • 容规宣贯-第2章 材料-PPT精选文档
  • 高新区2010年9月建设工程质量安全监督巡查通报
  • 最新说说评论短语
  • 李宁和安踏 标志对比分析
  • 2019最新部编版六年级语文上册13穷人 一课一练及答案
  • 【最新文档】绕口令的笑话-推荐word版 (2页)
  • 有趣的体育课_小学作文_3
  • 《爱的教育》读书笔记800字
  • 2019年小学二年级作文难忘的一件事【五篇】
  • 高校骨干教师培训2013年上半年网培计划在线课程通知
  • 大学生学位论文质量评审标准体系的构建与探索
  • 电脑版