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緩存保存有動態項 [next]
和靜態項。動態項是自動添加和刪除的,靜態項則保留在CACHE中直到計算
機重新啟動。
ARP緩存總是為本地子網保留硬件廣播地址(0xffffffffffffh)作為一個永久項。
此項使主機能夠接受ARP廣播。當查看緩存時,該項不會顯示。
每條ARP緩存記錄的生命周期為10分鐘,2分鐘內未用則刪除。緩存容量滿時,
刪除最老的記錄。
加入靜態(永久)記錄
通過添加靜態ARP項可減少ARP請求訪問主機的次數。
ARP包的結構
ARP結構的字段如下:
硬件類型--使用的硬件(網絡訪問層)類型。
協議類型--解析過程中的協議使用以太類型的值。
硬件地址長度--硬件地址的字節長度,對於以太網和令牌環來說,其長度為6字節。
協議地址長度--協議地址字節的長度,IP的長度是4字節。
操作號--指定當前執行操作的字段。
發送者的硬件地址--發送者的硬件地址。