本文正在参与 “网络协议必知必会”征文活动
IP协议
TCP
和UDP
是两种最为著名的传输层协议
他们都是使用IP
作为网络层协议。
TCP
协议是一种面向连接的协议,在使用TCP
进行通信之前,两个应用程序之间需要建立一个TCP
连接
TCP 是如何做传输的?
由于TCP
协议是一种可信的传输协议,所以在传输之
前,需要通过三次握手建立一个连接,所谓的三次握手,
就是在建立TCP
链接时,需要客户端和服务端总共发送 3
个包来确认连接的可靠建立
TCP分层
TCP/IP有四层协议系统:
应用层
Telnet(远程登录)、FTP(文件传输协议)和e_mail等
运输层
TCP(传输控制协议)和UDP(用户数据协议)
网络层
IP(网际协议)、ICMP(Internet互联网控制报文协议)和IGMP(Internet组管理协议)
链路层
设备驱动程序及接口卡
参考内容:TCP-IP详解卷1:协议
每一层都由特定的协议与对方进行通信,而协议之间的通信最终都要转化为二进制的信号,通过某种物理介质进行传输才能进行通讯
TCP三次握手
1.建立连接。发送端发送连接请求报文段(可以理解为暗号)
2.接收端收到发送端的发报文段(暗号)
3.发送端收到接收端返还的(确认暗号)
TCP四次挥手
1.发送端设置seq和 ACK ,向接收端发送一个 FIN(终结)报文段。
2.接收端收到了发送端发送的 FIN 报文段,向发送端回了一个 ACK 报文段。
3.接收端向发送端发送FIN 报文段,请求关闭连接,同时接收端进入 LAST_ACK 状态。
4.发送端收到接收端发送的 FIN 报文段后,向接收端发送 ACK 报文段,然后发送端进入 TIME_WAIT 状态。
接收端收到发送端的 ACK 报文段以后,就关闭连接。
此时,发送端等待 2MSL(指一个片段在网络中最大的存活时间)后依然没有收到回复,则说明接收端已经正常关闭,这样发送端就可以断开连接
安卓
本文转载自: 掘金