【网络】ARP表、MAC表、路由表

news2025/1/8 6:36:03

ARP表

       网络设备存储IP-MAC映射关系的表,便于快速查找和转发数据包

ARP协议工作原理

        ARP(Address Resolution Protocol),地址解析协议,能够将网络层的IP地址解析为数据链路层的MAC地址。

        1.主机在自己的ARP缓冲区中建立一个ARP表(IP MAC 类型),表示IP和MAC对应关系

        2.主机加入网络时(MAC地址变化、接口重启等),会发送免费ARP报文把自己IP地址与MAC地址映射关系广播给网络内的其他主机

        3.网络中的主机收到免费ARP报文时,会将新的映射关系更新到自己的ARP表中

        4.当主机需要发送报文时(二层/三层),需要检查ARP表中是否有对应IP的ARP表项,如果有则直接发送数据包,如果没有就向网段内主机/默认网关发送ARP请求报文

        5.网络内主机收到ARP数据包时,若请求IP不为自身IP则忽略对应的数据包,否则将ARP请求报文中的IP和MAC更新到自己的ARP表中,向源主机发送ARP应答报文

        6.源主机收到ARP应答报文后将其中的源IP和源MAC更新到自己的ARP表中

 动态ARP-拓扑结构复杂

        动态ARP是由设备通过ARP学习自动生成和维护的IP-MAC映射关系,可以被老化和自动更新,也可以被静态ARP覆盖,适用于拓扑结构复杂的网络。

静态ARP-安全性较高(网关)

        静态ARP由网络管理员手动配置和维护的IP-MAC映射关系,不会被老化机制删除,更加稳定,可以通过将网关设备进行静态ARP绑定,防止ARP欺骗攻击

ARP老化-减少内存占用

        ARP老化-将在一定时间(默认1200S)内未使用的动态ARP表项进行删除,维护ARP表项的准确性,减少内存占用

ARP欺骗-伪造ARP报文篡改目标设备ARP缓存表

        攻击者发送伪造的ARP报文篡改目标设备的ARP缓存表,导致数据包被发送到攻击者设备,攻击者可通过对数据包进行回传或丢弃,达到监听网络信息或中断通信的目的。

ARP报文格式        

免费ARP请求报文格式:(源IP、源MAC、目的IP为主机自身,DMAC广播)

Ethernet II, Src:  00:1b:17:00:01:1a, 
             Dst: Broadcast (ff:ff:ff:ff:ff:ff) 

Sender MAC address: 00:1b:17:00:01:1a
Sender IP address:  172.30.129.254
Target MAC address: 00:00:00_00:00:00 
Target IP address:  172.30.129.254

ARP请求报文格式 :(源IP、源MAC为自身,DIP为目的IP,DMAC广播)

Ethernet II, Src: 00:1b:17:00:01:1a,
             Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Sender MAC address: 00:1b:17:00:01:1a

Sender IP address: 172.30.129.254

Target MAC address: 00:00:00_00:00:00
Target IP address:  Target IP address

ARP应答报文格式 :(源IP、源MAC为自身,DIP与DMAC为ARP请求报文发送者)

Ethernet II, Src: 00:1b:17:00:01:1a,
                   Dst: 00:1b:17:00:01:1b
Sender MAC address: 00:1b:17:00:01:1a

Sender IP address: 172.30.129.254

Target MAC address: 00:1b:17:00:01:1b
Target IP address:  172.30.129.111

MAC表

        MAC表是交换机内部用于存储已知MAC地址及其对应端口的表格。这个表对于交换机来说是至关重要的,因为它决定了数据帧应该从哪个端口转发出去。MAC表中包含的信息通常包括MAC地址、VLAN、出接口、表项类型和老化时间等

MAC学习-实现数据帧转发基础

        交换机在接收到数据帧时,会检查帧的源MAC地址,并将这个地址与其接收帧的端口关联起来,添加到MAC地址表中。

动态MAC

        动态MAC是通过交换机学习得到的,在经过一定时间(默认300S)内如果未学习到对应地址,则会被老化机制(内存空间有限)删除,动态MAC可以被静态MAC地址覆盖

静态MAC

        由网络管理员手动配置的MAC地址,不会被老化机制删除,比动态MAC更加稳定

路由表

        路由表是路由器中存储的路由选择信息的数据库,主要是实现路由协议路由选择,其中每一条表项包含以下信息:

目的网络:数据包要到达的目的网络的IP地址范围

子网掩码:用于确定目的网络的精确范围

下一跳地址:转发至目的网络的数据包应该被转发到下个设备的IP

接口:数据包转发对应的接口

度量值:到达目的网络的距离,用来选择最佳路径

路由类型:直连路由、静态路由、动态路由(OSPF路由、RIP路由)

路由类型

直连路由:路由器与网络设备直接相连的路由

静态路由-配置简单,稳定可靠

        静态路由是由管理员手动配置的路由信息,适用于网络结构相对稳定且较为简单的环境,优点:配置简单,稳定可靠。缺点:不够灵活,不适用于网络拓扑变化较大的网络

动态路由-灵活性高

        动态路由是由路由设备通过动态路由协议进行自动学习和维护的路由信息,可以通过网络拓扑的变化自动学习更新路由表,以适应复杂的网络环境。优点:灵活性高,能够自适应网络设备变化。缺点:配置和管理相对复杂,可能会引入额外开销。

默认路由-兜底静态路由

        默认路由,当数据包的目的网络不存在在路由表中,路由器会通过默认路由将数据包通过默认网关转发出去。

路由选择过程:

        1.查找路由表:(有则转发,无则通过默认路由转发)

        2.选择路由:若有多条匹配路由,则根据路由度量值(跳数/带宽)选择最佳路径

        3.转发数据包:根据匹配的路由表项,将数据包转发至下一跳

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

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

相关文章

UI自动化测试保姆级教程①

欢迎来到阿妮莫的学习小屋慢也好,步子小也好,在往前走就好 目录 自动化测试 简介 作用 分类 优缺点 优点 缺点(误区) UI自动化测试 自动化测试使用场景 自动化测试实现时间 Selenium框架 特点 Web自动化测试环境部署 Selenium包安装 浏览…

加速科技荣获“浙江省企业研究院”认定

近日,浙江省经济和信息化厅公布“2024年认定(备案)省级企业研发机构名单”。经过多轮严格评审和公示,加速科技荣获“省企业研究院”认定。这是加速科技继获国家级专精特新“小巨人”企业认定荣誉后的又一里程碑。 “浙江省企业研究…

RAG实战:本地部署ragflow+ollama(linux)

1.部署ragflow 1.1安装配置docker 因为ragflow需要诸如elasticsearch、mysql、redis等一系列三方依赖,所以用docker是最简便的方法。 docker安装可参考Linux安装Docker完整教程,安装后修改docker配置如下: vim /etc/docker/daemon.json {…

运动相机拍摄的视频打不开怎么办

3-10 GoPro和大疆DJI运动相机的特点,小巧、高清、续航长、拍摄稳定,很多人会在一些重要场合用来拍摄视频,比如可以用来拿在手里拍摄快速运动中的人等等。 但是毕竟是电子产品,有时候是会出点问题的,比如意外断电、摔重…

【深度学习】深度(Deep Learning)学习基础

深度学习(Deep Learning) 深度学习是一种基于人工神经网络的机器学习方法,通过多个层次(深度)的神经网络从数据中自动学习特征和模式。它是人工智能的一个核心领域,尤其在处理复杂数据(如图像、…

资源分享:gpts、kaggle、paperswithcode

gpts 似乎是gpt agent集合,专注于不同细分方向的ai助手。 kaggle 专注于AI相关的培训、竞赛、数据集、大模型。 paperswithcode 简单直接,内容如同网站地址,直接提供优秀代码和配套的论文,似乎还有数据集。

vue3 数字滚动效果

效果图 代码 <template><div class"number-scroller"><divclass"viewport":style"{ width: width px, height: height px }"><div class"number-scroller-box" ref"num"><div v-for"num…

《软件测试技术》习题参考答案 -2

目录 第6章 黑盒测试 一、选择题 1、黑盒法是根据程序的&#xff08; C &#xff09;来设计测试用例的。 2、黑盒测试用例设计方法包括&#xff08;B &#xff09;等 )。 3、( A )是一种黑盒测试方法&#xff0c;它是把程序的输入域划分成若干部分&#xff0c;然后从每个部…

十年后LabVIEW编程知识是否会过时?

在考虑LabVIEW编程知识在未来十年内的有效性时&#xff0c;我们可以从几个角度进行分析&#xff1a; ​ 1. 技术发展与软件更新 随着技术的快速发展&#xff0c;许多编程工具和平台不断更新和改进&#xff0c;LabVIEW也不例外。十年后&#xff0c;可能会有新的编程语言或平台…

数据库课设——网上花店销售管理系统(上)

声明&#xff1a;此次课设为本人专业课课设报告内容&#xff0c;仅供参考&#xff0c;不要照搬 1 问题的提出 随着互联网发展与电子商务普及&#xff0c;网上花店兴起&#xff0c;其突破地域限制、提供便捷购物体验且市场呈快速增长趋势。该系统需具备多方面功能以满足花店运营…

外驱功率管电流型PWM控制芯片CRE6281B1

CRE6281B1 是一款外驱功率管的高度集成的电流型PWM 控制 IC&#xff0c;为高性能、低待机功率、低成本、高效率的隔离型反激式开关电源控制器。在满载时&#xff0c;CRE6281B1工作在固定频率(65kHz)模式。在负载较低时&#xff0c;CRE6281B1采用节能模式&#xff0c;实现较高的…

mapbox基础,加载高德栅格底图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.1 ☘️mapboxgl.Map style属性二、🍀加载高德栅格底图1. ☘️实现思路2. ☘…

【大数据】(选修)实验4 安装熟悉HBase数据库并实践

实验4 安装熟悉HBase数据库并实践 1、实验目的 (1)理解HBase在Hadoop体系结构中的角色; (2)熟练使用HBase操作常用的Shell命令; (3)熟悉HBase操作常用的Java API。 2、实验平台 操作系统:Linux Hadoop版本:2.6.0或以上版本 HBase版本:1.1.2或以上版本 JDK版…

安装vue脚手架出现的一系列问题

安装vue脚手架出现的一系列问题 前言使用 npm 安装 vue/cli2.权限问题及解决方法一&#xff1a;可以使用管理员权限进行安装。方法二&#xff1a;更改npm全局安装路径 前言 由于已有较长时间未进行 vue 项目开发&#xff0c;今日着手准备开发一个新的 vue 项目时&#xff0c;在…

前端JS中var、let、const之间的区别

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 一、var 二、let 三、const 四、区别 变量…

STM32+ADC+DMA快速循环转换

测试平台&#xff1a;STM32F405RGT6 uint32_t AD_Buf[100]{0}; HAL_ADC_Start_DMA(&hadc2,(uint32_t *)AD_Buf,100); while(1) {printf("AD_Buf:%d\n",AD_Buf[0]); }

Unity中 Xlua使用整理(一)

1.安装: 从GitHub上下载Xlua源码 Tencent/xLua: xLua is a lua programming solution for C# ( Unity, .Net, Mono) , it supports android, ios, windows, linux, osx, etc. (github.com) 下载Xlua压缩包&#xff0c;并解压将Aseet文件夹中的Xlua和Plugins文件夹复制到Unit…

js高阶-函数闭包this

闭包 一等公民 在js中函数是一等公民 函数使用很灵活,可以作为参数,也可以作为返回值 高阶函数 函数接收函数作为参数或者返回函数,则该函数称为高阶函数 eg: array.filter/reduce/find/findIndex/map.forEach 函数与方法 独立使用的 Function 做为对象的属性 method Wh…

Ubuntu 24.04.1 LTS nginx配置maccms

之前在Ubuntu 20.04中搭建过&#xff0c;现在换了新操作系统&#xff0c;顺便整理一下。 相关文章 《Ubuntu 20.04.1 LTS搭建nginx php7.4运行环境》 https://blog.csdn.net/lxyoucan/article/details/144850572《linux nginx maccms管理后台无法进入页面不存在和验证码不显…

【Ubuntu】想知道怎么通过命令行查看笔记本电池健康程度吗?

你想在 Ubuntu 中通过命令行检查电池健康状态&#xff0c;而不需要额外安装任何工具吗&#xff1f; 其实&#xff0c;你可以做到。 大多数在笔记本电脑上使用 Ubuntu 的用户都会通过顶部栏来监控电池电量&#xff08;我总是在顶部栏启用电池百分比显示&#xff0c;以便一目了…