计算机网络(十七)——MAC地址与ARP协议
文章目录
- 1. MAC地址
- 2. 地址解析协议(ARP)
- 2.1 源和目的处于同一个局域网内
- 2.2 源和目的处于不同局域网内
链路交换机运行在链路层,用于转发链路层帧。因此IP协议和IP地址不再适用于交换机。我们需要新的地址和协议用于链路层帧的转发。
1. MAC地址
(1)定义
适配器(网络接口)的链路层地址。
①用于标识链路层帧从那个接口发出,到达那个物理相连的接口。
局域网中的每块网卡都有唯一的MAC地址。
MAC地址长度为6字节,共有2482^{48}248个可能的MAC地址。
①MAC广播地址:FF-FF-FF-FF-FF-FFMAC地址固化在网卡ROM中,也可以使用软件修改。
MAC地址由IEEE统一管理与分配。
①网卡生产商购买MAC地址空间(前24比特)
(2)MAC地址和IP地址的比较
- IP地址是网络层地址,MAC地址是链路层地址。
- IP使用十进制表示法,MAC使用十六进制表示法。
- IP地址是可变的,MAC地址是可固化的。
2. 地址解析协议(ARP)
每一个主机或路由器都有一个或多个MAC和IP地址。在已知IP地址情况下,如何确认MAC地址是一个问题。地址解析协议ARP就用于将IP地址映射为MAC地址。
ARP协议特点:
- 即插即用:结点自主创建ARP表。
- 链路层协议:将IP地址映射为MAC地址。
2.1 源和目的处于同一个局域网内
(1)定义
当源和目的主机处于同一个局域网时,源主机知道目的主机的IP地址时。那么源如何利用已知的目的IP地址确认其MAC地址呢?
ARP协议构造了网络层的IP地址和链路层MAC地址的映射关系。网络中的每个结点都维护了一个ARP表。
- ARP表:存储其他LAN节点的IP/MAC的地址映射关系。
①结构:<IP地址;MAC地址;TTL>
②TTL:经过一段时间后原映射关系会被丢弃。
(2)IP/MAC映射步骤
主机A向同一局域网内主机B发送IP数据报的步骤:
- 检索ARP表:如果ARP表有目的IP表项,则直接输出对应MAC地址。否则,A广播ARP查询分组,并执行步骤2,3.
①ARP查询分组:目的MAC地址FF-FF-FF-FF-FF-FF,局域网内所有节点都会收到ARP查询分组。 - B接收ARP查询分组:IP地址匹配成功,向A应答B的MAC地址。
①利用单播帧向A应答。 - A缓存查询到的IP-MAC地址对:在ARP中增加IP-MAC表项,直至超时。
①超时后,再次刷新。
但是当两个主机A, B不在同一个局域网内时,A还是可以通过直接查询ARP表获得B的MAC地址吗?ARP协议是如何起作用的呢?
2.2 源和目的处于不同局域网内
(1)定义
当源和目的主机处于不同的局域网时,源主机通过路由器向目的主机发送IP数据报。那么源如何利用已知的目的IP地址确认其MAC地址呢?
假设:
- A知道B的IP地址。
- A知道路由器接口IP地址(默认网关)。
- A知道路由器接口MAC地址(ARP协议)。
(2)过程:
- 构造IP数据报和链路层帧:
①IP:源和目的IP地址。
②帧:源和目的的MAC地址,封装A到B的IP数据报。
- 帧从源主机发送到路由器
①路由器接收帧,提取IP数据报,传递给上层IP协议。
②路由器检索转发表,转发IP数据报。
③创建链路层帧:源MAC地址是路由器MAC地址,目的是目的主机的MAC地址,封装IP数据报。
- 帧从路由器发送到目的主机
①目的主机接收帧,提取获得IP数据报,传递给上层IP协议。
综上所述,(1)源主机可以通过ARP表获得路由器的MAC地址,然后将IP数据报封装成链路层帧发送给路由器。路由器收到链路层帧,并提取IP数据报,接着查询转发表选择合适的路由。然后利用ARP表查找目的B的MAC地址,并将IP数据报封装成帧发送给目的主机B。(2)A不是直接使用ARP表获得B的MAC地址,而是先利用ARP地址获得路由器的MAC地址。然后路由器再利用ARP协议获取B的MAC地址。(源–>路由器–>目的)
计算机网络(十七)——MAC地址与ARP协议相关推荐
- MAC地址及ARP协议的深入理解
今天网络协议部分的阅读搞得自己有点头疼,所以借用一篇博文来巩固学习~ MAC地址:MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控 ...
- 详解ip地址和mac地址即ARP协议
目录 一.为什么有mac地址还需要ip地址 1. 为什么有mac地址 2. 数据包只填mac地址能否送达 3. IP地址不可或缺 4. 是否可以只存在ip地址 二.ARP协议详解 1. 为什么需要AR ...
- 【计算机网络】MAC地址、IP地址以及ARP协议
[计算机网络]MAC地址.IP地址以及ARP协议 1.概述 2.MAC地址 2.1 IEEE 802局域网的MAC地址格式 2.2 IEEE 802局域网的MAC地址发送顺序 2.2.1 单播MAC地 ...
- MAC地址,IP地址,ARP协议简述
MAC地址,IP地址,ARP协议简述 MAC地址是以太网的MAC子层所使用的地址:IP地址是TCP/IP体系结构网际层所使用的地址:ARP协议属于TCP/IP体系结构的网际层,作用是通过IP地址获 ...
- MAC地址、IP地址以及ARP协议
文章目录 MAC地址.IP地址以及ARP协议 数据链路层 网际层 MAC地址 为什么要有MAC地址? MAC地址格式 单播和广播 单播: 广播: ip地址 ip地址和mac地址在网络体系结构中的应用: ...
- PPP协议和MAC地址、IP地址及ARP协议三者之间的关系(3.2)
目录 点对点PPP协议 PPP协议封装的帧格式 PPP协议工作流程 媒体接入控制 媒体接入控制的分类 怎么解决"碰撞问题"?(随机接入方式) CSMA/CD(多址接入.载波监听.碰 ...
- MAC地址,IP地址和ARP协议
MAC地址 MAC地址在网卡中,硬件地址,又称作物理地址.它位于数据链路层 IP地址 IP地址由两部分构成:网络地址,主机地址 如下,黄色的是网络地址,蓝色的是主机地址 如果不需要因特网,可只使用MA ...
- MAC地址,IP地址以及ARP协议
MAC地址 MAC地址是以太网的MAC子层所使用的地址,当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,即一个数据链路层地址:在每个主机发送的帧中必须携 ...
- oracle arp绑定mac地址,使用ARP命令来绑定IP和MAC地址
使用ARP命令来绑定IP和MAC地址 前言:我本来没有想过写关于ARP绑定的文章,坦白的说一句,在你理解ARP工作的原理时,这其实比较简单.只是看到最近论坛很多人在问关于绑定IP和MAC地址的问题, ...
最新文章
- php http传参数,http - PHP的URL传参数(英文句号变成了下划线)的问题,求解释。...
- Android数据存储之GreenDao 3.0 详解
- K8S控制器类型:RC/RS、Deployment、DaemonSet、Job和CronJob、StatefulSet、HPA
- AFNetworking网络请求与图片上传工具(POST)
- Kotlin——初级篇(一):最详细的环境搭建
- 浅谈百度司南大数据企业的风向标
- python创建sqlite数据库表_python数据库sqlite基础(一)-------数据库创建,表的建立,数据录入,数据查询...
- 朱松纯:三读《赤壁赋》,从人工智能的角度解读“心”与“理”的平衡
- 麻瓜python视频教程_Python基础教程|麻瓜编程Python Web开发工程师教程完整版_ - 极光下载站...
- linux64位wps下载授权码,ubuntu15.04安装wps-office的64位版
- C#使用DirectoryEntry类操作Windows帐户
- mysql 索引间隙锁_mysql innodb间隙锁示例
- kafka topic acl授权
- WIN2012远程桌面授权过期
- 物联网协议之一:MQTT协议和kafka
- 看完它你就造了!为什么AR直播是淘宝造物节最火的黑科技
- 最精确的手机电量校正方法,完全恢复电量,提高使用时间
- 2010破局,联想笔记本用AMD芯
- 计算机告诉你,唐朝诗人之间的关系到底是什么样的?
- UG NX二次开发(C#)- 查询part历史信息