Data & Computer Communications William Stallings
Simplified Communications Model
Data Communication Networks Simplified Network Model
Wide Area Networks: Large geographical area Crossing public rights of way Rely in part on common carrier circuits Alternative technologies technologies Circuit Switching Packet Switching Frame Relay ATM(Asynchronous Transfer Mode) ISDN and Broadband ISDN
Local Area Networks: Smaller scope -Building or small campus Usually owned by same organization as attached devices Data rates much higher Usually broadcast systems Now some switched systems and ATM are being introduced
计算机网络 什么是计算机网络? 简单定义:一些互相连接的、自治的计算机的集合 具体定义:应当包括三个主要组成部分 若干个主机 一个通信子网 一系列协议
协议:若两个实体间得以成功得通信,它们必须讲相同的语言,相互间必须认同某些约定:通信些什么,怎样通信,何时通信。这种约定我们称之为协议,协议定义了在两个实体间交换数据的一组管理规则。 实体是一种发送或接收信息的功能,如用户应用程序,文件传输,DBMS,E-mail功能;
计算机网络发展简史 1、面向终端的计算机通信网 2、分组交换网 3、计算机网络体系结构 4、综合业务数据网
一个简化网络结构
A Three-Layer Model Network access layer: 计算机与所连网络之间的数据交换。 Transport layer: 计算机之间的可靠数据交换。 Application layer: 支持各种用户应用程序的逻辑。
通信结构及网络
为了成功地通信,整个系统里每一个实体(Entity)必须有一个唯一的地址,实际上需要两级寻址 网络中的每台计算机有唯一的网络地址,以使网络可以将数据导向到适当的计算机。 计算机中的每个应用在该计算机里也必须有唯一的地址,以使传输层可以将数据导向到某个应用,这个地址称为服务访问点SAP(Service Access Point),涵义自每个应用将分别独自访问传输层的服务的事实。
协议数据单元(PDU)
一个简单的通信模型
OSI /RM
ISO OSI 协议诸层及说明
Protocol Functions Encapsulation Segmentation and reassembly Connection control Ordered delivery Flow control Error control Addressing Multiplexing Transmission services
Encapsulation PC: Protocol Control SA: Source Address DA: Destination Address EDC: Error Detection Code : PDUN PC SA DA EDC PDUN-1
Segmentation and Reassembly H PDUN H PDUN H PDUN H PDUN H PDUN H PDUN Segmentation Reasonable for error control Medium share and short delay Small buffer needed Recovery efficiency Reassembly Reducing PDU overhead Reducing interrupts Reducing processing time Regulating flow
Connection Control—connection-oriented Connection establishment Data transfer Connection termination Protocol entity Protocol entity Connection request Connection accept Data Acknowledgment Terminate Connection request Terminate Connection accept
Ordered delivery In connection oriented protocol PDU order is maintained. 9 8 7 6 5 4 3 2 1 8 9 6 3 2 1 5 4 7
Flow Control Flow control is a function performed by a receiving entity to limit the amount or rate of data that is sent by a transmitting entity. Buffer 6 5 4 3 2 1 9 8 7
Error Control Error control techniques are needed to guard against loss or damage of data and control information. Two Functions: error detecting and retransmission Buffer 6 5 3 2 1 9 7
Addressing Addressing level Addressing scope Connection identifiers Global nonambiguity(无二意,唯一) Global applicability Connection identifiers Connectionless: for each data transmission using a global name Connection-oriented: using a connection name Reducing overhead Routing Multiplexing Use of state information
Addressing(Cont.) Addressing mode Destination Network address System address Port/SAP address Unicast Individual Multicast All Group Broadcast
Addressing Concepts IP TCP TCP IP IP Physical Physical Host A Host B App Y Port or SAP App Y App X App X Logical connection (TCP connection) TCP TCP IP Global network address IP Network access protocol #1 Network access protocol #2 Logical connection (e.g. virtual circuit) Physical Physical Network attachment point address IP Network 1 Network 2 NAP1 NAP2
Multiplexing Low-level connection vs. Upper-level connection: One-to-one Point to point, one Low-level connection vs. one Upper-level connection Upward multiplexing multi Upper-level connection through one Low-level connection, e.g. internet over LAN Downward multiplexing One Upper-level connection through multi Low-level connection, e.g. multimedia using PSTN
Transmission services Priority Quality of service Security
The OSI Architecture as a Framework for Standardization Level 1 (Physical) : Level N Level 7 (Application) Level N entity Service from Layer N-1 Service to Layer N+1 Total communication function Protocol with peer layer N Decompose
Service Primitives and Parameters Primitive types: Request: A primitive issued by a service user to invoke some service and to pass the parameters needed to specify fully the requested service. Indication: A primitive issued by a service provider either to: Indicate that a procedure has been invoked by the peer service user on the connection and to provide the associated parameters, or Notify the service user of a provider-initiate action.
Service Primitives and Parameters Primitive types (cont.): Response: A primitive issued by a service user to acknowledge or complete some procedure previously invoked by an indication to that user. Confirm: A primitive issued by a service provider to acknowledge or complete some procedure previously invoked by a request by the service user.
服务原语:服务用户(N+1实体)与服务提供者(N实体)之间进行交互时,所交换的必要信息,用以通知服务用户采取某种行动,或向服务用户报告其服务提供者的对等实体以 采取的行动。 四种服务原语: Request 请求 源(N+1)实体 源(N)实体 Indication 指示 目的(N)实体 目的(N+1)实体 Response 响应 目的(N+1)实体 目的(N)实体 Confirm 证实 源(N)实体 源(N+1)实体
物理层的作用 物理层的主要任务 物理层向数据链路层提供的服务 尽可能屏蔽传输媒体的差异,透明传送和接收位流 物理层的主要任务 确定与传输媒体的接口的一些特性: 机械特性、电气特性、功能特性和规程特性 物理层向数据链路层提供的服务 物理连接 物理服务数据单元(PSDU):串行传输方式(1位)、 并行传输方式(8位) 顺序化 故障报告 服务质量参数
数据链路层向网络层提供的服务 基本服务: 将源结点的网络层数据可靠地传输到相邻目的结点的网络层 三种服务: 1. 无确认的无连接服务:目的结点不作确认,差错由上层负责 2. 有确认的无连接服务:目的结点对收到的帧要作确认,发送结点可以知道已发出的帧是否安全到达目的结点;误帧重传 3. 面向连接服务:可靠地传送数据的服务,即提供在网络实体间建立、维持和释放数据链路的功能
数据链路层的功能 Frame synchronization Flow control Error control Addressing Control and data on same link Link management
HDLC——面向位的数据链路协议 面向字符协议的不足: 面向位协议 采用停止等待等协议,半双工通信,通信线路利用率低; 所有通信设备必须使用同样的字符代码 只对数据部分进行差错控制,可靠性差 依赖于字符集,不易扩展 面向位协议 IBM SNA的 SDLC(同步数据链路控制 ) ANSI 的ADDCP(先进的数据通信控制规程) ISO 的HDLC (高级数据链路控制) CCITT的LAP(链路接入规程) X.25采用LAPB(链路接入规程 ---- 平衡型 )
基本特点 为了满足各种需求,HDLC定义了三种类型站点、二种链路结构和三种操作的数据传输模式。三种站点的类型为: 主站: 负责对链路的操作控制。由主站发出的帧称作命令。 从站:在主站支配下工作。从站发送的帧称响应。主站与同一线路上的各从站建立单独的逻辑连接。 组合站: 兼有主站和从站的诸特点,组合站可以发布命令和应答。 两种链路构造为: 非平衡结构:用于点对点和多点操作中, 由一个主站和一个或多个从站组成,均支持全双工和半双工传输。 平衡结构:仅用于点对点操作。这种结构由两个组合站组成,并均支持全双工和半双工传输。
三种操作的数据传输方式 正常应答模式(NRM): 非平衡的结构。主站可以向从站开始数据传递, 从站仅只能以回答主站点名的形式传送数据。正常应答模式用于一台计算机连有多台终端的链路, 计算机向各终端点名输入。NRM也常用在点至点的链路上。 异步平衡模式(ABM): 平衡结构。二组合站都可以在没有收到对方的允许下就开始传送。因为没有额外的点名开销,异步平衡方式使全双工点对点的链路效率更高。 异步响应模式(ARM): 非平衡的结构。从站可以在没有主站的允许下开始传送(如发送一个应答而不必等待命令)。线路仍然由主站负责维护,包括初始化,错误恢复,以及逻辑断开。异步应答模式很少被采用,它适用于集中(Hub)点名和别的特殊情况,此时一个从站可以启动传输。
HDLC的帧结构 帧格式 帧同步:标志F“0111 1110”标记帧的首尾边界 地址字段A: 非平衡方式,填入从站地址 校验区间 透明传输区间 帧格式 帧同步:标志F“0111 1110”标记帧的首尾边界 地址字段A: 非平衡方式,填入从站地址 平衡方式,填入响应站地址 帧检验序列FCS: 采用CRC-CCITT16, G(x) = x16 + x12 + x5 + 1 控制字段C:标记帧类型,并附加控制信息
F A C I F A C I F A C I F Flag Address Control Information FCS 8 Variable 16 or 32 (a) Frame format 8n 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 (b) Extended address field ·
IN(S),N(R) 1 2 3 4 5 6 7 8 I: Information S: Supervisor U: Unnumbered 1 2 3 4 5 6 7 8 I: Information S: Supervisor U: Unnumbered N(S) P/F N(R) S M 控制字段格式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 8n … 扩展地址字段 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 N(S) P/F N(R) S Information Supervisor 扩展的控制字段
监督帧类型 S = 00 RR(Receive Ready), 准备接收下一帧N(R), 确认N(R)-1及以前的各帧 01 RNR(Receive Not Ready), 暂停接收N(R)帧, 10 REJ(Reject), 否认自N(R)开始的帧 11 SREJ (Selective Reject), 仅否认N(R)帧 连续 ARQ 选择重传ARQ
P/F(Poll/Final)位的意义(询问/终止) = 0 无意义 非平衡配置 = 1 平衡配置 S/I 帧 P=1 (命令) S/I 帧 (响应) I中F=1,表示最后一个数据帧 S中F=1,表示此时没有数据要发送 从站 正常响应方式NRM 异步响应方式 ARM 异步平衡方式 ABM P=1 (询问) F=1 (回答本站状态) 命令方 响应方 主站
线路交换的特点 实际线路连接,独占信道 传输可靠,按序交付,时延小,传输额外开销小 按接通时间收费 线路利用率低 故障适应能力差 适用于高质量的大数据传输
分组(包)交换 分组交换是为适应计算机数据通信而发展起来的一种通信手段 分组交换是按一定规则,把一个完整的数据信息分割成若干定长的数据段(Packet),并给每一数据段加上收、发终端地址及其它控制信息,然后以包为单位通过路由设备在网内传输。
分组交换的优点 传输质量高:分组交换机之间传送的每一个分组都要通过差错检查,当发现差错时,会要求发送端重新发送,保证了传输质量。 线路利用率高:分组交换数据被分为若干个分组,然后以存储转发的方式进行交换处理,实际的线路非独自占有,各分组可经不同路径到达目的终端。 可在不同速率终端之间通信:分组交换网能够实现不同速率、不编码方式,不同的同步方式及不同的传输规程的终端之间的通信。 线路交换在线路繁忙时容易产生堵塞,分组交换可以通过增加包的延迟来调节流量。 可定义优先级
两种服务:虚电路和数据报文 虚电路 数据报 在传送数据之前,首先通过虚呼叫建立一条虚电路 所有分组沿同一条路径传送,并且按发出顺序到达 类似电路交换 建立连接之后,分组中只需要携带连接标识 可以在建立连接时协商参数、QoS、开销等 故障适应能力差,不能平衡网络流量 数据报 每个分组单独传送 网络为每个分组单独选路,路径可能不同 分组到达顺序可能与发出顺序不同 分组中需要携带完整的目的地址 故障适应能力强,能平衡网络流量 The type of data communication facility used is a function of the nature of the application, the number of computers involved, and their physical interface.
分组交换的虚线路 交换型虚线路:用户通过呼叫临时建立、通信结束后即释放的逻辑通信称为交换型虚电路。交换型虚电路每次均可以与不同的用户建立通信电路,通信费与通信量有关。 永久型虚线路:永久型虚线路类似于固定专线,由用户申报提出,电信部门一次固定配好,用户一开机即按固定配置建立起连接,不需每次通信时临时建立和释放,适用于点对点固定连接的应用场合
虚电路与数据报的比较 数据报 虚电路 是否需要建立连接 需要 分组中的目的地址 完整地址 VC标识 只需一个很简单 的路由表 要为每个虚电路 不需要 需要 分组中的目的地址 完整地址 VC标识 只需一个很简单 的路由表 要为每个虚电路 保存一个路由表 路由器中的路由表 每个分组独立选路, 路由可能不同 在VC建立时选路, 所有分组路由相同 选路 所有经过该路由器 的VC都将终止 路由器故障的影响 几乎不受影响 拥塞控制 实现困难 易于实现 差错控制和流量控制 由主机负责 由子网负责
X.25 CCITT建议的X.25为公用数据网上以分组方式工作的终端制定了DTE与DCE之间的接口。X.25不仅价格便宜,在恶劣的环境下都能提供高可靠的数据传输. X.25的物理层协议称为X.21,用于定义主机与网络之间物理的、电气的、以及程序上的接口。X.25的物理层只是一个数据传输的管道,不执行任何重要的控制功能。 X.25的数据链路层采用LAPB标准。LAPB是HDLC主集中的一个子集,它以信息帧的形式携带X.25包,负责把X.25包无差错地送到DTE/DCE。 X.25网络层协议处理寻址、流量控制、以及传输确认等相关工作。允许建立虚电路,分组长度不超过128B。
X.25接口的层次关系-1
X.25接口的层次关系-2 用户数据 User Data and X.25 Protocol Control Information 第三层首部 X.25 分组 LAP-B首部 LAP-B尾部 LAP-B 帧 User Data and X.25 Protocol Control Information
X.25的虚电路的连接 X.25同时支持交换型虚电路和永久虚电路,它以逻辑信道号(LCN)来标识DTE和网络的连接。
分组格式 Q D M 1 组号 信道号 P(R) P(S) 用户数据 X 1 组号 1 组号 信道号 信道号 分组类型 1 P(R) M 1 组号 信道号 P(R) P(S) 用户数据 X 1 组号 1 组号 信道号 信道号 分组类型 1 P(R) 分组类型 1 其它信息 带3bit序号的数据分组 带3bit序号的虚呼叫控制分组 带3bit序号的RR、RNR和REJ分组
最小费用算法 Dijkstra算法: 初始化: T={s} , L(n)=w(i,j) 当 找下一节点: 找出 ,使得 ,将x加入T。 更新最小费用路径: ,对所有
Bellman-Ford算法 初始化: 更新:
帧中继(Frame Relay) 背景:由于X.25协议适用于通信信道可靠性低的场合,分组网络中每一个节点都要对每个分组进行差错、流量等处理,任务比较复杂,增加了处理时间和额外传输开销,使得交换速率低,交换延迟大。
帧中继 光纤传输线路已成为电信主要传输干线,现代高速数字通信网络传输质量可靠性很好,且用户终端日益智能化,提出更高的带宽要求和低价数据通信手段,在分组技术的基础之上诞生并发展起来了帧中继技术,帧中继去除了X.25终端用户及分组交换网络过多的额外开销。
帧中继的业务特点 吞吐量大,时延小,适合突发性业务 端口类型丰富,速率广泛 用户接入方式多样
帧中继协议体系结构 控制平面: 控制信息使用独立的逻辑通道。在数据链路层使用具有差错控制和流量控制的LAPD协议。 用户平面: 端用户间实际数据传输,使用LAPF (帧方式承载业务的链路接入规程)协议。
智能终端设备的数据发送到数据链路层,数据和控制信道分离,分组封装在Q. 922的的帧结构中,该结构类似X 智能终端设备的数据发送到数据链路层,数据和控制信道分离,分组封装在Q.922的的帧结构中,该结构类似X.25的LAPB,从LAPD发展而来,称为LAPF帧,以该帧为单位传输,网络不再进行帧应答、差错检测和流量控制等处理,网络中各交换节点对帧几乎不加什么处理直接通过。若网络检查出错误帧,将其直接丢弃。一些原来由第二、三层处理的一些工作将由端点的智能终端高层功能完成,从而大大简化了节点之间的处理过程,增加了网络的吞吐率
LAPF核心功能: 帧定界、对齐和透明度 使用地址字段完成帧的复用和分用 比特填充 帧长检查 传输差错检测 拥塞控制*
LAPF核心协议格式 帧格式: 标志 地址 信息 FCS 标志 1 2-4 变长 2 1 高位DLCI C/R EA0 低位DLCI 1 2-4 变长 2 1 高位DLCI C/R EA0 低位DLCI FECN BECN DE EA1 地址字段:2个八位组(默认) 高位DLCI C/R EA0 DLCI FECN BECN DE EA0 低位DLCI或DL核心控制 D/C EA1 地址字段:3个八位组
LAPF核心协议格式 高位DLCI C/R EA0 DLCI FECN BECN DE EA0 DLCI EA0 低位DLCI或DL核心控制 D/C EA1 地址字段:4个八位组
与X.25的主要区别为 呼叫控制信令由与数据连接相分离的逻辑信道传输,中间节点不必保持与每条连接呼叫控制有关的信道状态表或处理信息 逻辑连接的多路和交换功能由二层而不是由三层处理,取消了整个第三层的处理 从一跳到另一跳之间没有流量控制和差错控制,将流量控制、纠错等留给最终智能终端的高层完成,大大简化了节点机之间的协议
分组交换X.25与帧中继技术的比较 A. 分组交换网络 B. 帧中继网络
X.25与帧中继的比较
帧中继采用统计多路复用技术,可以在多个用户之间动态分配带宽资源,实现带宽管理,经济有效地为有突发数据的用户提供服务,并以多于实际带宽的额度分配给用户,即保证了经营商的利益,也向用户提供远低于专线的费用,得到高速率、低延时的服务。几个带宽控制参数为: 承诺的时间间隔(Tc) 承诺的信息速率(CIR) 承诺的突发大小(Bc) 超过的突发大小(Be)
异步传输模式(ATM) 异步传输模式(Asynchronous Transfer Mode)是一种以固定长度的分组方式(Cell),并以异步时分复用方式,传送信号和数字等一系列信息的交换技术。异步传输模式是用于实现宽带综合业务数字网(B-ISDN)的一种基础技术。它可综合支持话音、数据、图像和视频的业务。
ATM特点-1 使用统一的信元(Cell)作为基本传送单位,即48个字节的信息码加5个字节的信息头共53个字节 异步传输模式的速率为155Mb/s(STM-1)、622Mb/s(STM-4)、2.5Gb/s(STM-16) 异步传输模式采用单一结构可实现多媒体通信,采用多种用户-网路接口为用户提供多种服务,并可与现有的任何一种业务相连 ATM通常与同步数字系列(SDH)或准同步数字系列(PDH)结合在一起组成宽带综合业务数字网(B-ISDN)。
ATM特点-2 具有电路交换和分组交换的双重性。 具有VP(虚通道)和VC(虚通路)两级连接。 具有支持不同QoS等级的能力。
ATM协议参考模型 管理平面 控制平面 用户平面 高层 ATM适配层 ATM层 物理层 层 管 理 平 面
User plane:用于传递用户信息及相关控制(通信量、差错控制)。 Control plane:执行呼叫控制及连接控制的功能。 Management plane: Plane management:执行与整个系统相关的管理功能及各平面间合作功能。 Layer management:与协议实体内部资源和参数有关的管理功能。
ATM的信元结构 在ATM中传输的基本单元是信元,其长度为53个字节。每个信元分为两个部分: (1)信元首部 5个字节,装有控制信元。 (2)信息域 48个字节,装有用户信息。
两种类型的信头结构 UNI=用户到网络接口,NNI=网络到网络接口GFC 一般流量控制 VPI VP标识符 VCI PT CLP HEC NNI信头结构 GFC VPI VPI VCI VCI VCI PT CLP HEC UNI信头结构 UNI=用户到网络接口,NNI=网络到网络接口GFC 一般流量控制 VPI VP标识符 VCI VC标识符 PT 净负荷类型 CLP 信元抛弃优先级 HEC 首部差错检测
ATM服务类型 实时服务 恒定比特率(CBR) 实时可变比特率(rt-VBR) 非实时服务 非实时可变比特率(nrt-VBR) 可用比特率(ABR) 不指明比特率(UBR)
数据网络中的拥塞 到其它节点 输入缓存 输出缓存 到用户 节点处的输入输出队列
数据网络中的拥塞 2 3 6 1 4 5 TE 数据网络中队列与队列间的交互作用
拥塞的结果 理想的网络性能: 网络的吞吐量随着负载的增加而增加,直至负载等于网络的总容量,对于更高的负载吞吐量归一化后始终保持在1。当负载较小时,只存在一个较小且固定的时延,当负载超过网络容量时,时延无限增大。 实际的网络性能 负载较轻时,网络吞吐量随负载增加同步增加;中等拥塞时,网络吞吐量增长速度低于负载增加速度;严重拥塞时,网络吞吐量随着负载的增加而减小。
理想网络
实际网络 中等拥塞 严重拥塞 不拥塞
5.3 拥塞控制 拥塞控制的基本原理 所有解决方案被分为两类:一类是开环,一类是闭环。开环控制工具的功能包括决定何时接受新的通信,何时丢弃分组,以及丢弃哪些分组,还包括在网络的不同点作计划表。所有这些的共同之处在于,它们在做出决定时并不考虑当前网络的状况。 与之相比较,闭环的解决方案是建立在反馈环路的概念之上的。当用于拥塞控制时,这种方法有3个部分: 监视系统,检测何时何地发生了拥塞。 将此信息传送到可能采取行动的地方。 调整系统操作以更正问题。
拥塞控制 反压 阻流分组 隐式拥塞信令 显示拥塞信令(反向、前向): 二进制 基于信用值 基于速率
显式拥塞信令 信令发送方向: 反向:通知源站点应对与收到的分组方向相反的通信量采取必要的拥塞避免措施。信息的发送可通过改变发向受控源站点的数据分组中的某些比特或发送单独的控制分组。 前向:通知源站点应对与收到的分组方向相同的通信量采取必要的拥塞避免措施。信息的发送可通过改变数据分组中的某些比特或发送单独的控制分组实现。端系统收到前向信号时,可将信号返回给源端或在高层对源端实施流量控制。
通信量管理 公平性: 保证不同的流量在遭受拥塞时能体现出公平性。 服务质量: 保证有不同需求的通信量在发生拥塞时得到各自所需的不同的服务质量。 预约: 在连接建立时,用户和网络订立通信量合约,指明其数据率和其它特性参数。