网络层-4、IP地址和IP子网

来源:互联网 发布:逆袭网络剧在线观看04 编辑:程序博客网 时间:2024/06/07 10:35

参考哈工大公开课。

IP编址:

IP分组是通过IP分组的头部中的源IP地址和目的IP地址来区分分组从哪里来,到哪里去的,并通过物理链路连接并发送到对应的主机。那么每个参与实现网络层功能的设备都应该有相应的IP接口。在Internet中主要分两类,一类是路由器,它通常有多个接口,那么它的每个接口都需要一个IP地址;另一类是主机,通常一个主机只有一个或者两个接口,e.g:有线的以太网接口和无线网接口。

 

在Internet中,采用32位的IP地址对主机壳路由器接口进行标识,且每个IP地址与每个接口。为了方便查看和书写IP地址,我们通常采用点分十进制来记录IP地址。点分十进制就是把IP地址分成4个8位,每个8位用十进制记录,中间用小数点隔开。

 

图一:点分十进制示例

 

图二:IP标识端口示例

 

32IP地址有40个亿的地址,笔者在之前的文章中已经介绍了路由器是通过维护一张转发表来进行转发的,但是路由器不可能维护一张40亿的表,所以需要将IP地址进行划分,将高位比特位划分为网络号(NetID),低位比特位划分为主机号(HostID),具有相同NetID且在那个范围内IP没有经过其他网络层设备转发,那么我们就把这个范围的网络称为IP子网(subnet);更直接的表达就是在IP子网内没有路由器。

图三:IP地址划分和IP子网示例

 

         有了IP的划分,那么路由器就可以按照子网进行转发了,这样就在很大程度上减少路由器需要处理的地址长度,减少了的数量。

 

有类IP地址

有类IP地址将32位的IP地址分成了5类,每一类的地址范围和功能略有不同:

A类:IP地址以0开头,NetID占8位,HostID占24位,地址范围是0.0.0.0-255.255.255.255,占总IP地址的50%。

B类:IP地址以10开头,NetID占16位,HostID占16位,地址范围是128.0.0.0-191.255.255.255,占总IP地址的25%。

C类:IP地址以110开头,NetID占24位,HostID占8位,地址范围是192.0.0.0-223.255.255.255,占总IP地址的12.5%。

D类:IP地址以1110开头,这个地址区域不分网络号和主机号,主要用于标识互联网中的一组主机,只能向其发送数据,IP也只是作为目的地址,这些我们也称为多播地址。地址范围是224.0.0.0-239.255.255.255,占总IP地址的6.25%。

E类:IP地址以1111开头,这个地址区域也不分网络号和主机号,这部分地址作为保留研究使用。地址范围是224.0.0.0-239.255.255.255,占总IP地址的6.25%。

图四:IP地址划分

 

在Internet中,一般只使用A、B、C这三类地址用来标识接口,但是在这三类地址中也有一些特殊的地址见图五。。

图五:特殊的IP地址

 

在一个子网内,任然会有许多台主机,那么我们就需要将子网在进行划分,在主机号的高位取部分比特作为子网号(SubID),然后再利用路由器进行子网划分,例子如图六所示。

图六:子网划分示例

 

在图六的示例中,我们可以看出SubID是从HostID中取了两位,通过路由器链接,将子网划分成了四个。

 

划分子网还有个问题需要解决,那就是怎么确定划分了子网,利用了多少位来划分子网。为了解决这个问题,引入子网掩码。子网掩码与IP极其类似,也是32位,采用点分十进制形式。不同点在于它的NetID与SubID全是1,HostID全是0。这样一来,通过IP的首部,我们可以知道IP的种类,从而知道NetID的位数,然后通过子网掩码的1的位数-NetID的位数,就可以得到SubID的位数了。这样,我们通过子网地址+子网掩码就可以准确确定子网大小了。

例如:

A网的默认子网掩码是:255.0.0.0

B网的默认子网掩码是:255.255.0.0

C网的默认子网掩码是:255.255.255.0

借用3个比特位划分子网的B网的子网掩码是:255.255.224.0 (11111111 11111111 11100000 00000000)。

原创粉丝点击