首页>JAVA>正文

OSI开发系统互联的七层网络模型是什么?-Java网络与通信基础

时间:2018-11-23 17:53:45   来源:上海尚学堂   阅读:
OSI(Open System Interconnection,开放系统互联)七层网络模型称为开放式网络互联参考模型,它是国际标准组织制定的一个指导信息互联、互通和协作的网络规范。开放指的是只要遵循OSI标准,位于世界上任何地方的任何系统之间都可以进行通信,开放系统指的是遵循互联协议的实际系统,例如电话系统。从逻辑上可以将其划分为七层模型,由下至上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,其中上三层称为高层,用于定义应用程序之间的通信和人机界面;下四层称为底层,用于定义数据如何进行端到端的传输(end-to-end)、物理规范以及数据与光电信号间的转换。

具体而言,从上往下每一层的功能如下:
1) 应用层( Application Layer)
应用层也称为应用实体,一般指的是应用程序,该层主要负责确定通信对象,并确保有足够的资源用于通信。常见的应用层协议有FTP、HTTP、SNMP(Simple Network Management Protocol,简单网络管理协议)等。

2) 表示层( Presentation Layer)
表示层一般负责数据的编码以及转化,确保应用层能够正常工作。该层是界面与二进制代码间互相转化的地方,同时该层负责进行数据的压缩、解压、加密和解密等,该层也可以根据不同的应用目的将数据处理为不同的格式,表现出来就是各种各样的文件扩展名。

3) 会话层( Session Layer)
会话层主要负责在网络中的两个结点之间建立、维护、控制会话,区分不同的会话,以及提供单工( Simplex)、半双工( Half Duplex)和全双工( Full Duplex)三种通信模式的服。NFS( Network File System,网络文件系统)、RPC( Remote Procedure Call,远程过程调用)和X  Windows等都工作在该层。

4) 传输层( Transport Layer)
传输层是OS模型中最重要的一层,它主要负责分割、组合数据实现端到端的逻辑连接。数据在上三层是整体的,到了这一层开始被分割,这一层分割后的数据被称为段( Segment)。三次握手( Three-way Handshake)、面向连接( Connection-oriented)或非面向连接( Connectionless-oriented)的服务、流量控制( Flow Control)等都发生在这一层。工作在传输层的一种服务是TCPP协议套中的TCP(传输控制协议),另一项传输层服务是 IPX/SPX协议集的SPX(Sequenced Packet Exchange Protocol,序列分组交换协议)。常见的传输层协议有TCP、UDP、SPX等。
 
5) 网络层( Network Layer)
网络层作用是将网络地址翻译为物理地址,并决定如何将数据从发送方路由到接收方,主要负责管理网络地址、定位设备、决定路由,路由器就是工作在该层。上层的数据段在这一层被分割,封装后叫作包( Packet),包有两种,一种叫作用户数据包( Data Packets),是上层传下来的用户数据;另一种叫路由更新包( Route Update Packets),是直接由路由器发出来的,用来和其他路由器进行路由信息的交换。常见的网络层协议有IP、RIP( Routing Information Protocol,路由信息协议)、OSPF( Open Shortest Path First,开放式最短路径优先)等。

6) 数据链路层( Data Link Layer)
数据链路层为OSI模型的第二层,控制物理层与网络层之间的通信,主要负责物理传输的准备,包括物理地址寻址、CRC校验、错误通知、网络拓扑、流量控制和重发等。MAC地址和交换机都工作在这一层。上层传下来的包在这一层被分割封装后叫作帧( Frame)。常见的数据链路层协议有SDLC、STP、帧中继、HDLC等。

7) 物理层( Physical Layer)
物理层是实实在在的物理链路,规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。它为上层协议提供了一个传输数据的物理媒体,负责将数据以比特流的方式发送、接收。常见的物理媒体有双绞线、同轴电缆等。属于物理层相关的规范有EIA/TIA RS-232、EIA/TIA RS-449、RJ-45

此为Java网络通信基础知识,Javaweb技术必须要掌握的知识点,面试也经常会问到相关问题。这次详细说明,希望对大家有帮助。更多Java学习资料或视频请联系客服小姐姐,她能给你需要的,还可以预约免费的试学机会。学Java软件开发要趁早哦!
分享:0

电话咨询

客服热线服务时间

周一至周五 9:00-21:00

周六至周日 9:00-18:00

咨询电话

021-67690939
15201841284

微信扫一扫