
计算机网络-传输层-常考习题
传输层习题基本概念例题 可靠传输协议中的“可靠”指的是()。A.A.A.使用面向连接的会话B.B.B.使用尽力而为的传输C.C.C.使用滑动窗口来维持可靠性D.D.D.使用确认机制来确保传输的数据不丢失解:DDD。如果一个协议使用确认机制对传输的数据进行确认,那么可以认为它是一个可靠的协议;如果一个协议采用“尽力而为”的传输方式,那么是不可靠的。例如,TCPTCPTCP对传输的报文段提供确认,因此
传输层习题
基本概念
例题 可靠传输协议中的“可靠”指的是()。
A . A. A.使用面向连接的会话
B . B. B.使用尽力而为的传输
C . C. C.使用滑动窗口来维持可靠性
D . D. D.使用确认机制来确保传输的数据不丢失
解: D D D。如果一个协议使用确认机制对传输的数据进行确认,那么可以认为它是一个可靠的协议;如果一个协议采用“尽力而为”的传输方式,那么是不可靠的。例如, T C P TCP TCP对传输的报文段提供确认,因此是可靠的传输协议;而 U D P UDP UDP不提供确认,因此是不可靠的传输协议。
例题 若用户程序使用 U D P UDP UDP进行数据传输,则()层协议必须承担可靠性方面的全部工作。
A . A. A.数据链路层
B . B. B.网际层
C . C. C.传输层
D . D. D.应用层
解: D D D。传输层协议需要具有的主要功能包括:创建进程到进程的通信;提供流量控制机制。 U D P UDP UDP在一个低的水平上完成以上功能,使用端口号完成进程到进程的通信,但在传送数据时没有流量控制机制,也没有确认,而且只提供有限的差错控制。因此 U D P UDP UDP是一个无连接、不可靠的传输层协议。如果用户应用程序使用 U D P UDP UDP进行数据传输,那么必须在传输层的上层即应用层提供可靠性方面的全部工作。
UDP协议
UDP协议概念
例题 下列网络应用中,()不适合使用 U D P UDP UDP协议。
A . A. A.客户机/服务器领域
B . B. B.远程调用
C . C. C.实时多媒体应用
D . D. D.远程登录
解: D D D。 U D P UDP UDP的特点是开销小,时间性能好且易于实现。在客户/服务器中,它们之间的请求都很短,使用 U D P UDP UDP不仅编码简单,而且只需要很少的消息;远程调用使用 U D P UDP UDP的理由和客户/服务器模型一样;对于实时多媒体应用,需要保证数据及时传送,而比例不大的错误是可以容忍的,所以使用 U D P UDP UDP也是合适的,而且使用 U D P UDP UDP协议可以实现多播,给多个客户端服务﹔而远程登录,需要密码和账户,必须保证安全性,需要依靠一个客户端到服务器的可靠连接,使用 U D P UDP UDP是不合适的。
UDP帧格式
例题 一个 U D P UDP UDP首部的信息(十六进制表示)为 0 x F 7 21 00 45 00 2 C E 8 27 0xF7\,21\,00\,45\,00\,2C\,E8\,27 0xF7210045002CE827。
1)源端口、目的端口、数据报总长度、数据部分长度分别是什么?
2)该 U D P UDP UDP数据报是从客户发送给服务器还是从服务器发送给客户?使用该 U D P UDP UDP服务的程序使用的是哪个应用层协议?
解:
1)第
1
1
1、
2
2
2个字节为源端口,即
F
7
21
F7\,21
F721,转换成十进制数为
63265
63265
63265。第
3
3
3、
4
4
4个字节为目的端
口,即
00
45
00\,45
0045,转换成十进制数为
69
69
69。第
5
5
5、
6
6
6个字节为
U
D
P
UDP
UDP长度(包含首部和数据部分),即
00
2
C
00\,2C
002C,转换成十进制数为
44
44
44,数据报总长度为
44
B
44B
44B,数据部分长度为
44
−
8
=
36
B
44-8=36B
44−8=36B。
2)由1)可知,该
U
D
P
UDP
UDP数据报的源端口号为
63265
63265
63265,目的端口号为
69
69
69,前一个为客户端使
用的端口号,后一个为熟知的
T
F
T
P
TFTP
TFTP协议的端口,可知该数据报是客户发给服务器的。
TCP协议
考的基本上都是连接管理与拥塞控制。
TCP协议概念
例题 为保证数据传输的可靠性, T C P TCP TCP采用了对()确认的机制。
A . A. A.报文段
B . B. B.分组
C . C. C.字节
D . D. D.比特
解: A A A。 T C P TCP TCP是面向字节的。对每个字节进行编号,但并不是接收到每个字节都要发回确认,而是在发送一个报文段的字节后才发回一个确认,所以 T C P TCP TCP采用的是对报文段的确认机制。
例题 一个 T C P TCP TCP连接使用 256 k b / s 256kb/s 256kb/s的链路,其端到端时延为 128 m s 128ms 128ms。经测试发现吞吐率只有 128 k b / s 128kb/s 128kb/s。问窗口是多少?忽略 P D U PDU PDU封装的协议开销及接收方应答分组的发送时间(假定应答分组长度很小)。
解:来回路程的时延 128 m s × 2 = 256 m s 128ms\times2=256ms 128ms×2=256ms。设窗口值为 X X X,单位为字节。
使用 256 k b / s 256kb/s 256kb/s的链路,测到的平均吞吐率就等于发送速率的一半,即 128 k b / s 128kb/s 128kb/s,且应答分组忽略,则可以认为其一般的时间来发送,另一半的时间等待应答而不进行数据传输。
一般默认一次最大发送量等于窗口值,即一次性发送 X B XB XB的数据。从而单位时间吞吐量/吞吐率=单位时间:
8 × X ÷ ( 128 × 2 × 1000 ) = 256 × 0.001 8\times X\div(128\times2\times1000)= 256\times0.001 8×X÷(128×2×1000)=256×0.001
x = 256 × 1000 × 256 × 0.001 / 8 = 256 × 32 = 8192 x=256\times1000\times256\times0.001/8= 256\times32=8192 x=256×1000×256×0.001/8=256×32=8192
所以,窗口值为 8192 B 8192B 8192B。
TCP协议帧格式
例题 假定 T C P TCP TCP报文段载荷是 1500 B 1500B 1500B,最大分组存活时间是 120 s 120s 120s,那么要使得 T C P TCP TCP报文段的序列号不会循环回来而重叠,线路允许的最快速度是多大?(不考虑帧长限制)
解:目标在 120 s 120s 120s内最多发送 2 32 B 2^{32}B 232B个 T C P TCP TCP报文数据(序列号为 32 32 32位),即 35791394 B / s 35791394B/s 35791394B/s的载荷。 T C P TCP TCP报文段载荷是 1500 B 1500B 1500B,因此可以发送 35791294 ÷ 1500 = 23861 35791294\div1500=23861 35791294÷1500=23861个报文段。 T C P TCP TCP开销是 20 B 20B 20B, I P IP IP开销是 20 B 20B 20B,以太网开销是 26 B 26B 26B( 18 B 18B 18B的首部和尾部, 7 B 7B 7B的前同步码, 1 B 1B 1B的帧开始定界符)。这就意味着对于 1500 B 1500B 1500B的载荷,必须发送 1566 B 1566B 1566B。 1566 × 8 × 23861 = 299 M b / s 1566\times8\times23861=299Mb/s 1566×8×23861=299Mb/s,因此允许的最快线路速率是 299 M b / s 299Mb/s 299Mb/s。比这一速度更快时,就会冒在同一时间内不同的 T C P TCP TCP报文段具有相同序号的风险。
连接管理
连接概念
例题 如果主机 1 1 1的进程以端口 x x x和主机 2 2 2的端口 y y y建立了一条 T C P TCP TCP连接,这时如果希望再在这两个端口间建立一个 T C P TCP TCP连接,那么会()。
A . A. A.建立失败,不影响先建立连接的传输
B . B. B.建立成功,且两个连接都可以正常传输
C . C. C.建立成功,先建立的连接被断开
D . D. D.建立失败,两个连接都被断开
解: A A A。一条连接使用它们的套接字来表示,因此 ( 1 , x ) − ( 2 , y ) (1,x)-(2,y) (1,x)−(2,y)是在两个端口之间唯一可能的连接。而后建立的连接会被阻止,所以还有可能接收到数据。
数据传输
例题 A A A和 B B B之间建立了 T C P TCP TCP连接, A A A向 B B B发送了一个报文段,其中序号字段 s e q = 200 seq=200 seq=200,确认号字段 a c k = 201 ack=201 ack=201,数据部分有 2 2 2个字节,那么在 B B B对该报文的确认报文段中()。
A . s e q = 202 , a c k = 200 A.seq=202,ack=200 A.seq=202,ack=200
B . s e q = 201 , a c k = 201 B.seq=201,ack=201 B.seq=201,ack=201
C . s e q = 201 , a c k = 202 C.seq=201,ack=202 C.seq=201,ack=202
D . s e q = 202 , a c k = 201 D.seq=202,ack=201 D.seq=202,ack=201
解: C C C。在 A A A发向 B B B的报文中, s e q = 200 seq=200 seq=200表示 A A A发送给 B B B的数据从 200 200 200开始,一共 2 B 2B 2B,从而 A A A给 B B B的数据序号从 200 200 200到 202 202 202, a c k = 201 ack=201 ack=201表示 A A A对 B B B的消息已经确认了 200 200 200之前的数据,希望 B B B给 A A A发送 201 201 201号开始的数据。从而 B B B给 A A A发送的数据应该从 201 201 201开始,即 s e q = 201 seq=201 seq=201,且 B B B对 A A A的 202 202 202数据已经确认,所以 a c k = 202 ack=202 ack=202。
流量控制
发送窗口含义
例题 在采用 T C P TCP TCP连接的数据传输阶段,如果发送端的发送窗口值由 1000 1000 1000变为 2000 2000 2000,那么发送端在收到一个确认之前可以发送()。
A . 2000 A.2000 A.2000个 T C P TCP TCP报文段
B . 2000 B B.2000B B.2000B
C . 1000 B C.1000B C.1000B
D . 1000 D.1000 D.1000个 T C P TCP TCP报文段
解: B B B。 T C P TCP TCP使用滑动窗口机制来进行流量控制。在 A C K ACK ACK应答信息中, T C P TCP TCP在接收端用 A C K ACK ACK加上接收方允许接收数据范围的最大值回送给发送方,发送方把这个最大值当作发送窗口值,表明发送端在未收到确认之前可以发送的最大字节数,即 2000 B 2000B 2000B。
部分确认
在只收到部分报文的确认时,若接收窗口更改,要考虑到发送过但是没有确认的报文长度。
例题 主机甲和主机乙之间已建立一个 T C P TCP TCP连接, T C P TCP TCP最大段长为 1000 B 1000B 1000B。若主机甲的当前拥塞窗口为 4000 B 4000B 4000B,在主机甲向主机乙连续发送两个最大段后,成功收到主机乙发送的第一个段的确认段,确认段中通告的接收窗口大小为 2000 B 2000B 2000B,则此时主机甲还可以向主机乙发送的最大字节数是()。
A . 1000 A.1000 A.1000
B . 2000 B.2000 B.2000
C . 3000 C.3000 C.3000
D . 4000 D.4000 D.4000
解: A A A。发送方的发送窗口的上限值取接收方窗口和拥塞窗口这两个值中的较小一个,于是此时发送方的发送窗口为 m i n 4000 , 2000 = 2000 B min{4000,2000}= 2000B min4000,2000=2000B,由于发送方还未收到第二个最大段的确认,所以此时主机甲还可以向主机乙发送的最大字节数为 2000 − 1000 = 1000 B 2000-1000= 1000B 2000−1000=1000B。
跳跃确认
T C P TCP TCP首部的序号字段是指本报文段数据部分的第一个字节的序号,而确认号是期待收到对方下一个报文段的第一个字节的序号。
当收到一系列确认,中间有中断的,则确认号是没有中断的最后一个序号。
例题 主机甲与主机乙之间已建立一个 T C P TCP TCP连接,主机甲向主机乙发送了三个连续的 T C P TCP TCP段,分别包含 300 B 300B 300B、 400 B 400B 400B和 500 B 500B 500B的有效载荷,第三个段的序号为 900 900 900。若主机乙仅正确接收到第一个段和第三个段,则主机乙发送给主机甲的确认序号是()。
A . 300 A.300 A.300
B . 500 B.500 B.500
c . 1200 c.1200 c.1200
D . 1400 D.1400 D.1400
解: B B B。第三个段的序号为 900 900 900,则第二个段的序号为 900 − 400 = 500 900-400=500 900−400=500,现在主机乙期待收到第二个段,因此发给甲的确认号是 500 500 500。
报文段寿命
例题 网络允许的最大报文段的长度为 128 B 128B 128B,序号用 8 8 8位表示,报文段在网络中的寿命为 30 s 30s 30s。求每条 T C P TCP TCP连接所能达到的最高数据率。
解:具有相同编号的报文段不应同时在网络中传输,必须保证当序列号循环回来重复使用时,具有相同序列号的报文段已从网络中消失,类似于 G B N GBN GBN原理 2 n − 1 2^n-1 2n−1。现在序号用 8 8 8位表示,报文段的寿命为 30 s 30s 30s,那么在 30 s 30s 30s的时间内发送方发送的报文段的数目不能多于 2 8 − 1 = 255 2^8-1=255 28−1=255个, 255 × 128 × 8 / 30 = 8704 b / s 255\times128\times8/30=8704b/s 255×128×8/30=8704b/s。
所以,每条 T C P TCP TCP连接所能达到的最高数据率为 8704 b / s 8704b/s 8704b/s。
拥塞控制
拥塞窗口
例题 设 T C P TCP TCP的拥塞窗口的慢开始门限值初始为 8 8 8(单位为报文段),当拥塞窗口上升到 12 12 12时发生超时, T C P TCP TCP开始慢启动和拥塞避免,那么第 13 13 13次传输时拥塞窗口的大小为()。
A . 4 A.4 A.4
B . 6 B.6 B.6
C . 7 C.7 C.7
D . 8 D.8 D.8
解: C C C。拥塞窗口分别为:
传输次数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
门限值 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 6 | 6 | 6 | 6 | 6 |
拥塞窗口 | 1 | 2 | 4 | 8 | 9 | 10 | 11 | 12 | 1 | 2 | 4 | 6 | 7 |
例题 若主机甲与主机乙已建立一条 T C P TCP TCP连接,最大段长 M S S MSS MSS为 1 K B 1KB 1KB,往返时间 R T T RTT RTT为 2 m s 2ms 2ms,则在不出现拥塞的前提下,拥塞窗口从 8 K B 8KB 8KB增长到 32 K B 32KB 32KB所需的最长时间是()。
A . 4 m s A.4ms A.4ms
B . 8 m s B.8ms B.8ms
C . 24 m s C.24ms C.24ms
D . 48 m s D.48ms D.48ms
解: D D D。请注意这里没有多余的条件,也不告诉门限,只要求增长的最长时间,所以按拥塞算法来看,线性增长的速度最慢,从而增长的最长时间最长,即一秒增加一个 M S S MSS MSS的方式下最长,所以一共需要 ( 32 − 8 ) × 2 = 48 m s (32-8)\times2=48ms (32−8)×2=48ms。
发送窗口
发送窗口的上限值= min \min min{接收窗口,拥塞窗口}。
例题 主机甲和乙建立了 T C P TCP TCP连接,甲始终以 M S S = 1 K B MSS=1KB MSS=1KB大小的段发送数据,并一直有数据发送;乙每收到一个数据段都会发出一个接收窗口为 10 K B 10KB 10KB的确认段。若甲在 t t t时刻发生超时的时候拥塞窗口为 8 K B 8KB 8KB,则从 t t t时刻起,不再发生超时的情况下,经过 10 10 10个 R T T RTT RTT后,甲的发送窗口是()。
A . 10 K B A.10KB A.10KB
B . 12 K B B.12KB B.12KB
C . 14 K B C.14KB C.14KB
D . 15 K B D.15KB D.15KB
解: A A A。当 t t t时刻发生超时时,把 s s t h r e s h ssthresh ssthresh设为 8 8 8的一半,即 4 4 4,把拥塞窗口重新设为 1 K B 1KB 1KB。然后经历 10 10 10个 R T T RTT RTT后,拥塞窗口的大小依次为 2 2 2、 4 4 4、 5 5 5、 6 6 6、 7 7 7、 8 8 8、 9 9 9、 10 10 10、 11 11 11、 12 12 12,而发送窗口取当时的拥塞窗口和接收窗口的最小值,接收窗口始终为 10 K B 10KB 10KB,所以此时的发送窗口为 10 K B 10KB 10KB,选 A A A。实际上该题接收窗口一直为 10 K B 10KB 10KB,可知不管何时,发送窗口一定小于等于 10 K B 10KB 10KB,选项中只有 A A A选项满足条件,可直接得出选 A A A。
例题 主机甲和主机乙新建一个 T C P TCP TCP连接,甲的拥塞控制初始阈值为 32 K B 32KB 32KB,甲向乙始终以 M S S = 1 K B MSS=1KB MSS=1KB大小的段发送数据,并一直有数据发送;乙为该连接分配 16 K B 16KB 16KB接收缓存,并对每个数据段进行确认,忽略段传输延迟。若乙收到的数据全部存入缓存,不被取走,则甲从连接建立成功时刻起,未出现发送超时的情况下,经过 4 4 4个 R T T RTT RTT后,甲的发送窗口是()。
A . 1 K B A.1KB A.1KB
B . 8 K B B.8KB B.8KB
C . 16 K B C.16KB C.16KB
D . 32 K B D.32KB D.32KB
解: A A A。 4 4 4个 R T T RTT RTT后,乙收到的数据全部存入缓存,不被取走,接收窗口只剩下 16 − 1 − 2 − 4 − 8 = 1 K B 16-1-2-4-8=1KB 16−1−2−4−8=1KB缓存,使得甲的发送窗口为 1 K B 1KB 1KB。
例题 在一个 T C P TCP TCP连接中,信道带宽为 1 G b / s 1Gb/s 1Gb/s,发送窗口固定为 65535 B 65535B 65535B,端到端时延为 20 m s 20ms 20ms。可以取得的最大吞吐率是多少?线路效率是多少?(发送时延忽略不计, T C P TCP TCP及其下层协议首部长度忽略不计,最大吞吐率=一个 R T T RTT RTT传输的有效数据/一个 R T T RTT RTT的时间。)
解:由于收到接收方的确认至少需要一个 R T T RTT RTT,因此在一个 R T T RTT RTT内,发送的数据量不能超过发送窗口大小,所以吞吐率=发送窗口大小/ R T T RTT RTT。
题目中告诉的是端到端时延, R T T RTT RTT =2x端到端时延,因此 R T T = 2 × 20 = 40 m s RTT=2\times20=40ms RTT=2×20=40ms,所以吞吐率 = 65535 × 8 / 0.04 = 13.107 M b / s =65535\times8/0.04=13.107Mb/s =65535×8/0.04=13.107Mb/s。
线路效率=吞吐率/信道带宽。本题中,线路效率 ( 13.107 M b / s ) / ( 1000 M b / s ) = 1.31 % (13.107Mb/s)/(1000Mb/s)=1.31\% (13.107Mb/s)/(1000Mb/s)=1.31%。
本题在计算时要特别注意单位(是 b b b还是 B B B),要区分 G b / s Gb/s Gb/s和 G B / s GB/s GB/s。
RTT
需要注意的是 R T T RTT RTT比传输次数要减一。
例题 假设在没有发生拥塞的情况下,在一条往返时延 R T T RTT RTT为 10 m s 10ms 10ms的线路上采用慢开始控制策略。如果接收窗口的大小为 24 K B 24KB 24KB,最大报文段 M S S MSS MSS为 2 K B 2KB 2KB,那么发送方发送出第一个完全窗口需要()时间。
A . 30 m s A.30ms A.30ms
B . 40 m s B.40ms B.40ms
C . 50 m s C.50ms C.50ms
D . 60 m s D.60ms D.60ms
解: B B B。发送窗口初始为 2 K B 2KB 2KB,此时 R T T = 0 RTT=0 RTT=0,然后依次为 4 4 4、 8 8 8、 16 16 16,第四个 R T T RTT RTT到达 24 K B 24KB 24KB,所以一共 40 m s 40ms 40ms。
RTT估计
R T T RTT RTT计算公式:新估计 R T T RTT RTT=( 1 − α 1-\alpha 1−α) × \times ×(旧 R T T RTT RTT)+ α × \alpha\times α×新 R T T RTT RTT。
例题 已知当前 T C P TCP TCP连接的 R T T RTT RTT值为 35 m s 35ms 35ms,连续收到 3 3 3个确认报文段,它们比相应的数据报文段的发送时间滞后了 27 m s 27ms 27ms、 30 m s 30ms 30ms与 21 m s 21ms 21ms。设 α = 0.2 \alpha=0.2 α=0.2。计算第三个确认报文段到达后的新的 R T T RTT RTT估计值。
解: R T T 1 = ( 1 − 0.2 ) × 35 + 0.2 × 27 = 33.4 m s RTT_1=(1-0.2)\times35+0.2\times27=33.4ms RTT1=(1−0.2)×35+0.2×27=33.4ms, R T T 2 = ( 1 − 0.2 ) × 33.4 + 0.2 × 30 ≈ 32.7 m s RTT_2=(1-0.2)\times33.4+0.2\times30\approx32.7ms RTT2=(1−0.2)×33.4+0.2×30≈32.7ms, R T T 3 = ( 1 − 0.2 ) × 32.7 + 0.2 × 21 ≈ 30.4 m s RTT_3=(1-0.2)\times32.7+0.2\times21\approx30.4ms RTT3=(1−0.2)×32.7+0.2×21≈30.4ms。
TCP协议与IP协议
主机 H H H通过快速以太网连接 I n t e r n e t Internet Internet, I P IP IP地址为 192.168.0.8 192.168.0.8 192.168.0.8,服务器 S S S的 I P IP IP地址为 211.68.71.80 211.68.71.80 211.68.71.80。 H H H与 S S S使用 T C P TCP TCP通信时,在 H H H上捕获的其中 5 5 5个 I P IP IP分组如表一所示。
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
分组1 | 45 00 00 30 | 01 9b 40 00 | 80 06 1d e8 | c0 a8 00 08 | d3 44 47 50 |
0b d9 13 88 | 84 6b 41 c5 | 00 00 00 00 | 70 02 43 80 | 5d b0 00 00 | |
分组2 | 43 00 00 30 | 00 00 40 00 | 31 06 6e 83 | d3 44 47 50 | c0 a8 00 08 |
13 88 0b d9 | e0 59 9f ef | 84 6b 41 c6 | 70 12 16 d0 | 37 el 00 00 | |
分组3 | 45 00 00 28 | 01 9c 40 00 | 80 06 1d ef | c0 a8 00 08 | d3 44 47 50 |
0b d9 13 88 | 84 6b 41 c6 | e0 59 9f f0 | 50 f0 43 80 | 2b 32 00 00 | |
分组4 | 45 00 00 38 | 01 9d 40 00 | 80 06 1d de | c0 a8 00 08 | d3 44 47 50 |
0b d9 13 88 | 84 6b 41 c6 | e0 59 9f f0 | 50 18 43 80 | e6 55 00 00 | |
分组5 | 45 00 00 28 | 68 11 40 00 | 31 06 06 7a | d3 44 47 50 | c0 a8 00 08 |
13 88 0b d9 | e0 59 9f f0 | 84 6b 41 d6 | 50 10 16 d0 | 57 d2 00 00 |
1)表一中的 I P IP IP分组中,哪几个是由 H H H发送的?哪几个完成了 T C P TCP TCP连接建立过程?哪几个在通过快速以太网传输时进行了填充?
2)根据表一中的 I P IP IP分组,分析 S S S已经收到的应用层数据字节数是多少。
3)若表一中的某个 I P IP IP分组在 S S S发出时的前 40 B 40B 40B如表二所示,则该 I P IP IP分组到达 H H H时经过了多少个路由器?
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
45 00 00 28 | 68 11 40 00 | 40 06 ec ad | d3 44 47 50 | ca 76 01 06 |
13 88 a1 08 | e0 59 9f f0 | 84 6b 41 d6 | 50 10 16 d0 | b7 d6 00 00 |
解:
1)首先如何判断由 H H H发出?已知 I P IP IP地址为 192.168.0.8 192.168.0.8 192.168.0.8,所以找 I P IP IP地址后两位为 08 08 08。因为取的是前 40 B 40B 40B,所以前 20 B 20B 20B是 I P IP IP数据报内容,后 20 B 20B 20B是 T C P TCP TCP报文内容,根据 I P IP IP数据报格式,每组的第一行第四列就是源 I P IP IP地址,第五列就是目的 I P IP IP地址,所以找到所有第一行第四列最后两位是 08 08 08的数据,从而得到 1 1 1、 3 3 3、 4 4 4数据报都是 H H H发出的。
如何判断哪个完成了 T C P TCP TCP连接?就是考察 T C P TCP TCP三次握手,找到对应的标志位,是每个分组的第二行的第四列的四个分段数据中的第二段。即第一个分组的数据为 02 = 0000 0010 02=0000\,0010 02=00000010,即 S Y N = 1 SYN=1 SYN=1, A C K = 0 ACK=0 ACK=0;第二个分组的数据为 12 = 0001 0010 12=0001\,0010 12=00010010,即 S Y N = 1 SYN=1 SYN=1, A C K = 1 ACK=1 ACK=1,第三个分组的数据为 f 0 = 1111 0000 f0=1111\,0000 f0=11110000,即 U R G = 1 URG=1 URG=1, A C K = 1 ACK=1 ACK=1, S Y N = 0 SYN=0 SYN=0,此时同步已经完成了,从而 S Y N = 0 SYN=0 SYN=0。所以 1 1 1、 2 2 2、 3 3 3完成了连接建立。
最后要考虑什么样的数据需要进行以太网填充?因为以太网的最短帧长是 46 B 46B 46B,不满足长度的就需要以太网填充。需要找到总长度字段,其中总长度字段在 I P IP IP数据报中,即每组数据第一行第一列的最后四位。分组一为 30 H = 48 D 30H=48D 30H=48D,分组二为 30 H = 48 D 30H=48D 30H=48D,分组三为 28 H = 40 D 28H=40D 28H=40D,分组四为 38 H = 56 D 38H=56D 38H=56D,分组五位 28 H = 40 D 28H=40D 28H=40D,其中分组三和分组五要小于 46 D 46D 46D的长度,所以需要填充。
2)如何找到收到应用层的数据?从 T C P TCP TCP数据报中能找到,因为 I P IP IP数据报中都是首部,不含有数据信息。进一步,如何找到数据呢?从确认号和序号中找到。序号在每组第二行第二列,确认号在每组第二行第三列,分组三开始建立连接,而分组四的确认号和分组号一样,所以直接考虑分组五的确认号,为 84 6 b 41 d 6 84\,6b\,41\,d6 846b41d6,而第三四组的序号为 84 6 b 41 c 6 84\,6b\,41\,c6 846b41c6,代表 d 6 d6 d6到 c 6 c6 c6的数据已经被确认了,从而一共有 d 6 H − c 6 H = 16 B d6H-c6H=16B d6H−c6H=16B的数据。
3)如何找到路由多少路由器?通过 I P IP IP数据报中的生存时间,每经过一个路由器 T T L TTL TTL就减一。首先根据表二的数据的 I P IP IP表示为第一行第二列的前四位为 68 11 68\,11 6811,可以认定其是表一的分组五,生存时间在第一行的第三列的前两位数据,表一的生存时间为 31 H = 49 D 31H=49D 31H=49D,而表二的生成时间为 40 H = 64 D 40H=64D 40H=64D,所以 T T L = 64 − 49 = 15 TTL=64-49=15 TTL=64−49=15。从而经过了 15 15 15个路由器。
更多推荐
所有评论(0)