【计算机网络】难点、易遗忘点总结

文章目录

  • [1. 单工通信、半双工通信和全双工通信](#1. 单工通信、半双工通信和全双工通信)
  • [2. TCP的三次握手和四次挥手](#2. TCP的三次握手和四次挥手)

1. 单工通信、半双工通信和全双工通信

  • 主要区别在于信息传输的方向和时间安排
  • 单工通信是指信息只能在一个方向上传输的通信方式。
  • 半双工通信允许信息在两个方向上传输,但在任何给定的时间,只有一个方向上的设备可以发送信息
  • 全双工通信是指在任何给定的时间,通信的双方都可以同时发送和接收信息

2. TCP的三次握手和四次挥手

  • 三次握手是为了建立TCP连接 ,其具体过程如下:
    • 第一次握手(发送连接请求):客户端发送SYN包(SYN=1,seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认。
    • 第二次握手(确认收到请求):服务器收到SYN包,必须确认客户端的SYN(ACK=1,ack=x+1),同时自己也发送一个SYN包(SYN=1,seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态。
    • 第三次握手(确认收到请求的确认):客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=1,ack=y+1,seq=x+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
  • 四次挥手是为了终止TCP连接 ,具体过程如下:
    • 第一次挥手(客户端发送终止请求,主动关闭TCP连接 ):客户端发送一个FIN报文,报文中会指定一个序列号,并停止再发送数据,主动关闭TCP连接,进入FIN-WAIT-1(终止等待1)状态,等待服务端的确认。
    • 第二次挥手(服务端确认收到请求 ):服务端收到FIN之后,会发送ACK报文,且把客户端的序列号值+1作为ACK报文的序列号值,表明已经收到客户端的报文了,此时服务端处于CLOSE_WAIT (关闭等待)状态。客户端收到服务端的确认后,进入FIN-WAIT-2(终止等待2)状态,等待服务端发出的连接释放报文段。
    • 第三次挥手(服务端发送终止请求,等待最后确认 ):如果服务端也想断开连接了,和客户端的第一次挥手一样,发给FIN报文,且指定一个序列号。此时服务端处于LAST_ACK(最后确认)的状态。即服务端没有要向客户端发出的数据,服务端发出连接释放报文段(FIN=1,ACK=1,序号seq=w,确认号ack=u+1),服务端进入LAST_ACK(最后确认)状态,等待客户端的确认。
    • 第四次挥手(客户端确认收到请求,服务端关闭连接 ):客户端收到FIN之后,一样发送一个ACK报文作为应答,且把服务端的序列号值+1作为自己ACK报文的序列号值,此时客户端处于TIME_WAIT (时间等待)状态。需要过一阵子以确保服务端收到自己的ACK报文之后才会进入CLOSED (关闭)状态。服务端收到ACK报文之后,就处于关闭连接了,处于CLOSED状态。即客户端收到服务端的连接释放报文段后,对此发出确认报文段(ACK=1,seq=u+1,ack=w+1),客户端进入TIME_WAIT(时间等待)状态。此时TCP未释放掉,需要经过时间等待计时器设置的时间2MSL后,客户端才进入CLOSED状态。
相关推荐
Mu.3871 天前
计算机网络模型
网络·网络协议·计算机网络·安全·http·https
0和1的舞者2 天前
《网络编程核心概念与 UDP Socket 组件深度解析》
java·开发语言·网络·计算机网络·udp·socket
没书读了2 天前
计算机网络-考前记忆清单
计算机网络
Protein_zmm2 天前
第一章 计算机网络和因特网(下)
服务器·计算机网络·php
矶鹬笛手3 天前
(2.1) 信息技术及其发展
sql·计算机网络·c#
gadiaola3 天前
【计算机网络面试篇】HTTP
java·后端·网络协议·计算机网络·http·面试
报错小能手3 天前
计算机网络自顶向下方法57——网络安全 基础与密码学原理
计算机网络·安全·web安全
百***81273 天前
《计算机网络》(B)复习
网络·计算机网络
报错小能手3 天前
计算机网络自顶向下方法50——链路层 虚拟局域网 链路虚拟化:网络作为链路层(多协议标签交换)
网络·计算机网络·智能路由器
报错小能手3 天前
计算机网络自顶向下方法60——网络安全 详解TLS(传输层安全协议)
计算机网络·安全·web安全