• 计算机网络-网络层(IPV4地址,网络转化技术NAT,子网划分和子网掩码,无分类编址CIDR,构成超网,最长前缀匹配)


    1. 分类IP地址

    IP地址:全世界唯一的32位/4字节标识符,标识路由器主机的接口。

    IP地址=网络号+主机号

    各种网络的差异比较大,所以根据IP地址共分为5类
    在这里插入图片描述

    如果IP首位为0,直接去A类网络找下一个子网,不需要从其他类找,提高了检索效率。

    类似的区分其他不同类网络,根据下一个比特位来确定。

    eg:A类网络IP中还有7位网络号,说明在A类网络下最多还可以有2^7个局域网。

    A类网络:0.0.0.0——127.255.255.255
    B类网络:128.0.0.0——191.255.255.255
    C类网络:192.0.0.0——223.255.255.255
    D类网络:224.0.0.0——239.255.255.255
    E类网络:240.0.0.0——247.255.255.255

    特殊网络IP地址:

    • 0.0.0.0:只可以作为IP地址源地址,不能作为IP地址的目的地址。本网范围内表示主机,路由表中用于表示默认路由(表示整个Internet网络)
    • 网络号为0,主机号为任意:表示本网内某个特定主机(只可以作为IP地址源地址,不能作为IP地址的目的地址)
    • 255.255.255.255:本网广播地址(受限地址,路由器不转发),不能作为源地址,只能作为目的地址。
    • 网络号为特定值,主机号全0:表示一个网络,网络地址。既不能作为源地址,也不能作为目的地址。
    • 网络号为特定值,主机号全1:直接广播地址,对特定网络上的所有主机进行广播(可以作为目的地址,不能作为源地址,可以对其他网络的主机进行广播)
    • 网络号127,主机号任意:用于本地软件环回测试,称为环回地址。既可以作为源地址也可以作为目的地址。(127.0.0.1)

    私有IP地址:
    在这里插入图片描述
    私有IP不能直接在网络上通信,需要NAT技术才可以进行通信。

    网络类别最大可用网络数第一个可用的网络号最后一个可用的网络号每个网络中的最大主机数
    A27 -2(去除0.和换回地址127.)1126(全1为127,代表本地环回)224 -2(主机号全0,主机号全1)
    B214 -1(去除128.0)128.1191.255216 -2
    C221 -1(去除192.0.0)192.0.1233.255.25528 -2

    2. NAT技术

    首先:路由器对目的地址是私有IP地址的数据报一律不进行转发。

    网络地址转换NAT:专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址。

    NAT路由器中有个NAT转化表,主要分为两列(WAN(广域网),LAN(局域网))

    局域网的内网ip在经过NAT路由器之后,将源IP地址和端口号替换为NAT表所对应的NAT路由器公网IP和端口,这样局域网内的主机就可以向外部发送信息。

    同样外部的信息首先需要先传给NAT路由器,NAT路由器根据端口号和NAT表确认这个信息是发给局域网的那台主机。

    3. 子网划分和子网掩码

    首先分类IP地址有其自己的缺陷

    1. IP地址的空间利用率低
    2. 申请IP地址不方便

    IP地址=网络号+主机号。
    子网划分的核心是拿出主机号的一部分作为子网号。

    注意:

    • 子网划分是某个企业或单位的视角。某单位划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内子网的划分。
    • 主机号能是全0或全1,所以主机号至少有两位,这对应的是子网号位数最多的情况。
    • 子网号能否全0全1要看情况,根据题干分析。CIDR技术下,子网号可以全0全1

    子网掩码:

    子网掩码是由连续的0或连续的1构成的一组二进制数。

    (网络号+子网号)有几位,子网掩码就有几个1 。主机号有几位,子网掩码就有几位0。

    子网掩码与IP地址逐位相与,就得到子网的网络地址。

    eg:

    已知IP地址是141.14.72.24,子网掩码是255.255.192.0,求网络地址。
    
    根据子网掩码前两字节255.255可知子网掩码和IP地址向与,前两个字节与IP地址相同,最后一个字节肯定是0,所以只需要看第三个字节即可
    
    IP地址:141.14.(0 1 0 0 1 0 0 0)B.0
    子网掩码: 	  (1 1 0 0 0 0 0 0)B.0
    
    两式相与可得子网的网络地址为:
    141.14.64.0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    需要注意的是,不同的子网掩码可能会计算出相同的子网网络地址,但是虽然相同,但是子网划分的方式不同

    eg:上面的例题,如果子网掩码为255.255.224.0的话算出的子网网络地址相同,但是明显子网掩码的255.255.224.0的划分方式,子网号比上面的立体要大,划分的子网主机数较少。

    首先,路由器中的路由表在划分了子网和设置了子网掩码后有下面的内容

    1. 目的网络地址
    2. 目的网络子网掩码
    3. 下一跳地址

    路由器转发分组的算法:

    1. 路由器提取目的IP地址。
    2. 判断目的IP地址是否在这个路由器的局域网内
    3. 路由器会将目的的IP地址和所有的子网掩码进行相与,找子网地址。
    4. 如果找到了对应子网的IP地址,就会把这个数据发给这个子网。
    5. 如果没找到,就会查找特定主机路由。
    6. 检测路由表中有无路径
    7. 最后,还是没有找到路径,直接将数据发给默认路由处理。默认路由的IP为全0.0.0.0(在TTL生存时间之内),超时丢弃并报错。

    4. 无分类编址CIDR

    1. 消除了传统的A类,B类和c类地址以及划分子网的概念。

    2. 融合子网地址与子网掩码,方便子网划分。

    CIDR记法:IP地址后加上/,然后写上网络前缀(可以任意长度)的位数。
    IP地址=网络前缀+主机号

    eg:128.14.32.0/20(前20bit位是网络前缀)

    CIDR把网络前缀都相同的连续的IP地址组成一个CIDR地址块。
    128.14.32.0/20代表的CIDR地址块为:
    最小地址: 10000000 00001110 0010 / 0000 00000000
    					128.14.32.0
    最大地址: 10000000 00001110 0010 / 1111 11111111
    					128.14.47.255
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    子网掩码:网络前缀位数的1,其他用0补充。

    构成超网:

    将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。

    方式:将网络前缀缩短(所有网络地址取交集)。这样就可以减少路由表的长度,方便维护。

    对于同一个路由器有多个目的网络地址通过路由器的同一个接口,那么这些网络就可以路由聚合在一起。
    eg:网络1和网络2。计算合体网络:

    在这里插入图片描述

    206.1.0.0/17
    206.1.128.0/17
    求这两个网络的交集即可
    206.1.00000000(B).0
    206.1.10000000(B).0
    206.1是这两个网络公共部分,最后将主机号设置为0,代表这个网络的网络号
    206.1.0.0/16是这两个网络的交集。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    划分子网可以看作将大网络切成小网络。构成超网可以看作将小网络合并成大网络。

    最长前缀匹配:

    使用CIDR时,查找路由表可能得到几个匹配结果(跟子网掩码按位相与),应选择具有最长网络前缀的路由。前缀越长,地址块越小,路由越具体。

    1. 首先将目的IP和子网掩码进行按位与,看是否和自己的子网匹配。
    2. 最后的数据发给所有匹配的项中,网络前缀最长的子网
  • 相关阅读:
    推荐系统专题 | CTR预测跨域处理的解决方案
    windows 下编译redis7 最新版,提供下载地址
    【牛客刷题专栏】0x06:C数据结构栈实现循环队列及其重点
    OpenMMlab导出swin-transformer模型并用onnxruntime和tensorrt推理
    华为数通方向HCIP-DataCom H12-831题库(单选题:261-280)
    8.2_[Java 方法]-深入带参 数组/对象 作为参数的方法以及 值传递/引用传递 的区别
    【Flask基础】六,拦截器/请求钩子(全局+模块+资源选择性放行)
    用户层与驱动层通信
    RK3568技术笔记之一 RK3568总体介绍
    【无标题】
  • 原文地址:https://blog.csdn.net/dodamce/article/details/127735936