TCP-IP协议原理-07PPT课件_第1页
TCP-IP协议原理-07PPT课件_第2页
TCP-IP协议原理-07PPT课件_第3页
TCP-IP协议原理-07PPT课件_第4页
TCP-IP协议原理-07PPT课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

第七章TCP IP协议原理 讲师用PPT 中国网通 集团 有限公司2006年12月24日 中国网通运维人员岗位培训丛书 数据专业 内部资料注意保密 目标 熟悉TCP IP的协议体系掌握IP的地址分类及掩码划分掌握IP分片和重组的原理掌握IP TCP UDP的报文结构掌握TCP UDP的工作原理学会使用抓包工具对TCP IP报文进行抓包分析 7 1 7 2 TCP IP概述 IP协议及IP地址 3 7 3 TCP协议 UDP协议 7 4 目录 7 1 1TCP IP的产生背景及特点 7 1TCP IP概述 TCP IP的产生背景TCP IP始于1969年 也就是美国国防部 DoD 委任高级资源计划机构网络 ARPANET 的时间 TCP IP是指一整套数据通信协议 其名字是由这些协议中的两个协议组成的 即传输控制协议 TCP 和网间协议 IP 虽然还有很多其他协议 但是TCP和IP显然是两个最重要的协议TCP IP的特点 开放式协议标准与物理网络硬件无关通用的寻址方案各种标准化的高级协议 7 1TCP IP概述 7 1 2TCP IP协议体系 TCP IP参考模型网络接口层 也称为数据链路层 它是TCP IP的最底层 互联网层 也称IP层 该层把分组封装到IP数据报中 填入数据报的首部 使用路由算法来选择数据报的传输途径 然后把数据报交给下面的网络接口层中的对应网络接口模块 传输层 其功能是使源端主机和目标端主机上的对等实体可以进行会话 分为TCP和UDP协议 应用层 将OSI参考模型中的会话层和表示层的功能合并到应用层实现 应用层面向不同的网络应用引入了不同的应用层协议 图2TCP IP参考模型 图1OSI与TCP IP参考模型对照图 7 1TCP IP概述 包 网络上传输的数据片段 也称分组 服务 指特定一层提供的功能 接口 是上下层次之间调用功能和传输数据的方法 协议 是对等层必须共同遵循的标准 寻址 是网络的核心概念 网络上的所有设备都给定一个遵循标准格式的唯一标识 即设备的地址 7 1 3TCP IP常用概念介绍 7 1TCP IP概述 端口号 标识应用进程 即TCP UDP用主机IP地址和为应用进程分配的端口号来标识应用进程 7 1 7 2 TCP IP概述 IP协议及IP地址 3 7 3 TCP协议 UDP协议 7 4 目录 7 2IP协议及IP地址 IP协议是TCP IP协议族中最为核心的协议 所有的TCP UDP ICMP及IGMP数据都以IP数据报格式传输 IP提供的不可靠 无连接的数据报传送服务使得各种各样的物理网络只要能够提供数据报传输就能够互联 这成为Internet在数年间就风靡全球的主要原因 不可靠 unreliable 是它不能保证IP数据报能成功地到达目的地 IP仅提供尽最大努力投递 best effortdelivery 的传输服务 如果发生某种错误时 如某个路由器暂时用完了缓冲区 IP有一个简单的错误处理算法 丢弃该数据报 然后发送ICMP消息报给发送端 任何要求的可靠性必须由上层来提供 如TCP 无连接 connectionless 是IP并不维护任何关于后续数据报的状态信息 每个数据报的处理是相互独立的 这也说明 IP数据报可以不按发送顺序接收 如果发送端向相同的接收端发送两个连续的数据报 先是A 然后是B 每个数据报都是独立地进行路由选择 可能选择不同的路线 因此B可能在A到达之前先到达 IP提供了三个重要的定义 1 IP定义了在整个TCP IP互联网上数据传输所用的基本单元 因此它规定了互联网上传输数据的确切格式 2 IP软件完成路由选择的功能 选择一个数据发送的路径 3 除了数据格式和路由选择的精确而正式的定义外 IP还包括了一组嵌入了不可靠分组投递思想的规则 这些规则指明了主机和路由器应该如何处理分组 和实际如何发出错误信息以及在什么情况下可以放弃分组 7 2 1IP协议简介 7 2IP协议及IP地址 IP地址简介为了使连入Internet的众多主机在通信时能够相互识别 Internet上的每一台主机和路由器都分配有一个唯一的32位地址 一个IP地址有4个字节组成 字节之间用句号分隔 每个字节表示为从0 255的十进制数 8位二进制数最大为11111111 即十进制数255 这个表示法称为IP地址的点分十进制表示法 dotteddecimalnotation 7 2 2IP地址及子网 IP地址分类IP协议规定了IP地址分为五类 A E 其中A B C三类是基本类型 具体分类见下图 7 2IP协议及IP地址 子网与子网掩码 在实际应用中 IP地址还可以分层 将一个网络分为多个子网 在分层时 不再把IP地址看成由单纯的一个网络号和一个主机号组成 而是把主机号再分成一个子网号和一个主机号 例如一个B类网 可以把主机地址中前8位用来表示子网地址 后8位留作主机地址 这种B类网IP地址格式如图所示 这样就允许有254个子网 每个子网可以有254台主机 7 2 2IP地址及子网 同一网络中的不同子网用子网掩码来划分 子网掩码 subnetmask 是网际地址中对应网络标识编码的各位1 对应主机标识编码的各位为0的一个四字节整数 也叫做子网屏蔽码 对于A B C三类网络来说 它们都有自己默认的掩码 即没有划分子网时的掩码 如下图所示 7 2IP协议及IP地址 7 2 3IP数据包报文结构 版本字段 4位 IP协议的版本号 目前为4 报头长 4位 IP数据报的报头长度 以32位为单位 服务类型字段 8位 用于规定优先级 传送速率 吞吐量和可靠性等参数 总长度 16位 包含IP头在内的数据单元的总长度 字节数 标识符 16位 标明一个数据报或分段的数据 标志 3位 数据报是否分段标志 分段偏移量字段 如果一个数据报被分成2个以上的段 分段偏移量字段指出该段在被传送的初始数据报中的偏移量 因此 该字段指出一个段在整个数据报中的位置 生命期字段 8位 允许数据报在网间传输的存活时间 协议字段 8位 发送数据报的上层协议 报头校验和 16位 仅用于报头的检查 源地址和目的地址字段 每一个地址代表一个网络和网络中的一台主机 7 2IP协议及IP地址 IP路由选择主要完成以下这些功能 7 2 4IP数据包选路 搜索路由表 寻找能与目的IP地址完全匹配的表目 搜索路由表 寻找能与目的网络号相匹配的表目 搜索路由表 寻找标为 默认 default 的表目 完整主机地址匹配在网络号匹配之前执行 只有当它们都失败后才选择默认路由 默认路由 以及下一站路由器发送的ICMP间接报文 如果我们为数据报选择了错误的默认路由 是IP路由选择机制中功能强大的特性 为一个网络指定一个路由器 而不必为每个主机指定一个路由器 这是IP路由选择机制的另一个基本特性 MTU 网络最大传送单元 不同类型的物理网对一个物理帧可传送的数据量规定不同的上界 分片和重组 在MTU小的网络上 把大的数据报分成较小的单位 这种较小的单位叫做数据报片或段 fragment 划分数据报的过程叫做分片或分段 fragmentation 下图表示了这样的一个需要分片的案例 网络1和3的MTU为1500 网络2的MTU为620 当主机A和主机B通信时 路由器R1把从A发送到B上的长数据报分片 路由器R2把从B发送到A上的长数据报分片 数据报的重组 有两种方法 一是在通过一个网络后就将分片的数据报重组 而是在到达目的主机后重组 在TCP IP实现中 采用的是后一种方法 数据报头中的标识 标志和分片位移三个字段用作控制分片和重组 7 2IP协议及IP地址 7 2 5IP分片及重组 7 2IP协议及IP地址 ARP RARP协议简介 实现IP地址与硬件地址 MAC地址 之间的相互解析ARP RARP报头结构 7 2 6IP层协议实例 硬件类型字段 指明了发送方想知道的硬件接口类型 以太网的值为1 协议类型字段 指明了发送方提供的高层协议类型 IP为0800 16进制 硬件地址长度和协议长度 指明了硬件地址和高层协议地址的长度 这样ARP报文就可以在任意硬件和任意协议的网络中使用 操作字段 用来表示这个报文的类型 ARP请求为1 ARP响应为2 RARP请求为3 RARP响应为4 7 2IP协议及IP地址 ARP的工作原理 每台主机都会在自己的ARP缓冲区 ARPCache 中建立一个ARP列表 以表示IP地址和MAC地址的对应关系 当源主机需要将一个数据包要发送到目的主机时 首先检查自己ARP列表中是否存在该IP地址对应的MAC地址 若有 则直接转发 若没有 就向本地网段发起一个ARP请求的广播包 查询此目的主机对应的MAC地址 网络中所有的主机收到这个ARP请求后 会检查数据包中的目的IP是否和自己的IP地址一致 如果不相同 就忽略此数据包 如果相同 该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中 如果ARP表中已经存在该IP的信息 则将其覆盖 然后给源主机发送一个ARP响应数据包 告诉对方自己是它需要查找的MAC地址 源主机收到这个ARP响应数据包后 将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中 并利用此信息开始数据的传输 如果源主机一直没有收到ARP响应数据包 表示ARP查询失败 7 2 6IP层协议实例 7 2IP协议及IP地址 RARP的工作原理 是反向ARP协议 即由硬件地址查找逻辑地址发送主机发送一个本地的RARP广播 在此广播包中 声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址 本地网段上的RARP服务器收到此请求后 检查其RARP列表 查找该MAC地址对应的IP地址 如果存在 RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用 如果不存在 RARP服务器对此不做任何的响应 源主机收到从RARP服务器的响应信息 就利用得到的IP地址进行通讯 如果一直没有收到RARP服务器的响应信息 表示初始化失败 7 2 6IP层协议实例 7 2IP协议及IP地址 ICMP协议 与IP协议同属于OSI的网络层 用于传送有关通信问题的消息 实现故障隔离和故障恢复 ICMP报文格式如下图所示 7 2 6IP层协议实例 类型 标识生成的错误报文 它是ICMP报文中的第一个字段 代码 进一步地限定生成ICMP报文 该字段用来查找产生错误的原因 校验和 存储了ICMP所使用的校验和值 未使用 保留字段 供将来使用 起值设为0 7 2IP协议及IP地址 ICMP协议提供的诊断报文类型如下表所示 7 2 6IP层协议实例 7 2IP协议及IP地址 实例分析ping这个名词源于声纳定位操作 目的是为了测试另一台主机是否可达 该程序发送一份ICMP回显请求报文给主机 并等待返回ICMP回显应答 ICMP回显请求和回显应答报文下图所示 7 2 6IP层协议实例 在主机100 0 6 46ping主机218 56 46 2 通过抓包工具进行抓图可以更加清晰的理解上面所讲内容 7 2IP协议及IP地址 实例分析 7 2 6IP层协议实例 图1PING回显请求与回显应答 图2Ping回显请求报文 图2Ping回显应答报文 7 2IP协议及IP地址 实例分析 7 2 6IP层协议实例 从上面图可以看出 正常情况下 ping回显请求与回显应答都是成对出现 使用的IP协议号为1 Ping回显请求报文的ICMP类型字段值为8 回显应答报文的ICMP类型字段值为0 TTL TimeToLive 为249 回显时延是通过包的时间戳字段相减得到 如下图显示第一个回显响应如何得到time值 同时 我们可以知道时延 time 为ping主机发送报文到被ping主机来回总共的时间 A Ping回显请求的时间戳 B Ping回显响应的时间戳Ping回显时延time 762 609 153ms 7 1 7 2 TCP IP概述 IP协议及IP地址 3 7 3 TCP协议 UDP协议 7 4 目录 7 3TCP协议 面向数据流虚电路连接有缓冲的传输无结构的数据流全双工连接 7 3 1TCP协议的特点 7 3TCP协议 顺序号 占32比特 用来标识从TCP源端向TCP目标端发送的数据字节流 它表示在这个报文段中的第一个数据字节的顺序号 确认号 占32比特 只有ACK标志为1时 确认号字段才有效 报头长度 占4比特 给出报头中32bit字的数目 它实际上指明数据从哪里开始 标志位 U A P R S F 占6比特 它们中的多个可同时被设置为1 URG 为1表示紧急指针有效 ACK 为1表示确认号有效 PSH 为1表示是带有PUSH标志的数据 指示接收方应该尽快将这个报文段交给应用层而不用等待缓冲区装满 RST 用于复位由于主机崩溃或其他原因而出现错误的连接 SYN 同步序号 为1表示连接请求 用于建立连接和使顺序号同步 FIN 释放一个连接 为1表示发送方已经没有数据发送了 即关闭本方数据流窗口大小 占16比特 此字段用来进行流量控制 紧急指针 占16比特 只有当URG标志置1时紧急指针才有效 7 3 2TCP报文结构 0151631 7 3TCP协议 TCP使用滑动窗口的机制来提高网络吞吐量 同时解决端到端的流量控制 滑动窗口技术是简单的带重传的肯定确认机制的一个更复杂的变形 它允许发送方在等待一个确认信息之前可以发送多个分组 如下图所示 窗口内包括8个分组的滑动窗口协议 收到对1号分组的确认信息后 窗口滑动 使得9号分组也能被发送 7 3 3TCP的流量控制 7 3TCP协议 TCP的建立连接三次握手过程 如图1所示 TCP的释放连接的四次握手过程 如图2所示 7 3 4TCP的建链全过程 图1TCP建立连接的三次握手过程 图2TCP释放连接的四次握手过程 7 3TCP协议 TCP的建立过程 7 3 5实例分析 图1TCP建立过程这三行的核心意思就是TCP协议的三次握手 图2TCP建链过程一 请求端22号机 100 0 5 22 发送一个初始序号 SEQ 3265668752给服务器101号机 59 151 21 101 在主机100 0 5 22上通过web页面访问 并通过sniffer抓包分析一下TCP的工作过程 7 3TCP协议 TCP的建立过程 7 3 5实例分析 图3TCP建链过程二 服务器101号机收到这个序号后 将此序号加1值为3265668753作为应答信号 ACK 同时随机产生一个初始序号 SEQ 2802975878 这两个信号同时发回到请求端22号机 图4TCP建链过程三 请求端22号机收到后将确认序号设置为服务器的初始序号 SEQ 2802975878加1为作为2802975879应答信号 7 3TCP协议 7 3 5实例分析 图5数据传输过程 是数据传输过程中一个发送一个接收的过程 TCP提供一种面向连接的 可靠的字节流服务

温馨提示

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

评论

0/150

提交评论