02_基本概念

一、网络互联模型

为了更好地促进互联网的研究和发展,国际标准组织ISO在1985年制定了网络互连模型:OSI参考模型,具有7层结构


Snip20200915_28.png
请求过程
Snip20200915_29.png

二、计算机之间的通信

计算机之间通信的基础

  • 需要得知对方的ip地址
  • 最终是根据MAC地址(网卡地址),输送数据到网卡,被网卡接收
  • 如果网卡发现数据的目标MAC地址是自己,就会将数据传递给上一层进行处理
  • 如果网卡发现数据的目标MAC地址不是自己,就会将数据丢弃,不会传递给上一层进行处理
关于ARP协议
  • 广播,在同一网段中传播
  • 在计算机第一次建立连接的时候,通过发广播的形式获取对方的MAC地址
  • 目标mac地址全为1(FFFF.FFFF.FFFF)时,代表广播地址

计算机之间的通信方式

1. 网线直接连接(使用的是交叉线)
Snip20200924_1.png
2. 同轴电缆(Coaxial)
  • 半双工通信
  • 容易冲突
  • 不安全
  • 中间断了,整个都瘫了

Snip20200924_2.png

3. 集线器(Hub)
  • 半双工通信
  • 容易冲突
  • 不安全
  • 和同轴电缆一样,没有智商
Snip20200924_3.png
4. 网桥(Bridge)
  • 能够通过自学习得知每个接口那侧的MAC地址
  • 从而起到隔绝冲突的作用
    当网桥已经记录目标mac地址,并且确定在源mac地址的同一侧时,而且另一组数据目标mac地址和源mac地址都在另一侧时,左侧和右侧可以同时发送数据
    例如:mac已经记录计算机6、计算机7、计算机3、计算机2的mac地址,此时如果计算机6给计算机7发送消息,计算机3给计算机2发送消息,他们可以同时发送


    Snip20200924_4.png
5. 交换机(Switch)
  • 相当于接口更多的网桥
  • 全双工通信
  • 比集线器安全
  • 但是,如果设备过多的话,ARP获取MAC地址阶段也会发送给所有设备,产生广播风暴;由于交换机连接的是同一网段的设备,ip地址会不够用


    Snip20200924_5.png
网线直连、同轴电缆、网桥、交换机的局限性
  • 连接的设备必须在同一网段
  • 连接的设备处在同一广播域
6. 路由器(Router)

计算机和其他计算机通信前,会先判断目标主机和自己是否在同一网段,在同一网段,则不需要由路由器进行转发,不在同一网段,交给路由器进行转发

路由器的作用:

  • 可以在不同网段之间转发数据
  • 隔绝广播域

路由器转发数据的过程
发数据之前,首先会判断目标主机的ip地址是否在同一网段

  • 在同一网段:发送ARP广播,通过交换机/集线器传递数据
  • 不在同一网段:通过路由器转发数据
    1. 给路由器的网关配置ip,给计算机配置网关ip
    2. 主机发送ARP广播获取网关的mac地址,并且传数据到网关
    3. 路由器会找到目标主机对应的网关,并发送ARP广播,获取目标主机的mac地址
    4. 网关将数据传给目标主机

三、MAC地址

简介
  • 每一个网卡都有一个6字节(48bit)的MAC地址
  • 全球唯一,固化在了网卡的ROM中,由IEEE802标准规定
    • 前3个字节:OUI,组织唯一标识符,由IEEE的注册管理机构分配给厂商
    • 后3个字节: 网络接口标识符,由厂商自行分配
  • OUI查询
    • http://standards-oui.ieee.org/oui.txt
    • https://mac.51240.com/
表示格式
  • Windows:40-55-82-0A-8C-6D
  • Linux、Android、Mac、iOS:40:55:82:0A:8C:6D
  • Packer Tracer:4055.820A.8C6D
  • 当48位全为1时,代表广播地址
    FF:FF:FF:FF:FF:FF
MAC地址操作
  • 查看MAC地址:
    Windows:ipconfig /all
    unix:ifconfig
MAC地址的获取

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

  • 获取成功后,会缓存IP地址、MAC地址的映射信息,俗称:ARP缓存
  • 通过ARP广播获取的MAC地址,属于动态缓存,存储的时间比较短(默认是2分钟),过期了就自动删除
相关命令
  • arp -a [主机地址]:查询ARP缓存
  • arp -d [主机地址]:删除ARP缓存
  • arp -s 主机地址 MAC地址:增加一条缓存信息(静态缓存,存储时间较久,不同系统的存储时间不同)

四、IP地址

IP地址:互联网上的每一个主机都有一个IP地址

  • 最初是IPv4版本,32bit(4字节),2019年11月25日,全球的IP地址已经用完


    Snip20201014_13.png
  • 后面推出IPv6版本,128bit(16字节)

IP地址的组成

IP地址(Internet Protocol Address)由2部分组成:网络标识(网络ID)、主机标识(主机ID)

  • 通过子网掩码可以得知网络ID、主机ID

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

  • 通过子网掩码可以计算出网络ID:子网掩码 & IP地址

  • 主机ID为全0,表示主机所在的网段;主机ID为全1,表示主机所在网段的全部主机(广播)

  • 可以尝试用ping给某个网段的全部主机发数据,如ping 192.168.1.255

  • 示例:

    1. IP地址:192.168.1.10 ,子网掩码:255.255.255.0 ,那么网络ID就是 192.168.1.10 & 255.255.255.0 ,即192.168.1.0,主机ID就是10。192.168.1..0网段共有 256 - 2个ip地址。
    2. IP地址:130.168.1.10,子网掩码:255.255.0.0,那么网络ID就是130.168.0.0,主机ID就是1.10;130.168.0.0网段共有 256 * 256 - 2个ip地址,130.168.0.0代表广播ip地址,130.168.255.255代表130.168.0.0这一网段内的所有IP地址
IP地址的分类

只有A、B、C类地址才能分配给主机

1. A类地址

默认子网掩码是255.0.0.0,主机ID占24bit,网络ID占8bit,网络ID以0开头


Snip20201014_16.png
  • 网络ID
    0不能用,127作为保留网段(其中127.0.0.1)是本地环回地址,代表本机地址,因此可以分配给主机的第1部分 的取值范围是1~126
  • 主机ID
    第2、3、4部分的取值范围是0~255,因此每个A类网络能容纳的最大主机数是:256 * 256 * 256 - 2 = 2^24 - 2 = 16777214
2. B类地址

默认子网掩码是255.255.0.0,主机ID占16bit,网络ID占16bit,网络ID以10开头


Snip20201014_17.png
  • 网络ID
    可以分配给主机的第1部分取值范围是:128~191,第2部分的取值范围是:0~255
  • 主机ID
    第3、4部分的取值范围是:0~255,每个B类网络能容纳的最大主机数是:256 * 256 - 2 = 2^16 - 2 = 65534
3. C类地址

默认子网掩码是255.255.255.0,主机ID占8bit,网络ID占24bit,网络ID以110开头


Snip20201014_18.png
  • 网络ID
    可以分配给主机的第1部分的取值范围是:192~223,第2、3部分的取值范围是:0~255
  • 主机ID
    第4部分的取值范围是:0~255,因此每个C类网络能容纳的最大主机数是:256-2 = 254
4. D类地址

没有子网掩码,网络ID以1110开头,多播地址


Snip20201014_20.png

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

5. E类地址

网络ID以1111开头,保留为今后使用


Snip20201014_21.png

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

子网掩码的CIDR表示方法

CIDR:无类别域间路由
示例:

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

计算工具:https://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.1~191.100.255.254,多出65034个空闲的IP地址,这种情况属于极大的浪费资源

那么如何避免浪费IP地址资源?
合理的进行子网划分

子网划分

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

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

子网划分器:http://www.ab126.com/web/3552.html

1. 等长子网划分
等分成2个子网
Snip20201014_22.png
  • A子网
    网段:192.168.0.0/25
    子网掩码:255.255.255.128/25
    主机可用IP地址:192.168.0.1~192.168.0.126
  • B子网
    网段:192.168.0.128
    子网掩码:255.255.255.128/25
    主机可用IP地址:192.168.0.129~192.168.0.254
等分成4个子网
Snip20201015_1.png
  • 4个子网的子网掩码都是:255.255.255.192/26
  • A子网的主机可用IP地址:192.168.0.1~192.168.0.62
  • B子网的主机可用IP地址:192.168.0.65~192.168.0.126
  • C子网的主机可用IP地址:192.168.0.129~192.168.0.190
  • D子网的主机可用IP地址:192.168.0.193~192.168.0.254
等分成8个子网
Snip20201015_3.png
  • 8个子网的子网掩码都是:255.255.255.224/27
  • A子网的主机可用IP地址:192.168.0.1~192.168.0.30
  • B子网的主机可用IP地址:192.168.0.33~192.168.0.62
  • C子网的主机可用IP地址:192.168.0.65~192.168.0.94
  • D子网的主机可用IP地址:192.168.0.97~192.168.0.126
  • E子网的主机可用IP地址:192.168.0.129~192.168.0.158
  • F子网的主机可用IP地址:192.168.0.161~192.168.0.190
  • G子网的主机可用IP地址:192.168.0.193~192.168.0.222
  • H子网的主机可用IP地址:192.168.0.225~192.168.0.254
B类子网划分
Snip20201015_4.png
A类子网划分
Snip20201015_5.png
等分成4个子网的广播地址
Snip20201015_2.png
2. 变长子网划分

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

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


    Snip20201015_6.png

假设上图是对192.168.0.0/24进行变长子网划分
C网段:子网掩码是255.255.255.128/25
B网段:子网掩码是255.255.255.192/26
A网段:子网掩码是255.255.255.224/27
D网段:子网掩码是255.255.255.252/30
E网段:子网掩码是255.255.255.252/30

思考题

这2台设备能正常通信么?

Snip20201015_7.png

答案:不能
解析:当一台主机给另外一台计算机发消息的时候,要判断另外一台计算机和自己是否在同一网段,即利用自己的子网掩码和另外一台计算机的ip地址进行&操作

  • 当计算机0给计算机1发送消息时
    计算机0的网段:192.168.0.10 & 255.255.255.0 = 192.168.0.0
    计算机1的网段:192.168.10.10 & 255.255.255.0 = 192.168.10.0
    得知计算机1和自己并不在同一网段,因此不能直接通信

  • 当计算机1给计算机0发送消息时
    计算机1的网段:192.168.10.10 & 255.255.0.0 = 192.168.0.0
    计算机0的网段:192.168.0.10 & 255.255.0.0 = 192.168.0.0
    得知计算机0和自己在同一网段,可以给计算机0发送消息,但是计算机0在给计算机1回复消息的时候,发现计算机1和自己不在同一网段,不能回复消息,因此也无法正常通信

六、超网

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

1. 合并两个网段

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

  • 200台在192.168.0.0/24网段,200台在192.168.0.0/23网段
  • 合并192.168.0.0/24、192.168.1.0/24为一个网段:192.168.0.0/23(子网掩码往左移动1位)


    Snip20201015_8.png
思考

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

解析:

Snip20201015_9.png

192.168.0.255/23,主机部分2进制值为011111111,不是全0(网段),也不是全1(广播),因此可以分配给计算机使用
另,广播ip地址为192.168.1.255,不能给计算机使用

2. 合并4个网段

子网掩码向左移动2位,可以合并4个网段


Snip20201015_10.png

将192.168.0.0/24、192.168.1.0/24、192.168.2.0/24、192.168.3.0/24合并为192.168.0.0/22网段

思考

下面2个网段,能通过子网掩码向左移动1位进行合并么?
答:不可以


Snip20201015_11.png
合并网段的规律
  1. 假设n时2的k次幂(k>=1),子网掩码左移k位能够合并n个网段


    Snip20201015_12.png
  2. 假设n时2的k次幂(k>=1),如果第一个网段的网络号能被n整除,那么由它开始连续的n个网段,能够通过左移k位子网掩码进行合并
    例如:

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

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

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

25.100.0.1/16是一个A类子网
200.100.0.1/16是一个C类超网

你可能感兴趣的:(02_基本概念)