网际协议

维基百科,自由的百科全书
跳转至: 导航搜索

網際協議英语Internet ProtocolIP),或称網際網路協議,是用于报文交换网络的一种面向数据的协议。

IP是在TCP/IP协议网络层的主要协议,任务是仅仅根据源主机和目的主机的地址传送数据。为此目的,IP定义了寻址方法和数据报的封装结构 。第一个架构的主要版本,现在称为IPv4,仍然是最主要的互联网协议,尽管世界各地正在积极部署IPv6

IP封装[编辑]

数据在IP互联网中传送时会被封装为資料包。IP协议的独特之处在于:在报文交换网络中主机在传输数据之前,无须与先前未曾通信过的目的主机预先建立好一条特定的“通路”。互联网协议提供了一种“不可靠的”数据包传输机制(也被称作“尽力而为”);也就是说,它不保证数据能准确的传输。数据包在到达的时候可能已经损坏,顺序错乱(与其它一起传送的封包相比),产生冗余包,或者全部丢失。如果应用需要保证可靠性,一般需要采取其他的方法,例如利用IP的上层协议控制。

IP提供的服务[编辑]

由于封装带来的抽象机制,IP能够在各种各样的网络上工作,例如以太网ATMFDDIWi-Fi令牌环等等。每个链路层的实现可能有自己的方法(也有可能是完全没有它自己的方法),把IP地址解析成相应的数据链路地址。IPv4使用地址解析协议(ARP),而IPv6采用邻居发现协议(NDP)。

可靠性[编辑]

互联网协议的设计原则,假定网络基础设施本身就是不可靠的单一网络元素或传输介质,并且它使用的是动态的节点和连接。不存在中央监测和性能衡量机制来跟踪和维护网络的状态。为了减少网络的复杂性,大部分网络智能故意地分布在每个数据传输的终端节点。传输路径中的路由器只是简单地将資料包发送到下一个匹配目的地址的路由前缀的本地网关。

由于这种设计的结果,互联网协议只提供尽力传送,其服务也被视为是不可靠的。在网络专业语言中是一种无连接的协议,相对于所谓的面向连接的模式。在缺乏可靠性的条件下允许下列任何故障发生:

  • 数据损坏
  • 丢失数据包
  • 重复到来
  • 数据包传递乱序;意思是,如果包'A'是在包'B'之前发送的,但B可能在A到达前到达。

互联网协议提供的唯一帮助是,IPv4规定通过在路由节点计算校验和来确保IP数据报头是正确的。这个带来的副作用是当场丢弃报头错误的資料包。在这种情况下不需要发送通知给任一个终端节点, 但是互联网控制消息协议(ICMP)中存在一个机制来做到这一点。

但是,IPv6为了快速传输已经放弃了计算校验和的使用。

对这些可靠性问题的更正是一个上层协议的责任。例如,一个上层协议为了确保按顺序传送可能要缓存数据,直到数据可以传递给应用程序。

除了可靠性问题,互联网及其组成部分的动态性和多样性不能确保任何路径是有能力地或合适地完成所要求的数据传输,即使路径是有效并且可靠的。技术限制之一是在给定的链路上允许的数据包的大小。应用程序必须确保它使用适当的传输特性。这种责任还在于一些在应用层协议和IP之间的上层协议。存在审查的本地连接尺寸最大传输单位(MTU),以及整个预计到目标路径时使用IPv6。 IPv4的网络层有自动分片成更小的单位进行传输原始数据报的能力。在这种情况下,IP确实能够为乱序的分片进行顺序排序。

IP寻址和路由[编辑]

IP协议最为复杂的方面可能就是寻址和路由了。寻址就是如何将IP地址分配给各个终端节点,以及如何划分和组合子网。所有网络端点都需要路由,尤其是网际之间的路由器。路由器通常用内部网关协议Interior Gateway Protocols,IGPs)和外部网关协议External Gateway Protocols,EGPs)决定怎样发送IP数据包。

版本历史[编辑]

现在的国际互联网普遍的采用了IP协议。而现在正在网络中运行的IP协议是IPv4IPv6 为IPv4的后续的一个版本。互联网现在正慢慢的耗尽IP地址,而IPv6的出现解决了这个问题,与IPv4的32位的地址相比而言,IPv6拥有128位的地址空间,可以提供比前者多很多的地址。版本0至3不是被保留就是没有使用。而版本5被用于实验流传输协议。其他的版本也已经被分配了,通常是被用于实验的协议,而没有被广泛的应用。

参见[编辑]

外部链接[编辑]