TCP协议:
1 Transmission Control Protocol ,传输控制协议
2 面向连接的协议
3 三次握手建立连接,四次挥手断开连接
4 TCP 报头最小长度:20字节
5 面向字节流,TCP 内部有个缓存,如果数据块多大,则TCP会将其分成多个数据块,如果数据块多小,则TCP 则会累计足够多的字节后一次发送
三次握手的过程:
1 客户端发送: SYN =1 SEQ=X 端口号
2 服务端发送: SYN=1 ACK=X+1 SEQ=Y
3 客户端 发送: ACK=Y+1 SEQ=X+1
注意: 建立连接过程中同步信号SYN 始终是1,建立连接后SYN=0,X=client_isn Y=server_isn
找了个图还不错,有点瑕疵,已改正
四次挥手过程:
1 A向B 发送断开请求,FIN=1(没有数据传给你了)
2 B 收到 ACK=1,(只是回复收到请求,等我消息,传完了告你)
3 B 向A 发送断开请求 FIN=1(我也没有数据传给你了,请求断开)
4 A 收到 ACK=1(socket断开)
优点:稳定,可靠
1 传输数据前,三次握手确认
2 传输数据时,有确认,回传,拥塞控制等
3 传输数据后,会关闭socket 以节省资源
缺点: 传输速度慢,效率低
1传输数据前三次握手确认,耗时
2 传输数据时,确认,重传,拥塞,占据cpu 资源
3 传输次数过多,易受dos 攻击
使用场景:
对通讯质量要求高时,确保数据准确无误的就需要使用TCP 协议,
文件传输协议,HTTP,HTTPS,FTP
邮件传输协议,POP,SMTP