ISCSI服务器搭建与配置

article/2025/9/23 1:56:37

ISCSI服务简介

ISCSI简介:

iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口) 技术是一种新存储技术,该技术是将现有的SCSI接口与以太网技术相结合,使服务器可与使用IP网络的存储装置互相交换资料。

iscsi 结构基于客户/服务器模型,其主要功能是在TCP/IP网络上的主机系统(启动器initlator)和存储设备(目标 target) 之间进行大量的数据封装和可靠传输过程,此外,iscsi 提供了在IP网络封装SCSI命令,切运行在TCP上。

实际生产环境中,一般都是使用集群搭建服务器,如果两台或多台服务器都是使用独立磁盘,使用ISCSI 技术,实现远程磁盘的使用,集群的服务器都挂在同一个远程存储设备到本地实现数据读写,这样也就减少了一个同步数据的任务,大大减轻了服务器的资源消耗

作为服务器的系统通常需要存储设备的,而存储设备除了可以使用系统內间的磁盘之外,如果內间的磁盘容量不够大,而且没有额外的磁盘插槽(SATA 或IDE)可用时,常见的解决方案是增加NAS(网络附加存储服务器)或外接式存储设备高档一点的,可能会用到SAN(存储局域网络)。

NAS与SAN简介:

NAS (network attached storage,网络附加存储服务器)
NAS是一部客制化好的主机,只要将NAS链接上网络,那么网络上面的其他主机就能够存取NSA上头的数据了,简单的说,NAS 就是一部file server,NAS 由于是接在网络上面,所以如果网络上有某个用户大量存取NAS上头的数据时,很容易造成网络停顿问题,此外BAS 也通常支持TCP/IP,并会提供NFS,SAMA,FTP等常见的通讯协议来提供客户端取得文件系统

SAN (storage area networks,存储局域网络)
NAS 就是一部可以提供大量容量文件系统的主机,我们知道单个主机能够提供的插槽时有限的,所以不能无限制的安插磁盘在同一部实体主机上,因此便有了SAN
SAN 视为一个外接式的存储设备,可以透过某些特殊的接口或信道来提供局域网络内的所有机器进行磁盘存取, SAN是提供磁盘给主机用,而不是像NAS 提供的是[网络协议的文件系统(NFS SMB)],因此挂载SAN的主机会多出一个大磁盘,并可针对SAN提供的磁盘进行分割与格式化等动作,而NAS则不能,另外NAS可以透过网络使用SAN,

NAS和SAN的更多介绍可以参考:

NAS技术及应用:

SAN技术及应用:

ISCSI历史:

早期的企业使用的服务器若有大容量的磁盘的需求时,通常是透过SCSI来串接SCSI磁盘,因此服务器上必须要加装SCSI适配卡,而且这个SCSI是专属于该服务器的,后来这个外接式的SCSI设备被SAN的架构取代,SAN的一个缺点是要使用光纤信道,而光纤信道贵,很多中小型企业不能普及。

后期IP封包为基础的LAN技术普及,以太网速度加快,所以就有厂商将SAN的链接方式改为利用IP技术来处理,人后再透过一些标准指定,得到了ISCSI。
ISCSI 主要是透过TCP/IP的技术,将存储设备端透过ISCSI target (ISCSI目标)功能,做成可以提供磁盘的服务器端,再透过ISCSI initator(ISCSI初始化用户)功能,做成能够挂载使用ISCSI target的客户端,如此便能透过ISCSI协议来进行磁盘的应用了。

ISCSI 这个架构主要将存储装置与使用的主机分别为两部分,分别是:

  • ISCSI target :就是存储设备端,存放磁盘或RAID的设备,目前也能够将Linux主机仿真成ISCSI target了,目的在提供其他主机使用的磁盘。

  • ISCSI inITiator: 就是能够使用target的客户端,通常是服务器,只有装有iscsi initiator的相关功能后才能使用ISCSI target 提供的磁盘。

服务器取得磁盘或者文件系统的方式

  1. 直接存取:在本机上的磁盘,就是直接存取设备
  2. 透过存储局域网络(SAN),来自区网内的其他设备提供的磁盘。
  3. 网络文件系统NAS(:来自NAS提供的文件系统)只能立即使用,不能进行格式化。

Linux下ISCSI服务搭建

简介:

iSCSI技术在工作形式上分为服务端(target)与客户端(initiator)。iSCSI服务端即用于存放硬盘存储资源的服务器,它作为前面创建的RAID磁盘阵列的存储端,能够为用户提供可用的存储资源。iSCSI客户端则是用户使用的软件,用于访问远程服务端的存储资源。

  1. iscsi server被称为target server,模拟scsi设备,后端存储设备可以使用文件/LVM/磁盘/RAID等不同类型的设备;启动设备(initiator):发起I/O请求的设备,需要提供iscsi服务,比如PC机安装iscsi-initiator-utils软件实现,或者通过网卡自带的PXE启动。esp+ip+scsi

  2. iscsi再传输数据的时候考虑了安全性,可以通过IPSEC 对流量加密,并且iscsi提供CHAP认证机制以及ACL访问控制,但是在访问iscsi-target的时候需要IQN(iscsi完全名称,区分唯一的initiator和target设备),格式iqn.年月.域名后缀(反着写):[target服务器的名称或IP地址]

  3. iscsi使用TCP端口3260提供服务

ISCSI服务端配置:

第一步:安装服务端程序target添加要一块磁盘分区。

[root@localhost ~]# yum -y install targetd targetcli
[root@localhost ~]# systemctl restart targetd
[root@localhost ~]# systemctl enable targetd 
Created symlink from /etc/systemd/system/multi-user.target.wants/targetd.service to /usr/lib/systemd/system/targetd.service.[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-20971519,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-20971519,默认为 20971519):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@localhost ~]# partprobe 

第二步:配置iSCSI服务端共享资源

targetcli是用于管理iSCSI服务端存储资源的专用配置命令,它能够提供类似于fdisk命令的交互式配置功能,将iSCSI共享资源的配置内容抽象成“目录”的形式,我们只需将各类配置信息填入到相应的“目录”中即可。这里的难点主要在于认识每个“参数目录”的作用。当把配置参数正确地填写到“目录”中后,iSCSI服务端也可以提供共享资源服务了。

在执行targetcli命令后就能看到交互式的配置界面了。在该界面中可以使用很多Linux命令,比如利用ls查看目录参数的结构,使用cd切换到不同的目录中。/backstores/block是iSCSI服务端配置共享设备的位置。我们需要把刚刚创建的磁盘分区文件加入到配置共享设备的“资源池”中,并将该文件重新命名为block1,这样用户就不会知道是由服务器中的哪块硬盘来提供共享存储资源,而只会看到一个名为block1的存储设备。

[root@localhost ~]# targetcli 
targetcli shell version 2.1.fb41
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'./> 
/> ls
o- / ...................................................... [...]o- backstores ........................................... [...]| o- block ............................... [Storage Objects: 0]| o- fileio .............................. [Storage Objects: 0]| o- pscsi ............................... [Storage Objects: 0]| o- ramdisk ............................. [Storage Objects: 0]o- iscsi ......................................... [Targets: 0]o- loopback ...................................... [Targets: 0]
/> /> cd backstores/block    #创建一个名为block1的存储块
/backstores/block> create name=block1 dev=/dev/sdb1 
Created block storage object block1 using /dev/sdb1.

第三步:创建iSCSI target名称及配置共享资源。

iSCSI target名称是由系统自动生成的,这是一串用于描述共享资源的唯一字符串。稍后用户在扫描iSCSI服务端时即可看到这个字符串,因此我们不需要记住它。系统在生成这个target名称后,还会在/iscsi参数目录中创建一个与其字符串同名的新“目录”用来存放共享资源。我们需要把前面加入到iSCSI共享资源池中的硬盘设备添加到这个新目录中,这样用户在登录iSCSI服务端后,即可默认使用这硬盘设备提供的共享存储资源了。

/> cd iscsi 
/iscsi> ls
o- iscsi ........................................... [Targets: 0]
/iscsi> create wwn=iqn.2018-10.com.example:server
Created target iqn.2018-10.com.example:server.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> cd iqn.2018-10.com.example:server/
/iscsi/iqn.20...xample:server> ls
o- iqn.2018-10.com.example:server ..................... [TPGs: 1]o- tpg1 ................................ [no-gen-acls, no-auth]o- acls ........................................... [ACLs: 0]o- luns ........................................... [LUNs: 0]o- portals ..................................... [Portals: 1]o- 0.0.0.0:3260 ...................................... [OK]
>/iscsi/iqn.20...ver/tpg1/luns> create /backstores/block/block1 
Created LUN 0.
#创建需要共享的设备

第四步:设置访问控制列表(ACL)。

iSCSI协议是通过客户端名称进行验证的,也就是说,用户在访问存储共享资源时不需要输入密码,只要iSCSI客户端的名称与服务端中设置的访问控制列表中某一名称条目一致即可,因此需要在iSCSI服务端的配置文件中写入一串能够验证用户信息的名称。acls参数目录用于存放能够访问iSCSI服务端共享存储资源的客户端名称。推荐在刚刚系统生成的iSCSI target后面追加上类似于:client的参数,这样既能保证客户端的名称具有唯一性,又非常便于管理和阅读。

/iscsi/iqn.20...ver/tpg1/luns> cd ..
/iscsi/iqn.20...e:server/tpg1> cd acls 
/iscsi/iqn.20...ver/tpg1/acls> create iqn.2018-10.com.example:client
Created Node ACL for iqn.2018-10.com.example:client
Created mapped LUN 0.

第五步:设置iSCSI服务端的监听IP地址和端口号。

位于生产环境中的服务器上可能有多块网卡,那么到底是由哪个网卡或IP地址对外提供共享存储资源呢?这就需要我们在配置文件中手动定义iSCSI服务端的信息,即在portals参数目录中写上服务器的IP地址。接下来将由系统自动开启服务器192.168.245.128的3260端口将向外提供iSCSI共享存储资源服务:

/iscsi/iqn.20...d80/tpg1/acls> cd ..
/iscsi/iqn.20...c356ad80/tpg1> cd portals 
/iscsi/iqn.20.../tpg1/portals> create 192.168.245.128 ip_port=3260
Using default IP port 3260
Created network portal 192.168.245.128:3260.

第六步:配置妥当后检查配置信息,重启iSCSI服务端程序并配置防火墙策略。

在参数文件配置妥当后,可以浏览刚刚配置的信息,确保与下面的信息基本一致。在确认信息无误后输入exit命令来退出配置。注意,千万不要习惯性地按Ctrl + C组合键结束进程,这样不会保存配置文件,我们的工作也就白费了。最后重启iSCSI服务端程序,再设置firewalld防火墙策略,使其放行3260/tcp端口号的流量。

在这里插入图片描述

图:target服务端配置
[root@localhost ~]# systemctl restart targetd
[root@localhost ~]# firewall-cmd --permanent --add-port=3260/tcp
success
[root@localhost ~]# firewall-cmd --reload
success

配置Linux客户端:

在RHEL 7系统中,已经默认安装了iSCSI客户端服务程序initiator。如果您的系统没有安装的话,可以使用Yum软件仓库手动安装。

[root@localhost ~]# yum -y install iscsi-initiator-utils.i686

iSCSI协议是通过客户端的名称来进行验证,而该名称也是iSCSI客户端的唯一标识,而且必须与服务端配置文件中访问控制列表中的信息一致,否则客户端在尝试访问存储共享设备时,系统会弹出验证失败的保存信息。

下面我们编辑iSCSI客户端中的initiator名称文件,把服务端的访问控制列表名称填写进来,然后重启客户端iscsid服务程序并将其加入到开机启动项中:

[root@localhost ~]# vim /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.2018-10.com.example:client
[root@localhost ~]# systemctl restart iscsid
Warning: iscsid.service changed on disk. Run 'systemctl daemon-reload' to reload units.
[root@localhost ~]# systemctl enable iscsid
Created symlink from /etc/systemd/system/multi-user.target.wants/iscsid.service to /usr/lib/systemd/system/iscsid.service.

iscsiadm是用于管理、查询、插入、更新或删除iSCSI数据库配置文件的命令行工具,用户需要先使用这个工具扫描发现远程iSCSI服务端,然后查看找到的服务端上有哪些可用的共享存储资源。其中,-m discovery参数的目的是扫描并发现可用的存储资源,-t st参数为执行扫描操作的类型,-p 192.168.245.128参数为iSCSI服务端的IP地址.可通过 man iscsiadm | grep \\-mode 来查看帮助。

[root@localhost ~]# man iscsiadm | grep \\-mode-m, --mode opiscsiadm --mode discoverydb --type sendtargets --portal 192.168.1.10 --discoveriscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --loginiscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --logoutiscsiadm --mode nodeiscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260
[root@localhost ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.245.128 --discover
#通过该命令可发现指定IP地址的iSCSI服务
192.168.245.128:3260,1 iqn.2018-10.com.example:server   
[root@localhost ~]#  iscsiadm --mode node --targetname iqn.2018-10.com.example:server --portal 192.168.245.128:3260 --login        
#使用该命令进行登录
Logging in to [iface: default, target: iqn.2018-10.com.example:server, portal: 192.168.245.128,3260] (multiple)
Login to [iface: default, target: iqn.2018-10.com.example:server, portal: 192.168.245.128,3260] successful.

登录成功后,会发现在该客户端下多出一个/dev/sdb的设备文件。通过格式化分区挂载即可使用该硬盘。

[root@localhost ~]# file /dev/sdb
/dev/sdb: block special
[root@localhost ~]# mkfs.ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=1024 blocks
196608 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done [root@localhost ~]# mkdir /mnt/iscsi
[root@localhost ~]# mount /dev/sdb /mnt/iscsi/
[root@localhost ~]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        17G  3.2G   14G  19% /
devtmpfs              devtmpfs  1.4G     0  1.4G   0% /dev
tmpfs                 tmpfs     1.4G   88K  1.4G   1% /dev/shm
tmpfs                 tmpfs     1.4G  9.1M  1.4G   1% /run
tmpfs                 tmpfs     1.4G     0  1.4G   0% /sys/fs/cgroup
/dev/sr0              iso9660   3.6G  3.6G     0 100% /mnt/cdrom
/dev/sda1             xfs      1014M  173M  842M  18% /boot
tmpfs                 tmpfs     280M   12K  280M   1% /run/user/0
/dev/sdb              ext4      2.9G  9.0M  2.8G   1% /mnt/iscsi
[root@localhost ~]# 

注意:

由于udev服务是按照系统识别硬盘设备的顺序来命名硬盘设备的,当客户端主机同时使用多个远程存储资源时,如果下一次识别远程设备的顺序发生了变化,则客户端挂载目录中的文件也将随之混乱。为了防止发生这样的问题,我们应该在/etc/fstab配置文件中使用设备的UUID唯一标识符进行挂载,这样,不论远程设备资源的识别顺序再怎么变化,系统也能正确找到设备所对应的目录。

blkid命令用于查看设备的名称、文件系统及UUID

由于/dev/sdb是一块网络存储设备,而iSCSI协议是基于TCP/IP网络传输数据的,因此必须在/etc/fstab配置文件中添加上_netdev参数,表示当系统联网后再进行挂载操作,以免系统开机时间过长或开机失败:

当不在需要使用该硬盘时,可通过iscsiadm命令-u卸载:

[root@localhost ~]# iscsiadm -m node -T iqn.2018-10.com.example:server -u
Logging out of session [sid: 1, target: iqn.2018-10.com.example:server, portal: 192.168.245.128,3260]
Logout of [sid: 1, target: iqn.2018-10.com.example:server, portal: 192.168.245.128,3260] successful.
[root@localhost ~]# 

配置Windows客户端连接iSCSI设备:

第一步:运行iSCSI发起程序。上

控制面板–>系统和安全–>管理工具–>iSCSI发起程序。

在这里插入图片描述

第二步:更改客户端iqn属性:
在这里插入图片描述

第三步:点击连接,就会在本次磁盘新加一款硬盘。

在这里插入图片描述

第四步:通过格式化新建卷就可使用该硬盘。
在这里插入图片描述


http://chatgpt.dhexx.cn/article/ChhQcfNy.shtml

相关文章

SCSI/ISCSI协议

SCSI即小型计算机接口(Small Computer System Interface),指的是一个庞大协议体系,到目前为止经历了SCSI-1/SCSI-2/SCSI-3变迁。 SCSI协议定义了一套不同设备(磁盘,磁带,处理器,光设…

iSCSI协议简介

本文综合了几篇参考文献的内容,做了删减与重组,但严格来说,不算原创。 笔者笔记如下: iSCSI initiator和target的核心功能都在内核中,无须人工干预;而要人工干预的大约是这么几件事: 1. 建立…

【存储】SCSI、iSCSI协议详解及对比

作 者: NGDCN 原文链接:【存储】SCSI、iSCSI协议详解及对比 - NGDCN 版 权: 本文由 NGDCN 于2022-11-11原创发布在 NGDCN,未经许可,禁止转载。 SCSI SCSI是小型计算机系统接口(Small Compu…

ISCSI详解(二)——ISCSI基础知识

今天继续给大家介绍Linux运维相关知识,本文主要内容是ISCSI基础知识。 一、ISCSI简介 ISCSI,即Internel Small Computer System Interface,互联网小型计算机接口,就是在互联网上运行SCSI协议的一种技术。 ISCSI把原本用于用于计…

ISCSI介绍

ISCSI Internet Small Computer System Interface ISCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,…

iSCSI详解及 iSCSI服务端配置、客户端(Linux、Windows配置)

一、简介: iSCSI,Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。iscsi通过TCP/IP协议,实现远程存储单元的…

交换机的Access口与Trunk口

基本概念 Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口; Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口; 处理流程 Acess端口收报文:…

交换机中access和trunk详解

首先需要说明的是,vlan的标准802.1q中采用的是untagged,tagged这两个术语来制定vlan规范,并没有access,trunk。然而大多数实际的交换机设备在配置时,却都采用access,trunk。 以下简称802.1q中数据包中的vlan标识部分为vid标签。 …

什么是trunk端口?

什么是iis7服务器监控工具Trunk端口 基本概念 Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口; 处理流程 trunk端口收报文: 收到一个报文,判断是否有VLAN信息,如果没有则打上端口的PVID,并进行交换转发;如果有判断…

链路聚合Eth-Trunk

链路聚合简介 以太网链路聚合Eth-Trunk简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性。 目的&…

超详细讲解access和trunk的区别,从此不再迷糊

我在网上阅读了好几篇关于这个主题的博文,发现很多都是有错误理解的,特此发表一下关于本人的理解,本文只简单概述access和trunk的区别并且hybrid不做探讨。 一、接收区别 access收到的帧通常是不带vlanTag的,收到无tag的帧会打上…

Eth-Trunk技术原理与配置

目录 前言Eth-Trunk概念手工负载分担模式LACP模式LACP模式活动链路的选取LACP模式的抢占机制 Eth-Trunk接口负载分担模式配置手工负载分担模式配置LACP模式 前言 随着网络中部署的业务量不断增长,对于全双工点对点链路,单条物理链路的带宽已不能满足正常…

TRUNK通信过程

一、拓扑结构 拓扑说明,PC1、PC3连接到VLAN10接口下,PC2、PC4连接到VLAN20接口下,两台交换机用trunk链路连接,允许VLAN10 20 通过 以上述拓扑为例,说明PC1到PC3的通信过程 二、通信过程 PC1 ping PC3 PC1发起一个与…

trunk与access的区别

首先声明我没研究过交换机底层实现,以下结论都是我的个人理解。不保证正确,但是有助于理解trunk和access。以下言论可能你在哪里都没有看到过。 先说观点:我认为trunk与access并没有本质的区别。 access收到带vlan的帧和自己所属vlan比较&a…

TRUNK详解

TRUNK 详解 TRUNK作为一个重要的指标,常常在二层交换机的性能参数中被提到,许多的二层交换机产品在介绍其性能时,都会提到能够支持TRUNK功能,从而可以为互连的交换机之间提供更好的传输性能。一下就是TRUNK的介绍 一、什么是TRUN…

链路聚合(eth-trunk)

文章目录 1.链路聚合概述①概念:②链路聚合两种模式:当两台交换机之间使用链路聚合技术进行互连时,各个成员端口需要满足以下哪些条件? 2.二层链路聚合配置修改负载均衡的方式:(可选)注意:e-tru…

Trunk和Access分析

一、配置界面: 如果有页面可以添加trunk口和access口,如常规的HCI产品上,交换机通常可以增加新的trunk和access, 新建的时候,配置参数就不一样: 1、trunk:两个配置参数 (1)、vlan范…

实验: 配置trunk

配置trunk 实验: 配置trunk1、实验拓扑结构图如下:2、给每台主机配置IP地址3.配置SW14.配置SW25.配置trunk端口(两个交换机都要配置)6.流量控制7.修改nativeVLAN为VLAN 90 实验: 配置trunk 实验目标: 1.学会配置trunk,实现端到端VLAN通信 2.配置trunk流量控制 3.修…

Access、Trunk、Hybrid模式详解

文章目录 华为交换机转发VLAN数据时的行为详解前言参考阅读一、交换机的行为1.1 接收数据1.2 转发数据 二、工作模式横向对比2.1 接入模式2.2 中继模式2.3 混杂模式 三、实验详解3.1 几种模式的配置3.2 DHCP分配地址时对于native vlan的处理方式至此,理论实验完成&a…

Trunk概念

一、为什么需要trunk? 1、当一条链路,需要承载多VLAN信息的时候,需要使用trunk来实现。 2、trunk两端的交换机需要采用相同的干道协议。 3、一般见于交换机之间或交换机与路由器、服务器之间。 4、划分多个vlan之后,解决不同交换机…