Part Ⅱ 计算机网络体系结构
主要内容 1 计算机网络的构成 2 计算机网络的体系结构 3 典型计算机网络参考模型 4 网络和网络服务 1.1 资源子网 1 计算机网络的构成 1.1 资源子网 1.2 通信子网 ( 点到点通道;广播通道 ) 2 计算机网络的体系结构 2.1 计算机网络功能的分层 2.2 协议和协议的分层结构 2.3 计算机网络的体系结构 3 典型计算机网络参考模型 3.1 计算机网络的标准化 3.2 OSI参考模型 3.3 TCP/IP参考模型 4 网络和网络服务
2.1 计算机网络的构成(1) 计算机网络的构成 两级结构的计算机网络 资源子网(或用户子网)和通信子网
2.1 计算机网络的构成(2) 2.1.1 资源子网 组成 2.1.2 通信子网 基本组成 服务器 客户计算机 通信线路(或称通道) 2.1 计算机网络的构成(2) 2.1.1 资源子网 组成 服务器 客户计算机 2.1.2 通信子网 基本组成 通信线路(或称通道) 网络互连设备(路由器、交换机、HUB等)
2.1 计算机网络的构成(3) 基本结构 点到点通道 一条线路连接二台网络互连设备 一般情况下,二台计算机的连接要经过多台网络互连设备 2.1 计算机网络的构成(3) 基本结构 点到点通道 基本特点 一条线路连接二台网络互连设备 一般情况下,二台计算机的连接要经过多台网络互连设备 典型拓扑结构 star, ring (loop), tree, complete, intersecting rings, irregular 关键技术:路由选择(Routing)
2.1 计算机网络的构成(4) 广播通道 多台计算机共享一条通信线路 任一台计算机发出的信息可以直接被其它 计算机接收 bus, ring 2.1 计算机网络的构成(4) 广播通道 基本特点 多台计算机共享一条通信线路 任一台计算机发出的信息可以直接被其它 计算机接收 典型拓扑结构 bus, ring
2.1 计算机网络的构成(5) 静态分配:分时间片 特点:控制简单,通道利用率低 动态分配:各站点动态使用通道 特点:控制复杂,通道利用率高 2.1 计算机网络的构成(5) 关键技术:通道分配 静态分配:分时间片 特点:控制简单,通道利用率低 动态分配:各站点动态使用通道 特点:控制复杂,通道利用率高 通道分配方法: 集中式:只有一个仲裁机构 分布式:各站点均有仲裁机构
2.1 计算机网络的构成(6) 网络分类: 从地域范围角度 主要采用广播通道技术 主要采用点到点通道技术 2.1 计算机网络的构成(6) 网络分类: 从地域范围角度 局域网络(Local Area Networks) 主要采用广播通道技术 城域网络(Metropolitan Area Networks) 广域网络(Wide Area Networks) 主要采用点到点通道技术
2.2 计算机网络的体系结构(1) 计算机网络的体系结构:对计算机网络及其部件所完成功能的比较精确的定义。即从功能的角度描述计算机网络的结构。是层次和协议的集合。 注意:计算机网络体系结构仅仅定义了网络及其部件通过协议应完成的功能;不定义协议的实现细节和各层协议之间的接口关系。 网络功能的分层 协议的分层 体系结构的分层 协议分层易于协议的设计、分析、实现和测试。
2.2 计算机网络的体系结构(2) 2.2.1 计算机网络功能的分层 计算机网络的基本功能是为地理位置不同的计算机用户之间提供访问通路。 2.2 计算机网络的体系结构(2) 2.2.1 计算机网络功能的分层 计算机网络的基本功能是为地理位置不同的计算机用户之间提供访问通路。 下述功能是必须提供的: 连接源结点和目的结点的物理传输线路,可以经过 中间结点; 每条线路两端的结点利用波形进行二进制通信; 无差错的信息传送 多个用户共享一条物理线路 按照地址信息,进行路由选择
2.2 计算机网络的体系结构(3) 上述功能有三个显著特点 2.2 计算机网络的体系结构(3) 信息缓冲和流量控制 会话控制 满足各种用户、各种应用的访问要求 上述功能有三个显著特点 上述功能必须同时满足一对用户 用户之间的通信功能是相互的 这些功能分散在各个网络设备和用户设备中。 一般人们采用“层次结构”的方法来描述计算机网络,即:计算机网络中提供的功能是分成层次的。
2.2 计算机网络的体系结构(4) 2.2.2 协议和协议的分层结构 协议的定义和组成 层次结构的计算机网络功能中,最重要的功能是通信功能 2.2 计算机网络的体系结构(4) 2.2.2 协议和协议的分层结构 协议的定义和组成 层次结构的计算机网络功能中,最重要的功能是通信功能 这种通信功能主要涉及同一层次中通信双方的相互作用 位于不同计算机上进行对话的第N层通信各方可分别看成是一种进程,称为对等(同等)进程。 协议(Protocol): 计算机网络同等层次中,通信双方进行信息交换时必须遵守的规则。
2.2 计算机网络的体系结构(5) 协议的分层和层间结构 协议的组成 协议的分层原则 (layering principle) 2.2 计算机网络的体系结构(5) 协议的组成 语法(syntax):以二进制形式表示的命令和相应的结构 语义(semantics):由发出的命令请求,完成的动作和回送的响应组成的集合 定时关系(timing):有关事件顺序的说明 协议的分层和层间结构 协议的分层原则 (layering principle) Layer N software on the destination computer must receive exactly the message sent by layer N software on the sending computer. Mathematically, if the sender applies a transformation T, the receiver must apply the inverse T-1. 协议分层要保证整个通信系统功能完备、高效。
2.2 计算机网络的体系结构(6) 每一相邻层之间有一个接口(Interface),它定义了下层向上层提供的原语操作和服务。 2.2 计算机网络的体系结构(6) 每一相邻层之间有一个接口(Interface),它定义了下层向上层提供的原语操作和服务。 对于第N层协议来说,它有如下特性 不知道上、下层的内部结构 独立完成某种功能 为上层提供服务 使用下层提供的服务
2.2 计算机网络的体系结构(7) 2.2.3 计算机网络的体系结构 基本术语与分层结构 接口:定义了下层向上层提供的原语操作和服务。 2.2 计算机网络的体系结构(7) 2.2.3 计算机网络的体系结构 基本术语与分层结构 接口:定义了下层向上层提供的原语操作和服务。 协议:计算机网络同等层次中,通信双方进行信息交换时必须遵守的规则。 服务:层间交换信息时必须遵守的规则。 服务和协议的关系 服务提供者,服务用户
2.2 计算机网络的体系结构(8) 服务访问点SAP(Service Access Point) 2.2 计算机网络的体系结构(8) 服务访问点SAP(Service Access Point) 任何层间服务是在接口的SAP上进行的 每个SAP有唯一的识别地址 每个层间接口可以有多个SAP。 接口数据单元IDU(Interface Data Unit) IDU是通过SAP进行传送的层间信息单元 IDU由上层的服务数据单元SDU(Service Data Unit)和接口控制信息ICI(Interface Control Information)组成
2.2 计算机网络的体系结构(9) 协议数据单元PDU(Protocol Data Unit) 2.2 计算机网络的体系结构(9) 协议数据单元PDU(Protocol Data Unit) 第N层实体通过网络传送给它的对等实体的信息单元 PDU由上层的服务数据单元SDU或其分段和协议控制信息PCI(Protocol Control Information)组成 分段和重组
2.2 计算机网络的体系结构(10) 服务分类和服务原语(primitives) 基于连接的服务和无连接服务 基于连接的服务 2.2 计算机网络的体系结构(10) 服务分类和服务原语(primitives) 基于连接的服务和无连接服务 基于连接的服务 当使用服务传送数据时,首先建立连接,然后使用该连接传送数据。使用完后,关闭连接。 特点:顺序性好。 无连接服务 直接使用服务传送数据,每个包独立进行路由选择。 特点:顺序性差。 注意:连接并不意味可靠,可靠要通过确认、重传等机制来保证。
2.2 计算机网络的体系结构(11) 服务原语 服务在形式上是由一组接口原语(或操作)来描述的 服务原语可分为四种类型 2.2 计算机网络的体系结构(11) 服务原语 服务在形式上是由一组接口原语(或操作)来描述的 服务原语可分为四种类型 请求(Request):An entity wants the service to do some work 指示(Indication):An entity is to be informed about an event 响应(Response):An entity wants to respond to an event 确认(Confirm):The response to an earlier request has come back
Why Layering? HTTP Application Telnet FTP NFS Coaxial cable Fiber optic Packet radio Transmission Media No layering: each new application has to be re-implemented for every network technology!
Why Layering? Solution: introduce an intermediate layer that provides a unique abstraction for various network technologies Application Telnet FTP NFS HTTP Intermediate layer Coaxial cable Fiber optic Packet radio Transmission Media
Layering Advantages Disadvantages Modularity – protocols easier to manage and maintain Abstract functionality –lower layers can be changed without affecting the upper layers Reuse – upper layers can reuse the functionality provided by lower layers Disadvantages Information hiding – inefficient implementations
End-to-End Argument Think twice before implementing a functionality that you believe that is useful to an application at a lower layer If the application can implement a functionality correctly, implement it a lower layer only as a performance enhancement
Example: Reliable File Transfer Host A Host B Appl. Appl. OK OS OS Solution 1: make each step reliable, and then concatenate them Solution 2: end-to-end check and retry
Discussion The receiver has to do the check anyway! Thus, full functionality can be entirely implemented at application layer; no need for reliability from lower layers Is there any need to implement reliability at lower layers? Yes, but only to improve performance Example: Assume a high error rate on communication network Then, a reliable communication service at data link layer might help
Trade-offs Application has more information about the data and the semantic of the service it requires (e.g., can check only at the end of each data unit) A lower layer has more information about constraints in data transmission (e.g., packet size, error rate) Note: these trade-offs are a direct result of layering!
Rule of Thumb Implementing a functionality at a lower level should have minimum performance impact on the application that do not use the functionality
2.3 典型计算机网络的参考模型(1) 2.3.1 计算机网络的标准化 电信标准 2.3 典型计算机网络的参考模型(1) 2.3.1 计算机网络的标准化 电信标准 1865年成立国际电信联盟ITU(International Telecommunication Union) 1947年 ITU 成为联合国的一个组织,由三部分组成 ITU- R:无线通信 ITU- T:电信标准,1956 - 1993 年称为CCITT ,下设许多研究组SG,研究组下设专题,例如:Q42/SG VII 专门研究 OSI 参考模型。 ITU- D:开发
2.3 典型计算机网络的参考模型(2) 国际标准 1946年成立的国际标准化组织 ISO 负责制定各种国际标准,ISO 有89个成员国家,85 个其他成员。 ISO 有200 多个技术委员会TC,每个技术委员会下设若干分委员会SC,每个分委员会由由若干工作组WG 组成。 例如:TC97 - 计算机和信息处理,TC97/SC21/WG1 - OSI 体系结构、概念性方案和形式描述 一个国际标准的形成:CD (Committee Draft) - DIS (Draft International Standard) - IS (International Standard)
2.3 典型计算机网络的参考模型(3) 其它标准化组织: 值得注意的是,ITU - T 和 ISO 之间有很好的合作和协调。 2.3 典型计算机网络的参考模型(3) 其它标准化组织: ANSI:美国国家标准研究所,ISO 的美国代表 NIST:美国国家标准和技术研究所,美国商业部的标准化机构 IEEE:发表行业标准。例如IEEE 802,后成为ISO 8802。 OIF(Optical Internetworking Forum) 值得注意的是,ITU - T 和 ISO 之间有很好的合作和协调。
2.3 典型计算机网络的参考模型(4) Internet 标准 2.3 典型计算机网络的参考模型(4) Internet 标准 Internet 的标准是自发而非政府干预的,称为RFC (Request For Comments)。 1969 年ARPANET 时就开始发布RFC,1969.4产生RFC0001,至今已超过3000个。 1983年成立IAB(Internet Architecture Board) 1989年在IAB 下又成立了IRTF 和 IETF,IETF的各工作组负责组织提出相应的RFC 建议。
2.3 典型计算机网络的参考模型(5) 2.3.2 OSI(Open System Interconnection)参考模型 2.3 典型计算机网络的参考模型(5) 2.3.2 OSI(Open System Interconnection)参考模型 1983年ISO 的 OSI 模型正式成为国际标准 物理层(The Physical Layer):在物理线路上传输原始的二进制数据位(基本网络硬件) 数据链路层(The Data Link Layer):在有差错的物理线路上提供无差错的数据传输(Frame) 网络层(The Network Layer):控制通信子网提供源点到目的点的数据传送(Packet) 运输层(The Transport Layer):为用户提供端到端的数据传送服务。
2.3 典型计算机网络的参考模型(6) 会话层(The Session Layer):为用户提供会话控制服务(安全认证) 2.3 典型计算机网络的参考模型(6) 会话层(The Session Layer):为用户提供会话控制服务(安全认证) token management and synchronization (insert checkpoints into the data stream) 表示层(The Presentation Layer):为用户提供数据转换和表示服务。 应用层(The Application Layer)
2.3 典型计算机网络的参考模型(7) 2.3.3 TCP/IP 参考模型 以 TCP/IP 协议为核心的 Internet 网络体系结构 2.3 典型计算机网络的参考模型(7) 2.3.3 TCP/IP 参考模型 以 TCP/IP 协议为核心的 Internet 网络体系结构 物理层:在物理线路上传输原始的二进制数据位 数据链路层:在有差错的物理线路上提供无差错的数据传输 TCP/IP 参考模型把第1层和第2层合起来称为:Host-to- Network Internet层(网络层):控制通信子网提供源点到目的点的 IP 包传送
2.3 典型计算机网络的参考模型(8) TCP/IP 与 OSI 的比较 运输层:提供端到端的数据传送服务。TCP 和 UDP 2.3 典型计算机网络的参考模型(8) 运输层:提供端到端的数据传送服务。TCP 和 UDP 应用层:提供各种 Internet 管理和应用服务功能 TCP/IP 与 OSI 的比较
2.3 典型计算机网络的参考模型(9) OSI的历史经验和教训 OSI是80年代计算机网络技术,网络体系结构的主流 2.3 典型计算机网络的参考模型(9) OSI的历史经验和教训 OSI是80年代计算机网络技术,网络体系结构的主流 OSI网络体系结构的核心和贡献: 分层模型 服务、接口、协议 Andrew S. Tanenbaum 在 “Computer Networks” 中评价OSI: Bad timing(too late) Bad technology(both the model and the protocol are flawed) Bad implementations(huge,unwieldy,and slow) Bad politics(government and organizations bureaucrats)
2.4 网络和网络服务(1) 2.4.1 Novell NetWare 在PC机中应用广泛,client-server结构 参考模型
2.4 网络和网络服务(2) 基于Xerox Network System(XNS),但有很多改进 工作过程 2.4 网络和网络服务(2) 基于Xerox Network System(XNS),但有很多改进 网络层协议,IPX:不可靠无连接协议,与IP类似,地址长度不同:IPX,10字节(4字节网络号,6字节机器号(MAC地址));IP,4字节。 传输层协议,NCP/SPX/TCP:面向连接协议。 工作过程 Server:使用SAP(service advertising protocol)协议,每分钟广播一个包,告知地址和提供的服务 Router:接收服务器的广播包,构造数据库;接收客户机的请求,查询数据库,将查询结果(服务器信息)告知客户机 Client:启动时广播请求,查询最近的服务器,得到路由器的回答后,与服务器建立NCP连接,协商参数,访问服务。
2.4 网络和网络服务(3) 2.4.2 ARPANET 产生背景:60年代中期,冷战高峰,DoD想建设一个核战争情况下的网络,传统电路交换网络太脆弱,不满足要求。 ARPA(Advanced Research Projects Agency)负责研制,采用分组交换,subnet 和 host computer两极结构。 由称为IMP(Interface Message Processors)的小型计算机和线路组成 存储转发模式
2.4 网络和网络服务(4) 1968年12月,BBN公司负责建网,采用改进的Honeywell DDP-316小型机作为IMP,IMP间用 56Kbps租用电话线连接。 软件分为两部分:subnet和 host 1969年12月,建成四个节点的网络,发展迅速 网络的发展暴露出协议软件的不足,1974年,TCP/IP模型和协议诞生。 TCP/IP协议软件被集成进Berkeley UNIX中,并开发出socket接口。 TCP/IP便于LAN接入ARPANET
2.4 网络和网络服务(5) 1983年,ARPA将ARPANET交给DCA(Defense Communications Agency),DCA将军用部分分离出来,构成MILNET。 80年代,网络规模扩大,出现DNS(Domain Naming System) 1990年,ARPANET停止运行,MILNET仍在工作。
2.4 网络和网络服务(6) 2.4.3 NSFNET 二十世纪七十年代末,大学通过网络进行研究的需要促使NSF(U.S. National Science Foundation)建立一个虚拟网络CSNET。 1984年,NSF开始设计一个高速网络,对所有大学和研究机构开放。NSF建立了一个骨干网,把六个超级计算机中心连接起来。56Kbps租用线路,软件使用TCP/IP技术,成为第一个TCP / IP 广域网。
2.4 网络和网络服务(7) 1990年,MERIT、MCI和IBM公司成立一个非赢利机构ANS(Advanced Networks and Services)管理NSFNET,把骨干网带宽从1.5Mbps升级为45Mbps(ANSNET)。 1991年,NREN(National Research and Educational network)启动,研究NSFNET的下一代,目标是达到G比特。 1995年,ANSNET卖给America Online。单一骨干网结构被商业驱动的、竞争的多骨干网结构替代。
2.4 网络和网络服务(8) 2.4.4 X.25 分组交换网 70年代,CCITT推出X.25标准,为公用包交换网和用户之间提供接口。 2.4 网络和网络服务(8) 2.4.4 X.25 分组交换网 70年代,CCITT推出X.25标准,为公用包交换网和用户之间提供接口。 X.25面向连接,支持交换虚电路和永久虚电路。 X.21(物理层协议),X.3 / X.28 / X.29 DTE: Digital Terminal Equipment DCE: Digital Circuit Terminating Equipment PAD: Packet Assembler and Disassembler
T DCE DTE X.25 X.29 X.3 X.28 PAD High-Level Functions Packet Level Frame Level Physical Level DCE PAD T DTE X.25 X.29 X.3 X.28
2.4 网络和网络服务(9) 2.4.5 Frame Relay 帧中继产生背景 帧中继,面向连接,提供最少的基本服务。 2.4 网络和网络服务(9) 2.4.5 Frame Relay 帧中继产生背景 通信线路越来越快速、可靠,计算机越来越快速、便宜,底层通信协议变得越来越简单,大部分工作由用户计算机来做,底层协议只需提供一条源到目的的通路即可。 帧中继,面向连接,提供最少的基本服务。
2.4 网络和网络服务(10) 2.4.6 B-ISDN 和 ATM 宽带综合业务数字网 B-ISDN(Broadband Integrated Services Digital Network)产生背景 多种网络共存(POTS, Telex, SMDS, DQDB, Frame Relay, …),电信公司想统一成一个网络B-ISDN。 B-ISDN的技术基础是异步传输模式ATM (Asynchronous Transfer Mode)
2.4 网络和网络服务(11) ATM 异步传输,没有主时钟。 传输单元是短的、定长的包,称为信元(cell)。 面向连接 2.4 网络和网络服务(11) ATM 异步传输,没有主时钟。 传输单元是短的、定长的包,称为信元(cell)。 面向连接 速率主要有两种:155M,622M
2.4 网络和网络服务(12) B-ISDN ATM参考模型
总结(1) 计算机网络的构成:资源子网和通信子网 计算机网络体系结构 网络参考模型 通信子网:点到点通道,关键技术是路由选择;广播通道,关键技术是通道分配。 计算机网络体系结构 功能的分层,层次结构 对等实体、协议、服务、接口、服务原语 SAP, SDU, IDU, PDU 网络参考模型 标准化组织 OSI参考模型
总结(2) 其它网络 TCP/IP参考模型 Novell NetWare ARPANET NSFNET X.25 Frame Relay B-ISDN和ATM