【计算机网络】数据链路层

数据链路层是计算机网络中的一层,它位于物理层和网络层之间。数据链路层的主要作用是在两个设备(同一种数据链路节点)之间建立、管理和终止会话,以便进行数据传输。它规定了如何格式化数据,如何使用物理层进行传输,以及如何处理传输错误等。

**以太网(Ethernet):**一种广泛使用的局域网技术标准,它规定了网络拓扑结构、访问控制方式、传输速率等,同时也定义了一些物理层的内容,例如以太网帧格式。以太网中的网线必须使用双绞线。以太网是当前应用最广泛的局域网技术,和以太网并列的还有令牌环网,无线LAN等。

**以太网帧格式:**以太网帧是数据链路层的基本传输单元,它由一系列字段组成,包括以太网地址(源和目标)、协议标识符(例如IP协议)、数据长度、数据负载和填充字段等。

源地址和目的地址是指网卡的硬件地址(也叫MAC地址)长度是48位,在网卡出厂时固化的;

帧协议类型字段有三种值,分别对应IP、ARP、RARP;

**MAC地址(Media Access Control Address):**MAC地址是网络设备在网络层上的唯一标识符,它由6个字节(48位)的二进制数组成。在以太网中,每个帧都包含一个源MAC地址和目标MAC地址。

ARP协议(Address Resolution Protocol):ARP不是一个单纯的数据链路层的协议,而是一个介于数据链路层和网络层之间的协议;

ARP协议建立了主机IP地址和MAC地址的映射关系:ARP协议用于将网络层的IP地址解析为数据链路层的MAC地址。当主机需要发送数据到目标IP地址时,它首先通过广播或单播方式发送一个ARP请求,以查找目标IP地址的MAC地址。

**MTU(Maximum Transmission Unit):**MTU是指数据链路层所能传输的最大数据包大小。以太网的MTU通常是1500字节。如果数据包的大小超过MTU,则需要进行分片传输,以确保每个帧都能正确传输。

相关推荐
迪康coolmu2 小时前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·经验分享·笔记·其他·安全·php
xiaoye-duck2 小时前
《C++ 项目:手写大模型接入 SDK》Ollama接口设计(上):初始化、全量响应实现和测试
开发语言·网络·c++·语言模型
qq_371802115 小时前
Ubuntu Linux中安装WorkBuddy
linux·运维·服务器·ubuntu
无足鸟ICT5 小时前
【RHCA+】iptraf-ng(网络监控分析)
linux·网络
坤坤子吖7 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
xiaoye-duck8 小时前
《C++ 项目:手写大模型接入 SDK》LLMManager架构设计与实现
开发语言·网络·c++·语言模型
say_fall8 小时前
【AI大模型】MCP 模型上下文协议:客户端-服务器架构、JSON-RPC 消息与能力协商、工具发现与调用链路、与函数调用的分工
服务器·人工智能·架构
andxe9 小时前
工业级 PoE 交换机选型指南:破解边缘部署四大核心难题
运维·网络·安全·光通信·交换机
木子欢儿11 小时前
国内 macOS/Linux 安装 rust
linux·运维·服务器·macos·rust
say_fall11 小时前
【Linux网络编程】计算机网络基础:局域网与广域网、OSI七层模型与TCP/IP五层模型、封装解包与MAC/IP地址、端口号与socket编程接口
linux·网络·tcp/ip·计算机网络·信息与通信