来看看计算机网络中这些常见的概念你有没有理解~

物理地址

表示方式

物理地址即mac地址,每个网卡都有6字节的唯一标识,前三个字节表示厂商,后三个字节由厂商随机分配。

如何查看

在 command 中通过 ipconfig/all 查看到自己计算机的物理地址,比如我计算机的组织唯一标识是 9C-B6-D0,通过查询得知厂商是 Rivet Networks。

不同系统之间物理地址分隔符会有些不同,上面展示的 windows 系统中以短横线(-)相连,而 Packet Tracer 模拟器中以点(.)相连。

能不能修改

Mac 地址是可以修改的,在学校机房蹭网会这么使用。

机房中交换机设置允许上网的Mac 地址,一旦发现 Mac 地址不在可上网的表中,网络就不通,如果想蹭网需要知道能够上网电脑的 Mac 地址,将自己电脑的 Mac 地址改成可上网的 Mac 地址。

ARP 与 ICMP

当机器A通过 IP 地址 向机器B发送消息时,如果不知道B的 Mac 地址,机器A首先会发送ARP 协议,获取机器B的 Mac 地址,此时机器A会缓存机器B的 Mac 地址(2分钟左右),再通过 ICMP 协议发送消息。

第二次机器A发送消息给机器B,如果机器A缓存中还有机器B的Mac地址,就不需要再通过 ARP 协议,而是直接发送 ICMP 协议。

IP地址

互联网上每个主机都有 IP 地址,IPv4 版本是四个字节,大概是这样的。

IP地址由两部分组成,网络标识(网络ID)、主机标识(主机ID),可以由子网掩码推算得出。IP地址可以分为5类

  • A类地址,网络ID占8位,以0开头,主机占24位,默认子网掩码是 255.0.0.0
  • B类地址,网络ID占16位,以10开头,主机占16位,默认子网掩码是 255.255.0.0
  • C类地址,网络ID占24位,以110开头,主机占8位,默认子网掩码是 255.255.255.0
  • D类地址,以1110开头,没有子网掩码,用于多播(组播)地址
  • E类地址,以1111开头,没有子网掩码,保留今后使用

A类地址

A类地址网络ID的取值范围为 0 ~ 127,0不可用,127作为保留网段,所以可用范围为 1~ 126,主机 ID 中第2、3、4部分范围都为 0 ~ 255,比如 10.46.3.12。

其中主机 ID 全为0为网段,全为1时为广播,所以每个A类地址能容纳的最大主机数为 256 * 256 * 256 - 2 = 16777214。

B类地址

网络ID第一部分取值范围为 128 ~ 191,第二部分取值范围为 0 ~ 255,主机ID的两部分范围都是 0 ~ 255,比如 171.200.131.24。

其中主机 ID 全为0为网段,全为1时为广播,所以每个B类地址能容纳的最大主机数为 256 * 256 - 2 = 65534。

C类地址

网络ID第一部分取值范围为 192 ~ 223,第二部分取值范围为 0 ~ 255,第三部分取值为 0 ~ 255,主机ID范围是 0 ~ 255,比如 192.168.0.10。

其中主机 ID 全为0为网段,全为1时为广播,所以每个B类地址能容纳的最大主机数为 256 - 2 = 254。

D、E类地址

D 类地址第一部分范围为 224 ~ 239,其余三部分均为 0 ~ 255,E 类地址第一部分范围 240 ~ 255,其余三部分均为 0 ~ 255。

子网掩码

子网掩码除了用 255.255.255.0 这种表示方式外,它还有 CIDR(Classless Inter-Domain Routing、无类别域间路由)的方式来表示。

比如 192.168.0.10/24,表示子网掩码有24个1,即 255.255.255.0

10.46.3.12/8,表示子网掩码有8个1,即255.0.0.0

网段

网段组成是由IP地址 按位与 子网掩码,计算机在通信前,会判断是否在同一网段,相同网段可以直接通信,而不同网段需要通过路由器。

那 192.168.0.10/24 是在哪一个网段呢,将 192.168.0.10 和 255.255.255.0 分别转为二进制,按位与操作,得出网段为 192.168.1.0。

所以 IP 地址的前16位为 192.168.1 的计算机,都属于同一个网段,最后8位的取值范围为 1 ~ 254,最后8位全为1时,IP地址为 192.168.1.255,表示广播,不可用于计算机。

以上就是 物理地址和IP地址的相关知识 ,IP地址、网段等知识是理解子网和超网的前提, 更多有关 前端网络协议 的内容可以参考我其它的博文,持续更新中~

你可得知道物理地址与IP地址的更多相关文章

  1. 基于WMI获取本机真实网卡物理地址和IP地址

    using System; using System.Collections.Generic; using System.Management; using System.Runtime.Intero ...

  2. 修改Linux克隆的物理地址 和 IP地址

    实在不行就重新启动一下   才会改成 ech0 完成后文件配置环境变量 作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具.

  3. SQL Server获取连接的IP地址

    来源:http://www.itpub.net/thread-193247-1-1.html 先保存,以后研究一下 1 *--获取连接SQL服务器的信息 2 3 所有连接本机的:操作的数据库名,计算机 ...

  4. android获取本机的IP地址和mac物理地址

    /获取本机IP地址 public String getLocalIpAddress() { WifiManager wifiManager = (WifiManager) getSystemServi ...

  5. <TCP/IP>记一次关于IP地址和MAC物理地址的思考

    是的,从3月6日第一次上计算机网络课起,我还是今天第一次对这本书里讲的知识点有了自己的疑问..之前看书就是 嗯嗯这好像很有道理,嗯嗯也许再多看几章就知道它在讲什么了.. 不过今天已经自学到了网络层了, ...

  6. IP地址和物理地址有什么区别

    所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址.简单地说就是你在整个互联网上的ID. MAC(Media Access Control,介质访问控制)地址 (物理地址)是 ...

  7. centos设置静态ip地址

    1.修改网卡配置 编辑:vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为 ...

  8. DOS命令(可查看本机IP地址各个网卡号)

    网卡号指的是网卡的编号,也就是网卡的物理地址.查看方法:(以win7为例)打开开始 输入cmd 回车后进入dos命令行模式,然后输入ipconfig /all 回车查看结果找到"无线局域网适 ...

  9. mac地址和ip地址、子网掩码和默认网关

    MAC地址 MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址.硬件地址,用来定义网络设备的位置.在OSI模型中, ...

  10. linux修改ip地址的方法

    1. 临时设置ip地址 ifconfig eth0 IP地址 (网络掩码和网关如果不设置就使用默认0) 这种方法只是临时修改,重启网卡或服务器又会还原 2.使用vi编辑器设置 1122.www.qix ...

随机推荐

  1. Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Bolb Storage

    一,引言 结合前几篇文章,我们了解到 Azure Pipeline 完美的解决了持续集成,自动编译.同时也兼顾了 Sonarqube 作为代码扫描工具.接下来另外一个问题出现了,Azure DevOp ...

  2. IPS 和 IDS

    IPS/IDS 什么是IPS和IDS IDS/IPS是检测和防止对网络服务器进行未授权的访问的系统.有许多产品同时有IDS和IPS的作用,作为加强企业信息安全所必须的系统 什么是IDS(Intrusi ...

  3. 2020-09-13:判断一个正整数是a的b次方,a和b是整数,并且大于等于2,如何求解?

    福哥答案2020-09-13: 首先确定b的范围,b的范围一定在[2,logN]里.然后遍历b,求a的范围,如果范围长度等于0,说明这个正整数是a的b次方.1.遍历b范围.二分法求a,a初始范围是[2 ...

  4. 2022-02-10:k8s安装mongo,yaml如何写?

    2022-02-10:k8s安装mongo,yaml如何写? 答案2022-02-10: yaml如下: apiVersion: v1 kind: Service metadata: labels: ...

  5. gitlab-runner 中的 Docker-in-Docker

    笔者个人理解:gitlab-runner 安装后就是一个监听状态的 runner,而通过 gitlab-runner register 注册的"实例"其实只是预定义的配置节,当消息 ...

  6. 从 DevOps 到平台工程:软件开发的新范式

    DevOps 是一种将开发和运营结合起来的方法,在应用规划.开发.交付和运营方面将人员.流程和技术结合起来.DevOps 使以前孤立的角色(如开发.IT运营.质量工程和安全)之间进行协调和合作.一直以 ...

  7. pip 20.3 新版本发布!即将抛弃 Python 2.x

    据 Python 软件基金会消息,Python Packaging Authority 和 pip 团队于北美时间11月30日宣布发布 pip 20.3版本,开发者可以通过运行 python -m p ...

  8. kotlin 函数格式大赏

    fun main() { // 一个有引用的lambda表达式 val f11: (Int, Int) -> Unit = {n1, n2 -> println("f11 is ...

  9. 如何判断Keil MDK ARM中已经破解?如何判断Keil MDK ARM中已经安装了相应的器件库?如何判断CubeMX的器件库已经安装成功?

    如何判断CubeMX的器件库已经安装成功?请对照下图 如何判断Keil MDK ARM中已经安装了相应的器件库?请看下图 如何判断CubeMX的器件库已经安装成功?请对照下图

  10. 曲线艺术编程 coding curves 第七章 抛物线(Parabolas)

    抛物线 Parabolas 原作:Keith Peters https://www.bit-101.com/blog/2022/11/coding-curves/ 译者:池中物王二狗(sheldon) ...