赞
踩
由IETF的RFC793定义的传输控制协议(Transmission Control Protocol,TCP)是一种基于字节流的传输层通信协议。在传输数据前需要在发送与接收者之间建立连接,通过相应机制保证其建立连接的可靠性。
TCP协议具备以下特性:
2.1.1 TCP协议的报文
TCP的报文格式如图2-1所示:
图2-1 TCP报文格式
TCP的报文字段解析如下:
在文章最后加作者VX:可以免费领取以下资料
2.1.2 TCP会话的建立和终止
任何基于TCP的应用,在发送数据之前,都需要由TCP进行“三次握手”建立连接。三次握手如图2-2所示:
图2-2 TCP三次握手
TCP连接建立的详细过程如下:
TCP使用序列号和确认序列号字段实现数据的可靠和有序传输,如图2-3所示
图2-3 TCP的序列号与确认序列号
假设PC1要给PC2发送一段数据,传输过程如下:
在文章最后加作者VX:可以免费领取以下资料
TCP通过滑动窗口机制来控制数据的传输速率,如图2-4所示:
图2-4 TCP窗口滑动机制
TCP通过滑动窗口机制来控制数据的传输速率流程如下:
当数据传输完成,TCP需要通过“四次挥手”机制断开TCP连接,释放系统资源,TCP的四次挥手如图2-5所示:
图2-5 TCP的四次挥手
TCP支持全双工模式传输数据,这意味着同一时刻两个方向都可以进行数据的传输。在传输数据之前,TCP通过三次握手建立的实际上是两个方向的连接,因此在传输完毕后,两个方向的连接必须都关闭。流程如下:
在文章最后加作者VX:可以免费领取以下资料
在描述TCP报文结构的时候,我们提到了源目端口和目的端口;这里所提到的端口是区别于物理端口的一种抽象端口,被称为”应用端口(Application Port)”。应用端口的作用是标识所载荷数据对应了哪个应用层模块。应用端口分为两类:知名端口(范围0-1023)和非知名端口(范围1024-6553);所谓知名端口就是已经分配给一些特定应用层模块,部分TCP知名端口见表2-1
表2-1 知名TCP端口号示例
本文出自作者的《HCIA Datacom学习指南》
https://item.jd.com/14032255.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。