回覆列表
  • 1 # 喲喲吼說科技

    如題,IP協議能進行資料的無連線不可靠的傳輸服務,但IP Header協議欄位中只有一個位元組,最多隻能提供255種協議的標識,而這些大多又被特定的協議所佔用,留給終端使用者的空間非常小;而UDP可以提供更大的埠空間來滿足此需求,UDP的埠號只佔用兩個位元組,除去系統保留的1-1023埠外,為使用者預留的埠有60000多個,因此能完全滿足需求。

    UDP報文的格式如下:

    透過UDP報文的結構可以看出,UDP是透過16位源埠號和目標埠號來處理應用程式之間的區分的,16位UDP校驗和可以完成傳輸層的校驗,對出錯的資料包直接就行丟棄處理。

    那麼IP協議的校驗能完成此功能麼?

    不能。IP協議只校驗IP報頭,不參與資料的校驗,整個資料包的校驗是在傳輸層來完成的。

    由於網路層和傳輸層在作業系統內實現層次不同,目前作業系統也不允許使用者直接去操作IP協議,而是透過完成傳輸層協議的封裝後,進而由作業系統進行網路層的封裝、校驗和計算過程。

    因此,IP協議是無法代替UDP協議的。

  • 2 # 網路工程師成長日記

    IP協議本身是一個統稱

    IP協議中的第三層協議是路由

    路由就是指怎麼把資料包能運送到目的地

    舉例說明,你想到北京天安門怎麼樣?能夠到達這個過程就是路由

    協議中的第四層協議是傳輸方式

    傳輸方式就是指怎麼樣把資料包傳送到對方,是可靠的傳輸還是不可靠的傳輸

    我們把tcp叫做可靠的連線

    舉例說明,你給你媽打電話說:媽,我中彩票500萬了,你媽給你個回覆:孩子洗洗睡吧!

    這個過程就是可靠的傳輸,就是指你給對方傳輸了資料對方會給你個迴應(tcp有確認機制)

    我們把udp叫做不可靠的連線

    舉例說明,你給你爸打電話說:爸,我中彩票500萬了,結果你爸直接電話就掛了。

    這個過程就是不可靠傳輸,就是指你傳送的資料對方到底有沒有收到你是不知道得(utp沒有確認機制)

  • 3 # 小鳥攻城獅

    簡明扼要的回答:

    IP協議和UDP協議是各司其職:

    建議樓主多看看TCP/IP協議簇的書籍。

    IP協議幹不了UDP協議的活

    UDP協議也幹不了IP協議的活關係

    IP協議是UDP協議的載體,也就是說IP協議承載著UDP協議,假如IP協議不存在,那UDP協議也完全喪失了能力。

    但能力上它是!=數學上的包含關係:所以,IP協議不能幹UDP協議的活。

    正確的關係圖,即使先後承載的關係

    IP協議IP協議能力

    IP protocol 的能力是標識網路上的一個主機。你可以理解為IP protocol= IP address

    即它只提供地址的能力。

    對於原始IP資料包,每個IP地址只能有一個專用偵聽套接字。 IP地址標識網路層的主機,使流量能夠到達某個物理裝置,即“主機”。它的能力僅限於此。

    但是隻要你想在同一個主機上有不同的“目的地”(即應用程式),你就需要像TCP和UDP 這些protocol。

    UDP protocol

    UDP協議能力

    UDP協議具有的埠概念,來解決同一個主機上有不同的“目的地”(即應用程式)。

    UDP是支援埠的最小協議。

    誕生的意義

    一旦目標機器收到這樣一個raw IP資料包,它應該將它傳遞給哪個應用程式? 我們需要一種識別特定訊息的目標應用程式即 UDP和TCP這樣的,透過埠號來完成目標地址的分發。

    一旦資料包使用其IP protocol 到達主機,資料包需要被分配給該機器上的其中一個應用程式。 要確定哪個應用程式應該獲取資料包,它需要基於埠的解複用邏輯。 UDP具有埠資訊,IP用它將資料包傳送到適當的應用程式。

    舉例,快遞

    設想一下,你在某裡,或者某東買了一個東西:

    IP地址=IP protocol 是建築物的街道地址。

    UDP protocol = 你所住的房間號即對應udp+埠號。

  • 4 # 程式碼飼養員天齊

    最近一直在學習TCP/IP協議的相關資料,正好可以針對此問題,說一下個人的一些想法。

    首先,說明一下UDP協議和IP協議的關係。

    如上圖所示,UDP位於IP協議的上層,實現了對IP協議的封裝。

    第二,看一下兩個協議資料格式的區別。

    圖1

    圖2

    圖3

    透過比對圖1和圖2,可以看到UDP相對IP協議顯著多了埠號欄位。透過圖3可以看到IP協議將UDP協議包在了裡面。

    第三、埠的作用。把主機比作一個大樓的話,那麼埠號就代表這個大樓裡面的房間。埠最主要的作用的是與應用繫結在了一起,不同的應用使用不同的埠號。IP協議是將資料從一個大樓傳送到了另一個大樓。而有了埠號,可以知道資料是從這個大樓的A房間傳送到了另一個大樓的A房間。這個是IP協議無法做到的。實際上我們知道每個大樓裡面是有多個房間的,就好比一個主機上是有多個應用。例如SNMP\DNS等。

    綜合來說,IP協議還是無法代替UDP協議的。

    本人具有多年的java開發經驗,熟悉多種框架,熟悉網路程式設計,熟悉java安全程式設計,熟悉大資料,熟悉多種安全協議,有興趣的同學可以互相關注,互相學習!!!

  • 中秋節和大豐收的關聯?
  • 給新學生的祝福語?