# 網路概論讀書筆記 contributed by < `Nickxingyu` > # OSI 參考模型 包含了 7 個層,每個層定義了該對欲傳輸的資料做什麼處理,以及其目的。 1. 應用層: 在這個層次作業系統提供了一套**系統呼叫( system call )**,供應用程式存取網路設備,而不必透過網路設備的驅動程式。 2. 表達層: ``` 負責工作: 1. 內碼轉換 2. 加/解密 3. 壓縮/解壓縮。 ``` 不同的發訊端與接收端可能會使用不同的編碼方式,所以需要進行內碼轉換。 3. 會議層: ``` 負責工作: 1. 建立、維護、切斷連線 2. 對話控制 3. 資料交換管理 ``` 會議層主要將資料加入/移除同步點, 其中同步點是為了確認資料傳遞是否成功,避免傳遞失敗時需將整份資料重新傳輸。 4. 傳輸層: ``` 負責工作: 1. 區段排序: 在傳輸層必須將資料切割成區段並加上表頭依序傳送 2. 流量控制: 考慮到收送端的接收速率與傳送速率可能不同 3. 錯誤控制: 提供不可靠服務及可靠服務兩種,前者求快、後者求可靠。 前者例子為 UDP, 後者為TCP, 提供 確認與重送、錯誤檢查碼等機制 ``` 5. 網路層 ``` 負責工作: 1. 邏輯定址: 賦予傳送端及收訊端唯一可是別的位址 2. 路由: 在各區段的表頭中加入收送端邏輯位置,封裝成封包,並選擇最佳路徑 ``` 6. 資料鏈結層 ``` 負責工作: 1. 實體位置 2. 訊框處理 在表頭中加入收送端實體位置 在表尾中加入錯誤偵測訊息 3. 流量控制 此處的流量控制指的是 當收訊端所接受的資料即將超過負載極限(緩衝區 Buffer) 需減緩或暫停傳送 4. 錯誤控制 偵測訊框有無損壞、遺失、重複 5. 媒介存取控制 因為在同一時間可佔用傳輸媒介進行傳輸資料的網路設備有限(通常為一個) 所以要避免訊框碰撞及解決碰撞 ``` 7. 實體層 負責定義標準與規格 ``` 訊號編碼方式 基頻或寬頻 拓樸 傳輸媒介 傳輸速率 傳輸距離 接頭 佈線 電壓 電流 ......等等各種物理世界中要考慮之因素 ``` --- # **TCP/IP 參考模型** ![](https://i.imgur.com/t4thasR.png) ![](https://i.imgur.com/MvJtF4R.jpg) --- --- # **網路拓樸** 1. 匯流排拓樸 所有電腦都會接收到網路線上的資料 ``` 優點: 1. 安裝簡單 2. 成本低 缺點: 1. 網路線太長會導致訊號減弱 2. 有多部電腦欲傳送資料會發生碰撞 3. 增加或減少電腦會導致網路暫停 4. 任一線路故障導致網路癱瘓 5. 故障排除較難 ``` ![](https://i.imgur.com/KahJM13.png) 2. 星狀拓樸 ``` 優點: 1. 增加或減少電腦不用暫停網路 2. 線路故障只會影響局部區域 3. 故障排除較簡單、可知哪條線路故障 缺點: 1. 集線器成本 2. 集線器故障會導致整個網路癱瘓 ``` ![](https://i.imgur.com/nWl1JPm.png) 3. 環狀拓樸 ``` 優點: 1. 不會發生碰撞 2. 高流量時效能較佳 3. 能夠設定優先順序 4. 可保持訊號強度 缺點: 1. 軟硬體成本較高 2. 任一部電腦或線路故障會導致整個網路癱瘓 3. 故障排除困難 特殊之處:透過Token Ring 媒介存取控制避免碰撞 ``` ![](https://i.imgur.com/d6W5dHg.jpg) 4. 網狀拓樸 ``` 優點: 1. 容錯能力極佳 缺點: 2. 使用大量網路線,成本高很多 3. 佈線複雜 ``` ![](https://i.imgur.com/LrmBlpR.png) ## 比較 1. 成本:網狀 > 環狀 > 星狀 > 匯流排 2. 容錯能力:網狀 > 星狀 > 環狀 = 匯流排 3. 故障排除難易:網狀 = 星狀 > 環狀 = 匯流排 ## 實體拓樸 v.s 邏輯拓樸 **實體拓樸** 指的是網路實際佈線的方式 **邏輯拓樸** 指的是資料在網路上流動的方式 例如: 實體拓樸為星狀拓樸, 但因為 **集線器** 會將資料傳到其他所有與其連接的電腦上, 所以其邏輯拓樸為 **匯流排拓樸**, 若以 **交換器** 替代集線器則邏輯拓樸為 **星狀拓樸** --- --- # 常見網路設備 ## 1. 網路卡 位於 OSI 參考模型的 **實體層** 和 **資料鏈結層** 資料鏈結層:在資料前加入網路卡的實體位址 實體層: 將資料鏈結層處理好的資料轉換成傳輸媒介可以傳送的訊號 ## 2. 數據機 位於 OSI 參考模型的 **實體層** 將數位訊號轉換為類比訊號,稱為調變( modulation ) 或 將類比訊號轉換為數位訊號,稱為解調變( demodulation ) ## 3. 中繼器 - repeater 位於 OSI 參考模型的 **實體層** 純粹將訊號增強,但與放大器不同點在於中繼器不會把雜訊增強 ## 4. 集線器 - hub 位於 OSi 參考模型的 **實體層**,功能與中繼器相似 但集線器著重於將收到的訊號傳遞給其他的連接阜,所以連接阜較多。 集線器又分為被動式及主動式 1. 被動式: 將收到的訊號直接傳出,若距離遠則會有訊號衰減的問題。 2. 主動式: 會根據收到的訊號重新產生訊號以避免訊號衰減,即有多個連接阜的中繼器。 ## 5. 橋接器 - bridge 位於 OSI 參考模型的 **實體層** 與 **資料鏈結層** 在實體層的行為與中繼器相同,為增強訊號 但多了在資料鏈結層的行爲,即過濾訊框 -----**過濾訊框**----- 若收送端在同一個區段的話,橋接器在過濾訊框時不會將此訊框傳到其他區段 ## 6. 路由器 - router 位於 OSI 參考模型的 **實體層**、**資料鏈結層**、**網路層** **實體層**時增強訊號 **資料鏈結層**時檢查訊框的實體位址 **網路層**時則會轉換封包中的邏輯位址與路由 --- 當一個資料要傳遞到其他網路時則需要路由器或是其他位於網路層的設備轉換封包中的邏輯位址與路由,才能傳遞到其他的區域網路或廣域網路。 --- 當路由器收到資料後會決定將該資料往哪個區域網路或廣域網路傳遞, 原本目的位址是路由器位址, 但決定好後路由器會修改來源位址成路由器位址,目的位址則會改成欲傳送之目的位址。 ## 7. 閘道器 - gateway 位於 OSI 參考模型的所有層 與路由器一樣可以連接多個網路但最大的不同為 **可以轉換不同的通訊協定** ## 8. 交換器 - switch 分為以下兩種: 1. 第二層交換器( L2 Switch ) 位在 OSI 參考模型的 **實體層** 及 **資料鏈結層** 即具有橋接器功能的集線器 可以過濾訊框並決定此資料該由哪個連接阜傳送出去,而不會傳給網路上每個電腦 3. 第三層交換器( L3 Switch ) 位在 OSI 參考模型的 **實體層**、**資料鏈結層** 及 **網路層** 屬於改良版的路由器,將路由器的部分功能改由硬體執行 --- ### 交換技術 1. **穿透式**: 立刻將封包傳送到目的位址,封包不會儲存在交換器中 優點:速度快、沒有延遲 缺點:無法判斷封包是否損壞 2. **儲存轉送式**: 將封包儲存在緩衝區 檢查有無損壞 若無再傳送到目的位址 4. **改良穿透式**: 檢查封包前 64 位元 無誤則立刻傳送 6. **多路備援式**: 在交換器之間連接多條線路 **目的**:負載平衡、線路備援 當線路故障時,會自動切換到備援線路 --- # 媒介存取控制( MAC ) 為了避免存取媒介在同一時間有多個裝置存取而導致資料碰撞,所以需要提供機制讓各裝置可以存取傳輸媒介並且可以無誤的傳遞資料 ## 1. CSMA/CD ( Carrier Sense Multiple Access with Collision Detection ) 運作方式如下: 1.發訊端先聆聽是否有其他訊號傳遞,有的話等待一段隨機時間,沒有則直接傳送 2.監聽傳輸媒介是否有發生碰撞 3.如果有碰撞則發訊端會發出 jam signal (壅塞訊號) 通知其他電腦暫時停止資料,直到傳輸媒介上的訊號都清除為止 4.等待一段隨機時間後再度傳送,若再碰撞則等待時間會上次等待的兩倍 ![](https://i.imgur.com/l1EiYyN.jpg) ## 2. Token Ring 運作方式如下: 1.發訊端必須等到記號,檢查是否忙碌( 代表裡面包含著其他電腦傳送的資料 ) 2.如果忙碌則檢查目的位址是否為自己, 如果是則接收資料, 如果不是則檢查來源位址是否為自己, 如果是則將封包設為閒置在釋放給其他電腦使用, 如果不是則釋放出去不做任何動作。 3.如果閒置,則將狀態設為忙碌並放入資料、來源位址與目的位址 4.記號會在環狀網路上傳送,直到回到發訊端 環狀網路中會有一部電腦作為主動監視工作站( active monitor ),監視 Token 的狀態,如果有需要則重新產生記號。 其他電腦則為被動監視工作站( standby monitor ),一但主動監視工作站當機或故障,可以重新產生一部主動監視工作站。 --- # 虛擬區域網路( VLAN ) 透過支援 VLAN 功能的交換器,建立廣播領域 實際上每個電腦都連接到交換器的一個連接阜,透過軟體設定哪些連接阜是同一廣播群組而達到 VLAN 的效果 **主要目的** 當電腦要更換區段、或廣播群組時不用重新佈線 **優點** * 建立虛擬的群組: 視需求可以設定多個群組 * 節省成本與時間: 透過軟體進行網路管理的工作不需額外的佈線或因為不同目的的群組要重新佈線 * 提升安全性: VLAN 確保只有相同群組的電腦可以收到廣播封包,不會被其他電腦接收 # 虛擬個人網路 ( VPN ) 是透過一種叫做通道( turnneling )的技術 將原始封包封裝成另一種通訊協定,目前的通道標準有: 1. PPTP ( Point to Point Tunneling Protocol ) 2. L2TP ( Layer 2 Tunneling Protocol ) 3. IPSec ( Internet Protocol Security ) 其中 PPTP 會將其封包再嵌入 IP 封包,如此便能透過 Internet 傳送封包 --- VPN 又分為 1. point-to-LAN 使用情境為 遠端使用者或工作者 需要存取企業內部網路資源。 2. LAN-to-LAN 使用情境為 企業內部與分公司或上下游廠商有著頻繁的電子資料交換時。