• IP地址、子网掩码与IP寻址【计算机网络】


    目录

    I. IP地址的定义与组成

    II. A、B、C、D和E类网络

    III. 子网掩码

    IV. 子网掩码与IP地址的计算

    IV.I 计算IP地址的网络地址

    IV.II 广播地址的计算

    IV.III 网段地址范围的计算

    IV.IV 最大主机数量与可用主机数量的计算

    IV.V 子网掩码自身的计算

    V. IP寻址的过程

    V.I 通过子网掩码

    V.II 使用 CIDR(无类别域间路由) 查找路由的算法:


    高质量前端博主,点个关注不迷路🌸🌸🌸!(近期一直忙于考研,暂时不能频繁更新,只能在研途将一些所学分享给大家!)

    I. IP地址的定义与组成

    网络层的寻址地址,按IPv4长度为32比特。其中,整个IP地址又分为网络部分和主机部分,网络址

    指明了一个子网的前缀(内中有很多主机),主机地址指明了具体在一个网络中的某个主机,因此网

    络地址往往是固定的,主机地址不固定,用来分配给各个主机。

    例如一个IP地址为: 192.168.1.1, 且前24位为网络地址,则后8位为主机地址,即网络地址:

    192.168.1.0、主机地址:0.0.0.1


    II. A、B、C、D和E类网络

    A类网络,前8位为网络地址,后24位为主机地址,子网掩码为255.0.0.0,支持224 – 2台主机,用

    于规模特别大的网络使用,B类地址分配给一般的中型网络,C类地址分配给小型网络。

    B类网络, 前16位为网络地址,后16位为主机地址,子网掩码为255.255.0.0,支持216 – 2台主机,

    用于一般的中型网络。

    C类网络, 前24位为网络地址,后8位为主机地址,子网掩码为255.255.255.0,支持28 – 2台主机,

    用于给小型网络。

    D类网络用于多点广播;E类网络因特网保留。


    III. 子网掩码

    子网掩码是一个32位的2进制数,(抓住主谓宾,它就是一个数) 它必须结合IP地址一起使用。

    其中,子网掩码二进制中的1的个数代表了网络位数,0的个数代表了主机位数,通过子网掩码的1

    和0,进而确定一个子网的网络部分和主机部分的长度。

    子网掩码有两个作用:

    (1) 用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是

    在远程网上;

    (2) 用于将一个大的IP网络划分为若干小的子网络

    但对于我们学习而言,认识到子网掩码就是将某个IP地址划分成“网络地址”和“主机地址”两部分就

    足够了。即给定一个IP地址,通过子网掩码,我们能够确定出它的主机部分是什么,网络部分是什

    么,各自有多长?这些通过子网掩码与IP地址的运算可以实现。(下一部分)


    IV. 子网掩码与IP地址的计算

    子网掩码与IP地址的计算主要有四种类型,以IP为192.168.1.1,子网掩码为255.255.255.0 为例子:

    IV.I 计算IP地址的网络地址

    将IP地址与子网掩码做与运算,即可实现。

    1 1 0 0 0 0 0 0  1 0 1 0 1 0 0 0   0 0 0 0 0 0 0 1   0 0 0 0 0 0 0 1

    &

    1 1 1 1 1 1 1 1  1 1 1 1 1 1 1 1   1 1 1 1 1 1 1 1   1 1 1 1 1 1 1 1

    =

    1 1 0 0 0 0 0 0  1 1 1 1 1 1 1 1   1 1 1 1 1 1 1 1   0 0 0 0 0 0 0 0 

    从而得到网络地址为:

    1 1 0 0 0 0 0 0  1 1 1 1 1 1 1 1   1 1 1 1 1 1 1 1   0 0 0 0 0 0 0 0 

    即192.168.1.0 (即前24位为网络地址,后8位为主机地址)


    IV.II 广播地址的计算

    网络地址不变,主机地址全部置为1,即得到广播地址。

    继续前例,192.168.1.1 = 11000000  10101000   00000001   00000001

    保留前24位网络地址,将最后8位全部置为1,得到广播地址:

    11000000  10101000   00000001   11111111 = 192.168.1.255


    IV.III 网段地址范围的计算

    网络地址 + 1是第一个主机地址, 广播地址 – 1 是最后一个主机地址

    于是有:

    (第一个)起始主机地址: 192.168.1.0 + 1 = 192.168.1.1

    (最后一个)末尾主机地址: 192.168.1.255 – 1 = 192.168.1.254

    该子网地址范围为: [192.168.1.1, 192.168.1.254]


    IV.IV 最大主机数量与可用主机数量的计算

    最大主机数 = 2主机位数

    可用主机数 = 最大主机数 – 2 (减去广播地址和网络地址)

    本例: 最大主机数 = 28 = 256

    可用主机数 = 256 – 2 = 254


    IV.V 子网掩码自身的计算

    子网掩码中1和0的个数可以确定一个子网的网络部分和主机部分的位数,因此当得知子网IP地址中

    的网络部分和主机部分的位数,则可以反求出子网掩码:

    例题: 一个局域网中的某台主机的 IP 地址是 176.68.160.12,使用 22 位作为网络地址,那么该局

    域网的子网掩码是 ( )

    a) 255.255.255.0   b) 255:255.248.0   c) 255.255.252.0   d) 255.255.0.0

    于是,22位作为网络地址,说明子网掩码的前22位为1,后10位 0,从而确定选C。


    V. IP寻址的过程

    V.I 通过子网掩码

    (1) 从收到的数据报的首部提取目的IP地址D。

    (2) 先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐

    位相“与”,看结果是否和相应的网络地址匹配。 若匹配,则把分组进行直接交付(当然还需要把D

    转换成物理地址,把数据报封装成帧发送出去),转发任务结束。否则就是间接交付,执行(3)

    (3) 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由

    器;否则,执行(4)

    (4) 对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D逐位

    相“与”(AND操作),其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给该行指明

    的下一跳路由器;否则,执行(5)。

    (5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由;否则,执行(6)。

    (6) 报告转发分组出错。


    V.II 使用 CIDR(无类别域间路由) 查找路由的算法:

    (1) 从 ISP 收到的数据报中提取目的 IP 地址 D;

    (2) 把 D 分别和 ISP 的路由器的路由表中已有的各项的掩码逐位相 “与”,将所得的逐位 AND 操作的

    结果按顺序写出;

    (3) 根据最长前缀匹配的原理选择目的网络, 把收到的数据报转发到所选择的匹配的目的网络, 即选

    择匹配地址中更具体的一个。

  • 相关阅读:
    [汇编语言王爽]笔记2--p18-p22
    Java处理视频文件,生成打标视频
    (数据科学学习手札150)基于dask对geopandas进行并行加速
    (附源码)计算机毕业设计ssm《Java EE开发技术》课程学习网站
    基环树(环套树) 总结
    编程思维是一种什么思维?
    Vivado初体验LED工程
    【SpringBoot笔记26】SpringBoot框架集成ElasticSearch数据库
    自然语言处理学习路线(1)——NLP的基本流程
    kubernetes,service详解下
  • 原文地址:https://blog.csdn.net/qq_52736131/article/details/126035289