以太网(报头格式 | MTU | ARP)

本文介绍了以太网的技术标准,包括网络拓扑、传输速率等,并详细阐述了以太网帧格式,指出MAC地址和IP地址的作用。此外,讨论了MTU对IP、UDP、TCP协议的影响以及ARP协议在IP和MAC地址映射中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以太网

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

以太网帧格式

在这里插入图片描述

  • 源地址和目的地址是指网卡的硬件地址(也叫MAC地址), 长度是48位,是在网卡出厂时固化的;
  • 帧协议类型字段有三种值,分别对应IP、ARP、RARP;
  • 帧末尾是CRC校验码。

在这里插入图片描述

数据部分就是一个完整的IP数据报。数据的长度存在上限(1500个字节),这个上限我们也叫MTU,所以通过以太网传输数据的时候,大概率会进行分片(IP协议进行分片,把一个大的IP数据报分成很多小的数据报,在通过以太网数据帧来进行传输~~)
在这里插入图片描述
所谓的分片,就是通过IP协议的分片功能进行分片,分成多个IP数据报,每个报里的16位标志符都一样,然后通过

### 以太网帧结构概述 以太网帧由多个部分构成,主要包括报头、数据负载以及报尾。这些组成部分共同确保了网络通信的有效性和可靠性。 #### 报头字段及其功能解释 以太网帧的报头包含了若干重要字段,用于定义传输过程中的各种参数: - **目标MAC地址 (Destination MAC Address)**:占6个字节,表示接收方设备在网络上的唯一硬件地址[^2]。 - **源MAC地址 (Source MAC Address)**:同样占用6个字节,指明发送该帧的设备的身份识别码。 - **类型/长度 (Type/Length)**:这是一个两字节字段,在早期版本中用来指定后续数据的实际长度;而在现代实现里,则更多地作为指示上层协议类型的标志位(例如IPv4或ARP请求)[^3]。 ```python # Python伪代码展示如何解析以太网头部信息 def parse_ethernet_header(raw_data): dest_mac, src_mac, eth_proto = struct.unpack('! 6s 6s H', raw_data[:14]) return get_mac_addr(dest_mac), get_mac_addr(src_mac), socket.htons(eth_proto) def get_mac_addr(bytes_addr): bytes_str = map('{:02x}'.format, bytes_addr) mac_address = ':'.join(bytes_str).upper() return mac_address ``` #### 报尾字段及其功能解释 以太网帧通常会在结尾处附加一个四字节的循环冗余校验值(CRC),也被称为帧检验序列(Frame Check Sequence,FCS): - **FCS (Frame Check Sequence)**:位于整个帧的最后一部分,占据四个字节的空间。它通过计算前面所有比特流的CRC来验证接收到的数据是否完好无损。如果检测到错误,接收端会丢弃这个有问题的数据包并可能触发重传机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值