数据链路层之以太网

news2024/9/27 18:42:01

目录

​前言

什么是以太网?

以太网帧格式

6位源地址和目的地址

什么是MAC地址?

MAC地址和IP地址的区别

2位类型

ARP协议

ARP协议的作用

ARP协议的工作流程

数据长度

MTU对IP协议的影响

CRC校验和


前言

在前面,我们已经讲了在TCP/IP模式下的几个层次:应用层——程序员自定义协议、传输层——常用的TCP协议、UDP协议、网络层——IP协议,那么本篇我们就来了解一下在数据链路层的以太网协议。

什么是以太网?

  • 以太网不是一种具体的网络,而是一种技术标准;既包括了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等;
  • 以太网中的网线必须使用双绞线;传输速率有10M,100.100M等;
  • 以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网、无线LAN等。

以太网帧格式

6位源地址和目的地址

源地址和目的地址记录了该数据帧要从哪里发送到哪里,记录了发送方和接收方的地址,需要注意的是,这里的地址不是IP地址,而是指网卡的硬件地址(MAC地址)。

什么是MAC地址?

MAC 地址,全称为 Media Access Control 地址,是分配给网络接口控制器(NIC)的唯一标识符,用于在物理网络段中进行通信。它是网络通讯的基础组成部分,尤其是在局域网(LAN)技术中,包括 Ethernet 和 Wi-Fi。MAC 地址由 48 位或 64 位组成,通常以六组两位十六位进制数表示,例如 00:1A:2B:3C:4D:5E。这种格式使得 MAC 地址既容易阅读又便于处理。 

MAC地址在网卡出厂时就确定了,不能修改,MAC地址通常是唯一的(虚拟机中饭的mac地址不是真实的mac地址,可能会冲突;也有些网卡支持用户配置mac地址)。

我们可以打开cmd输入ipconfig -all进行查看:

MAC地址是用6个字节表示的,比4个字节的IP地址能够分配的数量多上6w多倍,现在的MAC地址其实是能够满足人类的需求,那为什么还要有IP地址?

这是在网络最开始的时候,IP地址和mac地址是由两个团队在同一个时间段各自独立的提出来的,虽然这两个都能用来表示地址,但是使用场景不同,IP地址是在网络层的,MAC地址是在数据链路层使用的,且一个设备具有唯一的MAC地址,一般不能修改。

IP地址用来表示在网络上两个设备之间的起始地和目的地,而MAC则表示在从发送方到接收方路径上每两个节点之间的起始地和目的地

假设我现在在广东汕头,想要去西安。那么我们就先得做好路径规划,从汕头——>广州——>长沙——>西安。路径规划就是网络层做的事,源IP地址是汕头,目的IP地址是西安。那么如果我们现在要出发从汕头到广州,,此时在以太网数据帧(数据链路层)中,源IP地址是汕头,目的IP地址是西安,但源MAC是汕头,目的MAC地址是广州。从广州到长沙,源IP和目的IP依旧是汕头和西安,但源MAC是广州,目的MAC是长沙;而从长沙到西安,源MAC地址是长沙,目的MAC地址是西安。 我们可以观察到,源IP地址和目的IP地址从始至终都是不变的,但源MAC地址和目的MAC地址则是根据两个相邻节点不断变化的。

MAC地址和IP地址的区别

  • IP地址是由服务商分配的,MAC地址是网卡的物理地址;
  • IP地址空调在局域网内随意更改,但MAC地址一般不能更改;
  • IP地址是32位(4个字节),而MAC地址是48位(6个字节);
  • IP地址应用于网络层,MAC地址应用于数据链路层。
  • IP地址描述的是路径总体的起点和终点;而MAC地址描述的是路途上每两个节点的起点和终点。

2位类型

2位类型字段用来描述载荷中存储的是什么类型的数据。可以用来区分不同的以太网帧类型,如以太网帧、IP数据报(0800)、ARP请求(0806)和应答、RARP请求和应答(8035)等

ARP协议

 ARP(全称Adress Resolution Protocol,地址解析协议),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

IP协议路由转发的过程中都是拿着IP地址来进行查路由表的,从而来得到“网络接口”,具体来说就是要传输给哪个MAC地址的设备。这个过程就涉及到了IP地址转换成MAC地址,就需要用到ARP协议来建立IP地址和MAC地址的映射关系。

ARP协议的作用

ARP协议建立了主机IP地址和MAC地址的映射关系。

  • 在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址;
  • 数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃;
  • 因此在通讯前必须获得目的主机的硬件地址。

ARP协议的工作流程

数据长度

在以太网帧格式中,能够容纳的IP数据包的字节数最大为1500字节(相当于1.5kb),在数据链路层中能容纳最大载荷长度又叫做MTU最大传输单元)。MTU的大小跟硬件设备直接相关,不同的硬件设备,对应到了不同的数据链路层协议,也就对应不同的MTU。

MTU会对上层协议作出限制,IP数据包的分包和组包更多的是为了应对MTU的限制。当一个IP数据报达到了1500以上,就会自动拆包。

MTU对IP协议的影响

由于数据链路层MTU的上层协议的限制,因此,对于较大的IP数据包需要进行拆包。

  • 将较大的IP数据包分成多个小包,并给每个小包打上标签;
  • 每个小包IP协议头的16位标识(id)都是相同的;
  • 每个小包的IP协议头的3位标志字段中,第2位置为0,表示允许分片,第三位用来表示结束标记(当前是否是最后一个小包,是的话设置为1,否则为0);
  • 到达对端时再将这些小包进行顺序重组,拼装到一起返回给传输层;
  • 一旦这些小包中任意一个小包丢失,接收端的重组就会失败,但是IP层不会负责重新传输数据。

CRC校验和

校验和用来校验数据在网络的传输过程中是否出现了错误。以太网协议校验和是在帧尾。不同于其他协议。


以上就是有关数据链路层中以太网协议的相关知识点咯~

若有不足,欢迎指正~

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

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

相关文章

安卓好软-----手机屏幕自动点击工具 无需root权限

工具可以设置后自动点击屏幕。可以用于一些操作。例如自动刷视频等等哦 工具介绍 一款可以帮你实现自动操作的软件。软件中你可以根据实际需要设置点击位置,可以是屏幕上的特定位置,也可以是按钮或控件。功能非常强大,但是操作非常简单&…

7个不为人知的实用软件推荐

今天再给大家分享7款不常被提及但又很好用的小众宝藏软件,强大实用,值得被更多的人看见! 1.向日葵——电脑远程控制 下载链接:https://sunlogin.oray.com/ 对于很多电脑小白来说,其实很多软件安装、电脑调试之类的操…

Leetcode面试经典150题-383.赎金信

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1: 输入&#…

联宇集团:如何利用CRM实现客户管理精细化与业务流程高效协同

在全球化的浪潮中,跨境电商正成为国际贸易的新引擎。作为领先的跨境电商物流综合服务商,广东联宇物流有限公司(以下称“联宇集团”)以其卓越的物流服务和前瞻的数字化战略,在全球市场中脱颖而出。本文将基于联宇集团搭建CRM系统的实际案例&am…

链表以及字符串数据求和及乘积问题

目录 ​编辑 <->本篇简介&#xff1a; <二>题目解析解答&#xff1a; 21大数乘法问题&#xff1a; ①题目&#xff1a; ②思路汇总&#xff1a; ③解答代码&#xff1a; 22 大数加法问题&#xff1a; ①题目&#xff1a; ②思路汇总&#xff1a; ③解答…

【数据结构中的哈希】

泛黄的春联还残留在墙上.......................................................................................................... 文章目录 前言 一、【哈希结构的介绍】 1.1【哈希结构的概念】 1.2【哈希冲突】 1.3【哈希函数的设计】 1.4【应对哈希冲突的办法】 一、…

PostgreSQL 一张表多个字段关联另一张表

event_catalog 表 event 表 sql SELECT event.event_uuid, event.event_case_id, event.event_status, event.event_catalog_1, event.event_catalog_2, event.event_catalog_3, event.event_title, event.event_content, event.event_source, event.event_purpose, event.eve…

JZ2440开发板——使用S3C2440操作Nand Flash

以下内容源于韦东山课程的学习与整理&#xff0c;如有侵权请告知删除。 本篇文章涉及以下文档资料&#xff1a;S3C2440数据手册、Nand Flash数据手册&#xff08;有三份&#xff0c;看K9F2G08U0C即可&#xff09;、JZ2440开发板原理图。 一、JZ2440上的Nand Flash JZ2440开发…

部署wordpress项目

一、先部署mariadb 二、在远程登录工具上进行登录测试&#xff0c;端口号为30117&#xff0c;用户为 root&#xff0c;密码为123 三、使用测试工具&#xff1a; [rootk8s-master aaa]# kubectl exec -it pods/cluster-test0-58689d5d5d-7c49r -- bash 四、部署wordpress [root…

楼上还是楼下的暖气,谁家更好蹭?

前几天收到个私信&#xff0c;想了解楼上楼下哪一户开暖气对中间影响大。我看到后就想&#xff0c;妙啊&#xff0c;这样就不需要开暖气&#xff0c;让邻居家的热气传过来&#xff0c;得省多少取暖费&#xff1f;不过站在热力学的角度&#xff0c;我们今天就来研究一下这个问题…

Xcode报错:The request was denied by service delegate (SBMainWorkspace)

Xcode报错&#xff1a;The request was denied by service delegate (SBMainWorkspace) 造成的原因: &#xff08;1&#xff09;新的M2芯片的Mac电脑 (2) 此电脑首次安装启动Xcode的应用程序 (3&#xff09;此电脑未安装Rosetta 解决方法: &#xff08;1&#xff09;打开终端…

电商IM客服系统的主要功能 网站即时通讯软件源码or SaaS

电商IM客服系统在现代电商平台中扮演着至关重要的角色&#xff0c;提供了高效的客户服务解决方案。系统的多功能特性使其能够实时响应客户需求&#xff0c;解决问题并增加转化率。以下是电商IM客服系统的六大功能 1、实时在线聊天&#xff1a;支持顾客与客服实时沟通&#xff0…

php thinkphp 小程序发送订阅模板消息通知

小程序需要在我的模板中先选用模板 小程序需要先订阅模板 wx.requestSubscribeMessage({tmplIds: ["XII_0By8D9WabnUjVPB_8S1itsm2d4_xxx"],success:

C++:string类写时拷贝|引用计数

✨ Blog’s 主页: 白乐天_ξ( ✿&#xff1e;◡❛) &#x1f308; 个人Motto&#xff1a;他强任他强&#xff0c;清风拂山冈&#xff01; &#x1f4ab; 欢迎来到我的学习笔记&#xff01; 写时拷贝&#xff08;了解&#xff09; 参考博客&#xff1a;C写时拷贝的不同方案&…

前台项目启动/打包报错 Error: error:0308010C:digital envelope routines::unsupported

在package.json中修改启动/打包语句 如图&#xff0c;我这里是打包时候报错&#xff0c;就在build里前面加上 set NODE_OPTIONS--openssl-legacy-provider && 再次打包&#xff0c;成功。

了解HTTPS

目录 1.HTTP认识 2.HTTP请求 3.HTTP响应 4.URL 5.HTTP方法 面试题&#xff1a;POST 和 GET区别&#xff1f; 网上关于 GET 与 POST的差别 有待商议 关于请求报头 和 响应报头 6..Host &#xff1a; 7..USer-Agent&#xff08;简称UA&#xff09; 8.状态码 9.HTTPS 是…

使用Charles抓包Android App数据

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 抓包环境准备 1. 下载安装charles charles下载地址&#xff1a;https://www.charlesproxy.com/latest-release/download.do 2. SSL代理设置 3. http代理和…

七段 LED 显示器(7段数码管)

7 段 LED 显示器, 通常简称为 LED 数码管 或 数码管. 通过 菜单--绘制--数字芯片--添加 7 段 LED 显示器 可以引入它. 普通模式 它内部其实就是七盏长条状的 LED 灯, 有的横着放, 有的竖着放. 七个灯用 a b c d e f g 分别表示. 灯的位置从上到下, 从里到外顺时针下来, 如上图…

240925-GAN生成对抗网络

GAN生成对抗网络 GAN&#xff0c;顾名思义&#xff0c;gan……咳咳&#xff0c;就是干仗嘛&#xff08;听子豪兄的课讲说这个名字还真的源于中文这个字&#xff09;&#xff0c;对应的就有两方&#xff0c;放在这里就是有两个网络互相对抗互相学习。类比武林高手切磋&#xff…

iPhone手机备忘录如何克隆到其他手机?

很多苹果用户喜欢使用备忘录记事&#xff0c;它不仅方便用户记录日常事务&#xff0c;还能存储灵感和重要信息。然而&#xff0c;当用户需要更换手机时&#xff0c;尤其是跨系统更换&#xff0c;备忘录内容的迁移便成了一个难题。 为了解决这一问题&#xff0c;用户可以选择使…