tcp(Transmission Control Protocol 传输控制协议)
协议复杂,有序和可靠。编号和分段实现了有序,ACK(acknowledge)和重新发送实现了可靠。
滑窗实现了同时发送多个片段,加大数据传输的效率。滑窗效果可以参考这个动画:
tcp通信过程
建立连接过程
1.client发送syn,seq=x;
2.server收到syn,回复ack=x+1,并发送自己的syn=y;
3.client收到ack一比,这个ack是我刚才发过去的,回复ack=y+1,连接建立完成。
数据传输过程
1.client发送seq=x+1,ack=y+1;
2.server收到回复ack=x+2。
断开连接过程
1.client发送fin,seq=x+2,ack=y+1;
2.server收到fin回复ack=x+3;
3.server把数据发送完以后,向client发送fin,seq=y+1;
4.client回复ack=y+2。
相关标志意义
SYN(synchronous建立联机)
ACK(acknowledgement 确认,收到)
PSH(push传送)
FIN(finish结束)
Sequence number(顺序号码)
Acknowledge number(确认号码)
udp(user datagram protocol 用户数据报协议)
协议简单,快,但不可靠。
参考资料
http://network.51cto.com/art/201411/456783_all.htm
http://www.cnblogs.com/vamei/archive/2012/12/05/2802811.html