网络通信原理

数据链路层解析

数据链路层概述

位于网络层与物理层之间

3.2.1

功能

  • 数据链路的建立、维护与拆除
  • 帧形成、帧传输、帧同步
  • 帧的差错恢复和流量控制

协议

  • Ethernet(以太网)

以太网概述

以太网

  • 以太网(Ethernet)是一种计算机局域网技术
  • 以太网是目前最通用,使用最广泛的局域网通信协议标准
  • 通常使用的局域网即”以太网”

主机A与主机B之间的通信,可能遇见的问题

  • 如何区分不同设备
  • 如何识别设备发送的数据

以太网地址 (MAC)

  • MAC地址用来标识以太网上唯一的一个设备
  • 长度:48个bit (6个字节)
  • 组成:24个bit的厂商标识+24个bit的网卡编号
  • 表示方式:使用12位的16进制数表示的 如:98-FA-9B-EE-AA-04
  • MAC地址的第8位为0表示单播地址,为1表示组播地址(每一个物理网卡都有一个全球唯一的MAC地址)
  • 48位都为1 表示广播地址

3.2.2

Ethernet II帧格式

  • 目的地址:接收主机的MAC地址(6个字节=48个bit)
  • 源地址:发送数据主机的MAC地址
  • 类型:用来表示上一层使用的什么协议,如果是0x800 代表上层协议是 ip协议
  • 数据:要传输的数据(包含IP包头,包含TCP包头,包含数据)
  • 帧校验序列:数据校验,检查数据是否损坏,好的就接收,坏的就丢弃
  • 以太网帧的数据长度范围46-1500 字节 (净重)
  • 以太网帧的长度范围64-1518 字节 (毛重)

3.2.3

理解冲突域

单工、半双工与全双工

单工

  • 只有一个信道,传输方向只能是单向的
  • 传输数据的信道只有一个,只能接收数据,不能回复数据(类似BB机)

半双工

  • 只有一个信道,在同一时刻,只能是单向传输
  • 传输数据的信道只有一个,可以接收数据,也可以回复数据,但是不能同时进行(类似:对讲机)

全双工

  • 双信道,同时可以有双向数据传输
  • 传输数据的信道有两个,接口可以在同一时刻接收数据和发送数据(类似:电话)

3.2.4

冲突域概述

什么是冲突域

  • 早期以太网是多个网络节点共享同一链路,在同一传输介质上的多个节点共享同一条链路,多个节点争用链路的使用权,这样就会发生冲突
  • 连接在同一传输介质上的产生冲突的所有节点的集合就是一个冲突域

3.2.5

分割冲突域

为了提高传输效率,分割冲突域

3.2.6

交换机分割冲突域

交换机分割冲突域

  • 早期的以太网利用物理层设备HUB来构建网络,不能隔绝冲突
  • 交换机设备取代了HUB设备组建以太网后,交换机的每个接口访问另一个接口时,都有一条专有的线路,不会产生冲突,所以交换机的每个接口,都是一个不同的冲突域,所以交换机可以分割冲突域
  • 全双工从根本上解决了以太网的冲突问题

交换机工作原理

交换机概述

交换机是用来连接局域网的主要设备

  • 交换机能够根据以太网帧中目标MAC地址智能的转发数据,因此交换机工作在数据链路层
  • 交换机可以分割冲突域,实现全双工通信
  • 交换机转发数据,主要依靠的是核心工作表:MAC地址表

交换机工作原理

交换机的转发原理

  • 初始状态,MAC地址表是空的
  • MAC地址学习
  • 广播未知数据帧
  • 接收方回应
  • 交换机实现单播通信

学习

  • 学习数据帧源MAC地址,生成MAC地址表,并将源MAC地址和对应的接口号写入MAC地址表

3.2.7

广播

  • 若目标MAC地址在MAC地址表中没有,交换机就向该数据帧的入接口外的其他所有接口广播未知目标MAC地址

3.2.8

3.2.9

转发

  • 交换机根据MAC地址表和目标MAC地址,单播转发数据帧

3.2.10

更新

  • 交换机MAC地址表中的转发条目是动态学习到的,老化时间是300秒
  • 如果发现一个帧的入接口和MAC地址表中该源MAC地址所对应的接口不同,交换机将MAC地址重新学习到新的接口

查看MAC地址表

1
2
3
4
5
6
7
8
9
10
<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-9802-3b6e 1 - - GE0/0/1 dynamic 0/-
5489-9886-7447 1 - - GE0/0/2 dynamic 0/-
5489-9899-2a4a 1 - - GE0/0/3 dynamic 0/-
-------------------------------------------------------------------------------

理解广播域

广播域概述

定义

  • 广播域指接收同一广播消息的节点的集合,比如:一个节点发送目的MAC地址为全FFFF-FFFF-FFFF的广播报文,其余能够收到这条广播报文的节点的集合,就是一个广播域
  • 通常”一个IP网段,就是一个广播域”

3.2.11

广播域过大所带来的问题

广播域中网络节点过多所带来的问题

  • 一个广播域中的网络节点越多,广播报文也必然会越多
  • 当广播报文越多,当前广播域的带宽占用就越多,网络不可用风险增大
  • 当广播报文越多,当前广播域中的设备资源占用高,转发数据速度慢
  • 所以当一个广播域中的节点过多,网络的稳定性和安全性会越低

VLAN概述

VLAN概述

什么是VLAN

  • VirtualLAN(虚拟局域网)
  • 将一个物理的局域网(LAN) 逻辑上划分成多个虚拟局域网 (VLAN) 的通信技术

为什么引入VLAN

  • 交换机分割了冲突域,但是不能分割广播域
  • 随着交换机端口数量的增多,网络中广播增多,降低了网络的效率
  • 为了分割广播域,引入了VLAN

VLAN分割广播域

3.2.12

VLAN的作用

  • 广播控制
  • 安全性
  • 带宽利用
  • 延迟

VLAN的划分种类

基于端口划分的静态VLAN(常见)

  • 通常是基于接口划分

3.2.13

基于MAC地址划分的动态VLAN

标准以太网帧及带有vlan 标签的数据帧

  • Vlan数据帧(标准):目标地址+源地址+类型+数据+帧校验序列

  • VLAN数据帧:目的地址+源地址+【Vlan-Tag】+类型+数据+帧校验序列

  • 注:vlan-tag:共4个字节,分为4个字段,其中最后一个字段VID表示vlan编号(12个bit),2的12次方是4096,所以0-4095个vlan,但是0和4095是被保留的,所以一个交换机中可以创建的vlan编号最大到4094

VLAN配置

PVID

PVID: Port Default VLANID,也称缺省VLAN

  • 表示接口所属的VLAN
  • 每个接口都有一个PVID
  • 交换机中所有接口的PVID默认都为VLAN1,但是可以手动修改

配置VLAN的步骤

创建VLAN

  • 创建单个VLAN
  • 批量创建VLAN

将接口加入到相应的VLAN中

创建VLAN

创建单个VLAN

1
[Huawei]vlan 10    //创建VLAN10

批量创建VLAN

1
2
[Huawei]vlan batch 10 15 20   //创建多个不连续vlan
[Huawei]vlan batch 10 to 20 //创建多个连续vlan

删除VLAN

删除VLAN

1
2
3
[Huawei]undo vlan 10               //删除VLAN10
[Huawei]undo vlan batch 10 15 20 //删除多个不连续vlan
[Huawei]undo vlan batch 10 to 20 //删除多个连续vlan

Access接口

场景

  • 通常用于连接终端设备(主机、服务器)

特点

  • 同时只能属于一个VLAN
  • 接收数据帧时,若该帧不带vlan标签,用接口PVID数值做为标签,给数据帧打标签
  • 接收数据帧时,若该帧带vlan标签,判断vlan标签和本接口的PVID是否一致,一致接收数据,不一致则丢弃数据
  • 转发数据帧时,若该帧vlan标签与本接口PVID一致,则剥离标签并转发,不一致则丢弃数据

将接口加入VLAN

接口加入VLAN

  • 创建VLAN
  • 设置接口模式成Access
  • 将接口加入VLAN
1
2
3
[Huawei]interface g0/0/1                 //进入g0/0/1接口
[Huawei-G0/0/1]port link-type access //将接口设置为access模式
[Huawei-G0/0/1]port default vlan 2 //将接口加入vlan2

验证vlan的配置

检查vlan信息

1
2
3
[Huawei]display vlan               //显示所有vlan信息
[Huawei]display vlan 2 //显示指定vlan信息
[Huawei]display port vlan //显示vlan中包含的接口信息