ccna的必備知識之1(轉)
ccna的必備知識之1(轉)[@more@] TCP/IP協議體系結構簡介 1、TCP/IP協議棧 四層模型 TCP/IP這個協議遵守一個四層的模型概念:應用層、傳輸層、互聯層和網路 介面層。 網路介面層 模型的基層是網路介面層。負責資料幀的傳送和接收,幀是獨立的網路資訊傳 輸單元。網路介面層將幀放在網上,或從網上把幀取下來。 互聯層 互聯協議將資料包封裝成internet資料包,並執行必要的路由演算法。 這裡有四個互聯協議: 網際協議IP:負責在主機和網路之間定址和路由資料包。 地址解析協議ARP:獲得同一物理網路中的硬體主機地址。 網際控制訊息協議ICMP:傳送訊息,並報告有關資料包的傳送錯誤。 互聯組管理協議IGMP:被IP主機拿來向本地多路廣播路由器報告主機組成員。 傳輸層 傳輸協議在計算機之間提供通訊會話。傳輸協議的選擇根據資料傳輸方式而定。 兩個傳輸協議: 傳輸控制協議TCP:為應用程式提供可靠的通訊連線。適合於一次傳輸大批數 據的情況。並適用於要求得到響應的應用程式。 使用者資料包協議UDP:提供了無連線通訊,且不對傳送包進行可靠的保證。適 合於一次傳輸小量資料,可靠性則由應用層來負責。 應用層 應用程式透過這一層訪問網路。 網路介面技術 IP使用網路裝置介面規範NDIS向網路介面層提交幀。IP支援廣域網和本地網 介面技術。 序列線路協議 TCP/IPG一般透過internet序列線路協議SLIP或點對點協議PPP在序列線上進 行資料傳送。(是不是我們平時把它稱之為非同步通訊,對於要拿LINUX提供建立 遠端連線的朋友應該多研究一下這方面的知識)? TCP/IP基礎----為Linux做準備(2) ============================== 2、ARP 要在網路上通訊,主機就必須知道對方主機的硬體地址(我們不是老遇到網路卡 的實體地址嘛)。地址解析就是將主機IP地址對映為硬體地址的過程。地址解 析協議ARP用於獲得在同一物理網路中的主機的硬體地址。 解釋本地IP地址(要了解地址解析工作過程的朋友看好了) 主機IP地址解析為硬體地址: (1)當一臺主機要與別的主機通訊時,初始化ARP請求。當該IP斷定IP地址是 本地時,源主機在ARP快取中查詢目標主機的硬體地址。 (2)要是找不到對映的話,ARP建立一個請求,源主機IP地址和硬體地址會被 包括在請求中,該請求透過廣播,使所有本地主機均能接收並處理。 (3)本地網上的每個主機都收到廣播並尋找相符的IP地址。 (4)當目標主機斷定請求中的IP地址與自己的相符時,直接傳送一個ARP答覆, 將自己的硬體地址傳給源主機。以源主機的IP地址和硬體地址更新它的ARP 快取。源主機收到回答後便建立起了通訊。 解析遠端IP地址 不同網路中的主機互相通訊,ARP廣播的是源主機的預設閘道器。 目標IP地址是一個遠端網路主機的話,ARP將廣播一個路由器的地址。 (1)通訊請求初始化時,得知目標IP地址為遠端地址。源主機在本地路由表中 查詢,若無,源主機認為是預設閘道器的IP地址。在ARP快取中查詢符合該閘道器 記錄的IP地址(硬體地址)。 (2)若沒找到該閘道器的記錄,ARP將廣播請求閘道器地址而不是目標主機的地址。 路由器用自己的硬體地址響應源主機的ARP請求。源主機則將資料包送到路由 器以傳送到目標主機的網路,最終達到目標主機。 (3)在路由器上,由IP決定目標IP地址是本地還是遠端。如果是本地,路由器 用ARP(快取或廣播)獲得硬體地址。如果是遠端,路由器在其路由表中查詢該 閘道器,然後運用ARP獲得此閘道器的硬體地址。資料包被直接傳送到下一個目標 主機。 (4)目標主機收到請求後,形成ICMP響應。因源主機在遠端網上,將在本地路 由表中查詢源主機網的閘道器。找到閘道器後,ARP即獲取它的硬體地址。 (5)如果此閘道器的硬體地址不在ARP快取中,透過ARP廣播獲得。一旦它獲得 硬體地址,ICMP響應就送到路由器上,然後傳到源主機。 ARP快取 為減少廣播量,ARP在快取中儲存地址對映以備用。ARP快取儲存有動態項 和靜態項。動態項是自動新增和刪除的,靜態項則保留在CACHE中直到計算 機重新啟動。 ARP快取總是為本地子網保留硬體廣播地址(0xffffffffffffh)作為一個永久項。 此項使主機能夠接受ARP廣播。當檢視快取時,該項不會顯示。 每條ARP快取記錄的生命週期為10分鐘,2分鐘內未用則刪除。快取容量滿時, 刪除最老的記錄。 加入靜態(永久)記錄 透過新增靜態ARP項可減少ARP請求訪問主機的次數。 ARP包的結構 ARP結構的欄位如下: 硬體型別--使用的硬體(網路訪問層)型別。 協議型別--解析過程中的協議使用以太型別的值。 硬體地址長度--硬體地址的位元組長度,對於乙太網和令牌環來說,其長度為6位元組。 協議地址長度--協議地址位元組的長度,IP的長度是4位元組。 操作號--指定當前執行操作的欄位。 傳送者的硬體地址--傳送者的硬體地址。 傳送者的協議地址--傳送者的協議地址。 目的站硬體地址--目標者的硬體地址。 目的站協議地址--目標者的協議地址。? TCP/IP基礎----為Linux做準備(3) ============================== 3、ICMP和IGMP internet控制訊息協議ICMP是用於報告錯誤並代表IP對訊息進行控制。 IP運用互聯組管理協議IGMP來告訴路由器,某一網路上指導組中的可用主機。 ICMP ICMP源抑制訊息:當TCP/IP主機傳送資料到另一主機時,如果速度達到路由器或者鏈路 的飽和狀態,路由器發出一個ICMP源抑制訊息。 ICMP資料包結構 型別:一個8位型別欄位,表示ICMP資料包型別。 程式碼:一個8位程式碼域,表示指定型別中的一個功能。如果一個型別中只有一種功能,代 碼域置為0。 檢驗和:資料包中ICMP部分上的一個16位檢驗和。 指定型別的資料隨每個ICMP型別變化的一個附加資料。 IGMP IGMP資訊傳給別的路由器以使每個支援多路廣播的路由器獲知哪個主機組和哪個網路 中。 IGMP包結構 版本:IGMP的版本,值一般為0x1h。 型別:IGMP訊息的型別。0x1h型別稱為主機成員請求,在多路廣播路由器上用於指定多 級組中的任何成員輪詢一個網路。0x2h型別稱為主機成員報告,在主機上用於釋出指定組 中的成員情況或對一個路由器的主機成員請求進行回答。 未用:未用的域名被髮送者置零且被接收者忽略。 檢驗和:IGMP頭的一個16位檢驗和。 組地址:主機用該組地址在一個主機成員請求中儲存IP多路廣播地址。在主機成員請求中, 組地址被全置零,而且硬體級的多路廣播地址被用來標示主機組。 4、IP IP是一個無連線的協議,主要就是負責在主機間定址併為資料包設定路由,在交換資料前 它並不建立會話。因為它不保證正確傳遞,另一方面,資料在被收到時,IP不需要收到確 認,所以它是不可靠的。 有一些欄位,在當資料從傳輸層傳下來時,會被附加在資料包中,我們來看一下這些欄位: 源IP地址:用IP地址確定資料包傳送者。 目標IP地址:用IP地址確定資料包目標。 協議:告知目的機的IP是否將包傳給TCP或UDP。 檢查和:一個簡單的數學計算,用來證實收到的包的完整性。 TTL生存有效時間:指定一個資料包被丟棄之前,在網路上能停留多少時間(以秒計)。它 避免了包在網路中無休止迴圈。路由器會根據資料在路由器中駐留的時間來遞減TTL。其 中資料包透過一次路由器,TTL至少減少一秒。 根據我們前面提到關於ARP的知識,如果IP地址目標為本地地址時,IP將資料包直接傳 給那個主機;如果目標地址為遠端地址的話,IP在本地的路由表中查詢遠端主機的路由(看 來好象我們平時撥114一樣)。如果找到一個路由,IP用它傳送資料包。如果沒找到呢,就 會將資料包傳送到源主機的預設閘道器,也稱之為路由器。(很多時候一直在搞閘道器和路由器 的定義,其實我覺得在學的時候不一定死摳概念,現在硬體和軟體結合的產品越來越多了, 一時很分清的,只要我們運用的時候可以解決實際問題嘛。) 這樣當路由器收到一個包後,該包向上傳給IP: (1)如果交通阻塞(聽起來蠻可怕的),包在路由器中停滯,TTL至少減1或更多。要是它降 到0的話,包就會被拋棄。 (2)如果對於下一網路來說包太大的話,IP會將它分割成若干個小包。 (3)如果包被分解,IP為每個新包製造一個新頭,其中包括:一個標誌,用來顯示其它小包 在其後;一個小包ID,用來確定所有小包是一起的;一個小包偏移,用來告訴接收主機怎 麼重新組合它們。 (4)IP計算一個新的檢驗和。 (5)IP獲取一個路由的目標硬體地址。 (6)IP轉發包。 在下一主機,包被髮送到TCP或UDP。每個路由器都要重複該過程。直到包到達最終目 的地。當包到達最終目的地後,IP將小包組裝成原來的包。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-952086/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 機器學習之必備知識篇機器學習
- 必備知識
- Python 面試必備基礎知識-1Python面試
- Java面試題必備知識之ThreadLocalJava面試題thread
- 談元件技術(一) 必備知識. (轉)元件
- css必備知識點CSS
- 必備知識點 路由路由
- 必備知識點 模版
- 騰訊 PHP 面試必備知識PHP面試
- 網路基礎必備知識
- Redis 面試必備知識點Redis面試
- 前端必備知識點—SVG前端SVG
- OpenStack必備基礎知識
- 程式設計必備知識程式設計
- 必備知識點 檢視
- 移動終端開發必備知識(轉載)
- Docker 必知必會1----初識Docker
- 容器雲開發必備知識
- DBA七個必備知識點
- 必備知識點 模型層ORM模型ORM
- SRE 必備知識 - Kafka 探秘之零複製技術Kafka
- 前端進階必備知識彙總前端
- Web前端必備-Nginx知識彙總Web前端Nginx
- 安卓開發必備顏色知識安卓
- [原]JavaScript必備知識系列-開篇JavaScript
- 安裝Linux之前必備知識Linux
- day04 必備基礎知識
- 後端開發必備的 RestFul API 知識後端RESTAPI
- 爬蟲必須得會的預備知識爬蟲
- 程式猿必備的Linux基礎知識Linux
- 面試中必備的網路相關知識面試
- 前端開發者必備的快取知識總結前端快取
- 千萬淘寶店運營必備知識,你必須知道!
- 機器學習基礎知識梳理,新手必備!(附連結)機器學習
- Python 必備面試基礎知識-3Python面試
- 效能測試必備基礎知識(二)
- 程式必備區塊鏈基礎知識區塊鏈
- 從0到1學習介面自動化測試必備知識!