通俗讲解OSI七层模型交换机 路由器
国际标准化组织 ISO 于 1983 年正式提出了开放式系统互联模型(通称 ISO/OSI)。将整个⽹络通信的功能划分为 7 个层次
OSI参考模型将整个⽹络通信的功能划分为 7 个层次,这些层就像我们吃的洋葱、卷⼼菜的⼀样:每⼀层都将其下⾯的层遮起来。下⼀层次的细节被隐藏起来。如果你将洋葱⽪剥开往⾥看,你⼀定会流下许多眼泪,OSI模型也是如此,越往下看越难理解,只要你不怕流泪、⿇烦,不放弃你就会成功。
物理层:⽹卡,⽹线,集线器,中继器,调制解调器
数据链路层:⽹桥,交换机
⽹络层:路由器
⽹关⼯作在第四层传输层及其以上
集线器是物理层设备,采⽤⼴播的形式来传输信息。
交换机就是⽤来进⾏报⽂交换的机器。多为链路层设备(⼆层交换机),能够进⾏地址学习,采⽤存储转发的形式来交换报⽂.。
路由器的⼀个作⽤是连通不同的⽹络,另⼀个作⽤是选择信息传送的线路。选择通畅快捷的近路,能⼤⼤提⾼通信速度,减轻⽹络系统通信负荷,节约⽹络系统资源,提⾼⽹络系统畅通率。
交换机和路由器的区别
交换机拥有⼀条很⾼带宽的背部总线和内部交换矩阵。交换机的所有的端⼝都挂接在这条总线上,控制电路收到数据包以后,处理端⼝会查内存中的地址对照表以确定⽬的MAC(⽹卡的硬件地址)的NIC(⽹卡)挂接在哪个端⼝上,通过内部交换矩阵迅速将数据包传送到⽬的端⼝,⽬的MAC若不存在则⼴播到所有的端⼝,接收端⼝回应后交换机会“学习”,并把它添加⼊内部MAC地址表中。
使⽤交换机也可以把⽹络“分段”,通过对照MAC地址表,交换机只允许必要的⽹络流量通过交换机。通过交换机的过滤和转发,可以有效的隔离⼴播风暴,减少误包和错包的出现,避免共享冲突。
交换机在同⼀时刻可进⾏多个端⼝对之间的数据传输。每⼀端⼝都可视为独⽴的⽹段,连接在其上的⽹络设备独⾃享有全部的带宽,⽆须同其他设备竞争使⽤。当节点A向节点D发送数据时,节点B可同时向节点C发送数据,⽽且这两个传输都享有⽹络的全部带宽,都有着⾃⼰的虚拟连接。假使这⾥使⽤的是10Mbps的以太⽹交换机,那么该交换机这时的总流通量就等于2×10Mbps=20Mbps,⽽使⽤10Mbps的共享式HUB时,⼀个HUB的总流通量也不会超出10Mbps。
总之,交换机是⼀种基于MAC地址识别,能完成封装转发数据包功能的⽹络设备。交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和⽬标接收者之间建⽴临时的交换路径,使数据帧直接由源地址到达⽬的地址。
从过滤⽹络流量的⾓度来看,路由器的作⽤与交换机和⽹桥⾮常相似。但是与⼯作在⽹络物理层,从物理上划分⽹段的交换机不同,路由器使⽤专门的软件协议从逻辑上对整个⽹络进⾏划分。例如,⼀台⽀持IP协议的路由器可以把⽹络划分成多个⼦⽹段,只有指向特殊IP地址的⽹络流量才可以通过路由器。对于每⼀个接收到的数据包,路由器都会重新计算其校验值,并写⼊新的物理地址。因此,使⽤路由器转发和过滤数据的速度往往要⽐只查看数据包物理地址的交换机慢。但是,对于那些结构复杂的⽹络,使⽤路由器可以提⾼⽹络的整体效率。路由器的另外⼀个明显优势就是可以⾃动过滤⽹络⼴播。
集线器与路由器在功能上有什么不同?
⾸先说HUB,也就是集线器。它的作⽤可以简单的理解为将⼀些机器连接起来组成⼀个局域⽹。⽽交换机(⼜名交换式集线器)作⽤与集线器⼤体相同。但是两者在性能上有区别:集线器采⽤的式共享带宽的⼯作⽅式,⽽交换机是独享带宽。这样在机器很多或数据量很⼤时,两者将会有⽐较明显的。⽽路由器与以上两者有明显区别,它的作⽤在于连接不同的⽹段并且到⽹络中数据传输最合适的路
径。路由器是产⽣于交换机之后,就像交换机产⽣于集线器之后,所以路由器与交换机也有⼀定联系,不是完全独⽴的两种设备。路由器主要克服了交换机不能路由转发数据包的不⾜。
总的来说,路由器与交换机的主要区别体现在以下⼏个⽅⾯:
(1)⼯作层次不同
最初的的交换机是⼯作在数据链路层,⽽路由器⼀开始就设计⼯作在⽹络层。由于交换机⼯作在数据链路层,所以它的⼯作原理⽐较简单,⽽路由器⼯作在⽹络层,可以得到更多的协议信息,路由器可以做出更加智能的转发决策。
(2)数据转发所依据的对象不同
交换机是利⽤物理地址或者说MAC地址来确定转发数据的⽬的地址。⽽路由器则是利⽤IP地址来确定数据转发的地址。IP地址是在软件中实现的,描述的是设备所在的⽹络。MAC地址通常是硬件⾃带的,由⽹卡⽣产商来分配的,⽽且已经固化到了⽹卡中去,⼀般来说是不可更改的。⽽IP地址则通常由⽹络管理员或系统⾃动分配。
(3)传统的交换机只能分割冲突域,不能分割⼴播域;⽽路由器可以分割⼴播域
由交换机连接的⽹段仍属于同⼀个⼴播域,⼴播数据包会在交换机连接的所有⽹段上传播,在某些情况下会导致通信拥挤和安全漏洞。连接到路由器上的⽹段会被分配成不同的⼴播域,⼴播数据不会穿过路由器。虽然第三层以上交换机具有VLAN功能,也可以分割⼴播域,但是各⼦⼴播域之间是不能通信交流的,它们之间的交流仍然需要路由器。
(4)路由器提供了防⽕墙的服务
路由器仅仅转发特定地址的数据包,不传送不⽀持路由协议的数据包传送和未知⽬标⽹络数据包的传送,从⽽可以防⽌⼴播风暴。
1、物理层物理层是OSI 参考模型的最低层,且与物理传输介质相关联,该层是实现其他层和通信介质之间的接⼝。是整个开放系统的基础。它的主要任务就是描述为确定与传输媒体的接⼝的⼀些特性,即机械特性、电⽓特性、功能特性以及规程特性,如规定了使⽤电缆和接头的类型、传送信号的电压(⽔晶头、脉冲电压 5v)等,在这⼀层数据还没有被组织,仅作为原始的位流或电⽓电压处理。物理层的主要功能:(1)为数据端设备提供传送数据的通路,⽆论花费多少电缆、光纤、双绞线,都把通信的两个数据终端(电脑、路由器、交换机)设备连接起来,形成⼀条通路;(2)传输数据。⼀是要保证数据能在其上正确通过,必须保证⼀⽅发出“1”时(你好!),另⼀⽅接收到的也是“1”(你好!)⽽不是“0”(再见!)。⼆是要提供⾜够的带宽,以减少信道上的拥塞。三传输数据的⽅式串⾏或并⾏,
半双⼯或全双⼯,同步或异步传输的需要;(3)完成物理层的管理⼯作,如监视物理层所有连接,任何的连接断开都会⽴即得到检测。物理层相应设备包括⽹络传输介质(如同轴电缆、双绞线、光缆、⽆线)和连接器等,以及保证物理通信的相关设备,如中继器、共享式 HUB、放⼤设备等。
2、数据链路层数据链路层是 OSI 参考模型的第 2 层,数据链路层将物理层不可靠的传输媒体变成可靠的传输通路提供给⽹络层,它把从物理层来的原始数据打包成帧。负责帧在计算机之间的⽆差错信息传递。物理层的传输媒体及其连接是长期的,⽹线、光纤时刻和终端设备(电脑、路由器)连接着。⽽数据链路连接是有⽣存期的,在连接⽣存期内,收发两端可以进⾏不等的⼀次或多次数据通信。就像打电话,电话拨通后就建⽴了⼀次电话连接(数据链路),通话完毕要挂掉,通话结束了但电话线还连接着,每次打电话都要拨通号建⽴连接,当然电脑的每次通信也都要经过建⽴通信联络和拆除通信联络两过程。这种建⽴起来的数据收发关系就叫作数据链路。
3、⽹络层⽹络层是 OSI 参考模型中最复杂、最重要的⼀层。⽹络层的产⽣也是⽹络发展的结果,当数据终端增多时,它们之间需要中继设备相连。此时会出现⼀台终端要求不只是与唯⼀的⼀台⽽是能和多台终端通信的情况,这就产⽣了把任意两台数据终端设备的数据链接
起来的问题,也就是路由,进⽽实现两个端系统之间的数据传送。⼯作在⽹络层的协议有 TCP/IP、IPX/SPX、AppleTalk 等。⽹络层的主要提供以下功能:(1)路径选择与中继。物理层和数据链路层
都只解决直接相连的两节点间的数据传输问题,⽹络层则是 OSI 模型中第⼀个能实现不⼀定需要直接相连的节点或设备间的数据传输问题的协议层;(2)拥塞控制、流量控制。当通信⼦⽹中有太多的分组时,⽹络性能降低,这种情况就叫拥塞,是⼀个全局性问题,涉及主机、路由器等很多因素。流量控制则与点到点的通信量有关,主要解决快速发送⽅与慢速接收⽅的问题,是局部问题,⼀般都是基于反馈进⾏控制的。⽹络中链路层、⽹络层、传输层等都存在,其控制⽅法⼤体⼀致,⽬的是防⽌通信量过⼤造成通信于⽹性能下降。
在实现⽹络层功能时,需要解决的主要问题如下:
寻址:数据链路层中使⽤的物理地址(如MAC地址)仅解决⽹络内部的寻址问题。在不同⼦⽹之间通信时,为了识别和到⽹络中的设备,每⼀⼦⽹中的设备都会被分配⼀个唯⼀的地址。由于各⼦⽹使⽤的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址)。
交换:规定不同的信息交换⽅式。常见的交换技术有:线路交换技术和存储转发技术,后者⼜包括报⽂交换技术和分组交换技术。
路由算法:当源节点和⽬的节点之间存在多条路径时,本层可以根据路由算法,通过⽹络为数据分组选择最佳路径,并将信息从最合适的路径由发送端传送到接收端。
连接服务:与数据链路层流量控制不同的是,前者控制的是⽹络相邻节点间的流量,后者控制的是从源节点到⽬的节点间的流量。其⽬的在于防⽌阻塞,并进⾏差错检测。
4、传输层传输层是 OSI 参考模型的第 4 层中,介于应⽤层和⽹络层之间的传输层是分层⽹络体系结构的重⼼部分。是惟⼀负责总体数据传输和控制的⼀层。它的重要任务就是直接给运⾏在不同主机上的应⽤程序提供通信服务,⽽⽹络层协议为不同主机提供逻辑通信。在OSI 模型中传输层是负责数据通信的最⾼层,⼜是⾯向⽹络通信的低三层和⾯向信息处理的⾼三层之间的中间层。因为⽹络层不⼀定保证服务的可靠,⽤户也不能直接对通信⼦⽹加以控制,因此在⽹络层之上加⼀层即传输层以改善传输质量。原因世界上各种通信⼦⽹在性能上存在着很⼤差异。如电话交换⽹,分组交换⽹,局域⽹等通信⼦⽹都可互连,但它们提供的吞吐量,传输速率,数据延迟通信费⽤各不相同,传输层就承担了调节上述通信⼦⽹的差异,使会话层感受不到。此外传输层还具备差错恢复,流量控制等功能。传输层⽀持的协议有:TCP/IP 的传输控制协议 TCP、Novell的顺序包交换SPX及Microsoft NetBIOS/NetBEUI等。
主要功能如下:
传输连接管理:提供建⽴、维护和拆除传输连接的功能。传输层在⽹络层的基础上为⾼层提供“⾯向连接”和“⾯向⽆接连”的两种服务。
处理传输差错:提供可靠的“⾯向连接”和不太可靠的“⾯向⽆连接”的数据传输服务、差错控制和流量控制。在提供“⾯向连接”服务时,通过这⼀层传输的数据将由⽬标设备确认,如果在指定的时间内未收到确认信息,数据将被重发。
监控服务质量。
5、会话层会话层的主要功能是在两个节点间建⽴、维护和释放⾯向⽤户的连接,对进⾏会话的两台机器间建⽴对话控制,管理会话如管理哪边发送、何时发送、占⽤多长时间等,保证会话数据可靠传送。会话层还提供了同步服务,例如你正在下载⼀个 100M 的⽂件,当下载到 95M 时,⽹络断线了,这时是不需要重头再传的。会话层需要决定使⽤全双⼯通信还是半双⼯通信。如果采⽤全双⼯通信,则会话层在对话管理中做的⼯作就很少;如果采⽤半双⼯通信,会话层则通过⼀个数据令牌来协调会话,保证每次只有⼀个⽤户能够传输数据。当建⽴⼀个会话时,先让⼀个⽤户得到令牌。只有获得令牌的⽤户才有权进⾏发送数据。
会话层的具体功能如下:
会话管理:允许⽤户在两个实体设备之间建⽴、维持和终⽌会话,并⽀持它们之间的数据交换。例如提供单⽅向会话或双向同时会话,并管理会话中的发送顺序,以及会话所占⽤时间的长短。
会话流量控制:提供会话流量控制和交叉会话功能。
寻址:使⽤远程地址建⽴会话连接。l
出错控制:从逻辑上讲会话层主要负责数据交换的建⽴、保持和终⽌,但实际的⼯作却是接收来⾃传输层的数据,并负责纠正错误。会话控制和远程过程调⽤均属于这⼀层的功能。但应注意,此层检查的错误不是通信介质的错误,⽽是磁盘空间、打印机缺纸等类型的⾼级错误。
6、表⽰层表⽰层是处理所有与数据表⽰及传输有关的⼀层,为异种机通信提供⼀种公共语⾔,为上层⽤户提供数据信息的语法表⽰变
换,屏蔽不同计算机在信息表⽰⽅⾯的差异,即⽤⼀种⼤家⼀致同意的标准⽅法对数据编码。进⾏数据加密、数据压缩传输、字符集转换等以便能进⾏互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使⽤的数据表⽰法不同。
表⽰层的具体功能如下:
数据格式处理:协商和建⽴数据交换的格式,解决各应⽤程序之间在数据格式表⽰上的差异。
数据的编码:处理字符集和数字的转换。例如由于⽤户程序中的数据类型(整型或实型、有符号或⽆符号等)、⽤户标识等都可以有不同的表⽰⽅式,因此,在设备之间需要具有在不同字符集或格式之间转换的功能。
压缩和解压缩:为了减少数据的传输量,这⼀层还负责数据的压缩与恢复。
数据的加密和解密:可以提⾼⽹络的安全性。
7、应⽤层应⽤层是最终⽤户应⽤程序访问⽹络服务的地⽅,它负责识别并证实通信双⽅的可⽤性,进⾏数据传输完整性控制,使⽹络应⽤程序(如电⼦邮件、P2P⽂件共享、多⽤户⽹络游戏、⽹络浏览、⽬录查询等)能够协同⼯作。应⽤层是 OSI 参考模型的最⾼层,它为⽤户的应⽤进程访问 OSI 环境提供服务。应⽤层关⼼的主要是进程之间的通信⾏为,因⽽对应⽤进程所进⾏的抽象只保留了应⽤产程与应⽤进程间交互⾏为的有关部分。这种现象实际上是对应⽤进程某种程度上的简化。
⽤户接⼝:应⽤层是⽤户与⽹络,以及应⽤程序与⽹络间的直接接⼝,使得⽤户能够与⽹络进⾏交互式联系。
实现各种服务:该层具有的各种应⽤程序可以完成和实现⽤户请求的各种服务。
8、结语 OSI 模型(应称为 OSI 理想化的模型)本⾝不是⽹络体系结构的全部内容,这是因为它并未确切地描述⽤于各层的协议和服务,它仅仅告诉我们每⼀层应该做什么。各层之间相互独⽴,某⼀层只要了解下⼀层通过接⼝所提供的服务,⽽不需了解其实现细节。它的灵活性好,若某⼀层的内容发⽣变化,只要接⼝关系不变,上下层均不受影响,同时也便于程序的实现、调试和维护。不过它仅仅是⼀种⽹络教学模型,到⽬前为⽌,OSI 模型还没有实现。
由于OSI是⼀个理想的模型,因此⼀般⽹络系统只涉及其中的⼏层,很少有系统能够具有所有的7层,并完全遵循它的规定。
在7层模型中,每⼀层都提供⼀个特殊的⽹络功能。从⽹络功能的⾓度观察:下⾯4层(物理层、数据链路层、⽹络层和传输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主;第4层作为上下两部分的桥梁,是整个⽹络体系结构中最关键的部分;⽽上3层(会话层、表⽰层和应⽤层)则以提供⽤户与应⽤程序之间的信息和数据处理功能为主。简⾔之,下4层主要完成通信⼦⽹的功能,上3层主要完成资源⼦⽹的功能。