【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)

简介: 【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)

文章目录

3.7.1 MAC地址

3.7.2 IP地址

3.7.3 ARP协议






3.7.1 MAC地址

MAC地址(Media Access Control address)是网络设备(如网卡、无线网卡)在数据链路层上的唯一标识符。以下是有关MAC地址的一些要点:


描述:MAC地址是一个由48个二进制位(通常以十六进制表示)组成的全球唯一标识符,用于识别计算机网络中每个网络接口(NIC)的物理硬件地址。


功能:MAC地址用于在局域网中唯一标识网络设备。它在数据链路层提供了直接的寻址能力,以便将数据从源设备发送到目标设备。


格式:MAC地址由六组以冒号或连字符分隔的十六进制数表示。例如,00:1A:2B:3C:4D:5E。前三组(24个二进制位)通常代表厂商识别码(OUI,Organizationally Unique Identifier),后三组(24个二进制位)是为该厂商分配的设备唯一标识码。


唯一性:每个网络设备的MAC地址应该是唯一的,这样可以确保在局域网中没有重复的地址。唯一性由IEEE(Institute of Electrical and Electronics Engineers)组织负责管理和分配。


广播地址:MAC地址中的特殊地址之一是广播地址(FF:FF:FF:FF:FF:FF)。当需要向局域网中的所有设备发送消息时,可以使用广播地址。


MAC地址是一个本地地址,只在同一局域网内有意义。在通过路由器连接到不同网络之间进行通信时,需要使用IP地址来进行寻址。

image.png

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

当多个主机连接在同一个广播信道上,要想实现两个主机之间进行通信,则每个主机必须有一个唯一的标识,即一个数据链路层地址。

在每个主机发送的桢中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制MAC(Media Access Control),因此这类地址被称为MAC地址。


一般情况下,用户主机会包含两个网络适配器:有线网络适配器(有线网卡)和无线网络适配器(无线网卡)。每个网络适配器都有一个全球唯一的MAC地址。而交换机和网络路由器往往拥有更多的网络接口,所以会拥有更多的MAC地址。综上:严格来说,MAC 地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。


3.7.2 IP地址

IP 地址是因特网上的主机和路由器所使用的地址,用于标识两部分信息:


网络编号:标识因特网上数以百万计的网络

主机编号:标识同一网络上不同主机(或路由器各接口)

IP地址属于网络层。


数据包转发过程中IP地址与MAC地址的变化情况

微信截图_20231016160159.png

微信截图_20231016160208.png

3.7.3 ARP协议

ARP地址解析协议

ARP 协议只能在一段链路或者一个网络上使用,而不能跨网络使用。


ARP(Address Resolution Protocol)是一种用于将IP地址解析为物理地址(MAC地址)的网络协议。以下是关于ARP协议的一些要点:


描述:ARP协议是在TCP/IP协议栈中的网络层和数据链路层之间进行通信的协议。它通过发送特定的消息来获取目标设备的MAC地址。


功能:ARP协议主要有两个功能:


解析IP地址:当主机需要发送数据到一个目标IP地址时,它首先会检查本地ARP缓存表以查找对应的MAC地址。如果缓存表中没有该IP地址对应的MAC地址,则会发送一个ARP请求。


更新和维护ARP缓存:当主机接收到其他主机发来的ARP请求时,会更新本地ARP缓存,并向请求方回复自己的MAC地址以供其使用。

工作原理:当源主机要发送数据到目标主机时,它首先查找本地ARP缓存表。如果找到了目标IP地址对应的MAC地址,则直接发送数据帧到目标主机。如果没有找到,则源主机会广播一个ARP请求消息到本地网络中的所有主机,请求目标主机的MAC地址。目标主机接收到该请求后,会向源主机发送一个ARP响应消息,其中包含了自己的MAC地址。源主机接收到响应后,就可以利用目标主机的MAC地址发送数据。


ARP缓存:每个主机都维护一个ARP缓存表(也称为ARP缓存),用于保存IP地址和对应的MAC地址。这样做可以避免频繁地发送ARP请求。ARP缓存表中的条目具有一定的生存时间,超过该时间后将被认为是过期的并需要重新获取。


ARP协议在局域网(LAN)环境中工作,通过广播消息进行通信。对于跨越路由器的通信,可能需要使用其他协议,如RARP(Reverse Address Resolution Protocol)或者使用ARP代理等技术。


相关文章
|
9天前
|
缓存 安全 前端开发
探索HTTP协议:网络通信的基石
探索HTTP协议:网络通信的基石
|
3天前
|
JSON 安全 网络协议
【Linux 网络】网络基础(二)(应用层协议:HTTP、HTTPS)-- 详解
【Linux 网络】网络基础(二)(应用层协议:HTTP、HTTPS)-- 详解
|
5天前
|
网络协议 Python
在python中利用TCP协议编写简单网络通信程序,要求服务器端和客户端进行信息互传。 - 蓝易云
在这个示例中,服务器端创建一个socket并监听本地的12345端口。当客户端连接后,服务器发送一条欢迎消息,然后关闭连接。客户端创建一个socket,连接到服务器,接收消息,然后关闭连接。
58 0
|
10天前
|
运维 监控 安全
网络管理(包括网络管理的功能,管理系统及相关协议:SNMP,CMIS/CMIP)
网络管理(包括网络管理的功能,管理系统及相关协议:SNMP,CMIS/CMIP)
18 1
|
5天前
|
消息中间件 Java Linux
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
|
3天前
|
存储 网络协议 Unix
【Linux 网络】网络编程套接字 -- 详解
【Linux 网络】网络编程套接字 -- 详解
|
3天前
|
存储 网络协议 Linux
【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(下)
【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(下)
|
3天前
|
存储 网络协议 安全
【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(上)
【Linux 网络】网络基础(一)(局域网、广域网、网络协议、TCP/IP结构模型、网络传输、封装和分用)-- 详解(上)
|
8天前
|
运维 网络协议 Linux
Docker网络_docker 网络,来看看这份超全面的《Linux运维面试题及解析》
Docker网络_docker 网络,来看看这份超全面的《Linux运维面试题及解析》