北京交通大学电气工程学院 黄彧第二章 计算机网络的协议与体系结构主要内容层次化的 网络体系结构五层协议的计算机网络体系结构应用层传输层网络层数据链路层物理层开放系统互联参考模型( OSI/RM)
TCP/IP体系结构
2.1 计算机网络体系结构的形成网络体系结构提出的背景 —— 计算机网络的复杂性、
异质性不同的通信介质 —— 有线、无线,… …
不同种类的设备 —— 主机、路由器、交换机,… …
不同的操作系统 —— Unix,Windows,… …
不同的软 /硬件、接口和通信约定(协议)
不同的应用环境 —— 固定、移动,… …
不同种类业务 —— 分时、交互、实时,… …
宝贵的投资和积累 —— 有形、无形,… …
用户业务的延续性 —— 不允许出现大的跌宕起伏
结构清晰
简化设计与实现
便于更新与维护
较强的独立性和适应性对于复杂的网络系统,用什么方法能合理地组织网络的结构,以达到:
解决方法,分而治之!
划分层次日常实例
2.2 协议与划分层次计算机网络中的数据交换 必须遵守事先约定好的规则 。
这些 规则 明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。
为进行网络中的数据交换而建立的规则、
标准或约定即 网络协议 (network
protocol),简称为 协议 。
网络协议的三要素语法 数据与控制信息的结构或格式 。
语义 需要发出何种控制信息,完成何种动作以及做出何种响应。
同步 事件实现顺序的详细说明。
确认释放连接释放确认释放确认连接确认数据连接请求连接确认
t t
时序例释放连接数据传输建立连接
A B
划分层次的概念举例计算机 1向计算机 2通过网络发送文件。
可以将要做的工作进行如下的划分。
第一类工作与传送文件直接有关。
确信对方已做好接收和存储文件的准备。
双方协调好一致的文件格式。
两个计算机将 文件传送模块 作为最高的一层 。
剩下的工作由下面的模块负责。
两个计算机交换文件文件传送模块计算机 1 计算机 2
文件传送模块只看这两个文件传送模块好像文件及文件传送命令是按照水平方向的虚线传送的把文件交给下层模块进行发送把收到的文件交给上层模块再设计一个通信服务模块文件传送模块计算机 1 计算机 2
文件传送模块只看这两个通信服务模块好像可直接把文件可靠地传送到对方把文件交给下层模块进行发送把收到的文件交给上层模块通信服务模块 通信服务模块再设计一个网络接入模块文件传送模块计算机 1 计算机 2
文件传送模块通信服务模块 通信服务模块网络接入模块 网络接入模块通信网络网络接口网络接口网络接入模块负责做与网络接口细节有关的工作例如,规定传输的帧格式,帧的最大长度等。
分层的特点优点:
各层之间是独立的。
灵活性好。
结构上可分割开。
易于实现和维护。
能促进标准化工作。
注意问题若层数太少,就会使每一层的协议太复杂。
层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难
2.3 计算机网络的体系结构计算机网络中也采用了 分层 方法。 —— 把复杂的问题划分为若干个较小的、单一的局部问题,
在不同层上予以解决。
网络的层次结构方法要解决的问题:
网络应该具有哪些层次?每一层的功能是什么?
( 分层与功能 )
各层之间的关系是怎样的?它们如何进行交互?
( 服务与接口 )
通信双方的数据传输要遵循哪些规则?( 协议 )
计算机网络体系结构的定义计算机网络中,层,协议 和 层间接口 的集合被称为 计算机网络体系结构 。
换句话说:体系结构包括三个内容:分层结构与每层的功能,服务与层间接口,协议。
最早的网络体系结构源于 IBM的 SNA;
其它的网络体系结构还有 DEC的 DNA等由国际化标准组织 ISO制定的网络体系结构国际标准是 OSI/RM;
实际中应用最广泛的是 TCP/IP体系结构事实上的( de facto)标准系统 A 系统 B
实体 对等层对等实体接口服务物理网络
2.3.1 网络体系结构的分层原理任何可以发送或接收信息的硬件 /软件进程 两个不同系统 的同级层次分别位于不同系统对等层中的两个实体相邻两层之间交互的界面,定义相邻两层之间的操作及下层对上层的服务服务,某一层及其以下各层的一种能力,通过接口提供给其相邻上层。
协议,通信双方在通信中必须遵守的规则。
网络分层体系结构
P3
P2
P1
2
1
3
2
1
物理通信线路
3
N+1
N
N-1
N+1
N
N-1Pn-1
Pn
Pn+1
系统 A 系统 B
网络中的任何一个系统都是按照层次结构来组织的
同一网络中,任意两个端系统必须具有相同的层次
每层使用其下层提供的服务,并向其上层提供服务
通信只在对等层间进行
(间接的、逻辑的、虚拟的),非对等层之间不能互相“通信”
实际的物理通信只在最底层完成
Pn:第 n层 协议,即第 n
层对等实体间通信时必须遵循的规则或约定关键问题 1:协议与服务区别本层的服务用户只能看见服务而无法看见下面的协议。
下面的协议对上面的服务用户是 透明 的。
协议是,水平的,,即协议是控制对等实体之间通信的规则。
服务是,垂直的,,即服务是由下层向上层通过层间接口提供的。
关键问题 2:对等层通信的实质实际上,每一层必须依靠下层提供的服务来与另一台主机的对等层通信。
上层 使用 下层提供的服务 —— Service user;
下层向上层 提供 服务 —— Service provider。
第 n+1层是第 n层的服务用户,第 n-1层是第 n层的服务提供者
第 n层的服务也依赖于第 n-1层以及以下各层的服务例:邮政通信对等通信例:两个人收发信件问题:
收信人与发信人之间、邮局之间,他们是在直接通信吗?
邮局、运输系统各向谁提供什么样的服务?
邮局、收发信人各使用谁提供的什么服务?
信件内容邮件地址货物地址发信人邮局运输系统信件内容邮件地址货物地址收信人对信件内容的共识对信件如何传递的共识对货物如何运输的共识
P3
P2
P1
公路,铁路,航空邮局运输系统对等层通信的实质对等层实体之间实现的是虚拟的逻辑通信;
下层向上层提供服务;
上层依赖 下层提供的服务来与其它主机上的对等层通信;
实际通信在最底层完成。
3
2
1
N+1
N
N-1
2
1
3
N+1
N
N-1
源进程传送消息到目标进程的过程:
消息送到源系统的最高层;
从最高层开始,自上而下逐层 封装 ;
经物理线路传输到目标系统;
目标系统将收到的信息自下而上逐层处理并 拆封 ;
由最高层将消息提交给目标进程。
目标进程源进程
P3
P2
P1
物理通信线路
Pn-1
Pn
Pn+1
消息 消息逻辑通信协议数据单元 ( PDU)
网络体系结构中,对等层之间交换的信息报文统称为 协议数据单元 ( Protocol Data Unit,PDU)。
运输层及以下各层的 PDU另外还有各自特定的名称:
运输层 —— 段( Segment)
网络层 —— 分组 /包( Packet)
数据链路层 —— 帧( Frame)
物理层 —— 比特( Bit)
PDU由 协议控制信息(协议头) 和 数据 ( SDU)组成,
协议首部中含有完成数据传输所需的控制信息,
地址、序号、长度、分段标志、差错控制信息,…
协议控制信息 数据( SDU)
下层把上层的 PDU作为本层的数据加以 封装,然后加入本层的协议首部(和尾部)形成本层的 PDU。
封装,就是在数据前面加上特定的协议首部。
因此,数据在源站自上而下递交的过程实际上就是不断封装的过程。到达目的地后自下而上递交的过程就是不断拆封的过程。 —— 类比:发送信件数据在传输时,其外面实际上要被包封多层,信封,。
数 据首部数 据N+1层 PDU
N层 PDU
应用层 (application layer)
运输层 (transport layer)
网络层 (network layer)
数据链路层 (data link layer)
物理层 (physical layer)
数据链路层
5 应用层
4 运输层
3 网络层
2 数据链路层
1 物理层
2.3.2 五层协议的体系结构物理层利用传输介质为通信的网络结点之间建立,管理和释放物理连接;
实现 比特流的透明传输,为数据链路层提供数据传输服务;
物理层的数据传输单元是比特 。
RS-232-C
外形为 25针或 9针的 D型连接器通信速率( b/s):
100,300,600,1200,2400,4800,9600、
19.2K,33.6K,56K
信号电平:
逻辑,1”,-3V~ -15V
逻辑,0”,+3V~ +15V
等等:
数据链路层在物理层提供的服务基础上,数据链路层在通信的实体间建立数据链路连接;
传输以,帧,为单位的数据包;
采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路,
在相邻结点之间无差错地传输 帧 。
网络层通过路由选择算法为分组通过通信子网选择最适当的路径;
为数据在结点之间传输创建逻辑链路;
实现拥塞控制、网络互连等功能,在源和目的结点之间选择路由和控制拥塞。
运输层向用户 提供可靠端到端 ( end-to-end) 服务 ;
处理数据包错误、数据包次序,以及其他一些关键传输问题;
运输层向高层屏蔽了下层数据通信的细节,
是计算机通信体系结构中关键的一层。
应用层为 应用程序提供了网络服务 ;
应用层需要识别并保证通信对方的可用性,
使得协同工作的应用程序之间的同步 ;
建立传输错误纠正与保证数据完整性的控制机制。
运输层与网络层的关系网络层则提供网络中主机间的,逻辑通信,;而运输层提供主机中的进程间的,逻辑通信,。
二者之间的差别:微妙而又重要类比
主机:单位的传达室
进程:单位中的职工
应用层报文:信件网络层协议 =邮局的投递服务,只负责递送到传达室运输层协议 =传达室的收发服务,负责递送到每个职工网络层的任务 沿两端点间的最佳路由传输数据 ( 主机间的逻辑通信 )
Ethernet,X.25,ATM,…
运输层的任务
… …
两端点间可靠的透明数据传输
( 应用进程间的逻辑通信 )
通信子网计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
应用进程数据先传送到应用层加上应用层首部,成为应用层 PDU
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
应用层 PDU 再传送到运输层加上运输层首部,成为运输层报文计算机 1 向计算机 2 发送数据计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
运输层报文再传送到网络层加上网络层首部,成为 IP 数据报(或分组)
计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
IP 数据报再传送到数据链路层加上链路层首部和尾部,成为数据链路层帧计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
数据链路层帧再传送到物理层最下面的物理层把比特流传送到物理媒体计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
物理传输媒体计算机 1
AP2AP1
电信号(或光信号)在物理媒体中传播从发送端物理层传送到接收端物理层计算机 2
计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
物理层接收到比特流,上交给数据链路层计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
数据链路层剥去帧首部和帧尾部取出数据部分,上交给网络层计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
网络层剥去首部,取出数据部分上交给运输层计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
运输层剥去首部,取出数据部分上交给应用层计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
应用层剥去首部,取出应用程序数据上交给应用进程计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2我收到了 AP
1 发来的应用程序数据!
计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
应 用 程 序 数 据应用层首部
H5
10100110100101 比 特 流 110101110101
注意观察加入或剥去首部(尾部)的层次应 用 程 序 数 据
H5 应 用 程 序 数 据
H4 H5 应 用 程 序 数 据
H3 H4 H5 应 用 程 序 数 据
H4
运输层首部
H3
网络层首部
H2
链路层首部
T2
链路层尾部计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
10100110100101 比 特 流 110101110101
计算机 2 的物理层收到比特流后交给数据链路层
H2 T2H3 H4 H5 应 用 程 序 数 据
H3 H4 H5 应 用 程 序 数 据计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
数据链路层剥去帧首部和帧尾部后把帧的数据部分交给网络层
H2 T2H3 H4 H5 应 用 程 序 数 据
H4 H5 应 用 程 序 数 据
H3 H4 H5 应 用 程 序 数 据计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
网络层剥去分组首部后把分组的数据部分交给运输层
H5 应 用 程 序 数 据
H4 H5 应 用 程 序 数 据计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2运输层剥去报文首部后把报文的数据部分交给应用层应 用 程 序 数 据
H5 应 用 程 序 数 据计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2
应用层剥去应用层 PDU 首部后把应用程序数据交给应用进程计算机 1向计算机 2发送数据
5
4
3
2
1
5
4
3
2
1
计算机 1
AP2AP1
计算机 2我收到了 AP
1 发来的应用程序数据!
协议很复杂协议必须将 各种 不利的条件事先都估计到,而不能假定一切情况都是很理想和很顺利的。
必须非常仔细地检查所设计协议能否应付所有的不利情况。
应当注意:事实上难免有 极个别的 不利情况在设计协议时并没有预计到。在出现这种情况时,协议就会失败。因此实际上协议往往只能应付 绝大多数 的不利情况。
著名的协议举例占据两个山顶的蓝军与驻扎在这山谷的白军作战。力量对比是:一个山顶上的蓝军打不过白军,但两个山顶的蓝军协同作战就可战胜白军。
一个山顶上的蓝军拟于次日正午向白军发起攻击。于是发送电文给另一山顶上的友军。但通信线路很不好,电文出错的可能性很大。因此要求收到电文的友军必须发送确认电文。但确认电文也可能出错。试问能否设计出一种协议,
使得蓝军能实现协同作战因而一定 (即 100 %)
取得胜利?
明日正午进攻,如何?
同意收到“同意”
收到:收到“同意”…
…… …… …
这样的协议无法实现!
2.4 OSI 与 TCP/IP体系结构的比较应用层运输层网络层表示层会话层数据链路层物理层
7
6
5
4
3
2
1
OSI 的体系结构应用层网络接口层网际层 IP
(各种应用层协议如
TELNET,FTP,
SMTP 等 )
运输层 (TCP或 UDP)
TCP/IP 的体系结构无连接分组交付服务运输服务
(可靠或不可靠 )
各种应用服务
TCP/IP的三个服务层次
OSI/RM体系结构
OSI/RM的体系结构分为 7层应用层 Application
表示层 Presentation
会话层 Session
运输层 Transport
物理层 Physical
数据链路层 Data Link
网络层 Network
7
6
5
4
3
2
1
为网络应用提供服务数据表示在用户间建立会话关系不同主机进程间的通信在主机间传输分组在节点间可靠地传输帧位流的透明传输
TCP/IP体系结构分为 4层,
应用层运输层网际层网络接口层
=数据链路层+物理层
application
transport
internet
network
interface
data link
physical
注,TCP/IP体系结构有时也采用 5层表示方法,即用数据链路层和物理层代替网络接口层。
TCP/IP与 OSI/RM的对应关系
OSI/RM和 TCP/IP相结合的 5层结构 —— 原理体系结构:
应用层、传输层、网络层、数据链路层和物理层应用层表示层会话层运输层物理层数据链路层网络层
7
6
5
4
3
2
1
OSI/RM
应用层运输 层网络接口层网际层
TCP/IP
PPP,HDLC,FDDI,
Ethernet,802.3,
802.5等等
TCP/IP支持所有标准的物理层和数据链路层协议
TCP/IP 四层协议的表示方法举例应用层运输层网际层网络接口层主机 A 主机 B
路由器网络 2网络 1
应用层运输层网际层网络接口层网际层网络接口层
4
3
2
1
沙漏计时器形状的
TCP/IP协议族
HTTP SMTP DNS RTP
TCP UDP
IP网际层网络接口层运输层应用层 … …
…网络接口 1 网络接口 2 网络接口 3
Everything over IP
IP可为各式各样的应用程序提供服务
IP over Everything
IP可应用到各式各样的网络上小结掌握关于计算机网络体系结构方面的重要概念网络体系结构与网络协议是网络技术中两个最基本的概念;
实体,服务,对等实体,接口,PDU等等掌握 5层结构的计算机原理体系结构;
五层基本功能网络层与运输层的区别了解 OSI参考模型和 TCP/IP参考模型 。
作业,P33 2,3,5