OSI七层模型详解(物理层、数据链路层、⽹络层、传输层.....
应⽤层协议与硬件)
OSI 七层模型通过七个层次化的结构模型使不同的系统不同的⽹络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输。
完成中继功能的节点通常称为中继系统。在OSI七层模型中,处于不同层的中继系统具有不同的名称。
⼀个设备⼯作在哪⼀层,关键看它⼯作时利⽤哪⼀层的数据头部信息。⽹桥⼯作时,是以MAC头部来决定转发端⼝的,因此显然它是数据链路层的设备。
具体说:
物理层:⽹卡,⽹线,集线器,中继器,调制解调器
数据链路层:⽹桥,交换机
⽹络层:路由器
交换机 路由器⽹关⼯作在第四层传输层及其以上
集线器是物理层设备,采⽤⼴播的形式来传输信息。
交换机就是⽤来进⾏报⽂交换的机器。多为链路层设备(⼆层交换机),能够进⾏地址学习,采⽤存储转发的形式来交换报⽂.。
路由器的⼀个作⽤是连通不同的⽹络,另⼀个作⽤是选择信息传送的线路。选择通畅快捷的近路,能⼤⼤提⾼通信速度,减轻⽹络系统通信负荷,节约⽹络系统资源,提⾼⽹络系统畅通率。
交换机和路由器的区别
交换机拥有⼀条很⾼带宽的背部总线和内部交换矩阵。交换机的所有的端⼝都挂接在这条总线上,控制电路收到数据包以后,处理端⼝会查内存中的地址对照表以确定⽬的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)路由器提供了防⽕墙的服务
路由器仅仅转发特定地址的数据包,不传送不⽀持路由协议的数据包传送和未知⽬标⽹络数据包的传送,从⽽可以防⽌⼴播风暴。
物理层
在OSI参考模型中,物理层(Physical Layer)是参考模型的最低层,也是OSI模型的第⼀层。
物理层的主要功能是:利⽤传输介质为数据链路层提供物理连接,实现⽐特流的透明传输。
物理层的作⽤是实现相邻计算机节点之间⽐特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上⾯的数据链路层不必考虑⽹络的具体传输介质是什么。“透明传送⽐特流”表⽰经实际电路传送后的⽐特流没有发⽣变化,对传送的⽐特流来说,这个电路好像是看不见的。
数据链路层
数据链路层(Data Link Layer)是OSI模型的第⼆层,负责建⽴和管理节点间的链路。该层的主要功能是:通过各种控制协议,将有差错的物理信道变为⽆差错的、能可靠传输数据帧的数据链路。
在计算机⽹络中由于各种⼲扰的存在,物理链路是不可靠的。因此,这⼀层的主要功能是在物理层提供的⽐特流的基础上,通过差错控制、流量控制⽅法,使有差错的物理线路变为⽆差错的数据链路,即提供可靠的通过物理介质传输数据的⽅法。
该层通常⼜被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个⼦层。
MAC⼦层的主要任务是解决共享型⽹络中多⽤户对信道竞争的问题,完成⽹络介质的访问控制;
LLC⼦层的主要任务是建⽴和维护⽹络连接,执⾏差错校验、流量控制和链路控制。
数据链路层的具体⼯作是接收来⾃物理层的位流形式的数据,并封装成帧,传送到上⼀层;同样,也
将来⾃上层的数据帧,拆装为位流形式的数据转发到物理层;并且,还负责处理接收端发回的确认帧的信息,以便提供可靠的数据传输。
⽹络层
⽹络层(Network Layer)是OSI模型的第三层,它是OSI参考模型中最复杂的⼀层,也是通信⼦⽹的最⾼⼀层。它在下两层的基础上向资源⼦⽹提供服务。其主要任务是:通过路由选择算法,为报⽂或分组通过通信⼦⽹选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建⽴、维持和终⽌⽹络的连接。具体地说,数据链路层的数据在这⼀层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从⼀个⽹络设备传送到另⼀个⽹络设备。
⼀般地,数据链路层是解决同⼀⽹络内节点之间的通信,⽽⽹络层主要解决不同⼦⽹间的通信。例如在⼴域⽹之间通信时,必然会遇到路由(即两节点间可能有多条路径)选择问题。
应⽤层
应⽤层(Application Layer)是OSI参考模型的最⾼层,它是计算机⽤户,以及各种应⽤程序和⽹络之间的接⼝,其功能是直接向⽤户提供服务,完成⽤户希望在⽹络上完成的各种⼯作。它在其他6层⼯作的基础上,负责完成⽹络中应⽤程序与⽹络操作系统之间的联系,建⽴与结束使⽤者之间的联系,并
完成⽹络⽤户提出的各种⽹络服务及应⽤所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应⽤程序间的⼯作。
应⽤层为⽤户提供的服务和协议有:⽂件服务、⽬录服务、⽂件传输服务(FTP)、远程登录服务(Telnet)、电⼦邮件服务(E-mail)、打印服务、安全服务、⽹络管理服务、数据库服务等。上述的各种⽹络服务由该层的不同应⽤协议和程序完成,不同的⽹络操作系统之间在功能、界⾯、实现技术、对硬件的⽀持、安全可靠性以及具有的各种应⽤程序接⼝等各个⽅⾯的差异是很⼤的。应⽤层的主要功能如下:⽤户接⼝:应⽤层是⽤户与⽹络,以及应⽤程序与⽹络间的直接接⼝,使得⽤户能够与⽹络进⾏交互式联系。
实现各种服务:该层具有的各种应⽤程序可以完成和实现⽤户请求的各种服务。
OSI7层模型的⼩结
由于OSI是⼀个理想的模型,因此⼀般⽹络系统只涉及其中的⼏层,很少有系统能够具有所有的7层,并完全遵循它的规定。
在7层模型中,每⼀层都提供⼀个特殊的⽹络功能。从⽹络功能的⾓度观察:下⾯4层(物理层、数据链路层、⽹络层和传输层)主要提供数据传输和交换功能,即以节点到节点之间的通信为主;第4层作
为上下两部分的桥梁,是整个⽹络体系结构中最关键的部分;⽽上3层(会话层、表⽰层和应⽤层)则以提供⽤户与应⽤程序之间的信息和数据处理功能为主。简⾔之,下4层主要完成通信⼦⽹的功能,上3层主要完成资源⼦⽹的功能。
以下是TCP/IP分层模型
┌────------────┐┌─┬─┬─-┬─┬─-┬─┬─-┬─┬─-┬─┬─-┐
│ ││D│F│W│F│H│G│T│I│S│U│ │
│ ││N│I│H│T│T│O│E│R│M│S│其│
│第四层,应⽤层 ││S│N│O│P│T│P│L│C│T│E│ │
│ ││ │G│I│ │P│H│N│ │P│N│ │
│ ││ │E│S│ │ │E│E│ │ │E│它│
│ ││ │R│ │ │ │R│T│ │ │T│ │
└───────------─┘└─┴─┴─-┴─┴─-┴─┴─-┴─┴─-┴─┴-─┘
┌───────-----─┐┌─────────-------┬──--------─────────┐
│第三层,传输层 ││ TCP │ UDP │
└───────-----─┘└────────-------─┴──────────--------─┘
┌───────-----─┐┌───----──┬───---─┬────────-------──┐
│ ││ │ICMP│ │
│第⼆层,⽹间层 ││ └──---──┘ │
│ ││ IP │
└────────-----┘└────────────────────-------------─-┘
┌────────-----┐┌─────────-------┬──────--------─────┐
│第⼀层,⽹络接⼝││ARP/RARP │ 其它 │
└────────------┘└─────────------┴─────--------──────┘
TCP/IP四层参考模型
TCP/IP协议被组织成四个概念层,其中有三层对应于ISO参考模型中的相应层。ICP/IP协议族并不包含物理层和数据链路层,因此它不能独⽴完成整个计算机⽹络系统的功能,必须与许多其他的协议协同⼯作。
TCP/IP分层模型的四个协议层分别完成以下的功能:
第⼀层:⽹络接⼝层
包括⽤于协作IP数据在已有⽹络介质上传输的协议。实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能。相反,它定义像地址解析协议(Address Resolution Protocol,ARP)这样的协议,提供TCP/IP协议的数据结构和实际物理硬件之间的接⼝。
第⼆层:⽹间层
对应于OSI七层参考模型的⽹络层。本层包含IP协议、RIP协议(Routing Information Protocol,路由信息协议),负责数据的包装、寻址和路由。同时还包含⽹间控制报⽂协议(Internet Control Message Protocol,ICMP)⽤来提供⽹络诊断信息。
第三层:传输层
对应于OSI七层参考模型的传输层,它提供两种端到端的通信服务。其中TCP协议(Transmission Control Protocol)提供可靠的数据流运输服务,UDP协议(Use Datagram Protocol)提供不可靠的⽤户数据报服务。
第四层:应⽤层
对应于OSI七层参考模型的应⽤层和表达层。因特⽹的应⽤层协议包括Finger、Whois、FTP(⽂件传输协议)、Gopher、HTTP(超⽂本传输协议)、Telent(远程终端协议)、SMTP(简单邮件传送协议)、IRC(因特⽹中继会话)、NNTP(⽹络新闻传输协议)等,这也是本书将要讨论的重点
发布评论