第3章 网络体系结构与网络协议 主讲:方继才
本章主要内容 开放系统互连(OSI)参考模型 物理层 数据链路层 网络层 传输层和高层 TCP/IP参考模型
3.1 网络体系结构的基本概念 3.1.1 分层和协议 网络协议是为网络数据交换而制定的规则、约定与标准; 3.1 网络体系结构的基本概念 3.1.1 分层和协议 网络协议是为网络数据交换而制定的规则、约定与标准; 网络协议的三要素:语义、语法与时序; 语义:用于解释信息中每一部分的意义; 语法:用户数据与控制信息的结构与格式, 时序:事件实现顺序的详细说明。
社会上存在的邮政系统为例
3.1.2 协议分层 层次(layer) 分层的基本原则 分层的优势
层次(layer) 层次是人们对复杂问题处理的基本方法; 将总体要实现的很多功能分配在不同层次中; 对每个层次要完成的服务及要求应有明确规定 高层使用低层提供的服务时,并不需要知道低层服务的具体实现方法。
分层的基本原则 网络中的每一节点都有相同的分层结构,相邻层之间有清晰的接口。 同一节点中的每一层能够同相邻层通信,但是不能跨层通信。 根据任务的需要来分层,每一层应当实现一个明确的功能。
分层的优势 (1)各层相对独立。 (2)设计灵活。 (3)易于实现和维护。 (4)易于标准化。
3.1.3 网络体系结构 网络层次结构模型与各层协议的集合称为网络体系结构。 N+1 对等层通信 N 相邻层间通信 N-1 对等层协议 Ph 实 际 数 据 传 输 物 理 媒 体 N+1 对等层协议
3.2 OSI参考模型
OSI的分层模型说明 OSI:计算机网络7层开放系统互联(open systems interconnection , OSI)标准。 其核心内容包含高、中、低三大部分: 高层是面向网络应用的; 低层是面向网络通信的; 中间层是路由选择核心。
基于OSI的通信模型结构
OSI环境中的数据传输过程
1. ISO划分七层结构的基本原则 网中各结点都具有相同的层次; 不同结点的同等层具有相同的功能; 同一结点内相邻层之间通过接口通信; 每层可以使用下层提供的服务,并向其上层提供服务; 不同结点的同等层通过协议来实现对等层之间的通信。
2 . OSI参考模型各层的功能 数据传输单元是报文分组 物理层的主要功能:实现点到点的比特流传输 数据传输单元是比特 数据链路层的主要功能: 提供点到点的可靠传输; 传输以“帧”为单位的数据包; 网络层的功能:实现用户数据的端-端传输 数据传输单元是报文分组
2 . OSI参考模型各层的功能 向用户提供可靠端到端服务 数据传输单元是报文 传输层的功能: 会话层功能:提供控制会话和数据传输的手段 表示层功能:在两个系统交换信息的表示方式 应用层主要功能:提供各种网络服务
OSI环境中的数据变化演示
OSI环境中的数据流
3、OSI服务-ISO术语 “层服务”:本层向上邻层提供的通信能力。 “层协议”:该协议仅在对等层实体之间使用。 “层实体”:层功能实现的真正承担者(相应的硬软件)。 “层用户”:层服务的使用者(上邻层实体)。 协议传输数据单元(PDU)
3、OSI服务-服务类型和原语 服务类型两种:面向连接和非面向连接 面向连接:虚电路方式 非面向连接:数据报方式、证实交付、请求回答 服务原语: 提供层服务的方法,原语语句执行具有原子特征(完整性)。 服务原语分类:请求,指示、响应、确认
3.3 物理层 3.3.1 物理层 直接与物理信道相连,提供建立、维护和释放物理连接的方法,实现在物理信道上的比特流传输。
3.3.2 物理层涉及的内容一 通信接口与传输媒体的物理特性 对通信设备和传输媒体之间使用的接口做的详细规定,主要体现在四个方面: 机械特性 电气特性 功能特性 规程特性 ERP
3.3.2 物理层涉及的内容二 数据交换单元为二进制比特 比特的同步 线路的连接:建立、维护和释放 物理拓扑结构 传输方式
3.3.3 物理层协议举例 RS-232-C远程连接
物理层协议举例 数据终端就绪 请求发送 b) DB-9 a) DB-25 插针功能说明 信号检测 接收数据 发送数据 信号地 标记 1 2(RTS) 3(TDX) 4 5 6 7 8 9 3 2 20 22 信号检测 接收数据 发送数据 数据终端就绪 信号地 数据传输设备就绪 请求发送 允许接收 振铃指示 DCD RD SD DTR SG DSR RTS CTS RI 1 13 14 25 a) DB-25 1 5 6 9 b) DB-9
实例:物理层接口
3.3.4 物理层设备与组件 集线器 中继器
3.4 数据链路层 OSI/RM的第二层,在相邻节点之间建立链路,传送以帧为单位的数据信息,向网络层提供无差错、无重复、无丢失的透明传输。
3.4.2 数据链路层的主要问题 数据链路层是OSI参考模型的第二层,该层解决两个相邻结点之间的通信问题。 链路就是数据传输中任何两个相邻结点间的点到点的物理线路。 数据链路层传输的协议数据单元称为数据帧。数据帧通常是由网卡(NIC)产生
1、数据链路层功能 管理数据链路。 差错处理技术。 流量控制技术(等-停协议、窗口机制等),解决速度不匹配的问题。 帧同步 将数据和控制信息区分开
2、涉及的具体内容 帧的形成 差错控制 流量控制 数据链路层协议
3.4.3 帧的形成 数据帧是数据链路层的传输单位。 帧同步(边界)的方法 字符计数法 字符填充法 比特填充法 违法编码法
1、字符计数法 在帧的头部使用一个字段来标明本帧的字节数。当目标机器的数据层读到字节计数值时,就可确定帧结束的位置。 5 1 2 3 4 5 6 7 8 9 8 0 1 2 3 4 5 6 8 7 8 9 0 1 2 3 Character Count Field Frames 一旦出错,无法找到同步点
2、字符填充法 用一些特定字符来定界一帧的开始和结束,在前面填充一个转义字符DLE来区分。 A DLE B C F DLE STX A DLE DLE B C F DLE ETX A DLE B C F Data Link Layer To Physical Layer Stuffed DLE To Network Layer From Physical Layer
3、比特填充法 用一组特定比特模式01111110来标志一帧的开头和结束。为不使信息位中出现该特定比特被误判为帧的首尾标志,发送方在连续5个1后填0。 0111111001101111101111101111101001001111110 011011111111111111110010 Data Link Layer Stuffed Bits To Network Layer From Physical Layer
4、违法编码法 借用违法编码的序列来界定帧的开始和结束。IEEE802协议 只适用于在物理媒体的编码策略中采用了冗余技术的网络,优点:无需填充
3.4.4 差错控制 前向纠错,开销太大,不适合计算机通信。 检错重发 发送方发送。 接收端检错。 发射端重发。 计时器问题。 发送帧的编号问题。
3.4.5 流量控制 流量控制是指对在数据链路上的帧的传输速度进行控制,保证接收端有足够的缓冲单元存储发端发来的信息以便收端处理。 3.4.5 流量控制 流量控制是指对在数据链路上的帧的传输速度进行控制,保证接收端有足够的缓冲单元存储发端发来的信息以便收端处理。 在链路层常用的流量控制方法: 停-等流量控制 滑动窗口流量控制。
1. 停等协议 停-等流量控制是利用差错控制中的反馈重发方式中的回送校验来实现其流量控制的。
2、滑动窗口协议 窗口被看作缓冲区。 若在发送节点和接收节点各设一窗口,分别称为发送窗口和接收窗口。 发送窗口保存已发送出去但尚未经确认的数据帧;接收窗口保存已正确接收但尚未提交给主机的帧。
窗口示意图1 初始状态 接收到帧0, 发出帧0-4 发出ACK0 接收到ACK0 发出帧5 接收到帧1 发出ACK1 WT = 5 WR = 1 发出帧0-4 1 4 2 3 5 6 7 H T 接收到ACK0 发出帧5 接收到帧0, 发出ACK0 初始状态 接收到帧1 发出ACK1
窗口示意图2 没接收到ACK1 还没有收 到帧2 帧1定时器超 接收到重传 时,重发帧1 的帧1,丢弃 接收到帧2 接收到ACK1 WT = 5 WR = 1 1 2 3 4 5 6 7 H 没接收到ACK1 帧1定时器超 时,重发帧1 接收到ACK1 发出帧6 还没有收 到帧2 接收到重传 的帧1,丢弃 接收到帧2 发出ACK2 T
窗口协议变化演示
3.4.6 数据链路层协议 4.5.1 HDLC概述 数据链路层协议标准,可分为两类,面向字符的与面向比特的链路控制协议。 典型的面向字符的:IBM公司的BSC规程 面向比特的:HDLC协议 两种基本配置: 非平衡配置 平衡配置
1、面向字符的链路控制协议 ① 传输的基本单位为字符; ② 信息编码。如BSC规程则可采用ASCⅡ码等; ③ 可采用同步或异步传输; ④ 传输速率为200~4800 bit/s; ⑤ 通信方式可采用半双工或全双工; ⑥ 差错控制采用反馈重发(ARQ)方式; ⑦ 发送方式为等待发送方式
2、面向比特的HDLC协议 4.5.2 HDLC的帧结构 HDLC:高级数据链路控制协议, 定义三种类型的帧:信息帧、监督帧与无编号帧 每帧的起始和结束以“7E”(01111110)做标志
补:因特网中的数据链路层 4.6 Internet的链路层协议 用户接入Internet的一般方法有两种。 一种是使用专线接入。 全世界范围内使用最多的协议为非常简单的点对点协议PPP。 早期Internet使用非常简单的面向字符的协议SLIP,但SLIP缺点很多。
SLIP:串行线路IP 成帧:原始IP包加上尾部标志C0h,字符填充 。 优化:TCP、IP首部压缩,删去相同的首部,以增量来表示不同部分 问题: 无差错检测和校验,由高层负责 只支持IP 不能动态分配IP地址 不提供身份验证,不适于拨号方式 不是Internet标准,存在多个不兼容版本
PPP:点—点协议 标志字段为7E(01111110),地址字段为FF(11111111),控制字段为03(00000110)。这三个字段固定不变。 协议字段:当协议字段为0021时,为IP数据报。若为C021,为PPP链路控制数据。而8021表示这是网络控制数据。
3.4.7 数据链路层的设备和组件
3.5 网络层 网络层就是通信子网的最高层,主要功能有:组包/拆包、路由选择和阻塞控制。 网络层与数据链路层的关系如下图所示: L 4 D A T 发 送 端 传 输 层 的 数 据 N H 包 3 网 络 链 路 接 收
1、网络层提供的服务 网络层向上所提供的服务可以有两大类: (1)无连接的网络服务: 数据报服务; (2)面向连接的网络服务: 虚电路服务。
2、网络层功能 (1) 编址(地址编码方案)和路由技术 (2) 利用复用/解复用和分组技术 (3) 提供分组的组包和拆包功能。 (4) 提供分组的存储—转发
3、网络层涉及的概念 逻辑地址寻址:IP寻址 路由功能:分静态路由和动态路由 流量控制: 滑动窗口、预约缓冲区、许可证和分组丢弃 拥塞控制: 预约资源法:适用于虚电路 通信量整形法 阻塞包法
4、静态路由 静态路由算法:基于一定的网络性能要求、拓扑结构和信息分布情况,按固定规划设计好路由选择方案。也叫非自适应路由算法。 常用的静态路由算法: 最短路由算法 扩散式算法 基于流量的路由算法
5、动态路由 动态路由算法:该类算法主要是根据网络状态(拓扑结构和流量等)的变化而决定各节点的路由选择。又叫自适应路由算法。 动态路由选择: 孤立式:依据节点本身当前的状态信息 集中式:路由控制中心RCC 分布式:距离向量D-V算法和链路状态L-S算法
6、网络负载和网络吞吐量 网络负载是指单位时间内输入到通信子网的分组数。网络吞吐量是指单位时间内从通信子网输出的分组数。 网络阻塞:当网络负载过大时,网络某部分将出现可用的网络资源小于负载的需求 网络死锁:当网络阻塞进一步加剧,网络吞吐量随着负载的增加而急剧下降至零
网络负载与吞吐量的关系 吞 吐 量 输入负载 死锁 无流量控制(出现阻塞) 实际的有流量控制(无阻塞) 理想的流量控制情况
7、网络层设备 路由器 第三层交换机
3.6-3.7 传输层及高层 3.6.1 传输层 应用层 表示层 面向信息处理 会话层 用户功能 运输层 网络层 面向通信 网络功能 物理层 网络层 运输层 应用层 表示层 会话层 数据链路层 面向信息处理 面向通信 用户功能 网络功能 传输层是资源子网与通信子网的接口和桥梁,它完成资源子网中两节点间的直接逻辑通信,实现通信子网端到端的可靠传输。传输层下面的物理层、数据链路层和网络层属于通信子网,完成有关的通信处理,向传输层提供网络服务;传输层上面的会话层、表示层和应用层完成面向数据处理的功能,并为用户提供与网络之间的接口。因此,它在七层网络模型的中间起到承上启下的作用,是整个网络体系结构中的关键部分。 由于通信子网向传输层提供通信服务的可靠性有差异,所以无论通信子网提供的服务可靠性如何,经传输层处理后都应向上层提交可靠的、透明的数据传输。为此,传输层协议要复杂得多,以适应通信子网中存在的各种问题。也就是说,如果通信子网的功能完善、可靠性高,则传输层的任务就比较简单:若通信子网提供的质量很差,则传输层的任务就复杂,以填补会话层所要求的服务质量和网络层所能提供的服务质量之间的差别。 传输层在网络层提供服务的基础上,为高层提供两种基本的服务:面向连接的服务和面向无连接的服务。面向连接的服务要求高层的应用在进行通信之前,先要建立一个逻辑的连接,并此连接的基础上进行通信,通信完毕后要拆除逻辑连接,而且通信过程中还进行流量控制、差错控制和顺序控制。因此,面向连接提供的是可靠的服务。面向无连接是一种不太可靠的服务,由于它不需要高层应用建立逻辑的连接,因此,它不能保证传输的信息按发送顺序提交用户。不过,在某些场合是必须依靠这种服务的,比如说网络中的广播数据。
3.6.2 传输层的功能和服务 提供建立、维护和拆除传输层连接 为网络层提供合适的服务 提供端到端的错误恢复和流量控制 传输层为高层提供两种基本的服务: 面向连接的服务:可靠的服务。 面向无连接的服务:不太可靠的服务。
3.7.1 会话层 会话层是利用传输层提供的端到端的服务,向表示层或会话用户提供会话服务。 在ISO/OSI环境中,所谓一次会话,就是两个用户进程之间为完成一次完整的通信而进行的过程,包括建立、维护和结束会话连接。
3.7.2 表示层 表示层处理用户信息的表示问题。 表示层不像OSI/RM的低五层只关心将信息可靠地从一端传输到另外一端,它主要涉及被传输信息的内容和表示形式,如文字、图形、声音的表示。 数据压缩、数据加密等工作都是由表示层负责处理。
3.7.3 应用层 应用层是OSI/RM的最高层,它是计算机网络与最终用户间的接口,它包含系统管理员管理网络服务所涉及的所有问题和基本功能。 常用的网络服务包括文件服务、电子邮件(E-mail)服务、打印服务、网络管理服务、安全服务、分布式数据库服务、虚拟终端服务等。
3.8 TCP/IP参考模型 3.8.1 什么是TCP/IP协议 以TCP/IP协议为基础组建的INTERNET是目前国际上规模最大的计算机网络 因为INTERNET的广泛使用,使得TCP/IP成了事实上的标准。
3.8.2 TCP/IP协议的特点 开放的协议标准,可以免费使用。 独立于特定的硬件设备,可跨平台使用,可以运行在局域网、广域网,更适用于互连网中; 统一的网络地址分配方案,使得整个TCP/IP设备在网中都具有唯一的地址; 标准化的高层协议。如web浏览,E-mail等。
3.8.3 TCP/IP的参考模型 TCP/IP分为四个层次,分别是网络接口层、网络(际)层、传输层和应用层。 物 理 层 数 据 链 路 会 话 表 示 应 用 接 口 际 O S I 的 参 考 模 型 T C P /
TCP/IP各层功能(1) 网络接口层,也被称为网络访问层,包括OSI参考模型中的数据链路层和物理层。 负责通过网络发送和接受IP数据包。 TCP/IP标准并没有定义具体的网络接口协议。 支持HDLC、PPP协议等。
TCP/IP各层功能(2) 网络层 网络层所执行的主要功能是将分段(传输层称报文段)封装成数据包(IP数据包),并为该数据包进行路径选择,最终将数据包从源主机发送到目的主机。 在网络层中,最常用的协议是网际协议IP,其他一些协议用来协助IP的操作。
TCP/IP各层功能(3) TCP/IP的传输层也被称为主机至主机层,与OSI的传输层类似,主要负责主机到主机之间的端对端通信。 该层使用了两种协议来支持两种数据的传送方法,即TCP协议和UDP协议。
TCP/IP各层功能(4) 应用层 在TCP/IP模型中,应用程序接口是最高层,它与OSI模型中的高三层的任务相同,用于提供网络服务,比如文Web页浏览、文件传输、远程登录、域名服务和简单网络管理等。
一个现实问题:信件通信过程 姓名 地址 邮局 姓名 地址 邮电局 姓名 地址
演示:基于TCP/IP的数据流向 UDP TCP FTP HTTP IP ICMP IGMP ARP 以太网 ATM 数据 Internet 前同步码 数据 CRC IP ICMP IGMP ARP 以太网 ATM 应用 数据 FTP HTTP 传输 数据 UDP TCP FTP HTTP 数据 以太网 ATM 前同步码 Internet 传输 应用 数据 CRC FTP HTTP 数据 UDP TCP IP ICMP IGMP ARP 数据 UDP TCP FTP HTTP 数据 以太网 ATM 数据 IP ICMP IGMP ARP 以太网 ATM
3.8.4 TCP/IP协议集
1. IP协议 IP协议主要规定了数据包传送的格式,除了要传送的数据外,还带有源地址和目的地址。 IP协议的三个基本功能: 寻址和路由 分割和重编数据包 IP是一个无连接的协议
IP网络演示
2. ICMP—网际控制报文协议 ICMP为IP协议提供差错报告。由于IP是无连接的,不进行差错检验,当网络上发生错误时,靠ICMP向发送IP数据包的主机汇报错误。 如果某台设备不能将一个IP数据包转发到另一个网络,它就源主机发送一个错误消息。 ICMP报告的错误类型有:目标无法到达、请求超时等。
3. IGMP—网际群组管理协议 IP协议只是负责网络中点到点的数据包传输,而点到多点的数据包传输则要依靠网际群组管理协议IGMP完成。 它主要负责报告主机组之间的关系,以便相关的设备(路由器)支持多播发送。
4. ARP协议和RARP协议 地址解析协议ARP (Address Resolution Protocol)和反向地址解析协议RARP 计算机网络中各主机之间要进行通信时,必须要知道彼此的物理地址(MAC地址)。 ARP协议将IP地址解析成MAC地址。 RARP协议将MAC地址解析成IP地址。
Arp协议动态演示
4、TCP—传输控制协议 (1)TCP协议是传输层一种面向连接的通信协议,提供可靠的数据传送。 (4)进行重组,还原原始数据,传送给应用层
补充: TCP协议的工作过程 1. TCP连接的建立(三次握手)
2. 连接的释放(三次握手)
TCP演示
5、UDP协议——用户数据报协议 (1)UDP协议是一种面向无连接的协议,它不能提供可靠的数据传输,不进行差错检验。 (2)UDP与TCP相比,显得不可靠,但在特定的环境下有优势的。例如,要发送的信息较短,不值得在主机之间建立一次连接。 (3)面向连接的通信只能在两个主机之间进行,若要实现多个主机之间的一对多或多对多的数据传输,即广播或多播。
补充:传输层的访问方法 通过协议端口(protocol port,简称端口)来标识通信的应用进程。传输层就是通过端口与应用层的应用程序进行信息交互的。 端口实际上是一个16Bit长的地址。 将0至1023端口号称为熟知端口,其余1024至65535端口号称为一般端口或(动态)连接端口。
6、应用层协议 远程终端协议TELNET:本地主机作为仿真终端,登录到远程主机上运行应用程序; 文件传输协议FTP:实现主机之间的文件传送 简单邮件传输协议:SMTP、POP3 域名服务DNS:用于实现主机名与IP地址之间的映射;
6、应用层协议 动态主机配置协议DHCP:实现对主机的地址分配和配置工作。 超文本传输协议HTTP 网络文件系统NFS:实现不同主机之间的文件系统的共享; 简单网络管理协议SNMP:实现网络的管理。
3.8.5 OSI与TCP/IP的比较 OSI/RM和TCP/IP两者之间有着共同之处,都采用了层次结构模型,在某些层次上有着相似的功能。 OSI参考模型是国际标准化组织ISO制定的一个国际标准,但它并没有成为事实上的国际标准,而TCP/IP不是国际标准,却成为了事实上的工业标准。
OSI与TCP/IP的比较 OSI/RM的大而全和层次划分复杂,且可以很方便地套用到其他网络体系结构的层次分析上。 TCP/IP、LAN/RM都可通过对照OSI的层次划分和功能,得以清晰解释。 OSI参考模型作为网络理论的研究基础和计算机网络教学的理论模型。 TCP/IP简单实用,被多数厂商支持和使用。
本章内容回顾 开放系统互连(OSI)参考模型 物理层 数据链路层 网络层 传输层和高层 TCP/IP参考模型
Thank you Thank You !