www.138139.cn

返回总目录 上一页 目录页 下一页

协议的层次


   在TCP/IP协议集内,与IP直接或间接互操作的协议包括各种应用层协议、链路层协议以及TCP和UDP。本章将探讨如何对这些协议进行修改或者是否必须修改以适应IPv6。
回顾第2章,TCP/IP网络技术依赖于层次概念。在每一层,两个实体可以彼此通信,使用相邻下层来封装其数据。应用协议通常从一个节点到另一个节点来定义应用程序彼此通信的方式。来自应用层的数据由传输层协议进行封装,然后再封装在网际层协议内,最后封装在链路层协议中。
要理解IPv6对其他层协议的影响,重要的是要理解这些协议如何使用IP。由于如此众多的系统要依靠大量的TCP/IP网络技术和应用协议,重要的是对IP的升级不一定要对IP的上层或下层协议进行广泛的升级。因此,除IPv4之外,大多数现有TCP/IP应用、软件和硬件只需要进行少量修改,就可以和IPv6一起工作。
10.1.1 应用层
万维网( WWW )和e-mail是当今使用最广泛的应用。WWW和e-mail客户必须指向Internet上的服务器才能工作。传统上这些客户能够接受节点的主机名或其IP地址。在使用域名时,可调用域名系统( DNS )来获得与主机名对应的IP地址,然后在传输层和网际层使用。
对于简单的应用,很容易使其与IPv6一起工作:可以重写软件,使其能接受和正确处理IPv4地址和IPv6地址;或者要求只能按主机名来访问。前一种方法保留了应用直接对节点寻址的能力,但相对而言比较复杂;而后一种方法只是去掉了大多数用户不使用甚至不需要的功能。
但是,考虑到对IPv6提供的安全性、服务质量或其他特性的需要,有些应用希望使用IPv6服务,这样就需要更广泛的更新。
10.1.2 传输层
大多数情况下,IP地址与应用层协议无关,但是与传输层协议却有很大关系。UDP和TCP的伪头都使用了源IP地址和目的IP地址,而且TCP电路是由源节点和目的节点的IP地址和端口号来定义的。如果要与IPv6互操作,至少要修改UDP和TCP,以适应1 2 8位IPv6地址。这意味着UDP和TCP需要识别IPv6地址,并能正确计算伪头。对于TCP,其实现还必须能够管理基于IPv6地址的电路。
在第一个IPv6 RFC发布之后,出现了一些顾虑,即需要TCPng来补充IP n g。目前TCP在处理移动节点时有一点问题:确定TCP电路需要源节点和目的节点的IP地址。如果在TCP交互期间,一方或双方的IP地址有所改变,则电路的标识就会出现问题。移动节点从一个网络地址向另一个网络地址转换时就会出现这种情况,例如,火车或汽车上的节点使用无线网络接入,或连接到网络的节点在夜间为获得更好的费率而改变I S P的情形。
这种问题的产生是由于TCP至少在目前还没有机制能允许在连接中改变IP地址。如果一个节点收到的TCP段中的源IP地址与此TCP电路在建立时协商的地址不同,该节点将认为这个TCP段是属于另一个电路的。这意味着移动IP目前还不能支持激活的TCP电路从一个网络地址向另一个网络地址转换。
TCPng的问题比简单地允许TCP连接支持网络地址转换要复杂许多。问题在于支持这样的地址转换将导致安全性漏洞:攻击者很容易冒充从一个网络向另一个网络转换的节点,如同授权的节点从一个网络向另一个网络转换一样。解决这样的问题将要求对TCP进行重大的升级,即需要引入机制使节点在其IP地址改变时能向其他节点证明自己。
目前,如果移动IP在TCP连接的中间切换网络,它必须在切换之后重新协商连接。某种意义下,对于支持移动主机的无缝互操作, TCPng是很必要的。
10.1.3 链路层
与上面层相比,诸如以太网和ATM之类的链路层协议由于IPv6的升级而受到的影响很小。这是由于这些协议只是将上层数据报封装到链路层帧中。但这并不说明IPv6对链路层协议毫无影响。例如, ATM使用类似点到点电路来跨越网络传送数据,对于需要将IPv6包交付多个节点的服务,ATM需要格外注意。关于ATM over IP的详细信息参见RFC 1680(IPng对ATM服务的支持)和RFC 1932(IP over ATM:一个框架文档)。也可参见IP over ATM工作组的Internet 草案,其中一些草案涉及Ipv6 over ATM地址。
可能受IPv6影响的链路层问题还包括路径M T U发现(参见第5章)及地址解析协议( ARP ),这些协议需要修改以支持128位IPv6地址。

址163164.cn 微信1631640 QQ3149886

返回总目录 上一页 目录页 下一页