• IP地址


    在使用TCP/IP通信的时候,IP地址是一块基石。

    IP地址(IPv4)

    这里所说的IP地址是IPv4地址,IP地址由32位正整数来表示。他在计算机内部被以二进制方式处理,因此最多有2^32个IP地址,即:43亿个总IPv4地址(目前人类总数有60亿左右,在现在看来这个地址池是远远不够用了)。32位的IP地址被分为4组,每组8位。每组以“.”来进行分割。然后在将每组数转换为相应的十进制数字。例如:192.168.0.231,我们称之为点分十进制形式。将每组数组转换为二进制为:‭11000000‬.‭10101000‬.00000000.‭11100111‬

    早期的IP地址被分组处理为A,B,C,D,E五组,其中实际被使用的是A,B,C,D四类,E类是实验保留用的。每一类IP地址所能容纳的主机数量的差异是巨大的。

    IP地址是由两个部分组成的,网络标识+主机标识构成一个完整的IP地址。以A类IP地址为例,它的主机标识达到了24位之多,一个网段内能容纳的主机数量高达16777214台主机。(2^24 == 16777216)其中地址全为0表示对应的IP地址不可获知;其中地址全为1的表示广播地址。因此,容纳的主机数量最多可达16777214台。D类IP地址没有主机标识,只有网络标识。通常被用作广播地址。

    广播可以分为两类:本地广播和直接广播。

    本地广播是在同一个数据链路上。例如:192.168.0.255/24他会将广播到192.168.0.0/24。

    直接广播是在不同网络之间的广播。但是这个缺点是路由器将会转发包,这样将不安全。因此,通常使用的是IP多播。

    多播能将包发送给指定组内的所有主机,它使用IP协议,所以能够穿透路由器。因此IP多播成为了只给那些必要的组发送数据包的必选之路。多播使用D类IP地址。因此IP地址开头如果是“1110”,则可以认为是多播地址。剩下的28位成为多播组标号。即:从224.0.0.0到239.255.255.255都是多播地址。其中从224.0.0.0到224.0.0.255的范围是不需要路由控制的,也就是说能在同一个数据链路内实现多播。

    现在的IP地址不在局限于上述的类别,更多的则是通过一个叫做子网掩码的识别码来进行网络的识别。自从有了“子网掩码”,一个IP地址的网络标识和主机标识就是由“子网掩码”来确定的。子网掩码也是一个32位的数字。它用连续的1来表示网络标识的长度,即:有多少位网络标识,子网掩码就有多少个1,剩下的用0表示的部分就是主机标识。例如:

    IP地址:192.168.0.231

    子网掩码:255.255.255.0

    这就标识IP地址的网络标识有24位,主机标识只有8位。此时该IP段的广播地址应该如下:

    IP地址:192.168.0.255

    子网掩码:255.255.255.0

    子网掩码就是在A,B,C,D四类基础上改进而来的,需要多少就用多少。因此,子网掩码可以灵活的指定网络标识长度。

    IP地址的分类处理导致了早期在架构大型网络的时候一般会分配一个A类IP地址,但是这个A类IP地址最多只能分128个(0,10,127等开头的A类IP地址是保留的IP地址)。而C类IP地址最大只能容纳254台计算机。随着计算机网络的日益发展,能分到的A类IP地址几乎没有了,B类IP地址也严重缺乏。于是,人们摒弃了IP地址分类的做法,采用任意长度分割IP地址的网络标识和主机标识。这种方式叫做CIDR。另外还是用来VLSM技术(可变长子网掩码),他可以随机修改子网掩码的长度。有了CIDR和VLSM在一定程度上缓解了全局IP地址不够用的局面。

    全局地址(公网IP)

    随着互联网的迅速发展,IP地址不足的问题越来越明显。于是,出现了一种新的技术,他不在要求为每一台主机或者路由器分配一个IP地址,而是在必要的时候,才给相应数量的设备分配唯一的IP地址。对于一个局域网内的设备而言,只要IP地址是不冲突的即可。于是,私有IP地址便出现了。

    10.0.0.0——10.255.255.255(10/8),这是A类私有IP地址

    172.16.0.0——172.31.255.255(172.16/12),B类

    192.168.0.0——192.168.255.255(192,168/16),C类

    包含在上述IP内的所有地址都是私有地址。在此之外的IP地址都是公有IP地址。

    最初配有私有IP地址的主机本来是不打算连接到互联网的,但是随着NAT技术的出现,它能够互换私有IP和全局IP。使得私有地址的主机也能够连接互联网。现在在学校和家里一般都是在每个终端设置私有IP,但是在路由器上设置一个全局IP。这相当于在IP地址中又进行了一次地址层次的划分。私有IP地址的主机则通过NAT与互联网相连接。

    由此IPv4地址池枯竭的问题基本可以得到解决。私有IP地址和NAT技术已经成为现在解决全局IP地址枯竭的主流方案。但是在使用的时候就有一些限制。为此,IPv6出现了,它长达128位的地址,足足有3.4028236692093846346337460743177e+38这么多的IP地址。相信随着互联网的发展,IPv6的普及,人人都可以拥有一个公网IP。

    在全世界范围内,全局IP地址是由ICANN进行管理。我国的全局IP地址是由CNNIC来进行管理的。对于一般用户而言,并不需要向CNNIC发出申请全局IP地址的请求,而是向本地ISP发出接入互联网的请求,同时本地ISP会给用户分配一个全局IP地址。现阶段普遍采用的方式是私有IP地址+NAT技术来给用户提供上网服务。

  • 相关阅读:
    BZOJ2527[Poi2011]Meteors——整体二分+树状数组
    [UOJ422][集训队作业2018]小Z的礼物——轮廓线DP+min-max容斥
    BZOJ4817[Sdoi2017]树点涂色——LCT+线段树
    BZOJ4269再见Xor——高斯消元解线性基
    BZOJ4241历史研究——回滚莫队
    [十二省联考2019]字符串问题——后缀自动机+parent树优化建图+拓扑序DP+倍增
    [十二省联考2019]异或粽子——可持久化trie树+堆
    [CF594E]Cutting the Line
    [CF1246F]Cursor Distance
    [CF1246E]To Make 1
  • 原文地址:https://www.cnblogs.com/zy666/p/10504246.html
Copyright © 2020-2023  润新知