包括tcp(傳輸協議)、ip(網路協議)、udp(使用者資料報協議)、arp(位址解析協議)、rarp(反位址解析協議)。
osi與tcp/ip參考模型:7層(層的概念是邏輯的概念、理論性應用層、表示層、會話層、傳輸層、網路層、資料表連線層、物理層),實際上用的協議是四層(應用層(ftp、telnet)、傳輸層(解釋資料)、網路層(定位ip位址和確定連線路徑)、鏈路層(與硬體驅動對話))。
以qq傳輸為例:
網路埠:
經過路由器和tcp/ip協議到達主機的資料報,需要確定將資料傳輸給電腦程式的哪個程序,而埠就是來確定的。埠就是程序佇列等待程序來取得資料報。如ftp是20和21、http是80等。
個人理解arp過程:
可以這樣理解,當qq的你好經過一層層七層封裝好後,由傳輸層tcp來負責建立握手聯絡,由ip協議來負責在網路傳輸路由選擇的過程,鏈路層來拆分幀,物理層傳送二進位製碼。
為了通俗易懂的解釋arp協議的作用,這裡就舉乙個簡單的ping命令例子:
假設在乙個區域網中,(注意這裡的前提是兩台主機在同一區域網中)我們的計算機ip位址是192.168.1.1,現在dos視窗中執行這個命令:ping192.168.1.2。該命令會通過icmp協議傳送icmp資料
包。該過程需要經過下面的步驟:
1、應用程式構造資料報,該步驟是產生icmp包,然後把它提交給核心(網絡卡驅動程式);
2、核心檢查是否能夠轉化該ip位址為mac位址,也就是在本地的arp快取中檢視ip-mac對應表;
3、如果存在該ip-mac對應關係,那麼跳到步驟7;如果不存在該ip-mac對應關係,那麼接續下面的步驟;
4、核心進行arp廣播,即傳送 arp request,向整個網路中大喊,這個ip是誰的,這個ip是誰的(這個arp request中包含有我們計算機的mac位址;
5、當192.168.1.2主機接收到該arp請求後,就傳送乙個arp 回應,即arp reply命令,說道:這個ip是我的,你看這是我的mac位址(arp request中包含自己的mac位址);
6、我們的計算機獲得192.168.1.2主機的ip-mac位址對應關係,就儲存到自己的arp快取中;
7、核心將把目標主機ip轉化為mac位址,然後封裝在乙太網頭結構中,再把資料傳送出去;
8、這樣主機b看到傳送過來的資料報包頭裡有自己的mac位址,才會識別它,噢,這個資料是傳送給我的(當資料報包頭裡只有b的ip位址時,主機b會不認識它,不去接收這個資料報)
ip位址就像人的姓名,mac位址就像人的身份證,當乙個包裹傳送過來,上面寫著,是給張三的,但是叫張三的多了,張三不會去接收,但是包裹上面寫了張三的身份證號碼,張三一看,啊,是我的,身份證是唯一的,他才接收。那ip的作用是什麼呢?
ip位址具有全網範圍內的定址能力,主機a和b可能分別處在不同網路,主機a要訪問主機b首先要知道主機b的ip位址,不然找不到主機b所在
的網路。也就是說有了主機b的ip位址,主機a會知道主機b在**,知道它所在的網路,但不會把資料給它,只有得到它的mac位址,之後,才會給它,就像驗證身份證一樣。
使用 arp -a 命令就可以檢視本地的arp快取內容,所以,執行乙個本地的ping命令後,arp快取就會存在乙個目的ip的記錄了。當
然,如果你的資料報是傳送到不同網段的目的地,那麼就一定存在一條閘道器的ip-mac位址對應的記錄。
知道了arp協議的作用,就能夠很清楚地知道,資料報的向外傳輸是非常依賴mac位址,可以看出arp協議在網路傳輸中的不可缺少的作用。
假如說兩台主機不在同一區域網,即便知道目的主機的mac位址,兩者也不能直接通訊,必須經過路由**才可以。所以此時,傳送主機通過arp協議獲得的將不是目的主機的mac位址,而是一台可以通往區域網外的路由器(路由器理解成一台電腦就行,這個電腦路由器裡面會記下剛才是哪台電腦跟外網進行聯網的,可能會給這個電腦分配乙個埠號,而外網就只知道路由器了,跟這個路由器的埠號通訊)的某個埠的mac位址。於是此後傳送主機發往目的主機的所有幀,都將發往該路由器,通過它向外傳送。這種情況稱為arp**(arp proxy)。也就是說,本地主機當尋求乙個ip位址的mac時,找不到,不是同一區域網,那它會收到路由器的mac位址,說,這個資料就交給你了,剩下的事就你來處理了,你去找目的主機吧!
每次都要用arp request來尋求mac是很低效的,arp cache則很好的解決了這個問題。
1p39關於arp的作用
知道主機的ip位址並不能讓核心傳送一幀資料給主機,核心必須知道目的端點的硬體位址才能傳送資料。arp的功能是在32bit的ip位址和採用不同網路技術的硬體位址之間提供動態的對映。
arp請求,乙太網廣播的形式。每個主機都有乙個arp快取記憶體。
組播
路由器並不關心報文的源位址,只關心報文的目的位址,通過其目的位址決定向哪個介面**;而組播報文是傳送給一組接收者的,這些接收者用乙個邏輯位址(即組播位址)標識,路由器在收到組播報文後,必須根據報文的源位址確定其正確的入介面(指向組播源方向)和下游方向,然後將其沿著遠離組播源的下游方向**——這個過程稱為逆向路徑**(rpf)。
TCP IP 基本知識
tcp ip通常被認為是乙個四層協議系統 1 鏈路層,有時也稱作資料鏈路層或網路介面層,通常包括作業系統中的裝置驅動程式和計算機中對應的網路介面卡。它們一起處理與電纜 或其他任何傳輸媒介 的物理介面細節。2 網路層,有時也稱作網際網路層,處理分組在網路中的活動,例如分組的選路。在tcp ip協議族中...
TCP IP 基本知識
1.網路七層 2.tcp三次握手 1 第一次握手 建立連線時,客戶端傳送syn包到伺服器,其中包含客戶端的初始序號seq x,並進入syn sent狀態,等待伺服器確認。2 第二次握手 伺服器收到請求後,必須確認客戶的資料報。同時自己也傳送乙個syn包,即syn ack包,此時伺服器進入syn re...
tcp ip基本知識
1 網路七層 2 tcp三層握手 1 第一次握手 建立連線時,客戶端傳送syn包到伺服器,其中包含客戶端的初始序號seq x,並進入syn sent狀態,等待伺服器確認。2 第二次握手 伺服器收到請求後,必須確認客戶的資料報。同時自己也傳送乙個syn包,即syn ack包,此時伺服器進入syn re...