6.3.3 数据包说明:
IP层传输单位是IP分组,属于点到点的传输;TCP层传输单位是TCP段,属于端到端的传输
"以tcp/ip协议为核心,分五层。tcp工作在第4层,主要有tcp和udp协议。其中tcp是可靠协议,udp是不可靠协议。
tcp传输之前,需要建立连接,通过三次握手实现。
TCP三次握手状态:
首先是closed状态,当发起连接后,进入Listen状态,当三次握手之后,进入EST状态。三次握手中间还有一个临时状态:SYN_SENT。
SYN_SENT 当应用程序发送ack之后,进入EST状态,如果没有发送,就关闭closed."
当关闭一个 socket 连接时,主动关闭一端的 socket 将进入TIME_WAIT状态,而被动关闭一方则转入CLOSED状态。
具体过程如下:
1、客户端发送FIN报文段,进入FIN_WAIT_1状态。
2、服务器端收到FIN报文段,发送ACK表示确认,进入CLOSE_WAIT状态。
3、客户端收到FIN的确认报文段,进入FIN_WAIT_2状态。
4、服务器端发送FIN报文端,进入LAST_ACK状态。
5、客户端收到FIN报文端,发送FIN的ACK,同时进入TIME_WAIT状态,启动TIME_WAIT定时器,超时时间设为2MSL。
6、服务器端收到FIN的ACK,进入CLOSED状态。
7、客户端在2MSL时间内没收到对端的任何响应,TIME_WAIT超时,进入CLOSED状态。
|------| |------| |------| |------| |-------------------|
以太网标头 IP标头 TCP标头 HTTP标头 数据部分
这一层主要的协议有:HTTP、FTP、SMTP、Telnet、NFS、RIP 等等。
原文:http://blog.51cto.com/yanjiu/2149866