IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络原理-MAC IP ARP -> 正文阅读

[网络协议]计算机网络原理-MAC IP ARP

MAC地址、IP地址以及ARP协议

MAC地址是以太网的MAC子层所使用的的地址,属于数据链路层

IP地址是TCP/IP体系结构网际层所使用的的地址

ARP协议属于TCP/IP体系结构的网际层,其作用是已知设备所分配到的IP地址,使用ARP协议可以通过该IP地址获取设备的MAC地址

1.1、MAC地址

  • 使用点对点信道的数据链路层不需要使用地址
  • 使用广播信道的数据链路层必须使用地址来区分各主机
    在这里插入图片描述
  • 当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识, 即一个数据链路层地址;
  • 在每个主机发送的 帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制 MAC(Media Access Control),因此这类地址被称为 MAC地址
    • MAC 地址一般被固化在网卡(网络适配器)的电可擦可编程只读存储器EEPROM中,因此MAC地址也被称为硬件地址
    • MAC地址有时也被称为物理地址注意:这并不意味着MAC地址属于网络体系结构中的物理层!
      在这里插入图片描述
  • 一般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线 网卡)。每个网络适配器都有一个全球唯一的 MAC 地址。 而交换机和路由器往往拥有更多的网络接口,所以 会拥有更多的MAC地址。综上所述,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。

1.2、IEEE 802局域网的MAC地址格式
IEEE 802 局域网 MAC 地址格式:(共 6 字节,48位)
前 3 位字节(OUI) + 后 3 位(扩展标识符)
在这里插入图片描述
第 1 位字节的低位为 1、3、5、7、9、B、D,则为多播地址,48 位全为 1 时,则为广播地址。
在这里插入图片描述
1.3、 IEEE 802 局域网 MAC 地址发送顺序
在这里插入图片描述
1.4 单播/多播/广播地址举例
(1)单播地址
主机B将本主机地址填入单播帧源地址,主机C地址填入目的地址,形成该单播帧。
(2)广播地址
主机B将本机地址填入源地址,将 FF-FF-FF-FF-FF-FF 广播地址填入目的地址,构成广播帧(接收主机接收帧,并交给上层处理)。
(3)多播地址
主机A发送含有多播地址的多播帧,其他主机根据自己的多播组列表,判断是否接收帧。
多播地址判断若第二位十六进制数不能整除2(1,3,5,7,9,B,D,F)即为多播地址
在这里插入图片描述
在这里插入图片描述
随机MAC地址(为了安全)

2.1 IP地址

  • IP地址是因特网(Internet)上的主机和路由器所使用的地址, 用于标识两部分信息:
    • 网络编号:标识因特网上数以百万计的网络
    • 主机编号:标识同一网络上不同主机(或路由器各接口)
    • 很显然, 之前介绍的MAC地址不具备区分不同网络的功能
    • 如果只是一个单独的网络,不接入因特网,可以只使用MAC地址(这不是一般用户的应用方式)
    • 如果主机所在的网络要接入因特网,则IP地址和MAC地址都需要使用。
      在这里插入图片描述

2.2 从网络体系结构看IP地址与MAC地址
IP 地址属于网络层,MAC 地址属于数据链路层。
在这里插入图片描述
2.3 数据包转发过程中IP地址与MAC地址的变化情况

  • 数据包转发过程中源IP地址和目的IP地址保持不变
  • 数据包转发过程中源MAC地址和目的MAC地址逐个链路(或逐个网络)改变。
    在这里插入图片描述
    暂且这么认为:H1知道应该把数据包传给R1,由R1帮其把数据包转发出去。H1知道R1相应接口的IP地址为IP3,但不知道其对应的MAC地址是什么!

3.1地址解析协议
ARP 协议:由 IP 地址获取 MAC 地址的一种协议。
在这里插入图片描述
主机的ARP高速缓存表存放的是IP地址和MAC地址的对应关系
在这里插入图片描述
3.2 ARP:地址解析协议原理

  • B 发送带有广播 MAC 地址广播帧,以获取指定 IP 地址的固化 MAC 地址。
  • 主机B在高速缓存表中查找主机C的IP地址所对应的MAC地址,未找到,主机B需要发送ARP请求报文来获取主机C的MAC地址。
    ARP请求报文被封装在MAC帧中发送,目的地址为广播地址,主机B发送封装有ARP请求报文的广播帧,主机A收到帧送交上层ARP进程解析ARP请求报文,判断IP地址是不是自己的IP地址;主机C判断是,则需要相应:
    1、将B的IP地址一MAC地址记录到自己的ARP高速缓存表中;
    2、给B发送ARP相应,一告知自己的MAC地址
    在这里插入图片描述
    ARP相应报文(单播 ),B接收C的相应报文将主机C的IP和MAN地址写入自己的ARP高速缓存表中,然后主机B就可以向主机C发送数据了。

3.3高速缓存表分类
动态:自动获取,生命周期默认为两分钟;
静态:手工设置,不同操作系统下的生命周期不同,例如系统重启后不存在或系统重启后依然有效。
ARP 协议只在同一段链路间使用。
在这里插入图片描述
总结:
在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:56:53  更:2021-11-19 17:58:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:47:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码