国际标准化组织(ISO)提出的网络体系结构模型,称为开放系统互连参考模型(OSI/RM).OSI有7层,自下而上依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。低三层统称为通信子网,它是为了联网而附加的通信设备,完成数据的传输功能,高三层统称为资源子网,它相当于计算机系统,完成数据的处理等功能。传输层承上启下。
OSI 参考模型各层的功能如下:
物理层的传输单位是比特,任务是透明的传输比特流,功能是在物理媒体上为数据端设备透明的传输原始比特流,
物理层主要定义为数据终端设备(DTE)和数据通信设备(DCE)的物理于逻辑连接方法,所以物理层协议也称为物理层接口标准。由于在通信技术的早期阶段,通信规则称为规程,故物理层协议也称为物理层规范。
物理层接口标准很多,如EIA-232C,EIA/TIA RS-449,CCITT的X.21等。
物理层主要研究以下内容:
注意:传输信息所利用的一些物理媒体、如双绞线、光缆、无线信道等,并不在物理层协议之内而在物理层协议下面,因此,有人把物理媒体当作第0层
数据链路层的传输单位是帧,任务是将网络层传来的IP数据报组装成帧,数据链路层的功能可以概括为成帧、差错控制、流量控制和传输管理等。
由于外界噪声的干扰,原始的物理连接在传输比特流时可能发生错误,
差错控制是在数据链路层协议的基础上检测出差错
流量控制是在两个相邻结点之间传送数据时,由于两个结点的性能的不同,可能结点A发送数据的速率会比结点B接收数据的速率快,如果不加控制,那么结点B就会丢弃很多来不及接收的正确数据,造成传输线路效率的下降,流量控制可以协调两个结点的速率,使结点A发送数据的速率刚好是结点B接收数据的速率。
广播式网络在数据链路层还要处理新的问题,即如何控制对共享信道的访问。数据链路层的一个特殊的子层-介质访问子层,就是专门处理这个问题的,
典型的数据链路层协议有SDLC、HDLC、PPP、STP和帧中继等。
网络层的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能
流量控制和数据链路层的流量控制的含义一样
路由选择是指在多条路径中根据路由算法选择一条合适的路径
差错控制是通信量=两结点之间约定的特定检错规则,如奇偶校验码,接收方根据这个规则检查接收到的分组是否出现差错,如果出现了差错,那么能纠错就纠错,不能纠错就丢弃,确保向上层提交的数据都是无误的
如果结点都处于来不及接收分组而要丢弃大量分组的情况,那么网络就处于拥塞状态,拥塞状态使得网络中的两个结点无法正常通信,网络层要采取一定的措施来缓解这种拥塞,这就是拥塞控制。
因特网是一个很大的互联网,它由大量异构网络通过路由器(Router)相互连接起来,因特网的主要网络层协议是无连接的网际协议(Internet Protocol,IP)和许多路由选择协议,因此因特网的网络层也称网际层或IP层
网络层的协议有IP,IPX,ICMP,IGMP,ARP,RARP,OSPF等
传输层也称运输层,传输单位是报文段(TCP)或用户数据报(UDP),传输层负责主机中两个进程之间的通信,功能是为端到端提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务
数据链路层提供的是点到点的通信,传输层提供的是端到端的通信,两者不同。通俗的说,点到点可以理解为主机到主机之间的通信,一个点是指一个硬件地址或IP地址,网络中参与通信的主机是通过硬件地址或IP地址来标识的,端到端的通信是指运行在不同主机内的两个进程之间的通信,一个进程由一个端口来标识,所以称端到端的通信。
使用传输层的服务,高层用户可以直接进行端到端的数据传输,从而忽略通信子网的存在,通过传输层的屏蔽,高层用户看不到子网的交替和变化,由于一台主机可同时运行多个进程,因为传输层具有复用和分用的的功能,复用是指多个应用进程可同时使用下面传输层的服务,分用是指传输层把收到的信息分别交付给上面应用层中相应的进程。
传输层的协议有TCP、UDP
会话层是允许不同主机上的各个进程之间进行会话。会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务。这种服务主要为表示层实体或用户进程建立连接并在连接上有序地传输数据,这就是会话,也称建立同步(SYN)
会话层负责管路主机之间的会话进程,包括建立、管理及终止进程间的会话,会话层可以使用校验点使通信会话在通信失效时从校验点继续恢复通信,实现数据同步,
表示层主要处理在两个通信系统中交换信息的表示方式。不同机器采用的编码和表示方法不同,使用的数据结构也不同,为了使不同表示方法的数据和信息之家相互交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。数据压缩、加密和解密也是表示层可提供的数据表示变换功能
应用层是OSI模型的最高层,是用户与网络的界面。应用层为特定类型的网络应用提供访问OSI环境的手段,因为用户的实际应用多种多样,这就要求应用层采取不同的协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多,典型的协议有(FTP、用于电子邮件的SMTP、用于万维网的HTTP等)
ARPA在研究ARPAnet时提出了TCP/IP模型,模型从低到高依次为网络接口层(对应OSI参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应OSI参考模型中的会话层、表示层和应用层)。TCP/IP由于得到广泛应用而成为事实上的国际标准。
网络接口层的功能类似于OSI的物理层和数据链路层。它表示与物理网络的接口、但实际上TCP/IP本身并未真正描述这一部分,只是指出主机必须使用某种协议与网络连接,以便在其上传递IP分组。具体的物理网络既可以是各种类型的局域网,如以太网,令牌环网、令牌总线网等,也可以是诸如电话网、SDH、X.25、帧中继和ATM等公共数据网络。网络接口层的作用是从主机或结点接收IP分组,并把它们发送到指定的物理网络上
网际层(主机-主机)是TCP/IP体系结构中的关键部分,它和OSI网络层在功能上非常相似。网际层将分组发往任何网络,并为之独立的选择合适的路由。但它不保证各个分组有序的到达,各个分组的有序交付由高层负责,网际层定义了标准的分组格式和协议,即IP。
传输层(应用-应用或进程-进程)的功能类似于OSI的传输层,即使得发送端和目的端主机上的对等实体进行会话。传输层主要使用以下两种协议
(1)传输控制协议(TCP,Transmission Control Protocol),它是面向连接的,数据传输的单位是报文段,能够提供可靠的交付
(2)用户数据报协议(UDP,User Datagram Protocol),它是无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供”尽最大努力交付“
应用层(用户-用户)包含所有的高层协议,如虚拟终端协议(Telnet)、文件传输协议(FTP)、域名解析服务(DNS)、电子邮件协议(SMTP)和超文本传输协议(HTTP)
IP协议是因特网中的核心协议;TCP/IP可以为各式各样的应用提供服务(即所谓的everything over IP),同时TCP/IP也允许IP协议在由各种网络构成的互联网上运行,