返回顶部
首页 > 资讯 > 操作系统 >网络中的三张表——ARP表、MAC表、路由表
  • 621
分享到

网络中的三张表——ARP表、MAC表、路由表

网络macos网络协议服务器运维 2023-08-30 11:08:13 621人浏览 八月长安
摘要

1、ARP表   提起ARP表必然先想起ARP(address resolution protocol)协议,地址解析协议。   在实际应用中,我们经常遇到这样的问题:已知一个机器的IP地址,但在实际网络的链路上传送数据帧时,最终还是必须使

1、ARP表

  提起ARP表必然先想起ARP(address resolution protocol)协议,地址解析协议。
  在实际应用中,我们经常遇到这样的问题:已知一个机器的IP地址,但在实际网络的链路上传送数据帧时,最终还是必须使用该网络的硬件地址,需要知道其Mac地址。如果两个都需要去记忆或输入,大大增加了其繁琐程度。地址解析协议ARP就是用来解决这样的问题的。
  由于IP协议使用了ARP协议,因此通常把ARP协议划归到网络层。但ARP协议的用途是为了从网络层使用IP地址,解析出在链路层使用的硬件地址。
  每一台主机都设有一个ARP高速缓存,里面有本局域网上的各种主机和路由器的IP地址到硬件地址的映射表,表里面的内容由ARP协议进行动态更新。表内的数据会老化,达到老化时间会自动删除,在此通信时,由ARP协议重新添加。
通信过程
有PC0,PC1两台主机
使用思科的仿真模拟器能直观的看出通信过程
在这里插入图片描述
  PC0向PC1发送一个ping报文,向PC0输入1.1.1.3 然后开始发送,PC0先查询本地APR表查询1.1.1.3对应MAC地址,但并没查到,这种情况PC0在本局域网上广播发送一个ARP请求分组。ARP请求分组的主要内容是:

我的IP地址是1.1.1.2,硬件地址是xx-xx-xx-xx-xx-xx。我想知道IP地址为1.1.1.3的主机的硬件地址。

  在本局域网上的所有主机上运行的ARP进程都会收到此ARP请求分组。PC1的IP地址与ARP请求分组中要查询的IP地址一致,就收下ARP请求分组,并向PC0发送ARP响应分组,同时在这个ARP响应分组中写入自己的硬件地址。其余主机ip地址都与ARP请求要查询的ip地址不一致,不做任何回应。
响应内容为:

我的ip地址是1.1.1.3,我的硬件地址是xx-xx-xx-xx-xx-xx

虽然ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个原地址发送到一个目的地址。
接下来PC0就可以使用刚获取的PC1MAC地址,进行icmp数据发送。
在这里插入图片描述

2、MAC表

  说到MAC表,就不得不说一下交换机的工作原理,因为交换机是根据MAC地址转发数据帧的。
在这里插入图片描述
  当PC0发送ARP数据包,交换机会把数据包发往PC0之外的所有主机,并在相应包中记录下相应Mac地址与接口数据。
  当PC0向PC1发送一帧数据,从1口进到交换机。交换机收到帧后,根据帧中的目的MAC先查本地MAC表,没有查到应从哪个接口转发这个帧。
  接着,交换机把这个帧的源MAC和接口1写入交换表中,并向除1以外的所有接口广播这个帧,PC2将此广播帧丢弃,因为目的地址不对。PC1收下这个目的地址是自己MAC的数据,并回应数据包,此时交换机会把PC1的MAC和对应接口2写入表中。然后当PC0与PC1再次发送数据交换机可以根据目的MAC查表找出对应的接口,将数据包直接送达对应的主机。
  考虑到有可能在交换机的接口更换主机,或者主机要跟换主机更换网卡,这时交换机中MAC表也是动态的、有自己的老化时间,会自动删除相关数据。
  当交换机中一台主机突然从2口切换到3口,交换机收到的此主机的数据仍然会发送到原端口2口就会出现超时情况,直到Mac中数据更新,或者手动把交换机断电重启重更新Mac表数据。
在这里插入图片描述

3、路由表

  说起路由表,就不得不提起路由器。(此处的路由器与家用路由器略有不同,家用路由器集成了路由器和交换机的功能为了更方便用户使用)路由器是一种具有多个输入端口和多个输出端口的专用设备也可称为计算机。其任务是转发分组。路由器结构由两部分组成:路由选择部分和分组转发部分。
  路由器工作在网络层,主要功能就是实现跨网段传输数据。
在这里插入图片描述

如上图:一网段的主机要与其他网段的主机通信,则数据会先发送给指定的网关,也就是路由器,由路由器选择网段继续通信,所以发送的数据包起始中网络层的ip地址不变,源ip地址就是当前主机的ip地址,目的ip地址就是不同网段的主机的ip地址,但是链路层由于数据要先发给路由器,那么目的mac就是路由器的mac地址,然后路由器选择其他网段,则源mac变成路由器另一个网口的mac地址,目的mac就是目标主机的mac地址,所以整个过程网络层的一直不变,但是链路层一直再变

在这里插入图片描述

如上图: 由于现在是两台路由器和两个网段的主机,所以需要构成三个局域网,当源主机跨网段与目标主机通信时,由于网段不同,数据会先发送给路由器,然后路由器再选择对应的目的网段,但是此时路由器另一端所在的网段与之目标主机的网段不同,所以无法继续向下发送,此时需要设置下一跳,下一跳的目的就是指定当前自己网段的主机要访问其他网段的主机时从这个路由器应该跳到哪个路由器,只要设置了,就可以直接发送数据到指定的路由器,整个过程就完成
1、 当网络中有多个路由器是,两个主机需要通信路由器需要记录下一跳信息,下一跳的目的就是指定当前自己网段的主机要访问其他网段的主机时从这个路由器应该跳到哪个路由器
2、 路由表记录着下一跳。

  路由表中记录着不同网段的信息。路由表中记录的信息有的需要手动添加(称为静态路由表),通过路由协议自动获取的(称为动态路由表),我们的主机直接连到路由器上(中间无三层网络设备)这种情况是直连路由,属于静态路由。
  路由选择处理机的任务是根据所选定的路由选择协议(路由协议后续在做总结)构造出路由表,同时经常或定期和相邻路由器交换路由信息而不断地跟新和维护路由表。
在这里插入图片描述

来源地址:https://blog.csdn.net/ZBraveHeart/article/details/123505347

--结束END--

本文标题: 网络中的三张表——ARP表、MAC表、路由表

本文链接: https://lsjlt.com/news/382803.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 网络中的三张表——ARP表、MAC表、路由表
    1、ARP表   提起ARP表必然先想起ARP(address resolution protocol)协议,地址解析协议。   在实际应用中,我们经常遇到这样的问题:已知一个机器的IP地址,但在实际网络的链路上传送数据帧时,最终还是必须使...
    99+
    2023-08-30
    网络 macos 网络协议 服务器 运维
  • 【博客624】MAC地址表、ARP表、路由表(RIB表)、转发表(FIB表)
    MAC地址表、ARP表、路由表(RIB表/FIB表) MAC地址表 MAC地址表是交换机等网络设备记录MAC地址和端口的映射关系,代表了交换机从哪个端口学习到了某个MAC地址,交换机把这个信息记录下来,后续交换机需要转发数据的时候就可以...
    99+
    2023-08-19
    macos 智能路由器 网络
  • Ubuntu中怎么查看网络路由表
    今天小编给大家分享一下Ubuntu中怎么查看网络路由表的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。路由表的主要作用是供路由...
    99+
    2023-06-27
  • Linux系统如何查看网络路由表
    这篇“Linux系统如何查看网络路由表”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“Linux系统如何查看网络路由表”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下...
    99+
    2023-06-28
  • 在Ubuntu中如何查看网络路由表详解
    什么是linux中的路由和路由表? 路由的过程意味着IP包在网络上从一点传输到另一点。当你向某人发送电子邮件时,你实际上是在将一系列IP数据包或数据报从你的系统传输到另一个人的计算机上。从计算机发送的数据包通过几个网关...
    99+
    2022-06-04
    ubuntu查看路由表 ubuntu查看网络配置 ubuntu 网络查看命令
  • Linux 路由表解密:详解路由表的构成与作用
    Linux是一种开源的操作系统,自由软件,使用范围非常广泛。Linux中有一个非常重要的功能,就是路由表。路由表是一张表格,用来描述网络中各个主机之间的连接关系。在Linux中,路由表的作用是将数据包从源地址发送到目标地址,并决定所经过...
    99+
    2023-09-09
    linux 网络 智能路由器 运维 服务器
  • Linux中怎么配置双网卡路由表
    这篇文章将为大家详细讲解有关Linux中怎么配置双网卡路由表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。如果eth0为192.168.10.123/255.255.255.0,eth2为1...
    99+
    2023-06-10
  • 怎么在oracle中将多张表中的列合并到一张表中
    本篇文章给大家分享的是有关怎么在oracle中将多张表中的列合并到一张表中,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。解决方案为了测试方便,...
    99+
    2024-04-02
  • Oracle两张表关联批量更新其中一张表的数据
    方法一(推荐): UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHER&...
    99+
    2024-04-02
  • linux中如何显示你的路由表
    这篇文章给大家分享的是有关linux中如何显示你的路由表的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。显示你的路由表[dneary@host]$ ip route listdefau...
    99+
    2023-06-16
  • Linux中如何配置双网卡双网关路由表
    这篇文章给大家分享的是有关Linux中如何配置双网卡双网关路由表的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。服务器操作系统RedHat linux 9,设置两张路由表 1. vi /etc/iproute2/r...
    99+
    2023-06-13
  • Angular中路由和表单的示例分析
    这篇文章主要介绍Angular中路由和表单的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Angular的路由介绍在单页面应用中,需要在定义好的不同视图中(组件)来回切换,而...
    99+
    2024-04-02
  • Django2.0中基于正则表达式的路由
    1.  在urls.py的文件中导入操作正则表达式的方法:(新版的Django是使用path方法对URL进行路由分配) from django.contrib import admin from django.urls import p...
    99+
    2023-01-30
    路由 正则表达式
  • 数据库将一张表中的数据更新到另一张表(Oracle、MySQL)
    Oracle数据库         方式一(推荐) -- 将 t2表的字段更新到t1表MERGE INTO COMMUNITY_MEMBER_APPLY_DIE T1USING COMMUNITY_MEMBER T2ON (T1.MEMB...
    99+
    2023-09-14
    数据库 oracle mysql
  • Linux系统中如何查看路由表
    这篇文章将为大家详细讲解有关Linux系统中如何查看路由表,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。路由表简介:在计算机网络中,路由表(routing table)或称路由择域信息库(RIB, Rou...
    99+
    2023-06-28
  • Oracle中开启一张表的审计
    Oracle使用audit_trail参数控制审计是否启用audit_trail的参数有下面几种:NONE:不开启审计OS:说明审计信息放在系统汇总,如果是Linux那么由audit_file_dest决定...
    99+
    2024-04-02
  • sql中删除一张表的命令
    在 sql 中,使用 delete 命令可以删除一张表,语法为:delete from table_name;该命令将删除指定表中的所有记录。需要注意的是,delete...
    99+
    2024-05-08
  • mysql中三张表连接建立视图的示例分析
    这篇文章主要为大家展示了“mysql中三张表连接建立视图的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中三张表连接建立视图的示例分析”这篇文...
    99+
    2024-04-02
  • mysql快速复制一张表的内容,并添加新内容到另一张表中
       insert into a(name,num,class)  select '小米','1001',class...
    99+
    2024-04-02
  • ReactRouter6.x路由表封装的两种写法
    目录一. 标签形式二. 对象形式三. 实现一个经典的左目录右内容布局结构(使用对象路由方式)一. 标签形式 src 文件夹下创建一个 routers 文件夹,用于存放路由表 src/...
    99+
    2023-01-31
    React Router6.x路由表封装 React Router6.x路由表
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作