惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 小笨笨

C# 面试题整理 《ASP.NET Core 6 框架揭秘》第五章读书笔记 - 配置选项(上) 《ASP.NET Core 6 框架揭秘》第四章读书笔记 - 文件系统 Entity Framework Core 笔记 - 入门 《ASP.NET Core 6 框架揭秘》第三章读书笔记 - 依赖注入(下) React 学习笔记之三 - 基于 Redux 状态管理 React 学习笔记之二 - React 详解 《Kafka 权威指南》之二 - 安装 Kafka 《Kafka 权威指南》读书笔记之一 - 初识Kafka React 学习笔记之一 - ES6 基础 微服务实战读书笔记-第一章 - 小笨笨 缠论 jQuery 实战读书笔记之第六章:事件本质 jQuery 实战读书笔记之第五章:使用 jQuery 操作页面 jQuery 实战读书笔记之第四章:使用特性、属性和数据 jQuery 实战读书笔记之第三章:操作 jQuery 集合 jQuery 实战读书笔记之第二章:选择元素 TCP/IP详解读书笔记:ARP-地址解析协议 TCP/IP详解读书笔记:概述 - 小笨笨
TCP/IP详解读书笔记:链路层
小笨笨 · 2014-12-26 · via 博客园 - 小笨笨

在TCP/IP协议族中,链路层主要有三个目的:

1)为IP模块发送和接受IP数据报;

2)为ARP模块发送ARP请求和接受ARP应答;

3)为RARP模块发送RARP请求和接受RARP应答;

以太网和IEEE 802封装

以太网是1982年公布的一个标准,是当今TCP/IP采用的主要的局域网技术,它采用一种称为CSMA/CD的媒体接入方法,意思是带冲突检测的载波侦听多路接入,它的速率是10Mb/s,地址为48bit。

还有一个标准是IEEE 802标准。它和以太网的帧格式不同。802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络,这三者的共同特性由802.2标准定义,这就是802网络共有的逻辑链路控制(LLC)。

在TCP/IP中,以太网的IP数据报的封装是在RFC 894中定义的,IEEE 802的封装是在RFC 1024中定义的。

最常使用的封装格式是RFC 894定义的格式。下图是两种不同的封装格式。

上图中,第一个封装格式是802标准的,第二个是以太网格式的。

从上图可以看出,两种帧格式都采用48bit的目的地址和源地址,存放的是硬件地址。ARP和RARP协议会对32位IP地址和48位的硬件地址进行映射。

802接下来的是长度字段,指的是后续数据的长度,不包括CRC。而以太网接下来的类型字段定义了后续数据的类型。

以太网帧格式比较简单,接下来就是数据了。而802帧格式接下来是3个802.2的LLC和5字节的 SNAP(子网接入协议),其中,目的服务访问点(DSAP)和源服务访问点(SSAP)值都为0xaa,Ctrl字段值为3,随后的3个字节org code都为0,再接下来就是类型字段。

802.3规定数据部分至少为38字节,以太网则要求是46字节,如有不足的情况,就要填充字节。

SLIP:串行线路IP

 这是一种在串行线路上对IP数据报进行封装的简单形式。

开始处和结束处传一个END(0xc0)的特殊字符。

如果报文中某个字符为END,那么就了连续传输两个字节0xdb和0xdc来取代。0xdb被称为SLIP的ESC字符。

如果报文中某个字符为ESC字符,那么就连续传输两个字节0xdb和0xdd。

值得一提的是,这是一个老的工业标准,目前已被PPP协议取代。

压缩的SLIP

为了传输一个字节需要20个字节的IP首部和20个字节的TCP首部。CSLIP一般能把这40个字节压缩到3到5个字节。

PPP:点对点协议

格式如上图,不再赘述。

环回接口

环回接口允许在同一台机器上的服务器程序和客户端程序通过TCP/IP进行通信。

最大传输单元MTU

也就是对数据帧的长度的限制,比如以太网的是1500字节。

当两个主机间的通信需要经过多个网络,那么其中最小的MTU称为路径MTU。

串行线路吞吐量计算