linux之网络

1. OSI七层模型,如图:

  • 物理层(Physical Layer): 负责传输原始比特流。它涉及的是物理设备及介质,如电缆类型、电信号传输和接收等。
  • 数据链路层(Data Link Layer): 确保物理链路上的无误传输 。它提供了如帧同步、流量控制和错误检测等功能,如果发生有错误的话,会让发送端重新发一次。
  • 网络层(Network Layer): 负责数据包从源到目的地的传输和路由选择。它定义了地址和路由的概念,如 IP 协议。 简单理解就是网络层指定数据到那个电脑上。
  • 传输层(Transport Layer): 提供端到端的数据传输服务,保证数据的完整性。它定义了如 TCP 和 UDP 协议。 简单理解就是传输层指定数据到那个电脑上的那个程序。
  • 会话层(Session Layer): 管理会话,控制建立、维护和终止会话。 用来建立联系的。
  • **表示层(Presentation Layer):**处理数据的表示、编码和解码,如加密和解密。
  • 应用层(Application Layer): 提供网络服务 终端用户的应用程序,如 HTTP、FTP、SMTP 等协议。比如某些程序应用应该使用那个协议。

2. TCP/IP四层模型(按协议划分的)

• TCP/IP 四层模型,也称为互联网协议套件是一种网络通信模型,用于指导数据如何在网络中的设备之间传输。这个模型将网络通信过程分解为四个的层次,每一层负责不同的任务。

2.1 应用层(Application Layer)

• **定义:**为用户应用程序提供网络服务。不同的功能使用不同的协议,例如,如果要远程连接,就需要SSH协议。

• 协议:该层包括了 SMTP、FTP、SSH、HTTP 等协议,这些协议都在应用层上实现,以实现客户端与服务器之间的通信和数据交换。不同的功能使用不同的协议。

2.2 传输层(Transport Layer)

定义:提供端到端的通信服务,确保数据可靠传输,可以保证这些数据的完整性和可靠性

• 协议:在传输层,主要的协议有 TCP(Transmission Control Protocol),它提供顺序的、可靠的、双向的 连接流,并管理报文段的发送**,确保无错误、不丢失、不重复、按序到达**;以及 UDP(User Datagram Protocol),它提供一种无连接的服务,数据以数据报的形式发送,不保证顺序或响应。

2.3 互联网层(Internet Layer)

定义:实现主机到主机 的通信,负责数据包的寻址和路由选择,网络层的 IP 协议是构成 Internet 的基础。Internet 上的主机都是通过IP 地址来互相识别。IP 协议不保证传输数据的可靠性,可能出现丢包等情况。

• 协议:主要协议是 IP(Internet Protocol),它定义了数据包的路由方式和网络地址。其他重要的协议包括 ICMP(Internet Control Message Protocol),用于错误报告和网络诊断。

定义:负责在物理网络中传输原始比特数据

• 协议:它包括了在物理网络链接中使用的所有协议,如以太网(Ethernet)、Wi-Fi 以及PPP(Point-to-Point Protocol)。

2.5 OSI 七层模型和 TCP/IP 四层模型对比以及 TCP/IP 协议栈,如图中有几个层合并,如图:

3. 网络传输中的数据单元

• PDU:协议数据单元(Protocol Data Unit,PDU)

是指在网络通信中, 每一层协议在 传输数据时 的基本单位。不同层级的PDU有不同的名称和结构,例如在网络层,PDU 称为数据包,在传输层,PDU 称为报文段或数据报,在数据链路层,PDU称为帧(frame)。

• 数据包(Packet):通常指网络层(如 IP 网络层)的数据单位。

• 报文段(Segment):通常用于描述传输层(TCP 传输层)的数据单位。

• 数据报(Datagram):通常用于描述 UDP 协议的数据单位,它也是传输层的一个概念。

3.1 SDU

• 服务数据单元(Service Data Unit,SDU),指的是 从上层协议接收到的、尚未添加当前层控制信息的原始数据

3.2 PCI

• 协议控制信息(Protocol Control Information,PCI), 当前层添加的头部(Header)或尾部(Trailer)信息**,用于控制数据传输**。

3.3 PDU=SDU+PCI。如图:

3.4 头部、尾部与 PCI

• 头部(Header)和尾部(Trailer)都属于 PCI。

头部和尾部是物理的,实际上是 SDU 前面或后面附加的一系列比特 。而 PCI 是逻辑的,它是协议控制信息的集合,指导网络中的各层对数据做正确处理,确保网络协议正常运作。

• 通常 PCI 只包含头部,一个特例是以太网的数据帧不止包含头部,还包含尾部的帧检验序列(FCS,Frame Check Sequence,用于差错控制)。以太网帧的头部和尾部共同构成了它的 PCI。

• 网络分层模型的层与层之间相互依赖,数据由上层到底层的过程中,每层都要加上该层协议的 Header,我们称之为封装。

3.5 基于以太网的通信流程示例,如图:

相关推荐
艾莉丝努力练剑21 小时前
C++ 核心编程练习:从基础语法到递归、重载与宏定义
linux·运维·服务器·c语言·c++·学习
Trouvaille ~1 天前
【MySQL篇】从零开始:安装与基础概念
linux·数据库·mysql·ubuntu·c·教程·基础入门
Curtain_Gin1 天前
windows vim 配置
linux·编辑器·vim
Dontla1 天前
(龙虾)OpenClaw(原 Clawdbot / Moltbot)常见部署方式介绍(Linux部署、Windows桌面部署)
linux·运维·服务器
Ghost Face...1 天前
Linux USB 全栈解析:OTG + Type-C + PD 内核架构(架构师级)
linux·c语言·架构
菜鸟z级1 天前
在新电脑装ubuntu包
linux·运维·ubuntu
一个人旅程~1 天前
旧笔记本电脑安装win10精简版LTSB&win10LTSC&linuxmint作为三系统的操作指导书(以DELL n4020为例)
linux·windows·经验分享·电脑
蓝牙先生1 天前
22_backlightLinux内核模块
linux·c语言
木鱼布1 天前
CentOS7配置vsftpd
linux·运维
my_styles1 天前
linux系统下安装 tengine / 宝兰德等国产信创中间件和闭坑
linux·运维·服务器·spring boot·nginx·中间件