Back to Internet_Protocol_Suite

See also ARPNDP

Internet Protocol

互联网协议Internet ProtocolIP),或称互联网协议,是用于报文交换网络的一种面向数据的协议。

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

1. IP提供的服务

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

2. 可靠性

互联网协议的设计原则假定网络基础设施本身就是不可靠的单一网络元素或传输介质,并且它使用的是动态的节点和连接。不存在中央监测和性能衡量机制来跟踪和维护网络的状态。为了减少网络的复杂性,大部分网络只能故意地分布在每个数据传输的终端节点。传输路径中的路由器只是简单地将数据包发送到下一个匹配目的地址的路由前缀的本地网关。由于这种设计的结果,互联网协议只提供尽力传送,其服务也被视为是不可靠的。在网络专业语言中是一种无连接的协议,相对于所谓的面向连接的模式。在缺乏可靠性的条件下允许下列任何故障发生:

互联网协议提供的唯一帮助是,IPv4规定通过在路由节点计算校验和来确保IP数据报头是正确的。这个带来的副作用是当场丢弃报头错误的数据包。在这种情况下不需要发送通知给任一个终端节点, 但是互联网控制消息协议ICMP)中存在一个机制来做到这一点。但是,IPv6为了快速传输已经放弃了计算校验和的使用。对这些可靠性问题的更正是一个上层协议的责任。例如,一个上层协议为了确保按顺序传送可能要缓存数据,直到数据可以传递给应用程序。除了可靠性问题,互联网及其组成部分的动态性和多样性不能确保任何路径是有能力地或合适地完成所要求的数据传输,即使路径是有效并且可靠的。技术限制之一是在给定的链路上允许的数据包的大小。应用程序必须确保它使用适当的传输特性。这种责任还在于一些在应用层协议和IP之间的上层协议。存在审查的本地连接尺寸最大传输单位(MTU),以及整个预计到目标路径时使用IPv6。 IPv4的网络层有自动分片成更小的单位进行传输原始数据报的能力。在这种情况下,IP确实能够为乱序的分片进行顺序排序。

3. IP寻址和路由

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

4. 版本历史

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

5. IP Address

5.1. IPv4

5.1.1. Subnetting

Historical classful network architecture

Class

Leading
bits

Size of network
number
bit field

Size of rest
bit field

Number
of networks

Addresses
per network

Start address

End address

A

0

8

24

128 (27)

16,777,216 (224)

0.0.0.0

127.255.255.255

B

10

16

16

16,384 (214)

65,536 (216)

128.0.0.0

191.255.255.255

C

110

24

8

2,097,152 (221)

256 (28)

192.0.0.0

223.255.255.255

5.1.1.1. CIDR

Classless Inter-Domain Routing (CIDR, pronunciation: /ˈsaɪ.dr/ or /ˈsi.dr/) 是一个在Internet上创建附加地址的方法,这些地址提供给服务提供商(ISP),再由ISP分配给客户。CIDR将路由集中起来,使一个IP地址代表主要骨干提供商服务的几千个IP地址,从而减轻Internet路由器的负担。

表示

对应IP段

10.0.0.0/24

10.0.0.1-10.0.0.255

10.0.0.0/16

10.0.0.1-10.0.255.255

10.0.0.0/8

10.0.0.1-255.255.255

子网掩码

CIDR值

Address Range

255.0.0.0

/8

255.0.0.0~255.255.255.255

255.128.0.0

/9

255.192.0.0

/10

255.224.0.0

/11

255.240.0.0

/12

255.255.0.0

/16

255.255.0.0~255.255.255.255

255.255.255.0

/24

192.168.56.0

/24

192.168.56.0~192.168.56.255

192.168.56.0

/26

192.168.56.0~192.168.56.63

192.168.56.0

/28

192.168.56.0~192.168.56.15

192.168.56.0

/29

192.168.56.0~192.168.56.7

192.168.56.8

/29

192.168.56.8~192.168.56.15

192.168.56.0

/32

192.168.56.0

CIDR Calculator

5.1.2. Private addresses

Today, when needed, such private networks typically connect to the Internet through network address translation (NAT).

IANA-reserved private IPv4 network ranges

Start

End

No. of addresses

24-bit block (/8 prefix, 1 × A)

10.0.0.0

10.255.255.255

16777216

20-bit block (/12 prefix, 16 × B)

172.16.0.0

172.31.255.255

1048576

16-bit block (/16 prefix, 256 × C)

192.168.0.0

192.168.255.255

65536

5.2. IPv6 addresses

Ipv6_address.svg

6. Reference

MainWiki: IP (last edited 2012-01-08 00:58:59 by twotwo)