第二讲 计算机网络体系结构
本讲主要内容 网络体系结构基本概念 开放系统互连参考模型 TCP/IP参考模型
2.1 网络体系结构 2.1.1 网络体系结构基本概念 计算机网络中的数据交换必须遵守事先约定好的规则。 2.1 网络体系结构 2.1.1 网络体系结构基本概念 计算机网络中的数据交换必须遵守事先约定好的规则。 这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。 为进行网络中的数据交换而建立的规则、标准或约定即网络协议(network protocol),简称为协议。
网络协议由三个要素组成: 语法:用户数据与控制信息的结构和格式。 语义:需要发出何种控制信息以及完成的动作和做出的响应。 时序:对事件实现顺序的详细说明。
计算机网络体系结构 我们将计算机网络层次结构模型和各层协议的集合定义为计算机网络体系结构(Network Architecture)。 网络体系结构是对计算机网络应完成的功能的精确定义,而这些功能是用什么样的硬件和软件实现的,则是具体的实现问题。体系结构是抽象的,而实现是具体的,其具体实现是通过特定的硬件和软件来完成的。
2.1.2 计算机网络层次体系结构 将多台位于不同地点的计算机设备通过各种通信信道和设备互连起来,使其能协同工作,以便于计算机的用户应用进程交换信息和共享资源,这是一个复杂的工程设计问题。 将一个比较复杂的问题分解成若干个容易处理的子问题,尔后“分而治之”逐个加以解决,这种结构化设计方法是工程设计中常用的手段。分层就是系统分解的最好方法之一。
2.1.3 计算机网络层次模型
计算机网络的层次模型
分层可以遵守以下几个主要原则: 每层功能应是明确的并且相互独立。当某一层具体实现方法更新时,只要保持层间接口不变,就不会对邻层造成影响。 接口层清晰,跨越接口的信息量应尽可能少。 层数应当适中。若太少,则层间功能划分不明确,多种功能混杂在一层中,造成每一层的协议太复杂。若太多,则体系结构过于复杂,各层组装时的任务会困难得多。
计算机网络中采用层次结构,可以有以下好处: 各层之间相互独立。 灵活性好。 各层都可以采取最合适的技术来实现,各层实现技术的改变不影响其它层。 易于实现和维护。 有利于促进标准化。
2.2 开放系统互连参考模型 2.2.1 开放系统互连基本参考模型 2.2 开放系统互连参考模型 2.2.1 开放系统互连基本参考模型 开放系统互连基本参考模型是由ISO制定的,这是一个标准化开放式的计算机网络层次结构模型,又称为ISO’s OSI模型,如图2-3所示。 该图中从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层这七个层次。
ISO/OSI 层次模型
OSI中术语 协议 不同开放系统对等层之间的虚通信必须遵循相应层的协议,如有运输层协议(即图中T层协议)、会话层协议(即图中S层协议)等。 服务 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
OSI中术语 接口 在同一开放系统中,相邻层次间的界面称为接口,在接口处由低层向高层提供服务。 数据单元 在相邻层提供服务过程中以及对等层虚通信过程中都涉及信息的交换。信息的基本单位在OSI中统称为数据单元(Data Unit)。
2.1.2 层次模型中各层功能 层 次 功 能 7. 应用层 提供电子邮件、文件传输等用户服务 6. 表示层 转换数据格式,数据加密和解密 2.1.2 层次模型中各层功能 层 次 功 能 7. 应用层 提供电子邮件、文件传输等用户服务 6. 表示层 转换数据格式,数据加密和解密 5. 会话层 通信同步错误恢复和事务操作 4. 运输层 网络决策实现分组和重新组装 3. 网络层 路由选择计费信息管理 2. 数据链路层 错误检测和校正,组帧 1. 物理层 数据的物理传输
1.物理层 物理层的作用是在物理媒体上传输原始的数据比特流。 归结为一句话,物理层是为在物理媒体上建立、维持和终止传输数据比特流的物理连接提供机械、电气、功能和规程的手段。 物理层负责在网络上传输数据比特流。这与数据通信的物理或电气特性有关。 物理层协议的实例:EIA-RS-232C
2.数据链路层 数据链路层的一个主要功能就是通过校验、确认和反馈重发等手段,将原始的物理连接改造成无差错的数据链路。 数据链路层还要解决流量控制的问题 数据链路层还管理数据格式。数据通常被组合成帧加以传输。 总之,数据链路层解决的是相邻节点(结点)之间的数据传输问题。
3.网络层 网络层关心的是通信子网的运行控制,主要任务是如何把网络协议数据单元(通常称为分组)从源传送到目标。这需要在通信子网中进行路由(routing)选择。 如果同时在通信子网中出现过多的分组,则会造成拥塞(congestion),因而要对其进行控制。 当分组要跨越多个通信子网才能到达目标时,还要解决网际互连问题。 X.25分组协议和网际协议IP是网络层协议的例子。
4.运输层 运输层是第一个端对端,即主机到主机的层次。 有运输层后,高层用户就可利用运输层的服务直接进行端到端的数据传输,从而不必知道通信子网的存在。通过运输层的屏蔽,高层用户看不到通信子网的更替和技术变化。 服务分流(splitting) 端口复用(multiplexing)
5.会话层 会话层允许不同主机上各种进程之间进行会话。运输层是主机到主机的层次,而会话层是进程到进程之间的层次。 会话层组织并同步进程间的对话。 会话层也处理差错恢复。 用户层次上的单一事务机制也是由会话层来实现的。
6.表示层 表示层为上层用户提供共同需要的数据或信息语法表示变换。 表示层以用户可理解的格式为上层用户提供必要的数据。 表示层也提供数据的安全措施。
7.应用层 应用层是开放系统互连环境的最高层。不同的应用层为特定类型的网络应用提供访问OSI环境的手段。 应用层直接与用户和应用程序打交道。 另外,应用层也定义了一些协议集,以支持通过全屏幕文字编辑器方式来模拟各种不同类型的终端。
总的来说… 下面3层主要处理网络通信的细节问题,它们一起向上层用户提供服务。 上面4层主要针对端对端的通信,它们定义用户间的通信协议,但不关心数据传输的低层实现细节。
2.3 TCP/IP参考模型 2.3.1 TCP/IP参考模型 TCP/IP是美国政府资助的高级研究计划署(ARPA)在二十世纪七十年代的一个研究成果,用来使全球的研究网络联在一起形成一个虚拟网络,这也就是国际互联网。 原始的Internet通过将已有的网络如ARPAnet转换到TCP/IP上来而形成,而这个Internet最终成为如今的国际互联网的骨干网。 1975年,TCP/IP(传输控制/网间互联)协议产生 ,1983年1月1日成为Internet的标准协议, 现在该标准协议已融入UNIX、Linux、Windows等操作系统中。
TCP/IP体系结构层次划分 应用层(application layer) 运输层(transport layer) 网络层(network layer) 网络接口层(network interface layer ) 4 应用层 3 运输层 2 网络层 数据链路层 1 网络接口层
TCP/IP参考模型及与OSI参考模型的层次对应关系 7 6 5 4 3 2 1 应用层 应用层 表示层 会话层 运输层 运输层 网络层 网际层 IP 数据链路层 网络接口层 物理层
2.3.2 TCP/IP协议简介 TCP/IP (传输控制协议/网间互联协议)是Internet的基础协议。
TCP/IP协议族构成
对于TCP/IP有许多技术值得讨论,但这里仅讲三个关键点: TCP/IP是一族用来把不同的物理网络联在一起构成网际网的协议。TCP/IP联接独立的网络形成一个虚拟的网,在网内用来确认各种独立的网络地址(IP地址)。 TCP/IP使用多层体系结构,该结构清晰定义了每个协议的责任。 在Internet主机上,两个运行着的应用程序之间传送要通过主机的TCP/IP堆栈上下移动。在发送端TCP/IP模块加在数据上的信息将在接收端对应的TCP/IP模块上滤掉,并将最终恢复原始数据。
2.4 OSI参考模型与TCP/IP参考模型的比较 相同点 都采用了层次结构的概念 在传输层中二者定义了相似的功能 不同点 层次划分不同 使用的协议不同
造成OSI协议不能流行的原因之一是模型与协议自身的缺陷。 会话层在大多数应用中很少用到,表示层几乎是空的。 OSI参考模型对“服务”与“协议”的定义结合起来,格外复杂,实现困难。 部分功能在多层里重复出现,降低了系统效率。
TCP/IP参考模型与协议也有它自身的缺陷: 在服务、接口与协议的区别上就不清楚。 TCP/IP的主机—网络本身并不是实际的一层,它定义了网络层与数据链路层的接口。物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开来,而TCP/IP参考模型却没有做到这点。
小结 基础概念:计算机网络体系结构、网络协议、分层结构 OSI参考模型:层次划分、术语 TCP/IP参考模型:层次划分、协议构成