【网络编程】数据链路层协议——以太网协议

文章详细介绍了以太网协议的MAC帧格式,包括MAC地址、报头与有效载荷的分离以及局域网转发原理。同时,探讨了IP地址与MAC地址的关系,MTU对IP和TCP/UDP协议的影响。此外,还阐述了ARP协议的作用,其工作流程以及ARP欺骗的概念。
摘要由CSDN通过智能技术生成

一、引入

在这里插入图片描述

我们知道两太不同局域网的主机传递数据并不是直接传递的,而是通过路由器“一跳一跳”的传递过去。
跨网络传输的本质:是由无数个局域网(子网)转发的结果。

所以要理解数据跨网络转发原理,就要先理解一个局域网中数据是如何转发的
它就是以太网协议

  • 局域网通信原理

在同一个局域网内的两太主机是可以直接通信的。
举个例子:

在局域网通信就好像在教室上课老师喊张三的名字,所有人都能听到,只不过分析发现不是喊的自己就忽略掉,只有张三会处理这个消息。这样老师和张三的通信就可以看作是1对1的直接通信。

二、以太网协议

2.1 MAC帧格式

局域网两台主机之间通信必须要封装MAC帧。
在这里插入图片描述

  • 源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固化的。
  • 帧协议类型字段有三种值,分别对应IP协议、ARP协议和RARP协议。
  • 帧末尾是CRC校验码。
    在这里插入图片描述
    用红色圈出来的部分就是报头部分。中间的则是数据部分,数据部分包含上层的报头加有效载荷(HTTP、TCP、IP的封装)。

2.2 MAC帧如何将报头与有效载荷进行分离&向上交付?

  • 报头与有效载荷分离

MAC帧的分离方式就是采用定长报头。直接对前面的14个和后边的4个进行提取,剩下的就是有效载荷。

  • 向上交付给哪个协议?

在MAC帧的帧头当中有2个字节的类型字段,因此在分离出报头和有效载荷后,根据该字段将有效载荷交付给对应的上层协议即可。

2.3 MAC地址

局域网通信,每台主机都要有自己的唯一标识,每一台机器都要配一张网卡,每一个网卡都有一个序列号,这个序列号就是该网卡的MAC地址在全球范围内具有唯一性(其实在局域网内保证唯一性就够了),长度为48位(6个字节)。

在这里插入图片描述

2.4 局域网转发原理(基于协议)

在这里插入图片描述
假设现在要MAC1发送数据给MAC7,那么首先就需要封装一个MAC帧
在这里插入图片描述
每台主机的数据链路层都会收到这个MAC帧,然后进行报头和有效载荷的分离,然后查看目的IP地址发现是MAC7,如果发现不是自己,直接把数据帧丢弃,上层根本就不知道收到了这个数据帧;如果发现是自己,就把有效载荷向上交付。

处理结束后,MAC7也会给MAC1一个应答。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

命由己造~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值