速讀原著-TCP/IP(UDP示例)
- 2020 年 3 月 9 日
- 筆記
第11章 UDP:用戶數據報協議
11.4 一個簡單的例子
用我們自己編寫的s o c k程式生成一些可以通過t c p d u m p觀察的U D P數據報:

第1次執行這個程式時,我們指定 v e r b o s e模式(- v)來觀察e p h e m e r a l埠號,指定U D P(- u)而不是默認的 T C P,並且指定源模式( – i)來發送數據,而不是讀寫標準的輸入和輸出。- n 4選項指明輸出4份數據報(默認條件下為 1 0 2 4),目的主機為s v r 4。在1 . 1 2節描述了丟棄服務。每次寫操作的輸出長度取默認值 1 0 2 4。 第2次運行該程式時我們指定 – w 0,意思是寫長度為 0的數據報。兩個命令的 t c p d u m p輸出結果如圖11 – 6所示。

輸出顯示有四份1 0 2 4位元組的數據報,接著有四份長度為 0的數據報。每份數據報間隔幾毫秒(輸入第2個命令花了4 1秒的時間)。
在發送第1份數據報之前,發送端和接收端之間沒有任何通訊(在第 1 7章,我們將看到T C P在發送數據的第 1個位元組之前必須與另一端建立連接)。另外,當收到數據時,接收端沒有任何確認。在這個例子中,發送端並不知道另一端是否已經收到這些數據報。
最後要指出的是,每次運行程式時,源端的 U D P埠號都發生變化。第一次是 11 0 8,然後是11 0。在1 . 9節我們已經提過,客戶程式使用 e p h e m e r a l埠號一般在1 0 2 4~5 0 0 0之間,正如我們現在看到的這樣。