今天这篇文章我们带你搞懂OSI七层模型和TCP/IP基础知识,并结合OSI七层模型来介绍二、三层交换机和路由器的工作原理。
首先,一起来了解下什么是OSI七层模型?
简言之,下4层主要完成通信子网的功能,上3层主要完成资源子网的功能。
其实互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分成七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。
第一层:物理层
在这一层,数据的单位称为比特(bit)。属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
物理层的主要设备:中继器、集线器。
第二层:数据链路层
在这一层,数据的单位称为帧(frame)。数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。
数据链路层主要设备:二层交换机、网桥。
第三层:网络层
在这一层,数据的单位称为数据包(packet)。网络层协议的代表包括:IP、IPX、RIP、OSPF等。
网络层主要设备:路由器。
第四层:传输层
传输层协议的代表包括:TCP、UDP、SPX等。
第五层:会话层
会话层的具体功能如下:
会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。
会话流量控制:提供会话流量控制和交叉会话功能。
寻址:使用远程地址建立会话连接。
出错控制:从逻辑上讲会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并负责纠正错误。
第六层:表示层
表示层的具体功能如下:
数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。
数据的编码:处理字符集和数字的转换。
压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复。
数据的加密和解密:可以提高网络的安全性。
第七层:应用层
应用层的具体功能如下:
用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。
实现各种服务:该层具有的各种应用程序可以完成和实现用户请求的各种服务。
应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。
其次,来了解OSI模型与TCP/IP模型的比较。
TCP/IP模型实际上是OSI模型的一个浓缩版本,它只有四个层次:
1.应用层,2.运输层,3.网际层,4.网络接口层;
与OSI功能相比:
应用层对应着OSI的应用层、表示层、会话层。
运输层对应着OSI的传输层。
网际层对应着OSI的网络层。
网络接口层对应着OSI的数据链路层和物理层。
最后,结合OSI七层模型来理解二、三层交换机和路由器的工作原理。
一、二层交换机
注:MAC地址表和CAM的区别——CAM是将MAC表中的MAC地址+接口编号+vlanid转换为hash值,再转换为二进制;意义在于识别更快。
二、三层交换机
三层交换机与二层交换机相比是可以处理三层数据的,可以识别三层数据包。
“一次路由,多次交换”基本概括了三层交换机的原理,通过这句话可以把三层交换机剖析清楚。
总的来说,三层交换机最突出的地方就是:
“一次路由,多次交换”。第一次路由本质上找到了IP和接口的对应关系;直接利用IP和接口的对应关系进行数据交换,省掉了查找路由表的环节。
注:本质上三层交换机和路由器还是有一些区别的,三层交换机因为帮助路由器省掉了查找路由表的环节,所以工作速度会比路由表快。
三、路由器
为了更好的理解路由器的工作原理,先来搞懂两个词的含义:路由、路由表。
什么叫路由?
路由就是数据包从源主机到目标主机的转发过程,如图所示:
什么是路由表?
路由表就是路由器中维护的路由条目的集合,路由器根据路由表来做传输路径的选择。
如上图所示:路由器A和B是经过配置的路由在他们的路由表中就保存了相应的网段和接口,如果主机1.1要发送数据包给主机3.1:
(1)因为IP地址不在同一网段,主机就会将数据包发送给本网段的网关路由器A。
(2)路由器A接收到数据包,查看数据包IP首部中的目标IP地址,在查找自己的路由表。数据包的目标IP地址是3.1.属于3.0网段路由器A在路由表中查到3.0网段转发的接口是S0接口。于是,路由器就将数据包从S0接口转发出去。
(3)每个路由器但是按这个步骤去转发数据的,直到到达了路由器B,用同样的方法,从E0口转发出去,主机3.1接受到这个数据包。
同网段和不同网段主机通信的区别就在于。同网段直接查找主机,而不同网段需要将数据包发送给网关。
路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率。
路由器工作原理
四、路由器和交换机的区别
交换机拥有一条很高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条总线上,控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口,目的MAC若不存在则广播到所有的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部MAC地址表中。
使用交换机也可以把网络“分段”,通过对照MAC地址表,交换机只允许必要的网络流量通过交换机。通过交换机的过滤和转发,可以有效的隔离广播风暴,减少误包和错包的出现,避免共享冲突。
交换机在同一时刻可进行多个端口对之间的数据传输。每一端口都可视为独立的网段,连接在其上的网络设备独自享有全部的带宽,无须同其他设备竞争使用。
总之,交换机是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备。交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。
从过滤网络流量的角度来看,路由器的作用与交换机和网桥非常相似。但是与工作在网络物理层,从物理上划分网段的交换机不同,路由器使用专门的软件协议从逻辑上对整个网络进行划分。例如,一台支持IP协议的路由器可以把网络划分成多个子网段,只有指向特殊IP地址的网络流量才可以通过路由器。对于每一个接收到的数据包,路由器都会重新计算其校验值,并写入新的物理地址。
因此,使用路由器转发和过滤数据的速度往往要比只查看数据包物理地址的交换机慢。但是,对于那些结构复杂的网络,使用路由器可以提高网络的整体效率。路由器的另外一个明显优势就是可以自动过滤网络广播。
交换机是查看MAC地址表的,路由器是查看路由表的。交换机如果没有在MAC地址表中找到自己想要的,它就要进行区域泛洪,而路由器如果在路由表中找不到对应的条目会直接丢弃数据包,并返回一个不可到达的信息。他不会发送广播,所以路由器有隔离广播域的功能而交换机所在的网络内部就是一个广播域,他只在本区域泛洪,不会泛红到路由器外面;且交换机工作在二层,根据MAC地址表转发数据帧,路由器工作在三层,根据路由表转发数据包,交换机一般工作在据域网内,而路由器工作在广域网。
本篇文章如觉得对您有帮助请大家分享、收藏、点赞!如有更多见解,欢迎大家评论区交流!