OSI七层模型和TCP/IP四层模型

首先,要理解这两个模型之间的关系。OSI是一个理论上的标准,而TCP/IP是实际应用中形成的、互联网所基于的协议族。在学习和讨论中,我们常常使用一个折中的五层模型,它结合了OSI的清晰结构和TCP/IP的实用性。下面我们将按照这个五层模型进行详细讲解。

OSI七层模型 (理论模型) TCP/IP四层模型 (实用模型) TCP/IP五层模型 (教学折中)

================================================================================

  1. 应用层 <---------------> 4. 应用层

  2. 表示层 <-----------------> (包含应用层、表示层、会话层功能)

  3. 会话层 <----------------->


  1. 传输层 <---------------> 3. 传输层 <------> 传输层

  1. 网络层 <---------------> 2. 网络互连层 <------> 网络层

  1. 数据链路层 <-------------> 1. 网络接口层 <------> 数据链路层

  2. 物理层 <-----------------> (包含数据链路层和物理层) 物理层

  3. 物理层

这是最底层,负责在物理媒介上传输原始的比特流。

功能:定义电气、机械、过程和功能的规范,以激活、维持和关闭物理链路。包括电压、线缆规格、接口类型、传输速率等。

数据单位:比特。

常见协议/标准:

IEEE 802.3: 以太网的有线物理层标准(如100BASE-TX, 1000BASE-T)。

IEEE 802.11: 无线局域网(Wi-Fi)的物理层标准。

RS-232: 传统的串行通信标准。

V.35: 用于路由器和调制解调器之间的连接。

  1. 数据链路层

负责在同一局域网内的两个设备之间进行可靠的数据帧传输。

功能:

帧同步:将比特流组装成帧。

物理地址寻址:使用MAC地址来唯一标识网络中的设备。

差错控制:检查帧在传输过程中是否出现错误(如CRC校验)。

流量控制:控制发送方的发送速率,防止接收方被淹没。

数据单位:帧。

常见协议:

以太网: 当今最主流的局域网技术。

PPP: 点对点协议,常用于拨号上网或路由器之间的串行链路。

交换机: 工作在数据链路层的网络设备,通过MAC地址转发帧。

  1. 网络层

负责将数据包从源主机跨网络传输到目标主机,实现不同网络之间的通信。

功能:

逻辑地址寻址:使用IP地址来标识网络和设备。

路由:为数据包选择最佳路径。

分组和重组:将数据包分割成适合传输的大小,并在目的地重组。

数据单位:包 或 数据报。

核心协议:

IP: 网际协议,是互联网的基石。负责寻址和路由。

IPv4: 目前主流的IP协议。

IPv6: 下一代IP协议,解决IPv4地址耗尽问题。

ICMP: 网际控制报文协议,用于传递控制信息(如ping命令就使用了ICMP)。

ARP: 地址解析协议,通过IP地址来查找对应的MAC地址。

路由协议: 如OSPF, BGP,路由器之间用来交换路由信息。

  1. 传输层

负责端到端的通信,即应用程序进程之间的通信。

功能:

进程寻址:使用端口号来区分同一台主机上的不同应用程序。

可靠与不可靠传输:提供可靠(面向连接)或不可靠(无连接)的数据传输服务。

流量控制:确保发送方不会让接收方过载。

差错控制:通过确认和重传机制,确保数据完整无误地到达。

数据单位:段。

常见协议:

TCP:

特点:面向连接、可靠、基于字节流。

适用场景:需要高可靠性的应用,如网页浏览(HTTP)、文件传输(FTP)、电子邮件(SMTP)。

UDP:

特点:无连接、不可靠、但传输延迟低、开销小。

适用场景:实时性要求高、可容忍少量丢失的应用,如视频会议、在线游戏、DNS查询。

  1. 应用层

最接近用户的一层,为应用程序提供网络服务接口。

功能:提供特定的应用服务,如文件传输、电子邮件、网页浏览等。

数据单位:报文。

常见协议:

HTTP/HTTPS: 超文本传输协议(安全),用于网页浏览。

DNS: 域名系统,将域名解析为IP地址。

FTP/SFTP: 文件传输协议(安全),用于在客户端和服务器之间传输文件。

SMTP: 简单邮件传输协议,用于发送邮件。

POP3/IMAP: 用于从邮件服务器接收邮件。

SSH: 安全外壳协议,用于加密远程登录和管理系统。

WebSocket: 提供全双工通信通道,用于实时Web应用。

总结

模型分层 核心功能 数据单位 关键协议/设备

应用层 为应用程序提供网络服务接口 报文 HTTP, DNS, FTP, SMTP, SSH

传输层 端到端通信,进程间通信,可靠性 段 TCP(可靠),UDP(快速)

网络层 逻辑寻址,路由选择,跨网络通信 包/数据报 IP, ICMP, ARP, 路由器

数据链路层 物理寻址,帧同步,差错控制 帧 以太网, PPP, 交换机

物理层 在物理媒介上传输比特流 比特 IEEE 802.3, IEEE 802.11, 网线,光纤

一个简单的比喻来理解数据流动:

假设你要寄一封信。

应用层:你写好信的内容(HTTP请求)。

传输层:把信装进信封,写上收件人和寄件人的门牌号(端口号),并选择快递服务(TCP挂号信或UDP平邮)。

网络层:在信封上写上收件人和寄件人的街道地址(IP地址),交给邮局。

数据链路层:邮局根据街道地址,决定通过哪个分拣中心(交换机)和邮递员(MAC地址)来传递这封信。

物理层:邮递员骑着车(电信号/光信号),把信(比特流)实际送到你的家门口。

相关推荐
BingoGo1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack1 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack2 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo3 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack4 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理5 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅5 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑