layer2-1 二層


一   概述    一層的相關介紹

CSMA/CD
網橋和交換機的區別
沖突    共享      端口密度     性能   功能
 
交換機的三種主流轉發方式
存儲轉發         完整的收到數據幀 然后校驗   再傳輸    速度慢延遲大 
快速轉發         交換機確定幀的目的 mac地址和正確的端口號就轉發幀     通常收到幀頭的14個字節左右就開始轉發 
轉發速度快延遲小    但是不可靠
無碎片轉發 快速轉發的修訂版     當前交換機的缺省模式     檢查前64個字節后轉發       fragment free
 
多種交換

 

 

    如何對轉發方式中的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

 

  數據內容分為兩類

     一類是由用戶終端發送的數據 例如email   qq    游戲   視頻等等  數據
    另一類是由網絡設備(交換機,路由器)發送的數據   用來網絡方面的相關的協議  狀態  網 絡狀態維護等等  為第一類服務
其中的網絡狀態維護或維持      是重點   就是802.3  協議封裝
如果此數據與終端用戶數據相關   則用ethernet ii封裝
二層轉發 依據mac地址 端口

 

  oui為廠商的地址    不同的廠商有不同的oui   廠商:intel     cisco 等等都會買一系列的網卡oui地址
交換機必須有cam  可尋址內存   二重可尋址內存
t-cam   三重可尋址內存     尋址內存非專業叫法叫mac地址表
mac地址表有三部分組成
1 出廠寫入 show  mac  address-table  或者 show mac-address-table

 

  圖中的vlan為all    type為static    ports為cpu的      就是出廠寫入的mac地址   預留給協議使用   某 些協議會使用其中的某一個  當做協議的目的mac  私有的技術   明確告訴收到這些mac地址的數據 時候   要把數據交給cpu。

2 出廠預留   表項當中看不到       地址范圍
show version 

 

  高亮部分顯示背板  基准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 區分二層和三層

 

  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表中

三層轉發

 

  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     
得出結論   二層交換不改變數據  交換機只是查看     所以可以省略
而三層交換改變了數據的包頭內容     不能省略。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM