1.OSI七层模型是由ISO组织制定的国际标准,只是标准,实际流行使用的还是TCP/IP模型
图片说明

网络的通信过程:
数据包的封装和解封:
图片说明

2.TCP/IP

图片说明
在TCP/IP中把物理层和数据链路层划分成了物理层,把表示层、会话层、应用层合并为应用层,分层结构更少,也节省了开销

3.传输协议TCP和UDP
3.1 TCP的特性
工作在传输层
面向连接协议
全双工协议
半关闭
错误检查
将数据打包成段,排序
确认机制
数据恢复,重传
流量控制,滑动窗口
拥塞控制,慢启动和拥塞避免算法

tcp连接建立:三次握手
图片说明

第一次握手:
客户端发送初始序号a和syn=1请求标志,客户端进入SYN_SENT状态,等待服务器端确认。

第二次握手:
服务器发送请求标志syn,发送确认标志ACK,发送自己的序号seq=b,发送客户端的确认序号ack=a+1,服务器端进入SYN_RCVD状态。

第三次握手:
客户端发送ACK确认号,发送自己的序号seq=a+1,发送对方的确认号ack=b+1,如果正确则连接建立成功,客户端和服务器端进入ESTABLISHED状态,完成三次握手,随后客户端与服务器端之间可以开始传输数据了

tcp连接断开:四次挥手
图片说明

第一次挥手:
客户端发出连接释放报文FIN=1,自己序列号seq=u,进入FIN-WAIT-1状态

第二次挥手:
服务器收到客户端的报文后,发出ACK=1确认标志和客户端的确认号ack=u+1,自己的序列号seq=v,进入CLOSE-WAIT状态

第三次挥手:
客户端收到服务器确认结果后,进入FIN-WAIT-2状态。此时服务器发送释放FIN=1信号,确认标志ACK=1,确认序号ack=u+1,自己序号seq=w,服务器进入LAST-ACK(最后确认态)

第四次挥手:
客户端收到回复后,发送确认ACK=1,ack=w+1,自己的seq=u+1,客户端进入TIME-WAIT(时间等待)。客户端经过2个最长报文段寿命后,客户端CLOSE;服务器收到确认后,立刻进入CLOSE状态。

3.2 UDP
特性:
工作在传输层
提供不可靠的网络访问
非面向连接协议
有限的错误检查
传输性能高
无数据恢复特性

tcp和udp的区别:
TCP比UDP开销大,tcp包头更复杂
TCP数据传输安全稳定能重传,UDP不稳定数据可能会丢失且不会重传