《(7.4.1)--6-4_TCP数据段-改1.pdf》由会员分享,可在线阅读,更多相关《(7.4.1)--6-4_TCP数据段-改1.pdf(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六第六章章 传输层传输层TCP数据段数据段传输控制协议 TCP(Transmission Control Protocol)是专门为了在不可靠的互联网络上提供可靠的端到端字节流而设计的 TCP必须动态地适应不同的拓扑、带宽、延迟、分组大小和其它的参数,并且当有错误的时候,能够足够健壮传输控制协议 支持TCP的机器都有一个 TCP 实体,或者是用户进程或者是操作系统内核,都可以管理TCP流和跟IP层的接口发:封装TCP实体接收本地进程的用户数据流,将其分割成不超过64kB的分片(实践中,通常分割成1460字节,以通过以太网传输)收:解封装当包含TCP数据段的报文到达某台机器的时候,被提交给传输
2、实体,传输实体将其重构出原始的字节流TCP 协议 TCP连接上的每个字节都有它自己独有的32位序列号 收发双方的TCP实体以数据段的形式交换数据 一个数据段包括20字节的头部(不包括可选项)和数据域(0或更多字节)TCP 数据段的大小 TCP软件决定数据段的大小,有两个因素限制了数据段的长度:TCP数据段必须适合IP的65515的载荷限制 每个TCP数据段必须适合于下层网络的 MTU(如,1500 字节 以太网载荷大小)TCP使用的基本协议具有动态窗口大小的滑动窗口协议(sliding window protocol)TCP 数据段(TPDU)格式TCP 数据段头 源端口 和 目的端口 字段标
3、明了一个连接的两个端点用来跟踪同一时间内通过网络的不同会话。一般每个端口对应一个应用程序 序列号 字节号(32 位)初始序列号ISNs(initial sequence numbers):随机产生的SYN:携带了ISNs 和SYN 控制位的数据段 确认号 期望接收的字节号(32位)TCP 数据段头 TCP 段头长度 TCP段头长度,单位32位(4字节)保留域/字段TCP数据段头当紧急指针使用的时候,URG 被置为1。紧急指针是一个对于当前序列号的字节偏移量,标明紧急数据从哪里开始当URG=1时,表明有紧急数据,必须首先处理与紧急指针配合使用收方收到这样的数据后,马上处理,处理完后恢复正常操作即
4、使win=0,也可以发送这样的紧急数据段TCP数据段头ACK 可设为 1/0 1表示确认号有效0标明确认号无效TCP数据段头PSH 表示这是带有PUSH标志的数据接收方收到这样的数据,应该立刻送到上层,而不需要缓存它RST 被用来重置一个已经混乱的连接TCP数据段头SYN 用在连接建立的过程FIN被用来释放连接,它表示发送方已经没有数据要传输了,但是可以继续接收数据SYN=1,ACK=0连接请求当当SYN=1,ACK=1连接接受TCP数据段头 TCP中的流控(Flow control)使用一个可变长的滑动窗口来完成的 Window size 告诉对方可以发送的数据字节数(从确认字节号开始(决定
5、于接收方)Checksum 提供额外的可靠性校验的范围包括头部、数据和概念性的伪头部TCP数据段头选项域提供了一种增加基本头没有包含内容的方法选项实例1最重要的选项是允许每台主机指定他愿意接收的最大TCP净荷长度 使用大的数据段比使用小的数据段更高效 在连接建立阶段,每方可以在选项中宣布他的最大TCP净荷长度,并查看对方的给出的最大值;选择双方中宣布小的那个使用 缺省的值为 536 bytes,所有互联网主机默认为可以接受 536+20=556 bytes的数据段选项实例2 对于高带宽、高延迟或两者兼备的线路,64kB窗口可能是一个问题 窗口尺度(Window scale)选项允许收发双方协商
6、一个窗口尺度因子,这个因子允许双方把窗口尺寸域向左移动至14位 因此窗口数可多达 230字节,很多TCP都支持这个选项选项实例3RFC 1106中描述的另一个选项,现在广泛实现了,即使用选择性重传(selective repeat),而不是回退n帧协议(go back n)TCP是一个复杂的传输层协议,负责将TCP数据段可靠地送达目的端。TCP段格式源端口、目的端口序列号确认号(ack控制位置位才有效)六个控制位窗口尺寸(流控)小结小结 TCP数据段中的序列号是段的编号吗?TCP数据段中的初始序列号是怎样来的?TCP数据段中的确认号有什么用?TCP数据段中的窗口尺寸有何作用?思考题思考题谢谢观看谢谢观看