網絡初識
目錄
- 網絡初識
- 一. 網絡分類
- 1. 局域網LAN(Local Area Network):
- 2. 廣域網WAN(Wide Area Network):
- 二. 組建網絡的基礎設備
- 1. 路由器
- 2. 交換機
- 三. 標識符
- 協議 (protocol)
- 一. 協議分層
- 1. 分層的好處
- 2. OSI七層分層
- 3. TCP/IP五層模型(或四層) 模型
- (1. 物理層(可不算)
- (2. 數據鏈路層
- (3. 網絡層
- (4. 傳輸層
- (5. 應用層
- 4. OSI 與 TCP/IP模型
- 二. 協議層與層之間的配合
- 封裝分用
- (1. 封裝操作
- (2. 分用操作
一. 網絡分類
1. 局域網LAN(Local Area Network):
若干個電腦, 連接到一起, 通過路由器進行組網;
2. 廣域網WAN(Wide Area Network):
把很多的局域網進一步相連, 構成更復雜的網絡體系;
二. 組建網絡的基礎設備
專門崗位: 網絡管理員
1. 路由器
- 路由器是一種網絡設備,用于在不同網絡之間傳輸數據包。它能夠識別網絡中的不同設備,并根據目標地址將數據包轉發到正確的目標網絡。
- 路由器工作在網絡層(OSI模型中的第三層),能夠實現網絡之間的連接和通信。
- 它具有查找路由表、選擇最佳路徑、轉發數據包等功能,使得數據能夠在不同網絡之間進行傳輸。
2. 交換機
- 交換機是一種局域網設備,用于連接多臺計算機并在它們之間傳輸數據。它能夠識別連接到其端口的設備,并根據MAC地址轉發數據包到正確的目標設備。
- 交換機工作在數據鏈路層(OSI模型中的第二層),能夠在局域網內部實現設備之間的快速數據交換。
- 它具有學習MAC地址、構建轉發表、實現數據的無碰撞轉發等功能,使得局域網內的數據傳輸更加高效可靠。
三. 標識符
IP地址: 區分主機;
端口號: 區分主機商不同的程序或服務;
協議 (protocol)
通信雙方, 對于通信規則一定雙方認可的約定.
例如: 螺絲和螺帽, USB接口規格, 瓶蓋規格, 語言的交流.
進行網絡通信的時候, 一定需要網絡協議.
- 因為兩個通信的主機設備, 不同的硬件, 不同的操作系統需要協議整合.
一. 協議分層
- 當單個的東西很復雜, 就拆分成多個部分, 部分太多的話就進行分類, 分類要解耦合.
1. 分層的好處
-
達到封裝的效果
某一層協議, 不必知道其他層協議的細節, 降低學習使用的成本. -
任意層次的協議, 都可以靈活替換, 給整個網絡體系, 升級迭代, 帶來了很大的便利 ---- 解耦合.
2. OSI七層分層
OSI: 即 Open Sysrem Interconnection, 開放系統互連.
客觀世界中不存在的.
3. TCP/IP五層模型(或四層) 模型
OSI的簡化, 即真實時間采取的網絡分層模型.
目前能接觸到的網絡, 大部分都是 TCP/IP模型.
(1. 物理層(可不算)
硬件層面, 網線, 網口, 與數據鏈路層關系緊密.
(2. 數據鏈路層
關注的是, 通信過程中, 兩個相鄰節點之間的通信.
(3. 網絡層
關注的是通信路徑的規劃, 數據要經過哪些節點.
(4. 傳輸層
關注的是通信雙方的 “起點” 和 “終點”, 端到端的傳輸.
(5. 應用層
與具體 程序 直接相關, 傳輸數據的用途.
將 應用層, 表示層, 會話層 合并.
4. OSI 與 TCP/IP模型
下四層的協議都是系統內核實現好的.
對于JAVA程序員, 重點關注的就是 應用層 + 傳輸層.
筆試題(選擇):
路由器, 是工作在上述協議的哪一層;
交換機, 是工作在上述協議的哪一層;
路由器工作在網絡層 (三層轉發);
交換機工作在數據鏈路層 (二層轉發);
但是現在不斷完善路由器和交換機的功能, 界限也越來越模糊了, 有些 路由器/交換機 能工作在應用層.
二. 協議層與層之間的配合
協議的層與層之間
上層協議調用下層協議,
下層協議給上層提供服務.
封裝分用
(1. 封裝操作
網絡上數據的傳輸, 本質上是(二進制 bit 流)字符串.
因此, 要傳輸的發送人, 接收人, 消息時間, 內容 都要組織到一個字符串內. 組織的時候需要一定的格式, 不同的協議, 數據組織的格式是不同的.
我們所發的信息本身是一個結構化數據(包含很多屬性),需要先轉成字符串.
- 序列化: 結構化數據 ==> 字符串/二進制字符串.
- 反序列化: 字符串/二進制字符串 ==> 結構化數據.
-
創建應用層數據包
當應用層數據包有了之后, 程序就要調用系統的 api 讓應用程序去調用.接著把應用層數據交給傳輸層.
-
傳輸層拿到應用層數據包
典型的協議有兩個: “TCP, UDP”
進一步封裝數據包, 構造成傳輸層數據包. 在傳輸層.
- UDP 數據包
TCP同上
報頭中則放入的是 UDP的相關屬性, 比如發件人和收件人的端口號;
后面的則是 UDP 數據包的載荷(payload);
進一步調用網絡層的api, 把上述的 IP數據包, 交給網絡層協議;
- 網絡層拿到數據包
典型的協議: “IP協議”
- IP 數據包
IP報頭包含 收件人的IP地址 和 發件人的IP地址;
IP報頭后則是IP數據包的載荷;
此時還是在此臺機器上進行操作;
之后進一步調用數據鏈路層的api, 把上述的 IP數據包, 交給數據鏈路層協議;
這里的 api 往往是網卡的驅動程序提供的.
- 數據鏈路層拿到數據包
典型協議: “以太網”
“以太” 的原本是 物理學中 被稱作 真空中光傳播的介質, 此處傳輸網絡數據也需要介質, 則把這個名稱拿來用了.
我們電腦通過有線網傳輸數據的協議, 就是 “以太網” 協議, 網線則被稱作 “以太網線”.
- 以太網數據幀
上述的以太網數據幀, 本質上還是二進制數據.
-
物理層
硬件設備
硬件設備把上述的二進制數據轉換成 光信號/電信號/電磁波 才會真正的發射.發射后也并非直接從 A 到達 B , 而是先到達與A 相連的交換機/路由器.
數據經過 交換機/路由器 一系列轉發后, 最終到達 B
上述層層包裝數據, 不同的添加數據報頭的過程, 被稱為 “封裝”
(2. 分用操作
B 方操作
-
物理層
收到一系列光信號, 把這些信號轉換成二進制數據, 交給數據鏈路層 -
數據鏈路層 (以太網協議)
按照以太網協議, 對數據進行解析(解析報頭關鍵信息, 為后續傳輸和轉發打下基礎, 拿到數據載荷數據).
-
網絡層 (IP 協議)
IP協議拿到IP數據包, 按照協議格式進一步解析, 解析報頭中的關鍵信息, 取出載荷, 把載荷再交給傳輸層.
-
傳輸層 (UDP/TCP)
-
應用層
程序拿到應用數據包
按照程序的協議格式, 進行解析(反序列化), 拿到這里的結構化數據, 顯示到界面上.
中間的路由器, 交換機也會進行封裝分用, 不過交換機封裝分用到數據鏈路層, 即可知道下一步如何轉發了, 路由器, 封裝分用到網絡層, 即可知道下一步如何轉發了
完…