TCP
TCP 是面向连接的、可靠的、基于字节流的传输层通信协议
- 面向连接:一对一连接
- 可靠的:保证报文一定能够到达接收端
- 字节流:报文可被分为多个组
报文格式
- seq:序列号,建立连接时生成的随机数,每发送一次数据则自增,用于解决网络包乱序
- ack:确认应答号,发送端收到这个应答号后,可认为这个序号之前的数据已经被正常接收,用于解决丢包
- ACK:该位为 1 时,确认应答号的字段变为有效
- SYN:该位为 1 时,表示希望建立连接
- FIN:该位为 1 时,表示今后不会再有数据发送,希望断开连接
三次握手
- 前两次握手确保客户端成功连接
- 第三次握手确保服务端成功连接
四次挥手
- 第三步确保服务端完成自己未处理完的数据
TPC 和 UDP 的区别
tcp
- 可靠,即发出请求成功与否是可知的
- 面向连接,即客户端连接到服务器必须建立起一个连接
- 相对 udp 较慢
udp
- 不可靠
- 不面向连接
- 相对 udp 较快
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。