网络协议(二):MAC地址、IP地址、子网掩码、子网和超网

news2024/10/5 21:18:37

网络协议系列文章

网络协议(一):基本概念、计算机之间的连接方式

网络协议(二):MAC地址、IP地址、子网掩码、子网和超网


目录

  • 一、MAC地址
  • 二、IP地址
    • 1、IP地址的组成
    • 2、IP地址的分类
  • 三、子网划分
    • 1、等长子网划分
    • 2、变长子网划分
  • 四、超网
  • 五、判断一个网段是子网还是超网

一、MAC地址

在这里插入图片描述

  • 每个网卡都有一个6字节(48bit)的MAC地址 (Media Access Control Address)
  • MAC地址全球唯一,固化在网卡的ROM中,由 IEEE802 标准规定
    • 前3字节:OUI (Organizationally Unique Identifier),组织唯一标识符由 IEEE 的注册管理机构分配给厂商
    • 后3字节:网络接口标识符由厂商自行分配
  • OUI 查询:可以根据OUI查询出对应的厂商
    • http://standards-oui.ieee.org/oui.txt
    • https://mac.bmcx.com

不同系统MAC地址格式

  • Windows:40-55-82-0A-8C-6D
  • Linux、Android、Mac、iOS:40:55:82:0A:8C:6D
  • Packet Tracer:4055.820A.8C6D

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

获取MAC地址

  • Windows:ipconfig /all

在这里插入图片描述

  • Mac:ifconfig

在这里插入图片描述

  • ARP广播获取(所有系统通用)
    • 当不知道对方主机的MAC地址时,可以通过发送ARP广播获取对方的MAC地址
    • 获取成功后,会缓存IP地址、MAC地址的映射信息,俗称:ARP缓存
    • 通过ARP广播获取的MAC地址,属于动态(dynamic)缓存存储时间比较短(默认是2分钟),过期就自动删除

在这里插入图片描述

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

二、IP地址

  • IP地址 (Internet Protocol Address):互联网上的每一个主机都有一个IP地址
  • 最初是IPv4 版本,32bit(4字节),2019年11月25日,全球的IP地址已经用完
  • 后面推出了IPv6 版本,128bit(16字节)
  • 我们在学习中讨论的都是 IPV4

在这里插入图片描述

1、IP地址的组成

  • IP地址由2部分组成:网络标识(网络ID)、主机标识(主机ID)
  • 通过子网掩码(subnet mask)可以得知 网络ID 、主机ID
  • 主机所在的网段 = 子网掩码 & IP地址
IP地址:192.168.1.10
子网掩码:255.255.255.0

	1100 0000 . 1010 1000 . 0000 0001 . 0000 1010
&	1111 1111 . 1111 1111 . 1111 1111 . 0000 0000
----------------------------------------------------
	1100 0000 . 1010 1000 . 0000 0001 . 0000 0000

网段:192.168.1.0  
  • 网段是由子网掩码计算得出,只有IP地址无法得知网段
IP地址:130.168.1.10
子网掩码:255.255.0.0
网段:130.168.0.0

该网段最多有 256*256-2 个IP地址
-2是因为: 全0代表网段,全1代表广播
网段和广播无法分配IP地址.

2、IP地址的分类

  • 判断IP地址的类别只要看第一部分即可
  • 只有 A\B\C 类地址才能分配给主机
    • 主机ID为 全0,表示主机所在的网段,如 192.168.1.0
    • 主机ID为 全1,表示主机所在网段的全部主机(广播),如 192.168.1.255

A类地址

  • 默认子网掩码是 255.0.0.0

在这里插入图片描述
在这里插入图片描述
网络ID

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

主机ID

  • 第2、3、4部分的取值范围是:0~255
  • 每个A类网络能容纳的最大主机数是:256256256–2 = 2^24–2 = 16777214(1600多万)

B类地址

  • 默认子网掩码是 255.255.0.0

在这里插入图片描述
在这里插入图片描述
网络ID

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

主机ID

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

C类地址

  • 默认子网掩码是 255.255.255.0

在这里插入图片描述
在这里插入图片描述

网络ID

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

主机ID

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

D类地址

  • 没有子网掩码,用于多播(组播)地址
  • 第一部分取值是:224~239

在这里插入图片描述

E类地址

  • 保留为今后使用
  • 第一部分取值是:240~255

在这里插入图片描述

子网掩码的CIDR表示方法

  • CIDR (Classless Inter-Domain Routing),无类别域间路由
  • 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、等长子网划分

C类子网划分:192.168.0.0/24

等分成 2 个子网:

在这里插入图片描述

  • 主机部分右移一位,分成2个子网,主机部分由8位表示改为7为表示(但是ip地址第四部分还是后八位表示)
  • 每个子网可分配ip个数:2^7 = 128 - 2 = 126
  • 以前255.255.255.0是二进制24个1,现在是25个1,所以子网掩码:255.255.255.128或25
  • A子网网段:主机部分2~8位都是0,第1位是0,192.168.0.0
  • A子网广播ip:主键部分2~8位都是1,第一位是0,192.168.0.127
  • B子网网段:主机部分2~8位都是0,第1位是1,192.168.0.128
  • B子网广播地址:主键部分2~8位都是1,第一位是1,192.168.0.255

等分成 4 个子网:

在这里插入图片描述

  • 主机部分右移二位,分成4个子网,主机部分由8位表示改为6位表示
  • 每个子网可分配ip个数:2^6 = 64 - 2 = 62
  • 以前255.255.255.0是二进制24个1,现在是26个1,所以子网掩码:255.255.255.192或26
  • 等分成 4 个子网的广播地址:192.168.0.63、192.168.0.127、192.168.0.191、192.168.0.255

在这里插入图片描述

等分成 8 个子网:

在这里插入图片描述

  • 主机部分右移三位,分成8个子网,主机部分由8位表示改为5位表示
  • 每个子网可分配ip个数:2^5 = 32 - 2 = 30
  • 以前255.255.255.0是二进制24个1,现在是27个1,所以子网掩码:255.255.255.224或27

A、B类子网划分

B类子网划分:

在这里插入图片描述

A类子网划分:

在这里插入图片描述

子网划分实践

例1:他们还是属于同一个网段,可以直接 ping 通

在这里插入图片描述

例2:它们分别属于 192.168.0.0 和 192.168.0.128 网段,需要用路由器并设置网关才可以 ping 通

在这里插入图片描述

2、变长子网划分

  • 不等长的子网,它们的子网掩码也不同

在这里插入图片描述

  • 假设上图是对192.168.0.0/24进行变长子网划分
    • C网段:子网掩码是255.255.255.128/25 | 主机可用ip:192.168.0.1~192.168.0.126 | ip个数:126个
    • B网段:子网掩码是255.255.255.192/26 | 主机可用ip:192.168.0.129~192.168.0.190 | ip个数:62个
    • A网段:子网掩码是255.255.255.224/27 | 主机可用ip:192.168.0.193~192.168.0.222 | ip个数:30个
    • D网段:子网掩码是255.255.255.252/30 | 主机可用ip:192.168.0.253~249.168.0.250 | ip个数:2个
    • E网段:子网掩码是255.255.255.252/30 | 主机可用ip:192.168.0.253~192.168.0.254 | ip个数:2个

下列两台计算机可以正常通信吗?

在这里插入图片描述

  • 答案:不可以
  • 计算机0 想要发送数据包,先判断计算机1是否和自己处于同一个网段,计算网段的方法是:IP地址 & 子网掩码
  • 计算机0判断计算机1的网段为 192.168.10.10 & 255.255.255.0 = 192.168.10.0对方ip & 自己子网掩码
  • 而计算机0判断自身所处网段为 192.168.0.10 & 255.255.255.0 = 192.168.0.0
  • 双方不处于同一网段,所以计算机0无法将数据包发给计算机1(不同网段的数据通信需要路由器)

四、超网

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

为什么需要超网?

  • 原本有200台计算机使用192.168.0.0/24网段,现在希望增加200台设备到同一个网段
    • 200台在192.168.0.0/24网段,200台在192.168.1.0/24网段
    • 合并192.168.0.0/24、192.168.1.0/24为一个网段:192.168.0.0/23(子网掩码往左移动1位)

在这里插入图片描述

  • 主机部分左移一位,两个网段合并成一个,主机部分由8位表示改为9位表示(但是ip地址第三、四部分还是以前的八位表示)
  • 可分配ip个数:2^9 = 512 - 2 = 510
  • 网段:192.168.0.0 广播IP:192.168.1.255
  • 可用IP地址:192.168.0.1~192.168.1.254
  • 以前255.255.255.0是二进制24个1,现在是27个1,所以子网掩码:255.255.255.224或27

合并4个网段

在这里插入图片描述

  • 子网掩码向左移动 2 位,可以合并 4 个网段
  • 将 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 网段

子网合并的规律

在这里插入图片描述

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

在这里插入图片描述

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

  • 首先看该网段的类型,是A类网络、B类网络、C类网络
    • A类子网掩码的位数是8(255.0.0.0)
    • B类子网掩码的位数是16(255.255.0.0)
    • C类子网掩码的位数是24(255.255.255.0)
  • 如果该网段的子网掩码位数比默认子网掩码,就是子网
  • 如果该网段的子网掩码位数比默认子网掩码,则是超网

例如:

判断 25.100.0.0/16 是子网还是超网:

根据 25 判断出这是个 A 类网络,默认子网掩码 8 位
由于该网段子网掩码 16 位,比默认多,所以是子网

判断 200.100.0.0/16 是子网还是超网:

根据 200 判断出这是个 C 类网络,默认子网掩码 24 位
由于该网段子网掩码 16 位,比默认少,所以是超网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/134567.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DIY NAS服务器之OMV 5.6入坑指南(四) -安装docker和Portainer

系列文章目录 DIY NAS服务器之OMV 5.6入坑指南(一)-openmediavalut 5.6安装DIY NAS服务器之OMV 5.6入坑指南(二)- 安装omv-extras插件DIY NAS服务器之OMV 5.6入坑指南(三)- 切换系统源​​​​​​​ ​​…

CentOS安装Vscode-yum+Vscode前端开发必安装的插件

CentOS安装Vscode-yum Visual Studio Code 是 Microsoft 产品和开源跨平台代码编辑器。 它提供内置调试支持、代码完成、集成终端语法高亮、嵌入式 Git 控制、代码重构和代码片段。 在本教程中,我们将介绍如何使用 CentOS 7 机器上的官方代码存储库安装最新版本的…

Python--你见过雪飘人间吗?

happy new year 突然想来一点雪花特效。 其实Python做前端效果还是很少的,也就大概记录一下画法啦 对了祝大家新的一年快乐,早点脱单吧!!! 附上一张女神的照片 Python-turtle 科赫曲线是一种分形。其形态似雪花&am…

地宫夺宝(三种方法)(第五届蓝桥杯省赛C++A/B/C组,第五届蓝桥杯省赛JAVAB/C组)

PS:方法一和方法看起来复杂,但其实较容易理解,大家不要跳过哦。至于方法三的动态规划则可能有点抽象,理解起来有点难度。 目录 题目描述: 三种方法: 方法一:暴力枚举(该方法只能获得30分&…

函数传参问题,桶排序去重,分治递归,摩尔投票求数组众数,数组中心下标求法

TIPS 1. 我们都知道,地址,指针这两者是完全等价的概念,但是有微小的差别。地址的话是不能够修改的(比如说数组名就是违法的),而指针的话可以与--。 2. 以后一旦在代码里面看到字符char类型的,…

安全回顾总结

xss反射型漏洞复现 观察源码&#xff0c;可以看出源码中通过get传参到变量xss&#xff0c;并将一些特殊符号过滤了&#xff0c;则后续需要考虑该规则的绕过 echo “<img src”{$xss}">"; img标签 <img src“aaa” οnerrοr“alert(1)” 如果img图片不存在…

自然语言处理-01神经网络

数学和PY 向量是同时拥有大小和方向的量。向量可以表示为排成一排的数字集合&#xff0c;在 Python 实现中可以处理为一维数组。 向量和矩阵可以分别用一维数组和二维数组表示。另外&#xff0c;在矩阵中&#xff0c;将水平方向上的排列称为行&#xff08;row&#xff09;&…

2.SpringBoot-Condition

一、 参考 04-SpringBoot自动配置-切换内置web服务器_哔哩哔哩_bilibili 二、 Condition 顾名思义&#xff1a;条件。有点类似于if语句&#xff0c;只不过是通过注解的形式来实现。 以一个实际需求来学习该原理&#xff1a;有一个实体类User&#xff0c;想要创建该实例化对象…

Retrift

文章目录一、Retrift简介二、Retrift使用介绍三、注解1、GET2、POST3、PUT4、DELETE一、Retrift简介 retrift官网 1、是一个基于okhttp的网络请求框架 2、通过注解配置网络请求参数 3、图片链接和图片上传 4、支持同步和异步网络请求 5、支持多种数据的解析,提供对Rxjava的支…

光环:软件工程环境堆栈建设思路——徐磊

摘要&#xff1a;文章内容主要来源于光环国际2022年第三届中国科创者大会徐磊老师的分享&#xff0c;原分享名称为"企业开发者平台建设思路&#xff0c;云原生技术如何赋能开发者"。简述当前软件工程中Devops平台还缺少一个软件调试环境环节&#xff0c;这个环境其实…

stacking方法,boosting算法,与bagging的区别,adboost算法权重固定,regionboost权重动态学习

stacking方法&#xff0c;boosting算法&#xff0c;与bagging的区别&#xff0c;adboost算法权重固定&#xff0c;regionboost权重动态学习 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#…

VBA之正则表达式(38)-- 提取规格数据(1/2)

实例需求&#xff1a;A列为某产品名称&#xff0c;现需要提取其中的规格数据&#xff0c;具体规则如下&#xff1a; 规格数据以如下关键字开头&#xff1a;RO、RE、SQ、SD、QD、OB、HX、ET、QR、D2规则数据可能有多段&#xff08;截图中红色部分&#xff09;提取规格数据之后&…

数据模拟:利用Java模拟数据(姓名,邮箱,地址,电话等信息,时间,工资,1-10随机数)并存入mysql

学大数据分析的同学们在做数据分析时一般很难找到适合数据集&#xff0c;本文就来分享一下如何利用Java模拟数据&#xff0c;并将产生数据保存至mysql数据库中。 主要技术就是Java产生数据&#xff0c;利用mybatis存入mysql数据库 数据模拟项目1.数据库建表2.构建maven项目3.项…

初级指针【一】

指针是什么&#xff1f;2个要点&#xff1a;指针是内存中一个最小单元编号&#xff0c;也就是地址。平时口语中说的指针&#xff0c;通常指的是指针变量&#xff0c;是用来存放地址的变量。总结&#xff1a;指针就是地址&#xff0c;我们口语中说的指针指的是指针变量。指针的大…

ZooKeeper分布式协调服务(节点分类、事件监听、java集成)

文章目录前言安装启动相关概念操作节点事件监听java客户端前言 ZooKeeper是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务&#xff0c;是Google的Chubby一个开源的实现&#xff0c;是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xf…

序列化二叉树 - 剑指Offer困难

序列化二叉树 题目链接 请实现两个函数&#xff0c;分别用来序列化和反序列化二叉树。 你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑&#xff0c;你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为…

Alibaba Clould Tookit插件-IDEA实现一键部署

Alibaba Clould Tookit插件-IDEA实现一键部署 文章目录 前言说明使用 安装插件配置服务添加服务配置打包上传等内容 配置自动化配置命令配置文件上传前执行的命令 远程发布查看是否成功注意脚本 前言 本来一直使用jenkins后来坏掉了&#xff0c;别问&#xff0c;问就是老板…

(三分钟了解)处理外点(粗差)的方法--ransac和M估计

​ 编辑 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 外点也即是我们所说的粗差&#xff0c;是因为在实际工程当中由于人为因素或者测量设备等因素造成的测量值与实际情况相比误差较大。然后从高斯分布的角度来说就是大于3σ以外的数据。本篇博客将…

STM32——OLED调试工具与显示屏

文章目录一、调试工具二、OLED简介三、硬件电路接线图四、OLED驱动函数五、源码OLED.cOLED.hOLED_Font.h一、调试工具 调试方式 串口调试&#xff1a;通过串口通信&#xff0c;将调试信息发送到电脑端&#xff0c;电脑使用串口助手显示调试信息 显示屏调试&#xff1a;直接将…

ip综合实验

目录实验要求分析开始实施1&#xff0c;前期工作2&#xff0c;缺省路由配置3&#xff0c;hdlc封装4&#xff0c;ppp封装的pap认证5&#xff0c;ppp封装的chap认证6&#xff0c;构建MGRE环境nhrp协议7&#xff0c;RIP使内网互通水平分割关闭实验要求分析 1&#xff0c;如图为实…