前言
上一章介绍了数据链路层——以太网数据帧的报文格式(你知道以太网数据帧在网络中如何发送和接收的吗?一文带你搞懂它),本章介绍下网络层——IP地址。
大家都知道计算机都会有一个IP地址,只有配置了IP地址的主机才可以上网,IP地址的获取可以手动静态配置,也可以通过DHCP动态获取IP地址。
如下图所示,本机是自动获取IP地址的,如果使用静态的方式配置IP地址,需要配置IP地址、子网掩码、默认网关。
如何查看本机动态获取的地址呢?
通过cmd打开命令提示符,输入“ipconfig”,如下图所示可以看到本机获取的IP地址为192.168.1.25, 子网掩码为255.255.255.0,网关为192.168.1.1。
上面查询到的地址是私网地址,那么如何查看自己的公网地址呢?如下图,本机使用的公网地址是114.252.113.101,使用的是北京联通的地址。
正文
1 什么是IP地址:
IP地址(Internet Protocol Address)是指互联网协议地址,又叫网际协议地址。
IP地址是IP协议(IP协议是为计算机网络相互连接进行通信而设计的协议)提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理MAC地址的差异。
IP地址就像是我们的家庭住址一样,如果你要写信给一个人,你就要知道他(她)的地址,这样邮递员才能把信送到。计算机发送信息就好比是邮递员,它必须知道唯一的“家庭地址”才能不至于把信送错人家。只不过我们的地址是用文字来表示的,计算机的地址用二进制数字表示。
2 IP地址作用
IP地址用来标识网络中的设备,具有IP地址的设备可以在同一网段内或跨网段通信。(后续会介绍网络中的主机如何通过IP地址进行通信的)
IP地址包括两部分,第一部分是网络号,表示IP地址所属的网段,第二部分是主机号,用来唯一标识本网段上的某台网络设备。
3 IP地址表示
IPv4地址为32比特的二进制数,通常用点分十进制表示
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。
IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。
例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。
二进制和十进制转换:
例如:100=64+32+4=2^6+2^5+2^2 ,那么100的二进制就是 0110 0100 。
4 IP地址分类
IPv4地址被划分为A、B、C、D、E五类,每类地址的网络号包含不同的字节数。
A类,B类,和C类地址为可分配IP地址,每类地址支持的网络数和主机数不同。
比如,A类地址可支持126个网络,每个网络支持2^24 (16,777,216 )个主机地址,另外每个网段中的网络地址和广播地址不能分配给主机。
C类地址支持200多万个网络,每个网络支持256个主机地址,其中254个地址可以分配给主机使用。
D类地址为组播地址。主机收到以D类地址为目的地址的报文后,且该主机是该组播组成员,就会接收并处理该报文。
各类IP地址可以通过第一个字节中的比特位进行区分。
如A类地址第一字节的最高位固定为0,B类地址第一字节的高两位固定为10,C类地址第一字节的高三位固定为110,D类地址第一字节的高四位固定为1110,E类地址第一字节的高四位固定为1111。
5 私有地址、特殊地址:
IPv4中的部分IP地址被保留用作特殊用途。
为节省IPv4地址,A, B, C类地址段中都预留了特定范围的地址作为私网地址。
现在,世界上所有终端系统和网络设备需要的IP地址总数已经超过了32位IPv4地址所能支持的最大地址数4,294,967,296。为主机分配私网地址节省了公网地址,可以用来缓解IP地址短缺的问题。企业网络中普遍使用私网地址,不同企业网络中的私网地址可以重叠。默认情况下,网络中的主机无法使用私网地址与公网通信;当需要与公网通信时,私网地址必须转换成公网地址。
私有地址范围:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
还有其他一些特殊IP地址,如127.0.0.0网段中的地址为环回地址,用于诊断网络是否正常。IPv4中的第一个地址0.0.0.0表示任何网络,这个地址的作用将在路由原理中详细介绍。IPv4中的最后一个地址255.255.255.255是0.0.0.0网络中的广播地址。
特殊地址
127.0.0.0 ~ 127.255.255.255
0.0.0.0
255.255.255.255
6 子网掩码:
上面介绍到IP地址由网络部分和主机部分组成,那么如何区分呢?子网掩码用于区分网络部分和主机部分。
子网掩码与IP地址的表示方法相同。
每个IP地址和子网掩码一起可以用来唯一的标识一个网段中的某台网络设备。子网掩码中的1表示网络位,0表示主机位。
例如:子网掩码 255.128.0.0表示网络位为9位,主机位为23位。
默认子网掩码:
每类IP地址有一个缺省子网掩码。
A类地址的缺省子网掩码为8位,即第一个字节表示网络位,其他三个字节表示主机位。
B类地址的缺省子网掩码为16位,因此B类地址支持更多的网络,但是主机数也相应减少。
C类地址的缺省子网掩码为24位,支持的网络最多,同时也限制了单个网络中主机的数量。
可变长子网掩码
有类IP地址缺陷:
如果企业网络中希望通过规划多个网段来隔离物理网络上的主机,使用缺省子网掩码就会存在一定的局限性。网络中划分多个网段后,每个网段中的实际主机数量可能很有限,导致很多地址未被使用。
如图所示的场景下,C类地址的缺省子网掩码为24位,可以支持254台这主机,而图中只有30台主机,如果使用缺省子网掩码的编址方案,则地址使用率很低。
为了提高IP地址的使用率,采用可变长子网掩码可解决上述问题。
缺省子网掩码可以进一步划分,成为变长子网掩码(VLSM)。通过改变子网掩码,可以将网络划分为多个子网。
本例中的地址为C类地址,缺省子网掩码为24位。现借用一个主机位作为网络位,借用的主机位变成子网位。一个子网位有两个取值0和1,因此可划分两个子网。该比特位设置为0,则子网号为0,该比特位设置为1,则子网号为128。将剩余的主机位都设置为0,即可得到划分后的子网地址;将剩余的主机位都设置为1,即可得到子网的广播地址。每个子网中支持的主机数为2^7-2(减去子网地址和广播地址),即126个主机地址。
可变长子网掩码缓解了使用缺省子网掩码导致的地址浪费问题,同时也为企业网络提供了更为有效的编址方案。本例中需要使用可变长子网掩码来划分多个子网,借用一定数量的主机位作为子网位的同时,剩余的主机位必须保证有足够的IP地址供每个子网上的所有主机使用。
7 IP地址规划:
IP地址在网络中是分配给主机和设备使用的,那么如何分配IP地址呢?
通过子网掩码可以判断主机所属的网段、网段上的广播地址、以及网段上支持的主机数。
例如:主机地址为192.168.1.7,子网掩码为24位(C类IP地址的缺省掩码),从中我们可以判断该主机位于192.168.1.0/24网段。将IP地址中的主机位全部置为1,并转换为十进制数,即可得到该网段的广播地址192.168.1.255。网段中支持的主机数为2^n,n为主机位的个数。本例中n=8,2^8=256,减去本网段的网络地址和广播地址,可知该网段支持254个有效主机地址。
注意:
每个网段上都有两个特殊地址不能分配给主机或网络设备。
第一个是该网段的网络地址,该IP地址的主机位为全0,表示一个网段。
第二个地址是该网段中的广播地址,目的地址为广播地址的报文会被该网段中的所有网络设备接收。广播地址的主机位为全1。
除网络地址和广播地址以外的其他IP地址可以作为网络设备的IP地址.
8 无类域间路由CIDR:
无类域间路由CIDR(Classless Inter Domain Routing)由RFC1817定义。
CIDR突破了传统IP地址的分类边界,将路由表中的若干条路由汇聚为一条路由,减少了路由表的规模,提高了路由器的可扩展性。
如上图所示,一个企业分配到了一段A类网络地址,10.24.0.0/22。该企业准备把这些A类网络分配给各个用户群,目前已经分配了四个网段给用户。如果没有实施CIDR技术,企业路由器的路由表中会有四条下连网段的路由条目,并且会把它通告给其他路由器。
通过实施CIDR技术,我们可以在企业的路由器上把这四条路由10.24.0.0/24,10.24.1.0/24,10.24.2.0/24,10.24.3.0/24汇聚成一条路由10.24.0.0/22。这样,企业路由器只需通告10.24.0.0/22这一条路由,大大减少了路由表的规模。
9 网关
大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。
那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192.168.2.254”,子网掩码为255.255.255.0。
在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)与主机的IP 地址作 “与” 运算的结果不同判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络A向网络B转发数据包的过程。
报文转发过程中,首先需要确定转发路径以及通往目的网段的接口,然后将报文封装在以太帧中通过指定的物理接口转发出去。如果目的主机与源主机不在同一网段,报文需要先转发到网关,然后通过网关将报文转发到目的网段。
总结
本章主要介绍了IP地址,大家有疑问可以后台留言交流呀。
扫描二维码
获取更多精彩
网络工程师
更多文章
从零开始学网络|搞懂OSI参考模型和TCP/IP分层模型,看这篇文章就够了
从零开始学网络|一篇文章告诉你平时发送的消息是如何在网络中转发的
带你捋捋常见的传输介质,快去看看你家的入户光纤长啥样吧?
你知道以太网数据帧在网络中如何发送和接收的吗?一文带你搞懂它
文章都看完了不点个 吗