前言
OSI模型,即开放式通信系统互联参考模型(Open System Interconnection,OSI/RM,Open Systems InterconnectionReference Model),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。
正文
一、数据通信过程
1 标准化组织
1.1 国际标准化组织(ISO)
- 国际标准化组织(ISO,International Organization for Standardization)。
- 该组织负责制定大型网络的标准,包括与Internet相关的标准。ISO提出了OSI参考模型。OSI参考模型描述了网络的工作机理,为计算机网络构建了一个易于理解的、清晰的层次模型。
1.2 电子电器工程师协会(IEEE)
- 电子电器工程师协会(IEEE,Institute of Electrical and Electronics Engineers)
- 提供了网络硬件上的标准使各种不同网络硬件厂商生产的硬件设备相互连通。IEEE LAN标准是当今居于主导地位的LAN标准。它主要定义了802.X协议族,其中802.3为以太网标准协议簇、802.4为令牌总线网(Toking Bus)标准、802.5为令牌环网(Toking Ring)标准、802.11为无线局域网(WLAN)标准。
1.3 美国国家标准局(ANSI)
- 美国国家标准局(ANSI,American National Standards Institute)
- ANSI是由公司、政府和其他组织成员组成的自愿组织,主要定义了光纤分布式数据接口(FDDI)的标准。
1.4 国际电信联盟(ITU)
- 国际电信联盟(ITU,International Telecomm Union)
- 定义了作为广域连接的电信网络的标准,如X.25、Frame Relay等。
1.5 电子工业协会(EIA / TIA)
- 电子工业协会(EIA/TIA,Electronic Industries Association/Telecomm Industries Association)
- 定义了网络连接线缆的标准,如RS232、CAT5、HSSI、V.24等。同时定义了这些线缆的布放标准如EIA/TIA 568B。
1.6 INTERNET架构委员会(IAB)
- INTERNET架构委员会(IAB:Internet Architectrue Board)
- 下设工程任务委员会(IETF)、研究任务委员会(IRTF)、号码分配委员会(IANA)负责各种INTERNET标准的定义,是目前最具影响力的国际标准化组织。
2 网络通信协议
- 下图为常用网络通信协议结构图。
3 为什么使用分层模型
- 降低复杂性
- 标准化接口API
- 简化模块化设计
- 确保技术的互操作性
- 加快发展速度
- 简化教学
4 OSI七层模型结构
1.1 物理层(Physical Layer)
- 二进制传输,为启动、维护以及关闭物理链路,定义了电气规范、机械规范、过程规范和功能规范,即定义了传输介质。
- 在这一层,数据的单位称为比特(bit)。
- 示例:802.3、EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45、fddi令牌环网等。
1.2 数据链路层(Data Link Layer)
- 数据链路层在不可靠的物理介质上提供可靠的传输。该层定义了如何格式化数据以便进行传输以及如何控制网络访问。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
- 在这一层,数据的单位称为帧(frame)。
- 示例: ARP、RARP、SDLC、HDLC、PPP、STP、帧中继(FR)等。
1.3 网络层(Network Layer)
- 路由数据包
- 选择传递数据的最佳路径
- 支持逻辑寻址和路由选择
- 在这一层,数据的单位称为数据包(packet)。
- 示例: IP (Internet Protocol)、IPX(Internet work Packet Exchange)、DDP (Datagram Delivery Protoco1) ICMP(Internet Control Message Protocol)、APPLETALK。
1.4 传输层(Transport Layer)
- 传输层的功能就是建立端口到端口的通信,网络层就是建立主机与主机的通信。
- 在传输层有两个非常重要的协议:UDP 协议和TCP协议。
- TCP:面向连接,应用于对数据完整性,一对一通信。
- 确保数据传输的可靠性
- 建立、维护和终止虚拟电路
- 通过错误检测和恢复
- 信息留空来保障可靠性
- UDP:无连接,应用于实时性传输、数据量大,一对多通信。
- 示例:TCP(Transmission Control Protocol)、UDP (User Datagram Protocol)、SPX(SequenCed Packet ExChange Protocol)等。 ATP(AppleTalk Transaction Protocol),NBP(名字绑定协议) NetBEUI(NetBIOS Extended User Internet)。
1.5 会话层(Session Layer)
- 会话层定义了如何开始、控制和结束一个会话。会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。
- 示例:SSH(Secure Shell)、ZIP(Zone Information Protocol)、SDP (Sockets Direct Protocol)、ADSP(AppleTalk的数据流协议)、ASP(AppleTalk的动态会话协议)、H.245 (Call Control Protocol for Multimedia Communication)。
1.6 表示层(Presentation Layer)
- 表示层的主要功能是定义数据格式、加密及压缩。表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。
- 示例:EBCDIC(extended binary coded decimal interchange code)、ASCII(Amercia Standard Code for Information Interchange);
- 图像标准:JPEG(Joint Photographic Experts Group)、TIFF(Tagged Image File Format)、GIF。
- 视频标准:MIDI(Musical Instrument Digital Interface)、MPEG(Motion Picture Experts Group)、QuickTime等。
1.7 应用层(Application Layer)
应用层主要功能是为操作系统或网络应用程序提供访问网络服务的接口,也就是提供给用户的接口。
通过应用程序来完成网络用户的应用需求。该层的数据放在TCP数据包的数据部分,该层定义了一个很重要的协议——http协议。
示例: Telnet(远程登录协议)、FTP (File Transfer Protocol)、HTTP (Hyperrext Transfer Protocol)、SNMP(simple Mail Transfer Protocol)、 BOOTP(Boot trap.Protocol) 、AFP(Apple Talk文件协议–Apple公司的网络协议族,用于交换文件)、 SNMP (Simple Network Management Protoco1)、
NCP (NetWare Core Protoco1) 、NFS (Network File System)。