一,交換機的基本原理
1.1 數據鏈路層的功能

(1)數據鏈路層負責網絡中相鄰節點之間可靠的數據通信,並進行有效的流量控制。
(2)數據鏈路層的作用包括數據鏈路的建立,維護與拆除,幀包裝,幀傳輸,幀同步,幀的差錯控制以及流量控制等。
(3)數據鏈路層在物理線路上提供可靠的數據傳輸,對網絡層而言為一條無差錯的線路。
1.2 以太網及其發展
以太網工作在數據鏈路層


1.3 MAC地址

(1)計算機聯網必須的硬件是安裝在計算機上的網卡
(2)通信中,用來標識主機身份的地址就是制作在網卡上的一個硬件地址。每塊網卡在生產出來后,都有一個全球唯一的編號來標識自己,這個地址就是MAC地址,即網卡的物理地址
(3)MAC地址由48位二進制數組成,通常分成六段,用16進制表示,其中前24位是生產廠商向IEEE申請的廠商編號,后24位是網絡接口卡序列號
(4)MAC地址的第8位為0時,表示該MAC地址為單播地址;為1時,表示該MAC地址為組播MAC地址。
(5)單播的發送方式為一對一,即一台主機發送的數據只發送給另一台主機。
(6)廣播方式為一對多,即一台主機發送一個數據,在這個網段的所有主機都能收到
(7)組播方式介於單播和廣播之間,也是一對多,但接收者不是網段上的全體成員,而是一個特定的組的成員。
1.4 以太網幀格式
以太網有多種幀格式,這里介紹最為常用的Ethernet 2的幀格式

| 類型 | 用途 |
|---|---|
| 目的地址(DA) | 標識了幀的目的站點的MAC地址 |
| 源地址(SA) | 標識了發送幀的站點的MAC地址 |
| 類型 | 用來標識上層協議的類型 |
| 數據 | 封裝了通過以太網傳輸的高層協議信息 |
| 幀校驗序列(FCS) | 是從DA開始到數據域結束這部分的校驗和。校驗和的算法是32位的循環冗余校驗法(CRC) |
1.5 了解交換機

(1)交換機的品牌眾多,像Cisco,華為,H3C,TP-Link,神州數碼,銳捷等廠家都生產了很多不同型號的交換機
(2)常見的Cisco的交換產品系列主要包括Cisco 2960系列,Cisco 3560系列,Cisco 4500系列和Cisco 6500系列
a)Cisco 2960是一款入門級交換機,常用於連接客戶端主機實現10/100/1000兆位以太網互連
b)Cisco 3560是一款企業級交換機,可用於直接連接客戶端主機,也可用於互連入門級交換機
1.6 交換機的工作原理

(1)交換機並不會把收到的每個數據信息都以廣播的方式發給客戶端,是由於交換機可以根據MAC地址智能地轉發數據幀
(2)交換機存儲的MAC地址表將MAC地址和交換機的接口編號對應在一起,每當交換機收到客戶端發送的數據幀時,它就會根據MAC地址表的信息判斷如何轉發
1.6.1 MAC地址的學習

假設A主機發送數據幀(源MAC地址為00-00-00-11-11-11,目標MAC地址為00-00-00-22-22-22)到交換機的1號接口,交換機首先查詢MAC地址表中1號接口對應的源MAC地址條目。如果條目中沒有數據幀的源MAC地址,交換機就會將這個幀的源地址和收到該數據幀的接口編號(1號口)對應起來,添加到MAC地址表中
1.6.2 廣播未知數據幀

如果交換機沒有在MAC地址表中找到數據幀目的地址所對應的條目,交換機就無法確定該從哪個接口將數據幀轉發出去,於是它被迫選用廣播的方式,即除了1號口之外的所有接口都將轉發這個數據幀。於是,網絡中的主機B和主機C都會收到。
1.6.3 接收方回應消息

主機B會響應這個廣播,並回應一個數據幀(源MAC地址為00-00-00-22-22-22,目標MAC地址為00-00-00-11-11-11),交換機也會將此幀的源MAC地址和接口標號(2號口)對應起來,添加到MAC地址表中
1.6.4 交換機實現單播通信

現在,主機A和主機B之間的通信不用借助廣播了,因為MAC地址表中已經有它們的條目。主機A發送數據幀的目標地址為00-00-00-22-22-22,交換機會發現這個地址對應的接口標號為2,於是交換機將只向2號口轉發數據幀
1.6.5 老化時間
(1)由於交換機MAC地址條目是動態的,所以它不會永遠存在MAC地址表中,而是在300s(老化時間)后會自動消失
(2)但是如果在此期間,交換機又收到對應該條目MAC地址的數據幀,老化時間將重新開計時(重置300s)
二,IP地址概述與應用
2.1 IP地址的定義及分類
2.1.1 IP地址的格式
互聯網上連接的網絡設備和計算機都有唯一的地址,以此作為該主機在Internet上的唯一標識,稱其為IP地址。如同我們寫一封信,要標明信件的發信人地址和收信人地址,郵件人員通過該地址來投遞信件一樣,在計算機網絡中,每個被傳輸的數據包也要包括一個源IP地址和一個目的IP地址。
IP地址由32位二進制數組成,如某台連接在互聯網上的計算機的IP地址如下所示:
11010010.01001001.10001100.00000110
很顯然,這些數字對於人來說不太容易記憶且可讀性比較差,因此,人們就將組成計算機IP地址的32位二進制數分成四段,每段八位,中間用圓點隔開,然后將每八位二進制數轉換成十進制數(這種形式叫做點分十進制)。這樣,上述計算機的IP地址就變成了210.73.140.6
2.1.2 IP地址的分類
- [x] IP地址由兩部分組成:網絡部分和主機部分。
- 網絡部分:用於標識不同的網絡
- 主機部分:用於標識在一個網絡中特定的主機
- [x] IP地址的網絡部分由IANA(Internet地址分配機構)統一分配,以保證IP地址的唯一性。為了便於管理,IANA將IP地址分為A,B,C,D,E五類,按照二進制表示方法根據IP地址前幾個比特位,可以判斷IP地址屬於哪類。目前在Internet上使用最多的IP地址是A,B,C這三類,IANA根據機構或組織的具體需求為其分配A,B,C類網絡地址。具體主機的IP地址由得到某一網絡地址的機構或組織自行決定如何分配。

- [x] 每個類別的IP地址的網絡部分和主機部分都有相應的規則。

- A類地址:
(1)在A類地址中,規定第1個八位組為網絡部分,其余三個八位組為主機部分,即A類地址=網絡部分+主機部分+主機部分+主機部分。
(2)IP地址的前幾個比特位稱為引導位,對A類地址來說,它的第1個八位組的第1個比特位是0.因此它的第1個八位組的范圍就是00000000~01111111.換算成十進制就是0~127,其中127又是一個比較特殊的地址,我們用於本機測試的地址就是127.0.0.1。
(3)由於A類地址的第一個地址塊(網絡號為0)和最后一個地址塊(網絡號為127)保留使用,即全0表示本地網絡,全1表示保留作診斷用。因此A類地址的有效網絡范圍為1~126.全世界只有126個A類網絡,每個A類網絡可以擁有的主機數就是后面24個比特位的組合,為2的24次方個。
特別提示:
主機部分不能全為0或1,都是0代表的是網絡ID,全為1代表的是本網絡的廣播地址,因此每個A類網絡擁有的最大可用主機數為2的24次方-2.
A類地址適宜在大型網絡中使用
- B類地址:
(1)在B類地址中,規定前兩個八位組為網絡部分,后兩個八位組為主機部分,即B類地址=網絡部分+主機部分+主機部分。
(2)B類地址中作為引導位的前兩個比特位必須是10,因此它的網絡部分的范圍就是1000000.00000000~10111111.11111111。其中第1個八位組換算成十進制就是128~191.B類地址的有效網絡范圍是網絡部分中后14個比特位的組合。為214個。每個B類地址擁有的最大主機數為216-2。B類地址適宜在中等規模的網絡中使用。
- C類地址
(1)在C類地址中,規定前三個八位組為網絡部分。最后一個八位組為主機部分。即C類地址=網絡部分+網絡部分+網絡部分+主機部分。
(2)C類地址中作為引導位的前三個比特位必須是110.因此它的網路部分的范圍就是11000000.00000000.00000000~11011111.11111111.11111111。其中第1個八位組換算成十進制就是192~223。C類地址的有效網絡范圍是網絡部分中后21個比特位的組合。為221個。每個C類地址擁有的最大主機數為28-2。C類地址適合在主機數量比較少的中小型網絡中使用。
特別提示:
D類地址是用於組播通信的地址,E類地址是用於科學研究的保留地址,它們都不能在互聯網上作為節點地址使用。
2.1.3 Internet 上的合法IP地址
目前在Internet上只使用A,B,C這三類地址,而且為了滿足企業用戶在Internet上使用的需求,從A,B,C這三類地址中分別划出一部分地址供企業內部網絡使用。這部分地址稱為私有地址,私有地址是不能在Internet上使用的。私有地址包括以下三組。
- [x] 10.0.0.0 ~ 10.255.255.255
- [x] 172.16.0.0 ~ 172.31.255.255
- [x] 192.168.0.0 ~ 192.1678.255.255
2.1.4 子網掩碼
前面學習了IP地址及其分類,下面來看一個與IP地址密切相關的概念---子網掩碼。在網絡中,不同主機之間通信的情況可以分為如下兩種。
- [x] 同一個網段中兩台主機之間相互通信
- [x] 不同網段中兩台主機之間相互通信
特別提示:
具有相同網絡地址的IP地址稱為同一個網段的IP地址
如果是同一網段內兩台主機通信,則主機將數據直接發送給另一台主機;如果不在同一網段內的兩台主機通信,則主機將數據發送給網關,由網關再進行轉發。
為了區分這兩種情況,進行通信的計算機需要獲取遠程主機IP地址的網絡部分以做出判斷。
- [x] 如果源主機的網絡地址=目標主機的網絡地址,則為相同網段主機之間的通信
- [x] 如果源主機的網絡地址!=目標主機的網絡地址,則為不同網段主機之間的通信
因此對一台計算機來說,關鍵問題就是如何獲取遠程主機IP地址的網絡地址信息,這就需要借助子網掩碼(Netmask)。
下面介紹子網掩碼的組成。與IP地址一樣,子網掩碼也是由32個二進制位組成。對應IP地址的網絡部分用1表示,對應IP地址的主機部分用0表示。通常也是用四個點分開的十進制數表示。當為IP網絡中的節點分配IP地址時,也要一並給出每個節點所使用的子網掩碼。對A,B,C這三類地址來說,通常情況下都使用默認子網掩碼。
- [x] A類地址的默認子網掩碼是255.0.0.0
- [x] B類地址的默認子網掩碼是255.255.0.0
- [x] C類地址的默認子網掩碼是255.255.255.0
有子網掩碼后,只要把IP地址和子網掩碼做邏輯“與”運算,所得的結果就是IP地址的網絡地址。
例如:給出IP地址192.168.1.189 子網掩碼255.255.255.0。將IP地址和子網掩碼進行“與”運算就可以計算出IP地址的網絡ID。運算過程如下所述。

計算出網絡ID就可以判斷不同的IP地址是否位於同一網段了。
使用點分十進制的形式表示掩碼。書寫比較麻煩。為了書寫簡便,經常使用位計數形式表示掩碼。位計數形式是在地址后加“/”,"/"后面是網絡部分的位數,即二進制掩碼中“1”的個數。例如:IP地址192.168.1.100。掩碼255.255.255.0。可以表示成192.168.1.100/24。
