• 网络中的一些基本概念


    为了更好的促进互联网的研究和发展,国际标准化组织ISO在1985年制定了网络互连模型

    OSI参考模型(国际标准),具有7层结构

    实际应用中得到认可TCP/IP协议

     

    请求过程 

    网络中的一些基本概念

    MAC地址、IP地址、路由器、交换机、集线器、同轴电缆……

    计算机之间的通信

    •  需要得知对方的IP地址
    • 最终是根据MAC地址(网卡地址),输送数据到网卡,被网卡接收(通过广播可以知道MAC地址)

    如果网卡发现数据的目标MAC地址是自己,就会将数据传递给上一层进行处理

    如果网卡发现数据的目标MAC地址不是是自己,就会将数据丢弃,不会会将数据传递给上一层进行处理

    计算机之间的连接方式 ---网线直连

    计算机之间的连接方式 ---同轴电缆

    同轴电缆 ,相当于是串联,没有智商,半双工通信,直到IP地址(不安全),但都会发送给所有电脑。

    终结电阻:吸收信号

    同轴电缆特点:

    半双工通信

    容易冲突

    不安全

    中间断了,整个就都瘫了

    计算机之间的连接方式 ---集线器(Hub)

    相当于并联

    集线器特点:

    半双工通信

    容易冲突

    不安全

    跟同轴电缆一样:没有智商,没有存储功能

    中间断了,但不会影响其它电脑(设备)

    计算机之间的连接方式 ---网桥(Bridge)

    网桥特点: 

    能够通过自学习得知每个接口那侧的MAC地址

    从而起到隔绝冲突域的作用(左边右边就可以同时通信了)

    计算机之间的连接方式 ---交换机(Switch)

    (局域网的最终方案)

    交换机特点:

    相当于接口更多的网桥

    全双工通信

    可以知道每一个接口的MAC地址

    (第一次发的是广播,之后反馈回来就知道每个设备的MAC地址了)

    比集线器安全

    思考: 全球所有的设备都用交换机连接会是什么情况?

    全球计算机在同一个网段,IP地址不够用,广播风暴

    计算机之间的连接方式 ---路由器(Router)

    网络直连、同轴电缆、网桥、交换机:这些连接的设备必须在同一网段,连接的设备处在同一广播域

    路由器,可以在不同网段之间转发数据。可以隔绝广播域。

    家用路由器:内置了交换机的功能

    (MAC地址是唯一的,是硬件,IP地址是人为标识出来的,两个都是地址)

    主机发数据之前,首先会判断目标主机的IP地址跟他是否在同一个网段

    1)在同一个网段:ARP、通过交换机\集线器传递数据

    2)不在同一个网段:通过路由器转发数据,通过网关(跨网段作用)


    MAC地址(Media Access Control Address)

    • 每一个网卡都有一个6字节(48bit)的MAC地址(Media Access Control Address)

    16进制表示:

    • 前3字节:OUI(Organizationally Unique Identifier),组织唯一标识符,由IEEE的注册管理机构分配给厂商
    • 后3字节:网络接口标识符,由厂商自行分配
    •  全球唯一,固化在了网卡的ROM中,由IEEE802标准规定

    OUI查询(可根据OUI查询出对应的厂商):

    1. http://standards-oui.ieee.org/oui.txt
    2. MAC地址查询
    3. https://mac.51240.com/

    MAC地址的表示形式

    • Windows

            40-55-82-0A-8C-6D

    • Linux、Android、Mac、iOS40

            55:82:0A:8C:6D

    • Packet Tracer

            4055.820A.8C6D

    当48为全为1时,代表广播地址:FF-FF-FF-FF-FF-FF  

    查看MAC地址:ipconfig /all

    修改MAC地址:

    更改适配器选项 - 属性 - 配置 - 高级 - 网络地址;填写的时候需要把减号-去掉

    有时候可以通过修改MAC地址蹭网(修改成能上网的那台电脑的MAC地址,但如果两台的MAC地址一样,交换机就不会通过了,也就不能上网了,不能重复)

    MAC地址的获取

    当不知道对方主机的MAC地址时,可以通过发送ARP广播获取对方的MAC地址

    获取成功后,会缓存IP地址、MAC地址的映射信息,俗称:ARP缓存

    通过ARP广播获取的MAC地址,属于动态(dynamic)缓存(存储时间比较短(默认是2分钟),过期了就自动删除)

    相关命令

    1. arp -a [主机地址]:查询ARP缓存
    2. arp -d [主机地址]:删除ARP缓存
    3. arp -s 主机地址 MAC地址:增加一条缓存信息(这是静态缓存,存储时间比较久,不同系统的存储时间不同)

    打开命令提示符:

    ARP(Address Resolution Protocol):地址解析协议

    通过IP地址获取MAC地址

    RARP(Reverse Address Resolution Protocol):逆地址解析协议

    使用与ARP相同的报头结构,作用与ARP相反、用于将MAC地址转换为IP地址,后来被BOOTP、DHCP所取代

    ICMP(Internet Control Message Protocol):互联网控制消息协议

    IPv4中的ICMP被称作ICMPv4,IPv6中的ICMP则被称作ICMPv6,通常用于返回错误信息(比如TTL值过期、目的不可达),ICMP的错误消息总是包括了元数据并返回给发送者。


    IP地址(Internet Protocol Address)

    • 互联网上每个主机都会有一个IP地址
    • 最初是IPv4版本,32bit(4字节),2019年11月25日,全球的IP地址已经用完
    • 后面推出了IPv6版本,128bit(16字节)

    不方便记,所以就分成4部分。

    IP地址由2部分组成:网络标识(网络ID)+主机标识(主机ID)

    同一网段的计算机,网络ID相同

    而通过子网掩码(subnet mask)可以计算出网络ID :子网掩码 & IP地址

    标准地址掩码

    A类:255.0.0.0

    B类:255.255.0.0

    C类:255.255.255.0

    1. IP地址:192.168.1.10
    2. 子网掩码:255.255.255.0
    3. 1100 0000 1010 1000 0000 0001 0000 1010
    4. & 1111 1111 1111 1111 1111 1111 0000 0000
    5. ———————————————————————————————————————————
    6. 1100 0000 1010 1000 0000 0001 0000 0000
    7. ---->192.168.1.0
    8. 所处网段:192.168.1.0
    9. 前24位是网络ID,后8位为主机ID
    10. 所以主机地址不能是0,只能从1开始

    同样: 

    1. IP地址:130.168.1.10
    2. 子网掩码:255.255.0.0
    3. 前16位是网络ID,后16位为主机ID
    4. 所处网段:130.168.0.0
    5. 256*256 - 2 个主机ID地址可用(全0(表示一个网段)和全1(广播地址)去掉)
    6. 网段和广播无法分配IP地址哦
    1. IP地址:130.168.1.10
    2. 子网掩码:255.255.255.0
    3. 所处网段:130.168.1.0
    4. 256 - 2 个主机ID地址可用

    计算机和其它计算机通信前,会先判断目标主机和自己是否在同一个网段

    • 同一网段:不需要路由器进行转发
    • 不同网段:交由路由器进行转发

    IP地址的分类

    A类地址

    网络ID

    • 0不能用,127作为保留网段
    • 其中127.0.0.1是本地环回地址(Loopback)代表本机地址
    • 第一部分的取值范围是:1~126

    主机ID

    • 第2、3、4部分的取值范围是:0~255
    • 每个A类网络能容纳的最大主机数是:256 * 256 * 256 - 2 = 16777214

    B类地址

    网络ID

    • 第1部分取值范围是:128~191
    • 第2部分取值范围是:0~255

    主机ID

    • 第3、4部分的取值范围是:0~255
    • 每个B类网络能容纳的最大主机数是:256 * 256 - 2 = 65534

    C类地址

    网络ID

    • 第1部分取值范围是:192~223
    • 第2、3部分取值范围是:0~255

    主机ID 

    • 第4部分的取值范围是:0~255
    • 每个C类网络能容纳的最大主机数是:265 - 2 = 254

    D类地址:没有子网掩码,用于多播(组播)地址

    第一部分取值范围是:224~239

    E类地址:保留为今后使用

     第一部分取值范围是:240~255

    (给你一个IP地址,就看第一部分区分是哪一类网络)

    子网掩码的CIDR表示方法

    CIDR(Classless Inter-Domain Routing):无类别域间路由

    子网掩码的CIDR表示方法

    • 192.168.1.100/24,代表子网掩码有24个1,也就是255.255.255.0
    • 123.210.100.200/16,代表子网掩码有16个1,也就是255.255.0.0

    计算工具:http://www.sojson.com/convert/subnetmask.html

    子网划分

    为什么要进行子网划分?

    如果需要让200台主机在同一个网段内,可以分配一个C类网段,比如192.168.1.0/24

    • 共254个可用IP地址:192.168.1.1~192.168.1.254
    • 多出54个空闲的IP地址,这种情况并不算浪费资源

    如果需要让500台主机在同一个网段内,那就分配一个B类网段,比如191.100.0.0/16

    • 共65534个可用IP地址:191.100.0.0~191.100.255.254
    • 多出65034个空闲的IP地址,这种情况属于极大的浪费资源

    如何尽量浪费资源?

    --->子网划分

    191.100.0.0/16   -----> 16/32/64个子网段

    子网划分:借主机位作为子网位,划分出多个子网

    • 等长子网划分:将网段等分成多个子网,每个子网的可用IP地址数量是一样的
    • 变长子网划分:每个子网的可用IP地址数量可以是不一样的

    子网划分器:

    http://www.ab126.com/web/3552.html

    子网划分的步骤:

    1. 确定子网的子网掩码长度
    2. 确定子网中第1个、最后一个主机可用的IP地址 

     等长子网划分 -- 等分成2个子网

    本来有一个C类网段,192.168.0.0/24,要划分为2个子网段

    1. A子网:192.168.0.0/25,子网掩码:255.255.255.128
    2. 192.168.0.1~192.168.0.126,共126
    3. B子网:192.168.0.128/25,子网掩码:255.255.255.128
    4. 192.168.0.129~192.168.0.254,共126

    等长子网划分 -- 等分成4个子网 

    本来有一个C类网段,192.168.0.0/24,要划分为4个子网段 

    1. A子网的主机可用IP地址:192.168.0.1~192.168.0.62
    2. B子网的主机可用IP地址:192.168.0.65~192.168.0.126
    3. C子网的主机可用IP地址:192.168.0.129~192.168.0.190
    4. D子网的主机可用IP地址:192.168.0.193~102.168.0.254
    5. 4个子网的子网掩码都是:255.255.255.192/26

    等长子网划分 -- 等分成8个子网

    本来有一个C类网段,192.168.0.0/24,要划分为4个子网段 

    1. A子网的主机可用IP地址:192.168.0.1~192.168.0.30
    2. B子网的主机可用IP地址:192.168.0.33~192.168.0.62
    3. C子网的主机可用IP地址:192.168.0.65~192.168.0.94
    4. D子网的主机可用IP地址:192.168.0.97~192.168.0.126
    5. E子网的主机可用IP地址:192.168.0.129~192.168.0.158
    6. F子网的主机可用IP地址:192.168.0.161~192.168.0.190
    7. G子网的主机可用IP地址:192.168.0.193~192.168.0.222
    8. H子网的主机可用IP地址:192.168.0.225~192.168.0.254
    9. 8个子网的子网掩码都是:255.255.255.224/27

    变长子网划分

    如果一个子网地址块的长度是原网段的(1/2)^2,那么

    • 子网的子网掩码,就是在原网段的子网掩码基础上增加n个1
    • 不等长的子网,它们的子网掩码也不同

     假设上图是对192.168.0.0/24进行变长子网划分

    1. C网段:子网掩码:255.255.255.128/25
    2. B网段:子网掩码:255.255.255.192/26
    3. A网段:子网掩码:255.255.255.224/27
    4. D网段:子网掩码:255.255.255.252/30
    5. E网段:子网掩码:255.255.255.252/30

     问题:下面这两台设备能正常通信吗?

    首先要求网络号,通过子网掩码(subnet mask)可以计算出网络ID:子网掩码&IP地址,分别是:计算机0:192.168.0.0/24,计算机1:192.168.0.0/16,这样是错误的,要拿自己的子网掩码和要发送信息的主机的IP地址按位与,计算机0判断计算机1的所处网段为:192.168.10.10 & 255.255.255.0 = 192.168.10.0,不在同一个网段,计算机1判断计算机0的所处网段为:192.168.0.10 & 255.255.0.0 = 192.168.0.0.不构能成通信。

    超网

    跟子网反过来,他是将多个连续的网段合并成一个更大的网段。

    需求:原本有200台计算机使用192.168.0.0/24网段,现在希望增加200台设备到同一个网段

    解决方法:合并192.268.0.0/24和192.168.1.0/24为一个网段:192.168.0.0/23(子网掩码往左移动一位)

    问: 192.168.0.255/23这个IP地址,可以分配给计算机使用吗?

    可以看到: 

    主机位为9位,所有右边8位+0,主机位并没有全为1,可以使用。

    但192.168.1.255/23就不能分配给计算机使用。

    合并4个网段

    将192.268.0.0/24,192.268.1.0/24,192.268.2.0/24,192.268.3.0/24合并为192.168.0.0/22网段 

    思考: 下面2个网段,能通过子网掩码向左移动1位进行合并吗?

    是不能的。

    合并网段的规律

    假设n是2的k次幂(k≥1)

    如果第一个网段的网络号能被n整除,那么由它开始连续的n个网段,能通过左移k位子网掩码进行合并

    比如

    • 第一个网段的网络号以二进制0结尾,那么由它开始连续的2个网段,能通过左移1位子网掩码进行合并
    • 第一个网段的网络号以二进制00结尾,那么由它开始连续的4个网段,能通过左移2位子网掩码进行合并
    • 第一个网段的网络号以二进制000结尾,那么由它开始连续的8个网段,能通过左移3位子网掩码进行合并

    判断一个网段是子网还是超网

    192.168.10.10/22

    一看就是C类网络,默认网络位就是24,但它是22,变少了,就是子网

    191.168.10.10/18

    为B类网络,默认网络位为16,但它是18,变长了,为超网。

    总结如何判断一个网段是子网还是超网

    1. 看看该网段的类型,是A、B、C哪类网络,默认情况下,A类子网掩码位数是8,B类子网掩码位数是16,C类子网掩码位数是24
    2. 如果该网段的子网掩码位数比默认子网掩码,就是子网
    3. 如果该网段的子网掩码位数比默认子网掩码,就是超网

    比如:

    25.100.0.0/16是一个A类子网

    200.100.0.0/16是一个C类超网

    (一旦有了划分子网和超网技术,就没有必要区分A,B,C类网络。)

    学习自:

    https://www.bilibili.com/video/BV1Fy4y1Y7n6?p=3&vd_source=d723b3493506fecc860f663dfe500fbc

  • 相关阅读:
    iOS 消息推送面试题
    电脑怎么用U盘重装系统-电脑用U盘重装Win10系统的步骤
    【计网实验报告】Cisco局域网模拟组建、简单网络测试
    第2-4-5章 规则引擎Drools高级语法-业务规则管理系统-组件化-中台
    APENFT FOUNDATION官宣2022艺术梦想基金主题征集
    基于ssm的微信小程序的短视频系统设计与实现-计算机毕业设计源码和LW文档
    Mysql之高可用方案浅析
    【C++初级】2、浮点数计算
    java劳务外包管理系统springboot+vue
    C#进程间通信-匿名管道通信
  • 原文地址:https://blog.csdn.net/m0_54929728/article/details/126157350