1. 程式人生 > 實用技巧 >go channel

go channel

技術標籤:# Linux網路協議


//=================================================================================================================================
[1] >> 網際網路的三層架構
[
	-----------------------------------------------------------------------------------
	1 >> 國際internet
									 國際internet #各國ISP接入國際internet
									   ↑			↑		↑			
									   |
| | -----------------------------------|------------|-------|--------------------------- | | | 2>> 廣域網=外網 | ISP1 | | 路由閘道器1 | #ISP = Internet Service Provider | / \ | #機房:ISP服務商的伺服器 | / \ | #雙線機房:2個ISP服務商共享機房 | / \ | ISP2 --
-- -- -- -- ISP3 ↑ 路由閘道器3 路由閘道器2 #網段入口,接收不同網段資料 ----------------------------------------------------------------------------------- 3>>區域網=內網 | <---光纖 匯聚層交換機 #與網際網路通訊 ↗ ↑ ↖ 集線器 集線器 集線器#匯聚層與接入層<
100M / | \ 接入層交換機1 接入層交換機2 接入層交換機3 #交換機一般是10M,100M,1000M ↑ ↑ ↑ ↑ ↑ ↑ 集線器 集線器 集線器 集線器 集線器 集線器 #拓展物理層長度,集線器<100M ↑ ↑ ↑ ↑ ↑ ↑ 主機1 主機2 主機3 主機4 主機5 主機6 ----------------------------------------------------------------------------------- ] //================================================================================================================================= [2] >>資料在網際網路的傳輸過程 [ 1>>MAC:48= 1216進位制數,如【08:00:20:0A:8C:6D】 2>>資料段 [源port+目標port][資料] 3>>資料包: [client-IP+server-IP][源port+目標port][資料] 4>>資料幀:[當前裝置MAC+下一裝置MAC][client-IP+server-IP][源port+目標port][資料][FCS] //資料鏈路層 4>>DNS:域名解析系統 [ 1>>瀏覽器輸入要訪問的域名 2>>地址解析DNS --> 網頁IP地址 ] 5>>IP = 網路部分 + 主機部分 ] //================================================================================================================================= [3] >> OSI七層架構 [ 應用層 應用層 ⇩ ⇧ 表示層 [1級裝置,延長物理層長度] 表示層 ⇩ ↑ [2級裝置,重新封裝MAC幀] ⇧ 會話層 |[3級裝置,重新封裝IP資料包] 會話層 ⇩ | | ↑ ⇧ (資料段)傳輸層 | | | 傳輸層 ⇩ | | |(資料包)網路層 | | [ 路 由 器 ] [ 路 由 器 ] 網路層 ⇩ | | ↑ ↓ ↑ ↓ ⇧ (資料幀)資料鏈路層 | [交換機] [交換機] [交換機] [交換機] 資料鏈路層 ⇩ | ↑ ↓ ↑ ↓ ↑ ↓ ↑ ↓ ⇧ (bite流)物理層 ----> [hub] [hub]---->[hub] [hub]---->[hub] [hub] ---->[hub] [hub] ----> 物理層 應用層 #能產生網路流量應用軟體 表示層 #向上對應用層服務,向下接受來自會話層的服務。 會話層 #利用傳輸層提供的服務,使應用建立和維持會話,並能使會話獲得同步。 傳輸層 #主要負責向兩個主機中程序之間的通訊提供服務,將檔案切割成能傳輸的資料段 網路層 #網路層的目的是實現兩個端系統之間的資料透明傳送,將每個資料段封裝為IP資料包,根據IP負責在不同網段之間轉發IP資料包 資料鏈路層 #將源自網路層來的資料可靠地傳輸到相鄰節點的目標機網路層,將每個IP資料包封裝為MAC資料幀 物理層 #為資料端裝置提供傳送資料通路、傳輸資料。 ] //================================================================================================================================= [4] 計算機網路術語 [ 1>>通道 = 會話 #通道通訊 = 單工通訊//單向 + 半雙工通訊//雙向不及時 + 全雙工通訊//雙向及時 2>>位元率 = 單個通道/會話的傳輸速率 [1KB=8Kb] 3>>吞吐量 = 單位時間全部會話/通道資料之和 4>>頻寬 = 網路裝置支援的最高速率 5>>時延 = 傳送時延 + 傳輸時延 + 排隊時延 + 處理時延 6>>RTT = 往返時間 7>>網路利用率 = 各個通道利用率的加權平均值 ] //================================================================================================================================= [5] >> 物理層 [ 機械特性 電氣特性 功能特性 物理層流程 ----------------------------------------------------------------------------------------- #數字訊號=基帶訊號(頻率低,能量小,傳輸近) #模擬訊號=帶通訊號(頻率高,能量大,傳輸遠) ↑ ↑ | | [PC1]---數字訊號-->[調變解調器]--模擬訊號--->[廣域網]--模擬訊號-->[調變解調器]--數字訊號---集線器hub-->[PC2] | 調幅/調相/調頻 | | | | | | | |-----|奈式準則-----| |-取樣->數值分配->編碼| | |---------------------|-----|夏農準則----------|--------------------| |#交叉線連線同類裝置 | | | | ↓ #直通線連線不同類裝置 ↓ ↓ | | 水晶頭=直通線/交叉線 __||__||__|(2進位制碼元) (8進位制碼元)| |->遮蔽雙絞線 | | |->無遮蔽雙絞線 |->單極性歸零碼 | |->電纜 = 電視線 #多模光纖=同時傳輸多條光訊號 |->單極性不歸零碼 | |->光纜 = 多模光纖/單模光纖 #單模光纖只有一束光直線傳輸 |->雙極性歸零碼 ||->雙極性不歸零碼 |訊號在物理層的傳輸方式 |->曼徹斯特碼 |->頻分複用 #各個頻率的模擬訊號進行糅合傳輸,最後在解析 |->差分曼徹斯特碼 |->統計時分複用 #帶識別符號 | |->波分複用 #將各個光訊號糅合傳輸,最後解析,類似於頻分複用 ↓ |->時分複用 #每個PC單獨佔據一個bite位 #集線器Hub對接收到的訊號進行再生整形放大,應用在物理層,拓展物理層長度,<100m ----------------------------------------------------------------------------------------- ] //================================================================================================================================= [6] >> 資料鏈路層 [ 資料鏈路層 #區域網 / \ / \ / \ 點到點資料鏈路層 廣播域資料鏈路層 #CSMA/CD帶衝突檢測的載波監聽多路訪問協議 #資料幀=單播幀=PPP幀=MAC幀 | #資料幀=廣播幀(1->n)/多播幀(n->n)=MAC幀 | | | | | | | ↓舉例 | | 乙太網 | | #目前應用最普遍的區域網技術 | #IEEE 802.3定義了有線乙太網的物理層和資料鏈路層的介質訪問控制 ↓ ↓ |------------------------------------------------------------------------------------------------------------------------| | [幀開始符]與資料內容一致,就在前面加[ESC] FCS是CRC迴圈冗餘校驗的結果,判斷幀是否正確 | | ↑ ↑ | | 資料幀:[幀開始符][當前裝置MAC+下一裝置MAC][client-IP+server-IP][源port+目標port][資料][FCS][幀結束符] //資料鏈路層 | |------------------------------------------------------------------------------------------------------------------------| ] //================================================================================================================================= [7] >> 網路層 [ 1>>ARP協議(查詢MAC) [ #廣播目標主句IP,返回目標主機MAC地址 #ARP欺騙,ARP防火牆 #各個區域網的閘道器進行ARP廣播 ] 2>>ICMP協議(檢測網路層是否暢通) [ ping <ip地址> #測試通路 tracer <ip地址> #跟蹤資料 ] 3>>IGMP協議(多播協議) [ 週期性燒寫哪些IP是組播地址,然後向該組播地址請求組播資料流 ] 4>>IP協議--如何選擇路由路徑 [ 靜態路由 //管理員手動新增路由表 動態路由 [ 1>>RIP協議(週期性向附近的各個路由廣播自己的路由表,其他路由器由此選擇最優路徑) 2>>OSPF協議 OSPF(Open Shortest Path First開放式最短路徑優先) #連續走過16個路由器還沒到就停止 ] ] 5>>IP資料包 [首部][資料部分] | | |--------------------------------------------------------------------------------------------------------------------- | 固定部分==20位元組 | |[版本] #佔4位,指IP協議的版本,通訊雙方使用的IP協議版本必須一致。廣泛使用的IP協議版本號為4(即IPv4) | |[首部長度] #佔4位,這個欄位所表示數的單位是32位字長,例如IP的首部長度為111115時,首部長度就達到15*460位元組 | |[服務型別] #佔8,用來獲得更好的服務,但實際上一直沒有被使用過 | |[總長度] #佔16,首部和資料之和的長度,總長度最大2^16-1位元組 | |[標識] #佔16,每產生一個數據報,標識欄位加1 | |[標誌] #佔3位,但只有2位有意義[][DF][MF] | |#MF=1即表示後面“還有分片”的資料報。MF=0表示這已是若干資料報片中的最後一個。 | |#DF(Don’t Fragment),意思是“不能分片”。只有當DF=0時才允許分片。 | |[片偏移] #佔13,相對使用者資料欄位的起點,該片從何處開始 | |[生存時間] #佔8,TTL(Time To Live)表明是資料報在網路中的壽命 | |[協議] #佔8位,指出此資料報攜帶的資料是使用何種協議,以便使目的主機的IP層知道應將資料部分上交給哪個處理過程 | |[首部校驗和] #佔16,只檢驗資料報的首部,但不包括資料部分。資料報每經過一個路由器,都要重新計算一下首部檢驗和 | |[源地址] #佔32位。 | |[目的地址] #佔32位。 | |-------------------------------------------------------------------------------------------------------------------| | 可選部分[1~40位元組] | --------------------------------------------------------------------------------------------------------------------- ] //================================================================================================================================= //=================================================================================================================================