题目
- 1.简述 OSI 七层协议。
- 2. 简述 TCP/IP 四层协议。
- 3. TCP 和 UDP 的区别是什么?
- 4. TCP 连接建立的时候 3 次握手的具体过程,以及其中的每一步是为什么?
- 5. TCP 断开连接的具体过程,其中每一步是为什么那么做?
- 6. TCP 的十一种状态?
- 7. 什么是 socket?简述基于 tcp 协议的套接字通信流程。
- 8. 简述基于 udp 协议的套接字通信流程。
- 9. TCP 为什么不是两次连接?而是三次握手?
- 10. 为何基于 tcp 协议的通信比基于 udp 协议的通信更可靠?
- 11. 网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
- 12. 大规模连接上来,并发模型怎么设计?
- 选择题
1.简述 OSI 七层协议。
▪ 应用层
▪ 表示层
▪ 会话层
▪ 传输层
▪ 网络层
▪ 数据链路层
▪ 物理层
2. 简述 TCP/IP 四层协议。
应用层:HTTP
传输层:TCP
网络层:IP
数据链路层:以太网
3. TCP 和 UDP 的区别是什么?
4. TCP 连接建立的时候 3 次握手的具体过程,以及其中的每一步是为什么?
第一步:发送方发送同步序列标号 SYN seq=x
第二步:接收方发送同步序列标号 SYN seq=y 和 确认包ACK x+1
第三步:发送方发送确认包ACK y+1 连接建立成功
5. TCP 断开连接的具体过程,其中每一步是为什么那么做?
第一步:客户端关闭客户到服务器的数据传送,发送给服务端一个FIN seq=x
第二步:服务器收到这个FIN,发回一个ACK x+1,确认序号为收到的序号加1
第三步:服务器关闭客户端的连接,发送给客户端一个FIN seq=y
第四步:客户端发回ACK y+1报文确认,确认序号设置为收到序号加1
6. TCP 的十一种状态?
三次握手:
CLOSED | 表示初始状态。 |
LISTEN | 表示服务器端的某个SOCKET处于监听状态,可以接受连接。 |
SYN_SENT | 表示客户端已发送SYN报文,当客户端SOCKET执行CONNECT连接时进入该状态。 |
SYN_RCVD | 表示接收到了SYN报文。 |
ESTABLISHED | 表示连接已经建立。 |
四次挥手: