IP地址

1-126 A类网段

128-191 B类网段

192-223 C类网段

子网地址=子网内主机IP地址与子网掩码进行相与的操作

子网划分概念:

子网划分就是将网络位变长,主机位变短的过程。实际上就是将一个大的网络划分成多个小的网络的过程

子网掩码的左右区分一个地址的网络位和子网位

子网位=现在的网络位-原来的网络位

最多产生多少个子网,子网数=2^子网位

子网掩码是?

每个子网中合法主机数=2^主机位-2=254 # 之所以减去2是因为:主机位全0的我们一般称为网络地址,主机位全1的是广播地址,这两个地址不能绑定到设备上使用

写出192.168.1.0/24 所有子网

规则:用二进制表示,原网络位不变,现主机位全0,子网位从全0到全1

  1. 11000000 10101000 00000001 00000000
  2. 11000000 10101000 00000010 00000000
  3. 11000000 10101000 00000011 00000000
  4. 11000000 10101000 00000100 00000000
  5. 11000000 10101000 00000101 00000000
  6. 11000000 10101000 00000110 00000000
  7. ……
  8. 11000000 10101000 11111111 00000000

原因: 因为可以划分子网每个子网是根据子网位数决定的,类似

10.0.0.0/27

可以划分八个子网,每个子网可以容纳30台主机

(中间的大哥数加起来不能大于224)

可以划分为;

10.0.0.000 00000 ======= 10.0.0.0/27

10.0.0.001 00000 ======= 10.0.0.32/27

10.0.0.010 00000 ======= 10.0.0.64/27

10.0.0.011 00000 ======= 10.0.0.96/27

10.0.0.100 00000 ======= 10.0.0.128/27

10.0.0.101 00000 ======= 10.0.0.160/27

10.0.0.110 00000 ======= 10.0.0.192/27

10.0.0.111 00000 ======= 10.0.0.224/27

路由是数据包从源网络经过一系列中间网络被转发到达目的网络的过程,主要由路由器来完成,路由器有三个主要功能模块:路径信息的维护,最佳路径的查找以及数据包的转发。

  • 为了能够路由,路由器必须知道以下内容
  • 目的网络地址
  • 路由的来源方向
  • 可能的路径
  • 最好的路径
  • 验证和维护路由信息

OSI参考模型

  • 分层思想
    • 将复杂的流程分解,复杂问题简单化
    • 更容易发现问题并针对性的解决问题
  • OSI参考模型
    • 国际标准化组织(ISO)与1984年颁布了开放系统互连,参考模型
    • 它规定将网络分为七层,从下往上依次是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

物理层: 规范的电气特性,两个设备之间的运行规范电压线速,线缆的帧输出等

数据链路层:将我们的比特流组合成使用mac地址进行物理寻址

网络层:提供逻辑寻址,用路由器进行路径确定

传输层:提供可靠或不可靠的数据传输,重传以前进行纠错

会话层:区分上层的不同应用

表示层:是数据如何表示的

应用层:提供人机交互

image-20221013174036902

同一台计算机相邻层之间的通信:

发送数据时,从高层到底层

接收数据时,从低层到高层

当数据产生传输到传输层的时候称为

当数据段传输到网络层的时候称为

当数据从网络层传输到数据链路层的时候称为

当数据从数据链路层传输到物理层的时候称为比特流

物理层

电气特性

物理层非常重要的设备hub

image-20221013175734821

hub功能,hub的工作原理,当hub收到一个数据的时候,他会将这个数据发给所有连了线的端口所有的设备在相同的冲突域(数据在网络中传输发生碰撞的范围)

CSMA/CD载波侦听,多路访问,带冲突检测的协议

image-20221013180154876

所有设备在相同的广播域,所有设备共享宽带

数据链路层

数据链路层的设备及特点

  • 每个网段都有自己的冲突域
  • 每个网断都处在相同的广播域
  • 每个岔路口都有专用车道
  • 每个网断都有它自己的冲突域
  • 广播被转发到所有的网段

数据链路层的设备异同点

  1. 交换机和网桥都工作在数据链路层,他们的工作原理相同
  2. 网桥基于软件进行转发数据的,速度较慢,交换机是基于硬件的网桥
  3. 网桥端口较少,交换机端口较多,交换机也可以叫多端口网桥或多组网桥
    数据链路层帧的标准格式:
    前导|目的mac地址|源mac地址|l/t|数据|fcs

交换机三大功能

  • 地址学习
  • 转发过滤
  • 环路避免

交换机的工作原理
当交换机收到数据后首先地址学习(将收到的帧的源MAC地址与进入端口编号相关联,放入cam(看)表中
然后取出目的mac地址,查看是否是交换机本身的,如果是,自己留下处理,如果不是将再次查看cam表,如果cam表中有对应的条目将数据按照指定的端口在转发出去
如果cam表中没有对应的条目,将泛洪)

cam表初始的时候是空的,并且300秒刷新,当一个条目没有使用300秒会老化

当交换机收到数据发现源和目的mac地址都在一个接口上的时候,交换机将把这个数据直接丢弃不在转发。

登陆交换机

需要用到console口(反转线,console线)

TCP/IP模型

tcp/ip模型与OSI模型的比较
image-20221014131503002

  1. 源端口
  2. 目的端口
    1. 16bit
    2. 65536个端口
    3. 0-65535
    4. 0-1023 公认端口号
    5. 1024-49151 注册端口号
    6. 48152-65535 私有端口
  3. 顺序号
  4. 确认号

实现数据的确认重传

  1. 头长度
  2. 保留位
  3. 代码位
  4. 窗口
  5. 校验和
  6. 紧急指针
  7. 选项
  8. 数据(上层传输下来的数据)

TCP可靠传输机制—-三次握手建立连接

a 第一次发送同步信息

b 回复同步确认信息

a 收到b确认信息后在发送一个确认信息

ip报文格式

  1. 版本

  2. 头长度

  3. 优先级及服务类型

  4. 总长度

  5. 标识

  6. 标志

  7. 段偏移,数据包分段用,MTU

  8. 存活时间,防止数据包在网络中无限传输,ttl值,在经过每一个路由器都会减去1,路由器收到ttl值为0的数据包将直接丢掉。

  9. 协议(tcp,udp,icmp)

  10. 头校验和

  11. 源IP地址

  12. 目的IP地址

  13. 选项

  14. 数据(传输层传下来的数据包)

交换机命令行视图

  • 华为交换机的命令行

    • 用户视图

      1
      <Huawei>
    • 系统视图

      1
      2
      system-view
      [Huawei]
    • 接口视图

      1
      2
      interface Ethernet 0/0/1
      [Huawei-Ethernet0/0/1]
      • interface:接口
      • Ethernet:接口类型
      • 0/0/1:第一个“0”代表槽位号,第二个“0”代表子卡号,“1”代表接口号
    • 协议视图

      1
      2
      ospf
      [Huawei-ospf-1]
      • 在系统视图下,输入相关路由协议命令即进入路由协议视图

视图的层次关系

用户视图:查看运行状态或其他参数

系统视图:配置设备的系统参数等

接口视图:配置接口参数

协议视图:配置路由协议

image-20230515204300206

交换机配置

  • 配置主机名

    1
    2
    3
    <Huawei>system-view
    [Huawei]sysname yyt
    [yyt]
  • 显示设备(VRP)版本

    1
    2
    [Huawei]display version # 这个命令可以任意视图去敲
    display current-configuration # 查看大多数配置信息
  • 给设备设置用户名和密码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    # 系统视图下执行aaa进入aaa视图设置用户名和密码
    [Huawei-aaa]local-user yyt password ?
    cipher User password with cipher text # 加密
    simple User password with plain text # 明文,密码可以被别人看到

    [Huawei-aaa]local-user yyt password simple 123

    [Huawei-aaa]display current-configuration
    aaa
    authentication-scheme default
    authorization-scheme default
    accounting-scheme default
    domain default
    domain default_admin
    local-user yyt password simple 123 # 这里可以看到明文密码
    local-user admin password simple admin
    local-user admin service-type http
    #

    # 这里设置了是不会立即生效的需要执行
    user-interface console 0
    authentication-mode aaa # 用aaa状态下设置的用户名密码进行登陆

    # 永久生效,保存一下
    save # 保存

    # 清除保存的配置
    reset saved-configuration

return命令,用于快速回到用户视图

在命令行中如果命令比较长的话可以使用简写命令

  • 查看交换机内的mac地址信息
1
display mac-address

image-20230516144640354

VLAN技术与应用

广播域

  • 广播域指接收同样广播消息的节点的集合,如:在集合中的任何一个节点传输一个广播帧,则所欲其他能接收到这个帧的节点都被认为是该广播帧的一部分
  • 交换机的所有接口默认属于同一个广播域
image-20230516154146778

VLAN概述

  • 什么是vlan

    • virtualLAN(虚拟局域网)是物理设备上连接的不受物理位置限制的用户的一个逻辑组。
  • 为什么引入vlan

    • 交换机的所有接口默认属于同一个广播域,随着接口设备的增多,网络中广播增多,降低了网络的效率

      为了分割广播域,引入了vlan

vlan的作用

  1. 广播控制
  2. 增加安全性
  3. 提高宽带利用
  4. 降低延迟
image-20230516155531380

基于接口划分的静态vlan

image-20230516155835357

配置vlan的步骤

  • 创建vlan
  • 将接口加入到相应的vlan中
  • 验证

非常重要的一个命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[yyt-vlan10]display vlan  # 查看当前交换机的所有vlan信息
The total number of vlans is : 2
--------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
--------------------------------------------------------------------------------

VID Type Ports
--------------------------------------------------------------------------------
1 common UT:Eth0/0/1(U) Eth0/0/2(U) Eth0/0/3(D) Eth0/0/4(D)
Eth0/0/5(D) Eth0/0/6(D) Eth0/0/7(D) Eth0/0/8(D)
Eth0/0/9(D) Eth0/0/10(D) Eth0/0/11(D) Eth0/0/12(D)
Eth0/0/13(D) Eth0/0/14(D) Eth0/0/15(D) Eth0/0/16(D)
Eth0/0/17(D) Eth0/0/18(D) Eth0/0/19(D) Eth0/0/20(D)
Eth0/0/21(D) Eth0/0/22(D) GE0/0/1(D) GE0/0/2(D)

10 common

VID Status Property MAC-LRN Statistics Description
--------------------------------------------------------------------------------

1 enable default enable disable VLAN 0001
10 enable default enable disable VLAN 0010

[yyt-vlan10]display vlan 10 # 也可以直接在命令后面跟上指定的vlan名

创建vlan

1
2
3
4
<yyt>system-view
Enter system view, return user view with Ctrl+Z.
[yyt]vlan 10 # 创建vlan
[yyt-vlan10]
  • 批量创建vlan
1
vlan batch 31 to 40 # 从31到40
  • 删除vlan
1
2
3
4
undo vlan 10 # 删除vlan10
undo vlan batch 31 to 40 # 批量删除vlan

# 不允许删除vlan1

把接口加入vlan

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<yyt>system-view						# 进入系统视图
Enter system view, return user view with Ctrl+Z.
[yyt]interface ethernet 0/0/1 # 进入接口视图
[yyt-Ethernet0/0/1]
[yyt-Ethernet0/0/1]port link-type access # 修改接口的类型为access(接入链路,要让他即将为某一个vlan服务)
[yyt-Ethernet0/0/1]port default vlan 10 # 把接口0/0/1加入vlan 10



[yyt-Ethernet0/0/3]display vlan
The total number of vlans is : 2
--------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
--------------------------------------------------------------------------------

VID Type Ports
--------------------------------------------------------------------------------
1 common UT:Eth0/0/4(D) Eth0/0/5(D) Eth0/0/6(D) Eth0/0/7(D)
Eth0/0/8(D) Eth0/0/9(D) Eth0/0/10(D) Eth0/0/11(D)
Eth0/0/12(D) Eth0/0/13(D) Eth0/0/14(D) Eth0/0/15(D)
Eth0/0/16(D) Eth0/0/17(D) Eth0/0/18(D) Eth0/0/19(D)
Eth0/0/20(D) Eth0/0/21(D) Eth0/0/22(D) GE0/0/1(D)
GE0/0/2(D)

10 common UT:Eth0/0/1(U) Eth0/0/2(U) Eth0/0/3(D) # 在这里可以看到我把接口1,2,3划到了vlan 10中


VID Status Property MAC-LRN Statistics Description
--------------------------------------------------------------------------------

1 enable default enable disable VLAN 0001
10 enable default enable disable VLAN 0010


# 加错了vlan可以使用port default vlan 6,就可以加到vlan6中

利用接口组划分vlan

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 进入系统视图
system-view
# 创建接口组
port-group 1
group-member Ethernet 0/0/1 Ethernet 0/0/2
# 修改接口的类型为access
port link-type access
# 加入到vlan 6中
port default vlan 6
#display vlan 查看vlan6中包含的接口

# 接口加错了,从接口组中把接口剔除

# 查看接口组
display this
[yyt-port-group-1]display this
#
port-group 1
group-member Ethernet0/0/1
group-member Ethernet0/0/2
#
return
[yyt-port-group-1]undo group-member Ethernet0/0/1 # 撤销操作

验证

这里把0/0/1和0/0/2接口划分给vlan 6

然后增加一台pc4 测试pc1和pc2是否通,pc1和pc2跟pc4是否通。

PC1的IP地址为192.168.0.1

PC2的IP地址为192.168.0.2

PC4的IP地址为192.168.0.3

测试后发现同一个vlan内的主机可以互相通信,不同vlan内的主机不能通信。

image-20230516171345146

多交换机vlan的划分

  • 通过配置多交换机实现通vlan主机互通

image-20230517113957187

从上图中我们可以看到。如过要让LSW1交换机的vlan3中的设备与,LSW2交换机的vlan3中的设备通信,需要将两个交换机用网线连接起来,并在双方各自交换机中把0/0/7接口加入到各自的vlan3中,即可实现通讯。

那么思考?双方交换机中的vlan2中的主机进行通信,怎么做?可以在加一根网线,把接口划分到vlan2中,那么双方有很多vlan时,中间就需要很多网线,这就不太现实了那么现在就可以使用TRUNK(中继链路来解决)

TRUNK中继链路

交换机之间的vlan通信:

image-20230517115012926

image-20230517115325421

image-20230517115402949

  • 列如:三个分别来自1、2、3班级的学生。到另一个学校去,分别要参观1、2、3班级的上课情况,对方的学校怎么识别他们分别应该去哪个班级?

VLAN标识

  • 交换机给每个去往其他交换机的数据帧打上vlan标识

image-20230517120103449

image-20230517120240923

image-20230517120508693

TRUNK配置

配置接口为Trunk模式

  • 进入端口后修改端口链路类型

    1
    2
    [yyt]interface Ethernet 0/0/1
    [yyt-Ethernet0/0/1]port link-type trunk # 这里在之前配置的access表示接口链路,现在要改为trunk中继链路
  • 为已经修改为Trunk模式的端口添加允许的VLAN

    1
    2
    port trunk allow-pass vlan all
    # 放行所有vlan的数据

练习

依据如下拓扑图做一个联系,配置各个交换机vlan并把0/0/22端口链路类型改为trunk。

image-20230518100008308

实操

这里只演示交换机1配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<yyt>system-view
[yyt]vlan batch 5 6 # 批量创建vlan
[yyt]display vlan
...
5 common
6 common # 表示创建成功
...

[yyt]port-group 1 # 创建接口组
[yyt-port-group-1]
[yyt-port-group-1]group-member Ethernet 0/0/1 Ethernet 0/0/2
[yyt-port-group-1]port link-type access #设置接口组的状态为接口链路
[yyt-Ethernet0/0/1]port link-type access
[yyt-Ethernet0/0/2]port link-type access
[yyt-port-group-1]port default vlan 6 # 划为vlan6
[yyt-Ethernet0/0/1]port default vlan 6
[yyt-Ethernet0/0/2]port default vlan 6
[yyt]quit # 返回系统视图
[yyt]port-group 2 # 创建接口组
[yyt-port-group-2]
[yyt-port-group-2]group-member Ethernet 0/0/4 Ethernet 0/0/5 Ethernet 0/0/6
[yyt-port-group-2]port link-type access
[yyt-Ethernet0/0/4]port link-type access
[yyt-Ethernet0/0/5]port link-type access
[yyt-Ethernet0/0/6]port link-type access
[yyt-Ethernet0/0/4]port default vlan 5
[yyt-Ethernet0/0/5]port default vlan 5
[yyt-Ethernet0/0/6]port default vlan 5
[yyt-port-group-2]quit
[yyt]display vlan # 查看是否配置正确
[yyt]quit # 注意需要永久保存,须退回用户视图才能保存
<yyt>save

以上是vlan5,和vlan6的划分,从图中可以看到pc3属于vlan1的默认交换机所有接口都是在vlan1上面,所以无需划分。

注意:需要去把两台交换机的0/0/22接口设置为trunk中继链路

1
2
3
4
5
6
7
8
9
10
[yyt]interface Ethernet 0/0/22 # 进入0/0/22接口视图
[yyt-Ethernet0/0/22]port link-type trunk # 设置链路类型为中继链路
[yyt-Ethernet0/0/22]port trunk allow-pass vlan all # 设置允许所有vlan通过

[Huawei]interface ethernet 0/0/22
[Huawei-Ethernet0/0/22]port link-type trunk
[Huawei-Ethernet0/0/22]port trunk allow-pass vlan all

关闭接口的命令:shutdown
开启接口命令:undo shutdown

注意:如果遇到下面,设置链路类型为中继链路时报错,可以重新把他加入vlan1,然后重新设置链路类型

image-20230518103614947

给各个pc配上不同的IP地址,看看能不能ping通

交换机1:192.168.0.1-6

交换机2:192.168.0.11-16

测试

image-20230518105819233 image-20230518110330266 image-20230518110508333

链路聚合

image-20230520200236067

  • Eth-trunk
    • 多条线路负载,带宽提高
    • 容错,当一条线路失效时,不会造成全网中断

image-20230520200423060

配置链路聚合

image-20230520200531103

image-20230520203841685

1
2
3
# 进入系统视图
interface Eth-Trunk 1 # 创建聚合链路 1
trunkport Ethernet 0/0/1 0/0/2 # 批量添加聚合链路接口

注意:对面对应的交换机也需要配置,两方的接口不需要一一对应,对方可以用5口6口任意口都行,只需要对应口配置聚合链路就行。

配置对方交换机,我这里接口也是1口和2口所以配置过程一样

1
2
interface Eth-Trunk 1 # 创建
trunkport ethernet 0/0/1 0/0/2 # 添加

实战

image-20230520204525096

lsw1的22和21口跟lsw1-1的22和21口配置聚合链路

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 配置左边的交换机
[yyt]interface eth-trunk 1 # 创建聚合链路1
[yyt-Eth-Trunk1]trunkport ethernet 0/0/22 0/0/21 #批量添加接口
Info: This operation may take a few seconds. Please wait for a moment...
Error: The port has other configurations. Please clear them first.
The error port is Ethernet0/0/22. # 这里报错的意思是接口不是默认配置状态,之前已经配置了中继链路
[yyt]clear configuration interface ethernet 0/0/22 # 恢复接口的默认配置
Warning: All configurations of the interface will be cleared, and its state will
be shutdown. Continue? [Y/N] :y
Info: Total execute 2 command(s), 2 successful, 0 failed.
[yyt]
May 20 2023 20:54:31-08:00 yyt %%01PHY/1/PHY(l)[2]: Ethernet0/0/22: change st
atus to down
[yyt]interface ethernet 0/0/22
[yyt]undo shutdown # 接口重置之后默认状态是关闭状态需要设置为开启状态
[yyt]interface eth-trunk 1
[yyt]trunkport ethernet 0/0/22 # 重新加入一下

# 配置右边交换机
[Huawei]system-view
[Huawei]clear configuration interface ethernet 0/0/22 # 重置接口配置
[Huawei]interface ethernet 0/0/22
[Huawei]undo shutdown
[Huawei]interface eth-trunk 1
[Huawei]trunkport ethernet 0/0/22 0/0/21

注意:现在两个交换机是只有在vlan1下面的设备可以通过,之前是22接口配置的trunk中继链路现在重置了所以lsw1其他vlan下的设备与lsw2交换机下的设备不能通信。

需要配置trunk中继模式,此时配置聚合链路时已经生成了一个eth-trunk 1,进入配置为trunk中继模式集合

1
2
3
4
# 注意两边交换机都需要配置
interface eth-trunk 1
port link-type trunk # 配置接口为中继链路
port trunk allow-pass vlan all # 允许所有vlan通过

测试

现在就是基本的ping不同交换机下面的同vlan内的主机相通情况,过程忽略

测试聚合链路方法,用vlan6下面的pc1,去ping对面交换机vlan1下面的设备,然后删除22接口线路,模拟线路断了,现在去ping的话,是无法直接ping通的。

image-20230520212912288

原因:线刚断设备转到21接口需要几十秒时间,时间过后再去ping发现ping通。

image-20230520213038795