网络原理——IP地址与mac地址

news2025/3/1 1:56:10

目录

IP地址

IP地址

IP地址的组成

子网掩码

mac地址

冲突域与广播域

数据传输流程


IP地址

IP地址

互联网协议地址。每一个联网的主机都会分配一个IP地址。为32位二进制数,用4个'.'均分为四部分,在命令提示符中输入:ipconfig命令,可以显示本机IP:

ip协议其实有两个版本,为IPV4和IPV6,IPV4可以分配的ip数量有2^32个( 大约有43亿个ip),而IPV6可以分配的IP数量有2^64个。早期计算机都使用的IPV4,实际上43亿个ip对于当前的世界来说并不太够用,因此IPV4协议做了一些优化:

  • 只有上网才分配ip,不上网就不分配。
  • IP分为内网和外网,内网是局域网的简称,覆盖的范围小,内网设备的ip就是内网ip,在同一个内网中的设备ip是唯一的,当内网设备访问外网时,这个内网ip才会被替换成该局域网分配的外网ip,也就是NAT机制。因此在两个不同内网中的设备ip可以相同。

在家用路由器中,有两个ip,一个WAN口ip,另有多个LAN口ip,WAN口就是连接的外网,LAN口连接的就是内网。当内网设备连接外网时,就会执行NAT机制。NAT的基本功能是用一个或多个ip地址来实现1个私有网中的所有主机和公网中主角及的ip通信,也就是内网与外网的转换。

通过这些措施,就可以暂时解决ip地址不够用的问题,但是这些都是治标不治本的。更好的做法是使用IPV6协议。

但是由于历史原因,IPV6没有普及,并且IPV4不能升级到IPV6,除非更换一批新的设备,这显然是一笔开销,而且当前IPV4协议还可以正常使用,因此很多企业仍在使用IPV4。

如没有特殊说明,IP协议均指IPV4协议。

IP地址的组成

IP地址分为两个部分,网络号和主机号

网络号的作用是识别设备所在的网络,也就是局域网;主机号的作用是定位到局域网中的主机地址。同一个网段中,网络号相同,但主机号不同。不同网段中,网络号不同,主机号可以相同。

网络号和主机号的划分:IP地址分为ABCDE五类:

分类

范围

适用网络

A类

1.0.0.0~126.255.255.255

大型网络

B类

128.0.0.0~191.255.255.255

中型网络

C类

192.0.0.0~223.255.255.255

小型网络

D类

224.0.0.0~239.255.255.255

E类

240.0.0.0~247.255.255.255

0表示任何地址,127代表环回地址(用于本机测试)。

如果按照以上的方式分类,总会造成很多的ip浪费,往往会出现C类不够用,但是B类却用不完的情况。为了避免这种资源浪费,引入了子网掩码来表示。

子网掩码

子网掩码同样由32位二进制数组成,左边为网络位,由1组成,右边为主机位,由0组成。子网掩码的左边全为1,右边全为0,1的数目表示网络位长度,0的数目表示主机位长度。

mac地址

mac地址位于数据链路层,mac地址有6个字节,因此完全够用。每个网卡都有一个唯一的mac地址,主机有一个或多个网卡,路由器有多个网卡。网络通信就是通过网卡进行传输的。网卡属于硬件设备,因此mac地址用来识别网络物理地址。mac地址在网卡出厂时就写死了,不可修改。虚拟机中配置的虚拟mac地址不是真实的mac地址。

IP地址和mac地址的区别:

  • IP地址指的是起点和终点的地址,用于网络层,是网络逻辑地址;mac地址指的是相邻两节点的地址,用于数据链路层,是真实的网络物理地址。
  • IP地址为4个字节,mac地址为6个字节。
  • IP地址往往可以根据需要更改,mac地址伴随网卡的出厂不可再更改。

冲突域与广播域

冲突域:主机之间通过网络设备进行连接时,如果在同一时间发送数据报,就可能发生冲突,这个冲突所在网络范围就为冲突域。

集线器的功能是把数据复制到每个接口,因此如果有两个数据报同时转发,就会造成冲突。集线器的所有端口为一个冲突域。

交换机在接收到数据后,会把数据转发到对应端口,如果两个数据报同时转发到同一个端口就会发生冲突。交换机可以分割冲突域,分割后,每个端口都是一个冲突域

广播域:ip地址全为1表示广播地址(TCP不支持广播),往这个地址发送数据报,数据报就会传播到局域网内的所有地方。(投屏原理就是手机通过广播发出数据报,电视上(有相应的软件的话)就能接收到信息,从而可以投屏)

数据传输流程

源IP与目的IP表示整个传输过程的起点和终点,源mac与目的mac表示每一段传输的起点和终点。假如发送端和接收端处于同一局域网中,那么数据就可以直接传输到目的IP,假如二者位于不同的局域网中,下一次传输的mac地址就是网关,(路由器是一个网关设备,路由器中有WAN口(连接外网IP)和LAN口(连接内网IP),当内网访问外网时需要先转换为外网,因为内网无法被识别)传输到网关后,要获取下一个mac地址,需要用到ARP寻址

在数据链路层,寻找下一跳设备mac地址的过程,称为ARP寻址。ARP是一个介于数据链路层和网络层之间的协议;ARP协议建立了IP地址与mac地址的映射关系。

通过IP地址,在本地ARP缓存表中查找目的mac地址,如果找到了,就直接返回mac地址进行传输,假如没有找到,则发送ARP广播数据报寻找目的mac,目的mac回应后返回mac地址。

网络传输路径由路由器进行规划,路由器进行路径规划的过程就称为路由

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

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

相关文章

35岁的测试工程师被公司强行辞退,感叹道:我以前就该好好努力了

曾经的高薪软件测试工程师,今年35岁了,被公司劝退了,外卖跑到凌晨,很累,但还是有一种想诉说的冲动。哪怕让大家觉得已经说得太多了,烦了,都成祥林嫂了,但是,我是真的想说…

如何报名2023年CDGP数据治理专家认证?看这里

DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…

java中必会String的常用方法(IT枫斗者)

java中必会String的常用方法(IT枫斗者) 概述 在Java语言中,所有类似“ABC”的字面值,都是String类的实例;String类位于java.lang包下,是Java语言的核心类,提供了字符串的比较、查找、截取、大小…

NumPy 初学者指南中文第三版:6~10

原文:NumPy: Beginner’s Guide - Third Edition 协议:CC BY-NC-SA 4.0 译者:飞龙 六、深入探索 NumPy 模块 NumPy 具有许多从其前身 Numeric 继承的模块。 其中一些包具有 SciPy 对应版本,可能具有更完整的功能。 我们将在下一章…

教你用Python和wxPython模块打造一个ChatGPT式打字效果程序

应用场景,可以使用类似ChatGPT回复的打字效果来增强用户体验或提高应用程序的可读性: 聊天机器人:当聊天机器人回复用户消息时,使用打字效果可以更好地模拟真实聊天体验,增强用户对聊天机器人的信任感。电子邮件客户端…

尚硅谷大数据技术Hadoop教程-笔记04【Hadoop-MapReduce】

视频地址:尚硅谷大数据Hadoop教程(Hadoop 3.x安装搭建到集群调优) 尚硅谷大数据技术Hadoop教程-笔记01【大数据概论】尚硅谷大数据技术Hadoop教程-笔记02【Hadoop-入门】尚硅谷大数据技术Hadoop教程-笔记03【Hadoop-HDFS】尚硅谷大数据技术Ha…

DPU02国产USB转UART控制芯片替代CP2102

目录DPU02简介DPU02芯片特性应用DPU02简介 DPU02是高度集成的USB转UART的桥接控制芯片,该芯片为RS-232设计更新为USB设计,并简化PCB组件空间提供了一个简单的解决方案。       DPU02包括了一个USB 2.0全速功能控制器、USB收发器、振荡器、EEPROM和带…

HTML3.1表格

一、表格标签(行列的单元格方式整齐展示数据) 属性值&#xff1a; 标签名说明table 整体&#xff0c;包裹多个tr tr行&#xff0c;包裹tdtd单元格&#xff0c;包裹内容 注&#xff1a;标签嵌套关系&#xff1a;table>tr>td 代码&#xff1a; <!DOCTYPE html> &…

37岁测试工程师被裁,120天没找到工作,无奈...

从短期来看&#xff0c;程序员的确算是个不错的工作&#xff0c;薪水也比一般岗位高很多&#xff0c;但是从长远来看&#xff0c;程序员的中年危机会比其他岗位来的更早&#xff0c;很多程序员只有到了35岁左右&#xff0c;才能真正认清楚互联网行业&#xff0c;尤其是被裁之后…

日撸 Java 三百行day23-24

文章目录说明day23 使用具有通用性的队列1.复用技术2.包装类3.java内存分配4.代码day24 二叉树的建立1.思路2.代码说明 闵老师的文章链接&#xff1a; 日撸 Java 三百行&#xff08;总述&#xff09;_minfanphd的博客-CSDN博客 自己也把手敲的代码放在了github上维护&#xff…

看完这篇 教你玩转渗透测试靶机vulnhub——My File Server: 2

Vulnhub靶机My File Server: 2渗透测试详解Vulnhub靶机介绍&#xff1a;Vulnhub靶机下载&#xff1a;Vulnhub靶机安装&#xff1a;Vulnhub靶机漏洞详解&#xff1a;①&#xff1a;信息收集&#xff1a;②&#xff1a;FTP匿名登入③&#xff1a;SSH私钥登入④&#xff1a;SMB共享…

超详细从入门到精通,pytest自动化测试框架实战-测试运行钩子(七)

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 pytest中用例执行相…

数据的表示和存储——

目录 浮点数的编码表示 浮点数类型 ​编辑 浮点数的表示 &#xff08;1&#xff09;浮点数&#xff08;Float Point&#xff09;的表示范围 &#xff08;2&#xff09;规格化数形式 &#xff08;3&#xff09;IEEE 754标准 其他形式的机器数表示 个人总结 浮点数的编码表…

深度学习_Learning Rate Scheduling

我们在训练模型时学习率的设置非常重要。 学习率的大小很重要。如果它太大&#xff0c;优化就会发散&#xff0c;如果它太小&#xff0c;训练时间太长&#xff0c;否则我们最终会得到次优的结果。其次&#xff0c;衰变率同样重要。如果学习率仍然很大&#xff0c;我们可能会简…

MySQL NDB Cluster使用docker compose一键部署

本文主要用来学习MySQL NDB Cluster 解决学习过程中的痛点&#xff1a;需要开启N台VMware虚拟机&#xff0c;电脑不堪重负 使用docker部署&#xff0c;完美解决 本文使用的docker image: mysql/mysql-cluster:8.0 创建mysql_cluster目录&#xff0c;后续操作都在这个目录下 …

基于html+css的盒子展示7

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

系统集成项目管理工程师软考第三章习题(每天更新)

第一章指路&#xff1a;系统集成项目管理工程师软考第一章习题&#xff08;已完结&#xff09;_程序猿幼苗的博客-CSDN博客 第二章指路&#xff1a;系统集成项目管理工程师软考第二章习题&#xff08;已完结&#xff09;_程序猿幼苗的博客-CSDN博客 第3章信息系统集成专业技术…

基于密集学习的半监督目标检测

文章目录Dense Learning based Semi-Supervised Object Detection摘要本文方法实验结果Dense Learning based Semi-Supervised Object Detection 摘要 提出了一种基于密集学习(DSL)的无锚点的半监督目标检测算法用于分配多层级和精确的密集像素伪标签的自适应过滤器用于生成稳…

C++13:搜索二叉树

目录 搜索二叉树概念 模拟实现搜索二叉树 插入函数实现 插入函数实现&#xff08;递归&#xff09; 查找函数实现 删除函数实现 删除函数实现&#xff08;递归&#xff09; 中序遍历实现 拷贝构造函数实现 析构函数实现 赋值重载 我们在最开始学习二叉树的时候&#xff0c;…

【网络】Internet 协议版本 6 (IPv6)

文章目录IPv6 寻址文本表示形式地址类型IPv6 路由邻居发现IPv6 自动配置自动配置类型IPv6 移动性禁用或启用 IPv6配置步骤代码启用操作系统启用来源Internet 协议版本 6 (IPv6) 是 Internet 的网络层的标准协议套件。 IPv6 旨在解决当前版本的 Internet 协议套件&#xff08;称…