交換機工作原理詳解

前言

資料鏈路層裝置主要是網絡卡和交換機,認識交換機是認識後續上層協議的基礎,本文將詳細介紹交換機的工作原理和相關的命令。

幀資料結構

在認識交換機之前,我們需要了解一下資料幀,資料幀是網路通訊的基礎,其結構如圖所示:

交換機工作原理詳解

由上圖可知,一個數據幀包含如下部分:

目標MAC

:目標機器的網絡卡地址

源MAC

:傳送端機器網絡卡地址

型別

:指定上層協議的型別。由於上層協議眾多,所以在處理資料的時候必須設定該欄位,標識資料交付哪個協議處理。例如,欄位為 0x0800 時,表示將資料交付給IP協議,0x0806為ARP協議。

MTU值

:也叫最大傳輸單元,由上層的協議和資料構成。當需要傳送的資料較大時如5000kb,由於資料幀最大隻能傳輸1500位元組,需要4幀才能傳送完該資料

校驗碼

:也叫幀尾,檢測該幀傳輸過程中是否出現差錯,佔4個字。接收方計算機會和傳送方的幀尾資料做比較。如果兩個值不相同,則表示傳輸過程中發生了資料丟失或改變。這時,就需要重新傳輸這一幀。

問:MAC地址是什麼呢?答:MAC地址也叫物理地址,全球唯一,為6個位元組,作用是當網絡卡接收到一個數據幀時,首先會檢查該幀的目的地址,是否與當前網絡卡的物理地址相同,如果相同,就會進一步處理;如果不同,則直接丟棄。問:為什麼會有MTU值?一次傳輸不是更好嗎?答:早期資料在網路傳輸過程中受到很多因素(比如雷電)的干擾,資料傳輸過程中可能存在丟失或者錯誤的現象,一但資料傳輸錯誤,那麼錯誤的資料需要重新傳,設定MTU值是為了減少錯誤重傳的資料量

交換機埠

以前的時候網路速度慢,交換機埠的傳輸速度也設計的慢,隨著網路速度的改善,交換機的埠傳輸速度也隨之提升。但是為了相容以前的傳輸速度慢的裝置,交換機發展至今有多種傳輸速度。常見網路速度和表示如下:E字母表示 10MbF字母表示 100MbG字母表示 1000MbTe字母表示 10000Mb

交換機埠表示

:F0/1F表示速度0模組號1表示介面號

問:傳輸速度不同的交換機和網絡卡如何通訊?答:交換機介面速率會自適應,不同裝置之間會取相互間最大的傳輸速度進行通訊問:交換機為什麼會有模組號的概念答:有的交換機支援可插拔,用於擴充套件介面數量,才有了模組的概念

交換機工作原理

交換機工作原理詳解

結合上圖我們來看下交換機的工作原理:現做出如下假設,三個小圓圈表示區域網內的三臺網路裝置,IP地址分別為10。0。0。1、10。0。0。2、10。0。0。3;MAC地址分別為AA、BB、CC(簡寫,實際長度為6個位元組)。長方形表示AA裝置向CC裝置通訊時準備傳送的資料幀。

AA裝置將資料傳送至交換機1;

交換機1解析資料幀,獲取幀中的源MAC地址,檢查自身的MAC地址表是否有AA裝置源MAC地址,如果有進行下一步;如果沒有,則將F0/1介面和AA這個MAC地址記錄到地址表中;

交換機1獲取目標MAC,檢查自身的MAC地址表是否有CC這個MAC地址,如果MAC地址表中有CC地址,則將資料直接單播發送給連線CC裝置的F0/3這個地址。如果MAC地址表中沒有CC地址,則廣播(即每個交換機埠都發送一份資料幀)

MAC地址不是CC的裝置會忽略收到的資料幀,而MAC為的CC裝置會接受資料幀,進行下一步處理。

上面交換機工作流程中提到了一個非常重要的概念

MAC地址表

,表裡面的內容格式和資料如圖所示:

交換機工作原理詳解

Vlan

:用來隔離虛擬區域網的

Mac Address

:網絡卡的MAC地址

Type

:標識MAC地址和交換機介面的關聯關係是怎樣獲取的,DYNAMIC標識是動態獲取的,管理型交換機可以直接繫結MAC地址和交換機介面的關聯關係

Ports

:交換機的插口或者說介面

問:MAC地址表中資料是否一直儲存不刪除呢?答:MAC地址表資料有一個老化時間的概念,預設是300秒,即交換機介面300秒沒有接受到資料,MAC地址表就會刪除該介面的資料

交換機工作模式和對應的命令

注:

以下部分交換機常用命令摘自網路:

工作模式:

1)使用者模式: switch> 可以檢視交換機的基本簡單資訊,且不能做任何修改配置!2)特權模式 switch> enable switch#> 可以檢視所有配置,且不能修改配置,但可以做測試、儲存、初始化等操作3)全域性配置模式 switch# congigure terminal switch(config)# 預設不能檢視配置! 可以修改配置,且全域性生效!4)介面配置模式: switch(config)#interface f0/1 switch(config-if)# 預設不能檢視配置! 可以修改配置,且只對該介面生效!5)console口/線/控制檯配置模式: switch(config)#line console 0 預設不能檢視配置! 可以修改配置,且對console口生效!

備註:

1、第一次配置網路裝置,需使用console線

2、在PC上需要使用”超級終端“或其他軟體。

命令:

exit 退出一級end 直接退到特權模式使用?可代替一個字元(不記得命令全稱)支援tab補全鍵配置主機名: conf t(命令縮寫形式,等價於congigure terminal) hostname 折裝置名 設定使用者密碼: line co 0 password 密碼 login(重新登入測試) exit 快捷鍵: ctrl+u : 快速刪除游標前所有字元 ctrl+a : 快速定位游標到行首 ctrl+e : 快速定位游標到行尾 儲存配置步驟: en copy running-config startup-config 或 write 交換機開機動作: 先去硬碟中查詢startup-config配置檔案是否存在: 如果不存在,記憶體中建立新的running-config配置檔案 如果存在,則複製到記憶體中並改名為running-config 檢視running-config配置檔案: en show running-config 檢視startup-config配置檔案: en show startup-config 重啟裝置: en reload 配置特權密碼: conf t enable password 密碼(明文) enable secret 密碼 (密文) 檢視MAC地址表:show mac-address-table 檢視介面狀態列表: show ip int brief show ip int b 手工關閉介面: int f0/x shutdown exit 手工開啟介面: int f0/x no shutdown exit do的用法: 其他模式加do空格可以強制使用特權模式的命令 如: do sh run do sh ip int b do wr 刪除配置: 1)在哪配置的,就在哪刪! 2)命令前加no 空格 3)原命令中有引數,並且引數具有唯一性,則刪除時不需要加引數 如: conf t hostname sw1 conf t no hostname 清空/擦除/初始化配置: en erase start-config 為3層埠 配置IP:(用於遠端控制交換機) int f0/0 ip add 10。1。1。254 255。255。255。0 no shutdown 開啟遠端控制: conf t line vty 0 4 transport input telnet/ssh/none/all password 密碼 login exit conf t hostname r1 ip domain-name r1。qf。com crypto key generate rsa //生產金鑰對 line vty 0 4 transport input telnet/ssh/none/all login local exit username xx password 123。com 為交換機配置管理IP: conf t int vlan 1 ip add 10。1。1。253 255。255。255。0 no shut 為交換機配置預設閘道器 目的:可跨網段管理 conf t ip defaut-gateway 10。1。1。254 關閉自動解析功能: conf t no ip domain-lookup

結束語

本篇部落格詳細的闡述了交換機的工作原理和命令,和交換機相關的網路安全比如說ARP攻擊,DHCP攻擊等等,請參考單獨的ARP和DHCP入門與安全部落格。