第一题:在OSI参考模型的物理层、链路层、网络层、运输层 传送的数据单位分别为?
比特、帧、分组、IP数据报或分组、TCP报或分组
解释:
其中,无论在哪一层传送的数据单元,都可以笼统地用“分组”来表示。
第二题:建立动态路由需要用到的文件有(D)?
A./etc/hosts
B./etc/HOSTNAME
C./etc/resolv.conf
D./etc/gateways
解释:
A:/etc/hosts
主机名到 IP 地址的映射关系的文件
B:/etc/HOSTNAME,
这个文件存的是你的主机名,就比如你的终端的提示符 yourname@hostname ,这里的hostname就写在这个文件里面
C:/etc/resolv.conf
DNS 服务的配置文件,DNS解析服务器地址
D:/etc/gateways
建立动态路由需要用到的文件
第三题:下列哪项最恰当地描述了建立TCP连接时“第一次握手”所做的工作(C)。
C:“连接发起方”向目标主机的TCP进程发送一个SYN段
解释:
第一次握手:客户端向服务器端发送SYN包(syn=j),进入SYN_SEND状态,等待服务器确认。
第二次握手:服务器收到SYN包,确认SYN,此时syn=j+1,同时发送一个SYN包(syn=k)即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到SYN+ACK包,向服务器发送ACK确认包,此时客户端和服务器端均进入ESTABLISHED状态。
第四题:为什么连接的时候是三次握手,关闭的时候却是四次握手?
解释:
连接时:服务端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。
其中ACK报文是用来应答的,SYN报文是用来同步的。
断开时:服务端收到FIN报文时,很可能并不会立即关闭SOCKET,
所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。
只有等到我Server端所有的报文都发送完了,我才能发送FIN报文