注意到d n s名字伺服器使用的熟知埠號無論對 u d p還是t c p都是5 3。這意味著d n s均支援u d p和t c p訪問,但我們使用 t c p d u m p觀察的所有例子都是採用 u d p。那麼這兩種協議都在什麼情況下採用以及採用的理由都是什麼呢?
當名字解析器發出乙個查詢請求,並且返回響應中的 t c(刪減標誌)位元被設定為 1時,它就意味著響應的長度超過了 5 1 2個位元組,而僅返回前 5 1 2個位元組。在遇到這種情況時,名字解析器通常使用t c p重發原來的查詢請求,它將允許返回的響應超過 5 1 2個位元組(回想在11 . 1 0節討論的u d p資料報的最大長度)。既然t c p能將使用者的資料流分為一些報文段,它就能用多個報文段來傳送任意長度的使用者資料。
此外,當乙個域的輔助名字伺服器在啟動時,將從該域的主名字伺服器執行區域傳送。我們也說過輔助伺服器將定時(通常是 3小時)向主伺服器進行查詢以便了解主伺服器資料是否發生變動。如果有變動,將執行一次區域傳送。區域傳送將使用 t c p,因為這裡傳送的資料遠比乙個查詢或響應多得多。
既然d n s主要使用u d p,無論是名字解析器還是名字伺服器都必須自己處理超時和重傳。此外,不像其他的使用 u d p的i n t e r n e t應用(t f t p、b o o t p和s n m p),大部分操作集中在區域網上,d n s查詢和響應通常經過廣域網。分組丟失率和往返時間的不確定性在廣域網上比區域網上更大。這樣對於d n s客戶程式,乙個好的重傳和超時程式就顯得更重要了。
速讀原著 TCP IP 最大UDP資料報長度
理論上,i p資料報的最大長度是6 5 5 3 5位元組,這是由i p首部 圖3 1 1 6位元總長度欄位所限制的。去除 2 0位元組的i p首部和8個位元組的u d p首部,u d p資料報中使用者資料的最長長度為6 5 5 0 7位元組。但是,大多數實現所提供的長度比這個最大值小。我們將遇到兩個...
速讀原著 TCP IP 免費ARP
我們可以看到的另乙個 a r p特性稱作免費arp gratuitous arp 它是指主機傳送a r p查詢自己的i p位址。通常,它發生在系統引導期間進行介面配置的時候。如果傳送免費a r p的主機正好改變了硬體位址 很可能是主機關機了,並換了一塊介面卡,然後重新啟動 那麼這個分組就可以使其他主...
速讀原著 TCP IP 插口排錯選項
檢視乙個t c p連線上發生的事情的另一種方法是使能插口排錯選項,當然是在支援這一特徵的系統中。這個特徵只能工作在 t c p上 其他協議都不行 並且需要應用程式支援 當應用程式啟動時,使能乙個插口排錯選項 大多數伯克利演變的實現都支援這個特徵,包括s u nos 4.4bsd和svr4。程式使能了...