OSI 七层模型

是什么

OSI (Open System Interconnect)模型,全称为开放式通信系统互连参考模型,
是国际标准化组织 ( ISO ) 提出的一个试图使各种计算机在世界范围内互连为网络的标准框架

OSI将计算机网络体系结构划分为七层。
每一层实现各自的功能和协议,并完成与相邻层的接口通信。
即每一层扮演固定的角色,互不打扰

与TCP/IP 四层模型的关系

OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。
OSI是一种理论模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准。

OSI七层网络模型 TCP/IP四层概念模型 对应网络协议
应用层(Application) 应用层 HTTP、TFTP, FTP, NFS, WAIS、SMTP
表示层(Presentation) Telnet, Rlogin, SNMP, Gopher
会话层(Session) SMTP, DNS
传输层(Transport) 传输层 TCP, UDP
网络层(Network) 网络层 IP, ICMP, ARP, RARP, AKP, UUCP
数据链路层(Data Link) 网络接口层 FDDI, Ethernet, Arpanet, PDN, SLIP, PPP
物理层 (Physical) IEEE 802.1A, IEEE 802.2到IEEE 802.11

tips:
网络接口层
IP地址与物理地址硬件的映射,以及将IP封装成帧。基于不同硬件类型的网络接口,网络访问层定义了和物理介质的连接。

各层作用

应用层

通过应用程序间的交互,来完成网络功能
在应用层交互的数据单元,称为报文

表示层

数据格式化,数据压缩,数据加密解密
使应用程序不必担心在各台计算机中表示和存储的内部格式差异

会话层

建立、管理和终止表示层实体之间的通信会话

传输层

为两台主机进程之间的通信提供服务,
处理数据包错误、数据包次序,以及其他传输问题
其中,主要的传输层协议是TCP和UDP

网络层

选择合适的路由和交换节点,确保数据按时成功传送

数据链路层

在物理层和网络层之间。
数据链路层将网络层交下来的 IP数据报组装成帧,在两个相邻节点间的链路上传送帧

每一帧的数据可以分成:报头head和数据data两部分:

head 标明数据发送者、接受者、数据类型,如 MAC地址
data 存储了计算机之间交互的数据

物理层

实现计算机节点之间比特流的透明传送
该层主要是和硬件有关,与软件关系不大

UDP (User Datagram Protocol,用户数据报协议)

UDP是一个简单的面向数据报的通信协议,即对应用层

  • 不保证消息交付
    丢包不重发
  • 不保证交付顺序
    乱序不重排
  • 不跟踪连接状态
    面向无连接的通信服务
  • 不需要拥塞控制
    网络拥塞不控制

TCP(Transmission Control Protocol,传输控制协议)

是一种可靠、面向字节流的通信协议,
把上面应用层交下来的数据看成无结构的字节流来发送
可以想象成流水形式的,发送方TCP会将数据放入缓存区,等到可以发送的时候就发送,不能发送就等着,
TCP会根据当前网络的拥塞状态来确定每个报文段的大小

TCP 与 UDP 区别总结

TCP UDP
可靠性 可靠 不可靠
连接性 面向连接 无连接
报文 面向字节流 面向报文
效率 效率低 效率高
流量控制 滑动窗口
拥塞控制 慢开始、拥塞避免、快重传、快恢复
传输效率

应用场景

TCP 应用场景适用于对效率要求低,对准确性要求高或者要求有链接的场景,(http,ftp文件传输,telnet远程终端接入)
而UDP 适用场景为对效率要求高,对准确性要求低的场景 (DNS域名转换)

查看评论