1. 程式人生 > >TCP/IP-----協議號、埠號、ARP、icmp

TCP/IP-----協議號、埠號、ARP、icmp

文章目錄

  • 協議號
    協議號是存在於IP資料報的首部的20位元組的固定部分,佔有8bit.該欄位是指出此資料報所攜帶的是資料是使用何種協議,以便目的主機的IP層知道將資料部分上交給哪個處理過程。也就是協議欄位告訴IP層應當如何交付資料。
協議號 協議型別 說明
0 HOPOPT IPv6逐跳選項
1 ICMP Internet控制訊息
4 IP IP中的IP(封裝)
5 ST
6 TCP 傳輸控制
17 UDP 使用者資料報
27 RDP 可靠資料協議
37 DDP 資料報傳送協議
45 IDRP 域間路由協議
53 SWIPE 採用加密的IP
112 VRRP 虛擬路由器冗餘協議

  • 埠的作用是讓應用層的各種應用程序都能將其資料通過埠向下交付給運輸層,以及讓運輸層知道應當將其報文段中的資料向上通過埠交付給應用層的程序。埠號存在於UDP和TCP報文的首部,而IP資料報則是將UDP或者TCP報文做為其資料部分,再加上IP資料報首部,封裝成IP資料報。

一、資料流向過程

1.客戶端傳送一個數據包給ip,然後ip將進來的資料傳送給傳輸協議(tcp或者udp)
2.傳輸協議再根據資料包的第一個報頭中的協議號和埠號來決定將此資料包給哪個應用程式。

IP協議號確定送給哪個模組(TCP/UDP/ICMP…)處理
協議號+埠號唯一的確定了接收資料包的網路程序(也叫網路服務)。tcp和udp中的埠31指的並不是同一個埠。但是對於同一個協議,埠號確實唯一的。

二、協議詳解

1)ARP協議

  • ARP概述
    ①ARP(Address Resolution Protocol)即地址解析協議, 用於實現從 IP 地址到 MAC 地址的對映,即詢問目標IP對應的MAC地址
    ②在網路通訊中,主機和主機通訊的資料包需要依據OSI模型從上到下進行資料封裝,當資料封裝完整後,再向外發出。所以在區域網的通訊中,不僅需要源目IP地址的封裝,也需要源目MAC的封裝。
    ③一般情況下,上層應用程式更多關心IP地址而不關心MAC地址,所以需要通過ARP協議來獲知目的主機的MAC地址,完成資料封裝

在這裡插入圖片描述

目的:將IP地址對映成實體地址,在資料包離開計算機之前,必須要找到目的硬體的地址。
過程:一個ARP請求在網上廣播,請求由一個程序接收,它回覆實體地址
快取記憶體:存放最近Internet地址到硬體地址之間的對映記錄,每一項的生存時間一般為20分鐘。
對於一個ARP請求來說,除了目的端硬體地址外所有的其他欄位都有填充值,當系統收到一份目的端為本機的ARP的請求報文後,它就把硬體地址填進去,然後用兩個目的端地址分別替換兩個傳送端地址,最後把它傳送回去。
基於功能來考慮,ARP是鏈路層協議;基於分層/包封裝來考慮,ARP是網路層協議

2)ICMP協議

ICMP協議的功能主要有:

  1. 確認IP包是否成功到達目標地址
  2. 通知在傳送過程中IP包被丟棄的原因
    在這裡插入圖片描述

1.ICMP是基於IP協議工作的,但是它並不是傳輸層的功能,因此仍然把它歸結為網路層協議
2.ICMP只能搭配IPv4使用,如果是IPv6的情況下, 需要是用ICMPv6
3.ping命令是基於ICMP,是在網路層,不涉及埠