作者:贺秋雨
15年网络工作经验/VMware官方认证工程师/华为认证讲师
——文章摘自联想超级课
目录
它将网络逻辑上分成了七层,通过七个层次的结构模型,使不同的系统、不同的网络之间可以实现一种可靠分类。
OSI七层模型由ISO组织来制定,从下往上依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。这七层的功能分别有什么用?
物理层是OSI七层模型最底层,也叫做第一层,传输的主要是物理信号,也就是所谓的二进制。在物理层当中它不提供纠错服务,但是能够设定数据传输的速率,并且监测出数据的出错率。
比如把计算机插在网卡上面的网线拔掉,就会影响物理层的传输。
数据链路层位于OSI七层模型的第二层,控制网络层和物理层之间的通信,它的主要功能是如何在不可靠的物理线路上进行数据的传输,为了保证传输的质量,在数据链路层把数据分割成一个单位,这个单位叫做帧。
帧是用来移动数据的结构包,在帧当中识别帧的单位是mac 地址,每个帧到每个帧的当中分别有原mac 地址和目标 mac 地址。
网络层是osi在七层模型的第三层,主要功能是将网络地址翻译成对应的mac地址,并决定数据由发送方路由的接收方,它的传输单位是数据包Packet。
传输层是osi在七层模型当中最重要的一层,传输协议同时进行流量控制,或是基于接收方可接收数据的快慢程度来适当的发送数据,它的传输单位叫做数据段segment。
在传输层有计算机网络当中最重要的两个协议:TCP 和 UDP,表示从事应用程序和网络之间的翻译官,在表示层数据将按照网络能够理解的方案进行格式化,例如数据的加密和解密。
最后一层也就是OSI七层模型的最高层,叫做应用层,负责对软件提供接口以使程序进行网络服务。
通过由ISO制定的OSI七层模型,能够使不同的系统通过不同的网络连接起来,但是都是在OSI七层模型的指导下来进行的。
每一台入网的计算机节点都会有一个ip地址,而且这个ip地址是唯一的,只有这样我们才能够实现不同的计算机节点之间的一个通信。
ip地址是主机唯一个标识,通过ip地址,我们保证主机间的正常通信,在计算机当中可以通过开始菜单运行输入cmd,在命令行窗口输入ipconfig回车,可以查看当前计算机的ip地址。
大家可以看到测试中的计算机的ip地址是10.10.29.4,它的IP地址是一组网络编码,它就像人在社会当中的身份证一样,可以确定网络当中的一个主机节点。
现在看到的ip地址是三个小数点分别分割的四组数字构成,其实ip地址是由32位的二进制构成,ip地址又分成两部分的内容,一部分叫做网络部分,一部分叫做主机部分。
区分ip地址网络部分和主机部分的依据就是我们的子网掩码,子网掩码也是由32位二进制构成,比如第一组255,代表是二进制当中的8个1,也就是我们的子网掩码为1组8个1,2组8个1,3组8个1,最后一组是0,是8个0,那么就可以依据子网掩码前边是24位,也就是ip地址的网络部分是24位,后边呢8位是0,也就是ip地址的主机位是0,通过子网掩码来分割ip地址的网络部分和主机部分。
同时我们把ip地址分成A类B类和C类三类,如何划分的呢?
子网掩码为255255255.0的这样的ip地址,叫做C类地址,子网掩码为2个255.0.0、2个0的ip地,叫做B类地址,子网掩码为255.0.0.0,也就是一个255、3个0的ip地址,我们把它叫做A类地址。
除此之外,我们还可以用另外一种方法来解释我们ip地址的A类B类和C类。
ip地址是由32位二进制构成的,ip地址的32位,二进制的前1位为0的时候,第1位为0的时候,我们把它IP地址叫做A类地址,ip地址的前2位固定为10的时候,这样的ip地址,我们叫做B类地址,ip地址的前3位固定为110的时候,我们的ip地址,叫做C类地址。
一个IP地址是有不同的类型的,而设置给我们计算机的一个ip地址叫做一个主机地址,除了主机地址之外,还有网络地址和广播地址。
什么叫网络地址呢?
ip地址分成网络部分和主机部分,我们把一个ip地址的主机部分全部变成0,那么得到的地址就是这个主机地址的网络地址。
ip地址的广播地址是怎么定义的呢?
一个ip地址的主机部分全部变成1,得到的地址就是我们ip地址的广播地址。
在这里边我们有必要提一下特殊的ip地址,比如代表我们计算机网卡本身的一个ip地址,进行测试的地址,我们把他叫做回环地址,也就是127.0.0.1,来测试网卡本身的正常使用。
除此之外,我们还有相应的私网地址,私网地址有三段,分别是10.0.0,子网掩码是255.0.0.0,192.168. 0.0,子网掩码是255.255.0.0,还有1组是172.16.0.0至172. 32.0.0,子网掩码也12位。
有关ip地址的内容,就给大家介绍这么多。
交换机是我们计算机网络架构必不可少的一种网络设备,那么交换机到底是一个什么样的角色呢?
大家经常看到办公室墙上只有一个接口,通过交换机我们可以把一个接口扩展成多个接口,但这仅仅是交换机的一小部分的作用。
早期的集线器也能够实现端口的扩充,但早期集线器是工作在OSI七层模型的物理层,它只是端口进行简单的一个扩充,而对数据进行转发的时候会转发到集线器的所有端口。
交换机内置一个端口和从端口上学习来的mac地址表的一一对应关系,从而实现我们mac地址的学习和过滤。
说到这我们要解释一下什么是mac地址,在我们计算机的网卡上面烧制了一段固定的ip地址,它是48位二进制,我们通过运行窗口输入cmd,在命令行窗口输入Ipconfig/all,可以查看到当前物理网卡的物理地址,也就是它的mac地址。
有人说是48位二进制不是48位,这里边每一组我们是一组16进制,每一组是一组16进制,这样48位二进制被分割成6组16进制。
正是有了mac地址,我们的计算机节点连接到交换机之后,在它发送数据的时候就会在交换机的mac地址表当中形成一个计算机节点的MAC地址,和交换机的端口的对应关系,当它往目的节点发送数据的时候,会向全广播域进行广播,查找ip地址全网当中的计算机节点,都会收到这条广播包,但是只有目的地址才会得到响应,得到响应之后,目的节点的计算机的mac地址和它的端口号,在这种计算机的mac地址表当中也有了相应的记录,这就是我们交换机地址学习的过程。
正是因为交换机里边有了mac地址和计算机端口的这种关系,这样我们在OSI七层模型的数据链路层能够实现转发和过滤mac地址,最大限度地提高了我们传输的效率,除了二层交换机之外,还会有三层交换机,三层交换机一般是当作园区网络的核心交换机或汇聚交换机使用,能够实现一个三层的转发。
VLAN中文名称叫做虚拟局域网。首先说什么是虚拟的,虚拟的就是不是真实存在的,而是一种虚拟的虚拟局域网。
VLAN就是我们通过一种交换机的技术,能够实现我们对网络逻辑上的划分,举个非常简单的例子。
我们一间办公室里边,有销售部的同事和财务部的同事,按照功能的划分,财务部的同事的网络和销售部的同事的网络,肯定不能在同一个网络。
那么就可以通过使用VLAN在交换机上划分不同的网络,这就好比我们计算机的硬盘,计算机硬盘本身只有一个物理硬盘,但是通过计算机打开之后,可以看到C盘D盘E盘等等,而逻辑上我们有多个磁盘,这就是虚拟的意思。
而真正的物理交换机只有一个,通过VLAN技术,可以把它逻辑上分成多个网络,从而实现一种网络的隔离,保障我们网络之间通信的安全性,这个就是VLAN技术。
VLAN技术在我们园区的架构当中是必不可少的基础技术,VLAN的划分一般用的比较多的是依据物理交换机的端口来进行划分,除此之外,我们也可以通过ip地址和mac地址来进行主要划分,还是以物理交换机的端口为主,划分了VLAN。
交换机上一般主要用到两种接口:
第一种接口叫做ACCESS接口,ACCESS即接入的意思,也就是我们计算机节点连接到交换机的接口,除此之外,还有一种接口叫做TRUNK口,它能够传输多个网络的信息,也就是说我们交换机下面所连的计算机节点所属的所有网络都可以通过干道来进行传输,也就是我们网络传输的公共通道。
路由从字面上来讲路由就是路径的意思,通过路由技术,实现在OSI三层模型当中,数据从原地址传输到目标地址,而传输过程当中走过的每一个节点,我们就把它叫做路径。
在网络设备当中,路径的体现是通过路由表来实现的,每个数据包经过每一个网络设备的时候,它会对网络设备的路由表来进行匹配,根据路由表数据被转发到下一台网络设备。
在网络设备当中,实现路由表的方式有两种,一种叫做静态路由,一种叫做动态路由。
静态路由的路径是写死的,即使网络当中路径上出了问题,网络设备依然按照既定的路线来进行转发数据。
而动态路由是指我们的路径是一种,是通过我们网络设备动态根据某种段算法动态生成的,而生成的路径会随时随着我们情况的具体变化而不断的更新,这种叫做动态路由。
一般动态路由有OSPF/Rip/EIGRP。当然EIGRP是思科私有的协议。另外在运营商当中还会用到相应的BGP,一般一个园区网络都会有一条或多条出口,当只有一条出口的时候,园区网上当中的所有的数据,都会通过这条路径来出去。
我们在园区网络的出口设备上会产生这样一条默认路由,因为只有这一条路由,也只有通过这一条路来出去,这就是我们默认的路,而这条路就叫做默认路由。
当我们有两条线路的时候,为了保证园区网络的冗余性,有的时候我们会有两条出口线路,当的一条线路出现问题的时候,马上切换到另外一条线路,这叫做浮动路由。
浮动路由主要实现的是园区网络出口的备份和冗余
在早期计算机网络规划的时候,没有考虑到现在的ip地址会使用这么多,计算机网络发展的如此之快,所以说时至今天我们的ip地址,主要是IPV4地址,已经严重不够用了,不够用了怎么办,就得想办法解决,所以一种新技术应运而生,这种技术就叫做NAT网络地址转换技术。
通过在园区网络当中使用私网地址,在出口设备上部署NAT地址,能够实现把私网地址转换成公网地址,从而访问互联网,私网地址前边讲ip地址的时候已经讲了私网地址,主要有三段地址:
通过NAT技术,能够大量的节约公网历史,运营商现在很多地方给最终用户提供的已经是私网地址了,而基本上所有的园区网使用的都是私网地址,通过NAT技术,可以实现一个或者少量的公网地址,来满足园区网内所有的私网地址的上网。
NAT技术的实现主要有三种方式,第一种叫做静态NAT技术。静态NAT技术主要是为服务器来使用的,园区网当中的服务器要被互联网当中的计算机节点进行访问,必须给服务器一个公网地址,静态NAT实现的就是园区网当中的服务器的私网地址和公网地址的一一对应的关系,这就要求我们每一个私网地址,对应互联网当中的一个公网地址,从而实现静态的一对一转换。
动态NAT是指我们通过公网地址建立一个地址池,而私网地址通过从公网地址池当中获取相应的公网地址来实现上网,当私网当中的一台计算机不再上网了,它的公网地址就又会释放动态NAT技术。
端口复用是指什么意思呢?
端口复用是指一个公网地址的端口可以被园区网内的N多个私网地址来进行复用,从而实现计算机网络上网的一个一对多的关系。
NAT技术目前是解决ip地址匮乏的最主要的技术,也是园区网架构当中必不可少的技术,而实现NAT技术一般是在我们的出口网关设备上,这个设备可以是路由器,也可以是防火墙,也可以是出口网关设备,只要支持NAT技术就可以。
园区网架构当中碰到的网络设备,不仅仅只有交换机和路由器,还会有防火墙,上网行为管理,流控设备,入侵检测设备,负载均衡设备和网络管理设备。
我们前面已经说了,交换机主要实现的是一个数据链路层,OSI七层模型二层的数据转发,而路由器位于OSI七模型的网络层第三层,主要实现是根据数据包当中的原地址和MAC地址进行路由表转发,
防火墙是一类安全设备,能够实现园区网和互联网的一个有效隔离,防火墙内部会划分不同的区域,它会认为所有来自外部的数据都是不安全的。我们称为Untrust,也就是不信任不安全的区域,而园区网内部所有的数据认为是安全的,我们把它叫做trust数据,通过防火墙的设立,不同的区域我们可以实现数据流的定义多个策略来适应,满足我们园区网安全性的需要。防火墙也是园区网架构当中安全设备必不可少的。
上网行为管理设备可以通过以日志的方式,记录内网计算机节点上网当中的各种行为,同时对不允许访问的网站,不允许使用的程序进行拦截;第二能够有效的管控计算机网内计算机的各种行为,同时为所有的相应的上网行为提供相应的日志,为后期的上网审计做准备。
流量控制设备是指对我们计算机园区网当中的流量里边的特殊的应用程序进行相应的控制,比如一个园区网,如果没有流控设备,大量的P2P下载流量和P2P视频流量,会急剧地占据我们整个园区网的出口带宽,这样会使整个园区网的计算机上网的体验非常差,通过流量控制设备,可以控制并优先保证最主要的应用,如http应用,邮件应用等,同时可以对这些大的流量而又不是特别重要的应用进行限制。
第二,流控设备还可以对我们计算机网内的每台每个ip地址进行相应的限速,保证我们计算机网络当中的有效使用
入侵检测设备,现在园区网当中网络是一个非常重视的问题,如何保证园区网络的安全性,这就需要我们在网络当中架设入侵检测设备,它能够根据相应的特征来检测我的园区网络当中是不是有没有被入侵,以及还会有相应的入侵防护设备对入侵的行为进行拦截和阻断。
负载均衡设备是应用交付类设备当中非常重要的一种设备,他的使用的场景一般有两个,第一个场景是负载均衡设备部署在我们园区网的出口,当有多条出口的时候,为了保证每条出口的带宽使用率,同时保证我们园区网内部的流量能够按照我们既定的原则选择不同的出口,就需要部署一台负载均衡设备。
举个简单的例子,园区网有一条有两个运营商的出口,我想让办公的Ltp协议都走A出口,让所有的下载和在线视频都走B出口,通过负载均衡实现是非常方便的。
负载均衡设备使用的另外一个场景是园区内部有服务器,而访问服务器的用户的数量非常大,一台服务器已经满足不了访问的需求了,就可以部署多台服务器,在服务所有服务器的前端部署一台负载均衡设备,这样通过负载均衡设备,我们能够实现多台服务器的访问压力分担,保障我们所有的服务器都会得到相应的访问,不会造成单台服务器的压力负载过大。
网络管理设备。一个园区网络当中会有多台会有几十台甚至上百台的网络设备,如果靠单纯的一台一台进行管理,工作量是非常大的,而且会忽略一些比较严重的问题。通过网络管理设备可以实现整个园区网一个拓扑的一个实时的展现,每台设备的一些具体的运行参数,比如它的cpu利用率、连接力、端口流量等等,都可以通过我们的网络管理设备来进行实时展现。
设备之间线路的负载、使用了多大流量、占用线路的百分之多少,我们也可以通过网络管理设备来进行查看,同时在网络管理设备当中可以登录到每一台设备来进行管理,甚至可以批量的传输网络设备的实时的数据。
通过刚才的讲解我们主要介绍了OSI七层模型在园区网架构当中用到的主要的设备类型,让大家对网络部署有了一个简单的了解,园区网络在部署的时候一般会把网络分成接入层设备汇聚层设备和核心层设备,也就是说真正的网络部署会划分成三个层次。
举一个简单的例子,一所学校会有很多栋教学楼,我们每一层都会有相应的计算机接入到网络,而每一层也会部署相应的交换机和计算机节点进行直连,这一类交换机我们就把它叫做接入层交换机。
而每一栋教学楼会有汇聚所有楼层的交换机设备,就叫做汇聚层交换机。
而整个学校所有的流量都会汇聚到核心节点,那么核心节点的交换机叫做核心交换机。
在核心交换机网上的出口网关,通过出口网关和我们的运营商进行互联,这就是整个网络部署的三个层次,而在核心层和出口网关之间会串行或者旁路部署我们应用交付类设备,比如说上网行为管理、流量控制设备、入侵检测设备、入侵防护设备等等,保障网络部署的有效性和安全性。