文章目录
1、数据链路层1.1 功能和协议1.2 Ethernet 以太网mac地址mac地址表帧格式2、交换机3、ARP协议工作原理ARP缓存表广播风暴局域网扫描脚本4、虚拟局域网VLAN广播域划分vlan的作用创建vlan5、trunk中继链路trunk作用trunk模式1、数据链路层
位于网络层与物理层之间
1.1 功能和协议
数据链路的建立,维护与拆除
帧包装,帧传输,帧同步
帧的差错恢复
流量控制
ppp协议:点到点协议(Point-to-Point Protocol)
PPPOE协议:是以太网上的点到点协议( Point-to-Point Protocol Over Ethernet ),是将点到点协议ppp封装在以太网框架中的一种网络隧道协议,
1.2 Ethernet 以太网
mac地址
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地址
帧格式
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和内存,带宽资源,导致正常的数据帧都不能转发了。
后面网络越来越慢,最后数据发送不出去。
如何防范?
物理上检查不要形成环路交换机的系统里启用STP协议 生成树协议STP spanning-tree ( 路,如果形成了环路,会自动阻断其中一条路。一般交换机会自动开启)
局域网扫描脚本
[root@localhost lianxi]# cat scan_ip.sh #! /bin/bash# 初始化日志文件,第一次新建> used_ip.log> unused_ip.log> ip_mac.logfor i in {1..40}do( if ping 192.168.0.$i -c 1 -w 1 &>/dev/null ;thenecho "192.168.0.$i" >>used_ip.logelseecho "192.168.0.$i" >>unused_ip.logfi )&donewait# 统计没有使用过的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默认是不能通信的;
默认情况下所有的接口都属于vlan1
傻瓜交换机默认所有接口都属于vlan1,不管是什么品牌的交换机。
xvlan: 对现有的vlan的扩展 --》可以有更加多的vlanvlan : 2~1001 1025~4094 可以自定义的vlan的范围
创建vlan
验证:相同vlan的主机在相同网段内可以通信,不同vlan的主机在相同网段内不可以通信
不同网段的主机需要通信,默认是需要经过路由器的。
使用Trunk解决不同交换机上的相同vlan的通信
基本的原则: 一个vlan对应一个网段
相同vlan,相同的网段是否可以通行? 可以
相同vlan,但是不同网段是否可以通信? 不可以
不同vlan,相同的网段是否可以通信? 不可以
不同vlan,不相同的网段是否可以通信? 不可以
为什么不同vlan不可以通信?
编程角度:转发数据帧的时候,有if else语句判断。
协议是通过编程语言去实现的,转发数据是编程语言在做,中间是有大量的if else判断。
正常的数据帧到了交换机后,交换机会在里面插入一个vlan标签,这个修改的帧,只有交换机能识别。
destination address 目的地址 --》DA
source address 源地址 -->SA
5、trunk中继链路
trunk作用
实现跨交换机的相同vlan之间的通信不同的vlan都可以在trunk链路上传输 vlan是虚拟局域网,用来隔离网络,隔离划分广播域,提高安全性。trunk是中继链路,用来实现跨交换机的相同vlan之间的通信。交换机给往其他交换机的数据帧打上VLAN标记。数据帧到了交换机后,交换机会在里面插入一个vlan标记,这个修改了的整只有交换机之间可以看懂。
trunk模式
auto 随便
desirable 盼望,渴望
trunk 非常主动
nonegotiation 看破红尘
中继链路trunk详解
vlan——隔离广播域,划分不同的虚拟局域网
trunk——跨交换机的相同vlan之间的通信,它将数据从一个交换机到另外一个交换机的传输问题
以太通道——聚合多条线路,增加带宽,提供高可用性