论文部分内容阅读
不过难就难在这里:IP在不断演变当中,却没有人认真地记录下所有变化。
互联网架构委员会(IAB)的成员、微软公司的软件架构师Dave Thaler解释:“IP模型并不是静止不变的。这些年来已发生了变化,它还在不断演变当中。”
Thaler近日在互联网的主要标准机构:互联网工程任务组(IETF)召开的一次会议上做了大会发言。他的演讲内容摘自IAB起草的一份文件:《IP模型的演变》。
Thaler说:“自1978年以来,不断出现的许多应用和上层协议基于种种假设,而这些假设并未由哪个部门列出来,不一定众所周知,应用和协议改动时没有被考虑到,甚至越来越不正确。IAB的目的就是,统一收集这些假设……越来越多的是误解,把正确的部分逐一记录下来,为互联网社区提供一些指导。”
下面列出来的关于互联网工作原理的一些误解摘自Yhaler的发言。
1.如果我能联系到你,你也能联系到我。
Thaler把这个误解取名为“可达性是对称的”;他表示,许多互联网应用假设:如果主机A可以连接主机B,那么主机B也一定可以连接主机A。许多具有请求/响应或者回叫功能的应用就基于这种假设。然而这个假设并不总是成立的,因为在IP通信过程当中还有像网络地址转换设备(NAT)和防火墙这样的中间设备;对802.11无线局域网或者卫星链路而言,这个假设并不总是成立的。
2,如果我能联系到你,你又能联系到他,那么我也能联系到他。
Thaler称这个理论为“可达性是可递的”;有些应用在相互转发时用到了这个假设。与第一个误解一样,这个假设如今并不总是成立的,原因同样出在NAT和防火墙等中间设备,802.11及卫星链路上。
3.组播始终行得通。
组播让你可以同时与许多系统进行通信,只要接收方表明能够接收通信。许多应用假设:组播在各种各样的链路中都行得通。但对802.11无线局域网或者Teredo或6to4,等隧道机制而言,组播就行不通了。
4,两个系统之间建立通信所有的时间就是通信期间的整个时延。
Thaler表示,许多应用假设:第一个数据包向目的地发出去之后,通常都会遇到端到端时延。比方说,许多应用会ping多台服务器,然后选择最先响应的那台服务器。不过,第一个数据包可能因为需要执行查询工作,导致额外时延。所以基于这个假设的应用可能会选择比较长的路径,响应时间比较长。像Mobile IPv6协议和协议独立组播协议这些应用通过一条路径发送数据包,随后切换到另一条比较短、比较快的路径上,这种情况越来越多。
5.IP地址很少变化。
Thaler表示,许多应用都假设:IP地址是长时间不变的。这些应用把域名解析成地址,然后缓存起来,根本不理会域名/地址对应关系的有效期。如今由于动态主机配置协议、漫游机制和无线通信很普及,这个假设并不总是成立的。
6.一台计算机只有一个IP地址和一个网络借口。
Thaler表示。这个假设从一开始就不成立。自互联网一问世,主机可能就有好几个物理的网络接口,每个接口可能有好几个逻辑互联网地址。如今,计算机需要在同一个接口上处理有线和无线接入、IPv4/IPv6双模节点和多个IPv6地址,所以这个假设其实就是一种误解。
7.如果我和你都有同一个子网的地址,我们肯定彼此相邻。
有些应用假设:应用使用的IP地址与用于路由的那个地址是一样的。这意味着,应用可能以为:同一个子网上的两个系统是相邻的,因而与对方通话要比与远地的系统通话来得省事。但这个假设由于隧道机制和移动性的存在而站不住脚。如令,越来越多的新型应用采用一种名为“身份与位置分离”(identifier/locator split)的方案,该方案使用与用来定位系统的IP地址不同的IP地址来标识系统。
8.新的传输层协议将可以在互联网上使用
Thaler表示,当初设计IP的目的是支持IP底下的新型传输协议,但是现在越来越不是这样。大多数NAT和防火墙只允许传输控制协议(TCP)和用户数据报协议(UDP)用于传输数据包比较新的基于Web的应用只能基于超文本传输协议(HTTP)运行。
9.如果信息可以通过我与你之间的一条连接来传送,那么也可以通过另一条连接来传送。
有些应用会在两个系统之间开启多条连接以便通信:一条用于数据传输,另一条用于控制管理。问题是,像NAT和防火墙这些中间设备会禁用某些端口,不允许多条连接。Thaler表示,这就是为什么像文件传输协议(FTP)和实时传输协议(RTP)这些应用并不总是能够正常使用。
10.互联网通信在传输中不会出现变化
Thaler列举了互联网安全方面不再成立的几个假设。其中一个假设就是,数据包在传输中不会被改动。虽然这个假设在互联网发展初期是正确的,但现在由于出现了NAT、防火墙、入侵检测系统及其他许多中间设备,它已不再成立。IPSec通过对IP数据包进行加密解决了这个问题,但是这种安全方案在互联网上并没有得到广泛应用。
11.互联网通信是保密的
互联网开发人员和用户可以为常的与安全有关的另一个假设就是,数据包是保密的。Thaler表示,根本不是这样。互联网用户要确信自己的通信是保密的,惟一办法就是部署IPSec,这一套协议用于通过对IP数据包进行验证和加密来确保IP通信的安全。
12.源地址不会被伪造
许多互联网应用都假设,数据包是从它使用的那个IP源地址发过来的。然而,IP地址欺诈已经变得司空见惯,这种手段用来隐藏实施拒绝服务(DoS)及其他攻击的发送者的真实身份。Thaler表示,基于这个假设而开发的应用很容易受到攻击。
互联网架构委员会(IAB)的成员、微软公司的软件架构师Dave Thaler解释:“IP模型并不是静止不变的。这些年来已发生了变化,它还在不断演变当中。”
Thaler近日在互联网的主要标准机构:互联网工程任务组(IETF)召开的一次会议上做了大会发言。他的演讲内容摘自IAB起草的一份文件:《IP模型的演变》。
Thaler说:“自1978年以来,不断出现的许多应用和上层协议基于种种假设,而这些假设并未由哪个部门列出来,不一定众所周知,应用和协议改动时没有被考虑到,甚至越来越不正确。IAB的目的就是,统一收集这些假设……越来越多的是误解,把正确的部分逐一记录下来,为互联网社区提供一些指导。”
下面列出来的关于互联网工作原理的一些误解摘自Yhaler的发言。
1.如果我能联系到你,你也能联系到我。
Thaler把这个误解取名为“可达性是对称的”;他表示,许多互联网应用假设:如果主机A可以连接主机B,那么主机B也一定可以连接主机A。许多具有请求/响应或者回叫功能的应用就基于这种假设。然而这个假设并不总是成立的,因为在IP通信过程当中还有像网络地址转换设备(NAT)和防火墙这样的中间设备;对802.11无线局域网或者卫星链路而言,这个假设并不总是成立的。
2,如果我能联系到你,你又能联系到他,那么我也能联系到他。
Thaler称这个理论为“可达性是可递的”;有些应用在相互转发时用到了这个假设。与第一个误解一样,这个假设如今并不总是成立的,原因同样出在NAT和防火墙等中间设备,802.11及卫星链路上。
3.组播始终行得通。
组播让你可以同时与许多系统进行通信,只要接收方表明能够接收通信。许多应用假设:组播在各种各样的链路中都行得通。但对802.11无线局域网或者Teredo或6to4,等隧道机制而言,组播就行不通了。
4,两个系统之间建立通信所有的时间就是通信期间的整个时延。
Thaler表示,许多应用假设:第一个数据包向目的地发出去之后,通常都会遇到端到端时延。比方说,许多应用会ping多台服务器,然后选择最先响应的那台服务器。不过,第一个数据包可能因为需要执行查询工作,导致额外时延。所以基于这个假设的应用可能会选择比较长的路径,响应时间比较长。像Mobile IPv6协议和协议独立组播协议这些应用通过一条路径发送数据包,随后切换到另一条比较短、比较快的路径上,这种情况越来越多。
5.IP地址很少变化。
Thaler表示,许多应用都假设:IP地址是长时间不变的。这些应用把域名解析成地址,然后缓存起来,根本不理会域名/地址对应关系的有效期。如今由于动态主机配置协议、漫游机制和无线通信很普及,这个假设并不总是成立的。
6.一台计算机只有一个IP地址和一个网络借口。
Thaler表示。这个假设从一开始就不成立。自互联网一问世,主机可能就有好几个物理的网络接口,每个接口可能有好几个逻辑互联网地址。如今,计算机需要在同一个接口上处理有线和无线接入、IPv4/IPv6双模节点和多个IPv6地址,所以这个假设其实就是一种误解。
7.如果我和你都有同一个子网的地址,我们肯定彼此相邻。
有些应用假设:应用使用的IP地址与用于路由的那个地址是一样的。这意味着,应用可能以为:同一个子网上的两个系统是相邻的,因而与对方通话要比与远地的系统通话来得省事。但这个假设由于隧道机制和移动性的存在而站不住脚。如令,越来越多的新型应用采用一种名为“身份与位置分离”(identifier/locator split)的方案,该方案使用与用来定位系统的IP地址不同的IP地址来标识系统。
8.新的传输层协议将可以在互联网上使用
Thaler表示,当初设计IP的目的是支持IP底下的新型传输协议,但是现在越来越不是这样。大多数NAT和防火墙只允许传输控制协议(TCP)和用户数据报协议(UDP)用于传输数据包比较新的基于Web的应用只能基于超文本传输协议(HTTP)运行。
9.如果信息可以通过我与你之间的一条连接来传送,那么也可以通过另一条连接来传送。
有些应用会在两个系统之间开启多条连接以便通信:一条用于数据传输,另一条用于控制管理。问题是,像NAT和防火墙这些中间设备会禁用某些端口,不允许多条连接。Thaler表示,这就是为什么像文件传输协议(FTP)和实时传输协议(RTP)这些应用并不总是能够正常使用。
10.互联网通信在传输中不会出现变化
Thaler列举了互联网安全方面不再成立的几个假设。其中一个假设就是,数据包在传输中不会被改动。虽然这个假设在互联网发展初期是正确的,但现在由于出现了NAT、防火墙、入侵检测系统及其他许多中间设备,它已不再成立。IPSec通过对IP数据包进行加密解决了这个问题,但是这种安全方案在互联网上并没有得到广泛应用。
11.互联网通信是保密的
互联网开发人员和用户可以为常的与安全有关的另一个假设就是,数据包是保密的。Thaler表示,根本不是这样。互联网用户要确信自己的通信是保密的,惟一办法就是部署IPSec,这一套协议用于通过对IP数据包进行验证和加密来确保IP通信的安全。
12.源地址不会被伪造
许多互联网应用都假设,数据包是从它使用的那个IP源地址发过来的。然而,IP地址欺诈已经变得司空见惯,这种手段用来隐藏实施拒绝服务(DoS)及其他攻击的发送者的真实身份。Thaler表示,基于这个假设而开发的应用很容易受到攻击。