面试考点——计网

页数

[计网/谢/210-226]

——可靠传输的工作原理——

TCP的特点?

面向连接,可靠,只能两个端点,全双工,面向直接流。

TCP端点是什么?

socket也叫套接字(IP地址:端口号)
socket有不同的含义,此处是套接字含义。

TCP字节流?

把上层的数据看做字节流,TCP有发送和接收缓存。
发送和接收端用的数据块大小(随网络状况变化)不一定相同,但是总的数据量一样。

IP层提供可靠服务吗?

不可靠

理想传输条件的特点?

无差错;来得及接收(解决方法:停等协议…)

停等协议?

数据链路层协议(帮助理解传输层协议)
发送两个连续分组之间要等接收端发来的确认

停等协议之超时重传ARQ协议?

在这里插入图片描述

停等协议“确认信息”丢失/迟到

在这里插入图片描述

停等协议的缺点以及解决方法

信道利用率低
解决方法:滑动窗口协议,连续ARQ协议

滑动窗口之累积确认?

接收端对按序到达的最后一个报文发送确认

滑动窗口之累积确认的缺点?

因为是对按序到达的最后一个报文A发送确认,所以就算A之后的无序报文到达,发端还是会重传。

TCP头部之序号和序号字段

序号:字节按顺序编号
序号字段:本报文段所发送数据的第一个字节的序号

TCP头部之确认号

A和B之间通信。

A:序号第500,数据长200

B:确认号:(500+200+1)701(正确接收数据,然后期望收到701开始的数据)

TCP头部之数据偏移

头部+数据
偏移就是数据起点和头部起点的距离

TCP头部之窗口值是发送方的还是接收方的?

谁发的数据报,窗口值就是谁的。
以告诉对方自己还有多少剩余容量。

窗口为0也可以发送紧急数据吗?

MMS是什么?怎么设置?

MMS是TCP报文段中数据最大长度,不包括头部。
设置方式:是通信双方交互确认一个不分片的容量大小。

时间戳什么作用?

1.记录来回一趟的RTT
2.区分两个相同序号的报文的先后次序(+karn算法)

——可靠传输的实现——

窗口和缓存是一回事吗?

不是,缓存包括窗口

累积确认一定发生吗?

不是,每接收一个最大报文段,就要发送一次确认

超时重传的定时器时间怎么设置?

往返时间为RTT;
RTTs:为多次RTT的加权平均数;
偏差s:为新RTT与旧RTT的偏差的加权平均;
超时的时间设置=RTTs+偏差s;

当发端出现重传的现象时,怎么区分接收端发送的确认报文是针对第一个报文的,还是针对重传报文的

karn算法:出现重传把定时器时长翻倍

累积确认的缺点解决?

选择确认SACK,会把零散的数据块的边界告诉发端,但是最多告诉4个数据块(报文段头部的长度有限制)