layer2-1 二层

一   概述    一层的相关介绍

CSMA/CD
网桥和交换机的区别
冲突    共享      端口密度     性能   功能
 
交换机的三种主流转发方式
存储转发         完整的收到数据帧 然后校验   再传输    速度慢延迟大 
快速转发         交换机确定帧的目的 mac地址和正确的端口号就转发帧     通常收到帧头的14个字节左右就开始转发 
转发速度快延迟小    但是不可靠
无碎片转发 快速转发的修订版     当前交换机的缺省模式     检查前64个字节后转发       fragment free
 
多种交换
layer2-1 二层_第1张图片

 

 

    如何对转发方式中的mac地址    字节校验等等进行处理呢?
就需要用到软件交换  或者硬件交换 或者MLS技术
软件交换   完全通过cpu实现传统帧的交换   早期交换机和网桥共同使用此种方式   考验系统能力
硬件交换 通过专门的asic    组件处理数据包      再硬件层面单独的对数据帧进行查找     不通过软件
MLS multiple layer switch  多层交换    通过硬件来交换和路由选择数据包    通过硬件支持4-7层的交换。交换 矩阵    与单纯的硬件交换相比    没有冲突   图中比较   图中黄色的可以代表接口 
   
MLS中cisco交换分为两种
基于netflow的MLS    
1.传统的基于网流
让asic能够对呗路由的数据包执行2层重写   包括S/D    MAC    CRC
原理   交换机将受到的数据流中的第一个包交给三层引擎处理   后面的数据包以进程交换的额方式处理   即 查找一个包即可
如何判断数据包哪个属于同一流   需要用到三层和四层的 五元组 的概念   既有二层又有三层又有四层   所以 才叫多层交换
五元组包括三层的源ip  目的ip    源port   目的port  及协议号
当发现任意两个数据报文中的五元组的内容相同  则认为是同一个tcp流  执行相同的转发策略
2.centralized forwarding  集中式转发
使用一个专用的asic 做转发决策   是所有接口的枢纽
3.distributed forwarding  分布式转发
在sw的接口和模块上独立地做出转发决策   中央交换引擎将第三层转发、路由选择表何重写表何本地表(本 地表位于支持分布式交换的模块之上)进行同步
CEF    cisco express forwarding
基于拓扑的转发模型 预先将所有的路由信息加入FIB 使sw能快速查找路由信息 解决了递归的问题
 
 
网络分类   按照 访问对象分
MA  多目的   分为BMA 广播和 NBMA非广播    
P2P  单一目的地
以太网是最典型的广播多路访问网络  即上面的BMA
 
网络拓扑分类  总线   已经见不到
令牌环   双向令牌环    信令   军用网络    或专用网络       安全性比较高
星型   或扩展星型
全互联或者部分互联     
 
二     二层介绍
以太网是一种二层技术
一层    定义了各种无力传输介质    以及接口类型   拓扑结构
二层 定义了MAC地址    数据封装类型
A  数据封装类型     
ethernet II
802.3
layer2-1 二层_第2张图片

 

  数据内容分为两类

     一类是由用户终端发送的数据 例如email   qq    游戏   视频等等  数据
    另一类是由网络设备(交换机,路由器)发送的数据   用来网络方面的相关的协议  状态  网 络状态维护等等  为第一类服务
其中的网络状态维护或维持      是重点   就是802.3  协议封装
如果此数据与终端用户数据相关   则用ethernet ii封装
二层转发 依据mac地址 端口
layer2-1 二层_第3张图片

 

  oui为厂商的地址    不同的厂商有不同的oui   厂商:intel     cisco 等等都会买一系列的网卡oui地址
交换机必须有cam  可寻址内存   二重可寻址内存
t-cam   三重可寻址内存     寻址内存非专业叫法叫mac地址表
mac地址表有三部分组成
1 出厂写入 show  mac  address-table  或者 show mac-address-table
layer2-1 二层_第4张图片

 

  图中的vlan为all    type为static    ports为cpu的      就是出厂写入的mac地址   预留给协议使用   某 些协议会使用其中的某一个  当做协议的目的mac  私有的技术   明确告诉收到这些mac地址的数据 时候   要把数据交给cpu。

2 出厂预留   表项当中看不到       地址范围
show version 
layer2-1 二层_第5张图片

 

  高亮部分显示背板  基准mac地址

在接口下的命令   show interface  fa0/1

 

  高亮显示的是接口的mac地址与上面的背板mac地址的关联

物理接口和vlan一样都会获得mac地址    地址线性分配   按照接口创建先后顺序分配  与接口号无 关。
   主板预留的作用是用来支持某些特殊的功能    地址的多少会影响交换机的功能。vlan、隧道等等
交换机重要指标 :cam表大小(mac地址条目的多少),背板预留mac的多少 越多将来支持的功 能 可能越多 性能越强悍。
 
 
 
3 动态学习或者网工写入
图中的最后一个    type为dynamic     ports为fa0/24   
出厂时  应该是空的值
mac地址学习过程
交换机---收到电平信号或光脉冲信号----》010101111000------》按照ethernet结构变为帧----》查看帧结构中 的目的地址和源地址,
1.先看源mac地址   并将其加入自己的cam中(内存中)  
2. 再把收到此数据帧的接口编号和 vlan编号加入cam表
3.最后看前面的目的mac地址 并查看cam表中是否有此mac地址  
如果没有   则交换机将此数据帧  从属于此vlan   除了入接口外的  其余所有的接口均发送一 遍    称为flood  也叫泛洪 
接口的mac地址的功能:
a pca----------------sw-----------------pcb    在此种方式中接口的mac地址没有用处
pca-----------sw1-------------sw2-----------pcb   在此种方式中接口的作用体现出来    交换机之间协商协议  选举  等等的作用  需要用到接口的mac地址     
b 区分二层和三层
layer2-1 二层_第6张图片

 

  sw1是三层交换机     pca与pcb为相同的网段       pca与pcc为不同的网段
工作过程:1先看数据二层帧头的目的mac      d-mac    是未知mac或者是cam表中的通过动态学习的mac  则 是需要二层转发。
2.如果二层帧头的目的mac是    预留的mac地址(包括背板预留mac和接口预留mac)  则将 二层帧头拆掉   查阅三层的包头  再进行转发。
转发原理:一层设备    二层设备    三层设备      
二层转发
pcA ---------------sw1------------sw2--------------router1
mac1.2.3 mac  a.b.c
192.168.1.1 192.168.1.2
s-mac d-mac s-ip d-ip
pcA--1. 1.2.3 ffff 1.1 1.2 目的mac地址为广播mac   ----sw1
sw1--2. 1.2.3 ffff 1.1 1.2 sw1将数据包中的源mac1.2.3写入cam表  并且表明接口
再查d-mac  发现ffff没有   就泛洪----》sw2   
sw2--3 1.2.3 ffff 1.1 1.2 sw2与sw1的操作一样没有改变数据  仅仅学习了mac接口
router-4 router先看二层  看到ffff广播帧   然后拆掉二层帧头  查看三层包头  目的ip为1.2  是自己, 所以就将三层包头拆掉查看更高层的数据  得出结论是arp-request   有人需要mac地址   所以router会回复一个arp reply 内容如下 回包  
arp-reply--5 a.b.c 1.2.3 1.2 1.1 发给sw2
sw2--6 a.b.c 1.2.3 1.2 1.1 sw2查看源mac地址 进行学习并且关联接口 再查看目的mac地址 为1.2.3 查看cam表 有此mac地址 所以从条目中的端口发出去
sw1--7 a.b.c 1.2.3 1.2 1.1 sw1查看源mac地址 进行学习并且关联接口 再查看目的mac地址 为1.2.3 查看cam表 有此mac地址 所以从条目中的端口发出去
pcA--8 a.b.c 1.2.3 1.2 1.1 pcA查看 二层帧头查看目的mac地址 发现此帧是给自己的 就拆掉二层的帧头 查看三层包头 发现目的ip也是自己 就拆掉三层包头 查看四层内容 发现是arp reply 所以知道了路由器的mac地址和ip地址 并存放到arp表中 此表存放mac和ip的对应关系。 
 
 
深入一
**交换机是否有全f的mac地址 用show命令查看

 

  此条目需要自己读之后  仍然要泛洪处理
**与此类似 当路由器收到pcA发过来的arp-request数据包时 也需要学习 pcA的mac地址 即将收到的数据帧中的源mac和源ip加入到自己的 arp表中。优化的作用
**router 中除了拥有arp表之外 还有一个 FIB表 forwarding information database 这是路由器的转发表 如果有条目就单播发 没有此条目就丢包。
**为什么说 pc 打印机 等等终端是三层设备 从转发原理上考虑
sw查阅cam表 路由器查阅FIB和arp表 pc查阅FIB和arp表 其余终端也是如此 所以就称为三层设备
windows中查阅路由表的命令 route print arp -a 查看arp表
**arp动态学习的mac地址和ip地址的对应 时间的问题 自己设定保活时间
arp表项如果永远存在 则不会出现封装失败的情况 即丢包的情况出现
拓扑变化较大的环境下 需要arp表项的保活时间比较短
查看交换机默认mac地址表的老化时间
show mac address-table aging-time 默认时间为300s 就是5分钟
路由器中的arp命令 show arp
然后进入接口 修改时间: int **
arp timeout **
修改arp表项:arp 192.168.1.1 100.200.110 arpa 其中192...为ip地址 100...位mac地址 arpa 为类型
修改mac地址表项:mac address-table static 100.200.300 vlan 1 interface fa0/23
static为静态 100.**为mac地址

 

  手动写的现实类型为static    接口为fa0/23    在cam表中

三层转发
layer2-1 二层_第7张图片

 

  sw1为三层交换机    r1和r2为不同网段   需要sw1进行三层转发   图中1.2地址对应mac为4.5.6    2.1ip地址对 应mac地址为7.8.9 sw1必须分别有两个接口与r1和r2在相同的子网    构建FIB表项
三层需要两个表来进行转发   FIB和ARP表
转发过程:
s-mac d-mac s-ip     d-ip
1.r1查arp    没有2.2的对应的mac地址    封包失败  丢包
2.r1发送arp请求
1.2.3 fff 1.1 2.2
3.sw1收到此数据包    先mac学习 之后有权利看全f的数据包  拆帧后发现目的ip地址   和源ip地址不在同一个网 段   所以不能泛洪   即不能广播     所以需要交换机的代理arp功能   开启此功能   用交换机1.2ip地址的mac地址4 .5.6作为arp-reply 回复给r1   
arp-reply  4.5.6 1.2.3 2.2 1.1
4.r1可以封包并且发送
1.2.3   4.5.6 1.1 2.2
5.sw1收到之后发现二层mac地址是自己  但是三层目的ip地址不是自己对应的1.2     而是2.2   所以需要继续转发
查FIB和arp两张表    此数据帧中的二层头已经被拆掉    所以需要重新封装好  源mac为2.1的地址   目的mac为2.2的地址  需要到arp表项中查  发现没有  所以封装失败   丢包  所以也需要发送arp-request
arp-request  7.8.9 fff 2.1 2.2
6.sw2收到之后执行二层转发   先学习   写cam表  再泛洪   
7.8.9 fff 2.1 2.2
7.r2收到此数据包  查看目的mac     发现是自己    拆二层帧头       查看三层包头   发现目的ip是自己   再拆掉三层    发现是arp-request   所以会回应一个arp-reply   给sw2
8.sw2收到后学习源mac   然后单播给sw1
9.sw1收到arp-reply   数据为a.b.c 7.8.9 2.2 2.1
学习源mac   构建arp 表项
10.r1再发送数据包给r2     先到达sw1     查看二层帧头  目的mac为自己  目的ip为2.2   查看arp表项发现有此记录  重新封装二层帧头 源mac为7.8.9    目的mac为a.b.c   之后进行三层的交换转发   。
对应二层转发 三层转发的区别:
1.不同点1:r1pingr2会发现 ..!!!    原因就是r1封装第一次失败  之后做了arp请求
sw1也封装第一次失败   之也后做了arp请求
封装两次失败  所以有两个.
2.不同点2:二层转发不修改原数据的内容    但是三层转发会修改原来的数据   重新封装二层的数据   即源目 mac地址。一定会被改变
注意 物理拓扑和逻辑拓扑图的区别
1.pc1-----sw1----sw2---pc2                  物理拓扑   针对只有二层交换的情况
对应的逻辑拓扑可以写成:pc1------------pc2    
2.pc1------sw1-----sw2------pc2     物理拓扑   针对sw1执行了三层交换的情况
对应的逻辑拓扑需要写成pc1-------sw1------pc2     
得出结论   二层交换不改变数据  交换机只是查看     所以可以省略
而三层交换改变了数据的包头内容     不能省略。

转载于:https://www.cnblogs.com/dongguolei/p/7896383.html

你可能感兴趣的:(人工智能,网络,数据库)