循环冗余校验
第一题 D=101001 G=1101 r=3。
在发送端:
- M=D * 2^r;
则:M=101001000; - 用M除以P
- 得到余数R也就是FCS,将FCS加到M上,就得到了要发送的帧。
D=101001000+FCS=101001001 在接收端: 接收到的每一帧都要进行差错检验,假设收到101001001,P=1101。 最后余数R=0,则判定这个帧没有出错。
第二题 要发送的数据为1101011011.采用CRC的生成多项式是P(x)=X4+X+1. ⑴ 试求应添加在数据后面的余数。 ⑵ 数据在传输过程中最后两个1都变成了0,问接收端能否发现? ⑶ 采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?
答案: ⑴ 根据生成多项式P(x)=X4+X+1,得到除数:10011,在数据1101011011后面添加4个0,得到:11010110110000;作二进制除法,11010110110000 ÷ 10011得余数1110,添加的余数是1110.
⑵ 如果数据在传输过程中最后两位都变成了0,即收到11010110 00 1110,接收方作二进制除法运算:11010110001110÷10011,得余数100,不是0,故判断数据出错。
⑶ 出现以上这种情况后,接收方将丢掉此数据。由于缺重传机制,即采用CRC检验仅能发现数据在传输过程中出现差错但并不能纠正差错,数据链路层的传输还不是可靠的传输。
三类IP地址
IP地址的指派范围
特殊IP地址 网络地址:网络号不变,主机号全0 广播地址:网络号不变,主机号全1 环回地址:以127开头 A类: 网络号占8位,但前面的1位(0)已经固定,只剩下7位可以进行分配。即可指派的网络号是2^7 -2个(网络号字段为全0的IP地址是个保留地址,意思是“本网络”;网络号为127是环回地址) 主机号占24位,每一个A类网络中的最大主机数是2^24-2(减去主机号全0的网络地址,主机号全1的广播地址) B类: 网络号占16位,但前面的2位(10)已经固定,只剩下14位可以进行分配。即可指派的网络号是2^14 -1个(B类网络地址128.0.0.0是不指派的,而可以指派的B类最小网络地址是128.1.0.0) 主机号占16位,每一个A类网络中的最大主机数是2^16-2(减去主机号全0的网络地址,主机号全1的广播地址) C类: 网络号占24位,但前面的3位(110)已经固定,只剩下21位可以进行分配。即可指派的网络号是2^21 -1个(C类网络地址192.0.0.0是不指派的,而可以指派的C类最小网络地址是192.0.1.0) 主机号占8位,每一个A类网络中的最大主机数是2^8-2(减去主机号全0的网络地址,主机号全1的广播地址)
私有网段
子网掩码
IP范围
与10.110.12.29 mask 255.255.255.224 属于同一网段的主机IP 地址是 () A、10.110.12.0 B、10.110.12.30
C、10.110.12.31 D、10.110.12.32
IP数据报组成计算
已知一个IP数据报的总长度为4020字节(使用固定首部),需要分片为长度不超过1420字节的数据报片,试回答以下问题:
(1)请推算该IP数据报的分片过程,给出片数及各片的总长度、片偏移和MF标志位;
(2)假定被分片后的第三个数据报片经过某个网络时被再次分片,即划分为分片3-1(携带数据800字节)和分片3-2,请推算分片3-1和分片3-2的总长度,MF和片偏移?
(1)解答: 分片前数据部分长度:4020-20=4000字节,分片后每片数据不能超过:1420-20=1400字节。由于4000/1400=2.8…>2,因此该IP 数据报应该分3片; 前2片数据字段长度为1400B ;由于4000-1400*2=1200,第3片数据字段长度为1200B; 分片后每片的总长度依次为:1420B ,1420B ,1220B 片偏移的值分别是:0(0/8),175(1400/8),350(2800/8) MF标志位依次为:1,1,0
(2)解答: 第三个数据报片经 过某个网络时被再次分片,则报片3-1的总长度为820(800+20)字节, 报片3-2的总长度为420(400+20)字节; MF标志位依次为:1,0 片偏移的值分别是:350(2800/8),450(3600/8)
路由聚合
有如下的4个/24地址块:
212.56.132.0/24, 212.56.133.0/24, 212.56.134.0/24, 212.56.135.0/24。
试进行最大可能的聚合。
答案: 由于四个地址块的前两个数字都相同,只需将每个地址块的第三个数字转换为二进制,如下:
212.56.100001 00.0, 212.56.100001 01.0, 212.56.100001 10.0, 212.56.100001 11.0,
由于四个地址块中的前22位相同,所以聚合后地址块的网络前缀为 212.56.100001, 所以聚合后的地址块为:212.56.10000100.00000000 也即:212.56.132.0/22
集线器、交换机、路由器
超时重传时间的选择
引入
A记录下发送时刻和接收确认报文段时刻,这段时间就是报文段的往返时间RTT(0号报文段记为RTT0)。 如果将超时重传时间RTO的值设置的比RTT0的值小,会引起报文段不必要的重传(还没收到确认就重传了)。 如果将超时重传时间RTO的值设置的远大于RTT0的值,会使重传推迟的时间太长。 综上得出RTO应在范围。 TCP下层是复杂的互联网环境,发送的报文段会经过不同速率的局域网、每个IP数据报的转发路由可能不同,最终导致RTT不一样。如图,0号报文段得出的RTO不适用于1号报文段,会造成不必要的重传。因此超时重传时间RTO是个很复杂的问题。
计算超时重传时间RTO
当测量第一个RTT样本时,RTTs的值直接取为第一个RTT样本的值。以后每测量到一个RTT样本时,按公式计算新的RTTs值。
测量往返时间RTT的复杂性
这两例可看出,当发送方出现超时重传后,收到确认报文段时,是无法判断出该确认是对原报文段的确认还是对重传报文段的确认,也就无法准确测量出往返时间RTT,进而无法正确计算超时重传时间RTO。
Karn算法
1~超时重传之前用公式计算,而超时重传时新的RTO=2倍旧RTO
TCP
可靠传输
确认序号 = 2046,代表2045及其之前的所有内容已被接收,接下来希望收到的是2046序号段。
流量控制
swnd = min{cwnd, rwnd}
接收方通过每一次的ack来更新接收窗口,进而控制发送窗口,达到流量控制的目的。
所以要同时动态更新接收窗口、拥塞窗口的大小,因为他们对发送窗口的大小具有影响。此处由于题中没有提到慢开始门限值的信息,所以默认,拥塞窗口一直按照指数规律增长。
拥塞控制
坑点:题中问的是发送窗口 = min{拥塞窗口、接收窗口}
所以最后拥塞窗口为12KB时,但接收窗口恒为10KB,所以发送窗口取小者,选A
运输连接
三次握手
- 采用客户服务器模式。主动发起连接的是客户,被动等待连接的是服务器。
- 前两次握手完成后连接处于“半开启”状态。
- 第三次握手是为了避免已过期的连接请求到达服务器,导致建立新的连接。
- 过程图解:
选C。前两次握手的SYN = 1.后两次握手的ACK = 1.因为后两次握手需要确认。
四次挥手
|