Download presentation
Presentation is loading. Please wait.
1
Chapter 2 网络的体系结构与参考模型 2.1 网络的构成 2.2 网络的体系结构 2.3 OSI模型 2.4 TCP/IP模型
2.6 网络的分类 本章我们主要介绍两种重要的计算机网络参考模型:OSI(Open Systems Interconnection)和TCP/IP,用以描述网络的体系结构。其中OSI模型是国际标准化组织(ISO, International Standards Organization)于1983年出台、1995年修订的协议规范,属于法定标准,尽管符合该模型的实际网络并不存在,但由于该模型描述的体系结构较为通用,层次、服务与接口等协议功能定义较为明确,如今仍作为许多网络协议设计时的参考依据。相反,TCP/IP模型作为一种事实标准,模型本身并不通用,只能描述Internet,但由于Internet的广泛普及而被推广使用。本章将详细介绍这两种参考模型,并对两者之间的特点进行对比描述。
2
2.1 网络的构成 网络的构成 因特网 端系统(主机等):信息的收发 通信链路(电缆等):信息的传输 中间交换系统(路由器等):信息的转发
接入网 (有线) 网络的构成 端系统(主机等):信息的收发 通信链路(电缆等):信息的传输 中间交换系统(路由器等):信息的转发 因特网 主干网(核心网络) 接入网(边缘网络) Internet 主干网 接入网(无线) 接入网 (校园网) 一个计算机网络的基本组成有三部分:端系统、通信链路和中间交换系统,端系统通过通信链路和交换系统相互连接。其中,端系统主要负责信息的收发,早期组成计算机网络的端系统主要是计算机,也称为主机(host),如今,越来越多的设备如个人数字助手(PDA)、手机、相机、车辆以及TV等家用电器都相继连接入网,计算机网络这个名词已经名不副实,也许将来会被其他术语取代;通信链路负责信息的传输,可以分有线链路和无线链路两类,有线链路有同轴电缆、双绞线和光缆等,无线链路有工作在不同频谱的无线电波,不同的链路传输数据的速率不同,误码率也不同。中间交换系统主要负责信息的转发,在因特网中主要有路由器和交换机两种,随着网络的发展,各种各样的网关、接入点设备(如无线AP)也属于中间交换系统。 互联网是在全世界范围内连接各种计算机网络的公共网络,不同的网络从它所处的位置和功能可以分为接入网(边缘网络)和主干网(核心网络),端系统通过接入网连接到互联网,接入网的种类繁多,如有线局域网接入(以太网)、无线局域网接入(WiFi)以及各种拨号调制解调接入,接入网上的路由器或网关通常称为接入路由器(接入网关)、边缘路由器等;主干网主要有高速的路由器或交换机和光缆组成,采用分组交换方式。 链路(link) 节点(node)
3
2.2网络体系结构 ——层和协议的集合[1] 协议 (protocol) 什么是协议? 协议为什么要分层? 时间 时间 时间 TCP连接请求
GET <文件> 协议 (protocol) 什么是协议? 协议为什么要分层? 学生甲 学生乙 你好! 你好! 几点了? 2:00 [1]:教科书P23 世界上有许多网络,如运送旅客与物品的铁路网、公路网等,以及连接千家万户的电话网和有线电视网,还有生活所需的电、水、下水道和煤气等网络。每一种网络的设计与部署都需要一定的协议和规范,否则如果相互之间的接口千差万别,就无法连接成网,更无法高效运行。因此对于计算机网络的设计,首先需要规范它的协议,这些协议包括各种应用软件数据格式、各种类型的端系统对数据的收发规范、交换或路由设备的路由等,以及各种硬件接口规范。 这些复杂而庞大的协议集合组成了协议簇,为了降低网络设计的复杂度,增加网络的可扩展性,多数网络将协议分层,每一层的功能都建立在其下一层的基础上,接受其下一层提供的服务,同时,每一层都向其上一层提供特定的服务,上下层之间定义了接口,这样的设计便于协议的更新和新功能的扩展。层和协议的集合称为网络体系结构。 在我们的日常生活中,协议无处不在。比如我们人类交谈的语言,也是一种通信协议,交谈双方必须用同一种语言或对方听得懂的语言,否则无法交谈。 时间 时间
4
举例(寄包裹) 购物 使用 封装 拆封 邮寄 取物 捆扎 拆包 捆扎 拆包 运输 运输 运输 运输 运输 运输 发信人 收信人 协议5
协议4 封装 拆封 协议3 邮寄 取物 协议2 捆扎 拆包 捆扎 拆包 运输 运输 运输 运输 运输 运输 下面我们以交通运输网为网络实例、以包裹的邮寄业务为其应用事例,描述一个网络的协议与体系结构及其业务传输流程。如图所示,我们将飞机、车辆看成是传输媒体(如无线电波、电缆等),空运、陆运等运输系统看成计算机网络中各种类型的网络(如无线网络、以太网等),一个物品的购物和使用如果都在本地进行,就像一个传统的本机上的应用程序,无需网络提供服务,但如果购物者和使用者不在同一地方,我们需要将物件邮寄到使用者所在的地方,也就是目的地,这时候我们需要将物件按规范封装,然后再到相关的物流公司邮寄,物流公司还要对包裹进行捆扎,最后通过交通运输网络寄往目的地,如果不能直达,就要通过中转站进行中转,这些中转站就好像计算机网络中的各种路由、交换设备。物件到达目的地后,收信人进行与发信人相反的操作就可以获得物品。如果我们将购物、封装、邮寄等过程分层,这些上下层之间有一定的关系和次序,对应层之间(如封装与拆封)按照一定的协议是互为可逆的操作,可以与计算机网络的体系结构进行类比。 协议1 空运 陆运
5
2.2网络体系结构 ——层和协议的集合 协议体系(protocol architecture) 分层的原则:
网络协议:是指通信双方(或多方)关于如何进行通信的一种约定[1]。 协议分层:为了降低设计的复杂度,增加网络的可扩展性,具有概念化、结构化的优点,有利于新业务的导入。 分层的原则: 将相似的功能集中在同一层内,必要时可将层的功能再分成子块,层数不宜过多,以避免层间接口的开销变大。 当功能差别较大时应分层处理。 各层只对相邻的上下层定义接口。 协议栈(protocol stack):一个特定的系统所使用的一组协议(每一层一个或几个协议),网络协议图(参见其它文件) [1]:教科书P23 。 所谓协议(protocol)是指对等实体(peer)之间关于如何进行通信的的一种约定,这里的对等实体指的是通信双方或多方,它们都位于相同的层,可以是进程或硬件设备。某一层通信所需的操作用该层的协议来规范,因此每一层有每一层的协议。协议的设计不仅要考虑正常情况下的通信场景,还有考虑非常情况下的操作,即使一个商业协议,它也要考虑不能履行时的赔偿,那么对于要计算机网络中每一个实体执行的协议来说,就需要考虑异常时的一些出错处理。如朋友约会见面的约定“不见不散”就不是一个好的协议,它没有考虑特殊情况,由于人是智能的,他会根据实际情况进行处理,但机器的智能是需要人来设计的。 协议的分层具有结构化和功能模块化优点,它可以将网络的功能通过层次的划分清晰地进行描述。不同的网络,其层的数目、名称及各层的功能也不相同。但如果层次过多,层次间接口的开销就多,并且有些高层可能会重复其低层的功能。因此,层次的合理设计对网络的性能是十分重要的,分层的原则应根据信息处理的流程,将相似的功能集中在同一层内,必要时可将层的功能再分成子块,层数不宜过多,以避免层间接口的开销变大;当功能差别较大时应分层处理;各层只对相邻的上下层定义接口。将各层的协议按照层次综合起来组合成协议栈(protocol stack)。
6
2.2网络体系结构 ——层和协议的集合 层(layer) 协议(protocol) 服务(service或业务) 接口(interface)
原语(primitive) 如图所示描述的是一个5层网络结构,主机1和主机2是通信的双方,可以互为发送者或接收者。不同设备中对应的层称为对等实体(peer entity),所谓实体(entity)是一个抽象的名词,表示可收发信息的硬件或软件进程,许多情况下,尤其是在较高的层上,实体就是一个特定的软件模块。第n层的通信规则和功能由该层的协议描述。相邻上下层之间都有接口,接口定义下层向上层提供的服务。服务由一组原语描述。如果协议位于操作系统中,则这些服务原语通常是一些系统调用。
7
2.2网络体系结构 ——层和协议的集合 不同机器中对应的层称为对等实体(peer entity) 层(layer) 协议(protocol)
服务(service或业务) 接口(interface) 原语(primitive) 不同机器中对应的层称为对等实体(peer entity) 实体(entity)是一个抽象的名词,表示可收发信息的硬件或软件进程。许多情况下,实体就是一个特定的软件模块。
8
2.2网络体系结构 ——层和协议的集合 第n层的通信规则和功能由该层的协议描述 层(layer) 协议(protocol)
服务(service或业务) 接口(interface) 原语(primitive) 第n层的通信规则和功能由该层的协议描述
9
2.2网络体系结构 ——层和协议的集合 相邻上下层之间都有接口,接口定义下层向上层提供的服务。 层(layer) 协议(protocol)
服务(service或业务) 接口(interface) 原语(primitive) 相邻上下层之间都有接口,接口定义下层向上层提供的服务。
10
2.2网络体系结构 ——层和协议的集合 服务由一组原语描述。如果协议位于操作系统中,则这些服务原语通常是一些系统调用。 层(layer)
协议(protocol) 服务(service或业务) 接口(interface) 原语(primitive) 服务由一组原语描述。如果协议位于操作系统中,则这些服务原语通常是一些系统调用。 协议是“水平的”,即协议控制对等实体的通信规则,但服务是“垂直的”,即服务有下层向上层通过层间接口提供的。并非所有层内实现的概念都可称为服务,只有那些被高一层看得见的功能才能称为“服务”。 上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI模型中称为服务原语。
11
数据单元的名称与关系 业务接入点SAP PDU PCI 业务数据单元SDU 协议数据单元PDU 协议控制信息PCI PCI
N层的PDU=N层PCI+N层SDU N层的SDU=N+1层的PDU
12
服务(service) 面向连接的服务 非连接服务 首先要在信源与信宿之间建立连接,然后在此连接上通信,最后拆除连接。
特点:占用一定的资源,可靠,按序传送 非连接服务 传送数据不需要建立连接,即有即送。 将每个数据单元打包,在包头添加地址信息。 特点:每个数据包独自寻路(重复劳动),同一数据流的包可能经由不同的路径到达目的地,到达的顺序也可能颠倒。 什么是服务呢?你去饭店吃饭,饭店为你提供餐饮服务,去旅店,它为你提供住宿服务,那么通信网为用户提供什么样的服务呢?用户又有什么样的服务需求呢?一种服务可以从不同的角度去描述,从服务的类型上讲,有面向连接的服务和非连接服务,从功能上说,有数据传输服务、连接建立服务、请求应答服务等,从可靠性角度可分为可靠与不可靠服务,从服务的需求上又可分为实时与非实时等。 下面我们主要介绍两种服务类型面向连接的服务和非连接服务,并分析两者的区别。 面向连接的服务(connection-oriented service):首先要在源和目的端的对等实体之间建立连接,然后在此连接上通信,最后拆除连接。就好像电话系统,当你需要打电话时,首先要拨号接通对方的电话,然后才能通话,最后挂机。如果电话不通,你就无法通话。面向连接的服务也是如此,如果连接没有建立就无法传输数据。这种服务的特点是可靠、按序传送但要占用一定的资源。由于该类服务是在连接的基础上通信,因此发送的数据是否正确无误地发送到对方,只需要求对方返回确认消息,如果对方没有收到相应的数据,发送方会重发该数据,直到对方正确收到,但这样也会引入额外的负载和延时。面向连接的服务也可看作一个从源到目的端建立起来的管道,发送方吧数据输入到管道内,接收方在另一端将它们取出来,大多数情况下,数据位保持原来的顺序,按序到达。面向连接的服务为了保持该连接的一些状态参数,需要占用端系统或中间转发系统的资源,如传输层的面向连接服务占用端系统的存储空间,网络层和链路层的面向连接则要占用转发设备的存储空间,(而物理层的面向连接其实就是电路交换,占用的是物理信道。——个人理解)。 非连接服务(connetionless service ):传输数据不需要建立连接,即有即送。但每个数据包都需要携带完整的地址信息,在中间转发系统被独立路由。其特点是由于每个数据包独自寻路,同一数据流的包可能经由不同的路径到达目的地,到达的顺序也可能颠倒,且可靠性差。就像邮件系统,寄信前不需要与对方打招呼,每一封信件都需写上地址,独立传送,信的传送时间有长有短,也有可能丢失。
13
服务原语(primitive) 服务原语分为4种类型: 原语一般都携带参数。
请求(request):一个实体请求做某项服务 指示(indication):一个实体被告知做某项服务 响应(response):一个实体发出响应 证实(confirm):请求得到响应 原语一般都携带参数。 证实型(confirmed)和非证实型(unconfirmed)服务的区别: 证实型服务包含所有4种服务原语。 非证实型服务只包含请求和指示2种服务原语。 N+1层 协议实体 N层 N-1层 响应 指示 请求 证实 使用的服务 提供的服务 一个服务通常可以由一组原语()操作来描述,服务原语由原语名和原语参数两部分组成(类似编程时的程序调用和参数传递 )。在OSI模型中,服务原语分为4种类型: 请求(request):一个实体请求做某项服务 指示(indication):一个实体被告知做某项服务 响应(response):一个实体发出响应 证实(confirm):请求得到响应 对于需要确认的服务(证实型服务)需包含所有4种服务原语,而不需要确认的服务(非证实型服务)则只需包含请求和指示2种服务原语。
14
服务原语工作示意图 N+1层 N层 N+1层 request indication response confirm 计算机A 计算机B
15
服务原语工作示例 1 COENNCT.request dial 2 CONNECT.indication ring 3 CONNECT.response pick up 4 CONNECT.confirm ringing stops 5 DATA.request say something 6 DATA.indication hears voice 7 DISCONNECT.request caller hangs up 8 DISCONNECT.indication busy tone
16
TCP Client-Server交互流程
TCP Server socket() bind() TCP Client listen() socket() accept() 建立连接 connect() 请求数据 recv() send() 虽然,每一层的服务可以由相应的服务原语描述,但较为下层的服务通常在操作系统或网卡中执行,对于大多数用户来说,能够接触的往往是传输层向应用层提供的服务,也就是应用程序编程接口(API)。在TCP/IP模型中,传输层向应用层提供面向连接的可靠服务和非连接的不可靠服务,分别用TCP协议和UDP协议规范。如图所示是一对TCP客户-服务器对的通信流程。 在给定的一对进程间的通信会话中,发起通信的进程称为客户,在会话中等待联系的进程是服务器。就好像商品买卖中的客户和商家,客运服务中的旅客与客运系统。 多数应用程序都是通过通信进程对组成,每对中的两个进程互相发送报文,进程通过它的套接字在网络上发送和接收报文。套接字好比是车站或机场,旅客进入车站通过客运系统运送到另一个城市的车站。 应用进程通过API接口编程也叫套接字编程,不同的操作系统或编程语言其调用的原语名称或参数都会有所区别。 响应数据 send() recv() 文件结束标识 recv() closesocket() closesocket()
17
2.3ISO-OSI模型 国际标准化组织(International Standard Organization)
开放系统互连(Open System Interconnection) 2.3ISO-OSI模型 OSI mnemonics All People Seem To Need Data Processing Please Do Not Throw Sausage Pizza Away 应用层 表示层 会话层 传输层 网络层 如图所示是国际标准化组织ISO规范的开放系统互连(OSI)参考模型,它共有7层,从上到下分别是应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。应用层的数据单元作为表示层的业务数据单元通过表示层的协议被封装在表示层的数据单元内,成为表示层的协议数据单元,而该数据单元又会作为会话层的业务数据单元被封装到会话层的协议数据单元中去。什么是封装(encapsulation)呢?它的过程就像用信封对信件进行封装,包括信封的格式,地址信息和收信人等,并且,一层套一层(像套娃),直到1层,再由比特流转换成光纤中的光信号或电缆中的电信号。 “透明地传送XX”,则表示,XX在传送前后没有变化。 数据链路层 物理层 每一层都根据本层协议对数据单元 进行封装 定于1983年,1995年修订
18
ISO-OSI模型 分组 帧 PDU: Protocol Data Unit 协议数据单元 应用层:
处理应用进程之间所发送和接收的数据中包含的信息内容。 表示层: 在两个应用层之间的传输过程中负责数据的表示语法 会话层: 负责建立(或清除)在两个通信的表示层之间的通信通道,包括交互管理、同步,异常报告。 传输层: 为会话层提供与下面网络无关的可靠消息传送机制 网络层: 路由、转发,拥塞控制 数据链路层: 成帧,差错控制、流量控制,物理寻址,媒体访问控制 分组 物理层: 缆线,信号的编码,网络接插件的电、机械接口 帧 PDU: Protocol Data Unit 协议数据单元
19
2.4 TCP/IP模型 主机至网络层(或网络接口层),在TCP/IP模型中很少提及。
20
2.4 TCP/IP模型 互连网层:提供非连接的分组交换功能
21
2.4 TCP/IP模型 传输层:提供可靠的面向连接的传输层协议TCP和不可靠的非连接传输层协议UDP。
22
2.4 TCP/IP模型 应用层:向用户提供应用服务。如FTP,TELNET等
23
TCP/IP模型
24
2.5 OSI与TCP/IP模型的比较 相同点: 1.都是基于独立的协议栈概念。 2.两者都有功能相似的应用层、传输层、网络层。 不同点:
25
Internet体系与数据流程示意图 network data link physical application transport
802.3 802.11 802.11b物理层
26
2.6 网络的分类 从网络连接的区域看网络可分为:
个域网(Personal Area Network, PAN ):只有数十米的区域,有蓝牙(802.15)、ZigBee( )以及UWB(超宽带)等技术 局域网(Local Area Network,LAN):10m~nkm,大楼,校园 城域网(Metropolitan Area Network,MAN):城市,几十公里 广域网(Wide Area Network,WAN):国家和地区,100km~1000km 互连网(internet):由众多网络互连而成
27
internet
28
从传输媒体看 从功能上分 从网络使用者分 从连接方式看 有线网络 无线网络 主干网(backbone):高速,功能简捷
接入网(access network):功能复杂,种类繁多 从网络使用者分 公用网(public network):指国家的电信公司或ISP出资建造的大型网络,公众通过缴费即可使用。 专用网(private network):指某个单位所有,仅为本单位人员提供的网络。 从连接方式看 广播型网络:多个用户共享同一信道的网络,也称共享媒体型网络 点-点网络:由许多点-点的链路连接而成,也称交换型网络
29
小结 本章要求 作业 重点掌握OSI七层模型和TCP/IP模型,熟悉网络体系结构(层、服务、协议等基本概念)
第四版,第一章:13,18,20,21,22,33,36 或第五版,第一章:16,17,31,34, 补充:1.在无连接通信和面向连接的通信两者之间,最主要的区别是什么? 2.OSI的哪一层处理以下问题:(a)把传输的位流分成帧,(b)在通过子网的时候决定使用哪条路由路径.
Similar presentations