TCP协议分析.ppt_第1页
TCP协议分析.ppt_第2页
TCP协议分析.ppt_第3页
TCP协议分析.ppt_第4页
TCP协议分析.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TCP协议分析 组员 檀卫杰201012301067 组长 黄苹201012301079欧阳鹏202012301074朱宏波201012301073潘任哲20091230XXXX 2012年12月24日 2012年12月24日 一 TCP协议概述 1 TCP是一个面向连接的可靠的协议2 TCP提供了具有序列号 出错恢复 滑动窗口机制的面向连接的服务3 TCP主机使用握手过程简历相互之间的虚拟连接4 TCP协议是面向字节的 以连续字节流方式传输数据 依靠缓存来实现 最大的TCP数据段长度为65495字节5 由于TCP端到端的可靠性及灵活性 对于传输大量数据以及要求可靠交付服务的应用程序来说 TCP是首选的传输方法 二 TCP启动连接过程 1 TCP启动连接过程从两台主机之间握手开始 一台主机向另一台主机发起一次握手 a 确保目标主机是可用的 b 确保目标主机正在监听目的端口号 c 通知目标主机发起方的序列号 以便双方在数据传输的过程中能够跟踪它 2 TCP握手是三个数据包交换的过程 1 主机1向主机2发送一个TCP数据包 2 主机2使用它自己的起始序列号和最大数据段的长度指示作为响应 3 主机1确认收到了主机2的序列号和数据段长度信息 半开连接 TCP半开连接 在握手过程没有以最后一个ACK结束时 就发生了半开连接 三 TCP保持活动过程 一旦建立了TCP连接 保持活动过程能够在没有数据在线路上发送时维持连接 维持连接免除了对线路上发送每一位数据都重复执行握手过程的需要 四 TCP连接终止 TCP连接终止过程需要4个数据包终止过程 1 主机1发送一个带有FIN和ACK标志设置的TCP数据包 2 主机2在应答中发送一个ACK 3 主机2发送一个带有FIN和ACK标志设置的TCP数据包 4 主机1返回一个ACK应答 五 TCP协议的连接状态 六 TCP序列和确认过程 序列和确认过程确保了数据包被适宜排序 并防止丢失分段 在握手的过程中 连接的每一方都选择自己的起始序列号 每一方都增加其序列号值 增加量是出站数据包中包含的数据的长度 公式 收到的序列号 收到数据的字节数 发送的确认号 主机1 序列号为10 携带35个字节的数据确认号字段 100 主机2 序列号为100 没有携带任何数据 ACK 确认号字段 15 10 5个字节的数据 主机1 序列号为1 携带了9个字节的数据确认号字段 100 序列号为100 没有携带任何数据 ACK 确认号字段 10 1 9个字节的数据 主机2 序列号为100 没有20个字节的数据确认号字段 15 10 5个字节的数据 主机2 主机1 序列号为15 没有携带任何数据 ACK 确认号字段 120 100 20个字节的数据 主机2向主机1发送数据 六 TCP阻塞控制 阻塞控制的四种机制 1 慢启动 2 阻塞避免 3 快速重传 快速恢复 当网络介质中存在太多的数据时 就会发生网络过载 一般说来 我们总是希望数据传输得更快一些 但如果发送方把数据发送得过快 接收方就可能来不及接收 这就会造成数据的丢失 流量控制 就是让发送方的发送速率不要太快 既要让接收方来得及接收 也不要使网络发生拥塞 七 滑动窗口 折中方法 滑动窗口协议个主机在缓存上各使用一个窗口 由该窗口决定可以发送而不必考虑确认的数据量 窗口有左沿和右沿 都可以滑动 TCP首部 20字节的固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN 32位 SYN RST PSH ACK URG 位08162431 填充 TCP数据部分 TCP首部 TCP报文段 IP数据部分 IP首部 发送在前 八 TCP报文段的首部格式 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 源端口和目的端口字段 各占2字节 端口是传输层与应用层的服务接口 传输层的复用和分用功能都要通过端口才能实现 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 序号字段 占4字节 TCP连接中传送的数据流中的每一个字节都编上一个序号 序号字段的值则指的是本报文段所发送的数据的第一个字节的序号 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 确认号字段 占4字节 是期望收到对方的下一个报文段的数据的第一个字节的序号 TCP首部 20字节固定首部 目的端口 首部长度 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 首部长度 占4位 指出TCP首部共有多少个4字节字 首部长度在20 60字节之间 所以 该字段值在5 15之间 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 保留字段 占6位 保留为今后使用 但目前应置为0 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 紧急URG 当URG 1时 表明紧急指针字段有效 它告诉系统此报文段中有紧急数据 应尽快传送 相当于高优先级的数据 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 确认ACK 只有当ACK 1时确认号字段才有效 当ACK 0时 确认号无效 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 推送PSH PuSH 接收TCP收到PSH 1的报文段 就尽快地交付接收应用进程 而不再等到整个缓存都填满了后再向上交付 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 推送PSH PuSH 接收TCP收到PSH 1的报文段 就尽快地交付接收应用进程 而不再等到整个缓存都填满了后再向上交付 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 同步SYN 同步SYN 1表示这是一个连接请求或连接接受报文 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 终止FIN FINis 用来释放一个连接 FIN 1表明此报文段的发送端的数据已发送完毕 并要求释放传输连接 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 窗口字段 占2字节 用来让对方设置发送窗口的依据 单位为字节 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 检验和 占2字节 检验和字段检验的范围包括首部和数据这两部分 在计算检验和时 要在TCP报文段的前面加上12字节的伪首部 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 检验和 占2字节 检验和字段检验的范围包括首部和数据这两部分 在计算检验和时 要在TCP报文段的前面加上12字节的伪首部 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 紧急指针字段 占16位 指出在本报文段中紧急数据共有多少个字节 紧急数据放在本报文段数据的最前面 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 比特08162431 填充 选项字段 长度可变 TCP最初只规定了一种选项 即最大报文段长度MSS MSS告诉对方TCP 我的缓存所能接收的报文段的数据字段的最大长度是MSS个字节 MSS MaximumSegmentSize 是TCP报文段中的数据字段的最大长度 数据字段加上TCP首部才等于整个的TCP报文段 注意和MTU的区别 MTU是能够放在MAC首部数据的数据量 TCP首部 20字节固定首部 目的端口 数据偏移 检验和 选项 长度可变 源端口 序号 紧急指针 窗口 确认号 保留 FIN SYN RST PSH ACK URG 位08162431 填充 填充字段 这是为了使整个首部长度是4字节的整数倍 九

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论