河北快3

排行榜 -

您的位置:河北快3 > ppt下载 > PPT课件 > 课件PPT > tcp ip协议详解ppt

tcp ip协议详解ppt下载

素材预览

tcp ip协议详解ppt

这是tcp ip协议详解ppt,包括了TCP/IP协议栈的结构以及各层功能,IP地址,IP互联原理,IP协议特点,IP地址的格式,IP地址的定义,IP地址分类,特殊IP地址,子网掩码,IP数据报格式,IP数据报各字段的功能,IP数据报分片与重组,IP数据报选项,TCP/UDP等内容,欢迎点击下载。

tcp ip协议详解ppt是由红软PPT免费下载网推荐的一款课件PPT类型的PowerPoint。

主要内容 2.1、TCP/IP协议栈的结构以及各层功能 2.2、IP地址 2.2.1 IP互联原理 2.2.2 IP协议特点 2.2.3 IP地址的格式 2.2.4 IP地址的定义 2.2.5 IP地址分类 2.2.6 特殊IP地址 2.2.7 子网掩码 2.3 IP数据报格式 2.3.1 IP数据报各字段的功能 2.3.2 IP数据报分片与重组 2.3.3 IP数据报选项 2.4、TCP/UDP 2.1TCP/IP协议栈的结构 2.1TCP/IP协议栈的结构 2.1TCP/IP协议栈的结构 2.1TCP/IP协议栈的结构 2.1.1物理层 2.1.1物理层 物理层位于OSI参考模型的最底层,它直接面向实际承担数据传输的物理媒体(即信道)。物理层的传输单位为比特。物理层是指在物理媒体之上为数据链路层提供一个原始比特流的物理连接。物理层协议规定了与建立、维持及断开物理信道所需的机械的、电气的、功能性的和规程性的特性。其作用是确保比特流能在物理信道上传输。 2.1.1物理层 物理层的功能 为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体连接而成.一次完整的数据传输,包括激活物理连接,传送数据,终止物理连接. 传输数据.物理层要形成适合数据传输需要的实体,为数据传送服务.一是要保证数据能在其上正确通过,二是要提供足够的带宽(带宽是指每秒钟内能通过的比特(BIT)数),以减少信道上的拥塞.传输数据的方式能满足点到点,一点到多点,串行或并行,半双工或者全双工,同步或异步传输的需要 . 2.1.1物理层 常见的物理层接口 10M以太网接口 100M以太网接口 1000M以太网接口 2.1.1物理层 10M以太网接口 10Base-T 目前使用最广泛的局域网标准之一 使用双绞线作为物理传输介质 10Base5 曾经广泛应用于主干局域网 使用粗同轴电缆作为物理传输介质 10Base2 使用细同轴电缆作为物理传输介质 2.1.1物理层 10Base-T的物理介质 3类双绞线 4类双绞线 5类双绞线 超5类双绞线 6类双绞线 2.1.1物理层 5类双绞线的线序 2.1.1物理层 100M以太网接口 100Base-TX 物理介质采用5类以上双绞线 网段长度最多100米 100Base-FX 物理介质采用单模光纤,网段长度可达10公里 物理介质采用多模光纤,网段长度最多2000米 快速以太网由IEEE 802.3u标准定义 2.1.1物理层 1000M以太网接口 1000Base-T 物理介质采用5类以上双绞线,网段长度最多100米 1000Base-F 物理介质采用多模光纤,网段长度最多500米 IEEE 802.3z和802.3ab 2.1.2 数据链路层 2.1.2 数据链路层 数据链路层是OSI参考模型的第二层,在物理层基础上向网络层提供服务 数据链路层为物理链路上提供可靠的数据传输 局域网的数据链路层协议有以太网、令牌环网等 广域网数据链路层协议有PPP、HDLC、Frame Relay等 2.1.2 数据链路层 数据链路层的功能 帧同步功能 差错控制功能 流量控制功能 链路管理功能 2.1.2 数据链路层 帧同步是指能够从接收到的比特流中明确地区分出数据帧的起始与终止的地方 常见帧同步的方法有: 字节计数法 字符填充的首尾定界符法 比特填充的首尾定界符法 违法编码法 2.1.2 数据链路层 流量控制和链路管理 流量控制功能不是只有数据链路层才提供 流量控制功能是控制发送方发送数据的速率 链路管理是指数据链路层连接的建立、维持和释放 2.1.2 数据链路层 LAN数据链路层标准 IEEE 802制定了系列局域网标准 IEEE802.3: 以太网 IEEE802.4:令牌总线 IEEE802.5:令牌环 IEEE802.11:无线局域网 IEEE802标准涵盖了物理层和数据链路层 2.1.2 数据链路层 WAN数据链路层标准 WAN服务通常由电信运营商提供 WAN数据链路层标准包括: HDLC PPP X.25 Frame Relay 2.1.2 数据链路层 数据链路层常见设备 交换机 2.1.3 网络层 2.1.3 网络层 地址是网络设备和主机的标识,网络中存在两种寻址方法: MAC地址: 是设备的物理地址,位于OSI参考模型的第2层,全网唯一标识,无级地址结构(一维地址空间),固化在硬件中,寻址能力仅限在一个物理子网中。 IP地址: 是设备的逻辑地址,位于OSI参考模型的第3层,全网唯一标识,分级地址结构(多维地址空间),由软件设定,具有很大的灵活性,可在全网范围内寻址。 2.1.3 网络层 ARP-地址解析协议 2.1.3 网络层 RARP-反向地址解析协议 2.1.3 网络层 ICMP协议 2.1.3 网络层 网络层常见物理设备 路由器 2.1.4 传输层 2.1.4 传输层 端口号 传输层协议用端口号来标识和区分各种上层应用程序 2.1.4 传输层 TCP连接 2.1.4 传输层 断开TCP连接 2.1.4 传输层 滑动窗口 2.1.5 应用层 2.2 IP地址 MAC地址 2.2 IP地址 IP地址 2.2.1 IP互联原理 面对一个由很多网络连接而成的互联网,在进行数据通信时,数据是如何从源端传输到目标端的呢?我们可以举一个日常生活中的例子来说明这个问题,下图所示的一个城市交通图。 2.2.1 IP互联原理 2.2.1 IP互联原理 在图中有六个城市,它们之间通过图中所示的公路相连,为了便于说明问题,我们对图中的公路进行了编号。 图中所示的城市交通图与多个网络连接而成的互联网是非常相似的,图中的一个城市相当于互联网中的一个网络,连接城市的公路相当于连接网络的介质,每条路上都有一个负责选路的路由器,这样我们可以把图中所示的交通图对应成下图所示的网络互联图。 2.2.1 IP互联原理 2.2.1 IP互联原理 前面在交通图中所述的两种不同送信(通信)过程,正好与网络互联的两种解决方案相对应。这两种网络互联方案是:面向连接的(Connect-oriented)和无连接的(Connectionless)。 面向连接的解决方案要求在通信的源端和目标端之间建立一条逻辑通路,一般称为虚电路(Virtual Circuit),源端和目标端之间通信时的所有信息都通过该通路传输,这与交通图中送信过程的第一种方式类似。这种方式看似简单,易于实现,但其最大的缺点是如果不能保证虚电路中沿途经过的节点都能可靠地发送数据,就可能使网络崩溃。由于互联网所连网络的复杂性和多样性,因而很难保证所有节点都能可靠地发送数据。 2.2.1 IP互联原理 无连接的互联网解决方案与交通图中送信过程的第二种方式类似,它在源端和目标端之间不建立一条逻辑通路,而送到网络中的每个分组带有完整的目标主机地址,收到分组的节点(主要是路由器)根据目标地址和当前网络状况(如通信量等),选择一条合适的线路把分组发送到接近目标端的下一个节点,通过多个节点的转发,最终把分组送达目标节点。使用这种方式时,由源端顺序送出的各分组,由于每个分组在网络中可能经过不同的路径到达目标端,所以先发出的分组不一定就先到达目标端,另外,也不能保证每个分组都能可靠地到达目标端。 2.2.1 IP互联原理 无连接方式的优点是显而易见的,源端和目标端之间的通信可以通过多条通路进行,而不依赖于某一条通路,因此可靠性和通信效率高。另外,这种方式实现起来也比较简单,适合于异构网络的互联,因此被很多网络厂商所使用。Internet使用的就是这种无连接的方式,由IP协议来实现。 2.2.1 IP互联原理 利用信息隐蔽原理,在互联网中把不同网络的实现细节通过IP层隐藏起来,达到在网络层逻辑上一致的目的,如下图所示。 2.2.1 IP互联原理 2.2.2 IP协议特点 1)IP协议是一种无连接(Connectionless)不可靠(Unreliable)的数据报传输协议。 2)IP互联网中的计算机没有主次之分,所有主机地位平等(因为惟一标识它们的是IP地址),当然从逻辑上来说,所有网络(不管规模大小)也没有主次之分。 3) IP互联网没有确定的拓扑结构。 2.2.2 IP协议特点 4)在IP互联网中的任何一台主机,都至少有一个独一无二的IP地址,有多个网络接口卡的计算机每个接口可以有一个IP地址,这样一台主机可能就有多个IP地址。有多个IP地址的主机叫多宿主机(Multi-home Host)。 5)在互联网中有IP地址的设备不一定就是一台计算机,如IP路由器、网关等,因为与互联网有独立连接的设备都要有IP地址。 2.2.3 IP地址的格式 IP地址的组成: IP地址长度: 32bits(4个字节),组成: 网络地址(Network ID)— 标识主机所在的网络 主机地址(Host ID)— 标识在该网络上的主机 2.2.3 IP地址的格式 IP地址的表示: 每个字节以十进制数表示,4个十进制数之间用小数点区分。 2.2.3 IP地址的格式 二进制与十进制的转化 2.2.4 IP地址的定义 所有的IP地址都由国际组织NIC(Network Information Center)负责统一分配,目前全世界共有三个这样的网络信息中心: INTERNIC:负责美国及其它地区 RIPE-NIC:负责欧洲地区 APNIC:负责亚太地区,总部设在日本东京大学 2.2.4 IP地址的定义 IP地址介绍 IP地址唯一标示一台网络设备 公共地址(Public Address) 在一个公共性网络上传输数据,必须使用公共地址,这些地址在网上是唯一的。 如Internet上,需向ISP申请分配公共地址,各ISP都要从更上一层的地址注册机构申请。 2.2.4 IP地址的定义 私有地址(Private Address) 不能直接与Internet连接的地址,解决公共地址短缺的问题,RFC 1918规定了3种私有地址: 1个A类地址:10.0.0.0 16个B类地址:172.16.0.0到172.31.0.0 256个C类地址:192.168.0.0到192.168.255.0 内部网使用,通过代理(Proxy)或网络地址翻译(Network Address Translation)等系统将私有地址转换成公共地址,从而连接到Internet。 2.2.5 IP地址分类 2.2.5 IP地址分类 2.2.6 特殊IP地址 1、网络地址: 主机标识位全部为0的地址从不分配给单个主机,而是作为网络本身的标识。 例如:主机 212.111.44.136所在网络的网络地址为 212.111.44.0。 2.2.6 特殊IP地址 2.2.6 特殊IP地址 2、直接广播地址: 主机标识位全部为1的地址从不分配给单个主机,而是作为同网络的广播地址,例如:主机 212.111.44.136所在网络的广播地址为 212.111.44.255。 一台主机可以用直接广播地址向任何指定的网络直接广播它的分组报文,即使发送和接站点不在同一个子网内,也可以用广播地址向某个子网上所有的主机广播信息。每台主机和路由器等设备都会接收和处理目的地址为本网广播地址的分组报文。 2.2.6 特殊IP地址 2.2.6 特殊IP地址 子网广播地址: 主机标识位全部为1,有特定子网号的地址。 例如:目的子网掩码为255.255.255.0, IP地址为192.168.1.255就是一个子网广播地址 。 2.2.6 特殊IP地址 2.2.6 特殊IP地址 全子网广播地址: 子网标识位和主机标识位全部为1。 例如:目的子网掩码为255.255.0.0, IP地址为128. 1. 255. 255就是一个全子网广播地址 。 2.2.6 特殊IP地址 2.2.6 特殊IP地址 2.2.6 特殊IP地址 受限广播地址 (255.255.255.255) 有限广播地址被用在本网络内部广播,这样的数据报仅出现在本地网络中,所有路由器不转发该目的地址的数据报,主机在不知道自己的网络地址的情况下,使有限广播地址也可以向本子网上所有的其它主机发送消息。 2.2.6 特殊IP地址 2.2.6 特殊IP地址 2.2.6 特殊IP地址 2.2.6 特殊IP地址 特殊IP地址 2.2.6 特殊IP地址 IP地址使用原则 网络号 不能全为 1和全为0 主机号 不能全为1和全为 0,全为1时表示广播 网络号在INTERNET中网络号是唯一 主机号 对于本地网络中 来说是唯一 255.255.255.255表示广播地址 10.0.0.0/8、172.16.0.0/16--172.31.0.0/16、192.168.0.0/16为私有地址 2.2.7 子网掩码 1、掩码技术的提出 IP地址最初使用两层地址结构(包括网络地址和主机地址),在这种结构中A类和B类网络所能容纳的主机数非常庞大,但使用C类IP地址的网络只能接入254台主机。因此,人们提出了三层结构的IP地址,把每个网络可以进一步划分成若干个子网(Subnet),子网内主机的IP地址由三部分组成,如下图所示,把两级IP地址结构中的主机地址分割成子网地址和主机地址两部分。 2.2.7 子网掩码 2.2.7 子网掩码 2、子网掩码 对于划分了子网的网络,子网地址是由两级地址结构中主机地址的若干位组成的,具体子网所占位数的多少,要根据子网的规模来决定。如果一个网络内的子网数较少,而子网内主机数较多,就应该把两级地址结构中主机地址的大部分位分配给子网内的主机,少量位用来表示子网号。那么,究竟在一个IP地址中哪些位用来表示网络号,哪些位用来表示子网号,以及哪些位用来表示主机号呢,这就要使用子网掩码(Subnet Mask)来标识。 2.2.7 子网掩码 区分IP地址的网络ID和主机ID。用连续的“1”表示IP地址网络ID,用连续的“0”表示主机ID,如: 11111111.11111111.11111111.00000000,我们平时使用时用255.255.255.0进行表示。 区分是本地主机还是远程主机,本地主机发送不经过路由器,若是远程主机则将请求发送到路由器。 说明:子网掩码的简写形式:在IP地址后面加上“/n”,n为子网掩码中“1”的位数,如192.168.0.1/24。 2.2.7 子网掩码 2.2.7 子网掩码 缺省掩码 A类地址 255.0.0.0 B类地址 255.255.0.0 C类地址 255.255.255.0 2.2.7 子网掩码 2.2.7 子网掩码 2.2.7 子网掩码 2.2.7 子网掩码 2.2.7 子网掩码 2.2.7 子网掩码 3、子网划分 将网络进一步划分成独立的组成部分,每个部分称为这个网络(或者更高一级子网)的子网。子网的设计是为了便于网络的管理。 对于A类和B类的地址可以把一个大网划分成几个子网,每个子网可以对应一个地理范围或者区域,每个子网也可以对应一种不同的物理介质。 划分子网以后,每个子网看起来象一个独立的网络。而对于远程网络而言,子网是透明的。 2.2.7 子网掩码 根据地理分布特点划分子网 易于组网技术的实现 节约经费 根据网络应用特点划分 将共享相同网络资源的主机划分成一个子网,可减少子网间的网络传输流量,提高网络性能。 将具有相同安全密级程度的主机划分为同一个子网,保障系统的安全。 2.2.7 子网掩码 原则: 将主机号借给网络号,作为子网号使用。 公式: 划分子网的个数:2n-2 ,n是网络位向主机位所借的位数 每个子网的主机数:2m-2 ,m是借位后所剩的主机位数。 2.2.7 子网掩码 划分子网举例1 2.2.7 子网掩码 2.2.7 子网掩码 4、子网设计举例 某公司组建在青岛设立总公司,在北京、上海分别设立了分公司,在三地都已组建了局域网,计算机都在10台以下。今申请了一段202.162.0.0/24网段的地址,如何确保三地的局域网内的计算机能够通信,局域网之间的计算机也能够通信? 。 2.2.7 子网掩码 划分原则: 一个C类地址子网划分可借位数在2-6位之间。 每种子网划分方案中有2个子网地址不可分配(子网地址=全0,子网地址=全1) 每个子网中至少有2个主机地址不可分配,(主机地址 = 全0,主机地址 = 全1) 例:3个子网,需借3位,共有23-2 = 6个有效子网 每个子网中最多可有25-2 = 30台主机地址 2.2.7 子网掩码 2.2.7 子网掩码 2.2.7 子网掩码 2.2.7 子网掩码 2.2.7 子网掩码 进行划分子网 2.2.8 IP地址总结 2.2.8 IP地址总结 2.2.8 IP地址总结 2.2.8 IP地址总结 2.2.8 IP地址总结 2.2.8 IP地址总结 2.2.8 IP地址总结 2.2.8 IP地址总结 2.2.8 IP地址总结 2.3 IP数据报格式 2.3.1 IP数据报各字段的功能 IP数据报中的每一个域包含了IP报文所携带的一些信息,正是用这些信息来完成IP协议功能的,现说明如下。 1.版本号 2.头长度 3.服务类型(TOS,Type Of Service) 服务类型用8位二进制数表示,规定对本数据报的处理方式。服务类型字段的8位分成了5个子域,如图2-10所示。 (1) 优先权:占0~2位,这3位二进制数表示的数据范围为000~111(0~7)。 2.3.1 IP数据报各字段的功能 2.3.1 IP数据报各字段的功能 (2) 短延迟位D(Delay):该位被置1时,数据报请求以短延时信道传输,0表示正常延时。 (3) 高吞吐量位T(Throughput):该位被置1时,数据报请求以高吞吐量信道传输,0表示普通。 (4) 高可靠性位R(Reliability):该位被置1时,数据报请求以高可靠性信道传输,0表示普通。 (5) 保留位:第6和第7位,目前未用,但需置0。应注意在有些实现中,可以使用第6位表示低成本。 对不同应用,TOS的建议数据值列于下表中 2.3.1 IP数据报各字段的功能 2.3.1 IP数据报各字段的功能 4.总长度 总长度用16位二进制数表示,总长度字段是指整个IP数据报的长度,以字节为单位。 5.生存时间(TTL,Time To Live) 生存时间用8位二进制数表示,它指定了数据报可以在网络中传输的最长时间。在实际应用中为了简化处理过程,把生存时间字段设置成了数据报可以经过的最大路由器数。TTL的初始值由源主机设置(通常为32、64、128或者256),一旦经过一个处理它的路由器,它的值就减去1。当该字段的值减为0时,数据报就被丢弃,并发送ICMP报文通知源主机,这样可以防止进入一个循环回路时,数据报无休止地传输。 2.3.1 IP数据报各字段的功能 6.上层协议标识 上层协议标识用8位二进制数表示,IP协议可以承载多种上层协议,目标端根据协议标识,就可以把收到的IP数据报送至TCP或UDP等处理此报文的上层协议。下表给出了常用的网际协议编号。 2.3.1 IP数据报各字段的功能 2.3.1 IP数据报各字段的功能 7.校验和 校验和用16位二进制数表示,这个域用于协议头数据有效性的校验,可以保证IP报头区在传输时的正确性和完整性。 8.源地址 源地址是用32位二进制数表示的发送端IP地址。 9.目的地址 目的地址是用32位二进制数表示的目的端IP地址。 2.3.2 IP数据报分片与重组 1. 最大传输单元MTU 下表列出了几种常用网络的MTU值。 2.3.2 IP数据报分片与重组 2. 分片 下图所示的一个IP数据报(假设数据区长度为1500字节)被分成了三个IP数据报 2.3.2 IP数据报分片与重组 2.3.2 IP数据报分片与重组 分片后的IP数据报,其数据区是原IP数据报数据区的一个连续部分(一段),头部是原IP数据报头部的复制,但与原来未分片的IP数据报头部有两点主要不同:标志和片偏移。 1) 标志:在IP数据报的头部,有一个叫标志的字段,用3位二进制数表示,如下图所示 2.3.2 IP数据报分片与重组 2)片偏移: 在上例中,IP数据报被分成3片之后,各片数据区在原来IP数据区中的位置用13位片偏移表示。 3.重组 当分了片的IP数据报被传输到最终目标主机时,目标主机要对收到的各分片重新进行组装,以恢复成源主机发送时的IP数据报,这个过程叫IP数据报的重组。 在IP数据报头部中,标识用16位二进制数表示,它惟一地标识主机发送的每一份数据报。 2.3.2 IP数据报分片与重组 目标端主机重组数据报的原理是:根据标识可以确定收到的分片属于原来哪个IP数据报;根据标志字段的片未完MF子字段可以确定分片是不是最后一个分片;根据偏移量就可以确定分片在原数据报中的位置。 2.3.3 IP数据报选项 IP数据报选项主要有两大功能:一是可以用来实现对数据报传输过程的控制,如规定数据报要经过的路由;二是进行网络测试,如一个数据报传输过程中经过了哪些路由器。 IP选项域共分为四大类,如下表所示。 2.3.3 IP数据报选项 2.3.3 IP数据报选项 IP数据报选项由三个部分组成:选项码、选项长度和选项数据,如下图所示。 2.3.3 IP数据报选项 1)复制:占1位,用来控制一个带有选项的IP数据报被分片后对选项的处理方式。如果该位被置1,将选项复制到所有分片中;被置0,将选项仅复制到第一个分片中。 2) 选项类和选项号:选项类占2位,选项号占5位,用于确定该选项是哪类选项中的哪个选项,其实就是用于确定该选项的功能,可参见上表。 2.3.3 IP数据报选项 1.源路由选择 所谓源路由选择(Source Routing),是指IP数据报在互联网中传输时,所经过的路由是由发出IP数据报的源主机指定的,以区别于数据报在互联网中传输时由路由器的IP层自动寻径所得到的路由。 通过设置源路由选择选项,可以测试网络中指定路由的连通性,以使数据报绕开出错的网络,也可用于测试特定网络的吞吐量。源路由选择分为两类,一类是严格源路由选择(Strict Source Routing),另一类是宽松源路由选择(Loose Source Routing)。 2.3.3 IP数据报选项 1)严格源路由选择。严格源路由选择选项格式如下图所示。 2)宽松源路由选择。 2.3.3 IP数据报选项 2.3.3 IP数据报选项 2.记录路由 3.记录时间戳 时间戳选项的格式与源路由选择选项类似,如下图所示。 2.3.3 IP数据报选项 2.3.3 IP数据报选项 时间戳选项的选项码为0x44。选项长度表示选项的总长度(一般为36或40),指针指向下一个可用空间的指针(值为5、9、13等)。 接下来的两个字段各占4位:溢出字段OF(Over Flow)表示因时间戳选项数据区空间不够而未能记录下来的时间戳个数;标志字段FL用于控制时间戳选项的格式,其值的含义如下表所示。 2.3.3 IP数据报选项 2.3.3 IP数据报选项 时间戳选项提供了IP数据报传输中的时域参数,可用于分析网络吞吐量、拥塞情况和负载情况等。 在ping网络命令中提供了对严格源路由选择、宽松源路由选择和记录时间戳的支持,读者可以使用ping的帮助信息来查看这些参数。使用ping命令的这些功能,可以帮助读者理解IP数据报头选项。 最后要说明,并非所有的主机和路由器都支持这些选项。另外,如果一个选项字段不是以32位二进制数为界限的,则要在最后插入值为0的填充字符。这样就保证了IP头部始终是32位二进制的整数倍,这是因为头部长度是以32位二进制数为计数单位的。 2.4 传输层协议TCP/UDP TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。 TCP提供IP环境下的数据可靠传输,它提供的服务包 括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道, 然后再进行数据发送; UDP则不为IP提供可靠性、流控或差错恢复功能。 一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求 低、传输经济的应用。 2.4.1端到端通信和端口号 端到端通信 在互联网中,任何两台通信的主机之间,从源端到目标端的信道都是由一段一段的点到点通信线路组成的(一个局域网中两台主机通信时只有一段点到点的线路)。如下图所示。 2.4.1端到端通信和端口号 2.4.1端到端通信和端口号 点到点通信是由网络互联层来实现的,网络互联层只屏蔽了不同网络之间的差异,构建了一个逻辑上的通信网络,因此它只解决了数据通信问题。 端到端通信是建立在点到点通信基础之上的,它是比网络互联层通信更高一级的通信方式,完成应用程序(进程)之间的通信。端到端的通信是由传输层来实现的。 2.4.1端到端通信和端口号 传输层端口 为了识别传输层之上不同的网络通信程序(进程),传输层引入了端口的概念。在一台主机上,要进行网络通信的进程首先要向系统提出动态申请,由系统(操作系统内核)返回一个本地惟一的端口号,进程再通过系统调用把自己和这个特定的端口联系在一起,这个过程叫绑定(Binding)。这样,每个要通信的进程都与一个端口号对应,传输层就可以使用其报文头中的端口号,把收到的数据送到不同的应用程序,如下图所示。 2.4.1端到端通信和端口号 2.4.1端到端通信和端口号 在TCP/IP协议中,传输层使用的端口号用一个16位的二进制数表示。因此,在传输层如果使用TCP协议进行进程通信,则可用的端口号共有216个。由于UDP也是传输层一个独立于TCP的协议,因此使用UDP协议时也有216个不同的端口。 一些常用服务的TCP和UDP的众所周知端口号见下表 2.4.1端到端通信和端口号 2.4.1端到端通信和端口号 2.4.1端到端通信和端口号 256~1023之间的端口号通常都是由Unix系统占用的,以提供一些特定的Unix服务。现在IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)管理1~1023之间所有的端口号。任何TCP/IP实现所提供的服务都使用1~1023之间的端口号。 客户端口号又称为临时端口号(即存在时间很短暂)。这是因为客户端口号是在客户程序要进行通信之前,动态地从系统申请的一个端口号,然后以该端口号为源端口,使用某个众所周知的端口号为目标端口号(如在TCP协议上要进行文件传输时使用21)进行客户端到服务器端的通信。 综上所述,我们知道两台要通信的主机,每一端要使用一个二元地址(IP地址,端口号)才可以完成它们之间的通信。 2.4.2用户数据报协议UDP UDP数据报的封装及其格式 UDP协议在工作时是建立在IP协议之上的,UDP从进程的缓冲区接收进程每一次产生的输出,对每次输出都生成一个UDP数据报,然后把生成的UDP数据报直接封装在IP数据报中进行传输,因此在传输层使用UDP协议时,发送端不需要发送缓冲区,如下图所示。 2.4.2用户数据报协议UDP 2.4.2用户数据报协议UDP 被封装在IP中的UDP数据报通过网络传输到目标主机的IP层后,由目标主机的UDP层根据目标端口号送到接收该数据的相应进程。UDP数据报的格式如下图所示。 2.4.2用户数据报协议UDP 2.4.2用户数据报协议UDP UDP协议的特点 从UDP协议的数据报格式可以看出,UDP对数据的封装非常简单,主要是增加了端口号与校验和,然后就可以直接通过IP层进行传输了,因此它具有以下特点: 1)UDP是一种无连接、不可靠的数据报传输服务协议。 2)UDP对数据传输过程中惟一的可靠保证措施是进行差错校验,如果发生差错,则只是简单地抛弃该数据报。 3)如果目标端收到的UDP数据报中的目标端口号不能与当前已使用的某端口号匹配,则将该数据报抛弃,并发送目标端口不可达的ICMP差错报文。 2.4.2用户数据报协议UDP 4)UDP协议在设计时的简单性,是为了保证UDP在工作时的高效性和低延时性。因此,在服务质量较高的网络中(如局域网),UDP可以高效地工作。 5)UDP常用于传输延时小,对可靠性要求不高,有少量数据要进行传输的情况,如DNS(域名服务)、TFTP(简单文件传输)等。 2.4.3传输控制协议TCP TCP报文段格式 TCP报文段(常称为段)与UDP数据报一样也是封装在IP中进行传输的,只是IP报文的数据区为TCP报文段。TCP报文段的格式如下图所示。 2.4.3传输控制协议TCP 2.4.3传输控制协议TCP 1.TCP 源端口号 TCP源端口号长度为16位,用于标识发送方通信进程的端口。目标端在收到TCP报文段后,可以用源端口号和源IP地址标识报文的返回地址。 2.TCP目标端口号 TCP目标端口号长度为16位,用于标识接收方通信进程的端口。源端口号与IP头部中的源端IP地址,目标端口号与目标端IP地址,这4个数就可以惟一确定从源端到目标端的一对TCP连接。 2.4.3传输控制协议TCP 3.序列号 序列号长度为32位,用于标识TCP发送端向TCP接收端发送数据字节流的序号。 4.确认号 确认号长度为32位。 5.头部长度 该字段用4位二进制数表示TCP头部的长短,它以32位二进制数为一个计数单位。TCP头部长度一般为20个字节,因此通常它的值为5。 2.4.3传输控制协议TCP 6.保留 保留字段长度为6位,该域必须置0,准备为将来定义TCP新功能时使用。 7.标志 标志域长度为6位,每1位标志可以打开或关闭一个控制功能,这些控制功能与连接的管理(3.3.2小节讲述)和数据传输控制有关,其内容如下所述: URG:紧急指针标志,置1时紧急指针有效。 ACK:确认号标志,置1时确认号有效。如果ACK为0,那么TCP头部中包含的确认号字段应被忽略。 2.4.3传输控制协议TCP PSH:push操作标志,当置1时表示要对数据进行push操作。 RST:连接复位标志,表示由于主机崩溃或其他原因而出现错误时的连接。 SYN:同步序列号标志,它用来发起一个连接的建立,也就是说,只有在连接建立的过程中SYN才被置1。 FIN:连接终止标志,当一端发送FIN标志置1的报文时,告诉另一端已无数据可发送,即已完成了数据发送任务,但它还可以继续接收数据。 2.4.3传输控制协议TCP 8.窗口大小 窗口大小字段长度为16位,它是接收端的流量控制措施,用来告诉另一端它的数据接收能力。 9.校验和 校验和字段长度为16位,用于进行差错校验。校验和覆盖了整个的TCP报文段的头部和数据区。 2.4.3传输控制协议TCP 10.紧急指针 紧急指针字段长度为16位,只有当URG标志置1时紧急指针才有效,它的值指向紧急数据最后一个字节的位置(如果把它的值与TCP头部中的序列号相加,则表示紧急数据最后一个字节的序号,在有些实现中指向最后一个字节的下一个字节)。 11.选项 选项的长度不固定,通过选项使TCP可以提供一些额外的功能。每个选项由选项类型(占1个字节)、该选项的总长度(占1个字节)和选项值组成,如下图所示。 2.4.3传输控制协议TCP 2.4.3传输控制协议TCP 12.填充 填充字段的长度不定,用于填充以保证TCP头部的长度为32位的整数倍,值全为0。 2.4.3传输控制协议TCP TCP连接的建立与关闭 TCP是一个面向连接的协议,TCP协议的高可靠性是通过发送数据前先建立连接,结束数据传输时关闭连接,在数据传输过程中进行超时重发、流量控制和数据确认,对乱序数据进行重排以及前面讲过的校验和等机制来实现的。 TCP在IP之上工作,IP本身是一个无连接的协议,在无连接的协议之上要建立连接,对初学者来说,这是一个较难理解的一个问题。 2.4.3传输控制协议TCP 1. 建立连接 TCP使用“三次握手”(3-way Handshake)法来建立一条连接。所谓三次握手,就是指在建立一条连接时通信双方要交换三次报文。具体过程如下。 2.关闭连接 由于TCP是一个全双工协议,因此在通信过程中两台主机都可以独立地发送数据,完成数据发送的任何一方可以提出关闭连接的请求。关闭连接时,由于在每个传输方向既要发送一个关闭连接的报文段,又要接收对方的确认报文段,因此关闭一个连接要经过4次握手。 2.4.3传输控制协议TCP 连接建立和关闭的过程可以用下图表示,该图是通信双方正常工作时的情况。关闭连接时,图中的u表示服务器已收到数据的序列号,v表示客户机已收到数据的序列号。 2.4.3传输控制协议TCP 2.4.3传输控制协议TCP TCP的流量控制和拥塞控制机制 下面我们来看一个实例,下图是主机1和主机2使用TCP协议在实际通信时的时序图。 2.4.3传输控制协议TCP 2.4.3传输控制协议TCP 在上图中,主机1连续发送了两个报文段4和5,其长度都为1024个字节,这两个报文段的数据用来填充接收方(主机2)所通知的窗口,由于主机2通知的窗口大小只有2048个字节,这时主机2的缓冲区已经被填满,因此主机1停下来等待一个主机2的确认。 发送端发送数据的过程是如何受到接收方控制的,这可以用下图表示。报文段2通知的窗口大小为2048个字节,因此主机1的前两个1024个字节的数据块落入窗口内,如下图(a)所示,窗口内的数据是可以立即发送的数据。下图 (b)是上图中主机1发送了报文段4和5后的情况,窗口内的数据已发送完毕(用灰色表示),主机1只能等待。 2.4.3传输控制协议TCP 下图 (c)是主机2收到前2048个字节发送了确认报文段6窗口右移后的情况,由于报文段6通知的接收方窗口大小只有1024个字节,因此只有一个1024个字节的数据块落入窗口内。下图(d)是主机1对主机2发送了报文段7后的情况,这时窗口内的数据已发送完毕,主机又进入等待状态。图3-9中确认报文段8对收到的前3072个字节进行了确认,但通知的窗口大小为0,如下图(e)所示,这时窗口的左边沿到达右边沿,即窗口的长度变为0,称其为一个0窗口,此时发送方不能再发送任何数据,只能等待。等待一段时间后,由于主机2的应用进程从TCP缓冲区中读走了2048个字节的数据,因此由窗口更新报文段9通知的窗口大小为2048个字节,如下图(f)所示,这时主机1又可以发送数据了。 2.4.3传输控制协议TCP 2.4.3传输控制协议TCP 上述流量控制策略中,使用接收方通知的一个窗口大小来控制数据的发送,窗口的起始点为接收方确认号,终止于窗口长度,只有落在窗口内的数据可以发送。 为了解决网络拥塞问题,发送方又引入了另外一个窗口,叫拥塞窗口(Congestion Window),拥塞窗口被初始化为1个报文段的长度(即另一端通知的最大报文段长度为MSS)。在建立连接时,发送方只发送一个长度为MSS的报文段,正常收到确认后,拥塞窗口就增大为2MSS,即为原来拥塞窗口长度的两倍,然后发送两个MSS长度的报文段。 2.4.3传输控制协议TCP TCP的超时重发机制 TCP协议提供的是可靠的运输层。前面我们已经看到,接收方对收到的所有数据要进行确认,TCP的确认是对收到的字节流进行累计确认。发送TCP报文段时,头部的“确认号”就指出该端希望接收的下一个字节的序号,其含义是在此之前的所有数据都已经正确收到,请发送从确认号开始的数据。 TCP的确认方式有两种:一种是利用只有TCP头部,而没有数据区的专门确认报文段进行确认;另一种是当通信双方都有数据要传输时,把确认“捎带”在要传输的报文段中进行确认,因此TCP的确认报文段和普通数据报文段没有什么区别。 2.4.3传输控制协议TCP 在TCP协议层实现超时重发的关键问题是超时重送的策略,即怎样决定超时间隔和如何确定重发的频率。显然使用固定大小的超时间隔有很大的不足之处。 一个好的实现超时重发的方案应该是超时间隔可以随网络的通信状况而自动调整,即超时间隔应具有一定的自适应性。这种动态调整超时间隔的方法与一条连接从发送端发出数据到收到确认所需的往返时间RTT(Round Trip Time)有关。 具体实现时,可以在每条连接上保持一个叫RTT的变量,发送一个TCP报文段的同时启动定时器,收到确认后计算出本次的RTT值(下面用M表示),然后根据下面的公式求出新的RTT加权平均值: 2.4.3传输控制协议TCP 计算RTT: RTT=α×RTT+(1−α)×M 计算重发超时间隔RTO(Retransmission Time Out): RTO=RTT×β α和β都是加权因子,α(0≤α≤1)决定本次传输的TCP报文段对往返时间RTT的影响程度。α比较大时,RTT主要由历史数据确定;α比较小时,RTT紧跟当时的延迟而变化。β的推荐值为2,也就是说,当等待到2倍的加权平均往返时间后还没有收到确认就重发数据。β取值接近1时,显然超时间隔比较短,它的优点是可以减少等待时间,但可能引起一些不必要的重发;β取值比较大时,可能因等待时间太长而降低了网络的通信效率。 2.4.3传输控制协议TCP THANKS!

推荐PPT

PPT分类Classification

Copyright:2009-2015 cfhkfn4y.com Corporation,All Rights Reserved 红软PPT免费下载网版权所有

粤ICP备14102101号