在计算机网络的分层结构中,第n层的活动元素通常称为第n层实体
具体来说,实体就是指任何可发送或者接收信息的硬件或者你软件进程
不同机器上的同一层称为对等层,同一层的实体称为对等实体
第n层实体实现的服务为第n+1层所利用(由此可见,分层的原则是自下向上顺序)
在各个层次中,每个报文都分为两个部分,一个是数据部分(SDU1),一个是控制信息部分(PCI2),他们共同组成PDU3
在实际的网络中,每层的协议数据单元都有一个通俗的名称,比如物理层的PDU3称为比特,数据链路层的PDU3称为帧,网络层的PDU3称为分组,传输层的PDU3称为报文段
在各层传输数据的过程中,把第n+1层收到的PDU3作为第n层的SDU1,加上第n层的PCI2,就变成了第n层的PDU3,交给第n-1层后作为SDU1发送
协议就是规则的集合,它(网络协议)是控制两个或多个对等实体进行通信的规则的集合,是水平的,只有两个不同实体的相同层才存在协议
协议由语法、语义和同步三部分组成。
语法规定了传输数据的格式
语义规定了所要完成的功能
同步规定了执行各种操作的条件、时序关系等
接口是同一个结点内相邻两层间交换信息的连接点,是一个系统内部的规定,每层只能为邻近的层次之间定义接口
同一结点中,相邻两层的实体通过服务访问点(SAP)进行交互。
服务是指下层为紧邻的上层提供的功能调用,它是垂直的。对等实体在协议的控制下,使得本层能够为上一层提供服务,但是想要实现本层的协议需要使用下一层提供的服务。
上层使用下层所提供的服务的时候必须与下层交换一些命令,这些命令在OSI参考模型中称为服务原语
协议时控制两个对等实体间之间通信的集合。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,要实现本层的协议,还需要提供下一层的服务
协议和服务概念的区分:
1、协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议,下层的协议对上面的服务用户是透明的
2、协议是水平的,协议控制的是两个对等实体间的通信的规则。但是服务是垂直的,即服务是由下层通过层间接口向上层提供的
OSI模型中将原语划为4类:
请求。由服务用户发往服务提供者,请求完成某项工作。
指示。由服务提供者发往服务用户,指示用户做某件事情
响应。由服务用户发往服务提供者,作为对指示的响应
证实。由服务提供者发往服务用户,作为对请求的证实
计算机网络中提供的服务可以分为以下三种方式:
面向连接服务和面向无连接服务
在面向连接服务中,通信前双方必须先建立链接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和所占用的资源。因此这种服务可以分为连接建立、数据传输和连接释放三个阶段
在面向无连接服务中,通信前双方不需要先建立连接,需要发送数据时可直接发送,把每个带有目的地址的包(也就是报文分组)传送到线路上,由系统选定线路进行传输,这是一种不可靠服务,IP、UDP就是一种面向无连接的协议
可靠服务和不可靠服务
可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地
不可靠服务是指网络只是尽量正确、可靠地传送,而不能保证数据正确、可靠地传送到目的地
对于不可靠服务地网络,其网络地正确性、可靠性要由应用或用户保障
由应答服务和无应答服务
由应答服务是指接收方在接收到数据后向发送方给出相应地应答,该应答由传输系统内部自动实现而不需要用户实现,应答可以是肯定应答,也可以是否定应答,文件传输服务就是一种有应答服务
无应答服务是指接收方收到数据后不自动给出应答,若需要应答,则要由高层实现。比如对于WWW服务,客户端收到服务器发送地页面后不给出应答
传输单位:比特
任务:透明的传输比特流
功能:在物理媒体上为数据端设备透明地传输原始比特流
物理层主要定义数据终端设备和数据通信设备地物理与逻辑连接方法
物理层协议也称为物理层规程
物理层主要研究如下:
- 通信链路与通信结点地连接需要一些电路接口,物理层规定了这些接口的一些参数
- 物理层规定了通信链路上传输的信号的意义和电器特征,比如规定信号A表示数字0
传输单位:帧
主要功能:
链路连接的建立、拆除、分离
帧界定和帧同步
差错控制
主要的协议:
SDLC
HDLC
PPP
STP
帧中继
传输单位:数据报(分组)
主要关心通信子网的运行控制
主要任务:把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务
主要功能:
对分组进行路由选择
实现流量控制、拥塞控制、差错控制、网际互联等
主要协议:
IP
IPX
ICMP
IGMP
ARP
RAPR
OSPF
传输单位:报文段(TCP)或用户数据报(UDP)
主要负责主机中两个进程之间的通信
主要功能:
1、为端到端连接提供可靠的传输服务
2、为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务
数据链路层提供点到点的通信,传输层提供端到端的通信,两者不同
点到点通信:主机与主机之间的通信,一个点指一个硬件地址或IP地址
端到端通信:运行在不同主机上的两个进程之间的通信,一个进程由一个端口来表示
传输层的主要协议有:
TCP
UDP
会话层允许两个不同主机上的各个进程之间进行会话。
会话层主要为表示层实体或者用户进程建立连接并在连接的上有序地传输数据,这就是会话,也称为建立同步
会话层负责管理主机间地会话进程,包括建立、管理及终止进程间的会话。它可以使用检验点使通信会话在通信失效时从检验点继续恢复通信,实现数据同步。
表示层主要处理在两个通信系统中交换信息的表示方式。
不同机器采用的编码和表示方法不同,使用的数据结构也不同。为了使不同表示方法的数据和信息之间能互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。
表示层还提供的功能有:数据压缩、加密和解密(数据表示变换功能)
应用层是OSI参考模型的最高层,是用户与网络的界面。
应用层为特定类型的网络应用提供访问OSI参考模型环境的手段
由于用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此需要很多协议
应用层协议:
FTP(用于文件传输)
SMTP(用于邮件)
HTTP(用于万维网)
对应OSI模型中的物理层和数据链路层,它表示与物理网络的接口,但是实际上TCP/IP本身并没有真正描述这一部分,只是指出主机必须使用某种协议与网络连接,以便在其上传递IP分组
具体的物理网络既可以是各种类型的局域网,如以太网、令牌环网、令牌总线网。也可以是公共数据网,如电话线、SDH、X.25、帧中继、ATM等。
主要作用:从主机或者结点接收IP分组,并把他们发送到指定的物理网络上
对应OSI模型中的网际层
网际层负责将分组发往任何网络,并为之独立地选择合适的路由,但不保证各个分组有序地到达,各个分组地有序交付由高层负责
网际层定义了标准的分组格式和协议,即IP.
(目前的ip协议是第四版,也就是ipv4,下一个版本是ipv6)
对应OSI模型中的传输层
主要功能是使发送端和目标主机上的对等实体进行会话。
主要协议:
传输控制协议(TCP)
面向连接的协议,其数据传输的单位是报文段,能够提供可靠的交付
用户数据报协议(UDP)
面向无连接的协议,其传输的单位是用户数据报,不保证提供可靠的交付,只能“尽最大努力交付”
包含所有的高层协议,如虚拟终端协议(Telnet),文件传输协议(FTP),域名解析服务(DNS),电子邮件协议(SMTP),超文本传输协议(HTTP)
在因特网中,IP协议是因特网中的核心协议,TCP/IP可以为各式各样的应用提供服务,同时TCP/IP也允许IP协议在由各种网络构成的互联网上运行。
两者都采用分层的体系结构,将庞大复杂的问题划分为若干个比较容易处理的、范围较小的问题,而且分层的功能也大体相似
两者都是基于独立的协议栈的概念
二者都可以解决异构网络的互联,实现不同厂家生产的计算机之间的通信
OSI参考模型的最大贡献就是精确地定义了三个主要概念:服务、协议和接口,这与现代面向对象程序设计思想非常吻合,但是在TCP/IP模型上就没有明显地区分
OSI在协议发明之前没有偏向于任何特定的协议,通用性良好,但是设计者在协议方面没有经验,不知道哪些功能应该放那一层,但是TCP/IP模型正好相反,首先出现地是协议,模型是对已有的协议的描述,因此不会出现协议不匹配模型的情况,但是该模型不适合其他非TCP/IP的协议栈
TCP/IP协议设计初就考虑了多种异构网的互联问题,并将网络协议(IP)作为一个单独的重要层次。OSI只考虑到了用一种标准的公用数据网络将各种不同的系统互联。
OSI在网络层支持无连接和面向连接的通信,但是在传输层仅有面向连接的通信。TCP/IP认为可靠性是端到端的问题,因此它在网际层仅有一种无连接的通信模式,而传输层支持无连接和面向连接两种模式
一般来说,在学习计算机网络时我们会结合两种参考模型额优点,采用五层协议的体系结构:物理层、数据链路层、网络层、传输层、应用层
每个协议栈的最顶端都是一个面向用户的接口,下面各层是为通信服务的协议。
数据传输数据报时,通常给出用户能够理解的自然语言,然后通过应用层将自然语言转化成用于通信的通信数据。
通信数据到达传输层,作为传输层的数据部分(SDU),加上传输层的控制信息(PCI),组装成传输层的PDU,然后交给网络层
传输层的PDU到达网络层后变成网络层的SDU,加上网络层的PCI,又组成了网络层的PDU,下放到数据链路层
网络层的PDU到达数据链路层后变成数据链路层的SDU,加上数据链路层的PCI,又组成了数据链路层的PDU,下放到物理层
数据链路层的PDU到达物理层后变成物理层的SDU,加上物理层的PCI,又组成了物理层的PDU,下放到通信线路传输,到达接收方结点协议栈
接收方逆向解开数据传给用户
Service Data Unity,服务数据单元,为完成用户所要求的功能而应传送的数据。 ↩︎ ↩︎ ↩︎
Protocol Control Information,协议控制信息,控制协议操作的信息 ↩︎ ↩︎
Protocol Data Unit,协议数据单元,对等层次之间传送的数据单位称为该层的PDU。 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎