专题-下一代互联网协议IPv6详解课件

上传人:痛*** 文档编号:240925401 上传时间:2024-05-18 格式:PPT 页数:114 大小:3.26MB
返回 下载 相关 举报
专题-下一代互联网协议IPv6详解课件_第1页
第1页 / 共114页
专题-下一代互联网协议IPv6详解课件_第2页
第2页 / 共114页
专题-下一代互联网协议IPv6详解课件_第3页
第3页 / 共114页
点击查看更多>>
资源描述
下一代互联网协议IPv6为什么引入IP-实现网络互连异构性(Heterogeneity)不同网络的主机能够进行通信,包括以太网、802.11无线局域网、令牌环网、点对点链路等编址方案、媒介访问协议、服务模型等不同可扩展性(Scale)网络规模不断扩大几百万甚至几十亿个节点互连寻址(寻址(Addressing)路由选择(路由选择(Routing)移动管理(移动管理(Mobility)服务质量管理(服务质量管理(QoS)安全安全IP服务模型IP提供的是尽力传送服务(best-effort)无连接,分组携带足够的信息能使网络将分组传送到目的地不保证分组可靠到达目的地,可能出现分组的丢失,乱序路由器路由器设计原则:使网络尽可能的简单设计原则:使网络尽可能的简单端系统端系统端系统端系统Internet寻址寻址模型应用进程应用进程(与端口号关联)(与端口号关联)端口号(端口号(16bits)IP地址地址(32或者或者128bits)链路地址链路地址(MAC地址为地址为48bits)发送数据的地址或者端口包括发送数据方的源地址或者源端口,接收数据方的目的地址或发送数据的地址或者端口包括发送数据方的源地址或者源端口,接收数据方的目的地址或者目的端口者目的端口端口:在主机上标识应用进程,由程序或者系统指定端口:在主机上标识应用进程,由程序或者系统指定IP地址:标识地址:标识Internet上的某台主机,由程序或者系统指定上的某台主机,由程序或者系统指定链路地址(链路地址(MAC地址):标识链路上的某个接口设备,目的地址):标识链路上的某个接口设备,目的MAC地址由地址由ARP(IPv4)或)或者邻机发现机制(者邻机发现机制(IPv6)获得)获得路由器路由器 IPv4的可扩展性问题IPv4地址长度为32比特,理论上IPv4地址的最大数量为232-1,大约为43亿32 bits网络号(网络号(NET)主机号(主机号(HOST)101010100101010100110011110011008 bits1708551204十进制表示十进制表示(W.X.Y.Z)二进制表示二进制表示IPv4的可扩展性问题IPv4单播地址采用分类的方式进行分配IP地址中网络号或主机号为全0或全1的一般用做特殊处理,不用来标识网络或主机(128 191)(192 223)Class AClass BClass C(0127)Class DClass E(224-239)(240-247)HOSTHOSTHOSTNETHOSTHOSTNETNETHOST0 NET 10 NET 110 NET 播播地地留留地地1110 11110 保保 组组址址址址单播单播地址地址随着越来越多的设备接入随着越来越多的设备接入Internet,IPv4地址资源出现衰竭迹地址资源出现衰竭迹象,有人预测到象,有人预测到2010年年IPv4地址将耗尽地址将耗尽IPv4的可扩展性问题解决方案采用层次结构DHCP划分子网无类别域间寻路网络地址转换基本思想:基本思想:为提高为提高IP地址的利用率,对地址的利用率,对IP地址进行汇聚,以减少路由协议地址进行汇聚,以减少路由协议中路由选择消息携带的和路由器的路由表中储存的网络号的数中路由选择消息携带的和路由器的路由表中储存的网络号的数量量最终的解决方案是采用最终的解决方案是采用IPv6无类别域间寻路前缀汇聚:Prefix Aggregation具有相同前缀的多个连续的CIDR Block可以汇聚成一个更短前缀路由16个连续的/24的CIDR Block可以汇聚成一条/20的路由IPv4无类别域间路由表设置路由表结构在CIDR中,如果路由器上的路由表中有多条表项满足要求,则采用前缀最长匹配规则目的网目的网络下一跳下一跳128.96.0.0/16R0128.96.192.0/18R1128.96.128.0/18R2IPv4网络地址转换网络地址转换NAT:Network Address Translation实现网络内的多台主机共享一个全局的IP地址根据作用范围的不同,分两种IP地址全局IP地址:Internet上的分组转发,要求Internet范围内唯一私有IP地址:指定网络内的分组转发,只在指定网内部唯一内部网络内部网络NAT设备设备全局全局IP地址地址私有私有IP地址地址InternetIPv4网络地址转换常用私有IP地址10.0.0.0-10.255.255.255A single Class A network 172.16.0.0-172.31.255.255 16 contiguous Class B networks 192.168.0.0-192.168.255.255 256 contiguous Class C networksIPv6概述IPv4可扩展性问题可扩展性问题地址空间不足地址空间不足路由表急剧膨胀路由表急剧膨胀IPv6地址长度地址长度128比特比特采用层次结构采用层次结构实时应用支持实时应用支持自动配置自动配置安全性安全性移动性移动性IPv4/IPv6过渡机制过渡机制IPv6标准化进程IETF:http:/www.ietf.orgIP Version 6 Working Group制订IPv6规范和标准IPv6 Operations为运营IPv4/IPv6共存的Internet和在已有的IPv4网络或者新的网络安装中部署IPv6提供指导其它IPv6相关工作组6lowpan,mip6,mipshop,monami6,multi6,shim63GPP:http:/www.3gpp.orgIP多媒体子系统(IMS)使用IPv6ITU-T:http:/www.itu.int/ITU-T/index.html在电信网络中采用IPv6技术国外IPv6研究和应用6BONE:http:/1996年IETF建立的IPv6测试床2004年1月1日:不再分配3ffe前缀2006年6月6日:结束使命The IPv6 Forum:http:/倡导IPv6,提升IPv6的市场和用户意识IPv6 Ready Logo Program(Phase 2)WIDE:http:/www.wide.ad.jpKAME,USAGE,TAHI:实现和验证IPv6Nautilus6:移动通信中的IPv6应用.IPv6 Cluster:http:/www.ist-ipv6.org欧洲IPv6研究和开发项目IPv6 Cluster Member:Euro6IX,6NETMoonv6多家设备商参与部署的世界上最大的IPv6网络国内IPv6部署IPv6网络协议目标即使在不能有效分配地址空间的情况下,也能支持数十亿的主机;减少路由表的大小;简化协议,使得路由器能够更快的处理包;提供比IPv4更好的安全性;更多的关注服务类型,特别是实时数据;支持Multicast;支持移动功能;协议具有很好的可扩展性;在一段时间内,允许IPv4与IPv6共存。IPv6协议设计的争议地址长度跳数限制最大分组长度是否取消IP校验和安全性IPv6的主要变化地址变长,由32位变成128位;IP头简化,由13个域减少为8个域,提高路由器处理速度由于IPv6包头定长,取消IHL域;Protocol域取消,用Next header域表示;取消与分段有关的域,IPv6采用不同的分段方法:取消Checksum域,加快了路由器处理数据报的速度。更好的支持选项功能基本首部的后面允许有零个或多个扩展首部;安全性提高;更注重服务类型。基本基本首部首部 扩展扩展首部首部 1 扩展扩展首部首部 N 数数 据据 部部 分分选项选项IPv6 数据报数据报有效载荷有效载荷IPv6数据报的一般形式IPv6 数据报首部与 IPv4 数据报首部的对比04816192431版版 本本标志标志生生 存存 时时 间间协协 议议标标 识识服服 务务 类类 型型总总 长长 度度片片 偏偏 移移填填 充充首首 部部 检检 验验 和和源源 地地 址址目目 的的 地地 址址可可 选选 字字 段段 (长(长 度度 可可 变)变)比特比特首部长度首部长度固固 定定部部分分20字节字节可变可变部分部分IPv4首部首部取消取消有变化有变化上面是上面是 IPv4 数据报的首部数据报的首部041631版版 本本比特比特目目 的的 地地 址址源源 地地 址址下下 一一 个个 首首 部部流流 标标 号号12通通 信信 量量 类类(128 bit)(128 bit)有有 效效 载载 荷荷 长长 度度跳跳 数数 限限 制制24扩展首部扩展首部/数据数据IPv6 的的基本首部基本首部(40 B)IPv6 的的有效载荷有效载荷(至(至 64 KB)041631版版 本本比特比特目目 的的 地地 址址源源 地地 址址下下 一一 个个 首首 部部流流 标标 号号12通通 信信 量量 类类(128 bit)(128 bit)有有 效效 载载 荷荷 长长 度度跳跳 数数 限限 制制24扩展首部扩展首部/数据数据IPv6 的的基本首部基本首部(40 B)IPv6 的的有效载荷有效载荷(至(至 64 KB)041631版版 本本比特比特目目 的的 地地 址址源源 地地 址址下下 一一 个个 首首 部部流流 标标 号号12通通 信信 量量 类类(128 bit)(128 bit)有有 效效 载载 荷荷 长长 度度跳跳 数数 限限 制制24IPv6的的基基本本首首部部40 B版本版本(version)4 bit。它指明了协议的版本,。它指明了协议的版本,对对 IPv6 该字段总是该字段总是 6。041631版版 本本比特比特目目 的的 地地 址址源源 地地 址址下下 一一 个个 首首 部部流流 标标 号号12通通 信信 量量 类类(128 bit)(128 bit)有有 效效 载载 荷荷 长长 度度跳跳 数数 限限 制制24IPv6的的基基本本首首部部40 B通信量类通信量类(traffic class)8 bit。这是为了区。这是为了区分不同的分不同的 IPv6 数据报的类别或优先级。数据报的类别或优先级。041631版版 本本比特比特目目 的的 地地 址址源源 地地 址址下下 一一 个个 首首 部部流流 标标 号号12通通 信信 量量 类类(128 bit)(128 bit)有有 效效 载载 荷荷 长长 度度跳跳 数数 限限 制制24IPv6的的基基本本首首部部40 B流标号流标号(flow label)20 bit。“流流”是互联网络上是互联网络上从特定源点到特定终点的一系列数据报,从特定源点到特定终点的一系列数据报,“流流”所经所经过的路径上的路由器都保证指明的服务质量。过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有同样的流标号。所有属于同一个流的数据报都具有同样的流标号。041631版版 本本比特比特目目 的的 地地 址址源源 地地 址址下下 一一 个个 首首 部部流流 标标 号号12通通 信信 量量 类类(128 bit)(128 bit)有有 效效 载载 荷荷 长长 度度跳跳 数数 限限 制制24IPv6的的基基本本首首部部40 B有效载荷长度有效载荷长度(payload length)16 bit。它指明。它指明 IPv6 数据报除基本首部以外的字节数(所有扩展首部数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值是都算在有效载荷之内),其最大值是 64 KB。041631版版 本本比特比特目目 的的 地地 址址源源 地地 址址下下 一一 个个 首首 部部流流 标标 号号12通通 信信 量量 类类(128 bit)(128 bit)有有 效效 载载 荷荷 长长 度度跳跳 数数 限限 制制24IPv6的的基基本本首首部部40 B下一个首部下一个首部(next header)8 bit。它相当于。它相当于 IPv4 的协议字段或可选字段。的协议字段或可选字段。041631版版 本本比特比特目目 的的 地地 址址源源 地地 址址下下 一一 个个 首首 部部流流 标标 号号12通通 信信 量量 类类(128 bit)(128 bit)有有 效效 载载 荷荷 长长 度度跳跳 数数 限限 制制24IPv6的的基基本本首首部部40 B跳数限制跳数限制(hop limit)8 bit。源站在数据报发出时。源站在数据报发出时即设定跳数限制。路由器在转发数据报时将跳数限制即设定跳数限制。路由器在转发数据报时将跳数限制字段中的值减字段中的值减1。当跳数限制的值为零时,就要将此数据报丢弃。当跳数限制的值为零时,就要将此数据报丢弃。041631版版 本本比特比特目目 的的 地地 址址源源 地地 址址下下 一一 个个 首首 部部流流 标标 号号12通通 信信 量量 类类(128 bit)(128 bit)有有 效效 载载 荷荷 长长 度度跳跳 数数 限限 制制24IPv6的的基基本本首首部部40 B源地址源地址 128 bit。是数据报的发送站的。是数据报的发送站的 IP 地址。地址。041631版版 本本比特比特目目 的的 地地 址址源源 地地 址址下下 一一 个个 首首 部部流流 标标 号号12通通 信信 量量 类类(128 bit)(128 bit)有有 效效 载载 荷荷 长长 度度跳跳 数数 限限 制制24IPv6的的基基本本首首部部40 B目的地址目的地址 128 bit。是数据报的接收站的。是数据报的接收站的 IP 地址。地址。IPv6网络协议中扩展首部的改进IPv6 将原来 IPv4 首部中选项的功能都放在扩展首部中,并将扩展首部留给路径两端的源站和目的站的主机来处理。数据报途中经过的路由器都不处理这些扩展首部(只有一个首部例外,即逐跳选项扩展首部)。这样就大大提高了路由器的处理效率。IPv6网络协议扩展首部六种扩展首部逐跳选项 路由选择 分片 鉴别 封装安全有效载荷 目的站选项 基本首部基本首部下一个首部下一个首部=TCP/UDP基本首部基本首部下一个首部下一个首部=路由选择路由选择路由选择首部路由选择首部下一个首部下一个首部=分片分片分片首部分片首部下一个首部下一个首部=TCP/UDPTCP/UDP 首部首部和数据和数据 (TCP/UDP 报文段)报文段)有效载荷有效载荷有效载荷有效载荷TCP/UDP 首部首部和数据和数据 (TCP/UDP 报文段)报文段)无扩展首部无扩展首部有扩展首部有扩展首部IPv6网络协议扩展首部IPv6网络IPv6地址表示16字节地址表示成用冒号(:)隔开的8组,每组4个16进制位,例如,8000:0000:0000:0000:0123:4567:89AB:CDEF由于有很多“0”,有三种优化表示打头的“0”可以省略,0123可以写成123;一组或多组16个“0”可以被一对冒号替代,但是一对冒号只能出现一次。上面的地址可以表示成8000:123:4567:89AB:CDEFIPv4地址可以写成一对冒号和用“.”分隔的十进制数,例如:192.31.20.46CIDR 的斜线表示法仍然可用。60 bit的前缀 12AB00000000CD3 可记为:12AB:0000:0000:CD30:0000:0000:0000:0000/60或12AB:CD30:0:0:0:0/60或12AB:0:0:CD30:/60IPv6地址类型IPv6地址空间分配:RFC4291单播地址(Unicast)标识单个接口,单播地址的分组被发送到该接口组播地址(Multicast)标识通常属于不同节点的一组接口,组播地址的分组被发送到所有的接口任播地址(Anycast)标识通常属于节点上的一组接口,任播地址的分组被发送到最近的那个接口(依据路由协议度量的最近距离)IPv6地址空间分配IPv6 将 128 bit 地址空间分为两大部分。第一部分是可变长度的类型前缀,它定义了地址的目的。第二部分是地址的其余部分,其长度也是可变的。类型前缀类型前缀地址的其他部分地址的其他部分长度可变长度可变长度可变长度可变128 bitIPv6单播地址全局地址站点局部(site-local)地址(FEC0:/48)(弃用)链路局部(Link-local)地址(FE80:/64)10比特比特38比特比特16比特比特64比特比特1111 1110 110子网子网IDInterface ID10比特比特54比特比特64比特比特1111 1110100Interface IDNetwork PrefixLink-LocalSite-LocalGlobalIPv6地址的分级IPv6 扩展了地址的分级概念,使用以下三个等级:(1)第一级(顶级),指明全球都知道的公共拓扑。(2)第二级(地点级),指明单个的地点。(3)第三级,指明单个的网络接口。3 13 8 24 16 64P保留保留TLA标识符标识符接口标识符接口标识符NLA标识符标识符SLA标识符标识符顶级顶级第三级第三级地点级地点级比特数比特数IPv6 地址的最低的第三级对应于计算机和网络的单个接口。IPv6 地址的后缀有 64 bi t之多,它足够大,因而可以将各种接口的硬件地址直接进行编码。IPv6 使用邻站发现协议使结点能够确定哪些计算机是和它相邻接的。3 13 8 24 16 64P保留保留TLA标识符标识符接口标识符接口标识符NLA标识符标识符SLA标识符标识符顶级顶级第三级第三级地点级地点级比特数比特数第三级地址IPv6 地址中间的第二级对应于在一个地点的一组计算机和网络,它们通常是相距较近的且都归一个单位来管理。SLA 级表示 Site Level Aggregation,即地点级聚合,它和 IPv4 中的子网字段相似。3 13 8 24 16 64P保留保留TLA标识符标识符接口标识符接口标识符NLA标识符标识符SLA标识符标识符顶级顶级第三级第三级地点级地点级比特数比特数第二级地址3 13 8 24 16 64P保留保留TLA标识符标识符接口标识符接口标识符NLA标识符标识符SLA标识符标识符顶级顶级第三级第三级地点级地点级比特数比特数第一级地址(有四个字段)(1)P字段 3 bit,即格式前缀。(2)顶级聚合标识符 TLA ID13 bit,指派给ISP 或拥有这些地址的汇接点(exchange)。(3)保留字段 8 bit。(4)下一级聚合标识符 NLA ID 24 bit。指派给一个特定的用户。IPv4/IPv6过渡过过渡渡过过程程IPv4 OnlyIPv4IPv6IPv6IPv6IPv6IPv4IPv4IPv4IPv6 Only当前状态当前状态IPv4/IPv6过渡过渡机制IPv4/IPv6双协议栈转换机制隧道技术IPv4/IPv6双协议栈结构双协议栈(Dual Stack)PA(7B)SFD(1B)DA(6B)SA(6B)Type(2B)PADCRC4BIPv4/IPv6 Packet(01500B)0 x0800:IPv40 x86dd:IPv6FrameUDP/TCPCurrent(Linux,windowsXP)Next(windows Vista)网络接口网络接口网络接口网络接口IPv4/IPv6双协议栈原理IPv4/IPv6转换机制NAT-PT:Network Address Translation-Protocol Translation IPv4/IPv6隧道技术IPv6 over IPv4 or IPv6-in-IPv4隧道封装通过将一个传输协议(通过将一个传输协议(IPv6)作为负载封装在另一个协议)作为负载封装在另一个协议(IPv4)中,实现被封装的协议数据单元()中,实现被封装的协议数据单元(IPv6)通过封装)通过封装协议的网络(协议的网络(IPv4网络)进行传输网络)进行传输 IPv4/IPv6隧道技术IPv4/IPv6隧道拓扑IPv6 over IPv4 or IPv6-in-IPv4 TunnelingRouter-RouterHost-RouterRouter-HostHost-Host传输层主要内容传输层协议概述传输协议的要素Internet传输协议传输层协议概述(1)为什么引入传输层(传输层与网络层服务的相似性)用户在网络层上没有真正的控制权 频繁丢失分组/路由器崩溃不同的网络有不同的网络服务原语,需要网络服务原语的标准化(类似IP逻辑地址的描述)有了传输层,应用开发人员可以根据一组标准的原语来编写代码,传输服务原语可以通过调用库过程(函数)来实现.改变网络服务,只要求替换一组库过程即可,但对应了相同的传输服务原语.传输层的目标向它的用户(应用层进程)提供高效的、可靠的和性价比合理的传输服务传输实体(Transport entity)传输层协议概述(2)从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。传输层承担了将子网技术/设计/缺陷与上层隔离的关键作用.传输层协议概述(3)传输层提供两种服务面向连接的传输服务:连接建立,数据传输,连接释放;无连接的传输服务。1 4层称为传输服务提供者(transport service provider),4层以上称为传输服务用户(transport service user)。传输层协议概述(4)传输服务原语(Transport Service Primitives)传输用户(应用程序)通过传输服务原语访问传输服务TPDUWhere are we?传输协议的要素(1)寻址(Addressing,确定通讯进程)方法:定义传输服务访问点TSAP(Transport Service Access Point),将应用进程与这些TSAP相连。在Internet中,TSAP为(IP address,local port);远方客户程序如何获得服务程序的TSAP?方法1:预先约定、广为人知的,像telnet是(IP地址,端口23);方法2:从名字服务器(name server)或目录服务器(directory server)获得TSAP一个特殊的进程称为名字服务器名字服务器或目录服务器目录服务器(TSAP众所周知)传输协议的要素(2)当服务程序很多时,使用初始连接协议(initial connection protocol)一个称为进程服务器(进程服务器(process server)的进程同时在多个端口上监听;传输协议的要素(3)端口的概念端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给传输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相应的进程。从这个意义上讲,端口是用来标志应用层的进程。端口在进程之间的通信中所起的作用 应应用用层层传传输输层层网网络络层层TCP 报文段报文段UDP用户数据报用户数据报应用进程应用进程TCP 复用复用 IP 复用复用UDP 复用复用 TCP 报文段报文段UDP用户数据报用户数据报 应用进程应用进程端口端口端口端口TCP 分用分用UDP 分用分用IP 分用分用发送方发送方接收方接收方传输协议的要素(4)端口用一个 16 bit 端口号进行标志。端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。两类端口一类是熟知端口,其数值一般为 01023。另一类则是一般端口,用来随时分配给请求通信的客户进程。传输协议的要素(6)套接字TCP/IP 使用“连接”(而不仅仅是“端口”)作为最基本的抽象,同时将 TCP 连接的端点称为套接字(socket)。套接字和端口、IP 地址的关系是:IP 地址地址131.6.23.13 端口号端口号1500 131.6.23.13,1500socket传输协议的要素(7)建立连接网络可能丢失、重复包,特别是延迟重复包(delayed duplicates)的存在,导致传输层建立连接的复杂性;解决延迟重复包的关键是丢弃过时的包;两次握手方案(链路层与网络层实施的差异)A发出连接请求CR TPDU,B发回连接确认CC TPDU;失败的原因:网络层会丢失、存储和重复包。传输协议的要素(8)三次握手方案(three-way handshake)A 发出序号为X的CR TPDU;B 发出序号为Y的CC TPDU并确认A的序号为X的CR TPDU;A 发出序号为X+1的第一个数据TPDU,并确认B的序号为Y的CR TPDU。三次握手方案解决了由于网络层会丢失、存储和重复包带来的问题。传输协议的要素(9)释放连接两种连接释放方法非对称式:一方释放连接,整个连接断开,存在丢失数据的危险;传输协议的要素(10)对称式:由于两军问题(两军问题(two-army problem)的存在,可以证明不存在安全的通过N次握手实现对称式连接释放的方法;占据两个山顶的蓝军与驻扎在这山谷的白军作战。力量对比是:一个山顶上的蓝军打不过白军,但两个山顶的蓝军协同作战就可战胜白军。一个山顶上的蓝军拟于次日正午向白军发起攻击。于是发送电文给另一山顶上的友军。但通信线路很不好,电文出错的可能性很大。因此要求收到电文的友军必须发送确认电文。但确认电文也可能出错。试问能否设计出一种协议,使得蓝军能实现协同作战因而一定取得胜利?明日正午进攻,如何?明日正午进攻,如何?明日正午进攻,如何?明日正午进攻,如何?同意同意收到收到收到收到“同意同意同意同意”收到收到:收到收到“同意同意”这样的协议无法实现!这样的协议无法实现!传输协议的要素(11)但是在实际的通信过程中,使用三次握手+定时器的方法释放连接在绝大多数情况下是成功的。传输协议的要素(12)流控和缓存(Flow Control and Buffering)缓存:由于网络层服务是不可靠的,传输层实体必须缓存所有连接发出的TPDU,而且为每个连接单独做缓存,以便用于错误情况下的重传。接收方的传输层实体既可以做也可以不做缓存。流控:传输层利用可变滑动窗口协议来实现流控。所谓可变滑动窗口协议,是指发送方的发送窗口大小是由接收方根据自己的实际缓存情况给出的。Internet传输协议(1)用户数据报协议UDP(User Datagram Protocol)无连接的端到端传输协议;RFC 768。传输控制协议TCP(Transmission Control Protocol)面向连接的、可靠的、端到端的、基于字节流的传输协议;RFC 793,1122,1323,2018,2581等。Internet传输协议(2)UDP 只在 IP 的数据报服务之上增加了很少一点的功能,即端口的功能和差错检测的功能。UDP优点发送数据之前不需要建立连接UDP 的主机不需要维持复杂的连接状态表。UDP 用户数据报只有8个字节的首部开销。没有拥塞控制和错误控制,可以尽快的发送,可靠性保障由应用层进程实施。UDP应用流媒体应用(RTP/RCTP协议)RIP,路由信息周期发送DNS,避免TCP连接建立延迟Internet传输协议(3)UDP头格式 Internet传输协议(5)TCP 协议特点应用程序访问TCP服务是通过在收发双方创建套接字来实现的;套接字的地址是用(IP地址,主机端口号)来表示的。256以下的端口号被标准服务保留,如FTP/21,TELNET/23;每条连接用(套接字1,套接字2)来表示,是点到点的全双工通道;TCP不支持多播(multicast)和广播(broadcast);Internet传输协议(7)TCP协议要解决的问题可靠传输滑动窗口流量控制和拥塞控制可变滑动窗口慢启动(slow start)、拥塞避免(congestion avoidance)连接管理建立连接:三次握手释放连接:三次握手+定时器TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充源端口和目的端口字段源端口和目的端口字段各占各占 2 字节。端口是传输字节。端口是传输层与应用层的服务接口。传输层的复用和分用功能都层与应用层的服务接口。传输层的复用和分用功能都要通过端口才能实现。要通过端口才能实现。头长度头长度TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充序号字段序号字段占占 4 字节。字节。TCP 连接中传送的数据流连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。的是本报文段所发送的数据的第一个字节的序号。头长度头长度TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充确认号字段确认号字段占占 4 字节,是期望收到对方的下一个字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。报文段的数据的第一个字节的序号。头长度头长度TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口头长度头长度检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充保留字段保留字段占占 6 bit,保留为今后使用,但目前,保留为今后使用,但目前应置为应置为 0。头长度头长度TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充紧急比特紧急比特 URG 当当 URG 1 时,表明紧急指时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送应尽快传送(相当于高优先级的数据相当于高优先级的数据)。头长度头长度TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充确认比特确认比特 ACK 只有当只有当 ACK 1 时确认号字时确认号字段才有效。当段才有效。当 ACK 0 时,确认号无效。时,确认号无效。头长度头长度TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充推送比特推送比特 PSH(PuSH)接收接收 TCP 收到推送比特收到推送比特置置 1 的报文段,就尽快地交付给接收应用进程,而不的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。再等到整个缓存都填满了后再向上交付。头长度头长度TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充复位比特复位比特 RST(ReSeT)当当 RST 1 时,表明时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立传输连接。必须释放连接,然后再重新建立传输连接。头长度头长度TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充同步比特同步比特 SYN 同步比特同步比特 SYN 置为置为 1,就表示,就表示这是一个连接请求或连接接受报文。这是一个连接请求或连接接受报文。头长度头长度TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充终止比特终止比特 FIN(FINal)用来释放一个连接。当用来释放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完时,表明此报文段的发送端的数据已发送完毕,并要求释放传输连接。毕,并要求释放传输连接。头长度头长度TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充窗口字段 占 2 字节。用于基于可变滑动窗口的流控,指示发送方从确认号开始可以再发送窗口大小的字节流;头长度头长度TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充检检验验和和 占占 2 字字节节。检检验验和和字字段段检检验验的的范范围围包包括括首首部部和和数数据据这这两两部部分分。在在计计算算检检验验和和时时,要要在在 TCP 报文段的前面加上报文段的前面加上 12 字节的伪首部。字节的伪首部。头长度头长度TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充紧紧急急指指针针字字段段 占占 16 bit。紧紧急急指指针针指指出出在在本本报报文段中的紧急数据的最后一个字节的序号。文段中的紧急数据的最后一个字节的序号。TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充选选项项字字段段 长长度度可可变变。TCP 只只规规定定了了一一种种选选项项,即即最最大大报报文文段段长长度度 MSS(Maximum Segment Size)。MSS 告告诉诉对对方方 TCP:“我我的的缓缓存存所所能能接接收收的的报报文文段段的数据字段的最大长度是的数据字段的最大长度是 MSS 个字节。个字节。”MSS 是是 TCP 报文段中的数据字段的最大长度。报文段中的数据字段的最大长度。数据字段加上数据字段加上 TCP 首部首部才等于整个的才等于整个的 TCP 报文段。报文段。TCP首部首部20字节字节固定固定首部首部目目 的的 端端 口口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度度 可可 变)变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留FINSYNRSTPSHACKURG比特比特 0 8 16 24 31填填 充充填填充充字字段段 这这是是为为了了使使整整个个首首部部长长度度是是 4 字字节节的的整数倍。整数倍。Internet传输协议(8)TCP连接管理连接管理管理运输连接的建立和释放管理运输连接的建立和释放。连接建立要解决的问题确知对方存在确知对方存在双方协商参数双方协商参数解决资源分配解决资源分配Internet传输协议(9)三次握手建立连接SYN,SEQ=xSYN,SEQ=x主机主机 B BSYN,ACK,SEQ=y,ACK=x SYN,ACK,SEQ=y,ACK=x 1 1ACK,SEQ=x+1,ACK=y ACK,SEQ=x+1,ACK=y 1 1被动打开被动打开主动打开主动打开确认确认确认确认主机主机 A A连接请求连接请求Internet传输协议(10)单向的连接释放释放连接时,发出FIN位置1的TCP段并启动定时器,在收到确认后关闭连接。若无确认并且超时,也关闭连接。关闭连接关闭连接:Step 1:客户发送客户发送 TCP FIN 控制控制报文段到服务器报文段到服务器 Step 2:服务器接收服务器接收 FIN,回复回复 ACK.半关闭连接半关闭连接,并发送并发送FIN到客户到客户Step 3:客户接收客户接收 FIN,回复回复 ACK.进入进入“timed wait”等待结束时释放连接资源等待结束时释放连接资源Step 4:服务器接收服务器接收 ACK.连接连接关闭关闭.clientFINserverACKACKFINclosecloseclosedtimed waitInternet传输协议(11)Internet传输协议(12)TCP传输流量控制策略TCP的窗口管理机制TCP 采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。在 TCP 报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。收到确认即可前移收到确认即可前移1001002002003003004004005005006006007007008008009009001011012012013013014014015015016016017017018018011 1发送窗口发送窗口可发送可发送不可发送不可发送指针指针发送端要发送发送端要发送 900 900 字节长的数据,划分为字节长的数据,划分为 9 9 个个 100 100 字节长的报字节长的报文段,而发送窗口确定为文段,而发送窗口确定为 500 500 字节。字节。发送端只要收到了对方的确认,发送窗口就可前移。发送端只要收到了对方的确认,发送窗口就可前移。发送发送 TCP TCP 要维护一个指针。每发送一个报文段,指针就向前移动要维护一个指针。每发送一个报文段,指针就向前移动一个报文段的距离。一个报文段的距离。收到确认即可前移收到确认即可前移1001002002003003004004005005006006007007008008009009001011012012013013014014015015016016017017018018011 1可发送可发送不可发送不可发送指针指针1001002002003003004004005005006006007007008008009009001011012012013013014014015015016016017017018018011 1发送窗口发送窗口可发送可发送不可发送不可发送指针指针发送窗口前移发送窗口前移发送端已发送了发送端已发送了 400 400 字节的数据,但只收到对前字节的数据,但只收到对前 200 200 字节数据字节数据的确认,同时窗口大小不变。的确认,同时窗口大小不变。现在发送端还可发送现在发送端还可发送 300 300 字节。字节。已发送已发送并被确认并被确认已发送但已发送但未被确认未被确认1001002002003003004004005005006006007007008008009009001011012012013013014014015015016016017017018018011 1已发送已发送并被确认并被确认已发送但已发送但未被确认未被确认可发送可发送不可发送不可发送指针指针1001002002003003004004005005006006007007008008009009001011012012013013014014015015016016017017018018011 1已发送已发送并被确认并被确认可发送可发送不可不可发送发送指针指针发送窗口前移发送窗口前移发送窗口缩小发送窗口缩小发送端收到了对方对前发送端收到了对方对前 400 400 字节数据的确认,但对方通知发送端字节数据的确认,但对方通知发送端必须把窗口减小到必须把窗口减小到 400 400 字节。字节。现在发送端最多还可发送现在发送端最多还可发送 400 400 字节的数据。字节的数据。TCP的传输 优化策略确认机制捎带接收方缓冲窗口基于确认和可变窗口大小TCP报文首部窗口值是当前给对方设置的窗口数值接收端可动态调整对方的发送窗口当窗口为0时发送紧急数据发送一字节数据段以防止死锁,发送方可以发送1字节的TCP段,以便让接收方重新声明确认号和窗口大小小量数据段优化问题TELNETInternet传输协议(13)如何改进传输层的性能如何改进传输层的性能?策略1:发送方缓存应用程序的数据,等到形成一个比较大的段再发出;策略2:在没有可能进行“捎带”的情况下,接收方延迟发送确认段;策略3:使用Nagle算法:当应用程序每次向传输实体发出一个字节时,传输实体发出第一个字节并缓存所有其后的字节直至收到对第一个字节的确认;然后将已缓存的所有字节组段发出并对再收到的字节缓存,直至收到下一个确认;Internet传输协议(14)策略4:使用Clark算法解决傻窗口症状(傻窗口症状(silly window syndrome)傻窗口症状:当应用程序一次从传输层实体读出一个字节时,传输层实体会产生一个一字节的窗口更新段,使得发送方只能发送一个字节;解决办法:限制收方只有在具备一半的空缓存或最大段长的空缓存时,才产生一个窗口更新段。Internet传输协议(15)TCP拥塞控制拥塞控制流量控制不能解决网络拥塞出现拥塞的两种情况快网络小缓存接收者慢网络大缓存接收者导致网络拥塞的两个潜在因素是:网络能力和接收能力。Internet传输协议(16)TCP处理第一种拥塞的措施在连接建立时声明最大可接受段长度;利用可变滑动窗口协议防止出现拥塞;TCP处理第二种拥塞的措施发送方维护两个窗口:可变发送窗口和拥塞窗口,按两个窗口的最小值发送;拥塞窗口依照慢启动(慢启动(slow start)算法和拥塞避免拥塞避免(congestion avoidance)算法变化。Internet传输协议(17)慢启动(slow start)算法连接建立时拥塞窗口(congwin)初始值为该连接允许的最大段长MSS,阈值(threshold)为64K;发出一个最大段长的TCP段,若正确确认,拥塞窗口变为两个最大段长;发出(拥塞窗口/最大段长)个最大长度的TCP段,若都得到确认,则拥塞窗口加倍;重复上一步,直至发生丢包超时事件,或拥塞窗口大于阈值。Internet传输协议(18)窗口大小在每个RTT周期内指数增长initialize:Congwin=1for(each segment ACKed)Congwin+until(loss event OR CongWin threshold)慢启动算法慢启动算法Host Aone segmentRTTHost Btimetwo segmentsfour segmentsInternet传输协议(19)拥塞避免(congestion avoidance)算法若拥塞窗口大于阈值,从此时开始,拥塞窗口线性增长,一个RTT周期增加一个最大段长,直至发生丢包超时事件;当超时事件发生后,阈值设置为当前拥塞窗口大小的一半,拥塞窗口重新设置为一个最大段长;执行慢启动算法。Internet传输协议(20)/*slowstart is over */*Congwin threshold*/Until(loss event)every w segments ACKed:Congwin+threshold=Congwin/2Congwin=1perform slowstartCongestion avoidanceInternet传输协议(21)当 CongWin 低于阀值,发送方处于慢启动阶段,窗口指数增长.当 CongWin 高于阀值,发送方处于拥塞避免阶段,窗口线性增长.当超时发生时,阀值置为CongWin/2 并且CongWin 置为1 MSS.TCP定时器管理“Congestion avoidance and control”,JACOBSON.V,SIGOCOMM88(阅读宣讲阅读宣讲)
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!