【网络】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()

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

相关推荐
sunfove6 小时前
光网络的立交桥:光开关 (Optical Switch) 原理与主流技术解析
网络
Kevin Wang7279 小时前
欧拉系统服务部署注意事项
网络·windows
min1811234569 小时前
深度伪造内容的检测与溯源技术
大数据·网络·人工智能
汤愈韬9 小时前
NAT策略
网络协议·网络安全·security·huawei
汤愈韬9 小时前
Full Cone Nat
网络·网络协议·网络安全·security·huawei
zbtlink10 小时前
现在还需要带电池的路由器吗?是用来干嘛的?
网络·智能路由器
桌面运维家10 小时前
vDisk配置漂移怎么办?VOI/IDV架构故障快速修复
网络·架构
dalerkd10 小时前
忙里偷闲叙-谈谈最近两年
网络·安全·web安全
汤愈韬11 小时前
NAT ALG (应用层网关)
网络·网络协议·网络安全·security·huawei
运维栈记12 小时前
虚拟化网络的根基-网络命名空间
网络·docker·容器