1. 程式人生 > >網絡知識詳解

網絡知識詳解

red 器) 對數 外部網絡 的區別 link 網絡通 子網掩碼 tcp三次握手

什麽是計算機網絡
硬件上:通過線纜將網絡設備和計算機連接起來
軟件上:操作系統、應用軟件、應用程序通過通信線路互連
實現資源共享和信息傳遞


計算機網絡的功能
數據通信
資源共享
增加可靠性
提高系統處理能力


OSI協議模型
七層框架功能:
應用層:網絡服務與最終用戶的一個接口
表示層:數據的表示、安全、壓縮
會話層:建立、管理、中止會話
傳輸層:定義傳輸數據的協議端口號、以及流控和差錯校驗
網絡層:進行邏輯地質尋址,實現不同網絡之間的路徑選擇
數據鏈路層:建立邏輯連接、進行硬件地址尋址、差錯校驗等功能
物理層:建立、維護、斷開物理連接


TCP/IP協議的組成
應用層 HTTP FTP TFTP SMTP SNMP DNS 計算機

傳輸程 TCP UDP 防火墻
網絡層 IP ICMP IGMP ARP RARP 路由器
數據鏈路層 交換機
物理層 由底層網絡定義的協議 網卡

###################################################################

數據鏈路層

以太網MAC地址
用來識別一個以太網上的某個單獨的設備或一組設備

交換機:是用來連接局域網的主要設備
能夠根據以太網幀中的目標地址智能的轉發數據,因此交換機工作在數據鏈路層

工作原理:
MAC地址學習、廣播未知數據幀、接收方回應、交換機實現單播通信


VLAN

VLAN(虛擬局域網)是物理設備上連接的不受物理位置限制的用戶的一個邏輯組

為什麽引入VLAN
交換機的所有接口默認屬於同一個廣播域
隨著接入設備的增多,網絡中廣播增多,降低了網絡的效率
為了分割廣播域,引入VLAN

VLAN的作用
廣播控制、增加安全性、提高帶寬利用、降低延遲


trunk

在路由/交換領域,VLAN的中繼端口叫做trunk。trunk技術用在交換機之間互連,使不同VLAN通過共享鏈路與其它交換機中的相同VLAN通信。交換機之間互連的端口就稱為trunk端口。trunk是基於OSI第二層數據鏈路層(DataLinkLayer)的技術。兩臺交換機上分別創建了多個VLAN(VLAN是基於Layer 2的),在兩臺交換機上相同的VLAN(比如VLAN10)要通信,需要將交換機A上屬於VLAN10的一個端口與交換機B上屬於VLAN10的一個端口互連;如果這兩臺交換機其它相同VLAN間需要通信,那麽交換機之間需要更多的互連線,端口利用率就太低了。 交換機通過trunk功能,事情就簡單了,只需要兩臺交換機之間有一條互連線,將互連線的兩個端口設置為trunk模式,這樣就可以使交換機上不同VLAN共享這條線路。

trunk不能實現不同VLAN間通信,需要通過三層設備(路由/三層交換機)來實現。


以太網通道

以太網通道(EthernetChannel)通過捆綁多條以太網鏈路來提高鏈路帶寬,並運行一種機制,將多個以太網端口捆綁成一條邏輯鏈路。以太網通道最多可以捆綁8條物理鏈路,其中物理鏈路可以是雙絞線,也可以是光纖連接的。

###############################################################################

網絡層

功能:
定義了基於IP協議的邏輯地址
連接不同的媒介類型
選擇數據通過網絡的最佳路徑

ICMP協議

通過IP數據報傳送,用來發送錯誤和控制信息
定義了很多信息類型,如:
目的地不可達、TTL超時、信息請求、信息應答、地址請求、地址應答


路由器

路由:
將數據包從一個網絡發送到另一個網絡
需要依靠路由器來完成
路由器只關心網絡的狀態,決定最佳路徑

怎麽工作:
識別數據包的目標IP地址
識別數據包的源IP地址(主要用於策略路由)
在路由器表中發現可能的路徑
選擇路由表中到達目標最好的路徑
維護和檢查路由信息

根據路由表選擇最佳路徑
每個路由都維護著一張路由表,這是路由器轉發數據包的關鍵
每條路由表記錄指明了:到達某個子網或主機應從路由器的哪個物理接口發送,通過接口
可到達該路徑的下一個路由的地址(或直接相連網絡中的目標主機地址)

如何獲得路由表

靜態、默認路由
由管理員在路由器上手工指定
適合分支機構、家居辦公室等小型網絡

動態路由
根據網絡拓撲流量變化,由路由通過路由器協議自動設置
適合ISP服務商、廣域網、園區網等大型網絡

靜態路由主要特點:
由管理員手工配置,為單向條目
通信雙方的邊緣路由器都需要指定,否則會導致數據包有去無回

默認路由:
是一種特殊的靜態路由
默認路由的目標網絡為 0.0.0.0 0.0.0.0 可匹配任何目標地址
只有當從路由表找不到任何明確匹配的路由條目時,才會使用默認路由,一般在企業網關出口使用

三層交換技術
使用三層交換技術實現VLAN間通信
三層交換=二層交換+三層轉發

動態路由
基於某種路由協議實現

特點:減少了管理任務、占用了網絡帶寬

動態路由協議OSPF
OSPF區域
為了適應大型的網絡,OSPF在網絡內部劃分多個區域
每個OSPF路由器只維護所在區域的完整鏈路狀態信息

區域ID
表示一個十進制的數字
也可以表示一個IP

骨幹區域Area 0
負責區域見路由信息傳播

#####################################################################

傳輸層

作用:
網絡層提供點到點的連接
傳輸層提供端到端的連接

協議:
TCP協議:傳輸控制協議、可靠的、面向連接的協議、傳輸效率低
UDP協議:用戶數據報協議、不可靠的、無連接的服務、傳輸效率高

TCP三次握手:
1.發送SYN,請求建立連接
2.發送SYN、ACK
3.發送ACK

TCP四次斷開:
1.發送FIN,請求斷開連接
2.發送ACK
3.發送FIN,請求斷開連接
4.發送ACK

訪問控制列表作用:
讀取第三層、第四層 頭部信息
根據預先定義好的規則對數據進行過濾

工作原理:
訪問控制列表在接口應用的方向
出:已經過路由器的處理,正離開路由器接口的數據包
入:已到達路由器接口的數據包,將被路由器處理

類型:
標準訪問控制列表
基於源IP地址過濾數據包
標準訪問控制列表的訪問控制列表號是1~99
擴展訪問控制列表
基於源IP地址、目的IP地址、指定協議、端口來過濾數據包
擴展訪問控制列表的訪問控制列表號是100~199

NAT 網絡地址轉換
作用:通過將內部網絡的私有IP地址翻譯成全球唯一的公網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


NAT

NAT的優點
節省公有合法IP地址
處理地址重疊
安全性

缺點
延遲增大
配置和維護的復雜性

實現方式:
靜態轉換
端口多路復用

靜態NAT
靜態轉換
IP地址的對應關系是一對一,而且是不變的,借助靜態轉換,能實現外部網絡對內部網絡中某些特設定服務器的訪問

端口多路復用PAT
PAT作用
通過改變外出數據包的源IP地址和源端口並進行端口轉換,內部網絡的所有主機均可共享一個合法IP地址實現互聯網的訪問,節約IP

##################################################################

STP生成樹算法

廣播風暴的產生
交換機工作原理:
根據MAC地址轉發數據幀,如果地址未知,則廣播
如果交換機接收到廣播幀也會向所有接口發送

廣播風暴的產生
當網絡中存在物理環路,會產生廣播風暴

STP(生成樹協議)
邏輯上斷開環路,防止廣播風暴的產生
當線路故障,阻塞接口被激活,恢復通信,起備份線路的作用

選擇根網橋
網橋ID(BID)
網橋ID是唯一的,交換機之間選擇BID值最小的交換機作為網絡中的根網橋
網橋優先級 網橋的MAC地址
2字節 6字節
取值範圍:0~65535
缺省值:32768

PVST+配置的意義
配置網絡中比較穩定的交換機為根網橋
利用PVST+實現網絡的負載分擔

HSRP
熱備份路由協議
CISCO私有協議

################################################################

STP:解決環路帶來的廣播風暴並對線路冗余,同時產生負載均衡效果
以太網通道:提高網絡鏈路帶寬
OSPF路由協議:實現網絡路徑的自動學習
HSPR:實現冗余網關

###############################################################

SESSION機制、cookie機制

  • cookie通過客戶端確定記錄信息確定用戶身份,session通過服務器端記錄信息確定用戶身份。
  • 雖然Session保存在服務器,對客戶端是透明的,它的正常運行仍然需要客戶端瀏覽器的支持。這是因為Session需要使用Cookie作為識別標誌。HTTP協議是無狀態的,Session不能依據HTTP連接來判斷是否為同一客戶,因此服務器向客戶端瀏覽器發送一個名為JSESSIONID的Cookie,它的值為該Session的id(也就是HttpSession.getId()的返回值)。Session依據該Cookie來識別是否為同一用戶。

http與https區別:
1、http協議是明文傳輸的,https是SSL加密的傳輸協議,https要安全
2、https需要數字證書,一般需要花錢購買。
3、http使用80端口、https使用443端口

TCP應用的:HTTP、HTTPS(瀏覽器)、SMTP(郵件傳輸)、FTP(putty)
用的Telnet、SSH;QQ文件傳輸
UDP應用:RIP(路由選擇協議)、DNS(域名解析協議)、SNMP(簡單網絡管理協議)
要求網絡通訊速度能盡量的快。如:QQ語音 QQ視頻等

傳輸層協議與網絡層協議的區別?
1、網絡層協議負責的是提供主機間的邏輯通信
2、傳輸層協議負責的是提供進程間的邏輯通信

物理層:RJ45、CLOCK、IEEE802.3 (中繼器,集線器,網關)

數據鏈路:PPP、FR、HDLC、VLAN、MAC (網橋,交換機)

網絡層:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)

傳輸層:TCP、UDP、SPX

會話層:NFS、SQL、NETBIOS、RPC

表示層:JPEG、MPEG、ASCII

應用層:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

什麽是子網掩碼?
子網掩碼是標誌兩個IP地址是否同屬於一個子網的,也是32位二進制地址,其每一個為1代表該位是網絡位,為0代表主機位。它和IP地址一樣也是使用點式十進制來表示的。如果兩個IP地址在子網掩碼的按位與的計算下所得結果相同,即表明它們共屬於同一子網中。


http常見狀態碼有哪些?
狀態碼告知從服務器端返回的請求結果。

1XX Informational(信息性狀態碼) 接受的請求正在處理
2XX Success(成功狀態碼) 請求正常處理完畢
3XX Redirection(重定向狀態碼) 需要進行附加操作以完成請求
4XX Client Error(客戶端錯誤狀態碼) 服務器無法處理請求
5XX Server Error(服務器錯誤狀態碼) 服務器處理請求出錯

2開頭狀態碼

2xx (成功)表示成功處理了請求的狀態代碼

200 (成功) 服務器已成功處理了請求。 通常。
3開頭狀態碼

3xx (重定向) 表示要完成請求,需要進一步操作。 通常,這些狀態代碼用來重定向。

304 (未修改) 自從上次請求後,請求的網頁未修改過。 服務器返回此響應時,不會返回網頁內容。

4開頭狀態碼

4xx(請求錯誤) 這些狀態代碼表示請求可能出錯,妨礙了服務器的處理

400 (錯誤請求) 服務器不理解請求的語法。

403 (禁止) 服務器拒絕請求。

404 (未找到) 服務器找不到請求的網頁。

5開頭狀態碼

5xx(服務器錯誤)這些狀態代碼表示服務器在嘗試處理請求時發生內部錯誤。 這些錯誤可能是服務器本身的錯誤,而不是請求出錯

500 (服務器內部錯誤) 服務器遇到錯誤,無法完成請求。

501 (尚未實施) 服務器不具備完成請求的功能。 例如,服務器無法識別請求方法時可能會返回此代碼。

502 (錯誤網關) 服務器作為網關或代理,從上遊服務器收到無效響應。

503 (服務不可用) 服務器目前無法使用(由於超載或停機維護)。 通常,這只是暫時狀態。

504 (網關超時) 服務器作為網關或代理,但是沒有及時從上遊服務器收到請求。

505 (HTTP 版本不受支持) 服務器不支持請求中所用的 HTTP 協議版本。

重點:200,304,403,404,500


DNS域名系統,簡單描述其工作原理。 ?

當DNS客戶機需要在程序中使用名稱時,它會查詢DNS服務器來解析該名稱。客戶機發送的每條查詢信息包括三條信息:包括:指定的DNS域名,指定的查詢類型,DNS域名的指定類別。基於UDP服務,端口53.?該應用一般不直接為用戶使用,而是為其他應用服務,如HTTP,SMTP等在其中需要完成主機名到IP地址的轉換

在TCP/IP協議中,TCP協議提供可靠的連接服務,采用三次握手建立一個連接。
第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SEND狀態,等待服務器確認;
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器 進入SYN_RECV狀態;
第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入 ESTABLISHED狀態,完成三次握手。 完成三次握手,客戶端與服務器開始傳送數據.

四次分手:
由於TCP連接是全雙工的,因此每個方向都必須單獨進行關閉。這個原則是當一方完成它的數據發送任務後就能發送一個FIN來終止這個方向的連接。收到一個 FIN只意味著這一方向上沒有數據流動,一個TCP連接在收到一個FIN後仍能發送數據。首先進行關閉的一方將執行主動關閉,而另一方執行被動關閉。
(1)客戶端A發送一個FIN,用來關閉客戶A到服務器B的數據傳送(報文段4)。

(2)服務器B收到這個FIN,它發回一個ACK,確認序號為收到的序號加1(報文段5)。和SYN一樣,一個FIN將占用一個序號。
(3)服務器B關閉與客戶端A的連接,發送一個FIN給客戶端A(報文段6)。
(4)客戶端A發回ACK報文確認,並將確認序號設置為收到序號加1(報文段7)。

1.為什麽建立連接協議是三次握手,而關閉連接卻是四次握手呢?
這是因為服務端的LISTEN狀態下的SOCKET當收到SYN報文的建連請求後,它可以把ACK和SYN(ACK起應答作用,而SYN起同步作用)放在一個報文裏來發送。但關閉連接時,當收到對方的FIN報文通知時,它僅僅表示對方沒有數據發送給你了;但未必你所有的數據都全部發送給對方了,所以你不可以馬上關閉SOCKET,也即你可能還需要發送一些數據給對方之後,再發送FIN報文給對方來表示你同意現在可以關閉連接了,所以它這裏的ACK報文和FIN報文多數情況下都是分開發送的。

網絡知識詳解