【网络】OSI模型 与 TCP/IP模型 对比

一、OSI模型

OSI模型包含7个层次,从下到上分别是:

1. 物理层(Physical Layer)

  • 功能:处理与电子设备物理接口相关的细节(如电压、引脚布局、同步,等等)。

  • 协议:以太网物理标准(如Ethernet 10BASE-T, 100BASE-TX等)、光纤(如SONET/SDH)。

  • 功能:建立、维护和终结节点间的链路;错误检测与修正。

  • 协议:以太网(Ethernet)、PPP(点到点协议)、STP(生成树协议)、ARP(地址解析协议)。

3. 网络层(Network Layer)

  • 功能:负责数据封包的路由选择。

  • 协议:IP(Internet Protocol)、ICMP(Internet Control Message Protocol)、IGMP(Internet Group Management Protocol)。

4. 传输层(Transport Layer)

  • 功能:提供可靠或不可靠的传输,并进行流量控制。

  • 协议:TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)。

5. 会话层(Session Layer)

  • 功能:建立、管理和终止会话。

  • 协议/服务:NetBIOS、SMB(Server Message Block)、RPC(Remote Procedure Call)。

6. 表示层(Presentation Layer)

  • 功能:确保信息已经正确的被接收节点理解,可以参与数据格式转换。

  • 协议/格式:JPEG、ASCII、EBCDIC、TIFF、GIF、PICT、XML、MIME、MPEG。

7. 应用层(Application Layer)

  • 功能:允许访问OSI环境的手段,使用户能够接入网络。

  • 协议/服务:HTTP(Hypertext Transfer Protocol)、FTP(File Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)、DNS(Domain Name System)。

二、TCP/IP模型

TCP/IP模型通常被描述为四个层次结构,有时候也被称作五层结构(加上物理层和数据链路层作为单独的层)。下面按照四层结构介绍:

  • 对应OSI模型的物理层和数据链路层。

  • 功能:主管通过物理网络媒介发送和接收数据。

  • 协议:Ethernet、PPP、ARP、ATM。

2. 网络层(Internet Layer)

  • 对应OSI模型的网络层。

  • 功能:选择和管理数据包通过网络的路径(路由)。

  • 协议:IP、ICMP、IGMP、IPsec。

3. 传输层(Transport Layer)

  • 对应OSI模型的传输层。

  • 功能:提供端对端或主机到主机的通信。

  • 协议:TCP、UDP。

4. 应用层(Application Layer)

  • 对应OSI模型的会话层、表示层和应用层。

  • 功能:允许访问网络服务,支持各种应用。

  • 协议/服务:HTTP、FTP、SMTP、DNS、Telnet、SSH。

OSI模型更加严谨和细化,TCP/IP模型更加流行。

三、代码示例

复制代码
# OSI模型示例代码  
  
# 导入所需的库  
import socket  
  
# 创建套接字(传输层)  
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  
  
# 绑定地址和端口(网络层)  
sock.bind(('localhost', 8000))  
  
# 监听连接(传输层)  
sock.listen(1)  
  
while True:  
    # 接受连接(传输层)  
    connection, address = sock.accept()  
      
    # 接收数据(应用层)  
    data = connection.recv(1024)  
      
    # 处理数据(应用层)  
    # 这里可以解析HTTP请求、处理FTP文件传输等  
      
    # 发送响应(应用层)  
    response = b"Hello from server!"  
    connection.sendall(response)  
      
    # 关闭连接(传输层)  
    connection.close()

上述示例代码展示了传输层和应用层的一些操作。在实际应用中,还需要处理更低层次(如网络层、数据链路层、物理层)的细节,这通常由操作系统和网络库透明地处理。

相关推荐
三言老师16 分钟前
CentOS8 Firewalld 高级规则中级实操教程
linux·运维·服务器·网络·centos
rcms152702692181 小时前
TEL 3308-000065-13 印刷电路板
网络
xywww1681 小时前
Claude Opus 5 企业使用怎么选:场景分层、成本测算和接入风险清单
网络
望安认证2 小时前
CRA 与 CE、RED、EUCC、NIS2、GDPR、AI Act、Data Act、DORA 等欧盟法规的关系:从法案结构看数字产品出海合规
网络·欧盟·cra·网络弹性法案·cra认证
Hrain-AI2 小时前
2026企业AI Agent本地化落地:6平台横评+搭建步骤+成本模板
服务器·网络·人工智能
便利店10243 小时前
企业远程办公如何打通内网?网络层隧道与封装直觉
运维·服务器·网络·vpn·隧道
00后程序员张4 小时前
抓包鹰 电脑本机网络连接表怎么看?哪些程序在联网 进程归属与可疑 IP 追溯
网络协议·计算机网络·网络安全·ios·adb·https·udp
砚凝霜4 小时前
软考网络工程师|第 6 章 网络安全基础、攻击、等保完整备考笔记
网络·笔记·web安全
运维行者_4 小时前
网络监控与ITSM集成:从告警到工单,实现运维自动化闭环
开发语言·网络·分布式·后端·架构·flask·php
数据知道4 小时前
SSRF 漏洞实战:内网探测、云元数据窃取一条龙
网络·安全·网络安全