文章目录

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

帧格式

字段 内容
源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.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.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默认是不能通信的;

默认情况下所有的接口都属于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之间的通信,它将数据从一个交换机到另外一个交换机的传输问题
以太通道——聚合多条线路,增加带宽,提供高可用性

2_计算机网络_数据链路层-交换机-以太网-vlan-trunk相关推荐

  1. 一台支持vlan管理的交换机_关于交换机的VLAN技术你了解多少?

    VLAN(虚拟局域网)是对连接到的第二层交换机端口的网络用户的逻辑分段,不受网络用户的物理位置限制而根据用户需求进行网络分段.一个VLAN可以在一个交换机或者跨交换机实现.VLAN可以根据网络用户的位 ...

  2. 【计算机网络】5 交换机与VLAN配置

    目录 概览 环境 连接双节点网络 登录交换机(图3) 配置双节点网络VLAN 配置四节点网络 VLAN 结果: 总结 概览 ▪ eNSP软件的使用方法. ▪ 交换机和VLAN的配置方法. 连接双节点网 ...

  3. 华为交换机vlan配置举例_华为交换机配置VLAN和VLANif

    当我们的配置好交换机之后一般都会配置vlan信息那么在配置玩vlan之后还需要配置vlanif接口IP地址:以便于telnet管理或者是用于作为vlan的网关地址:那么今天小编将指导大家完成华为交换机 ...

  4. 计算机网络_数据链路层

    数据链路层概述 封装成帧 差错检测 可靠传输 使用广播信道的数据链路层(共享式局域网) 以太网的媒体接入控制协议CSMA/CD 无线局域网 802.11局域网的媒体接入控制协议CSMA/CA 封装成帧 ...

  5. vlan的基本指令_思科交换机命令(vlan相关)

    交换机命令 交换机基本状态: switch: : ROM 状态, 路由器是 rommon> hostname> :用户模式 hostname# :特权模式 hostname(config) ...

  6. 两台思科交换机vlan划分_华为交换机划分vlan及vlanIP地址的设置

    如果这篇文章对您有帮助,请关注并点赞,感谢您的支持,如果还有其他问题,请私信给我 Vlan(Virtual Local Area Network)翻译成中文名为虚拟局域网,在网络管理中,vlan的划分 ...

  7. 华为交换机默认vlan都是通的吗_华为交换机配置VLAN

    使用eNSP新建实验拓扑图,s5700交换机一台,PC4台,接口连接如图: 分别为4台PC设置IP: PC1: 192.168.10.2 PC2: 192.168.10.3 PC3: 192.168. ...

  8. 华为交换机不同网段互访_华为交换机同一VLAN配置多个网段实现互通 | 大磊博客...

    在VLANIF接口下配置主从IP地址,可以实现同一VLAN多个网段用户间的互通. 例如,如图1所示,某VLAN10内两个主机Host_1和Host_2分别属于网段10.1.1.1/24和10.1.2. ...

  9. 第13节 实现不同交换机同VLAN之间通信——基于VLAN Trunk技术

    实现不同交换机同VLAN值间通信--基于VLAN Trunk技术 1引言 1.1VLAN技术回顾 1.2问题背景 1.3VLAN的局限性 2 VLAN trunk 2.1概述 不同接口对vlan fl ...

最新文章

  1. Amazon S3 功能介绍
  2. 面向对象的C语言编程-DynamicLinkageGenericFunctions--C语言中的偷梁换柱
  3. html里table的遍历,js遍历table中的tr
  4. 软件工程质量管理体系要求_软件质量管理| 软件工程
  5. 在centos6.5中安装reids
  6. 1782: [Usaco2010 Feb]slowdown 慢慢游
  7. C语言中你可能会用到的字符串函数的代码
  8. mat opencv 修改roi_OpenCV开发笔记(七十三):红胖子8分钟带你使用opencv+dnn+yolov3识别物体...
  9. 湖北工业大学计算机导论考试试题,湖北工业大学计算机二级考试时间
  10. C语言指针详解(经典,非常详细)
  11. (Demo3D 学习笔记)案例2:飞板传输货物,并按指定货位上架
  12. Metricbeat监听容器CPU利用率,内存等使用情况,发送给ElasticSearch并展示在kibana
  13. 简单理解数据库游标cursor
  14. Verilog语言注意事项——always
  15. Java中long与float
  16. [CTF]-反弹shell[2]
  17. linux中如何判断两个字符串相等
  18. 分析如何区分MOS管是N沟道还是P沟道-KIA MOS管
  19. LIN 总线数据采集助手 Python
  20. 渡一教育公开课web前端开发JavaScript精英课学习笔记(十)数组的常用方法

热门文章

  1. 关于VMWare Data Protection VDP的使用心得
  2. 蓝桥杯试题 算法提高 扶老奶奶过街(C语言)
  3. 计算机微课课件评比活动总结,学校品德优质课评比活动总结
  4. MySQL的utf8与utf8mb4编码,以及utf8_bin、utf8_general_ci编码区别
  5. Pytorch LSTM 长短期记忆网络
  6. 百万级用户量的站内信设计
  7. 怎样在excel中通过出生日期计算年龄
  8. 计算机专业硕士毕业论文,硕士毕业论文(计算机专业、自动化专业).doc
  9. Android下的配置管理之道之主从gerrit配置使用replication插件
  10. e成科技人岗匹配中的匹配模型