2.7 & 2.8 UDP/TCP
——————————————————————————————————————————————
1.用戶數據報協議(UDP)
UDP有8octets,它爲應用程序連接提供端口信息,它是一個連接列表協議,這意味着UDP不建立任何端到端連接管理器來檢查接收到的數據包,端口是UDP提供的最重要的功能,它提供了源端口和目的端口的信息。
1.1目標端口和源端口(source port & destination port)(32bits)
當標識這兩個時,連接到指定端口的應用程序通過UDP連接。
打個比方下圖中兩個APP X&Y將分別連上源端口和目標端口
1.2長度字段包含整個UDP段的長度,UDP段包括UDP報頭和數據。
1.3校驗和字段用於檢測UDP報頭中的位錯誤。
校驗和使用在TCP和IPv4中用於頭文件的相同錯誤檢查算法。如果檢測到錯誤,則丟棄該段,並且不進行錯誤恢復。(在UDP中使用校驗和字段是可選的,當未使用時,該字段被設置爲全零)
2.TCP
TCP報頭的最小長度爲20個八位字節。TCP報頭包含各種數據段流控制功能。(reserved是預留位)
1.校驗和(checksum)(16bits)
校驗和字段用於添加錯誤檢測代碼,以保護TCP報頭不受錯誤影響。
TCP的校驗和計算分爲
1.1.TCP僞標題,包括了IP地址,保留,協議,和TCP長度
1.2.TCP報頭(校驗和字段被重新設置成0)
1.3.TCP數據(也在校驗和的計算範疇)
2.數據偏移(data Offset)(4bits)
這是一個32字節單位的數,當使用附加選項時,可以添加填充以使多倍32位字節單位的TCP報頭長度成爲可能。
3.源端口&目的端口(source & destination ports)(16 bits)
這些端口代號瞭解一下?
4.推送函數(push function)(1bit)
PASH使接收數據段能夠快速地被應用程序使用,這意味着,在接收設備上,將添加和添加有效載荷數據段並進行合併。並且當累積一定量時,然後將其傳送到接收裝置內的應用程序。然後,應用程序可以使用它來服務正在使用的應用程序。然而,當使用推送標誌時,即使在它沒有到達一定數量的地方之前,它被傳遞到立即使用的應用程序。因此,這就是推送標誌如何運作的功能。(就1bit還這麼高端)
5.緊急服務(URG)(1 bit)緊急指針(Urgent Pointer)(16 bits)
當緊急服務開啓時,即爲1時,啓用緊急指針字段,總而言之他們知道將要來臨緊急數據有多少,通過SN+UP:
SN,序列號
UP,緊急指針
通過這兩個數字,緊急數據的最後序列號可以被識別。