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

相关推荐
寄存器漫游者2 小时前
Linux 软件编程 - IO 编程
linux·运维·spring
_别来无恙_2 小时前
TFTP的使用Linux
linux·服务器
Zaralike2 小时前
Linux 服务器网络不通排查 SOP(标准操作流程)
linux·服务器·网络
getapi3 小时前
注塑件的费用构成
linux·服务器·ubuntu
郝学胜-神的一滴3 小时前
深入解析C/S模型下的TCP通信流程:从握手到挥手的技术之旅
linux·服务器·c语言·网络·网络协议·tcp/ip
释怀不想释怀4 小时前
Linux网络基础(ip,域名)
linux·网络·tcp/ip
初願致夕霞4 小时前
Linux_进程
linux·c++
开开心心就好4 小时前
AI人声伴奏分离工具,离线提取伴奏K歌用
java·linux·开发语言·网络·人工智能·电脑·blender
lucky-billy4 小时前
Ubuntu 下一键部署 ROS2
linux·ubuntu·ros2