今天給大家分享一些網絡方面的知識,,這塊的知識很重要哦,都是涉及網絡最底層的鏈路和協議,是我們學習大型服務的基礎,和前提.希望大家努力理解這方面的內容,今天的內容大概有這幾方面:
1.計算機網絡概念
2.計算機網絡體系結構
3.物理層
4.數據鏈路層
5.網絡層
6.IP地址及子網
7.傳輸層
8.應用層
計算機網絡概念
計算機網絡是個發展中的概念和技術,具體定義至今沒有統一.
廣義的觀點: 實質上定義了計算機網絡中的通訊網絡,主要應用于在主機-終端系統中. 用戶透明的觀點: 實質定義了分布式計算機系統,分布式系統和計算機網絡系統是兩個不同的概念,但二者有親密的聯系. 資源共享的觀點: 實質上是從計算機網絡的基本功能來定義計算機網絡,比較符合當前人們對計算機網絡本質的認知.
什么是計算機網絡:
是指使用一定的通信線路(有限或無線),把離地位置上相對分散的,具有獨立自治能力的計算機或網絡設備等連接起來,在一定通信協議的約束與控制下,實現數據交換的通信系統.
計算機網絡發展歷程:
萌芽:主機-終端模式(1950) 單機聯機系統為主 雛形:計算機-計算機網絡模式(1960-1970) 廣域網技術為主,形成分組交換技術,以ARPANET網絡為代表 發展:標準化體系結構計算機網絡模式(1970-1980) 發展各種廣域網和局域網技術,形成多種網絡體系結構.推出TCP/IP協議,以太網技術. 成熟:高速綜合網絡和網絡互連模式(1990-今) 以Internet的發展與推廣應用為主,大力發展高速網絡技術,網絡安全技術更為重要
計算機網絡系統組成:
硬件: 計算機和終端 網絡設備 傳輸介質(有形,無形) 軟件: 計算機軟件(網絡操作系統) 網絡設備軟件(通信軟件) 計算機和網絡設備中的網絡通信協議 核心:有大量網絡和連接他們的路由器組成 邊緣:有所有連接在因特網上的主機組成
計算機網絡的主要功能:
基礎功能: 數據通信 資源共享 數據處理 其他功能: 提高計算機的高可用性,解決單點故障 負載均衡,協同處理(web) 分布式計算(云計算,大數據)
計算機網絡的主要應用
現代化通信 自動化辦公 企業信息化 信息檢索 電子商務和電子政務 遠程教育 娛樂消遣 軍事指揮
計算機網絡的分類
按不同的作用范圍劃分 局域網:LAN (Local Area Network) 企業,小區域 城域網:MAN (Metropolian Area Network) 城市 廣域網:WAN (wide Area Network) 國家 個人區域網:PAN (personal Area Network) 個人范圍 局域,城域,廣域之間的關系:樹層結構,廣域最高 從網絡的使用者進行分類 公有網:(public Network) 公共使用 專有網:(private Network) 專線 VPN:虛擬專有網(Virtual private network) 安全協議:pp2p,12tp,ipsec.pppoe
網絡拓撲結構:
1.總線拓撲 網絡中所有節點都連接在一條開放的通信線路上.兩端有信號控制器.線路提供端口,方便節點擴展 特點: 廣播傳輸 介質爭用 網絡結構簡單 擴展容易 傳輸速率低 故障診斷困難
2.星形拓撲結構 網絡中所有節點通過各自的通行線路連接到同一個中心節點(集線器)設備上. 特點: 廣播傳輸 節點擴展,移動方便 網絡傳輸數據快 維護容易 中心節點工作負重 廣播傳輸影響網絡性能
3.環形拓撲結構 網絡上所有節點都鏈接在一條收尾相接的封閉的通信線路上. 令牌環網: 每一次發起數據請求時,都要從令牌機制中獲取當前鏈路的使用權,同一時間只能有一個人使用,完成數據傳輸后,令牌回收.等待下個主機的使用.解決鏈路爭用的情況 特點: 數據傳輸方向自主定義 網絡路徑選擇和網絡組建簡單(同軸電纜) 投資成本低 傳輸速度慢 效率低 擴展性差 維護困難
4.樹形拓撲結構 類似總線拓撲的局域網拓撲.屬性網絡可以包含分支,每個分支又可以包含多個節點.在樹形拓撲中,從一個站點發出的傳輸信息傳 播到物質介質的全長,并被所有其他站點接收.
5.網狀拓撲結構 網狀拓撲結構主要指各節點通過傳輸線相互連接起來,并且每一個節點至少與其他兩個節點相連
6.混合型拓撲結構 根據企業為環境的需求,組合多種拓撲結構,完成不同功能,實現網絡劃分分配
7.無線局域拓撲結構 不需要線纜,無線連接
常見的網絡物理組件:
路由 交換 網卡(有線,無線)
網絡用戶應用程序:
Web 瀏覽器( Chrome、 IE、 Firefox 等) 即時消息( QQ、微信、釘釘等) 電子郵件( Outlook、 foxmail 等) 協作(視頻會議、 VNC、 Netmeeting、 WebEx 等) web網絡服務( apache,nginx) 文件網絡服務( ftp,nfs,samba) 數據庫服務(MySQL,MariaDB, MongoDB) 中間件服務( Tomcat, JBoss) 安全服務(Netfilter)
用戶應用程序對網絡的影響:
批處理應用程序 FTP、 TFTP、庫存更新 無需直接人工交互 帶寬很重要,但并非關鍵性因素 交互式應用程序 庫存查詢、數據庫更新。 人機交互。 因為用戶需等待響應,所以響應時間很重要,但并非關鍵性因素,除非要等待很長時間。 實時應用程序 VoIP、視頻 人與人的交互 端到端的延時至關重要
網絡的特征
速度 成本 安全性 可用性 可擴展性 可靠性 拓撲
計算機網絡體系結構
網絡分層
OSI模型
開放系統互聯基本參考模型 OSIRM 簡稱OSI 開放:非獨家壟斷 模型:抽象概念 ISO標準:所謂的七層協議的體系結構
TCP/IP協議
傳輸控制協議/因特網互聯協議 TCP/IP協議體系結構是專門針對使用TCP/IP協議簇的廣域計算網絡而開發的,是OSI/RM的改進版本 非國際標準,但是事實上國際標準 TCP/IP是一個Protocol Stack,包括TCP、 IP、 UDP、 ICMP、 RIP、 TELNET、FTP、 SMTP、 ARP等許多協議 最早發源于美國國防部(縮寫為DoD)的因特網的前身ARPA網項目, 1983年1月1日, TCP/IP取代了舊的網絡控制協議NCP,成為今天的互聯網和局域網的基石和標準。由互聯網工程任務組負責維護。 共定義了四層 和ISO參考模型的分層有對應關系 應用層,傳輸層,Internet層,網絡訪問層
TCP/IP 5層模型是廣泛建議的參考模型 應用層:(application layer) 直接為用戶的應用進程提供服務 運輸層:(transport layer) 負責向兩個主機中進程之間的通信提供服務 網絡層:(Network layer) 負載為分組交換網多行的不同主機提供通信服務(不同網段,不同網絡,不同局域網) 數據鏈路層(data link layer) 將院子網絡層來的數據可靠的傳輸至相鄰節點的目標機網絡層 物理層(physical layer) 為數據端設備提供傳送數據通路,傳輸數據
OSI/RM 與TCP/IP協議體系結構的對比
相同之處 層次結構劃分思想相同 總體層次結構相似 核心組成一樣 不同之處 使用范圍不同:參考 實際使用 層次結構不同;7層 4層 支持的網絡通信模式不同: 所包括的通信協議不同
網絡體系結構的數據通信原理
發送端是把通信連接建立指令和用戶應用數據從上層向下層傳輸的,直到最低的物理層;而接受端是從通信連接建立指令和用戶應用數據從下層(最底層的物理層開始)向上層傳輸, 直到與發送端發起通信的對等層.
網絡體系結構的對等會話原理
在網絡體系結構中網絡通信的建立必須是在通信雙方的對等層進行,不能交錯.發送端數據要自上而下逐層(物理層除外)封裝對應層的協議層的協議頭(或尾), 接收端數據有將自下而上逐層解封裝上層的協議頭(或尾)
協議頭和協議尾的封裝過程
在整個數據傳輸過程中,數據在發送端時經過各層時都要附加上相應層的協議頭和協議尾(僅數據鏈路從需要封裝協議尾)部分,也就是要對數據進行協議封裝, 以標識對應層所用的通信協議.封裝完畢,形成一個完整的數據報文,最后轉化為比特流,通過傳輸到接收端,接收端接受數據后,逐步摘除相應層的協議頭部和尾部(僅數據鏈路從需要封裝協議尾)部分,最后剩余應用程序數據,提交給進程進行處理
各層上傳輸的數據格式:
對等層之間傳送的數據單位稱之為PDU(協議數據單元) 物理層:以最原始的比特流(其實就是01代碼)格式傳輸,其PDU為比特 數據鏈路層:傳輸的單位是幀,一個幀包括多個比特,但一個幀的大小必須是一個整數字節.不同協議的幀大小也不一樣. 網絡層:傳輸單位是分組(包),一個分組可以包含多個幀,分組的大小也要根據不同協議而定. 傳輸層:在TCP/IP協議體系當中,TCP是以數據段為單位進行傳輸,UDP是以數據包為單位進行傳輸. 會話層,表示層,應用層,以具體的數據報文為單位進行傳輸
網絡體系中的通信協議
網絡通信協議是網絡通信的基礎,是實現網絡通信功能,是約束通信雙方在利用某協議進行通信時必須遵從的通信規則和約定的"軟件系統". 網絡通信協議即可以是有一些國際標準組織(ISO,TEEE,TEC之類的)分布的通用標準類協議,也可以是一些企業自己開發并在自己的產品使用的私有協議.如: TCP/IP 其他艾斯克,惠普等私有協議 三要素: 語義:可以理解為語意,是用來解決"做什么"的問題,也就是描述該通信協議具體用來完成什么功能 語法:是用來規定通信時的信息格式,包括數據及控制信息的格式,編碼及信號電平等,是用來解決"如何做的問題" 同步:是用來解決 "做的次序"問題,也就是通信雙方要完成某項網絡服務,必須依據什么樣的流程,匹配什么樣的速率,使用什么樣的信號來進行.
物理層:
作用: 構建數據通路 透明傳輸(對用戶而言,不需要知道傳輸的介質是什么) 傳輸數據 數據編碼(比特流怎么轉換對光鏈路和無線的支持) 數據傳輸管理(不同介質不同速率,怎么管理) 特性: 物理層的主要任務為確定與傳輸媒體的接口的一些特性,如: 機械特性: 指明接口所用接線器的形狀和尺寸,引線數目和排列(線序,568A,568B),固定和鎖定裝置 電氣特性 指明在接口電纜的各條線上出現的電壓的范圍 功能特性: 指明某線上出現的某一電平的電壓表示何種意義 過程特性: 指明對于不同功能的各種可能事件的出現順序
通信子網和資源子網
從計算機網絡歌組成部件的功能來看,各部件主要完成兩種功能,及網絡通信和資源共享. 把計算機網絡中實現網絡通信功能的設備及其軟件的集合稱為網絡的通信子網 把計算機網絡中實現資源共享功能的設備及其軟件的集合稱為網絡的資源子網 通信子網的組成: 是網絡中實現網絡通信功能的設備及其軟件的集合,通信設備,網絡通信協議,通信控制軟件,是網絡的內層,負責信息的傳輸.主要為用戶提供數據的傳輸,轉接,加工,變換等 中繼器 集線器 交換機 路由器 通訊線纜 各種網關硬件設備 資源子網的組成 資源子網主要由網絡的服務器,工作站,共享的打印機和其他設備及相關軟件組成.資源子網是主題為網絡資源設備,包括: 用戶計算機 網絡存儲系統 網絡打印機 獨立運行的網路數據設備 網絡終端 服務器 網絡上運行的各種軟件資源 數據資源等等
數據通信的基本概念:
信息: 計算機網絡中進行交換的一切原始內容的統稱 數據: 數據時信息的具體表現形式,是許多信息通過某種方式組成的結合體 信號: 數據在傳輸過程中電信號或光信號的表現形式 信道: 通信雙方物理鏈路上通過物理層協議建立的數據傳輸通道
數據傳輸類型:
基帶:指直接通過信號源,沒有經過任何處理的信號 頻帶:通過調制器調制,頻率被改變的信號 基帶信號 頻帶信號 寬帶;信號的最高值到最低值之間的范圍的寬度,家里面的帶寬是理想值 基帶傳輸: 在信號中直接傳輸者中不會經過調制的基帶信號的方式成為基帶傳輸 頻點傳輸 在信號中直接傳輸者中經過調制后的頻帶信號的方式稱為"頻帶傳輸"
數據傳輸方式:
串行傳輸: 數據流以串行方式一位一位的在一條信道上傳輸 例: 計算機的串行接口,USB接口,磁盤接口
并行傳輸
數據已一組或者整個字符的方式在多條并行信道上同時傳輸
數據傳輸模式
同步傳輸: 同步傳輸是一種以數據塊為傳輸單位(通常是以"幀"為單位),以系那個痛的時鐘參考所進行的數據傳輸模式,因此又被稱為"區塊傳輸".在同步傳輸中的數據塊的開始和結尾部分都一個用于數據幀同步的特殊字符.特定的字節或熱定的幀. 異步傳輸: 異步傳輸是以字符尾單位進行數據庫傳輸的,在發送每一個傳輸代碼的前面均加上一個"起始位"信號,以標記一個字符的開始;在一個字符代碼的最后也加上一個"停止位"信號,已標記一個字符的結束.
數據的通信方式
單工: 只能有一個方向的通信而沒有反方向的交互 半雙工: 通信雙方都可以發送信息,但不能雙方同時發送(也不能同時接受) 全雙工:通信雙方可以同時發送和接受信息
數據傳輸速率與信道帶寬
比特率 又稱信息傳輸速率,指單位時間內傳輸的二進制代碼的有效位(bit)數,(注意,這里是小寫的b) 常用單位有:bit/s(每秒的比特數) kit/s Mbit/s 傳輸帶寬 帶寬是指信道中每秒傳輸的最大信息量,也就是信道的最大數據傳輸速率,單位也是"位/秒(b/s或dps)" 帶寬是一種利息那個狀態(不受任何干擾,沒有任何衰減)下的信道傳輸速率. 實際中其數據傳輸速率永遠小于帶寬值.
信道多路復用技術
頻分費用: 按照信道頻帶寬度進行的信道復用的方式,就是把一條高帶寬的信道按照一定的頻帶寬度劃分成若干個第帶寬的子頻帶(子信道) 時分復用: 是把整個數據通信過程劃分成一個個小的時間段(時間片),在這些時間片中又劃分成多個更小的時間間隙(時隙),每個時隙可以用于一用戶信號的傳輸,這樣就可以使得每一個時間片中一般總會有一個或多個時隙中有信號在里面傳輸,可以提高信道的利用率 波分復用: 是光信號中的"頻分復用"技術,故又稱"光波分復用",是在單條光纖上同時發送多束不同波長激光的技術.等同于頻分復用技術,因為不同波長的光束,其工作頻率不同
數據鏈路層
數據鏈路層位于TCP/IP5層模型的第二層,根據數據對等層通話原理,鏈路層跟對方網絡的鏈路層進行交流.
劃分數據鏈路層的必要性
物理層傳輸介質的多樣性,通信規程也各不相同,性能也不穩定,而數據鏈路層中構建的邏輯鏈路不考慮不同物理鏈路上傳輸介質及其通信規程上的區別. 物理層中數據是一位位的單獨傳輸,傳輸效率低下,較容易出現差錯.
數據鏈路層結構
在OSI/RM和TCP/IP體系結構中,"數據鏈路層"就是一層,而在局域網體系結構中是可細劃分為兩個子層的,那就是邏輯鏈路控制子層(Logical Link Control,LLC)和介質訪問控制子層(Medium Access Control ,MAC)
MAC子層:(介質訪問控制) 最基本的功能就是如何控制不同用戶數據傳輸中對物理層傳輸介質的訪問,其中包括:介質訪問時的尋址和介質訪問沖突的解決. 具體而言,數據鏈路層中與各種傳輸介質訪問有關的問題都放在"MAC子層"來解決.主要功能包括:數據幀的封裝與卸載,幀的尋址和識別,幀的接受與發送,幀的差錯控制,介質訪問沖突控制等等. 職責: 如何在局域網內尋址 如何解決多路通信中介質爭用的現象 主要功能: MAC幀的封裝與拆卸,實現和維護各種MAC子層協議,比特流差錯檢測,MAC尋址等 LLC子層(邏輯鏈路控制) 最基本的功能就是負責數據鏈路層中"邏輯鏈路"的控制,其中包括:邏輯鏈路的建立和釋放,空盒子信號交換,數據流量控制,解釋上層通信協議傳來的命令并且產生響應,以及克服數據在傳送的過程中多可能發生的種種問題
數據鏈路層主要功能及實現原理
功能: 總體而言,數據鏈路層(其實,這里主要是針對"LLC子層")的 主要功能就四個方面 數據鏈路管理 封裝成幀 透明傳輸 差錯控制 管理: 數據連接層提供的服務類型 數據鏈路服務分位以下三類:有確認的面向連接服務,有確認的無連接服務,無確認的無連接服務.前者稱之為"面向連接服務(Connection-oriented Servce)",后面兩者稱之為"無連接服務(Connetionless Service)". 數據鏈接管理 LLC子層的鏈路管理功能主要包括三個主要階段:鏈路建立,鏈路保持,鏈路釋放.
數據幀封裝和透明傳輸
數據包的幀封裝原理 網絡層傳輸的包,在"數據鏈路層"中傳輸的是"幀".數據包到達"數據鏈路層"后面加上數據鏈路層的協議有和協議尾就構成了一個數據幀.在每個幀的前部加上一個"幀頭部",在幀的結尾處加上一個"幀尾部",把"網絡層"的數據包作為幀的數據部分,就構成一個完整幀.幀頭和幀尾及時作為幀的起始和結束標志,也就是幀邊界. 差錯控制 數據在傳輸中可能出現兩方面問題: 有幀出現了錯誤 有幀丟失 差錯控制功能: 差錯檢測 奇偶校驗 循環冗余校驗 差錯糾正 反饋檢測 計時器超時 自動重發請求
數據鏈路成主要網絡設備
常見的數據鏈路層的設備有網卡,網橋,和二層交換機 網卡: 安裝在計算機,用于連接計算機網絡,是計算機網絡中最基礎的網絡設備 分類:有線以太網卡,WLAN無線網卡 網橋: 是早期的兩端口二層網絡設備,用來連接不同網段的計算機網絡設備,同事他有可隔離沖突域,因為他的兩個端口不是共享同一條背板總線. 交換式以太網的優勢 ? 擴展了網絡帶寬 ? 分割了網絡沖突域,使網絡沖突被限制在最小的范圍內 ? 交換機作為更加智能的交換設備,能夠提供更多用戶所要求的 功能:優先級、虛擬網、遠程檢測 工作機制: 以太網橋監聽數據幀中源MAC地址,學習MAC,建立MAC表 對于未知MAC地址,網橋將轉發到除接收該幀的端口之外的所有端口 當網橋接到一個數據幀時,如果該幀的目的位于接收端口所在網段上,它就過濾掉該數據幀;如果目的MAC地址在位于另外一個端口,網橋就將該幀轉發到該端口 當網橋接到廣播幀時候,它立即轉發到除接收端口之外的所有其他端口 交換機 特性: 具有多個交換端口 數據轉發效率更高 更強的MAC地址自動學習功能 交換機與集線器的區別 在OSI中的工作層次不同(交換機在數據鏈路層,集線器在物理層) 數據傳輸方式不同 背板信道占用方式不同 數據通信方式不同 原理: 在二層交換機中也有用于數據幀轉發的MAC地址與端口的映射表(也就是前面所說的CAM表),列出了哪個MAC地址鏈接的是哪個端口.僅在映射表中沒有數據幀中對應的目的MAC地址才進行"泛洪". CAM表的建立 靜態配置 動態學習
分類: 根據網絡類型劃分: 標準一臺網交換機(10MB/s) 快速以太網交換機(100Mb/s) 千兆以太網交換機(1000Mb/s) 10千兆以太網交換機(10000MB/s) 根據交換機結構劃分 固定端口 模塊化 根據是否支持網管功能劃分 網管型 非網管型
介質爭用:
理解"沖突域" 沖突域就是可能發生介質訪問沖突的節點范圍.在Hub中連接的所有用戶都是共享一個背板信道進行訪問的,多個用戶訪問時就可能發生沖突,所有我們說一個集線器就是一個沖突域.交換機(Switch)的背板與端口的連接方式與Hub的不一樣,在背板中有一個交互矩陣,通過這個交換矩陣就可以實現任何兩個端口件的通信都有一條轉悠的通道,不同節點間的通信不存在介質爭用現象. 介質爭用的解決方法 不同網絡,所采取的共享介質爭用的方法也不一樣. 在IBM令牌環網絡和令牌總線網絡中采取了"令牌"控制原理來解決介質爭用的問題.還可以通過信道復用方式來解決介質爭用的問題. 在我們常用的以太局域網個WLAN無線局域網的介質爭用解決方法主要有:CSMA,CSMA/CD和CSMA/CA協議
以太網MAC幀
MAC幀也被通常認為是數據鏈路幀,實在MAC子層實體間交換的協議數據單元(PDU).可以把所有以太網MAC幀的格式統一表示為下圖所示
生成樹協議:
IEEE 802.1d也就是我們通常所說的STP(Spanning Tree Protocol,生成樹協議).其設計目的就是要是交換網絡中沒有二層環路. 理解"網絡環路" 這里說的環路是指"網絡環路".他又分為"二層環路"和"三層環路"兩種.二層環路是指在二層交換網絡中,網絡廣播信息在網絡中形成一個封閉的環路.如圖所示,SW1和SW2這兩個交換機之間有兩條鏈路連接.  STP是一個確保整個交換網絡無環路拓撲結構的OSI二層協議 它允許在網絡設計中包括冗余鏈路,已提供在主鏈路失效時自動接替其工作的備份鏈路,同時又不會生成二層環路,必須避免二層環路,否則可能導致數據包在網絡中循環傳輸. STP是將兩點之間存在的多條路徑劃分為"通信鏈路"和"備份鏈路".并規定,數據的轉發只在"通信鏈路上"進行,而"備份鏈路"只用于鏈路的幀聽,只有在發現"通訊鏈路徑"失效時,才自動地將通信切換到"備份鏈路"上 STP的不足和增強技術 二層數據網的收斂時間過長 網絡拓撲容易引起全局波動 缺乏對現有多VLAN環境的支持
VLAN
VLAN(Virtual Local Area Network,虛擬局域網) 劃分VLAN的目的 VLAN的主要用途就是把一個大的交換網絡劃分成多個小的交換網絡. 縮小(分隔)廣播域,減小二層網絡中廣播流量對整個交換網絡的影響. 理解VLAn的形成和工作原理 同一物理交換機中的VLAN 同一個交換機中的各個VLAN可以理解為一個個的虛擬交換機,如下圖所示的
不同物理交換機中的VLAN 一個VLAN可跨越多臺物理交換機,即VLAN的中繼功能
VLAN間的互訪 VLAN是二層協議,VLAN的虛擬,決定VLAN之間沒有物理二層(只有邏輯連接),各自彼此獨立,相當于一個個獨立的二層交換網絡一樣. 每個VLAN成員與其他VLAN中的成員進行通信都必須通過雙方作為各自VLAN成員網關的三層SVI接口進行互訪.
網絡層
功能: 網絡層關注的是如何將分組從源端沿著網絡路徑傳送到目標端 為了實現這個目標,網絡層必須知道通信子網的拓撲結構,并且在拓撲結構中選擇合適的路徑.同事網絡層還必須謹慎地選擇路由路徑,以避免發生某些通信線路和路由器負載過重,而其他線路和路由器空閑的情形. 劃分網絡的必要性 網絡層是從功能上定義的一個邏輯層次,最典型的設備是路由器(Router,三層交換器) 網絡層是端到端(網絡與網絡之間)網絡通信的最底層,在數據從數據鏈路層傳輸層進行數據傳輸的通信中,起到構建一個中間通信子網(橋梁)的作用.它負責與它上面的資源子網聯系,是OSI/RM七層參考模型中面向網絡通信的低三層中最復雜,最關鍵的一層. 流程: 在網絡層中傳輸的是數據包(分組),如下圖所示,一個數據包就是一個個數據幀經過網絡層協議解封裝后得到的,每個包的包頭都有源節點的IP地址,網絡間的尋址就是通過IP地址進行的.
作用: 屏蔽網絡差異,透明傳輸 為網絡間通信提供路由選擇 數據包封裝和解封裝 擁塞控制 網絡層數據交換及相關技術 線路交換(電路交換) 是最原始的數據交換方式,實在網絡中利用科切換的物理通信線路直接連接通信雙方所進行的一種數據交換方式 是面向連接的服務,兩臺計算機通過通信子網進行數據交換之前,首先要在通信子網中建立一個世紀的物理線路進行連接.其主要特點是在進行數據交換前線需在一對用戶之間建立起一條專有的線路. 存儲-轉發 是網絡結點運用程序先將途徑的數據流按傳輸單元接受并存儲下來,一個數據單元接收完后根據相關的路由算法選擇一條合適的路由路徑將數據轉發出去,在邏輯上為數據流提供了傳輸通路. 報文交換: 是指信息以"報文"為單位 分組交換: 數據報服務 虛電路服務 ARP 是將IP地址解析為以太網MAC地址(物理地址)協議 基于廣播機制 ip地址轉換成MAC地址 安全隱患: 沒有確認機制,學習到網關就記錄 記錄到緩存,命令ARP或ip neigh查詢arp表,有時間期限,一定時間清除,再次使用再次廣播 同網絡arp尋找:目標mac為0,發廣播,尋找 跨網段arp尋找 源ip,目標ip不變,源mac和目標mac隨物理鏈路變化而變化 ARP是一個獨立的三層協議 ARP報文在向數據鏈路層傳輸時是不需要經過IP協議的封裝,而是直接生成自己的報文. ARP映射表 IP地址與MAC地址的對應關系
ICMP(Internet Copntral Message Protocol) INternet控制報文協議 IP協議簇中的一個子協議 用于在ip主機,路由器之間的傳遞控制消息 控制消息是指網路通不通,主機是否達,路由是否可用等網絡本身的消息 用于視頻會議 常用的ICMP報文 相應請求 ping操作 相應請求(類型字段為8),應答(類型字段為0) 目標不可到達,源抑制和超時報文 時間戳請求 centos禁ping命令 [root@wen-7 ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_all 0 此文件可以修改是否 禁ping 0為否 1為是 [root@wen-7 ~]# cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 此文件可以修改是否接受廣播,1為否,0為是 ping -b 加網關 發廣播包 路由 把信息從源節點通過網絡傳遞到目的節點的行為 三層設備從一個接口上大吼道數據包,根據數據包的目的地址進行定向并轉發到另一個接口的過程 路由分類: 靜態路由(主機路由) 動態路由 網絡路由 默認路由 三層交換機 三層交換機就是既可以實現二層交換機那樣的款速數據轉發功能,又能實現路由器的IP路由功能的設備 三層交換機不等于二層交換機+路由器(數據轉發和路由原理不同) 分純軟件路由模塊和純硬件路由模塊
三層交換機和路由器的主要區別 三層功能實現機制不同 適用環境不同(三層在局域網,路由在廣域網) 多協議支持能力不同 路由能力不同 網絡層協議及報文格式 在tcp/IP體系結構的忘記互聯層,最重要的協議就是IP協議簇 目前主流的IPV4協議簇中包括了三個協議: IP(Ibternet Protocol,因特網協議) ARP(Address Resolution Protocol,地址解析協議) ICMP(Internet Control Message Protocol,因特網空盒子消息協議) IPV6協議粗中包括了四個協議: IPv6, ICMPv6 ND協議(Neighbor Discovery,鄰居發現) MLD(Multicast Listener Discover,組播偵聽器發現)協議
IP協議基本功能 ip協議的主要功能就是把數據包在互聯的網絡上傳送,通過將數據報在一個個IP模塊間傳送直到目的模塊來達到目的.具體來說,IP協議主要有一下幾個方面: 尋址 數據報的封裝 分段與重組 IPV4的不足 IPV4地址空間面臨枯竭 骨干路由器維護的路由表表項數量過大 地址結構不合理 配置復雜 服務質量差 不支持端到端安全 IPV4數據包頭格式 一個IP數據報也包括"報頭"和數據這兩個組成部分.其中數據部分就是來自傳輸層的完整數據段,而"報頭"部分是為了正確傳輸數據報而增加的網絡層IPV4協議信息,主要是源和目的網絡的IP地址.
IPv4數據報頭部格式
IPV4整個報文
版本:占4位,至IP協議版本,目前的IP協議版本號為4(V4),6(V6) 首部長度:占4位,可表示的最大數值是15個單位,注意,這個字段所表示的數的單位是32位字(一個32位字長是4字節),因此IP的首部長度是最大值是60字節 區分服務:占8位,用來獲得剛好的服務,一直未使用 總長度:占16位,至首部和數據之和的長度,單位是字節,因此數據報的最大字節是65535字節.總長度必須不超過最大傳送單元MTU. 標識:占16字節,是一個計數器,用來產生數據報的標識 標志:占3位,目前只有前兩位有意義.標志字段的最低位是MF,MF=1表示后面還有分片.MF=0表示最后一個分片.標志字段中間的一位是DF,只有當DF=0時才允許分片. 片偏移:占13位,較長的分組在分片后,謀篇在語言分組中的相對位置.騙偏移以8個字節為偏移單位. IP數據報分片
生存時間:占8位,記為TTL,數據報在網絡中可通過的路由器數的最大值. 協議:占8位,指出此數據抱攜帶的數據使用何種協議,以便目的主機的IP層將數據部分深交給哪個處理過程 首部檢驗和:占16位,字段只檢驗數據包的首部,不檢驗數據部分 源地址:各占4字節 目的地址:各占4字節 可變部分:增加ip數據報的首部的功能.必須是4字節的整數倍 填充:保障可變長部分的字節數到40字節 IP協議 系統識別的IP地址是2進制,可直接ping ip轉化后的2進制數 IP地址 可唯一標識IP(32bit)網絡中的每臺設備 每臺主機(計算機,網絡設備,外圍設備)必須具有唯一的地址 為什么不只用mac,而多加Ip地址標識? mac地址只能分辨設備廠商,和設備標識 IP地址有兩部分組成,網卡根據ip地址可分辨設備的所在網絡,方便管理 bc(計算器)進制轉換 ibase=2 輸入進制數 obase=8 輸出進制數 obase2 let i=2#110 #號前寫進制數 echo $i IP地址與子網劃分 IP地址的基本格式 ipv4使用32位(4字節)地址,因此整個地址空間中有4294967296(2^32)個地址,也就是近43億個地址 IPV4地址在計算機內部是以二進制形式表示,每個地址都有32位由數字0和1組成. w.x.y.z 子網掩碼: 子網掩碼的作用就是獲取主機IPV4地址中的網絡地址信息 用于區別主機通信不同情況,選擇不同路由 子網掩碼與IP地址一樣,也是有32位二進制組成的.他被分成"網絡ID"和"主機ID"兩部分,網絡ID部分全是"1",主機部分全是0表示. 子網掩碼:用來標識IP地址的網絡位 A:255.0.0.0 B:255.255.0.0 C:255.255.255.0
IPV4地址的基本分類 五個類別:ABCDE ABC類用于單播通信中設備IP地址分配,D類屬于組播地址,E類是保留地址. 他們均有不同的網絡類別(網絡ID)長度,用來表示不同的網絡類別,剩余的部分被用來識別網絡內的主機(主機ID) "網絡ID"用來確定沒類網絡中有的網絡數 "主機ID"則用來確定每個網絡中有的IP地址數 X代表主機位,Y代表主機位 A類:(1-127) 0XXXXXXX.Y.Y.Y 主機位:2^24-2(全0,全1不要)
B類:(128-191) 10XXXXXX.x.Y.Y 網段數:2^14 主機位:2^16-2(65534)
c類:(192-223) 110XXXXX.x.x.Y 網段:2^21 主機:2^8-2(254)
D類:(224-239)組播地址,不是給計算機使用 1110XXXX.x.x.X
E類:(240-255) 240.0.0.0~247.255.255.255.255 11110XXX.y.y.y
有類/無類IPV4網絡 有類 ABCDE類IPV4地址 每類IPV4地址都有固定長度的網絡ID,有固定的子網掩碼 大大降低了IPV4地址的利用率和可用的網絡數 (CIDR無類域間路由解決此問題) 無類 每個ipv4地址的網絡ID長度都可以不固定 通常把以前的有關網絡稱之為"標準網絡",而把網絡ID長度大于對應標準網絡的網絡稱之為"子網" 網絡地址:用來標識一個有類或無類網絡的地址,是對應網絡或子網的第一個IPV4地址,即"主機ID"部分全為o的iPV4地址 主機地址:除了網絡地址和廣播地址這兩頭一頭一尾的地址外,中間的其他所有地址都是主機地址,可以直接分配給主機使用 廣播地址 :是一個有類或無類網絡中最后一個IPV4地址 ,即"主機ID"部分全為1的iPV4地址 公有IP地址 A: 110.0.0.0到9.255.255.255 11.0.0.0到126.255.255.255 B 128.0.0.0 172.255.255.255 172.32.0.0 192.255.255.255 C 192.0.0.0.0 私有ip地址(專用于局域網使用的IP地址) A 10.0.0.0 到 10.255.255.255 B 172.16.0.0 到 172.31.255.255 C 192.168.0.0 到 192.168.255.255 169開頭的IPV4地址 自動專用IP地址,其地址范圍為:169.254.0.0/16,子網掩碼為255.255.0.0 環回地址(Loopback Address) 是主機IP堆棧內部的IPv4地址,主要用于網絡軟件測試以及本地機進程間通信;在IP網絡中就是測試主機TCP/IP協議是否正常工作 0.0.0.0地址 代表多所有IPV4地址,常用于默認路由設置,或代表整個不確定的IP地址范圍 子網劃分 把原來標準網絡IPv4地址中的"網絡ID"部分向"主機ID"部分借位,把一部分原來屬于"主機ID"部分的位變成"網絡ID"的一部分(通常稱之為"子網iD") 原來的"網絡ID"加上借來的"子網ID"=新"網絡ID" "子網ID"長度決定了可以劃分的子網的數量
全0子網 "全0"子網代表的是對應子網的"子網ID"部分都是0,是第一個子網 全1子網 "全1"子網代表的是對應子網的"子網ID"部分都是1,是最后一個子網 可用的子網去掉這兩個 子網掩碼的重要性 子網掩碼是一個網絡或一個子網的重要屬性. 路由器在和相鄰路由器交換路由信息時,必須把自己所在的網絡或子網的子網掩碼高速相鄰路由器 路由器的路由表中的每一個項目,除了要給出目的網絡的地址外,還必須同時給出該網絡的子網掩碼. 若一個路由器連接在兩個子網上就擁有兩個網絡地址和兩個子網掩碼
傳輸層:
傳輸層與"數據鏈路層"的作用都是建立數據傳輸通道,兩者在功能上存在許多相識之處. 但是傳輸層的功能主要體現在廣域網網絡應用中,可以把"數據鏈路層"當做局域網通信的數據傳輸通道,而"傳輸層"則是廣域網中的數據傳輸通道.
劃分傳輸層的必要性
從通信和信息處理兩方面來看的話,"傳輸層"既是面向通信部分的最高層,他與下面的三層一起共同構建進行網絡通信所需的線路和數據通道的建立 又是面向對象的最低層,因為無論何種網絡應用,最終的都是需要把各種數據傳送到對方. 來自應用層的用戶數據必須依靠傳輸層的協議在不同網絡中的主機間進行傳輸的,因為緊靠網絡層把數據傳送到目的主機上還是不夠的,還必須把它交給目的主機的應用進程. 傳輸層無論是在哪種劃分方式中,傳輸層的位置都非常重要,起乘上啟下的橋梁作用.
兩個主機進行通信實際上就是兩個主機中的進程通信. 應用進程之間的通信又稱為端到端的通信. 運輸層的一個很重要的功能就是復用和分用.應用層不同進程的報文通過不同的端口向下交到運輸層,再往下就是共用網絡層提供的服務. "傳輸層提供應用進程間的邏輯通信"."邏輯通信"的意思是:運輸層之間的通信好像是沿著水平線方向傳送數據,但實際上兩個運輸層之間并沒一條水平方向的物理連接.
主要功能:
運輸層為應用進程之間提供端到端的邏輯通信(但網絡層是為主機之間提供邏輯通信) 運輸層還要對收到的報文進行差錯檢測 運輸層需要有兩種不同的運輸協議,即面向連接的TCP和無連接的UDP. 兩種不同的運輸協議: 運輸層向高層用戶屏蔽了下面網絡核心的細節,它使應用進程看見的好像在兩個運輸層實體之間有一條端到端的邏輯通信信道. 當運輸層曹勇面向連接的TCP協議時,盡管下面的網絡不可靠(只提供最大努力服務),但這種邏輯通信信道就相當于一條全雙工的可靠信道. 當傳輸層采用無連接的UDP協議時,這種邏輯通信信道是一條不可靠信道. TCP的主要特點 tcp是面向連接的運輸層協議 每一條TCP連接只能有兩個端點,每一條TCP連接只能是點對點(一對一) TCP提供可靠交付的服務 TCP提供全雙工通信 面向字節流
TCP的連接
TCP把連接作為最基本的抽象 每一條TCP連接有兩個端點 TCP連接的端點不是主機,不是主機的IP地址,不是應用進程,也不是運輸層的協議端口.TCP連接的端口叫做套接字(socket)或插口 端口號拼接到IP地址,即構成了套接字 套接字: 套接字=(ip地址:端口號) 每一條TCP連接唯一的被通信兩端的兩個端口(即兩個套接字)所確定.即: TCP 連接 ::={socket1,socket2} ={(ip1:port1),(ip2:socket2)} tcp可靠通信的具體實現 TCP連接的每一段都必須設有兩個端口--一個發送窗口和一個接受窗口 TCP的可靠傳輸機制用字節的序號進行控制.TCP所有的確認都是基于序號而不是基于報文段 TCP兩端的四個窗口經常處于動態變化之中. TCP連接的往返時間TRR也不是固定不變的.需要使用特定的算法估算較為合理的重傳時間. tcp報文段的首部格式
源端口和目的端口字段:各占2字節.端口是運輸層與應用層的服務接口.運輸層的復用和分用功能都要銅鼓端口才能實現. 序號:占4字節.TCP連接中傳送的數據流中的每一個字節都編上一個序號.序號字段的值指的是本報文段所發送的數據的第一個字節的序號. 確認號:占4字節.是期望收到對方的下一個報文段的數據的第一個字節的序號. 數據偏移:占4位.他指出TCP報文段的數據起始處距離TCP報文段的起始處有多遠."數據偏移"的單位是32位字(以4字節為計算單位) 保留:占6位,保留為今后使用 窗口字段:占2字節.用來讓對方設置發送窗口的依據,單位為字節 校驗和:占2字節.檢驗和字段檢驗的范圍包括首部和數據這兩部分.在計算校驗和時,要在TCP報文段的前面加上12字節的偽首部 緊急指針:占16位,指出在本報文段中緊急數據共有多少個字節(緊急數據放在本報文段數據的最前面) URG:控制緊急指針是否可用,為1時表示可用緊急數據段,為0時表示本數據包為普通數據 ACK:確認號控制位,當ACk為1時,表示確認號有效,為0時,表示緊急號無用 PSH:推送控制位,當pSH為1時,表示盡快把TCP報文交付進程隊列中,不需要等待處理 RST:復位重置位.當外部環境改變時,重新發送請求 SYN:同步控制位.SYN為1時,表示這是一個連接請求或連接接受報文. FIN:終止控制位.用來釋放一個連接.FIN=1表明此報文段的發送端的數據已經發送完畢,并要求釋放運輸鏈路. 選項:長度可變.TCP最初只規定了一種選項,即最大報文段長度MSS.MSS 填充:這是為了是首部長度是4字節的整數倍 TCP的傳輸管理的三個階段 TCP連接的建立都是采用客戶服務器方式 主動發起連接建立的應用進程叫做客戶(client) 被動等待連接建立的應用進程叫做服務器(server) 運輸連接就有是三個階段,即連接建立,數據傳送和連接釋放.運輸連接的管理就是使運輸連接的建立和釋放都能正常的進行. 連接建立過程中要解決一下三個問題: 要使每一方能夠確知對方的存在 要允許雙方協商一些參數(如最大報文長度,最大窗口大小,服務質量等) 能夠對運輸實體資源(如緩存大小,連接表中的項目等)進行分配. TCP連接的狀態轉移 在TCP傳輸連接的建立和釋放中的通信雙方主機的這些狀態稱之為"有限狀態機"(Finite State Machine,FSM)
TCP連接的三次握手
注意:服務器一直處于SYN-RCVD狀態中,則可能處于SYN攻擊中,會耗盡服務器系統資源.優化方法:減少服務器等待時間
TCP的四次斷開
TCP連接必須經過時間2MSL后才真正釋放掉
TCP的超時重傳機制 超時重傳是TCP協議保證數據可靠性的一個重要機制 其原理是在發送某一個數據段以后就開啟一個超時重傳計時器,如果在這個計時器時間內沒有收到來自對方的某個數據段的確認, 發送端則啟動重傳機制,重新發送對應的數據端,直到發送成功為止. TCP的擁塞控制 擁塞控制就是要控制"網絡擁塞"的出現.當網絡中各個部分輸入的流量大于輸出的流量時就會出現網絡擁塞. 如果把整個網絡有效處理負荷的能力稱之為"吞吐量(throughout)",而把網絡中發送端輸入的負荷稱之為"輸入負荷(input load)"則理想情況下他們之間有如下圖所示的線性關系(吞吐量是呈45度斜線上升的):UDP攻擊造成死鎖
擁塞控制方案: 慢啟動: 慢啟動是為了避免出現網絡擁塞而采取的一種TCP擁塞初期預防方案.基本思想就是在TCP連接正式數據傳輸時,每次可發送的數據大小是逐漸增大的,也就是先發送一些小字節數的試探性數據,在收到這些數據段的確認后,在慢慢增大發送的數據量,知道到達了某個原先設定的極限值,u也就是"慢啟動閥值" 擁塞避免 當擁塞窗口大小再次達到大于或等于閥值時就啟動"擁塞避免"擁塞解決方案.基本思想是在擁塞窗口第二次到達了閥值時,讓"擁塞窗口"大小每經過一個RTT時間僅增加1(即新的擁塞窗口只增加了一個MSS大小,而不是原來的翻倍),使其以線性方式慢慢地增大,而不是繼續像"慢啟動"方案中那樣以指數方式快速增大.
快速重傳/快速恢復 快速重傳:當接受端收到一個不是按序到達的數據段.TCP實體迅速發送一個重復ACK數據段,而不用等到有數據需要發送時順帶發出群人;在重復收到三個重復ACK數據段后即認為對應"確認號"字段的數據段已經丟失,TCP不等重傳定時器超時就重傳看來已經丟失的數據段.
UDP
UDP只是IP的數據報服務上增加了很少的功能,及端口的功能和差錯檢測的功能. 雖然UDP用戶數據報只能提供不可靠的交付,但UDP在某些方面有特殊的優點 UDP的特點 UDP是無連接的,即發送數據之前不需要建立連接(速度較快) UDP使用盡最大努力交付,即不保證可靠交付,同時也不使用擁塞控制. UDP是面向報文的.UDP沒有擁塞控制,很適合多媒體通信的要求 UDP支持一對一,一對多,多對一和多對多的交互通信. UDP的首部開銷小,只有8個字節
原創文章,作者:wencx,如若轉載,請注明出處:http://www.www58058.com/43333