计算机网络之MAC和IP地址

news2024/10/7 16:25:17

MAC地址

在局域网中,硬件地址,又称为物理地址或MAC地址。

目前现在的局域网中实际上使用的都是6字节的MAC地址,所以每一个以太网设备都具有唯一的MAC地址。

MAC地址的格式

假设传输使用的是IP数据,V2的MAC帧较为简单,由五个字段组成,前面的两个字段分别为6字节的目的地址和源地址,第3个字段是类型,主要用来标识上一层用的是什么协议,第四个字段是数据字段,最后的一个字段是4字节的帧检验序列FCS,主要是检验整个MAC帧,但是不包括物理层插入的八字节的前同步码和帧开始符号。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mPyQWewo-1678027123654)(D:\卓面\学习文件\学习内容\博客\博客插图\MAC绘图.png)]

从图上也能看到传输媒体时实际要比实际传送多8个字节,其中它也由两个字段构成,第一个字段时前7个字节的前同步码,作用是使接收端的适配器在接收MAC帧,实现位对齐,第二个字段是帧开始符号,即告诉适配器需要接收MAC信息帧了。

MAC只负责某一区间之间的通信传输,和IP不太一样,IP数据包是需要发送到最终目的地址,而MAC负责主机到源地址的上一级路由,以此不断在区间传输,然后最终可以送到最终目的地址。

IP协议

网络协议IP是TCP/IP体系中两个最主要的协议之一,也是互联网重要的标准协议之一

配套协议有:

  • 地址解析协议ARP

  • 网际控制报文协议ICMP

  • 网际组管理协议ICMP

IP协议与其配套协议的图如下,各层都有对应的一些协议

将网络连接起来需要一些中间设备,包括转发器、网桥、桥接器、交换机、路由器、网关。

IP地址

IP地址在整个互联网范围内是唯一的,可以记作:

IP 地址 ::= {<网络号>, <主机号>}

假设IP地址是32位,需要假设需要n位网络位,则剩余需要(32 - n)位。

IP地址可以分成五类地址:

  • A类地址

  • B类地址

  • C类地址

  • D类地址

  • E类地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gt3L8R05-1678027123657)(C:\Users\DY\AppData\Roaming\marktext\images\2023-02-20-16-05-55-image.png)]

C类地址可以表示的主机数:

2 8 − 2 = 254 2^8 - 2 = 254 282=254

之所以减2的是因为主机号全为1代表该网络下的全部主机,全为0代表的是某个网络

地址解析协议ARP

ARP协议:已经知道IP地址,可以找出其对应的硬件地址MAC地址。

RARP协议:可以根据硬件地址的主机可以通过RARP协议找出其IP地址。

ARP原理:可以在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表(ARP高速缓存(ARP cache))

ARP主要是ARP请求和ARP响应:主机会通过广播发送ARP请求,同一个链路的设备收到ARP请求,会拆开ARP请求包的内容,如果ARP请求的目标IP地址和自己的IP地址一致,这个设备就可以将这个MAC地址塞入ARP响应包返回给主机。

RARP协议:这时候需要架设一台RARP服务器,将这个设备接入到网络

  • 比如一个设备想知道这个的IP地址,我的MAC地址是XXX,请告诉我,我的IP地址应该是什么?

  • RARP服务器接到这个消息后返回MAC地址为XXX的设备,IP地址为XXX给这个设备。

IP数据报的格式

IP数据报由首部和数据两部分组成,由首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。

IPV4:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PFM3JnRw-1678027123658)(C:\Users\DY\AppData\Roaming\marktext\images\2023-02-20-17-03-25-image.png)]

IPV6的报文格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YP0Hf3xS-1678027123659)(C:\Users\DY\AppData\Roaming\marktext\images\2023-02-20-17-12-44-image.png)]
IPV4和IPV6格式对比:

优势:

  • 更大的地址空间

  • 扩展的地址层次结构

  • 灵活的首部格式

  • 改进的选项

  • 允许协议继续扩充

  • 支持资源的预分配

  • IPV6首部改成8字节对齐

改进:

  • 取消了首部检验和字段。这样可以加快路由器处理数据报的速度,在数据链路层和网络层都需要校验

  • 取消了标识、标志和片偏移字段,这些功能已经包含在分片扩展首部中

  • 取消选项字段,用扩展首部来选项功能

改进:

  • 取消了首部检验和字段。这样可以加快路由器处理数据报的速度,在数据链路层和网络层都需要校验

  • 取消了标识、标志和片偏移字段,这些功能已经包含在分片扩展首部中

  • 取消选项字段,用扩展首部来选项功能

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

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

相关文章

Sonar:VSCode配置SonarLint/SonarLint连接SonarQube

需求描述 公司为项目代码配置了Sonar检测&#xff0c;希望在VSCode中开发项目时能够同步检测结果。 注意事项 SonarQube版本必须为7.9&#xff0c;否则SonarLint无法连接&#xff08;GitHub-SonarLint-Wiki第一行就有说明&#xff09;&#xff01;&#xff01;&#xff01;S…

【前端】一个更底层库-React基础知识点第2篇

目录属性状态PROPSPROP VALIDATIONSTATEFORMCONTROLLED COMPONENTSMIXINCOMPONENT APICOMPONENT LIFECYCLETOP API上一篇文章也是React基础知识点&#xff0c;了解到了React是什么&#xff1f;为什么要使用React&#xff1f;还知道了JSX概述&#xff0c;JSX嵌入变量&#xff0c…

python Django中的cookies和session会话保持技术

cookies和session都是为了保持会话状态而诞生的两个存储技术会话定义&#xff1a; 从打开浏览器访问一个网站&#xff0c;到关闭浏览器结束此次访问&#xff0c;称之为一次会话HTTP协议是无状态的&#xff0c;导致会话状态难以保持Cookies-定义 cookies是保存在客户端浏览器上的…

超简单的卷积和加法融合

神经网络的优化除了之前提到的一些硬件优化手段(AI硬件加速拾遗)之外&#xff0c;还有很多图层方面的优化手段。大家好啊&#xff0c;我是董董灿。 而且图层方面的优化&#xff0c;有时效果更佳。往往一个有效的优化&#xff0c;甚至可以“消除”掉一个算子的存在。 这里的“…

Vue组件-$refs、$nextTick和name属性的使用

Vue组件-$refs和$nextTick使用一、获取DOM二、$refs获取组件对象三、$nextTick异步更新DOM四、组件name属性的使用一、获取DOM 通过id或ref属性获取原生DOM 在mounted生命周期 – 2种方式获取原生DOM标签 目标标签 – 添加id / ref恰当时机, 通过id / 通过ref属性 获取目标标签…

Ubuntu系统新硬盘挂载

Ubuntu系统新硬盘挂载 服务器通常会面临存储不足的问题&#xff0c;大部分服务器都是ubuntu系统&#xff0c;该篇博客浅浅记载一下在ubuntu系统上挂载新硬盘的步骤。本篇博文仅仅记载简单挂载一块新的硬盘&#xff0c;而没有对硬盘进行分区啥的。如果需要更加完善的教程&#…

【C++】平衡二叉搜索(AVL)树的模拟实现

一、 AVL树的概念 map、multimap、set、multiset 在其文档介绍中可以发现&#xff0c;这几个容器有个共同点是&#xff1a;其底层都是按照二叉搜索树来实现的&#xff0c;但是二叉搜索树有其自身的缺陷&#xff0c;假如往树中插入的元素有序或者接近有序&#xff0c;二叉搜索树…

Java文档搜索引擎总结

Java文档搜索引擎总结项目介绍项目使用的技术栈前端页面展示后端逻辑部分索引部分搜索模块部分Web模块部分项目介绍 Java文档搜索引擎项目是一个SSM项目&#xff0c;该项目的前端界面部分是由搜索页面和展示页面组成&#xff0c;后端部分索引模块&#xff08;ScanAnalysis、in…

UNET 对 CARVANA 数据集的分割

目录 1. 介绍 2. UNET 网络 3. dataset 数据加载 4. utils 工具模块 4.1 get_loaders 函数 4.2 check_accuracy 函数 4.3 save_predictions_as_imgs 函数 4.4 完整代码 5. train 函数 5.1 关于导入的库文件 5.2 设置超参数 5.3 train_fn 训练一个epoch函数 5.4 m…

Redis是单线程还是多线程?Redis的10种数据类型,有哪些应用场景?

目录专栏导读一、同样是缓存&#xff0c;用map不行吗&#xff1f;二、Redis为什么是单线程的&#xff1f;三、Redis真的是单线程的吗&#xff1f;四、Redis优缺点1、优点2、缺点五、Redis常见业务场景六、Redis常见数据类型1、String2、List3、Hash4、Set5、Zset6、BitMap7、Bi…

【Java基础】30分钟Git 从入门到精通

一、 版本控制工具1、什么是版本控制系统&#xff1f;版本控制系统&#xff08;Version Control System&#xff09;:是一种记录一个或若干文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。版本控制系统不仅可以应用于软件源代码的文本文件&#xff0c;而且可以对…

主成分分析(PCA)方法 和协方差 相关系数

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言1.主成分分析&#xff08;PCA&#xff09;方法2.算法步骤前言 主成分分析&#xff08;Principal Components Analysis&#xff0c;PCA&#xff09;是一种数据降…

Android工厂模式

工厂模式分为三种 :简单工厂模式 、工厂方法模式 、抽象工厂模式 。 目录 简单工厂模式 UML图 实现 使用场景&#xff1a; 优点 &#xff1a; 缺点&#xff1a; 工厂方法模式 UML图 实现 使用场景&#xff1a; 优点&#xff1a; 缺点&#xff1a; 抽象工厂模式 UM…

SpringCloud-负载均衡-Ribbon

文章目录1. 作用&#xff1a;负载均衡2. 应用实战2.1 provider-a代码2.2 provider-b代码2.3 consumer代码2.4 api工具向consumer发送请求查看对provider的调用情况3. ribbon总结3.1 Ribbon 源码核心3.2 如何实现负载均衡的呢&#xff1f;1. 作用&#xff1a;负载均衡 2. 应用实…

演唱会总是抢不到票?教你用Python制作一个自动抢票脚本

人生苦短 我用python 这个大家应该都知道吧&#xff1f; 是中国综合类现场娱乐票务营销平台&#xff0c; 业务覆盖演唱会、 话剧、音乐剧、体育赛事等领域。 如何快速抢票&#xff1f; 那么&#xff0c; 今天带大家用Python来制作一个自动抢票的脚本小程序 本文源码python安…

使用Java对稀疏数组的压缩与还原

稀疏矩阵的压缩与还原 稀疏数组中元素个数很少或者有大量的重复值&#xff0c;如果直接保存保存&#xff0c;会浪费很多空间&#xff0c;这时&#xff0c;就可以考虑对数组进行压缩存储。 先定义一个稀疏数组 //创建一个二维数组 11 * 11 int[][] array1 new int[11][11]; /…

Window 编辑、删除、新增右键菜单

关于 Window 右键菜单 右键菜单可以在注册表编辑器中新增和修改 建议先下载 registry-finder&#xff0c;查找速度更快&#xff01; 使用管理员模式打开 registry-finder 后&#xff0c;点击 HKEY_CLASSES_ROOT &#xff0c;修改注册表右键菜单的子路径如下表所示 类型路径…

49.在ROS中实现local planner(2)- 实现Purepersuit(纯跟踪)算法

48.在ROS中实现local planner&#xff08;1&#xff09;- 实现一个可以用的模板实现了一个模板&#xff0c;接下来我们将实现一个简单的纯跟踪控制&#xff0c;也就是沿着固定的路径运动&#xff0c;全局规划已经规划出路径点&#xff0c;基于该路径输出相应的控制速度 1. Pur…

Linux系列学习(三) - 进程和库文件

目录 引言&#xff1a; 学习&#xff1a; 基本命令补充&#xff1a; wc命令&#xff1a; more命令&#xff1a; less命令&#xff1a; cat ps命令&#xff1a; kill命令&#xff1a; bg命令&#xff1a; fg命令&#xff1a; 查看系统运行级别&#xff1a; 库文件&a…

unity UGUI系统梳理 - 常用可视化控件

作为一名合格的UI仔>.<&#xff0c;我发现很多UI很久没有使用了&#xff0c;所以我决定做一个UGUI系列博客重新梳理一下 1、Image 在没有放入图片下&#xff0c;image控件长这样 注意 我一般没交互需求的情况下都会把RaycastTarget给点掉&#xff0c;这个不单单是从提…