4.1IP地址简介
目前的全球因特网所采用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。IP协议定义了一种地址编码,称为IP地址,它是网络中网络段、网络设备接口、主机的编码,它并不是一种物理地址,而是逻辑地址,即地址是可以被分配、并且非固定、可修改的。
IPv4,是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基石的协议。1981年 Jon Postel 在RFC791中定义了IP,IP可以运行在各种各样的底层网络上,比如端对端的串行数据链路、卫星链路等等。局域网中最常用的是以太网。
IPv4的下一个版本就是IPv6,IPv6正处在不断发展和完善的过程中,它在不久的将来将取代目前被广泛使用的IPv4。
4.1.1 IP报文
IP协议有版本之分,分别是IPv4和IPv6。目前,Internet上的IP报文主要都是IPv4报文,但是逐步在向IPv6过渡。若无特别声明,本章所提及的IP均指IPv4,IPV4的报文格式如图4-1所示:
IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。
IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation)。它是Internet工程任务组IETF(Internet Engineering Task Force)设计的一套规范,是IPv4(Internet Protocol Version 4)的升级版本,后面的章节我们再做详细介绍。
图4-1 IP报头
其包头主要内容如下:
- Version:4 bit,4:表示为IPv4;6:表示为IPv6。
- Header Length:4 bit,首部长度,如果不带Option字段,则为20,最长为60。
- Type of Service:8 bit,服务类型。只有在有QoS差分服务要求时,这个字段才起作用。
- Total Length:16 bit,总长度,整个IP数据包的长度。 包括首部和数据之和,单位为字节,最长65535,总长度必须不超过最大传输单元MTU。
- Identification:16 bit,标识,主机每发一个报文,加1,分片重组时会用到该字段。
- Flags:3 bit,标志位。
- Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。
- Time to Live:8 bit,生存时间。
- Protocol:8 bit,协议:下一层协议。指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个进程处理。
常见值:
1: ICMP, Internet Control Message;
2: IGMP, Internet Group Management;
6: TCP , Transmission Control Protocol;
17: UDP, User Datagram Protocol。
- Header Checksum:16 bit,首部检验和。
- Source IP Address:32 bit,源IP地址。
- Destination IP Address:32 bit,目的IP地址。
- Options:可变,选项字段。
- Padding:可变,填充字段,全填0。
4.1.2 IP地址表示方法和范围
- 二进制与十进制的转换
在学习IP地址的时候,我们首先要搞懂什么是十进制、什么是二进制,并且要知道他们之间的转化过程,掌握这些知识对我们学习IP地址有很大的益处。
首先我们看一下什么是十进制,比如我今天买了一本书128元,这个数字128就是十进制,我们就数字128来分析一下十进制。
-
-
-
- 十进制一共有10个数字:0 1 2 3 4 5 6 7 8 9
- 128=1x102+2x101+8x100=1x100+2x10+8x1=128,在十进制中,10代表权,N代表幂,其中个位为100,十位为101,百位为103。
-
-
掌握了十进制以后,我们来看一个二进制:
-
-
-
- 二进制一共有2个数字:0 1
- 1101化成十进制为1x23+1x22+0x21+1x20=1x8+1x4+0+1=13,在二进制中,2代表权,N代表幂,从二进制的右边开始依次为20 21 22 ---。
-
-
- IP地址的表示
IP地址是长度是32 bit,由4个字节组成。为了阅读和书写方便,IP地址通常采用点分十进制数来表示,但通信设备在对IP地址进行计算时使用的是二进制的操作方式。例如,采用点分十进制表示的IP地址192.168.10.1也可以用二进制表示,它的对应关系如图4-2所示:
图4-2 IP地址二进制与十进制的关系
如果大家对二进制和十进制的转换非常清楚了就可以知道IP地址的范围用二进制表示为:00000000.00000000.00000000.00000000-11111111.11111111.11111111.11111111,化成十进制为:0.0.0.0-255.255.255.255。
4.1.3 IP地址构成
IP地址被划分为网络部分和主机部分,如图4-3所示,网络部分负责表示所在的逻辑网络区域,主机部分表示该主机在网段中的具体逻辑位置。同一网络区域中所有主机的网络部分是同一个。
图4-3 IP地址构成
如果把IP地址和电话号码做类比:电话号码0731-85015906中,0731是区号,代表湖南省长沙市,类似于IP地址中的网络部分;85015906是湖南省长沙市内某一个电话机的确切号码,类似于IP地址中的主机部分。
4.1.4 IP地址分类
为了方便IP地址的管理及组网,IP地址分成五类,如图4-4所示:
图4-4 IP地址的分类
A类地址:第一个bit必须为0,这样就能计算出A类地址的第一个字节的取值范围为0-127或(00000000)2-(01111111)2,第一个字节为网络位区间,后三个字节为主机位区间。在A类地址中当第一个字节为0或127时,它不归属于A类网络,我们在4.2.3中介绍。
B类地址:前2bit必须为10,那么B类网络地址第一个字节的取值范围为128-191或(10000000)2-(10111111)2,前两个字节段为网络位区间,后两个字节段为主机位区间。
C类地址:前3bit必须为110,第一个字节取值范围为192-223或(11000000)2-(11011111)2。C类地址前三个字节为网络位区间,第四个字节为主机位区间。
D类地址:这一类被定义为组播地址。
E类地址:用于科学研究。
4.4.5 IP地址的计算
- IP地址的分类
读者朋友们要记住A类IP地址的范围为1-126,B类IP地址的范围为128-191,C类IP地址的范围为192-223,D类IP地址的范围为224-239。只要记住这些知识就能很快的区分IP地址的范围。
- 网络位和主机位
读者朋友只要记住A类IP地址网络位为8位,主机位为24位,B类IP地址网络位为16位,主机位为16位,C类IP地址的网络位为24位,主机位为8位。就能很快的看出一个IP地址的网络位和主机位
举例1:10.1.1.1属于A类IP地址,因为A类IP地址的范围为1-126
举例2:172.16.1.1属于B类IP地址,因为B类IP地址的范围为128-191
举例3:192.168.1.1属于C类IP地址,因为C类IP地址的范围为192-223
- 子网掩码
子网掩码的定义:网络全为1,主机位全为0
举例1:10.1.1.1它的子网掩码为255.0.0.0,因为10.1.1.1的网络位有8位,主机位有24位,所以应该为:
11111111.000000000.00000000.00000000(255.0.0.0)子网掩码
举例2:172.16.1.1它的子网掩码为255.255.0.0,因为172.16.1.1的网络位有16位,主机位有16位,所以应该为:
11111111.11111111.00000000.00000000 (255.255.0.0) 子网掩码
举例3:192.168.1.1它的子网掩码为255.255.255.0,因为192.168.1.1的网络位为24位,主机位为8位,所以应该为:
11111111.1111111.1111111.00000000(255.255.255.0)子网掩码
- 网络地址
网络地址定义:网络位不变,主机机位全为0
举例1:10.1.1.1它的网络地址为10.0.0.0,因为10.1.1.1的网络位有8位,主机位有24位,所以前面8位网络位不变,主机位全部为0,所以应该为:
10.00000000.00000000.00000000 (10.0.0.0) 网络地址
举例2:172.16.1.1它的网络地址为172.16.0.0,因为172.16.1.1的网络位有16位,主机位有16位,网络位不变,主机位全部置0,所以应该为:
172.16.00000000.00000000(172.16.0.0)网络地址
举例3:192.168.1.1它的网络地址为192.168.1.0,因为192.168.1.1的网络位为24位,主机位为8位,网络位不变,主机位全部置0,所以应该为:
192.168.1.00000000(192.168.1.0)网络地址
- 广播地址
广播地址定义:网络位不变,主机位全为1
举例1:10.1.1.1它的广播地址为10.255.255.255,因为10.1.1.1的网络位有8位,主机位有24位,前面8位网络位不变,后面24位主机位全部为1,所以应该为:
10.11111111.11111111.11111111 (10.255.255.255) 广播地址
举例2:172.16.1.1它的广播地址为172.16.255.255,因为172.16.1.1的网络位有16位,主机位有16位,网络位不变,主机位全部置1,所以应该为:
172.16.111111111.11111111(172.16.255.255)广播地址
举例3:192.168.1.1它的广播地址为192.168.1.255,因为192.168.1.1的网络位为24位,主机位为8位,网络位不变,主机位全部置1,所以应该为:
192.168.1.11111111(192.168.1.255)网络地址
- 主机地址
主机地址算法:网络地址加1,广播地址减1。
举例1:10.1.1.1的网络地址为10.0.0.0,广播地址为10.255.255.255,所以主机地址为10.0.0.1至10.255.255.254
举例2:172.16.1.1的网络地址为172.16.0.0,广播地址为172.16.255.255,所以主机地址为172.16.0.1至172.16.255.254。
举例3:192.168.1.1的网络地址为192.168.1.0,广播地址为192.168.1.255,所以主机地址为192.168.1.1至192.168.1.254。
- 主机数
主机数的算法:2N-2,其中N代表主机位。
举例1:10.1.1.1的网络位为8位,主机位为24位,所以它的主机数为224-2=16777214。
举例2:172.16.1.1的网络位为16位,主机位为16位,所以它的主机数为216-2=65534。
举例3:192.168.1.1的网络位为24位,主机位为8位,的以它的主机数为28-2=254。
以上内容总结见表4-1
表4-1 IP地址的计算
IP地址 | 类别 | 网络位 | 主机位 | 子网掩码 | 网络地址 | 广播地址 | 主机地址 | 主机数 |
10.1.1.1 | A | 8 | 24 | 255.0.0.0 | 10.0.0.0 | 10.255.255.255 | 10.0.0.1-10.255.255.254 | 224-2 |
172.16.1.1 | B | 16 | 16 | 255.255.0.0 | 172.16.0.0 | 172.16.255.255 | 172.16.0.1-172.16.255.254 | 216-2 |
192.168.1.1 | C | 24 | 8 | 255.255.255.0 | 192.168.1.0 | 192.168.1.255 | 192.168.1.1-192.168.1.254 | 28-2 |
4.4.7 私有IP地址
为了解决IP地址短缺的问题,提出了私有地址的概念。私有地址是指内部网络或主机地址,这些地址只能用于某个内部网络,不能用于公共网络。
- 公网IP地址:连接到Internet的网络设备必须具有由IANA(Network Address Translation, 网络地址转换)分配的公网IP地址。
- 私网IP地址:私网IP地址的使用使得网络可以得到更为自由地扩展,因为同一个私网IP地址是可以在不同的私有网络中重复使用的。
- 私有IP地址的了分为A类、B类和C类。
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255
私有网络连接到Internet:私有网络由于使用了私网IP地址,是不允许连接到Internet的。后来在实际需求的驱动下,许多私有网络也希望能够连接到Internet上,从而实现私网与Internet之间的通信,以及通过Internet实现私网与私网之间的通信。私网与Internet的互联,必须使用网络地址转换 (NAT)技术实现。
4.4.8 特殊IP地址
IP地址空间中,有一些特殊的IP地址,这些IP地址有特殊的含义和作用如图4-5所示:
图4-5 特殊的IP地址
- 255.255.255
- 这个地址称为有限广播地址,它可以作为一个IP报文的目的IP地址使用。
- 路由器接收到目的IP地址为有限广播地址的IP报文后,会停止对该IP报文的转发。
- 0.0.0.0
- 如果把这个地址作为网络地址,它的意思就是“任何网络”的网络地址;如果把这个地址作为主机接口地址,它的意思就是“这个网络上主机接口”的IP地址。
- 例如:当一个主机接口在启动过程中尚未获得自己的IP地址时,就可以向网络发送目的IP地址为有限广播地址、源IP地址为0.0.0.0的DHCP请求报文,希望DHCP服务器在收到自己的请求后,能够给自己分配一个可用的IP地址。
- 127.0.0.0/8
- 这个地址为环回地址,它可以作为一个IP报文的目的IP地址使用。其作用是测试设备自身的软件系统。
- 一个设备产生的、目的IP地址为环回地址的IP报文是不可能离开这个设备本身的。
- 169.254.0.0/16
- 如果一个网络设备获取IP地址的方式被设置成了自动获取方式,但是该设备在网络上又没有找到可用的DHCP服务器,那么该设备就会使用169.254.0.0/16网段的某个地址来进行临时通信。
本文出自作者的《HCIA Datacom学习指南》
在文章最后加作者VX:可以免费领取以下资料