• 计算机网络-----IP地址分配


    本博客相关视频教程如下:
    https://www.ixigua.com/7131532677387289119?id=7140248214896280072&logTag=59e64ff608978d68beda
    https://www.ixigua.com/7131532677387289119?id=7140629380602003998&logTag=7d9428b2567dde055a2f
    https://www.ixigua.com/7131532677387289119?id=7141219349406155300&logTag=a77a0a1805cb5abfaf68
    https://www.ixigua.com/7131532677387289119?id=7141775697621549598&logTag=0d206c5ec98cbc859b0e
    https://www.ixigua.com/7131532677387289119?id=7142128651063165470&logTag=84652b090a5f426372d6
    https://www.ixigua.com/7131532677387289119?id=7143585715459359245&logTag=dc35e620f9f5d860de08
    https://www.ixigua.com/7143955506498011678?logTag=904f1d4f7abbcf26a495
    https://www.ixigua.com/7144657856506266119?logTag=f33e2629df209ec36850
    https://www.ixigua.com/7144694509438730759?logTag=549e68255a1743523357

    1 IP地址

    ​ 在网络层使用一种具有层次结构的逻辑地址来标识一个主机, 这个地址被称作IP地址。下面将详细讲解IP地址(此处以IPv4为主学习内容)的结构和功能。

    ​ IP地址是一个网络编码,它既可以是一个主机 (服务器、客户机)的地址,也可以是路由器一个接口的地址。也就是说IP 地址确定的是网络中的一个节点。如果一个路由器接口要进行IP路径查找,该接口必须配置IP地址。

    ​ IP地址有32位(32bit),由4个8位的二进制数组成,每8位之间用圆点隔开。由于二进制不便于记忆及可读性较差,所以通常都把二进制转换成十进制数表示,其取值范围为0~255,计算机会自动进行二者之间的转换。因此一个IP地址通常用4个点分开的十进制数来表示。

    ​ 例如IP地址:192. 168.1.200 (十进制表示) 1000000.10101000.0000001.11001000 (二进制表示)

    2 IP 地址的分类

    ​ IP地址由两部分组成:网络部分( netID)和主机部分(hostID) 。网络部分用于标识不同的网络,主机部分用于标识在一个网络中特定的主机。IP地址的网络部分由IANA ( Internet Assigned Numbers Authority ,Internet 地址分配机构)统一分配,以保证IP地址的唯一性。为了便于分配和管理,IANA将IP地址分为A、B、C、D、E共5类,每个类别的网络部分和主机部分都有相应的规则。目前在Internet.上使用最多的IP地址是A、B、C这3类,IANA根据组织的具体需求为其分配A、B、C类网络地址,具体主机的IP地址由得到某一网络地址的机构或组织自行决定如何分配。

    2.1 A类地址(0-127)

    ​ 在A类地址中规定第1个8位组为网络部分,其余3个8位组为主机部分,即:A类地址=网+主+主+主。IP地址的前几个比特位称为引导位,对A类地址来说,它的第1个8位组的第1个比特位是0。由于网络部分不能全为0,也不能全为1,全0表示本地网络,全1保留诊断用。因此它的第1个8位组的范围就是00000001- 01111111换算成十进制就是1~127, 其中127又是一个比较特殊的地址,我们用于本机测试用的地址就是127.0.0.1。

    ​ 127.0.0.1又称为本机回环地址,通常利用在本机上ping此地址来检查TCP/IP协议安装是否正确。而且凡是以127开头的IP地址都代表本机。(除广播地址127.255.255.255外)。

    ​ 因此A类地址的有效网络范围为1~126。 全世界只有126个A类网络,每个A类网络可以拥有的主机数就是后面24个比特位的组合,为24个。主机部分也不能全为0或全为1,全0代表的是网络ID,全1代表的是本子网的广播地址,因此每个A类网络拥有的最大主机数为224-2 (公式为2n-2,n为IP地址中主机部分的比特数)。A类地址适用于在大型网络中使用。

    2.2 B类地址(128-191)

    ​ 在B类地址中规定前2个8位组为网络部分,后2个8位组为主机部分,即:B类地址=网+网+主+主。

    ​ B类地址中作为引导位的前2个比特必须是10,因此它的网络部分的范围就是10000000~10111111其中第1个8位组换算成十进制就是128-191。B类地址的有效网络范围就是网络部分中后14 个比特位的组合为214个。每个B类地址拥有的最大主机数为216-2。B类地址适用于在中等规模的网络中使用。

    2.3 C类地址(192-223)

    ​ 在C类地址中规定前3个8位组为网络部分,最后-个8位组为主机部分,即:C类地址=网+网+网+主。

    ​ C类地址中作为引导位的前3个比特必须是110, 因此它的网络部分的范围就是11000000~11011111其中第1个8位组换算成十进制就是192-223。C类地址的有效网络范围就是网络部分中后21个比特位的组合,为221个,每个C类地址拥有的最大主机数为28-2。 C类地址适用于在主机数量比较少的网络中使用。

    2.4 D类地址(224-239)

    ​ D类地址是用于组播通信的地址,不能在互联网上作为节点地址使用。D类地址中作为引导位的前4个比特必须是1110,用于标识组播通信地址,后面的28个比特用于区分不同的组播组。因此其第一个8位的范围是11100000~11101111, 换算成十进制就是224~239。

    2.5 E类地址(240-254)

    ​ E类地址是用于科学研究的地址,也不能在互联网上作为节点地址使用。E类地址中作为引导位的前4个比特必须是1111,因此其第1个8位的范围是1111000011111110换算成十进制就是240254。

    2.6 Internet 上的合法IP地址

    ​ 目前在Internet上只使用A、B、C这3类地址,而且为了满足企业用户在Intranet. 上使用的需求,从A、B、C这3类地址分别划出一部分地址以供在企业内部网上使用,这部分地址称为私有地址,私有地址是不能在Intermet上使用的。私有地址包括以下3组:

    ◆ 10.0.0.0~10.255.255.255

    ◆ 172. 16.0.0~172.31.255.255

    ◆ 192.168.0.0~192.168.255.255

    3 子网掩码

    ​ 学习了IP地址及其分类,下面来看一个与IP地址密切相关的概念一子网掩码。

    ​ 在网络中不同主机之间通信的情况可以分为两种:

    • 同一个网段中两台主机之间相互通信。
    • 不同网段中两台主机之间相互通信。

    ​ 为了区分这两种情况,进行通信的计算机就需要获取远程主机IP地址的网络部分以做出判断。

    • 如果源主机的网络地址=目标主机的网络地址,则为相同网段主机之间的通信。
    • 如果源主机的网络地址≠目标主机的网络地址,则为不同网段主机之间的通信。

    ​ 因此对一台计算机来说,关键问题就是如何获取远程主机IP 地址的网络地址信息,这就需要借助子网掩码(Netmask)。

    ​ 下面来看一下子网掩码的组成。 与IP地址一样, 子网掩码也是由32个二进制位组成,

    ​ 对应IP地址的网络部分用I 表示,对应IP地址的主机部分用0表示,通常也是用4个点分开的十进制数表示。当为IP网络中的节点分配IP地址时,也-并要给出每个节点所使用的子网掩码。对A、B、C这3类地址来说,通常情况下都使用默认子网掩码。

    • A类地址的默认子网掩码是 255.0.0.0
    • B类地址的默认子网掩码是255.255.0.0
    • C 类地址的默认子网掩码是255.255.255.0

    ​ 有了子网掩码后,只要把IP地址和子网掩码作逻辑“与” 运算,所得的结果就是IP地址的网络地址。可以把与运算看做是乘法运算,下面列出了“与” 运算的法则:

    • 0"与”0=0
    • 0"与”1=0
    • 1“与”0=0
    • 1“与”1=1

    例如:给出IP地址192. 168.1.189,子网掩码255.255.255.0,将IP地址和子网掩码进行"与”运算就可以计算出IP地址的网络ID。运算过程如下:

    img

    由此可见,子网掩码的作用就是获取主机IP地址的网络地址信息,用于区分主机通信的不同情况,由此选择不同的路径。

    4 可变长子网掩码和IP子网的划分

    以上所讲的IP地址是没有划分子网的IP地址,因此可以用A、B、C类類分。但是有些IP地址,不能简单地用A、B、C来区分,因为它们使用了不规范的子网掩码,并且进行了子网划分。

    ​ 假设给定一个B类网络172.16.0.0, 其标准的子网掩码为255.255.0.0,因此在这个B类网络中有效的主机地址范围为: 172.16.0.1-172.16.255.254, 一共有65 534 (216-2)个。因此这个网络规模是比较大的,在网络中会充斥着大量广播包,这就意味着每个包都要向同一个网络中的所有主机发送。如果广播流量消耗了过多的可用带宽,网络管理员就要想办法来减小广播域的规模。因此就需要划分子网来减小厂广播域的大小。

    ​ 将一个大的网络进-步划分成若干个独立的小的网络,每个小网都称为这个大网的子网。每个子网可以对应一个地理范围或者区域。那么如何划分子网呢?通过前面的学习了解了IP 地址是由网络部分和主机部分组成的,划分子网的方法就是把一部分主机位拿 出来作为“ 子网位”,或者叫做网络位向主机位“借位”。这样的结果是:网络位多了,主机位少了,就达到了增加网段的个数,减少每个网络的主机数目,从而增加了广播域的个数,缩小了广播包发送的范围。

    ​ 例如:对172.16.0.0这个网络,其子网掩码是255.255.0.0,没有划分子网时只有一个网络,这个网络可能容纳216-2个主机。现在对其进行子网划分,把原来代表主机部分的第3个8位借出来作为“ 子网位”,此时可用的网络数为28个。因此这个B类的网络就被划分为256个小的子网,其网络ID分别为:172.16.0.0~172.16.255.0, 子网掩码是255.255.255.0(即借了多少位,子网掩码就在原来的基础上加几个1) 。这些网络就是从172.16.0.0这个大网中划分出来的小的“子网”, 每个子网可容纳的主机数是28-2个。此时网络位向主机

    ​ 位借了8位。那么,可不可以借7位、6位或10位呢?当然可以了,只是随着所借的位数不同,所划分子网的个数以及每个子网可容纳的主机数目也会不同,这就是网络划分的规划。

    ​ 在实际应用中对网络的划分有着更严格的要求,比如要求至少要划分多少个子网,以及每个子网至少要有多少台主机等。这些就是由网络位借多少个主机位作为子网位来决定的,上面的例子中借了8位,所以可以划分28 个子网,每个子网可容纳的主机数是28-2个。如果借了7位呢?那就是可以划分27个子网,每个子网可容纳的主机数是29-2个, 因此就总结出了子网划分的公式:

    ✧划分子网的个数: 2n, n是网络位向主机位所借的位数。

    ✧每个子网的主机数: 2m- 2, m是借位后所剩的主机位数。

    ✧划分子网后的子网掩码:在原有子网掩码的基础上借了几个主机位,就添加几个1,这就是变长子网掩码VLSM ( Variable-Length Subnet Masks)。

  • 相关阅读:
    Kotlin的股票交易接口是什么
    二维数组
    ThreadLocal
    python——装饰器深入研究(一)
    什么是电子设备的老化测试?
    尚医通 (三) --------- 预约挂号微服务模块搭建
    本地部署 川虎 Chat
    IPKISS i3.PCell 模块
    Flutter笔记:build方法、构建上下文BuildContext解析
    ant design vue:自定义锚点样式
  • 原文地址:https://blog.csdn.net/cloud_engineer/article/details/126894582