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 基于以太网的通信流程示例,如图:

相关推荐
木心月转码ing6 小时前
WSL+Cpp开发环境配置
linux
崔小汤呀1 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端
何中应1 天前
vi编辑器使用
linux·后端·操作系统
何中应1 天前
Linux进程无法被kill
linux·后端·操作系统
何中应1 天前
rm-rf /命令操作介绍
linux·后端·操作系统
何中应1 天前
Linux常用命令
linux·操作系统
葛立国1 天前
从 / 和 /dev 说起:Linux 文件系统与挂载点一文理清
linux
哇哈哈20212 天前
信号量和信号
linux·c++
不是二师兄的八戒2 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
一个人旅程~2 天前
如何用命令行把win10/win11设置为长期暂停更新?
linux·windows·经验分享·电脑