网络Android开发Android知识

TCP 协议

2016-10-21  本文已影响32人  顺势而动

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

上一篇 下一篇

猜你喜欢

热点阅读