【计算机网络】数据链路层_以太网帧在数据链路层怎么路由

  • “以太网”不是一种具体的网络,而是一种技术标准,既包含了数据链路层的内容,也包含了一些物理层的内容。例如:规定了网络拓扑结构,访问控制方式,传输速率等
  • 例如以太网中的网线必须使用双绞线,传输速率有10M,100M,1000M等
  • 以太网是当前应用最广泛的局域网技术;和以太网并列的还有令牌环网,无线LAN等

1. MAC地址

  • MAC地址用来识别数据链路层中相连的节点;
  • 长度为6字节,即48bits。一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19)
  • MAC地址在网卡出厂时就确定了,不能修改,mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址,可能会冲突,也有些网卡支持用户配置mac地址)

MAC地址和IP地址的区别

1. 范围和层次

  • MAC地址是在局域网(子网,内网)范围内唯一标识设备的地址,一般只能在同一局域网内进行通信
  • IP地址可以在广域网(公网,外网)范围内唯一标识设备的地址,可以在不同的网络中进行通信

2. 分配方式

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

3. 使用场景

  • MAC地址主要用于局域网内的寻址和转发,例如以太网的数据链路层使用MAC地址进行设备之间的通信
  • IP地址主要用于跨网络通信和路由选择,在因特网中的网络层使用IP地址进行主机之间的通信

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

举例:

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

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

所以MAC地址用于局域网内通信,IP地址用于广域网通信,即起点和终点

2. 以太网帧格式

以太网的帧格式如下所示:

  • 源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度为48bits,6字节,在网卡出厂时固定
  • 类型有三种,对应后续的有效载荷类型:0800——IP数据包;0806——ARP请求/应答;8035——RARP请求/应答
  • 帧末尾是CRC校验码

两个问题

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

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

2. 有效载荷如何向上交付?

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

三. 局域网通信原理

假设有如下子网,有若干设备

如果主机A想和主机D通信,那么MAC帧的报头字段的源地址为macA,目的地址为macD。如果有效载荷为ip数据包,那么类型为0800

数据帧发送到网络中,所有该局域网的主机都会收到该数据帧,但其数据链路层解包发现目的地址不是自己的时候,会直接在数据链路层丢弃该报文。如此就只有主机D会解包,提取有效载荷,向上交付ip数据包

补充:网卡可以设置混杂模式,不论是不是发给自己的数据帧,都向上交付,这就做到了抓包

如此,同一时刻,局域网中只允许有一个数据帧传输。如果多个数据帧同时传输,则会产生数据碰撞,导致数据重叠错误。为此需要进行碰撞避免——媒体访问控制

媒体访问控制

在共享介质的网络中,多个设备可以同时发送数据,但如果两个设备在同一时间发送数据,会导致碰撞,造成数据丢失和网络拥塞。

为了避免碰撞,数据链路层采用了一些技术和协议。最常见的就是CSMA/CD和CSMA/CA


CSMA/CD(载波监听多点接入/碰撞检测)

  • CSMA/CD协议用于以太网等优先局域网中。在发送数据之前,设备会先监听信道,确保没有其他设备同时发送数据。
  • 如果两个设备在同一时间发送数据,会发生碰撞。此时,检测到碰撞的设备会发送一个特殊的信号来通知其他设备,并且会采用一种退避算法来随机延迟一段时间后重新尝试发送数据,以减少再次发生碰撞的可能性。
  • CSMA/CD适用于有线网络,因为在这种情况下可以快速检测到碰撞并采取相应的措施。然而,在现代的以太网中,随着全双工通信和交换式以太网的普及,CAMA/CD已经不再被广泛使用

CSMA/CA(载波监听多点接入/碰撞避免)

  • CSMA/CA协议主要用于802.11无线局域网中。由于无线信道的特性,碰撞检测不如有线网络那样可靠,因此CMSA/CA采取碰撞避免的策略
  • 在CSMA/CA中,设备在发送数据之前同样会监听信道,确保信道空闲。然而,在发送数据之前,设备还会使用一种称为“网络分配矢量”(NAV)的机制来预测信道的使用情况。并且采用随机退避算法来避免与其他设备的数据碰撞。
  • CSMA/CA适用于无线网络,因为它能够在一定程度上避免无线信道上的碰撞,提高了无线网络的效率和可靠性

交换机

  • 交换机目前是在以太网中使用最广泛的互连设备
  • 工作在数据链路层(也包括物理层)
  • 交换机对数据帧的转发是根据其MAC地址进行转发的
  • 使用交换机做为互连设备的以太网,称为交换式以太网,交换机可以根据MAC地址过滤数据帧,即隔离碰撞域

  • 交换机的每一个接口都是一个独立的碰撞域
  • 交换机隔离碰撞域但不隔离广播域(VLAN除外)

交换机左侧的主机也可以和右侧的通信,交换机负责数据转发,如果左侧出现数据碰撞,交换机可以防止数据碰撞影响右侧的网络

MTU

如果数据帧太长,那么在碰撞域中存在的时间就相对更长,那么碰撞的概率就更大。但数据帧太小,发送效率又低,所以数据帧的长度需要综合考虑

所以以太网帧中的数据长度规定最小46字节,最大1500字节。所以数据帧最短为60字节,最长为1514字节。如果ARP数据包的长度不够46字节,要在后面填补

最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU大小


MTU对IP协议的影响

由于数据链路层MTU的限制,对于较大的IP数据包要进行分片

  • 将较大的IP数据包分成多个分片,并给每个分片打上标签
  • 每个分片的IP协议报头的16位标识(id)都是相同的
  • 每个分片的IP协议头的3位标志字段中,第2位为1,表示允许分片,为0表示禁止分片;第三位来表示"更多分片",是结束标记(当前是否是最后)。如果为0表示是最后一个分片,为1则不是最后一个分片
  • 到达对端时再将这些分片,按顺序重组,拼装到一起返回给传输层
  • 一旦这些分片中的任意一个分片丢失,接收端的重组都会失败,但IP层不负责重传,所以直接由TCP层进行超时重传

详细分片参看【计算机网络】网络层——IP协议的分片和组装部分


查看硬件地址和MTU大小

Linux下使用ifconfig命令

四. ARP协议

ARP协议并不是数据链路层的协议,而是介于数据链路层和网络层之间的协议

ARP协议建立了主机 IP地址 和 MAC地址 的映射关系

  • 在网络通信时,源主机的应用程序知道目的主机的IP地址和端口号,但不知道目的主机的MAC地址
  • 数据帧首先是被网卡接收的,如果接收的数据帧的MAC地址与本主机不符,则直接丢弃。
  • 因此在通信前必须获得目的主机的MAC地址

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网络安全面试题

绿盟护网行动

还有大家最喜欢的黑客技术

网络安全源码合集+工具包

所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-nbsrGUhL-1712768881131)]

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值