網絡分層:
OSI七層協議:物理層、數據鏈路層、網絡層、運輸層、會話層、表示層、應用層
五層協議:物理層、數據鏈路層、網絡層、運輸層、應用層
HTTP四層協議:網絡接口層、網際層、運輸層、應用層
層 | 作用/功能 | 數據 | 協議 |
物理層 | 通過媒介傳輸比特,確定機械及電氣規范。 | 比特(bit) | RJ45、CLOCK、IEEE802.3 (中繼器,集線器) |
數據鏈路層 | 將比特封裝成幀,實現點到點的傳輸。 | 幀(Frame) | PPP、FR、HDLC、VLAN、MAC (網橋,交換機) |
網絡層 | 負責數據包從原地址到目的地址的傳輸和網際互聯 | 包(Packet) | IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器) |
運輸層 | 提供端到端的可靠報文傳遞和錯誤恢復 | 段(Segment) | TCP、UDP、SPX |
會話層 | 建立管理終止會話 | 會話協議數據單元(SPDU) | NFS、SQL、NETBIOS、RPC |
表示層 | 對數據進行翻譯、加密、壓縮 | 表示協議數據單元(PPDU) | JPEG、MPEG、ASII |
應用層 | 網絡進程到應用程序,針對特定應用規定各層協議,在端系統中用軟件實現 | 應用協議數據單元(APDU) | FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS |
ARP地址解析協議:
- 首先,每個主機都會在自己的ARP緩沖區中建立一個ARP列表,以表示IP地址和MAC地址之間的對應關系。
- 當源主機要發送數據時,首先檢查ARP列表中是否有對應IP地址的目的主機的MAC地址,如果有,則直接發送數據,如果沒有,就向本網段的所有主機發送ARP數據包,該數據包包括的內容有:源主機 IP地址,源主機MAC地址,目的主機的IP 地址。
- 當本網絡的所有主機收到該ARP數據包時,首先檢查數據包中的IP地址是否是自己的IP地址,如果不是,則忽略該數據包,如果是,則首先從數據包中取出源主機的IP和MAC地址寫入到ARP列表中,如果已經存在,則覆蓋,然后將自己的MAC地址寫入ARP響應包中,告訴源主機自己是它想要找的MAC地址。
- 源主機收到ARP響應包后。將目的主機的IP和MAC地址寫入ARP列表,並利用此信息發送數據。如果源主機一直沒有收到ARP響應數據包,表示ARP查詢失敗。
廣播發送ARP請求,單播發送ARP響應。
RARP逆地址解析協議:
RARP是逆地址解析協議,作用是完成硬件地址到IP地址的映射,主要用於無盤工作站,因為給無盤工作站配置的IP地址不能保存。工作流程:在網絡中配置一台RARP服務器,里面保存着IP地址和MAC地址的映射關系,當無盤工作站啟動后,就封裝一個RARP數據包,里面有其MAC地址,然后廣播到網絡上去,當服務器收到請求包后,就查找對應的MAC地址的IP地址裝入響應報文中發回給請求者。因為需要廣播請求報文,因此RARP只能用於具有廣播能力的網絡。
ICMP互聯網控制消息協議:
它用於TCP/IP網絡中發送控制消息,提供可能發生在通信環境中的各種問題反饋,通過這些信息,令管理者可以對所發生的問題作出診斷,然后采取適當的措施解決。它與傳輸協議最大的不同:它一般不用於在兩點間傳輸數據,而常常用於返回的錯誤信息或是分析路由。
ICMP控制的內容包括但不僅限於:echo響應(ping)、目標網絡不可達、目標端口不可達、禁止訪問的網絡、擁塞控制、重定向、TTL超時...
路由選擇協議:
路由選擇協議分為:靜態的和動態的。Internet中使用的是動態路由選擇協議,在Internet的概念中,將整個互聯網划分為許多個小的自治系統(AS)。AS的最主要的特征:一個AS對其他AS表現出的是一個單一 和一致的路由選擇策略。
由於AS的存在,路由選擇協議又分為兩種:
- 內部網關協議(IGP):即在一個AS內部使用的路由選擇協議,而這與互聯網中其他AS選用什么路由協議無關。比如:OSPF
- 外部網關協議(EGP):若源主機和目的主機不再同一個AS中,就需要使用一種協議將路由選擇信息傳遞到另一個AS中,這就是EGP。比如:BGP。
DNS域名解析協議:
當 DNS 客戶機需要查詢程序中使用的名稱時,它會查詢本地DNS 服務器來解析該名稱。客戶機發送的每條查詢消息都包括3條信息,以指定服務器應回答的問題。
● 指定的 DNS 域名,表示為完全合格的域名 (FQDN) 。
● 指定的查詢類型,它可根據類型指定資源記錄,或作為查詢操作的專門類型。
● DNS域名的指定類別。
DNS的查詢過程:(以訪問www.qq.com為例)
- 在瀏覽器中輸入www.qq.com域名,操作系統會先檢查自己本地的hosts文件是否有這個網址映射關系,如果有,就先調用這個IP地址映射,完成域名解析。
- 如果hosts里沒有這個域名的映射,則查找本地DNS解析器緩存,是否有這個網址映射關系,如果有,直接返回,完成域名解析。
- 如果hosts與本地DNS解析器緩存都沒有相應的網址映射關系,首先會找TCP/IP參數中設置的首選DNS服務器,在此我們叫它本地DNS服務器,此服務器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。
- 如果要查詢的域名,不由本地DNS服務器區域解析,但該服務器已緩存了此網址映射關系,則調用這個IP地址映射,完成域名解析,此解析不具有權威性。
- 如果本地DNS服務器本地區域文件與緩存解析都失效,則根據本地DNS服務器的設置(是否設置轉發器)進行查詢,如果未用轉發模式,本地DNS就把請求發至根DNS,根DNS服務器收到請求后會判斷這個域名(.com)是誰來授權管理,並會返回一個負責該頂級域名服務器的一個IP。本地DNS服務器收到IP信息后,將會聯系負責.com域的這台服務器。這台負責.com域的服務器收到請求后,如果自己無法解析,它就會找一個管理.com域的下一級DNS服務器地址(qq.com)給本地DNS服務器。當本地DNS服務器收到這個地址后,就會找qq.com域服務器,重復上面的動作,進行查詢,直至找到www.qq.com主機。
在瀏覽器中輸入www.baidu.com后執行的全部過程
- 應用層:客戶端瀏覽器通過DNS解析到www.baidu.com的IP地址220.181.27.48,通過這個IP地址找到客戶端到服務器的路徑。客戶端瀏覽器發起一個HTTP會話到220.161.27.48,然后通過TCP進行封裝數據包,輸入到網絡層。
- DNS解析過程
- HTTP請求與響應
2. 傳輸層:把HTTP會話請求分成報文段,添加源和目的端口,如服務器使用80端口監聽客戶端的請求,客戶端由系統隨機選擇一個端口如5000,與服務器進行交換,服務器把相應的請求返回給客戶端的5000端口。然后使用IP層的IP地址查找目的端。
3. 網絡層:網絡層不關心應用層或者傳輸層的東西,主要做的是通過查找路由表確定如何到達服務器,期間可能經過多個路由器,這些都是由路由器來完成的工作,通過查找路由表決定通過那個路徑到達服務器。
4. 鏈路層:包通過鏈路層發送到路由器,通過ARP協議查找給定IP地址的MAC地址,然后發送ARP請求查找目的地址,如果得到回應后就可以使用ARP的請求應答交換的IP數據包現在就可以傳輸了,然后發送IP數據包到達服務器的地址。
交換機、路由器、網關的概念:
- 交換機
在計算機網絡系統中,交換機是針對共享工作模式的弱點而推出的。交換機擁有一條高帶寬的背部總線和內部交換矩陣。當控制電路收到數據包以后,處理端口會查找內存中的地址對照表以確定目的MAC的網卡掛接在哪個端口上,通過內部交換矩陣迅速將數據包傳送到目的端口。目的MAC若不存在,交換機才廣播到所有的端口,接收端口回應后交換機會“學習”新的地址,並把它添加入內部地址表 中。
交換機工作於OSI參考模型的第二層,即數據鏈路層。交換機內部的CPU會在每個端口成功連接時,通過ARP協議學習它的MAC地址,保存成一張 ARP表。在今后的通訊中,發往該MAC地址的數據包將僅送往其對應的端口,而不是所有的端口。因此,交換機可用於划分數據鏈路層廣播,即沖突域;但它不 能划分網絡層廣播,即廣播域。
- 路由器
路由器(Router)是一種計算機網絡設備,提供了路由與轉送兩種重要機制
路由:可以決定數據包從來源端到目的端所經過的路由路徑(host到host之間的傳輸路徑)
轉送:將路由器輸入端的數據包移送至適當的路由器輸出端(在路由器內部進行)
路由工作在OSI模型的第三層——即網絡層,例如網際協議。
路由器的一個作用是連通不同的網絡,另一個作用是選擇信息傳送的線路。
- 網關
網關(Gateway),就是連接兩個網絡的設備,用於連接局域網和Internet。
區別於路由器,網關(gateway)能在不同協議間移動數據,而路由器(router)是在不同網絡間移動數據,相當於傳統所說的IP網關(IP gateway)。
網關中並沒有路由表,他只能按照預先設定的不同網段來進行轉發。網關最重要的一點就是端口映射,子網內用戶在外網看來只是外網的IP地址對應着不同的端口,這樣看來就會保護子網內的用戶。