[CCNA]-02-OSI參考模型和設備的對應關系
引言
OSI(Open System Interconnect),即開放式系統互聯。 一般都叫OSI參考模型,是ISO(國際標準化組織)組織在1985年研究的網絡互聯模型,這篇文章給大家介紹一下OSI參考模型以及在這個參考模型下設備是如何運作的。
文章目錄
0×1.ISO/OSI參考模型和設備的關系
a.物理層(Physical Layer)
b.數據鏈路層(Data Link Layer)
c.網絡層(Network)
d.傳輸層(Transport Layer)
e.會話層(Session Layer)
f.表示層(Presentation Layer)
g.應用層(Application Layer)
0×1.ISO/OSI參考模型和設備的關系
這是一個標準的OSI七層參考模型,從下往上依次是:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層;
下面將詳解在這個參考模型中,我們的設備都運行在哪一層,這些知識的了解會對以後的學習非常有幫助。
a.物理層(Physical Layer)
物理層關心的典型問題就是用什麽方式來發送1和0,一位的持續時間,是否可同時雙向進行,連接如何建立和如何終止等。
工作在物理層的設備有:
中繼器(repeater): 雙絞線(RJ-45接口網線)的理論最大傳輸距離是100M,超過100M信號會衰減,這時候就要用到中繼器,它能起到放大信號延長傳輸距離的作用。
集線器(hub):集線器相當於一個多端口的中繼器,也能起到放大信號的作用,並且集線器是屬於半雙工模式的(簡單的理解成在同一時刻只有一個方向的數據可以傳輸,收的時候不能發,發的時候不能收),而在集線器連接的網絡中,不管有多少個集線器,都只有一個廣播域和一個沖突域。集線器工作原理如下圖:
因為集線器屬於物理層設備,無法判斷數據鏈路層的MAC地址以及網絡層IP地址,所以在這個集線器相連的網絡裏,假設PC0封裝數據發送給PC1,集線器接收到PC0發來的數據後,直接將它轉發到除接收端口以外的所有端口,這時候PC1/3/4都能收到這個數據,只不過根據包頭部的MAC地址信息,只有PC1會處理它,PC3/4將丟棄這個數據包,而如果PC3/4上面運行了數據包分析軟件,就可以捕獲並分析PC0發出的數據,這種網絡拓撲設計將非常不安全。
b.數據鏈路層(Data Link Layer)
數據鏈路層的主要功能是在不可靠的物理層上進行數據的可靠傳輸,將用戶數據封裝成幀(Frame),進行CRC效驗(循環冗余效驗)以及防止高速發送方的數據將低速方淹沒等。
工作在數據鏈路層的設備主要有:
網卡(NIC Network Interface Card):也叫網絡適配器,在生產時將一個唯一的網絡節點地址(MAC地址)燒錄到了它的ROM中。MAC地址占用48位,前24位代表廠商,後24位為設備號。MAC地址可以通過一些軟件設備來更改,但是更改的僅僅是顯示,ROM中的MAC地址除非重新燒錄否則無法更改。Windows系統在CMD中輸入"ipconfig /all"來查看網卡的MAC地址;Linux系統可以在終端中輸入"ifconfig"來查看;
網橋(Bridge):網橋可以將兩個局域網(LAN)連接並按照MAC地址轉發數據幀,就好像他們是一個LAN一樣,現在網橋大多應用於軟件。工作原理如下圖:
圖中A、C連接在集線器1(Hub1)上,B、D連接在Hub2上,Hub1的一個接口連接在網橋的接口1上,Hub2的一個接口連接在網橋的接口2上(它們之間的連線都是直通線,集線器,網橋,計算機,三者屬於不同設備,使用直通線),各PC的MAC地址以及IP地址如上圖所示,其工作原理如下:
1)網橋如果剛剛加電啟動,它的MAC地址緩存為空,此時假設A要發送數據給C,並且A已經知道C的MAC地址(這中間涉及到一個ARP獲取MAC地址的操作,這裏暫時不討論),A將數據封裝好發送給Hub1,Hub1是一個物理層設備,它簡單的將信號放大從除接收端口以外的其他端口將數據發送出去(發送給C和網橋的接口1);
2)網橋從接口1接收到A發過來的數據後,首先添加這個數據幀的源MAC地址,既A的MAC(AAAAAAAAAAAA)和對應的端口1添加到自己的MAC地址表中,然後從自己的MAC地址表中去查找這個數據幀目的地C的MAC地址,但是此時找不到,所以網橋以廣播形式將這個數據幀從接口2發送出去;
3)集線器2收到這個數據幀,它將這個數據幀從除接收端口以外的其他端口發送出去,D和B都接收到了這個數據幀,D和B對數據幀進行檢查時發現目的MAC地址與自己的網卡MAC地址不相同,計算機D和B丟棄這個數據幀;
4)在第1步中C也同時收到了這個數據幀,C檢查目的MAC地址的時候發現,與本機相同,C接收這個數據包,並回發數據包對A進行確認,C封裝一個源地址為自己MAC地址,目的地址是A的MAC地址的數據幀發送給集線器1,集線器將這個數據幀發給網橋的接口1和A;
5)網橋接收到這個數據幀,它首先添加C的MAC和對應的接口1到自己的MAC地址表,然後查詢地址表的時候發現A的MAC地址同樣處在接口1,網橋不再將這個數據幀從接口2發出,也不會將這個數據幀再重新從接口1發回去;
6)A收到C發回的確認,通信成功;
7)通過這種形式,最後網橋會學習到這個簡單局域網中所有的電腦的MAC地址以及所在接口。如下:
MAC Address | 端口 |
---|---|
AAAAAAAAAAAA | 1 |
BBBBBBBBBBBB | 2 |
CCCCCCCCCCCC | 1 |
DDDDDDDDDDDD | 2 |
一個網橋包含兩個沖突域、一個廣播域;沖突域是發送一個單播會影響的範圍,廣播域是發送一個廣播會影響的範圍。
註:網橋並不具備三層設備的特性,這就意味著如果通過網橋將兩個不同網段的局域網連接起來,這兩個局域網之間是無法通信的,除非在其中配置默認路由指向一臺三層設備,這臺三層設備需要具有去往這兩個網段的路由,否則當計算機往其他網段發送數據時,由於本地路由表並沒有這個網段的路由,也沒有配置默認路由,數據會在發送端直接被丟棄。
交換機(Switch): 可以將交換機簡單的看做多端口的網橋,因為它也根據收到的數據幀的源地址進行學習,也根據MAC地址表中的目的地址進行轉發,但交換機有下面幾個需要註意的地方,請看下圖:
假如這個交換機學習到的MAC地址表如下:
MAC Address | 端口 |
---|---|
AAAAAAAAAAAA | 1 |
BBBBBBBBBBBB | 2 |
CCCCCCCCCCCC | 3 |
其一:交換機對已知的單播幀,只發往對應的端口;比如A發給B,交換機中學習到了B的MAC,那麽直接發往端口2;
其二:交換機對未知的單播幀,進行泛洪轉發(即發往除接收端口以外的所有端口),比如C發送一個單播幀給D,這個數據幀到達交換機後,交換機MAC表中還沒有學習到D的MAC,交換機將這個數據幀從1、2、4端口發出;
其三:交換機對所有廣播和組播,進行泛洪轉發(即發往除接收端口以外的所有端口);
交換機可以劃分為下面三類:
傳統交換機:屬於鏈路層,一個廣播域,每個接口是一個沖突域;
VLAN交換機:屬於鏈路層,可網管型,可以劃分多個VLAN,每個VLAN是一個廣播域,每個接口是一個沖突域,並且可以配置IP地址;
三層交換機:比VLAN型交換機多了路由功能,可以理解成交換機+路由器,屬於OSI模型網絡層;
c.網絡層(Network)
路由器和三層交換機都屬於網絡層設備,它們是應用於不同網段間的設備;路由器的每個端口屬於一個單獨的廣播域,也是一個單獨的沖突域。
d.傳輸層(Transport Layer)
傳輸層實現了用戶進程間端到端的通信(End-to-End),傳輸層相關的協議有TCP、UDP等。我們會經常看到這兩個協議名稱出現在Windows CMD的"netstat -ano"這條命令的顯示裏,Linux下可以在終端中輸入"netstat -nautp"來查看這些端口。
e.會話層(Session Layer)
會話層提供的主要服務是會話控制、同步、重傳等。
f.表示層(Presentation Layer)
表示層提供的主要服務為數據的編碼、壓縮、加密解密等。
g.應用層(Application Layer)
應用層包含了大量協議的應用,最常見的有: HTTP-TCP80、FTP-TCP21、SMTP-TCP25、POP3-TCP110、DNS-TCP/UDP53、TELNET-TCP23等。
[CCNA]-02-OSI參考模型和設備的對應關系