无一适用吧 关注:5贴子:336
  • 5回复贴,共1
数通知识是互联网、科技行业的底层结构,特别是二三四层的基础概念,很有可能直接影响知识架构的形成,这里我归纳的是在我的日常工作中,接触频率较高的知识概念。

首先就是OSI七层模型,上图是我在CSDN上找的巨详细的内容,除了各层的基本概念外,还有各层常用的协议。工作中常用的就是一二三四,外加应用层,所以接下来的介绍也会有侧重。
网上有个流传非常广的OSI介绍例子,用邮局寄信来类比计算机通信,大概的意思是,写完的信要先包装,然后写收件人的地址和寄信人的地址,投递到邮局后,邮局会匹配成专有的邮政编码,然后根据邮政编码进行筛选,再进行下一步的派送,最后由司机将很多信件运送到目的城市,收信城市会按照寄信城市流程相反的顺序进行操作,最后按照收件地址派送。OSI七层模型也一样,某个应用的交互需求会按照层级由上到下逐层解析、封装,最后由物理链路进行传输。
物理层很好理解,就是将数字信号进行物理传输,光、电、微波等都是具体的传输形式。一般来说,短距离可以用电,长距离可以用光,有线介质不便建设可以用无线,例如WiFi、卫星等。
二层、三层就开始涉及到封装、协议、MAC、IP。


IP属地:广东1楼2022-12-21 17:37回复

    这是一个非常典型的组网图,我们通过这个图来看看什么是二层、三层。
    我刚开始接触数通时,一直有个问题搞不明白,一台设备明明有IP,那为什么它就只是二层通信?搞明白了这张图,这个就不是问题了。
    什么是二层?首先每台通信设备都至少会有2个全球唯一的名字,一个是设备厂家自己规定的产品序列号SN,另一个就是全球统一的48位MAC地址,前24位是IEEE分配的,后24位是厂家自己定义。因为LAN1下面的2台PC是在同一台交换机下,属于同一个网段,交换机里有一张MAC表,这个表记录了哪个MAC地址对应哪个端口,那这2台PC要相互通信,就可以通过彼此的MAC地址,让交换机通过查表直接转发到目的端口进行通信。但是,如果在交换机的MAC表里没有PC2 的信息,而此时PC1又要和PC2通信,那这是交换机就会向所有端口广播寻址。这里又来了一个概念,一个交换机是一个广播域。
    什么是三层?通过IP地址对网络进行划分,形成一个一个的网段/子网,每一个子网是由二层组成的广播域。还是看上图,中心位置的路由器分别和LAN1、LAN2和INTERNET相连,而路由器的每个端口都是不同的IP地址和MAC,LAN1里的PC和路由器的左端口是一个子网,LAN2和路由器的右端口是一个子网,可以通过交换机通信。而LAN1和LAN2之间就必须要通过路由器来寻址、路由才能通信。
    看到这里就有点懵逼了不?既然二层、三层都是通信,那为什么不直接用MAC地址来直接通信,还搞的二层、三层这么复杂?这就和二层、三层的定义有关,二层内可以直接广播,如果广播域太大,就不好控制,造成广播风暴。
    什么是四层?常见的就是TCP、UDP。这里要注意和TCP/IP的区分。TCP/IP是和OSI七层模型类似的计算机模型,只是TCP/IP的层数比OSI少,只有5层。而TCP、UDP是指OSI的传输层协议,TCP传输控制协议是面向连接的协议,在正式传送数据包前,接收方和发送方要经过三次握手确保连接。UDP用户数据报协议是非连接的协议,传输数据之前源端和终端不建立连接,直接发送数据。四层还有一个重要的点,就是端口。利用端口号可以让计算机同时来传输不同应用的消息,例如HTTP 80、FTP 20/21、Telnet 23。因为端口号可以使用范围从0-65535,虽然前一千多个都有固定配套的应用,但后面可使用的有很多,所以可以利用端口号来进行更多扩展玩法,例如安全领域非常重要的NAT。
    到这也只是对前四层有了基本印象,其中还有很多知识点,下面再介绍一些。
    首先是非常非常重要的概念VLAN,虚拟局域网。VLAN实际上是在二层信息里,插入了几个字节用于ID标记,让交换机在处理二层头部时,要解析VLAN标记,不同标记的报文不能互相转发,完成隔离。下面是一个非常典型的例子,一公司有3层楼,每层都有人力、业务、研发三个部门,要给每个部门间建立局域网进行隔离。用VLAN的办法就是给三个部门划分不同的VLAN ID,这些电脑一方面是在交换机的二层架构下,但因为VLAN不同,所以不能跨VLAN通信,这样让网络组网的架构变得更加灵活。


    IP属地:广东2楼2022-12-21 17:40
    回复

      这样交换机上就出现了几个概念,一个是直接和PC相连的接口,access模式。另一个是要传输多个VLAN的接口,trunk模式。这里就有个问题,如果同一台交换机下面,不同VLAN之间要通信怎么办?这里就是三层交换机的功能,会虚拟出路由模块,用于不同VLAN之间的通信,称之为vlanif。

      然后是防环的STP。网络设备成环后就会遇到广播风暴的问题,因此链路设计成树状是非常有利的。在二层网络可以用STP来防环,其原理就是每台交换机都运行STP协议,并发送检测报文,通过检测报文选出最优路径,将其他路径,如SW3右侧的链路进行阻塞,如果左侧链路发生鼓掌,STP也会让右侧链路及时放开,收敛时间可能秒级。


      IP属地:广东3楼2022-12-21 17:46
      回复
        另外,在交换机进行连接时,还有个重要的概念,叫链路聚合。通常是两台交换机之间,如果各用1个千兆端口连接,可能会速率不够,但如果升级成万兆,成本会贵。这样可以用多个千兆端口相连,采用链路聚合的技术虚拟成一条链路进行配置管理、负载分担、冗余备份。
        二层方面基本就讲这些,三层方面的概念就集中到了路由这一侧。到这里基本可以回答之前的问题“一台设备明明有IP,那为什么它就只是二层通信?”因为三层通信的核心是路由,而不是IP地址这32位数字。
        路由的话,有静态和动态的区别。像我们的项目主要是关注机房内变化较少的局域网,这部分为了链路稳定,通常可以采用静态路由。但其他区域,特别是运营商网络,就一定要用动态路由。动态路由根据寻址的依据,可以分为距离矢量路由和链路状态路由。这两类一个最大的区别在于,距离矢量路由在选择路径的时候,是选择跳数最少为最优,例如RIP,而链路状态路由是选择cost最优,例如OSPF、ISIS。这里就有个问题,如果一个网络用OSPF,另一个网络用ISIS,那两个网络之间的路由怎么处理?这就是路由重发布的功能,它能够通过运算,将不同协议的路由表进行换算、互通。


        IP属地:广东4楼2022-12-21 17:47
        回复
          MPLS,多协议标签交换,为什么说这个有意思,MPLS的概念和VLAN其实很像,VLAN是在二层头部加入了标签,MPLS是在二层和三层之间加入标签。因为MPLS的位置是在二层内,所以在二层交换时,不会破坏标签。又因为其三层外,所以在进行三层路由之前,就可以先检索MPLS进行转发,从而保证其快速和安全。MPLS的一个典型应用就是MPLS VPN。

          这样看,其实MPLS是一种隧道技术,在实现跨网段的VPN、流量整形上有很重要的作用。
          最后再看看链路备份。


          IP属地:广东5楼2022-12-21 17:49
          回复

            这张图和上面STP防环很像,只不过有左右两个环,但这个场景不只是防环,还有链路备份。华为、华三针对此场景有种smart link的技术,和STP非常类似,交换机启用smart link之后,先进行协议协商,选出主从端口,主端口默认开启,从端口默认阻塞,从而防环。主端口down之后,从端口可以在毫秒级启用。这个启用时效是STP协议无法匹敌的。当然也可以支持负载分担。

            二层上的双上行链路解决掉了,那三层呢?这就是VRRP虚拟路由器冗余协议。上图中存在2条路由到达同一个目的,为了实现路由备份,可以在R1、R2都启用VRRP协议。启用之后,2台路由器会进行协议协商,产生主、从角色分配,并产生一台虚拟路由器,这台虚拟路由器有自己的虚拟IP和MAC地址,下面的用户只用和这台虚拟路由器进行路由,由其主从角色分配具体由谁负责转发。


            IP属地:广东6楼2022-12-21 17:50
            回复