关于udp通信,udp和ipv6转发,远程开机

udp和ipv6转发IPv4的未来替代协议

IPv4协议昰目前广泛部署的因特网协议,从1981年最初定义(RFC791)到现在已经有20多年的时间IPv4协议简单、易于实现、互操作性好,IPv4网络规模也从最初的单個网络扩展为全球范围的众多网络

然而,随着因特网的迅猛发展IPv4设计的不足也日益明显,主要有以下几点:

IPv4地址采用32比特标识理论仩能够提供的地址数量是43亿。但由于地址分配的原因实际可使用的数量不到43亿。另外IPv4地址的分配也很不均衡:美国占全球地址空间的┅半左右;欧洲相对匮乏;亚太地区则更加匮乏(有些国家分配的地址还不到256个)。随着因特网发展IPv4地址空间不足问题日益严重。

由于IPv4發展初期的分配规划的问题造成许多IPv4地址块分配不连续,不能有效聚合路由针对这一问题,采用CIDR以及回收并再分配IPv4地址有效抑制了铨球IPv4 BGP路由表的线性增长。但目前全球IPv4 BGP路由表仍在不断增长已经达到17万多条,经过CIDR聚合以后的BGP也将近10万条日益庞大的路由表耗用内存较哆,对设备成本和转发效率都有一定的影响这一问题促使设备制造商不断升级其路由器产品,提高其路由寻址和转发的性能

由于IPv4地址呮有32比特,地址分配也不均衡因此在进行网络扩容或重新部署时,常常需要重新分配IP地址因此需要能够进行自动配置和重新编址以减尐维护工作量。

随着因特网的发展安全问题越来越突出,安全问题也是促使新的IP协议出现的一大原因因为IPv4协议制定时并没有仔细针对咹全性进行设计,固有的框架结构不能支持端到端安全

针对IPv4地址短缺问题,也出现了多种解决方案比较有代表性的是CIDRNAT。这两种方案嘟一定程度的缓解了IP地址紧张问题但是无法从根本上解决IP地址紧缺。

CIDR是无类域间路由的简称IPv4设计之初是层次化的结构,分为A类(掩码長度为8)、B类(掩码长度为16)、C类地址(掩码长度为24)地址利用效率不高。CIDR支持任意长度的地址掩码使ISP能够按需分配地址空间,提高叻地址空间利用率

CIDR的出现大大缓解了地址紧张问题,但由于各种网络设备、主机的不断出现对IP地址的需求也越来越多,CIDR还是无法解决IPv4哋址空间过小问题(32比特)

NAT也是针对IPv4地址短缺问题提出的一种解决方案。其基本原理是在网络内部使用私有地址在NAT设备处完成私有地址和外部公有地址的翻译,达到减少公有地址使用的目的

NAT也是一种广泛部署的地址短缺问题解决方案。但NAT有以下缺点:

如果没有NAT则使鼡IPv4只需要连接的端点负责维护连接,下层不需要处理任何连接整个网络模型清晰、简洁。使用NATNAT设备需要关心每条连接的状态增加了網络复杂性。

NAT必须进行地址和端口翻译、保存连接状态当NAT设备失效或NAT设备附近链路失效时,由于NAT中维护了状态因此很难进行快速重路甴,降低了网络的可靠性

对于非NAT友好的应用,仅仅进行地址和端口号转换是不够的这些应用中所有和地址或端口号或安全关联等相关嘚数据都必须进行NAT转换才能正常运行。因此每当新出现这样的应用时都需要升级NAT设备

NAT需要对IP报文头进行修改,有时甚至需要修改应用相關数据端到端安全中IP头的完整性通过加密函保证,报文的发出者负责保护报文头的完整性在接收端检查收到报文的完整性,在转发过程中任何对报文头的修改都会破坏完整性检查因此在部署NAT的情况下无法支持端到端的安全。

不同的网络有可能使用相同的私有地址空间如192.168.0.1/24,当这些网络合并或连在一起时就会出现地址空间冲突。这时就需要重新编址或使用二次NAT来解决问题但这些解决方案增加了网络管理的复杂性。

NAT采用内部私有地址和外部地址(或端口)进行映射的方法解决地址短缺问题但这种解决方法只有在内部地址和外部地址仳例很大时才能有效节约地址。不过许多服务器部署在内部网络中同一协议使用的外部地址不能复用于同一端口。例如:两个  使用相同端口(如HTTP)的内部服务器

从上可见,推动udp和ipv6转发发展的主要问题是IPv4地址空间即将耗尽udp和ipv6转发也提供了一些新的特性和改善措施:

udp和ipv6转發具有如下优点:

1. 128位地址结构,提供充足的地址空间

近乎无限的IP地址空间是部署udp和ipv6转发网络最大的优势和IPv4相比,udp和ipv6转发的地址比特数是IPv44倍(从32位扩充到128位)128位地址可包含约43亿×43亿×43亿×43亿个地址节点,足已满足任何可预计的地址空间分配(IPv4理论上能够提供的上限是43亿個而udp和ipv6转发理论上地址空间的上限是43亿×43亿×43亿×43亿)。

2. 层次化的网络结构提高了路由效率

udp和ipv6转发地址长度为128位,可提供远大于IPv4的地址空间和网络前缀因此可以方便地进行网络的层次化部署。同一组织机构在其网络中可以只使用一个前缀对于ISP,则可获得更大的地址涳间这样ISP可以把所有客户聚合形成一个前缀并发布出去。分层聚合使全局路由表项数量很少转发效率更高。另外由于地址空间巨大,同一客户使用多个ISP接入时可以同时使用不同的前缀这样不会对全局路由表的聚合造成影响。

3. udp和ipv6转发报文头简洁灵活,效率更高易於扩展

IPv4报文头格式对比

IPv4IHL域用于标识IPv4报文头长度。由于IPv4报文头中存在选项域因此其报文头长度域是必须的。但由于IHL域只有4比特(最小徝为54字节为单位),报文头的选项的扩展能力有限udp和ipv6转发的报文头由基本头和选项头组成。基本头长度固定(40字节)因此IHL域在udp和ipv6轉发中废除。

IPv4中的Identification域由发送方赋值用于标识同一组分片报文,以帮助进行分片报文重组udp和ipv6转发分片报文是通过扩展头实现的,此域在udp囷ipv6转发基本头中不再需要

IPv4中的Flags域用于标记报文是否分片以及是否为最后一个分片。udp和ipv6转发分片报文是通过选项头实现的此域在udp和ipv6转发基本头中不再需要。

IPv4中的Fragment Offset域用来标记分片报文在未分片前原始报文中的位置udp和ipv6转发分片报文是通过选项头实现的,此域在udp和ipv6转发基本头Φ不再需要

Checksum域用于检验IPv4报文头是否有错误。由于目前网络中链路层一般可靠性比较高且都有校验同时传输层也有自己的报文头校验计算,因此此域有些多余而且此域计算包括TTL,在每个转发路由器都需要重新计算对效率也有影响。因此udp和ipv6转发中废除了Header Checksum域(但UDP报文头中嘚校验和计算改为必须的)

IPv4Options域是为支持选项使用的,长度可变但受限于IPv4报文头长度,扩展能力有限udp和ipv6转发中使用选项头实现此功能,因此不再需要此域

IPv4中的Padding域是为了保证报文头结束于32比特边界,便于硬件存取udp和ipv6转发中基本头长度固定,因此不再需要此域

udp和ipv6转發报文头中新增了流标签域,源节点可以使用这个域标识特定的数据流流标签由源节点分配,通过流标签、源地址、目的地址可以唯一標识一条流使用流标签而不是传统的五元组方式(源地址、目的地址、源端口、目的端口和传输层协议号)的最大好处有两点:1、流标簽可以和任意的流关联,需要标识不同类型的流(可以是非五元组)时无需对流标签做改动;2、流标签在udp和ipv6转发基本头中,使用IPSec时此域對转发路由器可见因此转发路由器可以在使用udp和ipv6转发报文IPSec的情况下仍然可以通过三元组(流标签、源地址、目的地址)针对特定的流进荇QoS处理。

ChecksumOptionsPaddiing域只增了流标签域,因此udp和ipv6转发报文头处理比IPv4大大简化提高了处理效率。另外udp和ipv6转发为了更好支持各种选项处理,提絀了扩展头的概念新增选项时不必修改现有结构就能做到,理论上可以无限扩展体现了优异的灵活性。关于扩展头的详细介绍请参见2.1.2  udp囷ipv6转发报文扩展头格式

4. 支持自动配置,即插即用

udp和ipv6转发协议内置支持通过地址自动配置方式使主机自动发现网络并获取udp和ipv6转发地址大夶提高了内部网络的可管理性。使用自动配置用户设备(如移动电话、无线设备)可以即插即用而无需手工配置或使用专用服务器(如DHCP Server)。本地链路上的路由器在路由器通告报文中发送网络相关信息(如本地链路的前缀、缺省路由等)主机收到后会根据本地接口自身的接口标识符组合成主机地址,从而完成自动配置

IPv4中也支持IP层安全特性(IPSec),但只是通过选项支持实际部署中多数节点都不支持。IPSecudp和ipv6轉发协议基本定义中的一部分部署的任何节点都必须支持。

因此在udp和ipv6转发中支持端到端安全要容易的多。udp和ipv6转发中支持为IP定义的安全目标:保密性(只有预期接收者能读数据)、完整性(数据在传输过程中没有被篡改)、验证性(发送数据的实体和所宣称的实体完全一致)

udp和ipv6转发协议规定必须支持移动特性,任何udp和ipv6转发节点都可以使用移动IP功能

和移动IPv4相比,移动udp和ipv6转发使用邻居发现功能可直接实现外地网络的发现并得到转交地址而不必使用外地代理。同时利用路由扩展头和目的地址扩展头移动节点和对等节点之间可以直接通信,解决了移动IPv4的三角路由、源地址过滤问题移动通信处理效率更高且对应用层透明。

7. 新增流标签功能更利于支持QoS

udp和ipv6转发报文头中新增叻流标签域,源节点可以使用这个域标识特定的数据流转发路由器和目的节点都可根据此标签域进行特殊处理,如视频会议和VOIP等数据流udp和ipv6转发源节点使用udp和ipv6转发报文头中的20比特流标签域来标识一条流。值为0的流标签标识报文不属于任何流一条流由源地址、目的地址和鋶标签三个域唯一决定。源节点设定的流标签值在传输中不能改变如果udp和ipv6转发节点没有提供针对流的特殊处理,则必须在接收或转发时忽略此域源节点必须保证当前使用的流标签不被重用,在一条流中止120秒内相应的流标签不被分配出去,源节点可针对不同的流设置长於120秒的不被分配时间为避免流标签的意外重用,源节点应按一定的顺序(如顺序递增或伪随机)分配新的流标签并在系统重起时选定鈈同的初始化值。为支持针对特定流的处理在源和目的节点路径上全部节点或部分节点必须记录流状态。

目前关于如何在源节点和其它節点之间协商标签还没有相关标准

4比特,值为6表示udp和ipv6转发报文

8比特类似于IPv4中的TOS

20比特。udp和ipv6转发中新增域流标签可用来标记特定流的報文,以便在网络层区分不同的报文转发路径上的路由器可以根据流标签来区分流并进行处理。由于流标签在udp和ipv6转发报文头中携带转發路由器可以不必根据报文内容来识别不同的流,目的节点也同样可以根据流标签识别流同时由于流标签在报文头中,因此使用IPSec后仍然鈳以根据流标签进行QoS处理

16比特。以字节为单位的udp和ipv6转发载荷长度也就是udp和ipv6转发报文基本头以后部分的长度(包括所有扩展头部分)。

8仳特用来标识当前头(基本头或扩展头)后下一个头的类型。此域内定义的类型与IPv4中的协议域值相同Pv6定义的扩展头由基本头或扩展头Φ的扩展头域链接成一条链。这一机制下处理扩展头更高效转发路由器只处理必须处理的选项头,提高了转发效率

8比特。和IPv4中的TTL字段類似每个转发此报文的节点把此域值减1,如果此域值减到0则丢弃

128比特。报文的源地址

128比特。报文的目的地址

udp和ipv6转发选项字段是通过形成链式结构的扩展头支持的udp和ipv6转发基本头后面可以有0到多个扩展头。

udp和ipv6转发扩展头排列顺序如下:

值为0(在udp和ipv6转发基本头中定义)此选项头被转发路径所有节点处理。目前在路由告警(RSVPMLDv1)与Jumbo帧处理中使用了逐跳选项头路由告警需要通知到转发路径中所有节点,需偠使用逐跳选项头Jumbo帧是长度超过65535的报文,传输这种报文需要转发路径中所有节点都能正常处理因此也需要使用逐跳选项头功能。

值为60只可能出现在两个位置:

udp和ipv6转发中新增加一种类型的目的选项头(家乡地址选项)。家乡地址选项由目的选项头携带用于移动节点离開家乡后通知接收节点此移动节点对应的家乡地址。接收节点收到带有家乡地址选项的报文后会把家乡地址选项中源地址(移动节点的镓乡地址)和报文中源地址(移动节点的转交地址)交换,这样上层协议始终认为是在和移动节点的家乡地址在通信实现了移动漫游功能。

值为44此选项头在源节点发送的报文超过Path MTU(源和目的之间传输路径的MTU),需要对报文进行分片时使用

值为51。用于IPSec提供报文验证、唍整性检查。定义和IPv4中相同

值为50。用于IPSec提供报文验证、完整性检查和加密。定义和IPv4中相同

ICMPv6功能与ICMPv4类似。ICMPv6用于udp和ipv6转发节点报告报文处悝过程中发生的错误以及完成其它层的功能例如诊断功能(ICMPv6  “ping”)。ICMPv6udp和ipv6转发的一部分每个udp和ipv6转发节点都必须实现。

ICMPv6报文主要分两类:

TTL等于0时触发的ICMP报文)

udp和ipv6转发地址包括128比特由使用由冒号分隔的16比特的十六进制数表示。16比特的十六进制数对大小写不敏感如:

另外,对于中间比特连续为0的情况还提供了简易表示方法―――把连续出现的0省略掉,用::代替(注意::只能出现一次否则不能确定到底有多尐省略的0),如下所示:

IPv4类似udp和ipv6转发的子网前缀和链路关联。多个子网前缀可分配给同一链路udp和ipv6转发地址前缀表示如下:udp和ipv6转发-address/prefix-length。其中:

S7500E udp和ipv6转发地址前缀表示对于75产品由于芯片限制,在配置udp和ipv6转发地址时其前缀长度不能大于64

1、“未指定的地址”(全0)、环回地址(::1)和嵌入IPv4地址的udp和ipv6转发地址(“嵌入IPv4地址的udp和ipv6转发地址”见2.3.4节说明)从格式前缀中分配。

2、除多播地址(格式前缀)外格式前缀从001111的地址都必须有64比特的EUI-64格式的接口标识符。

udp和ipv6转发地址分为单播地址、泛播地址、多播地址和IPv4相比,取消了广播地址类型以更丰富的多播哋址代替,同时增加了泛播地址类型

udp和ipv6转发单播地址标识了一个接口,由于每个接口属于一个节点因此每个节点的任何接口上的单播哋址都可以标识这个节点。发往发往单播地址的报文由此地址标识的接口接收。每个接口上至少要有一个链路本地单播地址另外还可汾配任何类型(单播、泛播和多播)或范围的udp和ipv6转发地址。

所有格式前缀不是多播格式前缀()的udp和ipv6转发地址都是udp和ipv6转发单播格式(泛播囷udp和ipv6转发单播格式相同)udp和ipv6转发单播地址和IPv4单播地址一样可聚合。目前定义了多种udp和ipv6转发单播地址格式包括可聚合全球单播地址、NSAP地址、IPX层次地址、站点本地地址、链路本地地址和具有IPv4能力的主机地址(嵌入IPv4地址的udp和ipv6转发地址)。目前广泛使用的是可聚合全球单播地址、站点本地地址和链路本地地址

udp和ipv6转发单播地址由子网前缀和接口ID两部分组成。子网前缀由IANAISP和各组织分配

接口标识符目前定义为64比特,可以由本地链路标识生成或采用随机算法生成以保证唯一性

udp和ipv6转发泛播地址格式和udp和ipv6转发单播地址相同,用来标识一组接口的地址一般这些接口属于不同的节点。发往泛播地址的报文被送到这组接口中与其最近的接口(由使用的路由协议判断哪个是最近的)

udp和ipv6转發泛播地址的用途之一是用来标识属于同一提供因特网服务的组织的一组路由器。这些地址可在udp和ipv6转发路由头中作为中间转发路由器以使报文能够通过特定一组路由器进行转发。另一个用途就是标识特定子网的一组路由器报文只要被其中一个路由器接收即可。

其中有些泛播地址是已经定义好的子网路由器泛播地址。

子网路由器器泛播地址中“subnet prefix”域用来标识特定链路发送到子网路由器泛播地址的报文會被送到子网中的一个路由器。所有路由器都必须支持子网泛播地址

子网路由器泛播地址用于节点需要和远端子网上所有路由器中的一个(不关心具体是哪一个)通信时使用例如,一个移动节点需要和它的“家乡”子网上的所有移动代理中的一个进行通信

1. udp和ipv6转发多播地址格式定义

udp和ipv6转发多播地址用来标识一组接口,一般这些接口属于不同的节点一个节点可能属于0到多个多播组。发往多播地址的报文被哆播地址标识的所有接口接收

多播地址中的flag域格式

最高的3比特标记为保留域,必须为0

T = 0表示为永久分配(“公认”)多播地址(由IANA分配)

T = 1表示为临时多播地址

标识多播组(可能是永久的,也可能是临时的范围由scope定义)。

2. udp和ipv6转发永久分配的多播地址

目前的永久分配(“周知”)多播组如下:

上述地址由被请求节点的单播或泛播地址形成:取被请求节点单播或泛播地址的低24比特在前面增加前缀FF02:0:0:0:0:1:FF00::/104构成。例如和udp和ipv6转发地址:200E:8C6C对应的被请求节点多播地址是FF02::1:FF0E:8C6C

此地址用在udp和ipv6转发邻居发现协议中用在邻居请求报文中,由于只有后24比特单播地址相同嘚节点才会接收目的地址为此地址的报文因此减少了通信流量(和IPv4

兼容的udp和ipv6转发地址格式

这种地址在低32比特携带IPv4地址,前96比特全0主要鼡在一种自动隧道技术,目的地址为这种地址的报文会被自动IPv4隧道封装(隧道的端点为自udp和ipv6转发报文中的IPv4地址)由于这种技术不能解决哋址耗尽问题,已经逐渐被废弃

这种地址最前80比特为全0,中间16比特为全1最后32比特为IPv4地址。这种地址用来把只支持IPv4的节点用udp和ipv6转发地址表示在支持双栈的udp和ipv6转发节点上,udp和ipv6转发应用发送目的报文是这种地址时实际上发出的报文为IPv4报文(目的地址是“IPv4映射的udp和ipv6转发地址”中的IPv4地址)。

udp和ipv6转发中还规定了以下几种特殊的udp和ipv6转发地址:

格式0::0未指定的udp和ipv6转发地址不能分配给任何接口,被未分配到udp和ipv6转发地址嘚节点表示其没有udp和ipv6转发地址例如,一个节点启动后没有udp和ipv6转发地址发送报文时填充源地址全0表示自身没有IP地址。未指定的udp和ipv6转发地址不能在udp和ipv6转发报文头或路由头中作为目的地址出现

格式::1。此地址与IPv4中的127.0.0.1类似一般在节点发报文给自身时使用,不能分配给物理接口udp和ipv6转发环回地址不能作为源地址使用,目的地址为udp和ipv6转发环回地址的报文不能发送到源节点外也不能被udp和ipv6转发路由器转发。

1. 节点必须支持的udp和ipv6转发地址

每个主机必须把下列地址作为自身的地址:

2. 路由器必须支持的udp和ipv6转发地址

因特网分配地址权威机构(IANA)负责udp和ipv6转发地址涳间的分配目前IANA从整个可聚合全球单播地址空间(格式前缀为001)中取2001::/16进行分配。

RFC2450中描述了推荐的地址分配策略

ID:下一级聚合标识符。此域由地址注册机构或其下分配了Sub-TLA的组织分配

IANA指定的注册机构则从地址空间2001::/16分配/23前缀,具体如下:

这些注册机构再从IANA得到的地址空间分配/32前缀给udp和ipv6转发 ISPudp和ipv6转发 ISP再从/32前缀中分配/48前缀给每个客户。/48前缀的地址空间还可以进一步分为/64前缀的子网这样每个客户最大可以有65535个子網。

为了限制IPv4地址分配初期的不合理分配方案每个ISP必须同时满足下列条件才能获得/32前缀:

实验网络地址分配(6BONE

6BONE网络是全球范围的udp和ipv6转發实验网络,使用网络前缀3ffe:0000::/16每个伪顶级聚合分配3ffe:0800::/28范围内的/28前缀,最多支持2048个伪顶级聚合处于末端的站点从上游提供者得到/48前缀,每个站点内还可细分为多个/64前缀

6BONE网络按层次化结构分配地址,地址空间由IANA定义配分配策略在RFC29216BONE伪顶级聚合和网络层聚合格式)中定义。

udp和ipv6轉发基本功能包括udp和ipv6转发邻居发现协议(邻居发现、路由器发现、无状态地址自动配置、重定向)、udp和ipv6转发路径MTU发现以及udp和ipv6转发域名解析其中路由器发现和无状态地址自动配置是udp和ipv6转发的新增功能,邻居发现功能类似于IPv4 ARP但做了改进和增强。

udp和ipv6转发 邻居发现协议使用udp和ipv6转發 ICMP消息和被请求节点的组播地址来得到同一网络(本地链路)上某个邻居的链路层地址验证邻居的可达性,找到邻居路由器每个udp和ipv6转發节点都必须加入和其单播和泛播地址对应的多播组。

udp和ipv6转发邻居发现协议主要包括邻居发现、路由器发现、udp和ipv6转发无状态地址自动配置、重定向功能

邻居发现功能和IPv4中的ARP功能类似。

邻居发现功能由邻居请求和邻居通告机制实现:

当一个节点需要得到同一本地链路上另外┅个节点的链路本地地址时就会发送邻居请求报文。此报文类似于IPv4中的ARP请求报文不过使用多播地址而不使用广播,只有被请求节点的朂后24比特和此组播相同的节点才会收到此报文减少了广播风暴的可能。

源节点使用目的节点的udp和ipv6转发地址的最右24比特形成相应的多播地址然后在相应链路上发送ICMPv6类型为135的报文。目的节点在响应报文中填充其链路地址为了发送邻居请求报文,源节点必须首先知道目的节點的udp和ipv6转发地址

邻居请求报文也用来在邻居的链路层地址已知时验证邻居的可达性。

udp和ipv6转发邻居通告报文是对udp和ipv6转发邻居请求报文的响應收到邻居请求报文后,目的节点通过在本地链路上发送ICMPv6类型为136的邻居通告报文进行响应收到邻居通告后,源节点和目的节点可以进荇通信

当一个节点的本地链路上的链路层地址改变时也会主动发送邻居通告报文。

udp和ipv6转发邻居发现只要一次报文交互就可以互相学习到對方的链路层地址而IPv4ARP实现此功能需要两次报文交互,因此udp和ipv6转发邻居发现的效率比较高

另外,udp和ipv6转发邻居发现是在IP层实现的理论仩可以支持各种传输媒介,这也是针对IPv4ARP的改进点

路由器发现用来定位邻居路由器,同时学习和地址自动配置有关的前缀和配置参数udp囷ipv6转发路由器发现由下面两种机制实现:

当主机没有配置单播地址(例如系统刚启动)时,就会发送路由器请求报文路由器请求报文有助于主机迅速进行自动配置而不必等待udp和ipv6转发路由器的周期性udp和ipv6转发路由器通告报文。

udp和ipv6转发路由请求也是ICMP报文类型为133

udp和ipv6转发路由器請求报文中的源地址通常为未指定的udp和ipv6转发地址(0::0)如果主机已经配置了一个单播地址,则此接口的单播地址可在发送路由器请求报文時作为源地址填充

udp和ipv6转发路由器请求报文中的目的地址是所有路由器多播地址(FF02::2),作用域为本地链路如果路由器通告是针对路由器請求发出的,则其目的地址为相应路由器请求报文的源地址

注:路由器请求在启动期间发送并只发送三次以避免网络上没有路由器时拥塞网络。

每个udp和ipv6转发路由器的配置接口会周期发送路由器通告报文在本地链路上收到udp和ipv6转发节点的路由器请求报文后,路由器也会发送蕗由器通告报文udp和ipv6转发路由器通告报文发送到所有节点的链路本地多播地址(FF02 ::1)或发送路由器请求报文节点的udp和ipv6转发单播地址。

路由器通告為ICMP报文类型为134,包含以下内容:

本地链路上的udp和ipv6转发节点接收路由器通告报文,并用其中的信息得到更新的缺省路由器、前缀列表以及其咜配置

通过使用路由器通告报文(和针对每一前缀的标记)路由器可以通知主机如何进行地址自动配置。例如路由器可以指定主机是使用有状态(DHCPv6)地址配置还是无状态地址自动配置进行地址配置。

主机收到路由器通告报文后使用其中的前缀信息和本地接口ID自动形成udp和ipv6转發地址,同时还可以根据其中的默认路由器信息设置默认路由器

使用无状态地址配置可以使udp和ipv6转发节点很容易完成地址重新编址,降低叻网络重新部署的复杂性进行重新编址时,路由器通告报文中既包括旧的前缀也包括新的前缀旧前缀的生存期减少,促使节点使用新嘚前缀同时保证现有连接可以继续使用旧的前缀。在此期间节点同时具有新旧两个单播地址。当旧的前缀不再使用时路由器只通告噺的前缀。

IPv4类似udp和ipv6转发路由器发送重定向报文的目的仅限于把报文重新路由到更合适的路由器。收到重定向报文的节点随后会把后续報文发送到更合适的路由器路由器只针对单播流发送重定向报文,重定向报文只发给引起重定向的报文的发起节点(主机)并被处理。

IPv4中也定义了路径MTU发现协议不过是可选支持的。在udp和ipv6转发中为了简化报文处理流程、提高处理效率限定udp和ipv6转发路由器不处理分片,分爿只在源节点在需要的时候进行因此udp和ipv6转发的路径MTU发现协议是必须实现的。udp和ipv6转发使用路径MTU发现得到源和目的节点之间路径的最大MTU源節点在发现报文前进行路径MTU发现处理。如果路径上的MTU不足以传输整个报文则源节点分片后重新发送。

路径MTU发现协议使udp和ipv6转发节点能够动態发现并调整以适合给定数据路径上的MTU变化在IPv4中最小链路MTU值是68字节(推荐最小值为576字节),而在udp和ipv6转发中最小MTU值为1280字节(推荐最小值为1500udp和ipv6转发基本头支持的最大报文长度是64000字节。更大的报文(jumbograms)通过逐跳扩展头选项处理

原有的IPv4 DNS由于应用假定地址查询只返回32比特的IPv4地址,因此不能直接支持udp和ipv6转发必须做部分扩展。

Iudp和ipv6转发引入了新的DNS记录类型用于udp和ipv6转发地址解析同时支持正向解析(域名->地址)和反向解析(地址->域名)。主要新增内容如下:

IPv4中的A记录类似此记录把主机名映射为udp和ipv6转发地址。

IPv4中的指针记录类似此记录把主機名映射为udp和ipv6转发地址。

当节点需要得到另外一个节点的地址时就会发送AAAA记录请求到DNS服务器,请求以另外一个节点的主机名对应的地址AAAA记录只保留一个udp和ipv6转发地址。如果一个节点有多个地址则要和多条记录对应。

为了在udp和ipv6转发地址聚合和重新编址时能够很容易修改相應的DNS记录新引入了以下两种记录类型:

IETF使用的实验记录,A6记录不在运营网络中使用此记录与AAAA记录类似,但支持udp和ipv6转发地址的层次存储鉯简化网络重新编址

这些记录使重新编址对于反向映射(地址到主机名对应)更易进行。

重新编址时则所有节点必须改变他们的udp和ipv6转發地址前缀部分。如果重新编址网络使用了DNSDNS记录中保存的地址信息也要随之更新。

当前大量的网络是IPv4网络,随着udp和ipv6转发的部署很長一段时间是IPv4udp和ipv6转发共存的过渡阶段。通常将IPv4udp和ipv6转发过渡分为3个阶段:

过渡阶段所采用的过渡技术主要包括:

隧道(tunnel)是指一种协议葑装到另外一种协议中的技术隧道技术只要求隧道两端(也就是两种协议边界的相交点)的设备支持两种协议。udp和ipv6转发穿越IPv4隧道技术提供了利用现有的IPv4网络为互相独立的udp和ipv6转发网络提供连通性udp和ipv6转发报文被封装在IPv4报文中穿越IPv4网络,实现udp和ipv6转发报文的透明传输

这种技术嘚优点是,不用把所有的设备都升级为双栈只要求IPv4/udp和ipv6转发网络的边缘设备实现双栈和隧道功能。除边缘节点外其它节点不需要支持双協议栈。可以大大利用现有的IPv4网络投资但是隧道技术不能实现IPv4主机与udp和ipv6转发主机的直接通信。

udp和ipv6转发网络边缘设备收到udp和ipv6转发网络的udp和ipv6轉发报文后将udp和ipv6转发报文封装在IPv4报文中,成为一个IPv4报文在IPv4网络中传输到目的udp和ipv6转发网络的边缘设备后,解封装去掉外部IPv4头恢复原来嘚udp和ipv6转发报文,进行udp和ipv6转发转发

用于udp和ipv6转发穿越IPv4网络的隧道技术有:

S7500E仅支持隧道技术中的手工配置隧道、6to4自动隧道和ISATAP隧道,下面将对这彡种隧道技术进行介绍

udp和ipv6转发手工配置隧道的源和目的地址是手工指定的,它提供了一个点到点的连接udp和ipv6转发手工配置隧道可以建立茬两个边界路由器之间为被IPv4网络分离的udp和ipv6转发网络提供稳定的连接,或建立在终端系统与边界路由器之间为终端系统访问udp和ipv6转发网络提供連接隧道的端点设备必须支持udp和ipv6转发/IPv4双协议栈。其它设备只需实现单协议栈即可

udp和ipv6转发手工配置隧道要求在设备上手工配置隧道的源哋址和目的地址,如果一个边界设备要与多个设备建立手工隧道就需要在设备上配置多个隧道。所以手工隧道通常用于两个边界路由器の间为两个udp和ipv6转发网络提供连接。

一个手工隧道在设备上以一个虚接口存在从udp和ipv6转发侧收到一个udp和ipv6转发报文后,根据udp和ipv6转发报文的目嘚地址查找udp和ipv6转发转发表如果该报文是从此虚拟隧道接口转发出去,则根据隧道接口配置的隧道源端和目的端的IPv4地址进行封装封装后嘚报文变成一个IPv4报文,交给IPv4协议栈处理报文通过IPv4网络转发到隧道的终点。

隧道终点收到一个隧道协议报文后进行隧道解封装。并将解葑装后的报文交给udp和ipv6转发协议栈处理

一个设备上不能配置两个隧道源和目的都相同的udp和ipv6转发手工隧道。

6to4隧道也属于一种自动隧道隧道吔是使用内嵌在udp和ipv6转发地址中的IPv4地址建立的。与IPv4兼容自动隧道不同6to4自动隧道支持RouterRouterHostRouterRouterHostHostHost。这是因为6to4地址是用IPv4地址作为网络标识其地址格式如下:

通过6to4自动隧道,可以让孤立的udp和ipv6转发网络之间通过IPv4网络连接起来6to4自动隧道是通过Tunnel虚接口实现的,6to4隧道入口的IPv4地址手笁指定隧道的目的地址根据通过隧道转发的报文来决定。如果udp和ipv6转发报文的目的地址是6to4地址则从报文的目的地址中提取出IPv4地址作为隧噵的目的地址;如果udp和ipv6转发报文的目的地址不是6to4地址,但下一跳是6to4地址则从下一跳地址中取出IPv4地址做为隧道的目的地址。后者也称为6to4中繼S7500E系列交换机暂不支持6to4中继功能。

udp和ipv6转发报文在到达边界路由器后根据报文的udp和ipv6转发目的地址查找转发表,如果出接口是6to4自动隧道的Tunnel虛接口且报文的目的地址是6to4地址或下一跳是6to4地址,则从6to4地址中取出IPv4地址作为隧道报文的目的地址隧道报文的源地址是Tunnel接口上配置的。

┅个IPv4地址只能用于一个6to4隧道的源地址如果一个边缘路由器有多个6to4网络使用同样的IPv4地址作为网络本地地址,则使用6to4地址中的SLA ID来区分但他們共用一个隧道。

如果IPv4地址是全局唯一的则u位为1,否则u位为0g位是IEEE群体/个体标志。ISATAP地址接口ID的形式看起来是00-00-5E-FEIPv4地址的样子5E-FE

由于ISATAP是通过接口ID来表现的,所以ISATAP地址有全局单播、站点单播、多播等形式。ISATAP地址的前64位是通过向ISATAP路由器发送请求来得到的它可以进行地址自动配置。在ISATAP隧道的两端设备之间可以运行ND协议ISATAP隧道将IPv4网络看作一个非广播的点到多点的链路(NBMA)

ISATAP过渡机制允许在现有的IPv4网络内部部署udp和ipv6转发該技术简单而且扩展性很好,可以用于本地站点的过渡ISATAP支持udp和ipv6转发站点本地路由和全局udp和ipv6转发路由域,以及自动udp和ipv6转发隧道ISATAP同时还可鉯与NAT结合,从而可以使用站点内部非全局唯一的IPv4地址

典型的ISATAP隧道应用是在站点内部,所以其内嵌的IPv4地址不需要是全局唯一的。

如上图所示在IPv4网络内部有两个双栈主机PC2PC3,它们分别有一个私网IPv4地址要使其具有ISATAP功能,需要进行如下操作:

然而如果一个节点是处于NAT设备後面的私有网络内部,其IPv4地址是私有的为了能够穿越NAT设备与其它站点进行通讯,可以使用UDP/IPv4封装其端口号为3544

udp和ipv6转发支持各种单播路由協议(IGPEGPudp和ipv6转发单播路由协议实现和IPv4中类似,有些是在原有协议上做了简单扩展(ISISv6BGP4+)有些则完全是新的版本(RIPngOSPFv3)。

下一代RIP协議(简称RIPng)是对原来的IPv4网络中RIP-2协议的扩展大多数RIP的概念都可以用于RIPng

为了在udp和ipv6转发网络中应用RIPng对原有的RIP协议进行了修改:

udp和ipv6转发)。與OSPFv2相比OSPFv3除了提供对udp和ipv6转发的支持外,还充分考虑了协议的网络无关性以及可扩展性进一步理顺了拓扑与路由的关系,使得OSPF的协议逻辑哽加简单清晰大大提高了OSPF的可扩展性。

新增的两个TLV分别是:

NLP ID是标识IS-IS支持何种网络层协议的一个8比特字段udp和ipv6转发对应的NLP ID值为1420x8E)。如果IS-IS蕗由器支持udp和ipv6转发那么它必须在Hello报文中携带该值向邻居通告它支持udp和ipv6转发

传统的BGP-4只能管理IPv4的路由信息对于使用其它网络层协议(如udp囷ipv6转发等)的应用,在跨自治系统传播时就受到一定限制

BGP4+中引入的两个NLRI属性分别是:

BGP4+中的Next_Hop属性用udp和ipv6转发地址来表示,可以是udp和ipv6转发全球單播地址或者下一跳的链路本地地址

BGP4+利用BGP的多协议扩展属性来达到在udp和ipv6转发网络中应用的目的,BGP协议原有的消息机制和路由机制并没有妀变

目前和今后相当长的一段时间内IPv4网络依然占主导地位,udp和ipv6转发相关技术也在不断完善因此udp和ipv6转发网络的部署是一个渐进的过程并茬长期内和IPv4网络共存。

udp和ipv6转发网络的整体演进策略是从孤岛到骨干网络的过程可以针对不同的场景和应用采用不同的部署策略:

适用于尛型企业网络(如小型校园网),易于部署可以同时提供IPv4应用和udp和ipv6转发应用。这种方式需要所有路由器支持双栈、支持IPv4/udp和ipv6转发路由表缺点是需要路由器同时有IPv4udp和ipv6转发路由协议,对于大型网络升级工作量太大。

适用于运营商广域网或城域网已经部署了ATM、帧中继或DWDM情况丅只需要访问WAN的路由器支持双栈。这种方式部署很简单不会现有IPv4流量造成任何影响。缺点是没有专门支持udp和ipv6转发的硬件不能依靠硬件提高转发速率。

主要用在运营商初期部署udp和ipv6转发以及企业需要跨越IPv4网络连接不同的udp和ipv6转发域只需要提供udp和ipv6转发 DNS查询功能,并在IPv4网络和udp囷ipv6转发网络之间的路由器支持双栈IPv4/udp和ipv6转发双栈就可以实现这种方式投资和风险都很小。缺点是使用隧道使网络拓扑复杂不易管理,出現问题难以定位;另外由于使用隧道封装,对转发效率也有一定影响

适用于移动运营商或已部署了MPLS网络的运营商。这种方式下udp和ipv6转发運行于MPLS网络之上只需要在PECE设备上做微小改动(其中最典型的应用是6PE),不需要对核心网络进行硬件或软件升级主要问题是必须有MPLS网絡支持,和隧道类似网络管理开销比较大。

协议转换机制使用最普遍的是NAT-PT其它转换机制一般不在网络设备上实现。NAT-PT可以使只支持IPv4和只支持udp和ipv6转发的节点互相通信使用NAT-PT功能,只需要支持NAT-PT的设备和udp和ipv6转发 DNS解析无需双栈支持,终端系统不需要升级因此部署比较简单。缺點是存在单点失效问题而且由于需要在IPv4udp和ipv6转发报文之间转换,也影响了转发效率

S7500E主要满足中小企业核心层交换机、大型企业网络汇聚层交换机、配线间交换机等市场应用,提供高性能、大容量的交换服务为接入设备提供更高的带宽。

在中小企业中S7500E以太网交换机可莋为核心层交换机,提供了高性能、大容量的交换服务大路由模式下可配置64K udp和ipv6转发路由,具有强大的三层交换能力

在大型企业网络中,S7500E以太网交换机可作为汇聚层交换机提供了高性能、大容量的交换服务,并支持10GE的上行接口为接入设备提供了更高的带宽。

S7500E可以在数據中心作为服务器的高速接入能够提供全线速的二层和三层交换能力为数据中心提供高性能大容量的交换能力,并且具有较大的芯片buffer缓存能力同时10GE上行能力为数据中心进一步拓展出口带宽提供了可能。

随着udp和ipv6转发技术的发展和网络的进步平稳过渡到udp和ipv6转发网络。

}

    在测试NFS的时候突然发生了从未囿过的错误,故障信息如下为此特地描述一下排错的过程,供同行参考:

analysis:    从上面的信息可以看出nfs在启动的时候报错了。大致的意思昰无法设置udp和ipv6转发的套接字接口其中这一句话很重要:


    到这里,就很奇怪了nfs是支持udp和ipv6转发协议的,而且系统就更不要说了肯定支持udp囷ipv6转发协议。但是在linux系统中一切功能都是模块组合而成,只不过可以将模块编译进内核或者编译成外挂式模块动态加载因此,想到这裏就提出一个问题是不是udp和ipv6转发的模块没有加载,接着就进行下面的检查:
}

我要回帖

更多关于 udp和ipv6转发 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信