Java网络编程のOSI

  我们可以把客户机和远程服务器理解为主机A和主机B,用户和主机A可以通过主机A中的应用程序进行交互,主机A与主机B之间交互则是通过计算机网络通信进行的。

  网络中每台机器称为节点。大多数节点是计算机,此外,打印机、路由器、网桥、网关和哑终端也是节点。

  人与人之间通过某种语言来交流,网络中的主机之间也是通过“语言”来交流,这种语言我们称为网络协议。

  

  那么不同协议之间又是如何互联的?通过TCP/IP协议。

  

  OSI参考模型

  在计算机网络产生之初,每个计算机厂商都有一套自己的网络体系结构,它们之间互不兼容。为此ISO专门研究了一种OSI体系结构(开放式系统互联)。一个网络系统只要遵循OSI模型,就可以和位于世界上任何地方的,也遵循OSI模型的其他网络系统连接。

  OSI参考模型把网络分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,每一层使用下一层提供的服务,并为上层提供服务。

  

  不同主机之间的相同层称为对等层。

  1、物理层

  传输信息离不开物理介质,但物理介质不在OSI 7层之内,一般把物理介质称为第0层。物理层的任务就是为它上一层提供物理连接。

  2、数据链路层

  数据链路层负责在两个相邻节点间线路上,无差错地传送以帧为单位的数据。每一帧包括一定数量的数据和一些必要的控制信息。数据链路层要负责建立、维持和释放数据链路的连接。在传送数据时,如果接收方检测到所传数据中有差错,就要通知发送方重发这一帧。

  3、网络层

  在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务是选择合适的网间路由和交换节点,确保数据及时传送到达目标主机。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,包头中含有逻辑地址信息----源主机与目标主机的网络地址。

  

  主机A与节点1、节点1与节点4、节点4与主机B之间的线路称为数据链路,从主机A到主机B整个路径为路由。网络层的任务是选择合适的路由。

  4、传输层

  该层的任务是根据通信子网的特性最佳的利用网络资源,为两个端系统的会员曾提供建立、维护和取消传输连接的功能,以可靠方式或者不可靠方式传输数据。所谓可靠方式,是指保证把源主机发送的数据正确地送达目标主句;所谓不可靠方式,则是指不保证把源主机发送的数据正确地送达目标主机,数据有可能丢失或出错。在这一层,信息的传送单位是报文。

  5、会话层

  这一层也可以称为会晤层或对话层,在会话层及以上层次中,数据传送的单位不再另外命名,统称为报文。会话层管理进程之间的会话过程,即负责建立、管理、终止进程之间的会话。会话层还通过在数据中插入检验点来实现数据的同步。

  6、表示层

  表示层对上层数据进行转换,以保证一个主机的应用层的数据可以被另一个主机的应用层理解。表示层的数据转换包括对数据的加密、解密、压缩、解压和格式转换。

  7、应用层

  应用层确定进程之间通信的实际用途,以满足用户实际需求。浏览WEB站点,收发Email、上传或下载文件,以及远程登录服务器都可以看做是进程之间通信的实际用途。

  

  当源主机向目标主机发送数据时,在源主机方,数据先由上层向下层传递,每一层会给上一层传递来的数据加上一个信息头,然后向下层发出,最后通过物理介质传输到目标主机。在目标主机方,数据再由下层向上层传递,每一层先对数据进行处理,把信息头去掉,再向上层传输,最后到达最上层,就会还原成实际数据。

  OSI参考模型把网络分为多个层次,每个层次有明确的分工,这简化了网络系统的设计过程。例如,在设计应用层时,我们只需要考虑如何创建满足用户实际需要的应用;在设计传输层时,我们只需要考虑两个主机之间传输数据。

  对等层之间互相通信需要遵守一定规则,如通信的内容和通信的方式,这种规则称为网络协议。OSI并没有具体实现方式,但为计算机厂商或组织结构制定网络协议提供了参考框架。

posted @ 2015-02-25 15:23  有志竟成  阅读(277)  评论(0编辑  收藏  举报