文章目录

  • 1、数据链路层
  • 1.1 功能和协议
  • 1.2 Ethernet 以太网
  • mac地址
  • mac地址表
  • 帧格式
  • 2、交换机
  • 3、ARP协议
  • 工作原理
  • ARP缓存表
  • 广播风暴
  • 局域网扫描脚本
  • 4、虚拟局域网VLAN
  • 广播域
  • 划分vlan的作用
  • 创建vlan
  • 5、trunk中继链路
  • trunk作用
  • trunk模式


1、数据链路层

位于网络层与物理层之间

傻瓜交换机 vlan 傻瓜交换机有vlan吗_傻瓜交换机 vlan

1.1 功能和协议

数据链路的建立,维护与拆除
帧包装,帧传输,帧同步
帧的差错恢复
流量控制

ppp协议:点到点协议(Point-to-Point Protocol)
PPPOE协议:是以太网上的点到点协议( Point-to-Point Protocol Over Ethernet ),是将点到点协议ppp封装在以太网框架中的一种网络隧道协议,

1.2 Ethernet 以太网

mac地址

傻瓜交换机 vlan 傻瓜交换机有vlan吗_网络协议_02


mac地址是嵌入到网卡芯片里的,出产就配置好了,不需要我们去配置–》全球唯一,mac地址是可以改的。

以太网(ethernet):就是我们平常的局域网

mac地址(硬件地址、物理地址)
mac地址是48位的;前24位代表厂商;后24位代表厂商生产的网卡的唯一标识,16进制是12位

linux里面查看:ip add ——00:0c:29:6b:da:85
windows里面查看:ipconfig -all ——物理地址 : 70-8B-CD-1F-A9-58

mac地址表

交换机里面有个mac地址表,记录所有连接到交换机的电脑mac地址和对应的接口;
mac地址表存放在内存里
mac地址表:mac地址+对应的端口号+vlan

mac地址表会更新吗?

· mac地址表里面的条目是有老化时间的,有自动刷新行为
· mac地址表只在局域网里面使用,广域网里面使用的是ip地址

帧格式

傻瓜交换机 vlan 傻瓜交换机有vlan吗_网络_03

字段

内容

源mac

6字节

目的mac

6字节

数据

46~1500字节 mtu最大传输单元

帧校验序列

校验数据真伪,防止数据丢失

帧的范围

64 ~1518 字节

MTU

最大传输单元,数据在帧里最大只能是1500 字节

2、交换机

交换机只做俩件事:学习和转发
1、学习:帧里面的mac地址,将其和对应接口号记录到mac地址表里面
2、转发:
不知道mac地址时,会广播——>给每一个接口都复制一份数据,转发过去
知道mac地址,就单播

工作原理

假设一台新的交换机连了3台电脑,电脑向外发广播。
1、学习:学习帧里面的源mac地址写到mac地址表
2、转发:根据帧里的目的mac地址去转发.
先查询下mac地址表里面是否有对应的目的mac地址对应的接口,有就单播转发;
没有就广播(复制数据帧给除进来的接口以外的其他接口都发一份)

工作过程描述

1、当数据包第一次封装好的时候,此时源mac地址是自己的,目的mac地址是对方的,封装好了就会发送到交换机来;
2、 交换机收到数据包以后的第一件事就是学习,学习源mac地址和对应接口号,然后写到mac地址表里面。
· 如果mac地址表里面有目的mac地址的话,就会直接进行单播。
· 如果mac表里面没有这个目的mac地址,就会给每一个接口(除了这个源mac的机器)进行广播;
3、收到的机器就会进行解封装,看这个目的mac地址是不是自己,如果是自己就回复,如果不是自己就会丢弃,不会响应。
4、回复的数据包到了交换机,交换机也会先进行学习,然后再转发。
转发的过程中如果mac地址表里面有对应目的mac地址的话就进行单播,如果mac地址表里面没有的话,就进行广播,通信过后如果再来的话,就可以直接进行单播。

A电脑给B电脑发数据,最开始的时候是怎么知道B电脑的mac地址的?
数据封装的时候,并不是一来就封装mac地址的,自上而下是先封装ip地址的,再封装mac地址的。
ip与mac之间有一个arp协议。发arp广播获得对方的mac地址。
arp协议(Address Resolution Protocol 地址解析协议):将ip地址解析到对应的mac地址
帧里面若目的mac为ff:ff:ff:ff:ff:ff,这是帧里面的广播地址,交换机会广播到所有的接口。

交换机在俩种情况下会广播

1.如果目的mac在mac地址表里没有,交换机就会广播转发;
2.目的mad地址是FF:FF:FF:FF:FF:FF ,交换机也会广播转发;
3.收到组播地址(mac地址的第8位为1的mac地址)的时候,也会广播的

3、ARP协议

Address Resolution Protocol 地址解析协议
在局域网中,数据的传输是通过帧的,帧里面有目的主机的mac地址。这个mac地址是通过arp协议获得的。
“地址解析” 就是主机在发送帧之前将目的主机的ip地址转换为mac地址。
arp协议的基本功能就是通过目的主机的ip地址查询其mac地址,以保证通信的顺利进行。

工作原理

在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的.

A主机(192.168.1.5)
B主机(192.168.1.1)
1、A向B发送数据,A在自己的arp缓存表里面查询是否有B的ip地址。
     有,就知道了B的ip地址对应的mac地址,写入帧里面发送就可以了。
     没有,A就会在局域网中发送一个广播,目标mac地址为“FF.FF.FF.FF.FF.FF”。
     表示向所有局域网中的主机询问“B的mac地址是什么?”,只有B主机会给出回应“我是B,mac地址为00-aa-00-62-c6-09”
2、 这样A主机知道B的mac地址,就可以向B发信息了。
    同时A会更新自己的arp缓存表,下次向B发送信息时,直接查arp缓存表就行了。

ARP缓存表

ARP缓存表是可以查看的,也可以添加和修改。

arp -a # 查看ARP缓存表中的内容
arp -d # 删除ARP表中某一行的内容
arp -s # 手动在ARP表中指定IP地址与MAC地址的对应。

ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用就会被删除,这样大大的减少了ARP缓存表的长度,加快查询速度。

广播风暴

什么是广播风暴?
网络环路+交换机的工作原理转发广播包。
广播风暴有什么危害?
大量的广播在交换机之间传输,消耗了所有交换机的cpu和内存,带宽资源,导致正常的数据帧都不能转发了。
后面网络越来越慢,最后数据发送不出去。

如何防范?

  1. 物理上检查不要形成环路
  2. 交换机的系统里启用STP协议 生成树协议STP spanning-tree ( 路,如果形成了环路,会自动阻断其中一条路。一般交换机会自动开启)

局域网扫描脚本

[root@localhost lianxi]# cat scan_ip.sh 
#! /bin/bash
 
# 初始化日志文件,第一次新建
> used_ip.log
> unused_ip.log
> ip_mac.log
 
for i in {1..40}
do
	( if ping 192.168.0.$i -c 1 -w 1  &>/dev/null ;then
		echo "192.168.0.$i" >>used_ip.log
	else
		echo "192.168.0.$i" >>unused_ip.log	
	fi )&
done	
wait
# 统计没有使用过的ip地址的个数
num=$(cat unused_ip.log | wc -l)
echo "total ip: $num" >>unused_ip.log
 
# 得到所有在使用的ip对应的mac地址
arp -a | grep -V "incomplete" | awk '{print $2,$4}' | tr -d '()' >>ip_mac.log

4、虚拟局域网VLAN

LAN 局域网 local area network

vlan 虚拟局域网 virtual local area network

广播域: 能够接受到同一个广播的区域

vlan 是逻辑分割局域网,很多电脑在同一个交换机上,我们人为的将它们分开,导致不能通信。

傻瓜交换机 vlan 傻瓜交换机有vlan吗_傻瓜交换机 vlan_04

广播域

能够接收到同一个广播的区域;
分隔广播域:物理分隔、逻辑分隔
vlan是逻辑分隔局域网,很多电脑在同一个交换机上,我们人为将他分开,导致不能通信。

划分vlan的作用

隔离网络(隔离广播);
增强安全性,不同的vlan默认是不能通信的;

默认情况下所有的接口都属于vlan1
傻瓜交换机默认所有接口都属于vlan1,不管是什么品牌的交换机。

xvlan: 对现有的vlan的扩展 --》可以有更加多的vlan
	vlan : 2~1001  1025~4094 可以自定义的vlan的范围

创建vlan

验证:相同vlan的主机在相同网段内可以通信,不同vlan的主机在相同网段内不可以通信

傻瓜交换机 vlan 傻瓜交换机有vlan吗_网络协议_05

不同网段的主机需要通信,默认是需要经过路由器的。
使用Trunk解决不同交换机上的相同vlan的通信
基本的原则: 一个vlan对应一个网段

相同vlan,相同的网段是否可以通行? 可以
相同vlan,但是不同网段是否可以通信? 不可以
不同vlan,相同的网段是否可以通信? 不可以
不同vlan,不相同的网段是否可以通信? 不可以

为什么不同vlan不可以通信?
编程角度:转发数据帧的时候,有if else语句判断。
协议是通过编程语言去实现的,转发数据是编程语言在做,中间是有大量的if else判断。

正常的数据帧到了交换机后,交换机会在里面插入一个vlan标签,这个修改的帧,只有交换机能识别。

傻瓜交换机 vlan 傻瓜交换机有vlan吗_网络_06


destination address 目的地址 --》DA

source address 源地址 -->SA

傻瓜交换机 vlan 傻瓜交换机有vlan吗_网络_07


傻瓜交换机 vlan 傻瓜交换机有vlan吗_网络_08

5、trunk中继链路

trunk作用

  • 实现跨交换机的相同vlan之间的通信
  • 不同的vlan都可以在trunk链路上传输

傻瓜交换机 vlan 傻瓜交换机有vlan吗_缓存_09

  • vlan是虚拟局域网,用来隔离网络,隔离划分广播域,提高安全性。
  • trunk是中继链路,用来实现跨交换机的相同vlan之间的通信。

交换机给往其他交换机的数据帧打上VLAN标记。数据帧到了交换机后,交换机会在里面插入一个vlan标记,这个修改了的整只有交换机之间可以看懂。

trunk模式

auto 随便

desirable 盼望,渴望

trunk 非常主动

nonegotiation 看破红尘

傻瓜交换机 vlan 傻瓜交换机有vlan吗_傻瓜交换机 vlan_10

中继链路trunk详解

vlan——隔离广播域,划分不同的虚拟局域网
trunk——跨交换机的相同vlan之间的通信,它将数据从一个交换机到另外一个交换机的传输问题
以太通道——聚合多条线路,增加带宽,提供高可用性