云计算基础-14:Linux网络管理实战-2

理论只有落地才有价值。上篇文章我们学习了 OSI 模型和 TCP/IP 协议族,但那些”七层”、”封装”到底在实际网络中是如何体现的?网线里面到底有什么?交换机是怎么转发数据的?VLAN 又是什么?

本文将带你从物理层的信号和介质入手,深入到数据链路层的 MAC 地址和帧封装,再通过 华为eNSP 模拟器亲手组建局域网、配置 VLAN 和 TRUNK。学完本章,你对网络的理解将从”纸上谈兵”升级为”动手实操”。


物理层(Physical Layer)

物理层是 OSI 模型的最底层,负责在物理传输介质上传送原始的比特流(0 和 1)。它定义了一切网络通信的物质基础:信号、线缆、接口。


信号

网络传输的信号分为两大类:

模拟信号 vs 数字信号

对比维度模拟信号数字信号
物理量不断变化的连续物理量(如正弦波)两种恒定的物理量(高电平/低电平)
波形连续波动方波(0 和 1)
适用场景电话网络计算机网络
抗干扰能力弱(噪音会叠加在信号上)强(只有两种状态,容易区分)
传输质量随距离衰减明显可以通过中继器还原

模拟信号示意:

数字信号示意:

数字信号的优势

计算机网络为什么选择数字信号?

数字信号相比模拟信号,最大的优势是抗噪音和抗衰减能力强

  • 模拟信号中,噪音会直接叠加在信号上,难以分离
  • 数字信号只有两种状态,即使有干扰,接收端也能正确判断是 0 还是 1
  • 数字信号可以通过中继器完全还原,实现远距离传输

传输介质

双绞线(Twisted Pair Cable)

双绞线是最常见的网络传输介质,也是我们日常生活中最常接触到的网线。

基本结构

  • 八根线芯,两两互绞(4 对线)
  • 遵循 EIA/TIA 568 标准

为什么要”绞”在一起?

每对线互绞的目的是抵消电磁干扰。当电流通过导线时会产生电磁场,两两互绞可以让一对线的电磁场互相抵消,减少对相邻线对的干扰。

功能分类

类型全称说明特点
STPShielded Twisted Pair屏蔽型双绞线外层有金属屏蔽层,抗干扰能力强,价格较高
UTPUnshielded Twisted Pair非屏蔽型双绞线无屏蔽层,成本低,日常使用最广泛

速率分类(类别)

类别简称速率说明
Cat 5五类线10M / 100M早期网络,已基本淘汰
Cat 5e超五类线10M / 100M / 1000M增强型五类线,目前最常用
Cat 6六类线1000M(1G)高性能网络,机房常用
Cat 6a超六类线10G万兆网络
Cat 7七类线10G屏蔽型,高端场景
Cat 8八类线40G数据中心专用

接口:RJ45 水晶头

双绞线两端的接口是 RJ45 水晶头(8 针 8 线)。

接入线序标准(核心!)

EIA/TIA 568B 标准(最常用):

针脚12345678
颜色橙白绿白蓝白绿棕白

EIA/TIA 568A 标准:

针脚12345678
颜色绿白绿橙白蓝白棕白

记忆口诀(568B):橙白橙,绿白蓝,蓝白绿,棕白棕。

网线类型

类型两端线序用途
直通线两端都是 568B(或都是 568A)连接不同类型的设备(电脑 ↔ 交换机、路由器 ↔ 交换机)
交叉线一端 568A,一端 568B连接相同类型的设备(电脑 ↔ 电脑、交换机 ↔ 交换机)

现代交换机支持自动翻转(Auto-MDIX),所以直通线和交叉线可以通用。


光纤(Fiber Optic Cable)

光纤利用光信号在玻璃纤维中的全反射原理传输数据,是长距离、高速率传输的首选介质。

多模光纤 vs 单模光纤

对比维度多模光纤(Multimode)单模光纤(Single-mode)
纤芯粗细较粗(50μm 或 62.5μm)较细(约 9μm)
传输速率较低(适合短距离高速传输)较高(适合长距离传输)
传输距离较近(几百米到 2km)较远(几十公里到上百公里)
价格便宜
光源LED激光
适用场景局域网、数据中心内部城域网、广域网、长途干线

光纤接口类型

接口类型全称特点
FCFerrule Connector螺丝固定,常用于电信网络
STStraight Tip卡口式固定,常用于企业网络
LCLucent Connector小尺寸,常用于高密度设备
SCSubscriber Connector推拉式,常用于光纤到户


数据链路层(Data Link Layer)

数据链路层负责在同一局域网内,通过物理地址(MAC 地址)进行设备间的数据传输。它是 OSI 模型中承上启下的一层——向上为网络层提供服务,向下控制物理层的传输介质。


功能

数据链路层的核心功能:

功能说明
链路创建与维护建立和管理相邻节点之间的逻辑链路
帧封装与解封装将网络层的数据包封装为帧,或在接收端解封装
帧传输将帧从一个节点传送到另一个节点
同步保证发送端和接收端的时钟同步
差错校验检测传输过程中的数据错误(CRC 校验)

MAC 地址

简介

MAC 地址(Media Access Control Address):媒体访问控制地址,也叫物理地址、硬件地址。

结构

  • MAC 地址由 48 位二进制数字 组成
  • 通常表示为 12 位十六进制数字,用冒号或横杠分隔
00-21-CC-C3-8C-B0
│  │  │  │  │  │
└──┴──┴──┴──┴──┴── 12 位十六进制

MAC 地址组成

部分位数说明示例
厂商标识(OUI)前 24 位(前 6 位十六进制)标识网卡的制造商00-21-CC
硬件标识后 24 位(后 6 位十六进制)厂商分配给每块网卡的唯一编号C3-8C-B0

每个网卡的 MAC 地址全球唯一——就像人的身份证号一样,出厂时就已烧录在网卡芯片中(BIA, Burned-In Address)。

查看 MAC 地址

# Linux 系统
[root@localhost ~]# ip link show
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:ef:5d:a1 brd ff:ff:ff:ff:ff:ff


# Windows 系统
C:\> ipconfig /all
物理地址. . . . . . . . . . . . : 00-0C-29-3E-5F-7A

帧封装

MAC 地址是如何写入网络通信中的呢?答案是通过帧封装

以太网帧结构

┌──────────────┬──────────────┬──────────────┬──────────────┐
│  目标 MAC    │   源 MAC     │    数据      │    CRC       │
│  (6 字节)    │  (6 字节)    │  (46-1500 字节)│  (4 字节)   │
└──────────────┴──────────────┴──────────────┴──────────────┘
     12 字节        12 字节       可变长度         8 字节
    十六进制       十六进制       上层数据         校验码
字段说明
目标 MAC数据要发往的设备的 MAC 地址
源 MAC发送数据的设备的 MAC 地址
数据从网络层传下来的数据包(46 ~ 1500 字节,即 MTU)
CRC循环冗余校验码,用于检测数据是否在传输过程中出错

帧封装过程

网络层数据包(IP 数据包)
         ↓
数据链路层添加帧头(目标 MAC + 源 MAC)
         ↓
数据链路层添加帧尾(CRC 校验码)
         ↓
以太网帧 → 交给物理层发送

交换机工作原理

交换机(Switch) 是工作在数据链路层的网络设备,它根据 MAC 地址转发数据帧。

四大工作机制

机制说明
学习(Learning)交换机通过接收数据帧的源 MAC 地址,学习并记录哪个 MAC 地址连接在哪个端口上
广播(Flooding)当交换机收到一个目标 MAC 未知的帧时,会向除接收端口外的所有端口广播该帧
转发(Forwarding)当交换机知道目标 MAC 地址在哪个端口时,只向该端口转发帧
更新(Aging)交换机定期清理 MAC 地址表中长时间未使用的条目(默认老化时间 300 秒)

MAC 地址表

交换机内部维护一张 MAC 地址表(MAC Address Table),记录 MAC 地址与端口的映射关系:

┌────────────────────────────────────┐
│        交换机 MAC 地址表            │
├──────────────┬─────────┬───────────┤
│  MAC 地址    │  端口   │   类型    │
├──────────────┼─────────┼───────────┤
│ AA-AA-AA    │  Fa0/1  │  DYNAMIC  │
│ BB-BB-BB    │  Fa0/2  │  DYNAMIC  │
│ CC-CC-CC    │  Fa0/3  │  DYNAMIC  │
└──────────────┴─────────┴───────────┘

工作流程示意

 PCA (MAC: MAC_A) ── E1/0/1    E1/0/2 ── PCB (MAC: MAC_B) 
                 ┌──────┐
                 │SWITCH│     MAC 地址表初始为空
                 └──────┘

步骤 1:PCA 发送数据给 PCD
  → 交换机从 E1/0/1 收到帧
  → 学习:MAC_A→ E1/0/1
  → 查找:目标 MAC_D 不在表中
  → 广播:向 E1/0/2、E1/0/3、E1/0/4 转发

步骤 2:PCD 回复 PCA
  → 交换机从 E1/0/4 收到帧
  → 学习:记录 MAC_D → E1/0/4
  → 查找:目标 MAC_A 在表中(E1/0/1)
  → 转发:只向 E1/0/1 发送(不再广播!)

关键理解:交换机第一次通信时是广播,学习到 MAC 地址后就变成精准转发。这就是交换机比集线器(Hub)高效的原因——集线器永远广播,交换机会学习。


实战:使用华为 eNSP 组建局域网

软件准备

华为 eNSP(Enterprise Network Simulation Platform)是华为公司推出的免费企业级网络模拟器,可完美模拟华为交换机、路由器、防火墙等真实设备的命令行和运行特性,是学习华为网络技术的标准工具。

下载步骤

通过网盘分享的文件:eNSP安装包 链接: https://pan.baidu.com/s/1ViOxH6Zax5LywXC4SYnRuQ 提取码: 8eu3

依次安装下去,最后安装ensp即可

安装问题参考下面链接文章

eNSP安装教程(非常详细)保姆教学,看完这一篇就够了【附安装包】-CSDN博客

最强华为eNSP安装教程(100%成功)—— 含全版本安装包+避坑指南 – 超群努力学习中 – 博客园

ENSP报错/安装错误/排错汇总/疑难杂症汇总(一个学了5年网工的飞舞记录) – 裆朝大学士 – 博客园


实验步骤

思路总览

1.安装并启动华为 eNSP
↓
2.部署华为 S5700 交换机和 3 台 PC 主机
↓
3.使用直通线连接主机与交换机
↓
4.启动所有设备,为每台 PC 配置 IP 地址
↓
5.互相 ping 测试局域网连通性
↓
6.通过display mac-address观察交换机 MAC 地址表
↓
7.更换某台主机与交换机连接的接口
↓
8.再次 ping 测试,观察 MAC 地址表自动更新

详细步骤

步骤 1:部署网络设备

  1. 在 eNSP 左侧设备栏选择 交换机 → S5700,拖入拓扑区 1 台
  2. 选择 终端 → PC,拖入拓扑区 3 台(分别命名为 PC1、PC2、PC3)

步骤 2:连接物理线缆

  1. 选择左侧工具栏的 Copper连线
  2. 连接 PC1 的以太网口 ↔ 交换机的GE0/0/1接口
  3. 连接 PC2 的以太网口 ↔ 交换机的GE0/0/2接口
  4. 连接 PC3 的以太网口 ↔ 交换机的GE0/0/3接口

说明:华为交换机接口命名规则为类型 槽位号/子卡号/端口号,百兆口为Ethernet(简写Eth),千兆口为GigabitEthernet(简写GE)。

步骤 3:配置 IP 地址

主机IP 地址子网掩码
PC1192.168.1.1255.255.255.0
PC2192.168.1.2255.255.255.0
PC3192.168.1.3255.255.255.0

步骤 4:测试连通性(进入PC1的命令行界面)

  • 在 PC1 上执行 ping 192.168.1.2(第一次可能丢包,因为 ARP 广播)
  • 在 PC1 上执行 ping 192.168.1.3

步骤 5:观察交换机 MAC 地址表

<Huawei>sys      #进入用户视图输入命令界面
Enter system view, return user view with Ctrl+Z.
[Huawei]display mac-address      #第一次查看MAC地址表
[Huawei]display mac-address       #PC1pingPC2后查看MAC地址表
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID  
               VSI/SI                                              MAC-Tunnel  
-------------------------------------------------------------------------------
5489-983f-75cf 1           -      -      GE0/0/1         dynamic   0/-         
5489-9802-2cbd 1           -      -      GE0/0/2         dynamic   0/-         
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 2 

[Huawei]
[Huawei]display mac-address           #PC1pingPC3后查看MAC地址表
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID  
               VSI/SI                                              MAC-Tunnel  
-------------------------------------------------------------------------------
5489-983f-75cf 1           -      -      GE0/0/1         dynamic   0/-         
5489-9802-2cbd 1           -      -      GE0/0/2         dynamic   0/-         
5489-9895-5870 1           -      -      GE0/0/3         dynamic   0/-         
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 3 

步骤 6:更换端口,观察更新

  • 将 PC3 的连接从 GE0/0/3改到 GE0/0/4
  • 再次 ping 测试
  • 查看 MAC 地址表,确认 PC3 的 MAC 地址已更新为GE0/0/4
[Huawei]display mac-address
MAC address table of slot 0:
-------------------------------------------------------------------------------
MAC Address    VLAN/       PEVLAN CEVLAN Port            Type      LSP/LSR-ID  
               VSI/SI                                              MAC-Tunnel  
-------------------------------------------------------------------------------
5489-983f-75cf 1           -      -      GE0/0/1         dynamic   0/-         
5489-9802-2cbd 1           -      -      GE0/0/2         dynamic   0/-         
5489-9895-5870 1           -      -      GE0/0/4         dynamic   0/-         
-------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 3 

VLAN(虚拟局域网)

简介

VLAN(Virtual Local Area Network):虚拟局域网。它允许在一台物理交换机上划分出多个逻辑上独立的网络。

为什么需要 VLAN?

没有 VLAN 的问题:

  • 所有设备都在同一个广播域中
  • 广播风暴会占用大量带宽
  • 不同部门的数据可以互相访问,安全性差
  • 网络管理困难

有了 VLAN 的好处:

  • 隔离广播域:每个 VLAN 是一个独立的广播域
  • 安全性提升:不同 VLAN 之间默认不能通信
  • 灵活管理:逻辑分组,不受物理位置限制
  • 减少带宽浪费:广播只在同一 VLAN 内传播

图示

┌─────────────────────────────────────┐
│            一台物理交换机             │
│  ┌─────────────┐  ┌──────────────┐  │
│  │  VLAN 10    │  │  VLAN 20     │  │
│  │  (技术部)    │  │  (财务部)     │  │
│  │             │  │              │  │
│  │ PC1  PC2    │  │ PC3  PC4     │  │
│  └─────────────┘  └──────────────┘  │
│                                      │
│  逻辑隔离:VLAN 10 和 VLAN 20        │
│  之间默认不能通信!                   │
└─────────────────────────────────────┘

可以说vlan把一个网段划分出不同的部门,而不同的部门是不能通信的


划分 VLAN 的方法

基于端口划分(最常用)

根据交换机端口与 VLAN 的对应关系来划分:

VLAN端口范围部门
VLAN 10GE0/0/1 ~ GE0/0/10技术部
VLAN 20GE0/0/11 ~ GE0/0/20财务部
VLAN 30GE0/0/21 ~ GE0/0/30人事部

注意:VLAN 编号范围是 2 ~ 1024(VLAN 1 是默认 VLAN,所有端口初始都属于 VLAN 1)。


实战:配置 VLAN

实验拓扑

交换机配置命令

# 进入系统视图并修改设备名
<Huawei>sys
[Huawei]sysname Switch1
[Switch1]

# 创建VLAN 10和VLAN 20
[Switch1]vlan batch 10  20

# 配置GE0/0/1和GE0/0/3为Access模式并加入VLAN 10
[Switch1]int  g0/0/1
[Switch1-GigabitEthernet0/0/1]port link-type access    # 设置端口为接入模式
[Switch1-GigabitEthernet0/0/1]port default vlan 10     # 将端口加入指定VLAN
[Switch1-GigabitEthernet0/0/1]

[Switch1-GigabitEthernet0/0/1]int g0/0/3
[Switch1-GigabitEthernet0/0/3]port link-type access
[Switch1-GigabitEthernet0/0/3]port default vlan 10

# 配置GE0/0/2为Access模式并加入VLAN 20
[Switch1-GigabitEthernet0/0/3]int g0/0/2
[Switch1-GigabitEthernet0/0/2]port link-type access
[Switch1-GigabitEthernet0/0/2]port default vlan 20

部分输出示例:

[Switch1]dis vlan   查看所有vlan
VID  Type    Ports                                                          
--------------------------------------------------------------------------------
1    common  UT:GE0/0/4(D)      GE0/0/5(D)      GE0/0/6(D)      GE0/0/7(D)      
                GE0/0/8(D)      GE0/0/9(D)      GE0/0/10(D)     GE0/0/11(D)     
                GE0/0/12(D)     GE0/0/13(D)     GE0/0/14(D)     GE0/0/15(D)     
                GE0/0/16(D)     GE0/0/17(D)     GE0/0/18(D)     GE0/0/19(D)     
                GE0/0/20(D)     GE0/0/21(D)     GE0/0/22(D)     GE0/0/23(D)     
                GE0/0/24(D)                                                     

10   common  UT:GE0/0/1(U)      GE0/0/3(U)       #可以看到pc1和pc3在vlan10                               

20   common  UT:GE0/0/2(U)                         #可以看到pc2在vlan20 

验证

测试场景结果说明
PC1(VLAN 10)ping PC3(VLAN 10)同一 VLAN 内可以通信
PC1(VLAN 10)ping PC2(VLAN 20)不通不同 VLAN 之间默认隔离


TRUNK(干道)

简介

TRUNK(干道/中继链路) 是交换机之间的一种特殊链路,可以在一根物理线缆上传递多个 VLAN 的数据。

核心技术:802.1Q 打标

问题:当两台交换机之间有多个 VLAN 需要通信时,如果每个 VLAN 都用一根独立的网线连接,线缆数量会非常多。

解决方案:使用 TRUNK 链路,通过 802.1Q 协议 在数据帧中打上 VLAN 标签(Tag),让一根网线可以承载多个 VLAN 的流量。

图示

TRUNK 帧格式(802.1Q Tag)

┌────────┬─────────┬────────┬────────┬────────┐
│目标MAC │ 源MAC   │ 802.1Q │ 类型   │ 数据   │
│        │         │  Tag   │ /长度  │        │
└────────┴─────────┴────────┴────────┴────────┘
                    4 字节
              ┌──────┴──────┐
              │TPID│TCI     │
              │(0x8100)│VID │
              └──────┴──────┘
                     ↑
                VLAN ID (1-4094)

普通以太网帧没有 VLAN Tag(最大 1518 字节),802.1Q Tag 帧增加了 4 字节(最大 1522 字节),其中包含了 VLAN ID 信息。


实战:配置 TRUNK

实验拓扑

配置步骤

在 Switch1 上配置:

<Huawei> sys
[Huawei] sysname SW1

# 批量创建VLAN 10和20
[SW1] vlan batch 10 20

# 配置接入端口
[SW1]int g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default vlan 10

[SW1-GigabitEthernet0/0/1]int g0/0/2
[SW1-GigabitEthernet0/0/2]port link-type access
[SW1-GigabitEthernet0/0/2]port default vlan 20

[SW1-GigabitEthernet0/0/2]int g0/0/3
[SW1-GigabitEthernet0/0/3]port link-type access
[SW1-GigabitEthernet0/0/3]port default vlan 20

[SW1-GigabitEthernet0/0/3]int g0/0/4
[SW1-GigabitEthernet0/0/4]port link-type access
[SW1-GigabitEthernet0/0/4]port default vlan 10

# 配置TRUNK端口(连接sw2)
[SW1-GigabitEthernet0/0/4]int g0/0/10
[SW1-GigabitEthernet0/0/10]port link-type trunk    # 设置为干道模式
[SW1-GigabitEthernet0/0/10]port trunk allow-pass vlan 10 20    # 允许指定VLAN通过

在 Switch2 上配置(类似):

<Huawei> sys
[Huawei] sysname SW2

# 批量创建VLAN 10和20
[SW2] vlan batch 10 20

# 配置接入端口
[SW2]int g0/0/5
[SW2-GigabitEthernet0/0/5]port link-type access
[SW2-GigabitEthernet0/0/5]port default vlan 20

[SW2-GigabitEthernet0/0/5]int g0/0/6
[SW2-GigabitEthernet0/0/6]port link-type access
[SW2-GigabitEthernet0/0/6]port default vlan 20

[SW2-GigabitEthernet0/0/6]int g0/0/7
[SW2-GigabitEthernet0/0/7]port link-type access
[SW2-GigabitEthernet0/0/7]port default vlan 10

[SW2-GigabitEthernet0/0/7]int g0/0/8
[SW2-GigabitEthernet0/0/8]port link-type access
[SW2-GigabitEthernet0/0/8]port default vlan 10

# 配置TRUNK端口(连接sw1)
[SW2-GigabitEthernet0/0/8]int g0/0/10
[SW2-GigabitEthernet0/0/10]port link-type trunk 
[SW2-GigabitEthernet0/0/10]port trunk allow-pass vlan 10 20

验证示例

测试场景预期结果说明
PC1(LSW1, VLAN10)ping PC4(LSW1, VLAN10)✅ 通同交换机同 VLAN 互通
PC1(LSW1, VLAN10)ping PC7(LSW2, VLAN10)✅ 通跨交换机同 VLAN 通过 TRUNK 互通
PC1(LSW1, VLAN10)ping PC2(LSW1, VLAN20)❌ 不通同交换机不同 VLAN 隔离
PC1(LSW1, VLAN10)ping PC5(LSW2, VLAN20)❌ 不通跨交换机不同 VLAN 隔离

交换机接口工作模式总结

模式英文连接对象说明
AccessAccess Port主机(PC、服务器等)端口只属于一个 VLAN,发送和接收的数据不带 Tag
TrunkTrunk Port交换机(或其他网络设备)端口可以承载多个 VLAN 的数据,数据帧带 802.1Q Tag

简单记忆:

  • Access → 连主机 → 只过一个 VLAN 的数据 → 不用打标
  • Trunk → 连交换机 → 过多个 VLAN 的数据 → 需要打标区分

总结

通过本章节的学习,你应该掌握了:

  • 理解模拟信号和数字信号的区别
  • 掌握双绞线的分类(STP/UTP、Cat 5/5e/6)和线序标准(568A/568B)
  • 理解光纤的分类(多模/单模)和接口类型(FC/ST/LC/SC)
  • 掌握 MAC 地址的结构(厂商标识 + 硬件标识)和查看方法
  • 理解以太网帧结构(目标 MAC + 源 MAC + 数据 + CRC)
  • 掌握交换机的工作原理(学习、广播、转发、更新)和 MAC 地址表
  • 能够使用 Cisco Packet Tracer 组建局域网
  • 理解 VLAN 的概念、作用和划分方法
  • 能够配置交换机 VLAN(创建 VLAN、端口加入 VLAN)
  • 理解 TRUNK 的作用
  • 能够配置交换机 TRUNK 链路
  • 理解 Access 模式和 Trunk 模式的区别

学习建议:网络实战是理论知识的落地。建议下载eNSP 软件,亲手完成局域网组建、VLAN 划分和 TRUNK 配置实验。实际操作一遍,胜过阅读十遍文档。同时,观察生活中的网线、光纤,将理论与实际结合起来理解。


🙋 学习路上不孤单,有坑一起填!



卡在参数调试、命令打架、功能没反应、资源失效?其他问题?直接戳我,也可以进群和同好交流!



📱 个人QQ:3838586495    👥 交流Q群:1094091455    📮 邮箱:leyan2504@163.com



内容帮你省了大把踩坑时间?可以文末小小打赏鼓励一波,也欢迎安利给身边学习的朋友~



✨ 欢迎来评论区「交作业」:分享你的配置思路、提出疑难问题;评论区正确填写邮箱,不错过任何人的解答回复!


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇