数据链路层以太网协议+ARP协议

2023-11-13

数据链路层

1.负责相邻设备之间的传输,决定性因素是设备的MAC地址; .

MAC地址: 6字节的整数,uint8_ t addr[6] ; MAC地址在每一个机器上都是独一无二的;

以以网协议
目的MAC地址(6字节)+源MAC地址(6字节)+类型(2字节)+数据+CRC校验

       类型:标识网络层使用什么协议;

       数据:有效载荷

       CRC校验:检测数据链路层的数据帧是否出差错;

ARP协议

作用:通过IP地址获取相邻设备的MAC地址

ARP协议的格式:

ARP协议格式=以太网首部+ 28字节ARP请求或者应答首部

以太网首部:

    以太网目的地址: ARP请求的目的MAC地址,填充为全1 ,则表示广播地址;

    以太网源地址: ARP请求的主机的MAC地址;

    帧类型:以太网数据帧类型,表示上层使用什么协议--> ARP协议是介于网络层和数据链路层之间的协议

    IP协议: 0x0800

    ARP请求或者应答: 0x0806

28字节的请求或者应答

   2字节硬件地址类型:定义运行ARP网络的类型--》以太网, 令牌环网(已经被淘汰)

   2字节协议类型:表示使用什么协议,ip地址转换MAC地址的;

  1字节的硬件地址长度:表示MAC地址的长度

  1字节的协议地址程度:表示IP地址的长度

  op :标识是ARP请求还是APR应答,表示请求,2表示应答]

  发送端以太网地址:发送ARP请求或者应答主机的MAC地址

  4字节发送端ip地址:发送ARP请求或者应答主机的IP地址

  目的以太网地址:

           ARP请求: 0x000000000000 ;

           ARP应答:填充的是, ARP请求中的源MAC地址;

  目的IP地址:目标主机的IP地址

 

ARP缓存表

1.每一台机器,会定时的获取相邻设备的MAC地址,时间为20min , 20min也是ARP缓存表的老化时间;2.如果在数据链路层没有在缓存表当中发现相邻设备的MAC地址,则发送ARP请求获取,否则,直接从缓存表当中获取,组织数据链路层的以太网数据帧;


ARP请求是广播发送的,如果是目标主机收到则处理,如果不是目标主机收到,则丢弃。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据链路层以太网协议+ARP协议 的相关文章

  • 从浏览器地址栏输入url到显示页面的过程

    基本流程 1 用户在浏览器中输入url地址 2 浏览器解析域名得到服务器ip地址 浏览器会首先从缓存中找是否存在域名 如果存在就直接取出对应的ip地址 如果没有就开启一个DNS域名解析器 DNS域名解析器会首先访问顶级域名服务器 将对应的i
  • python编程入门书-最适合Python初学者的6本书籍推荐「必须收藏」

    Python是一种通用的解释型编程 主要用于Web开发 机器学习和复杂数据分析 Python对初学者来说是一种完美的语言 因为它易于学习和理解 随着这种语言的普及 Python程序员的机会也越来越大 如果你想学习Python编程 市场上就有
  • 2020年tensorflow定制训练模型笔记(1)——object detection的安装

    自己看着网上的很多教程摸索了好几天 终于能够自己训练 事实上 网上关于这个API的教程还是非常多的 但我实际做起来发现其实在某些关键部分缺少点步骤 会把我这样的小白搞得一头雾水 无从下手 最后在无穷无尽的报错中崩溃 所以我决定写这篇笔记 一
  • QT控件之(Lable)中的文字对齐方式

    今天才发现lable一般拖动到界面中 拉大之后 界面效果就是如下 是靠左显示出来的 但是我们想让它进行居中的显示效果 就需要选择如下的居中效果 然后就发现它可以达到居中的效果了 学习推荐 百度云盘 链接 https pan baidu co
  • 2023年数学建模排队论及Matlab实战案例

    订阅专栏后9月比赛期间会分享思路及Matlab代码 目录 实战案例 银行窗口服务模型 1 问题建模
  • pub get一直卡在Resolving dependencies...

    添加pubspec yaml配置 pub get一直卡在Resolving dependencies 原因 访问国外下载很慢 我们需要配置镜像 解决方法 官方提供的国内镜像 export PUB HOSTED URL https pub f
  • linux安装nginx服务器并配置支持php LNMP搭建

    本机环境 centos7 4 64bit 概要 使用yum安装nginx 源码编译安装php fpm 配置让服务器能支持解析php 友情连接 LAMP搭建 https blog csdn net Dong Alex article deta
  • 修改数据库表结构(SQLserver)

    1 添加表字段 alter table 表名 add 字段名 类型 值 示例 alter table tableName add columnName varchar 40 2 删除表字段 alter table 表名 drop colum
  • 建站系列(五)--- 前端开发语言之HTML、CSS、JavaScript

    目录 相关系列文章 前言 一 前端开发与后端开发 二 前端语言简介 一 HTML 二 CSS 三 JavaScript 三 学习指导 一 开发环境 二 第一个Hello world 相关系列文章 建站系列 一 网站基本常识 建站系列 二 域
  • SpringMVC requestBody和responseBody重复获取

    SpringMVC requestBody和responseBody重复获取 最近有个需求 要根据响应结果来判断 是否需要保存requestBody的内容到数据库 想法使用拦截器HandlerInterceptor 拦截需要处理的url 根
  • Java反射:如何正确理解,不如手写一个(反射包分析、楼主亲测)

    Java反射机制 动态代理是基于什么原理 这个问题可谓是老生常谈的一个热门问题了 如果没有深入的思考还真的是很难回到上来 那么今天我们一起来看看 如何正确清晰的认识这个热门却又说简单又不简单说复杂又比较复杂的问题 一 什么是反射 反射机制是
  • Activiti 架构分析

    Activiti是业界很流行的java工作流引擎 关于Activiti与JBPM5的关系和如何选择不是本文要讨论的话题 相关内容可以baidu一下 Activiti从架构角度看是比较优秀的 是很面向对象的 是我所阅读过的代码结构很棒的开源软
  • 基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理

    最近一直很多事情 博客停下来好久没写了 整理下思路 把最近研究的基于Metronic的Bootstrap开发框架进行经验的总结出来和大家分享下 同时也记录自己对Bootstrap开发的学习研究的点点滴滴 希望在开一个 基于MVC4 Easy
  • kubectl 命令简化为k以及自动补全

    编辑配置文件 vi bashrc 加入如下3行 alias k kubectl complete o default F start kubectl k source lt kubectl completion bash 使配置生效 sou
  • 基于LendingClub数据的信贷分析和建模报告

    一 课题分析 二 数据获取 三 数据探索 主要特征含义理解 特征分布 目标特征分布 分类变量的分布 连续数值特征分布 时序特征分布 文字特征分布 两两特征的协方差 四 数据预处理 数据集划分 特征缺失值识别与处理 严重缺失值的处理 缺失值填
  • 仿everything的文件搜索工具项目详解:Part2

    目录 代码架构 基本架构 开发语言 Java8 数据库 SQLite JavaFX 多线程 文件IO流 Lombok Atomic原子类 项目难点 主要数据结构 数据表 FileMeta FileScannerCallBack接口及其子类
  • linux目录和cat命令

    1 Linux目录结构 根 相当于一个入口 文件的总入口 也是唯一入口 bin sbin 二进制文件 可执行文件 也可能存在别处 默认使用较多所有用户软连接文件 命令 sbin 管理员可使用的二进制文件 命令ls cd useradd bo
  • globals()与locals()函数

    在Python中 globals 和locals 是两个内置函数 用于获取当前作用域内的全局和局部命名空间中的变量和对象 一 globals 这个函数返回一个包含当前全局作用域中所有变量和对象的字典 在函数内部调用globals 将返回全局
  • Typora-常用快捷键

    Typora常用快捷键 1 字体编辑 大小 ctr 数字或ctr 加减号 加粗 ctr b 倾斜 ctr i 下划线 ctr u 删除线 alt shift 5 上标 字体 下标 字体 高亮 字体 清除格式 ctrl 2 创建列表 无序列表
  • Keil最舒服的配色方案

    每次重装keil 都会重新配置下颜色 因为默认的颜色 看久了实在不太舒服 每次调到一个舒服的颜色 都要花不少时间 为了后面节省时间 现记录一下 如下就是我觉得还不错的配色方案 如果你觉得也还可以 可以接着往下看 一 进入配置 二 光标所在行

随机推荐

  • 数据预处理与可视化

    https blog csdn net u013719780 article category 6285514 https blog csdn net u013719780 article category 6457723
  • 公司新招了个字节拿36K的人,让我见识到了什么才是测试扛把子......

    5年测试 应该是能达到资深测试的水准 即不仅能熟练地开发业务 而且还能熟悉项目开发 测试 调试和发布的流程 而且还应该能全面掌握数据库等方面的技能 如果技能再高些的话 甚至熟悉分布式组件等高级技能 或者说 做个项目小组长 管个3 4号人 应
  • SpringBoot-yml配置文件的使用与优势

    目录 一 什么是yml配置文件 二 如何在SpringBoot中使用yml配置文件 三 如何在SpringBoot中注入yml配置文件的属性 Value注解 ConfigurationProperties注解 四 yml配置文件与prope
  • c++ 成员属性设置为私有

    成员属性设置为私有 1 可以自己控制读写权限 2 对于写可以检测数据的有效性 include
  • 免费版Typora设置vue主题

    一 下载Typora与主题vue安装包 最新版版本的Typora网上开始收取费用 现在低版本的Typora仍然还是免费的 而且并不影响正常使用 下载链接在下方 并提供了vue主题文件 链接 百度网盘 请输入提取码 提取码 tdp4 二 添加
  • 【OpenCV图像处理】1.15自定义线性滤波

    自定义线性滤波 线性滤波就是卷积 实际上的作用就是降噪 卷积概念 卷积是图像处理中一个操作 是kernel在图像的每个像素上的操作 Kernel本质上一个固定大小的矩阵数组 其中心点称为锚点 anchor point 卷积如何工作 把ker
  • ggplot2读书笔记11:第八章 主题设置、存储导出

    Themes 8 1 Introduction 第八章讲的是ggplot2的主题设置 通过它你可以对数据之外的图形外观进行控制 第一版的中文版的把这一章的章节名翻译为 精雕细琢 控制主题设置主要有以下四个方面 主题元素 指的是非数据元素 p
  • 【吴恩达机器学习 - 5】揭秘学习曲线:偏差和方差与代价函数之间的相互关系(课后练习第五题-ex5)

    目录 1 回顾线性回归的正则化 1 1 代价函数 1 2 梯度 2 偏差与方差 2 1 训练集数量对 代价 的影响 3 多项式回归 3 1 多项式特征的生成 3 2 lambda对 代价 的影响 照旧 本练习的相关资料链接将会扔到评论区 大
  • cocos2d-x学习之路(14)--屏幕适配

    屏幕适配是所有手机应用都需要解决的问题 在cocos2d x 2 0之后的版本提供了相应的解决方法 设置屏幕分辨率 cocos2d x 2 1版本设置分辨率在main cpp中 通过改变FrameSize模拟相应的分辨率 CCEGLView
  • 【GoCN译文视点】何时使用 Rust, 何时使用 Go

    原文地址 https medium com codex when to use rust and when to use go 590bcbb49bec 原文作者 Joel 本文永久链接 Github 译者 tt 直截了当的说 Go 和 R
  • Flutter全部图标之快速找到合适的Icon图标

    1 由于Flutter中的图标太多 并且无法直观地进行预览 因为把所有的图标截图下来展示 以便可以快速找到你想要的图标
  • 2023.6.26

  • jdk安装

    开发十年 就只剩下这套Java开发体系了 gt gt gt 1 安装jdk 1 1 jdk下载地址 http www oracle com technetwork java javase downloads jdk8 downloads 2
  • 关于服务连接器(Servlet)你了解多少?

    文章目录 Servlet 1 简介 2 快速入门 3 执行流程 4 生命周期 5 方法介绍 6 体系结构 7 urlPattern配置 8 XML配置 最后说一句 Servlet 1 简介 Servlet是JavaWeb最为核心的内容 它是
  • [Ctf show web] 萌新计划12

    preg match 没有匹配到表达式时输出 c 利用baes64加密绕过 c a base64 decode c3lzdGVt b base64 decode dGFjIGNvbmZpZy5waHA a b
  • 1127: 矩阵乘积java

    import java util Scanner public class Main public static void main String args Scanner input new Scanner System in int m
  • springboot+redistemplate 集群配置

    redisConfig 配置类 package com zhouzhou springredistemplatedemo controller import io lettuce core cluster ClusterClientOpti
  • 前言

    es7 1中文指南 前言 数据存储 信息输出 搜索 分析 more 前言 Elasticsearch是Elastic Stack核心的分布式搜索和分析引擎 Logstash和Beats有助于收集 聚合和丰富您的数据并将其存储在Elastic
  • Ubuntu18中NVIDIA,cuda,cudnn,pytorch安装

    注意 nvidia驱动和cuda cudnn pytroch python的对应关系 参考内容 https blog csdn net tjuyanming article details 80862290 https blog csdn
  • 数据链路层以太网协议+ARP协议

    数据链路层 1 负责相邻设备之间的传输 决定性因素是设备的MAC地址 MAC地址 6字节的整数 uint8 t addr 6 MAC地址在每一个机器上都是独一无二的 以以网协议 目的MAC地址 6字节 源MAC地址 6字节 类型 2字节 数