OSI 七层模型和TCP/IP 四层模型的区别

目录

[OSI 七层模型](#OSI 七层模型)

介绍

[1. 物理层(Physical Layer)](#1. 物理层(Physical Layer))

[2. 数据链路层(Data Link Layer)](#2. 数据链路层(Data Link Layer))

[3. 网络层(Network Layer)](#3. 网络层(Network Layer))

[4. 传输层(Transport Layer)](#4. 传输层(Transport Layer))

[5. 会话层(Session Layer)](#5. 会话层(Session Layer))

[6. 表示层(Presentation Layer)](#6. 表示层(Presentation Layer))

[7. 应用层(Application Layer)](#7. 应用层(Application Layer))

重点总结

[既然 OSI 七层模型这么厉害,为什么干不过 TCP/IP 四层模型呢?](#既然 OSI 七层模型这么厉害,为什么干不过 TCP/IP 四层模型呢?)

[TCP/IP 四层模型](#TCP/IP 四层模型)

介绍

[1. 网络接口层(Link Layer)](#1. 网络接口层(Link Layer))

[2. 互联网层(Internet Layer)](#2. 互联网层(Internet Layer))

[3. 传输层(Transport Layer)](#3. 传输层(Transport Layer))

[4. 应用层(Application Layer)](#4. 应用层(Application Layer))

结构概览

分层的优点

[OSI 七层模型和TCP/IP 四层模型的区别](#OSI 七层模型和TCP/IP 四层模型的区别)

总结


OSI 七层模型

介绍

OSI(开放系统互连)模型是一个标准化框架,用于理解和设计网络通信。它将网络通信过程分为七个独立的层次,每一层都有特定的功能和职责,确保数据能够从一台设备传输到另一台设备。

OSI 七层模型是国际标准化组织提出的一个网络分层模型。每一层都专注做一件事情,并且每一层都需要使用下一层提供的功能。比如传输层需要使用网络层提供的路由和寻址功能,这样传输层才知道把数据传输到哪里去。

各个网络层(根据 OSI 七层模型 )所包含的协议如下:

1. 物理层(Physical Layer)

  • 功能:负责物理设备之间的比特传输,包括定义接口标准、传输介质、电压、电流、传输速率等。
  • 具体作用: 定义硬件标准,如电缆、电压、信号调制方式等。它传输的是物理介质上的电气或光信号,而不是数据包。
  • 设备: 网线、光纤、电缆、集线器等。
  • 协议和标准
    • IEEE 802.3(以太网物理层)
    • IEEE 802.11(无线局域网)
    • 光纤通道(Fiber Channel)
    • USB
    • 蓝牙
  • 功能:提供可靠的物理链路传输,定义帧的格式,控制数据的访问以及检测和纠正物理层的错误。
  • 具体作用: 将物理层提供的原始比特流组装成帧,并负责数据在同一个局域网络内的可靠传输,还处理错误检测和纠正。
  • 设备: 交换机、网卡。
  • 协议
    • MAC(介质访问控制)协议:用于在共享介质上决定哪一台设备可以发送数据(如CSMA/CD,用于以太网)。
    • PPP(点对点协议):用于通过串行链路传输数据。
    • HDLC:同步数据链路控制协议。
    • ARP(地址解析协议):将 IP 地址映射为 MAC 地址。

3. 网络层(Network Layer)

  • 功能:负责数据包的路由选择,决定数据包通过哪些路径传输到目的地,并提供逻辑寻址。
  • 具体作用: 确保数据能够从源地址传输到目标地址,跨越不同的网络。使用的协议包括IP(互联网协议)。
  • 设备: 路由器。
  • 协议
    • IP(互联网协议):负责数据包的寻址和路由,常见版本有 IPv4 和 IPv6。
    • ICMP(互联网控制消息协议):用于发送错误报告和其他网络消息(如ping)。
    • IGMP(互联网组管理协议):用于组播通信的管理。

4. 传输层(Transport Layer)

  • 功能:负责端到端的数据传输,确保数据的可靠性和完整性。
  • 具体作用: 管理端口,确保数据在两个主机之间可靠传输(如TCP)或快速传输(如UDP)。它还负责流量控制、错误检测和纠正。
  • 协议
    • TCP(传输控制协议):面向连接,提供可靠的字节流传输。
    • UDP(用户数据报协议):无连接协议,适合快速、无保障的数据传输。
    • SCTP(流控制传输协议):适合于信令传输。

5. 会话层(Session Layer)

  • 功能:管理不同计算机之间的会话,包括会话的建立、维护和终止。
  • 具体作用: 在通信双方之间创建和管理会话,确保数据的顺序传输和对话恢复。
  • 协议
    • PPTP(点对点隧道协议):用于虚拟专用网(VPN)中的隧道化。
    • RPC(远程过程调用协议):用于进程之间的通信。

6. 表示层(Presentation Layer)

  • 功能:负责数据的编码、解码、加密和解密,确保发送和接收的设备之间的数据格式兼容。
  • 具体作用: 将数据从一种格式转换为另一种格式,以确保应用层能够正确解释数据。它处理数据的加密解密、编码转换(如ASCII到EBCDIC)、压缩解压缩等任务。
  • 协议
    • SSL/TLS(安全套接字层/传输层安全协议):用于加密数据传输,确保通信安全。
    • JPEG、MPEG:用于图像和视频数据的压缩。

7. 应用层(Application Layer)

  • 功能:为应用程序提供网络服务。
  • 具体作用: 这是用户与网络的直接接口,为应用程序提供服务,比如电子邮件(SMTP)、网页浏览(HTTP)、文件传输(FTP)。
  • 协议
    • HTTP/HTTPS(超文本传输协议/安全超文本传输协议):用于万维网的网页传输。
    • FTP(文件传输协议):用于文件的上传和下载。
    • SMTP(简单邮件传输协议):用于电子邮件的传输。
    • DNS(域名系统):用于将域名解析为 IP 地址。
    • Telnet/SSH:用于远程登录和管理。

重点总结

  • 物理层: 传输比特流。
  • 数据链路层: 负责帧和物理地址管理。
  • 网络层: 路由数据包。
  • 传输层: 提供可靠或不可靠的传输。
  • 会话层: 管理通信会话。
  • 表示层: 数据格式化和加密解密。
  • 应用层: 直接提供服务给用户。

OSI模型的作用在于将复杂的网络通信任务分解为独立的、模块化的部分,使得不同设备和技术能够更好地协同工作,并且为设计和开发网络协议提供了结构化的参考。

既然 OSI 七层模型这么厉害,为什么干不过 TCP/IP 四层模型呢?

的确,OSI 七层模型当时一直被一些大公司甚至一些国家政府支持。这样的背景下,为什么会失败呢?主要有下面几方面原因:

  • OSI 的专家缺乏实际经验,他们在完成 OSI 标准时缺乏商业驱动力。
  • OSI 的协议实现起来过分复杂,而且运行效率很低。
  • OSI 制定标准的周期太长,因而使得按 OSI 标准生产的设备无法及时进入市场(20 世纪 90 年代初期,虽然整套的 OSI 国际标准都已经制定出来,但基于 TCP/IP 的互联网已经抢先在全球相当大的范围成功运行了)。
  • OSI 的层次划分不太合理,有些功能在多个层次中重复出现。

TCP/IP 四层模型

介绍

TCP/IP 四层模型是互联网通信的基础架构,它定义了数据如何在网络中传输,确保设备之间能够相互通信。TCP/IP 模型分为四个层次,每一层都有不同的功能。

是目前被广泛采用的一种模型,看作是 OSI 七层模型的精简版本。

详细介绍:

  • 作用:负责设备与本地网络之间的数据传输。这一层处理物理连接(如网卡)以及与数据链路层协议(如 Ethernet 以太网、Wi-Fi)相关的通信。它定义了数据帧的格式、物理地址(MAC 地址)等内容。
  • 协议:Ethernet、Wi-Fi、PPP(点对点协议)等。
  • 关键功能:实现本地链路的数据封装与解封装。

2. 互联网层(Internet Layer)

  • 作用:提供逻辑地址(IP 地址),用于实现不同网络之间的路由与数据传输。它确保数据包从源设备发送到目标设备,甚至经过多个网络跳跃。这一层负责分割大数据包、管理网络地址、以及选择数据包的最佳路径。
  • 协议:IP、ICMP、ARP、RARP等。
  • 关键功能
    • 数据包的寻址与路由。
    • 确保数据能够在不同网络间传输。

3. 传输层(Transport Layer)

  • 作用:负责端到端的通信管理,确保数据能够从发送端传递到接收端,提供了数据传输的可靠性和完整性。它还处理数据的流量控制、差错检测和纠正。
  • 协议:TCP(传输控制协议)、UDP(用户数据报协议)。
  • 关键功能
    • TCP:面向连接,提供可靠的数据传输,确保数据包按顺序到达,并且提供差错校验。
    • UDP:无连接,传输效率高,适用于对速度要求高、但不需要保证数据完整性的场景(如视频流)。

4. 应用层(Application Layer)

  • 作用:直接为用户提供网络服务,包含所有允许用户与网络进行交互的协议。这一层是用户与网络的接口,支持各种应用程序(如网页浏览、电子邮件、文件传输等)。
  • 协议:HTTP、FTP、SMTP、DNS等。
  • 关键功能:提供应用程序与网络之间的通信接口,让应用能够利用网络传输数据。

结构概览

  • 网络接口层:处理与物理网络的交互。
  • 互联网层:负责路由和逻辑地址的管理。
  • 传输层:确保数据传输的可靠性和准确性。
  • 应用层:为各种网络应用提供服务。

通过这四个层次,TCP/IP 模型实现了设备之间的互联和通信,它是当今互联网的核心框架。

分层的优点

  • 简化设计与实现:通过将网络功能分解为不同的层,每一层只负责特定的任务,从而简化了设计和实现的复杂性。
  • 模块化:每一层可以独立发展和优化,不同层次之间通过标准接口进行通信,便于各层的更新和替换。
  • 互操作性:明确定义每个层次之间的接口和协议,不同厂商或组织开发的网络设备和软件可以相互兼容,使得不同的网络设备和系统能够在不同的层
  • 次上进行无缝互操作,提升了网络的兼容性。
  • 故障隔离:每个层次都有自己的错误检测、纠错和恢复机制,且分层结构能够帮助网络工程师定位问题所在的层次,从而更快地进行故障排除。

OSI 七层模型和TCP/IP 四层模型的区别

OSI 七层模型和 TCP/IP 四层模型都是网络通信协议的参考模型,用于定义网络中数据传输的不同阶段。它们有许多相似之处,但在层次划分和设计目标上有所不同。下面是它们的主要区别:

1)模型层次

OSI 模型有七层,更细化了各个通信过程;而 TCP/IP 模型则简化为四层,将会话层、表示层、应用层合并为一个"应用层",物理层和数据链路层合并为"网络接口层"。

2)设计目的

  • OSI 模型:是一个理论参考模型,设计时是为了成为通用的网络通信标准,它定义了理想情况下通信应该如何进行,但在实际应用中并未完全普及。
  • TCP/IP 模型:是一个实践驱动的模型,基于实际的互联网设计,并且成为了现实中的标准通信模型。它的设计目的更加注重于如何在网络中高效传输数据。

区别:OSI 是理论模型,而 TCP/IP 是实践模型,更贴合实际的互联网实现。

3)协议的层次对应

  • OSI 模型中每一层有特定的职责和协议,例如:

    • 物理层负责硬件连接;
    • 数据链路层负责帧的传输;
    • 网络层负责路由选择(如 IP 协议);
    • 传输层负责端到端连接(如 TCP 和 UDP)。
  • TCP/IP 模型则更简化:

    • 网络接口层:相当于 OSI 的物理层和数据链路层;
    • 互联网层:对应 OSI 的网络层,主要处理 IP 地址和路由;
    • 传输层:对应 OSI 的传输层,负责 TCP 和 UDP;
    • 应用层:整合了 OSI 的会话层、表示层和应用层,处理如 HTTP、FTP 等应用协议。

区别:OSI 对层次划分更加细致,而 TCP/IP 合并了部分功能层,适应互联网中的实际需求。

4)灵活性与复杂性

  • OSI 模型的每一层是独立的,可以互相替换,因此它更具灵活性和通用性,适合理论研究和教学。
  • TCP/IP 模型更加简单且实际,许多层之间的界限较模糊,因此它的实现更加高效,但灵活性不如 OSI 模型。

区别:OSI 模型更灵活,但复杂;TCP/IP 模型较为简单,实用性更强。

总结

  • 层数区别:OSI 模型有 7 层,TCP/IP 模型有 4 层。
  • 用途区别:OSI 是理论参考模型,TCP/IP 是实际应用的模型。
  • 协议细分:OSI 更细致,TCP/IP 更简化。
  • 实用性:TCP/IP 在实际网络中广泛应用,OSI 则更多用于教学和标准化参考。
相关推荐
无所谓จุ๊บ25 分钟前
树莓派开发相关知识十 -小试服务器
服务器·网络·树莓派
道法自然040233 分钟前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
EasyCVR1 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
城南vision2 小时前
计算机网络——HTTP篇
网络协议·计算机网络·http
明月看潮生2 小时前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学
龙哥说跨境3 小时前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
懒大王就是我3 小时前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip
Elaine2023914 小时前
06 网络编程基础
java·网络
海绵波波1075 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
幺零九零零8 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络