IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网络协议04 - 物理层和数据链路层 -> 正文阅读

[网络协议]网络协议04 - 物理层和数据链路层

网络分层模型


为了更好地促进互联网络的研究和发展,国际标准化组织 ISO 在 1985 年制定了网络互连模型,OSI 参考模型(Open System Interconnect Reference Model),具有 7 层结构。然而OSI参考模型仅仅是理论模型,真正应用过程中用得最多的其实是TCP/IP 协议模型,而学习研究时通常则是五层
在这里插入图片描述
这五层结构每一层都有一套处理数据包的机制,其处理方式和对应的协议则大致如下图所示:
在这里插入图片描述
在这里插入图片描述

物理层


模拟信号和数字信号

在物理层,数据是以信号的方式被传输,根据网络范围分为模拟信号和数字信号

  • 模拟信号:连续的信号,适合长距离传输,抗干扰能力差,受到干扰时波形变形很难纠正
    在这里插入图片描述

  • 数字信号:离散的信号,不适合长距离传输,抗干扰能力强,受到干扰时波形失真可以修复
    在这里插入图片描述

数据通信模型

在不同的网络通信范围内,对应的网络通信模型如下:

  • 局域网通信模型
    在这里插入图片描述
  • 广域网通信模型
    在这里插入图片描述
    在这里插入图片描述

信道(Channel)

信道就是信息传输的通道,由发射端传输到接收端所经过的传输媒质所构成,在同一条传输介质(如网线)上可以有多条信道(例如计算机0可以发送数据给计算机1,计算机1也可以发送数据给计算机0)

  • 单工通信:信号只能往一个方向传输,任何时候都不能改变信号的传输方向(如无线电广播、有线电视广播)
  • 半双工通信:信号可以双向传输,但必须是交替进行,同一时间只能往一个方向传输(如对讲机)
  • 全双工通信:信号可以同时双向传输(比如手机打电话,听和说同时进行)

数据链路层


基本概念

从1个节点到相邻节点的一段物理连接(有线或无线),且中间没有其他交换节点,被称之为链路。在一条链路上传输数据时,需要有对应的通信协议来控制数据的传输,而不同类型的数据链路,所用的通信协议可能是不同的。

常见的有:

  • 广播信道:CSMA/CD协议,例如同轴电缆、集线器等组成的网络
  • 点对点信道:PPP协议,例如两个路由器之间的信道

接下来看如下例图:
在这里插入图片描述
从图中可以看出,圈出来的每一部分就代表着一段数据链路

  • 计算机0到路由器0,是一段链路,因为中间的集线器可以直接看做是一根网线
  • 路由器0到路由器1、路由器1到路由器2,一共两段链路,其分别传输的数据也不太一样,例如源地址和目标地址是会发生改变的
  • 路由器2到交换机0,交换机0到计算机1,也是两端链路,但是这两端链路传输的数据是一样的,因为交换机只负责考虑传给谁(暂不考虑三层以上交换机)

数据链路层特点

数据链路层有三个特点:

  • 封装成帧
    在这里插入图片描述
    该特点就是将IP层传下来的数据包加上首部和尾部,封装成帧,而首部和尾部中又包含帧开始符和帧结束符,同时帧的数据部分(IP层数据包)有一个最大值MTU(Maximum Transfer Unit)限制,不能超过这个值。通常在我们日常用的以太网(采用CSMA/CD协议)中的MTU为1500个字节

  • 透明传输
    在这里插入图片描述
    在将IP层数据包封装成帧时,帧开始符用SOH代表,帧结束符用EOT代表,然而当数据部分也出现两个符号时,就会出现问题。因此解决方式就是将数据中的特殊符号进行转义
    在这里插入图片描述

  • 差错校验
    在这里插入图片描述
    数据链路层的帧由帧首部、帧尾部、帧数据三个部分组成,而帧首部中又包含数据链路层首部帧开始符,帧尾部包含FCS帧结束符。其中FCS是根据数据链层首部帧的数据部分算出来的,接受方需要对这个值进行校验,目的是为了防止数据在传输过程中出现变动,一旦发现数据对不上,网卡会直接把数据给丢弃

以上三个特点不管走的什么协议,都会去实现。接下来就看一下每个协议的具体实现

CSMA/CD协议

CSMA/CD协议全称是Carrier Sense Multiple Access with Collision Detection(载波侦听多路访问/冲突检测),字面意思解释就是

  • 载波侦听:对信道进行监听,判断是否空闲,是的话才会发送数据,反之则不发
  • 多路访问:多个信道上的计算机可以同时发送数据
  • 冲突检测:当多个信道上在同时传输数据时,会发生冲突,这里需要检测出是冲突数据还是需要正常接受的数据

使用了CSMA/CD协议的网络可以称为是以太网,其传输的是以太网帧,以太网帧的格式有Ethernet V2标准、IEEE的802.3标准,通常使用最多的是Ethernet V2标准。同时为了检测正在发送的帧是否发生了冲突,以太网的帧最少需要64个字节(可以参考这个回答

需要注意的是,用交换机组成的网络已经支持全双工通信,不需要再使用CSMA/CD协议,但它传输的帧依旧是以太网帧

Ethernet V2帧的格式

下面图就是以太网帧的格式
在这里插入图片描述
从图中可以看出,首部是由目标MAC地址、源MAC地址、类型组成,MAC帧则是由首部、数据、FCS组成。由于MAC帧至少是64字节,因此数据部分至少要46字节(64-6-6-2-4),当数据部分的长度小于46字节时,数据链路层会在数据的后面加入一些字节填充,到接收端时会将添加的字节去掉。当在物理层时,以太网MAC帧前面还会加上8个字节的数据(7个字节的前同步码和一个字节的帧开始符)

在上图中会发现MAC帧没有前面所说的帧结束符,这是因为以太网使用曼彻斯特编码,在传送帧时,各帧之间必须有一定的间隙,接收端只要找到帧开始定界符,其后面连续到达的比特流就都属于同一个MAC帧

在这里插入图片描述
因此可以看出以太网帧的数据长度是46 ~ 1500字节,而以太网帧的长度是64 ~ 1518字节

PPP协议(Point to Point Protocol)

下图就是PPP帧的格式
在这里插入图片描述

  • F:帧开始和帧结束符,值为0x7E
  • A:Address字段,值为0xFF,该字段没有什么用,因为点对点信道不需要像上面以太网帧中用到源MAC和目标MAC地址
  • C:Control字段,值为0x03,也没有什么用
  • Protocol字段:内部用的协议类型

Wireshark抓到的帧没有FCS?

Wireshark是一款用来抓包的工具,在通过抓包对帧格式分析后,会发现Wireshark抓到的Ethernet V2帧没有FCS字段
在这里插入图片描述
其实这是因为网卡的原因,网卡在接受到一个帧时,首先会进行差错校验,如果校验通过则被接受,否则丢弃。而Wireshark抓到的就是差错校验通过的帧(帧尾的FCS会被去掉)。

以下是网卡在物理层和数据链路层的具体功能
在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:14:36  更:2022-08-06 11:15:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 21:31:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计