Linux网络:数据链路层&以太网

目录

认识数据链路层

数据链路层 位于物理层和网络层之间,其作用是将源自物理层来的数据可靠地传输到相邻节点的目标主机的网络层,主要通过物理介质(如以太网,Wi-Fi等)将数据分割成帧,并在相邻节点之间进行传输。

  • 主机:配有IP地址,但不进行路由控制的设备
  • 路由器:既配有IP地址,又能进行路由控制、
  • 节点:主机和路由器的统称
  • 链路(Link) :一个节点到另一个相邻节点的一段物理线路,中间没有任何其他节点。
    • 链路由传输介质和物理设备组成,传输介质主要有双绞线,光纤,微波。在两个节点进行通信的时候,链路只是一条完整通信路径的一部分
  • 数据链路(Data Link):把实际控制数据传输协议的硬件和软件加到链路上就构成了数据链路

补充:报文在传输层叫数据段(Segment),在网络层叫数据报(Packet),在数据链路层叫做数据帧(Frame)

数据链路层的功能如下:

  • 封装成帧:将网络层交付下来的数据报封装成帧,每个帧包含了控制信息(如起始标志,目的MAC地址,源MAC地址等)和数据部分
  • 物理地址寻址:通过物理地址(MAC地址)来唯一标识网络中的设备,在数据链路层中使用MAC地址进行寻址和转发
  • 媒体访问控制:在共享介质的网络中,数据链路层使用媒体访问控制协议(如CSMA/CD,CSMA/CA等)来协调多个节点之间的传输,避免冲突和碰撞
  • 差错检查与重传:数据链路层负责检测和纠正传输过程中可能发生的位错误,通过差错检验码(如循环冗余校验码CRC)来实现
  • 流量控制:数据链路层通过流量控制机制,确保发送方和接收方之间的数据传输速率匹配,避免数据丢失或溢出
  • 链路管理:数据链路层负责建立,维护和释放链路链接,包括链路的建立,终止,确认以及链路状态的管理

数据链路层的协议有很多种,常见的有以太网(Ethernet),无线局域网(Wi-Fi)和点对点协议(PPP)等。不同协议适用于不同的网络环境和需求

关于以太网

1. 基本概念

"以太网"不是一种具体的网络,而是一种技术标准,既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等

  • 例如以太网中的网线必须使用双绞线,传输速率有10M,100M,1000M等
  • 以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等

2. 以太网帧格式

字段 解释
目的地址 目的MAC地址
源地址 源MAC地址
帧类型 有效载荷的类型,0800表示IP数据报,0806表示ARP请求应答,0835表示RARP请求应答
PAD 以太网帧数据不能少于46不能大于1500字节,否则就要添加PAD就是随机值
帧末尾 CRC 校验码

两个结论:

① 报头和有效载荷如何分离?

MAC帧的报头是固定长度,即前14字节为报头,后续为有效载荷

② 有效载荷如何向上交付?

根据报头的类型字段,0800 代表IP协议;0806 代表ARP请求/应答;0835 代表RARP请求/应答。以此交付对应的上层

3. MAC vs IP


MAC地址和IP地址的区别
1、范围、层次及使用

  • MAC地址是在局域网(子网,内网)范围内唯一标识设备的地址,一般只能在同一局域网内进行通信(寻址 和 转发),例如:以太网的数据链路层使用MAC地址进行设备之间的通信
  • IP地址可以在广域网(公网,外网)范围内唯一标识设备的地址,可以在不同的网络中进行通信(跨网络通信 和 路由选择),例如:在因特网中的网络层使用IP地址进行主机之间的通信

在路由转发的过程中,IP地址描述的是路途总体的起点和终点,MAC地址描述的是路途上的每一个区间的起点和终点

2、分配方式

  • MAC地址由网卡厂商分配,通常是固定的,与设备绑定,一般情况下不会改变
  • IP地址由网络管理员分配,可以是静态分配或动态分配(如DHCP),可以根据需要进行更改

证明如下:

上面如果主机A想访问服务器B

  • 服务器B具有公网IP,所以主机A可以直接使用公网IP进行访问;IP数据报中源IP地址是私有IP------192.168.1.201/24,目的IP地址是公网IP------122.77.241.3/24
  • 但子网的数据要想发到公网,需要路由器根据路由表进行转发。所以要先将数据发给路由器,但IP报文内的目的IP又不能更改为路由器的IP地址,不然后续无法发送到服务器B。所以需要MAC地址,用于局域网(子网)内的数据发送
  • 主机A在MAC帧中,源MAC地址为自己的MAC地址,目的MAC地址为路由器的MAC地址,发送数据
  • 路由器收到主机A的数据帧,解包查看IP地址,发现不是给自己的,再根据路由表进行路由转发,途中可能还需要经过很多个路由器,使用的也是MAC地址,路由转发其实就是在多个局域网间跳转。

结论:MAC地址用于局域网内通信,IP地址用于广域网通信,即起点和终点

相关推荐
李詹1 小时前
HTTPS为何仍有安全漏洞?解析加密协议下的攻击面
网络·网络协议·https
weixin_457885823 小时前
智能多媒体处理流水线——基于虎跃办公API的自动化解决方案
运维·数据库·人工智能·ai·自动化
IpdataCloud5 小时前
IP查询能够帮助企业进行数字化转型
网络·网络协议·tcp/ip
ssr——ssss6 小时前
组播网络构建:IGMP、PIM 原理及应用实践
网络·智能路由器
Stringzhua7 小时前
Linux多网卡组Bond0Bond1Bond4
运维·服务器·网络
暮云星影7 小时前
十二、buildroot系统 adb登录权限设置
linux·arm开发·adb
HHONGQI1237 小时前
Linux 基础入门操作 前言 VIM的基本操作 2
linux·运维·服务器·vim
王伯爵7 小时前
接入网和核心网之间的承载网详细介绍
服务器·网络·数据库
qq_543248528 小时前
Linux网络配置与测试
linux·运维·网络
钡铼技术物联网关8 小时前
下一代楼宇自控的中枢神经:ARM终端的生态
大数据·linux·人工智能