TCP/IP是很多的不同的協定組成,實際上是一個協定組,TCP用戶數據報表協定(也稱作TCP傳輸控制協定,Transport Control Protocol。可靠的主機到主機層協定。這裡要先強調一下,傳輸控制協定是OSI網路的第四層的叫法,TCP傳輸控制協定是TCP/IP傳輸的6個基本協定的一種。兩個TCP意思非相同。 )。TCP是一種可靠的面向連線的傳送服務。它在傳送數據時是分段進行的,主機交換數據必須建立一個會話。它用比特流通信,即數據被作為無結構的位元組流。 通過每個TCP傳輸的欄位指定順序號,以獲得可靠性。是在OSI參考模型中的第四層,TCP是使用IP的網間互聯功能而提供可靠的數據傳輸,IP不停的把報文放到 網路上,而TCP是負責確信報文到達。在協同IP的操作中TCP負責:握手過程、報文管理、流量控制、錯誤檢測和處理(控制),可以根據一定的編號順序對非正常順序的報文給予從新排列順序。關於TCP的RFC文檔有RFC793、RFC791、RFC1700。
在TCP會話初期,有所謂的“三握手”:對每次傳送的數據量是怎樣跟蹤進行協商使數據段的傳送和接收同步,根據所接收到的數據量而確定的數據確認數及數據傳送、接收完畢後何時撤消聯繫,並建立虛連線。為了提供可靠的傳送,TCP在發送新的數據之前,以特定的順序將數據包的序號,並需要這些包傳送給目標機之後的確認訊息。TCP總是用來傳送大批量的數據。當應用程式在收到數據後要做出確認時也要用到TCP。由於TCP需要時刻跟蹤,這需要額外開銷,使得TCP的格式有些顯得複雜。
RFC 1994詳細定義了CHAP。
CHAP 用於使用3次握手周期性的驗證對端身份。在鏈路建立初始化時這樣做,也可以在鏈路建立後任何時間重複驗證。
在鏈路建立完成後,驗證者向對端傳送一個“challenge”信息。
對端使用一個“one-way-hash”函式計算出的值回響這個信息。
驗證者使用自己計算的hash值校驗回響值。如果兩個值匹配,則驗證是承認得,否則連線應該終止。
在隨機時間,驗證端傳送一個“challenge”給對端,重複1到3步。
TCP採用三次握手協定建立連線的過程
TCP連線的建立採用三次握手協定。三次握手的具體過程是:第一方向另一方傳送連線請求段,另一方回應對連線請求的確認段,第一方再傳送對對方確認段的確認。過程如圖。圖中SYN為請求建立連線的標誌,三次握手的過程如下:
在T1時刻,A向B傳送請求建立連線段序列號為X。
在T2時刻,B傳送應答A的X序列號的請求建立連線的段,該應答段的序列號為Y。
在T3時刻,A傳送對B的應答段的應答,應答號為Y+1,表明應答號為Y+1的段已接收。
至此,連線建立成功。