你可得知道物理地址与IP地址
来看看计算机网络中这些常见的概念你有没有理解~
物理地址
表示方式
物理地址即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地址的更多相关文章
- 基于WMI获取本机真实网卡物理地址和IP地址
using System; using System.Collections.Generic; using System.Management; using System.Runtime.Intero ...
- 修改Linux克隆的物理地址 和 IP地址
实在不行就重新启动一下 才会改成 ech0 完成后文件配置环境变量 作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具.
- SQL Server获取连接的IP地址
来源:http://www.itpub.net/thread-193247-1-1.html 先保存,以后研究一下 1 *--获取连接SQL服务器的信息 2 3 所有连接本机的:操作的数据库名,计算机 ...
- android获取本机的IP地址和mac物理地址
/获取本机IP地址 public String getLocalIpAddress() { WifiManager wifiManager = (WifiManager) getSystemServi ...
- <TCP/IP>记一次关于IP地址和MAC物理地址的思考
是的,从3月6日第一次上计算机网络课起,我还是今天第一次对这本书里讲的知识点有了自己的疑问..之前看书就是 嗯嗯这好像很有道理,嗯嗯也许再多看几章就知道它在讲什么了.. 不过今天已经自学到了网络层了, ...
- IP地址和物理地址有什么区别
所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址.简单地说就是你在整个互联网上的ID. MAC(Media Access Control,介质访问控制)地址 (物理地址)是 ...
- centos设置静态ip地址
1.修改网卡配置 编辑:vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为 ...
- DOS命令(可查看本机IP地址各个网卡号)
网卡号指的是网卡的编号,也就是网卡的物理地址.查看方法:(以win7为例)打开开始 输入cmd 回车后进入dos命令行模式,然后输入ipconfig /all 回车查看结果找到"无线局域网适 ...
- mac地址和ip地址、子网掩码和默认网关
MAC地址 MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址.硬件地址,用来定义网络设备的位置.在OSI模型中, ...
- linux修改ip地址的方法
1. 临时设置ip地址 ifconfig eth0 IP地址 (网络掩码和网关如果不设置就使用默认0) 这种方法只是临时修改,重启网卡或服务器又会还原 2.使用vi编辑器设置 1122.www.qix ...
随机推荐
- Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Bolb Storage
一,引言 结合前几篇文章,我们了解到 Azure Pipeline 完美的解决了持续集成,自动编译.同时也兼顾了 Sonarqube 作为代码扫描工具.接下来另外一个问题出现了,Azure DevOp ...
- IPS 和 IDS
IPS/IDS 什么是IPS和IDS IDS/IPS是检测和防止对网络服务器进行未授权的访问的系统.有许多产品同时有IDS和IPS的作用,作为加强企业信息安全所必须的系统 什么是IDS(Intrusi ...
- 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 ...
- 2022-02-10:k8s安装mongo,yaml如何写?
2022-02-10:k8s安装mongo,yaml如何写? 答案2022-02-10: yaml如下: apiVersion: v1 kind: Service metadata: labels: ...
- gitlab-runner 中的 Docker-in-Docker
笔者个人理解:gitlab-runner 安装后就是一个监听状态的 runner,而通过 gitlab-runner register 注册的"实例"其实只是预定义的配置节,当消息 ...
- 从 DevOps 到平台工程:软件开发的新范式
DevOps 是一种将开发和运营结合起来的方法,在应用规划.开发.交付和运营方面将人员.流程和技术结合起来.DevOps 使以前孤立的角色(如开发.IT运营.质量工程和安全)之间进行协调和合作.一直以 ...
- pip 20.3 新版本发布!即将抛弃 Python 2.x
据 Python 软件基金会消息,Python Packaging Authority 和 pip 团队于北美时间11月30日宣布发布 pip 20.3版本,开发者可以通过运行 python -m p ...
- kotlin 函数格式大赏
fun main() { // 一个有引用的lambda表达式 val f11: (Int, Int) -> Unit = {n1, n2 -> println("f11 is ...
- 如何判断Keil MDK ARM中已经破解?如何判断Keil MDK ARM中已经安装了相应的器件库?如何判断CubeMX的器件库已经安装成功?
如何判断CubeMX的器件库已经安装成功?请对照下图 如何判断Keil MDK ARM中已经安装了相应的器件库?请看下图 如何判断CubeMX的器件库已经安装成功?请对照下图
- 曲线艺术编程 coding curves 第七章 抛物线(Parabolas)
抛物线 Parabolas 原作:Keith Peters https://www.bit-101.com/blog/2022/11/coding-curves/ 译者:池中物王二狗(sheldon) ...