概述
OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义、一个规范。它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如网卡、交换机、路由器、防火墙。
OSI 七层模型是一种框架性的设计方法,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能就是帮助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区分开来,
通过七个层次化的结构模型使不同的系统、不同的网络之间实现可靠的通信。
TCP/IP模型分为:应用层、传输层、网络层、网络接口层。 其中应用层对应OSI的应用层、表示层、会话层;传输层对应OSI的传输层,网络层对应OSI的网络层、网络接口层对接OSI的数据链路层和物理层。
OSI结构与TCP/IP结构的对比:OSI结构更加严谨,成本更高;TCP/IP结构较简单,成本更低。
模型优点
建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题。它的最大优点是将服务、接口和协议这三个概念明确地区分开来:
服务说明某一层为上一层提供一些什么功能,接口说明上一层如何使用下层的服务,而协议涉及如何实现本层的服务。
各层之间具有很强的独立性,互连网络中各实体采用什么样的协议是没有限制的,只要向上提供相同的服务并且不改变相邻层的接口就可以了。
(1)高层不需要知道低层是如何实现的,只需使用下层协议就可以了。
(2)当任何一层发生变化时,只要层间接口不发生变化,那么这种变化就不会影响到其他层,提高了网络的适应性。(也是OSI的工作原理)
网络七层的划分也是为了使网络的不同功能模块(不同层次)分担起不同的职责,从而带来如下好处:
● 减轻问题的复杂程度,一旦网络发生故障,可迅速定位故障所处层次,便于查找和纠错以及维护;
● 在各层分别定义标准接口,使具备相同对等层的不同网络设备能实现互操作,各层之间则相对独立,一种高层协议可放在多种低层协议上运行;
● 能有效刺激网络技术革新,因为每次更新都可以在小范围内进行,不需对整个网络动大手术;
●每层的功能和提供的服务都有精确的定义和说明,有利于促进标准化。
物理层(Physical Layer): 比特流传输
定位:解决两个硬件之间怎么通信的问题,常见的物理媒介有光纤、电缆、中继器等。它主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。
它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。
在物理层,数据还没有被组织,仅作为原始的位流或电气电压处理。
代表:网卡、光导纤维、同轴电缆、双绞线、中继器、集线器、调制解调器;
数据链路层(Datalink Layer): 控制网络层与物理层之间通信
定位:控制网络层与物理层之间的通信。在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路。通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。
即在不可靠的物理线路上进行数据的可靠传递。
为了保证传输,发送方数据链路层将从网络层接收到的数据被分割成特定的可被物理层传输的帧;接收方数据链路层将物理层的比特流整合成帧。
帧是用来移动数据的结构包,它不仅包括原始数据,还包括发送方和接收方的物理地址以及检错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。
如果在传送数据时,接收点检测到所传数据中有差错,就要通知发送方重发这一帧。
该层的作用包括:帧定界(数据的成帧与同步) 、物理地址寻址、流量控制、链路管理(建立、维持、释放)、差错控制(数据的向前检错、重发)等。
代表:MAC地址、网桥、网卡、二层交换机; ISDN、以太网、ATM、Wi-Fi、DTM、令牌环,FDDI;SDLC、HDLC、PPP、PPPOE、STP、帧中继;802.11、802.3。
网络层(Network Layer):IP寻址和路由选择
定位:主要功能是寻址和路径选择:将网络地址翻译成对应的物理地址,分割和重新组合数据包(Packet),并决定如何将数据从发送方路由到接收方。
当数据包的大小比数据链路层允许的最大数据帧还要大时,网络层将其分成多个数据段,在接收端负责将多个数据段组合数据包。即包的拆分和重组。
网络层通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费来决定从一个网络中节点A 到另一个网络中节点B 的最佳路径。
网络层负责在源机器和目标机器之间建立它们所使用的路由。这一层本身没有任何错误检测和修正机制,因此,网络层必须依赖于端端之间的由DLL提供的可靠传输服务。
网络层是可选的,它只用于当两个计算机系统处于不同的由路由器分割开的网段这种情况,或者当通信应用要求某种网络层或传输层提供的服务、特性或者能力时。
例如,当两台主机处于同一个L A N网段的直接相连这种情况,它们之间的通信只使用L A N的通信机制就可以了(即OSI 参考模型的一二层)。
在网络层,数据的单位称为数据包(Packet)。
数据包有两种,一种叫做用户数据包(Data packets),是上层传下来的用户数据;另一种叫路由更新包(Route update packets),是直接由路由器发出来的,用来和其他路由器进行路由信息的交换,以更新路由表。
代表:路由器;IP、IPV4、IPV6、IPX、ARP协议、RIP协议、OSPF协议、ICMP协议、DHCP。
传输层(Transport Layer):建立、维护、管理端到端连接
1) 传输层建立了主机端到端连接并定义了一些传输数据的协议和端口号。传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率。通过定义端口号来区分不同的上层应用。
2) 将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。传输层按照网络能处理的最大尺寸将较长的数据包进行强制分割。例如,以太网接收数据的范围为:64字节~1518字节。排序:发送方节点的传输层将数据分割成较小的数据片,
同时对每一数据片安排一序列号,以便数据到达接收方节点的传输层时,能以正确的顺序重组。
从传输层开始,数据开始被分割。在传输层,数据单位称为数据段(segment)。
代表:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的),SPX (序列包交换)。
会话层(Session Layer):建立、维护、管理会话连接
定位:会话层的功能包括建立通信链接,保持会话过程通信链接的畅通,同步两个节点之间的对话,决定通信是否被中断以及通信中断时决定从何处重新发送。
即负责在网络中的两节点之间建立、维护(同步)和终止通信以及提供单工、半双工、双工三种通信模式。
表示层(Presentation Layer):数据格式化,加密、解密
定位:负责数据的编码、转化、加密、解密、压缩、解压缩等数据格式转化。是应用程序和网络之间的翻译官,是用户界面与二进制进行转换的地方。
表示层根据不同的应用目的将数据处理为不同的格式,表现出来就是我们看到的各种各样的文件扩展名。
表示层管理数据的解密与加密,如系统口令的处理。除此之外,表示层协议还对图片和文件格式信息进行解码和编码。
应用层(Application Layer):为应用程序提供网络服务
定位:确定通信对象;为操作系统或网络应用程序提供网络服务接口以便它们能够使用网络服务,是最靠近用户的OSI层,为用户的应用程序提供网络服务。
其任务是显示接收到的信息,把用户的新数据发送到低层。
该层包括所有和应用程序协同工作,利用基础网络交换应用程序专用的数据的协议。 负责决定一个进程的可用性和是否有可用的资源分配给该进程。
应用层提供的服务包括文件传输、文件管理以及电子邮件的信息处理。
代表:网关、DNS、FTP、SNMP、HTTP。
高低层:
物理层、数据链路层、网络层是OSI的底层,负责数据在网络间传输;传输层是中间层;会话层、表示层、应用层是OSI的高层。
高层实现资源子网的功能,其中的实体为进程。实现端到端的通信。底层协议实现通信子网的功能,其中的实体为网络互联设备和网络通信媒介,实现点到点的通信。
在高层,数据是整体的,还没有被分割。高层的功能为处理用户接口、数据格式及应用访问。主要由操作系统实现。
对等层通信:
在分层模型中,对等是一个很重要的概念,因为只有双方层对等,才能相互通信。一方在某层上的协议是什么,对方在同一层次上也必须是什么协议。
两个网络在物理层就相同,使用中继器(Repeater:在电缆之间逐个复制二进制位(bit))就可以连起来;如果两个网络物理层不同,链路层相同,使用桥接器(Bridge:在LAN之间存储和转发帧(frame))可以连起来;
如果两个网络物理层、链路层都不同,而网络层相同,使用路由器可以互连;如果两个网络协议完全不同,使用协议转换器(网关)可以互连。
OSI参考模型的分层禁止了不同主机间的对等层之间的直接通信。因此主机A的每一层必须依靠主机A相邻层提供的服务来与主机B的对应层通信。
数据的封装与解封装:
当主机跨越网络向其他设备传输数据时,就要进行数据封装,就是在OSI模 型的每一层加上协议信息。每一层只与接收设备上相应的对等层进行通信。
为了实现通信并交换信息,每一层都使用协议数据单元(Protocol Data Unit,PDU)。在模型中的每一层,这些含有控制信息的PDU被附加到数据上。它们通常被附加到数据字段的报头中,但它们也可以被附加在数据字段的报尾中。
在OSI模型的每一层,通过封装使每个PDU被附加到数据上,而且每个PDU都有特定的名称,其名称取决于在每个报头中所提供的信息。这种PDU信息只能由接收方设备中的对等层读取,在读取之后,报头就被剥离,然后把数据交给上一层。
数据的封装(escapsulation):将控制信息添加到一个PDU的过程称作封装。即数据要通过网络进行传输,要从高层一层一层得向下传送,如果一个主机要传送数据到别的主机,先把数据装到一个特殊协议报头中的过程。
添加到PDU上的控制信息将被远端设备的相同层所解读。
注:在数据链路层和物理层要加FCS,即帧校验序列。以实现错误发现的功能。物理层要加MAC地址。
数据的解封装:将控制信息从PDU剥离的过程就称作解封装。当一个远端设备收到一串比特数据时,它将它们传送给数据链路层进行帧操作。当数据链路层收到一个帧时,它完成以下工作:
读出同层源设备提供的控制信息,从帧中剥离控制信息,将帧传给上一层,同时执行在帧的控制域给出的指令。
数据传送过程:
数据流被送到传输层,通过发送同步包,传输层能够建立一条到接收方设备的虚电路。然后数据流被分割成更小的块,并根据协议创建一个传输层报头(PDU),将它附加到数据字段的报头中。现在,这种数据块就称为数据段。
每个数据段要进行排序,以便数据流能够在接收方精确地重现,与它在发送时的顺序完全一样。
然后,每个数据段被交到网络层,以便通过互联网络实现网络寻址和路由选择。在网络层,使用逻辑寻址(比如IP)将每个数据段送到正确的网络中。网络层协议向来自传输层的数据段中添加控制报头,现在所得到的数据块就称为数据包或数据报。
记住,传输层和网络层一起工作,以在接收方主机中重建数据流,但它们并不将它们的PDU放在本地网段上—这是得到有关路由器或主机信息的唯一方式。
网络层在每个数据段的前面添加报头,并添加逻辑地址(IP地址)。一旦在数据段前面添加了报头,PDU就称为数据包。在数据包中有一个协议字段,用来描述数据是从哪里来的(即上层协议的类型,可能是UDP或TCP),
当数据包到达接收方主机时,这会使网络层将数据段交给正确的传输层协议。
网络层负责找到目的地的硬件地址,这个硬件地址指示了数据包将被送到本地网络的哪一台主机中。通过使用地址解析协议(ARP)就可以做到这一点。网络层的IP协议将查看目的IP地址,并将此地址与它自己的源IP地址和子网掩码进行比较,
如果是一个本地网络请求,本地主机的硬件地址就通过ARP请求来得到;如果数据包是被送往远程主机的,IP协议就查找默认网关的IP地址。
然后,数据包就与本地主机或默认网关的目的硬件地址一起被送交给数据链路层。
数据链路层负责从网络层接收数据包并将它们放到网络介质(有线或无线)上。数据链路层将每个数据包封装成帧,帧的报头中包含了源和目的主机的硬件地址。如果目的设备在一个远程网络中,帧就会被送往路由器,以通过互联网络传送到目的地。
一旦它到达了目的网络,就会使用一个新的帧将数据包送往目的主机。
为了将帧送到网络上,它首先必须被转换成数字信号的形式。帧实际上是1和0的逻辑组,物理层负责将这些数值封装为数字信号,在同一个本地网络中就可以直接传输了。接收方设备将使数字信号实现同步,并从数字信号中提取出1和0,
这时设备就可以构建帧,执行循环冗余校验(CRC),并根据帧的FCS字段中的结果来检验数据是否被正确传送。如果它们匹配,就从帧中取出数据包,然后丢弃剩余的部分。这个过程就称为解封装。
数据包被交到网络层,在这里对地址进行检查。如果地址匹配,就从数据包中取出数据段,然后丢弃剩余的部分。在传输层对数据段进行处理,这里将重建数据流,并向发送方站点确认它收到了每个数据块。然后,它将数据流送往高层的应用程序。
在发送方设备中,数据封装的过程如下:
1. 用户信息转换为数据,以便在网络上传输。
2. 数据转换为数据段,并在发送方和接收方主机之间建立一条可靠的连接。
3. 数据段转换为数据包或数据报,并在报头中放上逻辑地址,这样,每一个数据包都可以通过互联网络进行传输。
4. 数据包或数据报转换为帧,以便在本地网络中传输。在本地网段上,使用硬件(以太网)地址唯一标识每一台主机。
5. 帧转换为比特流,并采用数字编码和时钟方案。
常用概念:
1.计算机网络组成:通常由三部分组成,即资源子网、通信子网和通信协议。
1). 资源子网:是计算机网络中面向用户的部分,负责全网络面向应用的数据处理工作,其主体是连入计算机网络内的所有主计算机,以及这些计算机所拥有的面向用户端的外部设备、软件和可供共享的数据等。
2). 通信子网:是计算机网络中负责数据通信的部分,通信传输媒介可以是双绞线、同轴电缆、无线电通信、微波、光导纤维等。
3). 通信协议:为使网内各计算机之间的通信可靠有效,通信双方双方必须共同遵守的规则和约定。
2. •局域网:是一个通讯系统,他允许数台彼此独立的电脑,在适当的范围内,以适当的传输速率直接进行沟通。一般网络可依其规模来分类,通常我们在办公室或家中使用的,大都属于局域网。
这种网络由于电脑间的距离短,且不必经过太多网络设备的中继,所以感觉上速度较快,但也因此适用范围较小。
3. •广域网(WAN)Wide Area Network:和局域网相对,凡超过局域网范围的,都可以算为广域网。
4. •城域网(MAN)Metropolitan ARea Network:在一个城市范围内操作的网络,或者在物理上使用城市基础电信设施(如地下电缆系统)的网络,有时从WAN中区分出来,称为城域网。
5. •拓扑结构:是指网络中各个站点相互连接的形式,主要有总线型拓扑、星型拓扑、环型拓扑以及它们的混合型。
1)•总线型拓扑:采用单根传输线作为传输媒介,所有的站点都通过相应的硬件接口直接连接到干线电缆即总线上。
2)•星型拓扑:所有站点都连接到一个中心点,此中心点称作网络的集线器(HUB)。
3)•环型拓扑:所有站点彼此串行连接,就象链子一样,构成一个回路或称作环。
4)•混合型拓扑:在居域网之间互连后,会出现某几种拓扑结构的混合形式,即混合型拓扑。
6. •传输媒介:是通信网络中发送方和接受方之间的物理通路,常用的网络传输媒介有双绞线、同轴电缆和光缆等。
1)•双绞线:是综合布线系统中最常用的一种传输媒介,尤其在星型网络拓扑中,双绞线是必不可少的布线材料。双绞线电缆中封装着一对或一对以上的双绞线,为了降低信号的干扰程度,每一对双绞线一般由两根绝缘铜导线相互缠绕而成。
双绞线可分为非屏蔽双绞线(UTP)和屏蔽双绞线(STP)两大类。其中,STP又分为3类和5类两种,而UTP分为3类、4类、5类、超5类四种,同时,6类和7类双绞线也会在不远的将来运用于计算机网络的布线系统。
2)•同轴电缆:是由一根空心的圆柱网状铜导体和一根位于中心轴线的铜导线组成,铜导线、空心圆柱导体和外界之间用绝缘材料隔开。与双绞线相比,同轴电缆的抗干扰能力强,屏蔽性能好,所以常用于设备与设备之间的连接,
或用于总线型网络拓扑中。根据直径的不同,又可分为细缆和粗缆两种。
3)•BNC接头:细缆两端安装BNC连接头,通过专用T型连接器与网卡和集线器(或交换机)相连。
4)•光纤:光纤即光导纤维,是一种细小、柔韧并能传输光信号的媒介,光缆由多条光纤组成。与双绞线和同轴电缆相比,光缆适应了网络对长距离传输大容量信息的要求,在计算机网络中发挥着十分重要的作用。
7.1)•半双工:它的意思是虽然网卡可以接收发送数据,但是一次只能做一种动作,不能同时收发。
2)•全双工:就是能够"同时"接收与发送信号,譬如电话就是一种全双工传输设备,我们在听对方讲话的同时,也可以发话给对方。理论上,全双工传输可以提高网络效率,但是实际上仍是配合其他相关设备才有用。
例如必须选用双绞线的网络缆线才可以全双工传输,而且中间所接的集线器(HUB),也要能全双工传输;最后,所采用的网络操作系统也得支持全双工作业,如此才能真正发挥全双工传输的威力。
冲突:
在同一个网络上,当两个bits同时在媒介中传输时,数据就会发生碰撞,造成损坏,叫做冲突。(冲突(collision):在以太网中,当两个节点同时传输数据时,从两个设备发出的帧将会碰撞,在物理介质上相遇,彼此数据都会被破坏.)
一组连接到同一物理媒介的集合,如果两个设备同时访问媒介,信息将发生冲突,那么这组设备就在同一个冲突域。所有第一层的互连设备都是冲突域的一部分。
解决冲突的方法:方案一:检测冲突,采用竞争的方法或轮流通讯的方法;方案二:使用设备把网络分段(Segmentation)以减少冲突;如:网桥、交换机或路由器。