tcp ip簡介 UDP協議

2021-07-24 17:43:02 字數 1655 閱讀 4222

從之前介紹的網路層協議來看,通訊的兩端是兩台主機,ip 資料報首部就標明了這兩台主機的 ip 位址。但是從傳輸層來看,是傳送方主機中的乙個程序與接收方主機中的乙個程序在交換資料,因此,嚴格地講,通訊雙方不是主機,而是主機中的程序。

主機中常常有多個應用程序同時在與外部通訊(比如你的瀏覽器和 qq 在同時執行),下圖中,a 主機的 ap1 程序在於 b 主機的 ap3 程序通訊,同時主機 a 的 ap2 程序也在與 b 主機的 ap4 程序通訊。

兩個主機的傳輸層之間有乙個灰色雙向箭頭,寫著「傳輸層提**用程序間的邏輯通訊」。 邏輯通訊:看起來是資料似乎是沿著雙向箭頭在傳輸層水平傳輸的,但實際上是沿圖中的虛線經多個協議層次而傳輸。

tcp/ip 協議棧傳輸層有兩個重要協議——udp 和 tcp,不同的應用程序在傳輸層使用 tcp 或 udp 之一:

這一節先介紹比較簡單的 udp,比較複雜的 tcp 將在下一節討論。

在第一節我們已經了解過埠的概念,埠的作用體現在傳輸層。

剛才的圖中,ap1 與 ap3 的通訊與 ap2 與 ap4 的通訊可以使用同乙個傳輸層協議來傳輸(tcp 或 udp),根據 ip 位址或 mac 位址都只能是把資料傳到正確的主機,但具體需要傳到哪乙個程序,是通過埠來辨認的。比如同時使用瀏覽器和 qq,瀏覽器占用 80 埠,而 qq 占用 4000 埠,那麼傳送過來的 qq 訊息便會通過 4000 埠顯示在 qq 客戶端,而不會錯誤地顯示在瀏覽器上。

埠號有 0~65535 的編號,其中:

應用層協議:

系統埠號:

2123

2553

6980

161udp(user datagram protocol)使用者資料報協議,它只在 ip 資料報服務之上增加了很少一點功能,它的主要特點有:

從應用層到傳輸層,再到網路層的各層次封裝:

udp 資料報可分為兩部分:udp 報頭和資料部分。其中資料部分是應用層交付下來的資料。udp 報頭總共 8 位元組,而這 8 位元組又分為 4 個字段:

現在我們動手實踐,嘗試抓取乙個 udp 資料報,並解讀其內容。

cd desktop

git clone

cd tcp_ip_5

gcc -o test test.c

這個 c 程式會向 ip 位址 192.168.1.1 的 7777 埠 傳送一條 "hello" 訊息。你可以用編輯器修改程式,向不同的 ip 不同的 ip 傳送不同的內容。

編譯完成後先別執行,我們還需要使用乙個知名的抓包工具 tcpdump ,依次輸入以下命令安裝,並執行 tcpdump:

sudo apt-get update

sudo apt-get

install tcpdump

sudo tcpdump -vvv -x udp port 7777

現在最小化當前終端,另開啟乙個終端,輸入以下命令執行剛才編譯好的 c 程式 test:

cd desktop/tcp_ip_5

./test

test 程式執行結束,返回剛才執行 tcpdump 的終端檢視抓包結果:

TCP IP 協議之 UDP協議

1 udp 是面向使用者資料報的運輸層協議哈。不可靠,無連線。2 首部 共8b 源埠號 2b 目的埠號 2b udp長度 2b udp校驗和 2b 說明 1 對於udp的埠號,埠號是用來標記應用程序的,tcp和udp可以共用乙個埠號,這可以在ip首部中的協議欄位來區分開來。2 udp長度是首部長度與...

tcp ip 協議簡介

tcp ip 協議名字的定義取自它的 網路層和資料鏈路層所應用的協議名稱。l tcp ip 協議層級分化 1.應用層 telnet ftp e mail 的應用 2.傳輸層 transport layer tcp udp 協議的應用為主 3.網路層 network layer ip協議為主,路由器即...

TCP IP協議 簡介

是用於計算機通訊的一組協議,我們通常稱它為tcp ip協議族。它是70年代中期美國國防部為其arpanet廣域網開發的網路體系結構和協議標準,以它為基礎組建的internet是目前國際上規模最大的計算機網路,正因為internet的廣泛使用,使得tcp ip成了事實上的標準。之所以說tcp ip是乙...