我们每个人都用过电脑,在电脑里配置过 IP 地址,但是对于什么是 IP 协议?什么是不同的网段?私网地址和公网地址?内网和外网等这些概念,很多同学都一知半解。如果我们配置了电脑的 IP 是 192.168.1.85,对方电脑的 IP 地址是 192.168.2.77. 这两台电脑可以直接通信么?要搞清楚这些问题,我们就需要好好学习一下 IP 协议。 |
IP,全称是 Internet Protocol,是分配给用户上网使用的网际协议的设备的数字标签。
IP 地址是 IP 网络中数据传输的依据,它标识了 IP 网络中的一个连接,一台主机可以有多个 IP 地址。IP 分组中的 IP 地址在网络传输中是保持不变的。
目前 IP 地址分为 IPv4 与 IPv6 两大类。因为现在主流的还是 IPv4 居多,所以我们后文还是以 IPv4 来进行讲解。
IPv4,32 位,十进制,由四块构成,每一组范围是[0~255],如:192.168.0.1;
地址格式都是一致的:IP 地址 = 网络地址 +主机地址。
其中网络地址是由 Internet 权力机构统一分配的,用来表示子网的,目的是为了保证网络地址的全球唯一性。
主机地址是由各个网络的系统管理员分配的,表示这个子网中地址可以给多少个主机使用。
因此,网络地址的唯一性与网络内主机地址的唯一性确保了 IP 地址的全球唯一性。
那我们回到开篇问到的问题,192.168.1.85 和 192.168.2.77 能不能直接通信?其实这个就是根据网络地址来判断的:只有网络地址相同的 IP 才能直接通信,也就是平时大家所说的同一个网段才能直接互通。
那么问题又来了,直接看这个地址 192.168.1.85 你能区分出来它的网络地址和主机地址么?很显然是不能的。因为少了一个辅助判断的东西,那就是子网掩码。
子网掩码的作用就是和 IP 地址与运算后得出网络地址的。子网掩码也是 32 位的,二进制表示的话就是一串 1 后跟随一串 0 组成,其中 1 表示在 IP 地址中的网络号对应的位数,而 0 表示在 IP 地址中主机对应的位数。
比如你配置的电脑 IP 地址,配置的子网掩码是 255.255.255.0 的格式,将其换算成二进制为 11111111·11111111·11111111·00000000,这就表示 IP 地址 32 位里前面的 24 位都是网络地址,剩下 8 位是主机地址。
我们也可以用这种格式配置:192.168.1.85/24 ,也可以表示 24 位子网掩码。
那现在我们来解决最开始的问题,给两个 IP 地址加上子网掩码之后,192.168.1.85 255.255.255.0 和 192.168.2.77 255.255.255.0,再来判断他们是否可以直接通信,这就很简单了:他们的网络地址 192.168.1 和 192.168.2 是不相同的,所以不是同一个子网,不能直接通信。
IP 地址有三种基本类型,由网络号的第一组数字来表示。
A 类地址的第一组数字为 1~126。注意:数字 0 和 127 不作为 A 类地址。
B 类地址的第一组数字为 128~191。
C 类地址的第一组数字为 192~223。
例如:学校的网络号段是 202.206.64~79,它的第一组数字为 202,因此 202.206.64.34 是 C 类地址。而 159.266.1.1 则是 B 类地址,17.2.33.45 就是 A 类地址。
目前 IP 地址资源较紧张,向 INTERNET 亚太中心能申请到的大多是 C 类地址。
私有地址和公有地址
以上提到的 IP 地址在全世界范围内唯一,看到这句话你可能有这样的疑问,像 192.168.0.1 这样的地址在许多地方都能看到,并不唯一,这是为什么呢?
这是因为根据用途和安全性级别的不同,IP 地址要分为了公有地址和私有地址。
公用地址在 Internet 中使用,可以在 Internet 中随意访问。所以,一个机构或网络要连入 Internet,必须申请公用 IP 地址,且地址一旦申请了,就是全球唯一的。
私有地址只能在内部网络中使用,是考虑到网络安全和内部实验等特殊情况,在 IP 地址中专门保留了三个区域作为私有地址,其地址范围如下:
10.0.0.0/8:10.0.0.0~10.255.255.255
172.16.0.0/12:172.16.0.0~172.31.255.255
192.168.0.0/16:192.168.0.0~192.168.255.255
使用保留地址的网络只能在内部进行通信,也就是我们常说的局域网内部,而不能与其他网络互连。因为本网络中的保留地址同样也可能被其他网络使用,如果进行网络互连,那么寻找路由时就会因为地址的不唯一而出现复制冲突的问题。
所以,这些使用保留地址的网络要与外部网络的实现互连就需要通过将本网络内的保留地址翻译转换成公共地址,也就是实现地址转换。这也是保证网络安全的重要方法之一。
A 类网络地址 127 是一个保留地址,比如 127.0.0.1,它用于网络软件测试以及本地机进程间通信,叫做回送地址(loopback address)。无论什么程序,一旦使用回环地址发送数据,协议软件立即返回之,不进行任何网络传输。
TCP/IP 规定,主机号全为"1"的网络地址用于广播之用,叫做广播地址。所谓广播,指同时向同一子网所有主机发送报文。
在 IP 网络中,广播地址用 IP 地址“255.255.255.255”来表示,这个 IP 地址代表同一子网内所有的 IP 地址。