IP地址

1. IP地址机器表示方法

整个因特网就是一个单一的、抽象的网络。IP地址就是给因特网上的每个主机(或路由器)的每个接口分配一个在全世界范围是惟一的32位的标识符。
IP地址的编址方法共通过了三个历史阶段。算法

1.1 分类的IP地址

将IP地址划分为若干个固定了,每一类地址都由两个固定长度的字段组成,其中一个字段是网络号,它标志主机(或路由器)所链接到的网络。一个网络号在整个因特网范围内必须是惟一的。第二个字段是主机号,它标志该主机(或路由器)。一个主机号在它前面的网络号所指明的网络范围内必须是惟一的。这种两级的IP地址能够记为:
IP地址::={<网络号>,<主机号>}
(1)A类、B类和C类地址的网络号字段分别为1,2,3字节长,而在网络号字段的最前有1~3位的类别位,其数值粉笔规定为0,10和110。
(2)A类、B类和C类地址的主机号字段粉笔为3个、2个和1个字节长。
(3)D类地址(前4位时1110)用于多播(一对多通讯),E类地址保留为之后用。
因为已经普遍使用无分类IP地址进行路由选择,A类、B类和C类地址的区别已成为历史。
IP地址都是32位的二进制代码,为了提升可读性,经常把32位的IP地址中的每8位用其等效的十进制数字表示,而且在这些数字之间加上一个点,这就是点分十进制记法网络

IP地址具备如下一些重要特色:
(1)每个IP地址都由网络号和主机号两部分组成。
(2)实际上IP地址是标志一个主机(或路由器)和一条链路的接口。当一个主机同时链接到两个网络上时,该主机就必须同时具备两个相应的IP地址,其网络号必须是不一样的。因为一个路由器至少应当链接到两个网络,所以一个路由器至少应当有两个不一样的IP地址。
(3)一个网络是指具备相同网络号的主机的集合,所以,用转发器或王巧链接其阿里的若干个局域网仍为一个网络,由于这些局域网都具备相同的网络号,具备不一样网络号的局域网必须使用路由器进行互连。
(4)在IP地址中,全部分配到网络号的网络都是平等的。性能

应当注意到:
(1)在同一个局域网上的主机或路由器的IP地址中的网络号必须是同样的。
(2)用网桥(链路层)互连的网段仍然是一个局域网,只能有一个网络号。
(3)路由器老是具备两个或两个以上的IP地址。即路由器的每一个接口都有一个不一样网络号的IP地址。
(4)当两个路由器直接相连时,在连线两端的接口处,能够分配也能够不分配IP地址3d

1.2 子网划分

两级IP地址的缺点:
(1)IP地址空间的利用率有时很低
(2)给每个物理网络分配一个网络号会使路由表变得很大于是使忘了性能变坏
(3)两级IP地址不够灵活
划分子网的基本思路:
(1)一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网
(2)划分子网的方法是从网络的主机号借用若干位做为子网号,固然主机号也就相应减小了一样位数。因而两级IP地址在本单位内部就变为三级IP地址:网络号、子网号和主机号。能够用一下记法:
{<网络号>,<子网号>,<主机号>}
(3)凡是从其余网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号找到链接在本单位网络上的路由器。但此路由器在收到IP数据报后,再按目的网络号合子网号找到目的子网,把IP数据阿伯交付给目的主机。
总之,当没有划分子网时,IP地址是两级结构。划分子网后IP地址变成了三级结构。划分子网只是把IP地址的主机号这部分进行在划分,而不改变IP地址原来的网络号。blog

子网掩码
假定有一个数据包(目的地址是145.13.3.10)已经到达了路由器R,这个路由器如何把它转发到子网145.13.3.0呢?
路由器R纪要使用子网掩码,它也是32位,由一串1和跟随的一串0组成。子网掩码中的1对应于IP地址中原来的网络号加上子网号,而子网掩码中的0对应于如今的主机号。
路由器R把子网掩码和收到的数据报的目的IP地址145.13.3.10逐位相“与”,得出了索要找的子网的网络地址145.13.3.0。
使用子网掩码的好处就是:无论网络有没有划分子网,只要把子网掩码和IP地址进行逐位的“与”运算,就当即得出网络地址来。这样在路由器处理到来的分组时就可采用一样的算法。接口

已知IP地址是141.14.72.24,子网掩码是255.255.192.0。试求网络地址。
解:子网掩码是11111111 11111111 11000000 00000000。掩码的前连个字节都是全1,所以网络地址的前两个字节可谢伟141.14。子网掩码的第四字节是全0,所以网络地址的第四字节是0.仅需对地址中的第三字节进行计算。
只要把IP地址和子网掩码的第三字节用二进制表示,就能够很容易得出网络地址。
若子网掩码该为255.255.224.0。试求网络地址。
用一样的方法,能够得出网络地址141.14.64.0。
因此一样的IP和不一样的子网掩码能够得出相同的网络地址。可是,不一样的掩码效果是不一样的。资源

使用子网时分组的转发
使用子网划分后,路由表必须包含如下三项内容:目的网络地址、子网掩码、下一跳地址。
在划分子网的状况下,路由器转发分组的算法以下:
(1)从收到的数据报的首部提取目的IP地址D
(2)先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用个网络的子网掩码和D逐渐位“与”,看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付,转发任务结束。不然就是间接交付,执行(3)。
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;不然,执行(4)
(4)对路由器表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D逐位“与”,其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;不然,执行(5)。
(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;不然,执行(6)。
(6)报告转发分组出错。路由

1.3 构成超网(无分类编址CIDR)

网络前缀
划分子网在必定程度上缓解了因特网在发展中遇到的困难,然而因特网仍然面临三个必须尽早解决的问题,就是:
(1)B类地址在1992年已分配了近一半,很快就将所有分配完毕。
(2)因特网主干网上的路由表中的项目数急剧增加(从几千个增加到几万个)
(3)整个IPv4的地址空间最终将所有耗尽基础

在一个划分子网的网络中可同时使用几个不一样的子网掩码。使用变长子网掩码VLSM可进一步提升IP地址资源的利用率。在VLSM的基础上又进一步研究出无分类编址方法,它的正式名字是无分类域间路由选择CIDR。
CIDR最主要的特色有两个:
(1)CIDR消除了传统的A类,B类和C类地址以及划分子网的概念。
CIDR把32位的IP地址划分为两个部分,前面的部分是“网络前缀”,用来指明网络,后面的部分则用来指明主机。所以CIDR使IP地址从三级编址又回到两级编址,但这已经是无分类的两级编址,它的记法是:
{<网络前缀>,<主机号>}
CIDR使用斜线记法,称为CIDR记法,即在IP地址后面加上斜线"/",而后写上网络前缀所占的位数。
(2)CIDR把网络前缀都相同的连续的IP地址组成一个CIDR地址块,只要知道CIDR地址块中的任何一个地址,就能够知道这个地址块的起始地(即最小地址)和最大地址,以及地址块中的地址数。
例如,已知IP地址128.14.35.7/20是某CIDR地址块中的一个地址,如今把它写成二进制表示,其中的前20位时忘了前缀,而前缀后面的12位时主机号:
128.14.35.7/20=10000000 00001110 0010/0011 00000111
这个地址所在的最小地址和最大地址能够很方便得出:
最小地址 128.14.32.0 10000000 00001110 0010/0000 00000000
最大地址 128.14.47.255 10000000 00001110 0010/1111 11111111路由器