—— 协议与网络体系结构西安电子科技大学刘怀亮计算机网络内容提要
协议

网络体系结构
协议设计中的关键问题
服务原语
ISO/OSI参考模型一、协议
人与人之间的交流须使用彼此都能理解的方式,比如:汉语、英语、手语、江湖暗语 …………
通过通信信道和设备互连起来的多个不同地理位置的计算机系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。
交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。
协议 (Protocol)
是一种交流的规则与方法的定义
为实现计算机网络中的数据交换而建立的规则、标准或约定的集合。
它定义了交流的语法、语义、时序
说明以什么样的报文格式传输、
报文的每一个部分表达什么样的意义二、层无论计算机软件、硬件它们设计时都按照一种 模块化、层次化 的思想来实现的。
计算机网络系统是一个十分复杂的系统。
将一个复杂系统分解为若干个容易处理的子系统,然后“分而治之”,这种结构化设计方法是工程设计中常见的手段。
分层就是系统分解的最好方法之一。
模块化思想
在系统设计中,将一个大的任务化整为零,分成若干模块各模块分别完成某项子功能 /任务并提供上行 /下行的接口以便于使用不同的方法来实现模块所定义的功能对具体如何实现并不关心
C P U
操 作 系 统应 用 软 件用 户分层思想如果模块之间提供一种上行 /下行次序关系,
就可看作分层。
在如图所示分层结构中,n 层是 n-1层的用户,
又是 n+1层的服务提供者。 n+1层虽然只直接使用了 n层提供的服务,实际上它通过 n层还间接地使用了 n-1层以及以下所有各层的服务。
层次结构的好处在于使每一层实现一种相对独立的功能。
分层结构还有利于交流、理解和标准化。
为减少协议设计的复杂性,多数网络都是按层( layer)的方式来组织的,每一层都是建立在它的下层之上
对不同的网络而言,其层的数量、各层的名字,内容和功能都不相同
无论何种网络中,每一层的目的都是向它的上一层提供一定的服务的
而如何实现这一服务 -------?屏蔽三、网络体系结构
所谓 网络的体系结构 (Architecture)就是计算机网络各层次及其协议的集合。
层次结构一般以垂直分层模型来表示应用层运输层网络层数据链路层物理层
层次结构的要点:
1)除了在物理媒体上进行的是实通信之外,其余各对等实体间进行的都是虚通信。
2)对等层的虚通信必须遵循该层的协议。
3)n层的虚通信是通过 n/n-1层间接口处 n-1层提供的服务以及
n-1层的通信(通常也是虚通信)来实现的。
层次结构划分的原则:
1)每层的功能应是明确的,并且是相互独立的。当某一层的具体实现方法更新时,只要保持上、下层的接口不变,便不会对邻居产生影响。
2)层间接口必须清晰,跨越接口的信息量应尽可能少。
3)层数应适中。若层数太少,则造成每一层的协议太复杂;
若层数太多,则体系结构过于复杂,使描述和实现各层功能变得困难。
网络的体系结构的特点是:
1)以功能作为划分层次的基础。
2)第 n层的实体在实现自身定义的功能时,只能使用第 n-1层提供的服务。
3)第 n层在向第 n+1层提供的服务时,此服务不仅包含第 n层本身的功能,还包含由下层服务提供的功能。
4)仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
层、协议、接口
5
1
2
3
4
5
1
2
3
4
物 理 介 质第 5 层 协 议第 4 层 协 议第 3 层 协 议第 2 层 协 议第 1 层 协 议
1 / 2 层 接 口
2 / 3 层 接 口
3 / 4 层 接 口
4 / 5 层 接 口
A 主 机 B 主 机
n n
第 n 层 协 议
第 N层通信规则,就是第 N层协议
不同机器的对应层的实体称为 对等实体
通信发生时,好象是各对应层间的通信虚电路
F a x,B 公 司
M R,B
H o w a r e y o u
M R,B
H o w a r e y o u
你 好
F a x,B 公 司
M R,B
H o w a r e y o u
M R,B
H o w a r e y o u
* ¥ % @ &
A 企 业
C E O
B 企 业
C E O
A 企 业秘 书
B 企 业秘 书
A 企 业办 事 员
B 企 业办 事 员
下层对上层提供服务与支持
但每层协议与其他层协议无关,只要保持接口不变
在各层看来,A,B通信似乎是各对等层间的通信
A 企 业
C E O
A 企 业秘 书
A 企 业办 事 员
B 企 业
C E O
B 企 业秘 书
B 企 业办 事 员哥 们 你 好我 老 板 向 你 老 板 问 好我 公 司 向 你 公 司 发 个 传 真
事实上的通信
并不是从 A机第 N层直接传到 B机 N层
而是每一层都将数据及控制信息传给他的下一层,直到最下层 —— 物理层
实际通信是发生在物理介质上的
physical medium
数据传输过程 êy?Y á′?22?
à í 2?
ó| ó? 2?
±í ê? 2?
á? ° 2?
′? ê? 2?
í 2?
ê y?Y á′?22?
à í 2?
ó| ó? 2?
±í ê? 2?
á? ° 2?
′? ê? 2?
í 2?
êy?Y á′?22?
à í 2?
′? êé?ê ′? êé?ê ′? êé?ê
CCP
í 2?
ó| ó 3ì A
O S I?2?3
ó| ó 3ì B
÷?ú A?÷?ú B
A
êy?Y á′?22?
à í 2?
CCP
í 2?
A
M
H 4 M
H 4 M 1H 3 H 3 M 2
H 4 M 1H 3 H 3 M 2H 2 H 2T 2 T 2
M
H 4 M
H 4 M 1H 3 H 3 M 2
H 4 M 1H 3 H 3 M 2H 2 H 2T 2 T 2
5
4
3
2
1
层第 5 层 协 议第 4 层 协 议第 3 层 协 议第 2 层 协 议物 理 介 质
因而 协议,
是定义对等层之间交换的帧、分组、报文的格式及意义的一组规则四、协议设计中关键问题
寻址手段
传送规则
差错控制
面向连接与无连接
避免拥塞
报文分割、传输、重装
路由选择五、服务原语
网络通信及协议中的服务是由一组 原语
( primitive)来描述的。
这些原语供用户( user)及其它实体( entity)
访问该服务。
原语 含义请求 request 一个实体希望得到某服务指示 indication 通知实体,有某事件发生响应 response 实体希望响应一个事件确认 confirm 返回对先前请求的响应例:一个 连接 的建立
1,Connect.request 请求建立连接
2,Connect.indication 指示有人请求建立连接
3,Connect.reponse 被呼叫方的应答
4,Connect.confirm 通知呼叫方连接是否被接受
5,Data.request 请求发送数据
6,Data.indication 表示数据到达
7,Disconnect.request 请求释放连接
8,Disconnect.indication 通知对方释放连接服务与协议
服务 是各层向它的上一层提供的原语(操作)
定义的是两层间的接口,即下层为上层完成什么操作
上层是服务用户
下层是服务提供者
不涉及这是操作是如何实现的
协议,是定义对等实体之间交换的帧、分组、报文等的格式及意义的一组规则。
是对服务的实现。
一组协议 ----?称为协议集 /族 /栈
常见的协议集如:
TCP/IP
IPX/SPX
AppleTalk
六,ISO/OSI
开放系统互连 (Open System Interconnection)
基本参考模型( OSI RM)
是由国际标准化组织 (ISO)制定的标准化开放式计算机网络层次结构模型,又称 ISO‘s OSI参考模型。 ISO/OSI RM
,开放,这个词表示能使任何两个遵守参考模型和有关标准的系统进行互连。
整个开放系统环境由作为信源和信宿的 端开放系统 及若干中继开放系统 通过 物理媒体 连接构成。
相当于资源子网中的 主机 和通信子网中的节点机 (IMP)。
只有在主机中才可能需要包含所有七层的功能,而在通信子网中的 IMP一般只需要最低三层甚至只要最低两层的功能就可以了。
数据的实际传送过程,实际上是经过发送方各层从上到下传递到物理媒体;通过物理媒体传输到接收方后,再经过从下到上各层的传递,最后到达接收进程。
在发送方从上到下逐层传递的过程中,每层都要加上适当的控制信息,即图中和 H7,H6,...,H1,统称为报头。到最底层成为由,0”或,1”组成和数据比特流,然后再转换为电信号在物理媒体上传输至接收方。
OSI环境中的数据流
ó| ó? 2?
±í ê? 2?
á? ° 2?
′? ê? 2?
í 2?
ê y?Y á′?22?
à í 2?
ó| ó? 2?
±í ê? 2?
á? ° 2?
′? ê? 2?
í 2?
êy?Y á′?22?
à í 2?
ó| ó 3ì A ó| ó 3ì B
±è ì? Dò áD

2? 3é
±¨
êy?Y μ¥?a
êy?Y μ¥?a
êy?Y
êy?Y
′? êé?ê
÷?ú A?÷?ú B
物理层
(1)物理层 ----定义了为建立、维护和拆除物理链路所需的机械的、电气的、功能的和规程的特性,其作用是使原始的数据比特流能在物理媒体上传输。
具体涉及接插件的规格,,0”,,1”信号的电平表示、收发双方的协调等内容。
数据链路层
(2)数据链路层 ----比特流被组织成数据链路协议数据单元 (通常称为帧 ),并以其为单位进行传输,帧中包含地址、控制、数据及校验码等信息。数据链路层的主要作用是通过校验、确认和反馈重发等手段,将不可靠的物理链路改造成对网络层来说无差错的数据链路。数据链路层还要协调收发双方的数据传输速率,即进行流量控制,以防止接收方因来不及处理发送方来的高速数据而导致缓冲器溢出及线路阻塞。
封装成帧、差错控制、流量控制网络层
网络层 ----数据以网络协议数据单元 (分组 )为单位进行传输。网络层关心的是通信子网的运行控制,
主要解决如何使数据分组跨越通信子网从源传送到目的地的问题,这就需要在通信子网中进行路由选择。另外,为避免通信子网中出现过多的分组而造成网络阻塞,需要对流入的分组数量进行控制。当分组要跨越多个通信子网才能到达目的地时,还要解决网际互连的问题。
报文存储转发、路由寻址、流量控制、网际互连运输层
运输层 ----是第一个端 --端,也即主机 --主机的层次。运输层提供的端到端的透明数据运输服务,使高层用户不必关心通信子网的存在,由此用统一的运输原语书写的高层软件便可运行于任何通信子网上。运输层还要处理端到端的差错控制和流量控制问题。
会话层
会话层 ----是进程 --进程的层次,其主要功能是组织和同步不同的主机上各种进程间的通信 (也称为对话 )。会话层负责在两个会话层实体之间进行对话连接的建立和拆除。在半双工情况下,会话层提供一种数据权标来控制某一方何时有权发送数据。会话层还提供在数据流中插入同步点的机制,使得数据传输因网络故障而中断后,可以不必从头开始而仅重传最近一个同步点以后的数据。
表示层
表示层 ----为上层用户提供共同的数据或信息的语法表示变换。为了让采用不同编码方法的计算机在通信中能相互理解数据的内容,可以采用抽象的标准方法来定义数据结构,并采用标准的编码表示形式。表示层管理这些抽象的数据结构,并将计算机内部的表示形式转换成网络通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的表示变换功能。
应用层
应用层 —— 是开放系统互连环境的最高层。
不同的应用层为特定类型的网络应用提供访问 OSI环境的手段。
网络环境下不同主机间的文件传送访问和管理 (FTAM)、传送标准电子邮件的文电处理系统 (MHS)、使不同类型的终端和主机通过网络交互访问的虚拟终端 (VT)协议等都属于应用层的范畴。
ISO/OSI是网络体系结构的国际标准
完整、规范
但繁琐、不易实现
TCP/IP产生于 ISO/OSI之前
是,即成事实,的 工业标准
TCP/IP协议标准会 话 层物 理 层数 据 链 路网 络 层传 输 层应 用 层表 示 层应 用 层传 输 层 T C P
网 络 层 I P
网 络 接 口 层
I S O / O S I T C P / I P