1、TCP/IP協(xié)議棧
四層模型
TCP/IP這個協(xié)議遵守一個四層的模型概念:應用層、傳輸層、互聯(lián)層和網(wǎng)絡
接口層。
網(wǎng)絡接口層
模型的基層是網(wǎng)絡接口層。負責數(shù)據(jù)幀的發(fā)送和接收,幀是獨立的網(wǎng)絡信息傳
輸單元。網(wǎng)絡接口層將幀放在網(wǎng)上,或從網(wǎng)上把幀取下來。
互聯(lián)層
互聯(lián)協(xié)議將數(shù)據(jù)包封裝成internet數(shù)據(jù)報,并運行必要的路由算法。
這里有四個互聯(lián)協(xié)議:
網(wǎng)際協(xié)議IP:負責在主機和網(wǎng)絡之間尋址和路由數(shù)據(jù)包。
地址解析協(xié)議ARP:獲得同一物理網(wǎng)絡中的硬件主機地址。
網(wǎng)際控制消息協(xié)議ICMP:發(fā)送消息,并報告有關數(shù)據(jù)包的傳送錯誤。
互聯(lián)組管理協(xié)議IGMP:被IP主機拿來向本地多路廣播路由器報告主機組成員。
傳輸層
傳輸協(xié)議在計算機之間提供通信會話。傳輸協(xié)議的選擇根據(jù)數(shù)據(jù)傳輸方式而定。
兩個傳輸協(xié)議:
傳輸控制協(xié)議TCP:為應用程序提供可靠的通信連接。適合于一次傳輸大批數(shù)
據(jù)的情況。并適用于要求得到響應的應用程序。
用戶數(shù)據(jù)報協(xié)議UDP:提供了無連接通信,且不對傳送包進行可靠的保證。適
合于一次傳輸小量數(shù)據(jù),可靠性則由應用層來負責。
應用層
應用程序通過這一層訪問網(wǎng)絡。
網(wǎng)絡接口技術
IP使用網(wǎng)絡設備接口規(guī)范NDIS向網(wǎng)絡接口層提交幀。IP支持廣域網(wǎng)和本地網(wǎng)
接口技術。
串行線路協(xié)議
TCP/IPG一般通過internet串行線路協(xié)議SLIP或點對點協(xié)議PPP在串行線上進
行數(shù)據(jù)傳送。(是不是我們平時把它稱之為異步通信,對于要拿LINUX提供建立
遠程連接的朋友應該多研究一下這方面的知識)?
TCP/IP基礎----為Linux做準備(2)
==============================
2、ARP
要在網(wǎng)絡上通信,主機就必須知道對方主機的硬件地址(我們不是老遇到網(wǎng)卡
的物理地址嘛)。地址解析就是將主機IP地址映射為硬件地址的過程。地址解
析協(xié)議ARP用于獲得在同一物理網(wǎng)絡中的主機的硬件地址。
解釋本地IP地址(要了解地址解析工作過程的朋友看好了)
主機IP地址解析為硬件地址:
(1)當一臺主機要與別的主機通信時,初始化ARP請求。當該IP斷定IP地址是
本地時,源主機在ARP緩存中查找目標主機的硬件地址。
(2)要是找不到映射的話,ARP建立一個請求,源主機IP地址和硬件地址會被
包括在請求中,該請求通過廣播,使所有本地主機均能接收并處理。
(3)本地網(wǎng)上的每個主機都收到廣播并尋找相符的IP地址。
(4)當目標主機斷定請求中的IP地址與自己的相符時,直接發(fā)送一個ARP答復,
將自己的硬件地址傳給源主機。以源主機的IP地址和硬件地址更新它的ARP
緩存。源主機收到回答后便建立起了通信。
解析遠程IP地址
不同網(wǎng)絡中的主機互相通信,ARP廣播的是源主機的缺省網(wǎng)關。
目標IP地址是一個遠程網(wǎng)絡主機的話,ARP將廣播一個路由器的地址。
(1)通信請求初始化時,得知目標IP地址為遠程地址。源主機在本地路由表中
查找,若無,源主機認為是缺省網(wǎng)關的IP地址。在ARP緩存中查找符合該網(wǎng)關
記錄的IP地址(硬件地址)。
(2)若沒找到該網(wǎng)關的記錄,ARP將廣播請求網(wǎng)關地址而不是目標主機的地址。
路由器用自己的硬件地址響應源主機的ARP請求。源主機則將數(shù)據(jù)包送到路由
器以傳送到目標主機的網(wǎng)絡,最終達到目標主機。
(3)在路由器上,由IP決定目標IP地址是本地還是遠程。如果是本地,路由器
用ARP(緩存或廣播)獲得硬件地址。如果是遠程,路由器在其路由表中查找該
網(wǎng)關,然后運用ARP獲得此網(wǎng)關的硬件地址。數(shù)據(jù)包被直接發(fā)送到下一個目標
主機。
(4)目標主機收到請求后,形成ICMP響應。因源主機在遠程網(wǎng)上,將在本地路
由表中查找源主機網(wǎng)的網(wǎng)關。找到網(wǎng)關后,ARP即獲取它的硬件地址。
(5)如果此網(wǎng)關的硬件地址不在ARP緩存中,通過ARP廣播獲得。一旦它獲得
硬件地址,ICMP響應就送到路由器上,然后傳到源主機。
ARP緩存
為減少廣播量,ARP在緩存中保存地址映射以備用。ARP緩存保存有動態(tài)項 [next]
和靜態(tài)項。動態(tài)項是自動添加和刪除的,靜態(tài)項則保留在CACHE中直到計算
機重新啟動。
ARP緩存總是為本地子網(wǎng)保留硬件廣播地址(0xffffffffffffh)作為一個永久項。
此項使主機能夠接受ARP廣播。當查看緩存時,該項不會顯示。
每條ARP緩存記錄的生命周期為10分鐘,2分鐘內(nèi)未用則刪除。緩存容量滿時,
刪除最老的記錄。
加入靜態(tài)(永久)記錄
通過添加靜態(tài)ARP項可減少ARP請求訪問主機的次數(shù)。
ARP包的結構
ARP結構的字段如下:
硬件類型--使用的硬件(網(wǎng)絡訪問層)類型。
協(xié)議類型--解析過程中的協(xié)議使用以太類型的值。
硬件地址長度--硬件地址的字節(jié)長度,對于以太網(wǎng)和令牌環(huán)來說,其長度為6字節(jié)。
協(xié)議地址長度--協(xié)議地址字節(jié)的長度,IP的長度是4字節(jié)。
操作號--指定當前執(zhí)行操作的字段。
發(fā)送者的硬件地址--發(fā)送者的硬件地址。