《实验9UDP协定分析.ppt》由会员分享,可在线阅读,更多相关《实验9UDP协定分析.ppt(21页珍藏版)》请在三一办公上搜索。
1、實驗9 UDP協定分析,實驗目的明瞭不可靠傳輸層的基礎觀念解析UDP協定下區段資料傳送的格式,背景資料,TCP協定與UDP協定各有其傳輸特性,主要差異在於訊息的處理時間與傳輸的可靠度問題,協定的選擇期望在處理時間與可靠度間找到一個平衡點。UDP協定(User Datagram Protocol)是一個相當簡單的協定,僅提供Host-To-Host(End-to-End)最基本的功能,也就是提供連接埠號給主機判斷是由何應用程式處理資訊。,背景資料,UDP和IP都是以非連接導向性(Connectionless)的方式來傳送封包,所以傳送過程較為單純,相對地可靠性較差,無法保證資料到達目的地的順序,
2、在傳送過程中若發生問題,並不具有確認、重送等機制,所以一般而言要使用UDP協定來傳送資料必須滿足底下條件:允許資料損失。不管資料到達目的地的順序,所以最好資訊均封裝在單一區段中。對電腦資源的需求高。,背景資料,所以DNS查詢、網路多媒體視訊和網路廣播(Multicast或Broadcast)等,在資料損失時並不會造成重大影響,但對時效需求較高,或者應用層有能力來處理這些問題,如一些P2P程式,此時才會使用UDP協定。UDP協定的主要作用是將區段的表頭壓縮成為一個較為簡易的格式,一個典型的UDP區段就是一個二進制的格式,每一個區段的前八個字元是用來包含區段表頭的訊息,其他的就用來當作包含具體的資
3、料。,傳輸層連接埠,傳輸層協定使用2 Bytes來存放連接埠號,所以埠號的有效範圍是從0到65535,為不同的應用程式保留其各自的資料傳送的通道,連接埠號的規範在。UDP和TCP協定正是採用這類機制,來實現對同一個時間點中多個應用程式同時發送和接收資料的支援,發送資料的一方(可以是客戶端或是伺服器端)將UDP資料通過來源埠號發送出去,而資料接收的一方則是通過目標埠口來接收資料,有的網路應用程式只能使用事先為其預留的固定埠號,而另外有一些網路應用程式則可以使用未被使用的動態埠號。按IANA的規定,編號0-1023的連接埠號稱為Well-Known埠,Well-Known連接埠僅是約定俗成的意思,
4、並不具有強制性質,主要供伺服器應用程式使用,一般來說,大於49151的連接埠號都是代表動態連接埠號。,常見的保留埠編號,UDP區段,UDP整個區段的長度,是指包括區段表頭和資料部分在内,區段表頭的長度是固定的,資料區段的最大長度根據使用環境的不同會有差異,理論上來說,包含表頭在內的區段大小的最大長度為65535 bytes。UDP協定使用表頭中的確認值來確保資料的正確性,確認值首先在資料發送方利用特殊的演算法來得到,在傳送到接收端之後,還要重新的再計算一次,如果有某一個資料區段在傳送的過程中被第三者更改而損壞的話,那麼發送端和接收端的確認值會不相同,由此可見UDP協定可以檢測是否出錯。這個和T
5、CP協定是不同的。,UDP區段,UDP區段格式UDP表頭欄位,UDP區段,Source Port:長度為2 Bytes,用來記錄來源端應用程式所用的連接埠號。Destination Port:長度為2 Bytes,用來記錄目的端應用程式所用的連接埠號。Length:長度為2 Bytes,用來記錄UDP區段的總長度,以Byte單位。欄位最小值為8,也就是只有UDP表頭,沒有任何UDP資料,最大值則受限於IP Payload的長度。Checksum:長度為2 Bytes,用來檢查來源主機與目的主機所送出的資料區段是否正確。,UDP虛擬表頭,UDP與TCP執行其Checksum值運算時,除了表頭與資
6、料外,還有一個所謂的虛擬表頭(Pseudo Header)作輔助。它包含以下的欄位:Source IP Address:IP表頭中來源端的IP位址Destination IP Address:IP表頭中目的端的IP位址Unused:長度為8 Bits,填入0Protocol:IP表頭中紀錄上層協定的欄位Length:UDP表頭中的Length欄位UDP的錯誤檢查碼可視為雙重保險的機制,當區段在傳遞中發生錯誤,而位於UDP下的各層協定都沒有找出錯誤時,Pseudo Header提供了一道額外的防線。,UDP協定的應用,UDP雖然負責傳送訊息,但本層並不提供軟體來查核區段遞送狀況。UDP提供的優勢
7、是速度快。由於UDP不提供確認,所以透過網路傳送的流量較少,使傳輸作業速度加快,若用在語音、影像來說會有不錯效果。UDP提供了較為簡易的資料傳輸栛定,它的訊息可能會在網路傳送過程中遺失、重複或不依順序,但它可以提供一個較快的傳送機制,在某些場合中可能需要,如DNS。,實驗方法,DNS query,DNS query,說明:UDP表頭包含:1.Source port=1064;2.Destination port=(domain)53;3.Length=43;4.Checksum=0 xa37b(十六進位),微軟網路芳鄰協定,微軟網路芳鄰協定,說明:UDP表頭包含:1.Source port=(
8、netbios-dgm)138;2.Destination port=(netbios-dgm)138;3.Length=215;4.Checksum=0 xc54c(十六進位),Bitcomet,Bitcomet,說明:UDP表頭包含:1.Source port=12017;2.Destination port=12195;3.Length=109;4.Checksum=0 x6c90(十六進位),Port Scan,使用Free IP scanner也可以掃瞄IP機器Port的使用情況,首先需在Edit-Options將Scan port這選項勾選,並輸入欲掃瞄的Port號,Port號間需用逗號隔開。相同的重申一下請勿隨意掃瞄他人IP機器Port的使用情況,這會讓人以為你具有攻擊的意圖。,Port Scan,nmap,學習評量,應用層如何決定選擇傳輸層中是使用TCP或UDP協定?說明連接埠編號的原則?使用UDP傳送封包是否有大小限制,如果有限制的話,大小超過限制會出現什麼情況?說明UPD的checksum值的運算機制。說明UDP協定中潛在的風險?,