TCP-入门
TCP-入门
背景
不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
TCP解决了什么
为连接到不同但互连的计算机通信网络的主计算机中的成对进程 提供可靠的通信服务。
TCP如何解决
- 应用层向TCP层发送用于网间传输的、用8位字节表示的数据流
- TCP把数据流分区成适当长度的报文段
- TCP把结果包编序号并传给IP层
- IP层通过网络将包传送给接收端实体的TCP层。
- 接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。
- 接收端实体将包按照编号顺序组装起来。
TCP结构
TCP常见知识点
三次握手
建立连接的过程:
- 客户端发送SYN报文给服务器端
- 服务器端接收到SYN,回应一个SYN
- 客户端接收到服务的SYN,回应一个ACK

四次挥手
断开连接的过程:
- 客户端发送FIN
- 接收端发送ACK
- 接收端发送FIN
- 客户端发送ACK
与UDP异同
UDP
介绍
提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。
优点:传输过程中延迟小、数据传输效率高。
缺点:没有可靠性保证、顺序保证和流量控制字段
使用场景:
强调传输性能而不是传输的完整性。是分发信息的一个理想协议。例如,在屏幕上报告股票市场、显示航空信息等等。如果有一个消息丢失,在几秒之后另一个新的消息就会替换它。
- 音频
- 多媒体应用
- 网络视频会议
- 聊天:QQ