网络基础知识
Nagle算法只允许一个未被ACK的包存在于网络,它并不管包的大小,因此它事实上就是一个扩展的停-等协议,只不过它是基于包停-等的,而不是基于字节停-等的。Nagle算法完全由TCP协议的ACK机制决定,这会带来一些问题,比如如果对端ACK回复很快的话,Nagle事实上不会拼接太多的数据包,虽然避免了网络拥塞,网络总体的利用率依然很低。
注意:BSD的实现是允许在空闲链接上发送大的写操作剩下的最后的小段,也就是说,当超过1个MSS数据发送时,内核先依次发送完n个MSS的数据包,然后再发送尾部的小数据包,其间不再延时等待。(假设网络不阻塞且接收窗口足够大)
当然,TCP确认延迟40ms并不是一直不变的,TCP连接的延迟确认时间一般初始化为最小值40ms,随后根据连接的重传超时时间(RTO)、上次收到数据包与本次接收数据包的时间间隔等参数进行不断调整。另外可以通过设置TCP_QUICKACK选项来取消确认延迟。
3.
正确答案: C D 你的答案: C (错误)
ESTABLISHED->CLOSE_WAIT->TIME_WAIT->CLOSED
ESTABLISHED->TIME_WAIT->CLOSE_WAIT->CLOSED
ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT->CLOSED
ESTABLISHED->FIN_WAIT_1->TIME_WAIT->CLOSED
跳过FIN_WAIT_2,证明被动方也完成了数据传输任务,直接把ACK和FIN一起发给了主动方,因此主动方从FIN_WAIT_1直接跳过FIN_WAIT_2进入TIME_WAIT
4.其实 big endian 是指低地址存放最高有效字节( MSB ),而 little endian 则是低地址存放最低有效字节( LSB )。 所有网络协议也都是采用 big endian 的方式来传输数据的。所以有时我们也会把 big endian 方式称之为网络字节序。当两台采用不同字节序的主机通信时,在发送数据之前都必须经过字节序的转换成为网络字节序后再进 行传输。
5.
正确答案: D 你的答案: A (错误)
500
700
800
1000
【解答】选D。主机乙正确接收到两个段,共300字节加500字节共800个字节,第一个段的***为200,则表明确认号为800+200=1000。
【考查知识点】TCP报文的首部格式中确认号的计算;确认号是期望收到对方下一个报文段的第一个数据字节的序号。
***等于前一个报文段的***与前一个报文段中数据字节的数量之和。例如,假设源主机发送3个报文段,每个报文段有100字节数据,且第一个报文段的***是1000,那么接收到第一个报文段后,目的主机返回含确认号1100的报头。接收到第二个报文段(其序号为1100)后,目的主机返回确认号1200,接收到第三个报文段后,目的主机返回确认号1300。
其实是1001,但是其他差距太远了,勉强选D吧
TCP的报文到达确认(ACK),是对接收到的数据的最高***的确认,并向发送端返回一个下次接收时期望的TCP数据包的***(Ack Number)。例如,主机A发送的当前数据序号是400,数据长度是100,则接收端收到后会返回一个确认号是501的确认号给主机A。
6.千兆网卡每秒最多处理数据是1000/8=125Mb=125000kb=12500个10k
7.
正确答案: C 你的答案: E (错误)
GET
HEAD
TRACE
OPTIONS
POST
GET:通过请求URI得到资源,POST:用于添加新的内容,OPTIONS:询问可以执行哪些方法,TRACE:用于远程 诊断服务器,HEAD:类似于GET, 但是不返回body信息,用于检查对象是否存在,以及得到对象的元数据 HEAD,GET,OPTIONS和TRACE视为安全的方法,因为它们只是从服务器获得资源而不对服务器做任何修改, 但是HEAD,GET,OPTIONS在用户端不安全。而POST则影响服务器上的资源。
8.
正确答案: B C 你的答案: A B (错误)
DNS的作用是域名和IP地址的相互映射
DNS协议大多数运行在UDP协议之上
DNS协议端口号为53
DNS的默认缓存时间为1小时
A:DNS就是将域名翻译成IP地址。
B:主要用UDP,但是当请求字节过长超过512字节时用TCP协议,将其分割成多个片段传输。
C:DNS协议默认端口号是53。
D:操作系统的DNS缓存:windows DNS缓存的默认值是 MaxCacheTTL,它的默认值是86400s,也就是一天。macOS 严格遵循DNS协议中的TTL。
游览器的DNS缓存:chrome对每个域名会默认缓存60s;IE将DNS缓存30min;Firefox默认缓存时间只有1分钟;Safari约为10S。
域名服务器是保存有该网络中所有主机的域名和对应的ip地址。域名必对应一个ip地址,而ip地址不一定有域名
=>综上所述,选择BC。