链路层寻址与 ARP
一、 MAC 地址
不是主机或路由器具有链路层地址,而是它们的适配器(即网络接口)具有链路层地址。因此,具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址。
然而,链路层交换机并不具有与它们接口相关联的链路层地址。这是因为链路层交换机的任务是在主机与路由器之间承载数据报;交换机透明地执行该项任务,也就是说,主机或路由器不必明确地将帧寻址到其间的交换机。

尽管 MAC 地址被设计为永久的,但用软件改变一块适配器的 MAC 地址是可能的。
二、地址解析协议
因为存在网络层地址和链路层地址,因此需要在它们之间进行转换。对于因特网来说,这个协议就是 ARP 协议。
DNS 和 ARP 协议的一个重要区别是,DNS 为因特网中任何地方的主机解析主机名,而 ARP 只为在同一个子网上的主机和路由器接口解析 IP 地址。
每台主机或路由器在其内存中具有一个 ARP表 (ARP table),这张表包含 IP 地址到 MAC 地址的映射关系。这张表中也包含了一个寿命 (TTL) 值。从一个表项放置到某 ARP 表中开始,一个表项通常的过期时间是 20 分钟。

ARP协议的几点:
- 查询 ARP 报文是在广播帧中发送的,而响应 ARP 报文是在一个标准帧中发送的。
- ARP 是即插即用的。
也就是说一个 ARP 表是自动建立的,不需要系统管理员来配置。
并且如果某主机与子网断开连接,它的表项最终会从留在子网的结点的表中删除掉。 - 可以把 ARP 协议看成是跨越链路层和网络层边界两边的协议
ARP 帧封装在链路层帧中,因此在链路层之上。此外,一个 ARP 分组具有包含链路层地址的字段。
三、发送数据报到子网以外

主机必须把数据报首先发给第一跳路由器,因此发出的链路帧的 MAC 地址是路由器接口的 MAC 地址。
如何获得这个 MAC 地址呢?当然是通过 ARP 协议。
转载于:https://www.cnblogs.com/huahuahu/p/lian-lu-ceng-xun-zhi-yu-ARP.html
链路层寻址与 ARP相关推荐
- 网络基础链路层--eth协议arp协议mtu
网络基础链路层--eth协议&arp协议&mtu 一.链路层 二.eth-以太网协议 (一)mac地址 三.arp-地址解析协议 (一)解析流程 (二)arp缓存为什么只有很短的一段时 ...
- 计算机网络总结:第五章 链路层
第五章 链路层:链路.接入网和局域网 5.1 链路层概述 一些术语 –结点:运行链路层协议的任何设备(主机.路由器.交换机) –链路:沿着通信路径连接相邻结点的通信信道 –在通过特定的链路时,传输结点 ...
- 计算机基础(笔记)——计算机网络(链路层)
链路层 在链路层中,会讨论到两种截然不同类型的链路层信道.第一种类型是广播信道,这种信道用于连接有线局域网.卫星网和混合光纤同轴电缆( Hybrid Fiber Coaxialcable,HFC)接入 ...
- 《计算机网络自顶向下方法》读书笔记(五):链路层和局域网
目录 前言 1.链路层概述 (1)名词 (2)服务 (3)在何处实现 2.差错检测和纠正 (1)奇偶校验 (2)检验和方法 (3)循环冗余检测(CRC) 3.多路访问链路和协议 (1)名词 (2)信道 ...
- 计算机网络 自顶向下(5)链路层——学习笔记
· 概述: · 结点:任何运行链路了层协议的任何设备.包括主机.路由器.交换机和WiFi接入点. · 链路:沿着通信路径连接相邻结点的通信信道称为链路.数据报必须通过沿端到端路径上各段链路传输. · ...
- 《计算机网络:自顶向下方法》学习笔记——第六章:链路层
两种截然不同类型的链路层信道 广播信道:这种信道用于连接有线局域网.卫星网和混合光纤同轴电缆接入网中的多台主机. 点对点通信链路:这在诸如长距离链路连接的两台路由器之间,或用户办公室计算机与它们所连接 ...
- 【计算机网络】链路层
链路层和局域网 1.链路层概述 1.1链路层提供的服务 1.2链路层在何处实现 2.差错检测和纠正技术 2.1奇偶校验 2.2检验和方法 2.3循环冗余检测 3.多路访问链路和协议 3.1信道划分协议 ...
- 计算机网络自顶向下-链路层
链路层和局域网 两台主机之间,数据报跨越一系列通信链路传输,一些是有线链路一些是无线链路,从源主机起,通过一些了分组交换机在目的主机结束.在链路层中有两种不同的链路层信道, 第一种是广播信道,这种信道 ...
- 计算机网络第六章 链路层和局域网
计算机网络自顶向下书籍中科大B站课程笔记 Part1第六章 链路层和局域网 --广域网也有链路层,但是相对来说比较简单,所以重点放在局域网 --由一个节点如何到达另外一个相邻节点:点到点传输 目标: ...
最新文章
- hql调用mysql存储过程_hibernate调用mysql存储过程
- 【基本操作】主席数统计区间不同颜色个数
- JavaScript类的问题
- PostgreSQL 数据库多列复合索引的字段顺序选择原理
- 【邓侃】哈佛大学机器翻译开源项目 OpenNMT的工作原理
- 黑莓blackberry手机刷ROM 的详细教程
- 从github克隆内容到本地时权限问题
- Kernel panic -not syncing:Attempted to kill init!
- PO、VO、DAO、BO、POJO
- 在演唱过后的飞秋代码
- php统计字数指定位置,php实现的统计字数函数定义与使用示例
- King Moves 水题
- Atitit.每周末总结 于每周一计划日程表 流程表 v8
- AWS AI网络研讨会 webinar - Case 分享
- Landsat遥感影像下载
- 微信公众号测试号申请
- 什么是前后端分离技术?
- 九度OJ 1538 GrassLand密码
- 解决ImportError: /home/douxiao/anaconda3/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
- ECharts大屏数据可视化展示
热门文章
- php agi api,PHP agi 编写测试
- 如何成为python 数据分析师_如何成为一名真正的数据分析师或者数据工程师
- python测试程序的qps和响应时间代码_Python并发请求下限制QPS(每秒查询率)的实现代码...
- html离开页面时,js实现用户离开页面前提示是否离开此页面的方法(包括浏
- java 头尾 队列_超详细的java集合讲解
- main方法_错误: 在类 ZiFUChuan.Pyramid 中找不到 main 方法, 请将 main 方法定义为:
- mysql ef sql语句_EF to MySQL 的 Database.ExecuteSqlCommand 和 SqlQuery
- html按钮线性炫光,6分钟实现CSS炫光倒影按钮 html+css
- linux服务器六个状态,六、Linux_SSH服务器状态
- mybatis可以用oracle,使用MyBatis调用oracle函数(基于注释)