? ? 將最近學習的內容進行記錄,如果能對你有所啟發(fā),那再好不過了,有問題歡迎交流。關鍵詞解析如下,?
以太網
? ? 以太網幀格式
????MAC地址
? ? 交換機
????VLAN
? ? VLAN的幀結構 ? ? ??
????FDB
????二層轉發(fā)
網絡層
????IP地址
????子網
????VLSM和CIDR
? ? 路由
? ? 三層轉發(fā)
以太網
以太網是一種協議格式,編號為802.3。就像Wi-Fi的協議標準為802.11一樣,每種協議都有自己的編號。

計算機網絡模型有兩種,一種是OSI參考模型,這是最標準的。TCP/IP模型是實際使用時候最常見的模型。至底向上為一至五層,以太網即是作用于物理層和數據鏈路層的協議。
以太網幀格式

以太網幀格式,物理層這部分可以不用理會,主要關注鏈路層。鏈路層只要知道自身和目標的物理地址,即可進行通信。
MAC地址
MAC地址即物理地址,表示的是網卡的物理設備地址,可以人為修改。

其中MAC地址的第一字節(jié)的最低位為1,表示為組播地址;最低位為0,表示單播地址。單播表示一對一,組播表示一對一組,廣播表示一對所有。

交換機
在網絡中,兩個設備很可能不是直接連接的,需要一些中轉設備。作用在二層的中轉設備就有網橋。網橋:兩個端口,從一端接收數據,進行校驗后,從另一端轉發(fā)出去。
網橋一般只有兩個端口,而交換機具有高密度端口,且速率更快。可以說交換機就是多功能網橋。
VLAN
二層交換機在轉發(fā)報文的時候,是進行直接廣播的。當設備較多時候,占有資源也較多。于是有了VLAN(虛擬局域網),即在軟件層面對設備進行分組,只接收自己組的報文,不接收其他組的報文。

使用VLAN有兩大好處:
1、安全。不屬于同一個VLAN端口不能進行通信??梢詫⒉煌悇e主機劃分為不同VLAN端口,保證兩者不接觸。
2、便捷。當網絡中拓撲結構發(fā)生變化時候,不需要去拔插端口來進行更換,通過修改VLAN就可以管理組。
VLAN的幀結構

VLAN的幀格式,即在以太網的幀格式中加入了4Bytes,TPID為VLAN的標識,固定為0x8100,VLAN的協議號為802.1Q。TCI中包含了VLAN的優(yōu)先級和VLAN ID,即區(qū)分不同VLAN的端口號。
FDB
有不同的VLAN后,交換機在進行轉發(fā)報文的時候需要一定的策略。MAC Filter Database,也稱為MAC地址表,用于儲存報文向哪個端口轉發(fā)/過濾的決策。在報文轉發(fā)的時候需要關注三個表項:MAC表、ARP表、路由表。
二層轉發(fā)

以一個例子來描述二層轉發(fā)的過程。PC1 ping PC2的流程:
1、PC1先通過目的地址和掩碼進行“與”操作,得到PC2與自己在同一個子網內?!?0.10.10.2”&“255.255.255.0”==“10.10.10.1”&“255.255.255.0”。
2、PC1要發(fā)送到PC2,需要知道PC2的MAC地址,于是PC1以廣播的形式發(fā)送ARP包。ARP協議即通過IP獲取MAC地址的協議。
3、交換機接收到PC1的ARP包,對它進行繼續(xù)轉發(fā)廣播。同時交換機的MAC表進行更新,因為已經知道PC1和交換機哪個端口對應了,即PC1的MAC+VLAN 10->output:端口1。
4、PC2在廣播中收到了ARP包,學習了PC1的MAC地址和IP地址,更新PC2的ARP表,即10.10.10.1<->PC1的MAC。同時PC2對ARP表進行回應,同時放入自己的MAC地址。
5、交換機轉發(fā),同時更新MAC表:PC2的MAC+VLAN10->output:端口2。
6、PC1收到PC2的ARP包,就知道PC2的MAC地址了,可以進行通信了。同時更新PC1的ARP表,即10.10.10.2<->PC2的MAC。
網絡層
網絡層即L3層,主要功能為:提供主機到主機的傳輸服務,包括尋址和路由。
IP地址
IP地址分類如下,記住A、B、C類即可。A與B類分界線為128;B與C類分界線為192;C與D類分界線為224;D與E類分界線為240。

子網掩碼
在A、B、C類中網絡號和主機號固定死了,有些時候需要的網絡數可能介于兩類地址之間,為了不造成IP地址的浪費,于是催生了子網掩碼。
舉例:IP地址 192.168.100.100
子網掩碼:255.255.255.0
則網絡地址為:192.168.100.0
處于同一個子網內的地址,網絡地址都是一致的。
VLSM和CIDR
VLAM和CIDR都具有對子網掩碼重新劃分的能力。對一個A類地址10.10.10.1,子網掩碼為255.255.240.0。即正常子網掩碼為8位,但是現在為20位,這就是網絡號向主機號借了12位。子網掩碼比原來的長稱為VLAM,相對的,子網掩碼比原來的短稱之為CIDR。
舉例:一個企業(yè)分配IP地址為128.45.0.0,現需要10個子網,則子網掩碼是多少?前10個子網是多少?
解:由于需要10個,最接近的即2^4=16,所以還需要4位子網掩碼。而B類自帶掩碼是16位,所以最終子網掩碼為255.255.240.0。
子網從255.255.0000 0000.0、255.255.0001 0000.0、255.255.0010 0000.0、255.255.0011 0000.0一直往后,即255.255.0.0、255.255.16.0、255.255.32.0、255.255.48.0……
路由
在二層轉換中,通過交換機進行轉發(fā)。如果要實現不同VLAN間的通信,則需要路由,路由位于L3層。路由的功能可以由路由器或者三層交換機來實現。路由表即表示這個IP地址發(fā)來的數據報應該往哪個方向發(fā)。

路由表由3部分組成:D(目標IP)、M(掩碼)、N(下一跳位置),路由器B的路由表如下
子網掩碼 ? ?????????要達到的網絡 ? ?下一路由器
255.255.0.0 ? ?????10.2.0.0 ? ?????????直接投遞
255.255.0.0 ? ?????10.3.0.0 ? ?????????直接投遞
255.255.0.0 ? ?????10.4.0.0 ? ?????????10.3.0.7
三層轉發(fā)
二層轉發(fā)只經過交換機、不需要跨VLAN;三層轉發(fā)需要跨VLAN,必須經過網絡層,即通過網關(路由器/三層交換機)來轉發(fā)。
網關,表示是子網的關卡,子網外的時候要先經過網關才能進入子網,子網內的數據要先經過網關才能出去。

PC1與PC2處于兩個不同的子網,PC1要與PC2進行通信需要進行的操作。
簡略來寫:
1、PC1與子網掩碼“與”操作后發(fā)現PC2不在同一個子網,于是向PC1的默認網關1.1.1.1發(fā)ARP包。
2、PC1和交換機連通后,PC1發(fā)送ICMP包。
DMAC:三層交換機
SMAC:PC1
SIP:1.1.1.1
DIP:2.1.1.2
3、三層交換機找到2.1.1.2應該從2.1.1.1的端口出去,但是不知道PC2的MAC,于是三層交換機也要向PC2發(fā)一次ARP包。
4、PC2和交換機連通后,交換機轉發(fā)ICMP包到PC2。
DMAC:PC2
SMAC:三層交換機
SIP:1.1.1.1
DIP:2.1.1.2
注意點:在路由轉發(fā)ICMP包過程中,MAC地址會變,但是IP地址是不變的。發(fā)送ARP包時候MAC地址、IP地址都會變。