計算機網路傳輸層
-
可靠資料傳輸
:確保資料能夠從程式的一端準確無誤的傳遞給應用程式的另一端。 -
容忍丟失的應用
:應用程式在傳送資料的過程中可能會存在資料丟失的情況。 -
非持續連線
:每個請求/響應會對經過不同的連線,每一個連線都會經過建立、保持、銷燬這個過程。並且每個請求/響應後都會斷開連線。 -
持續連線
:每個請求/響應都會經過相同的連線,也就是說每個請求/響應都可以複用這個連線,並且在每個請求/響應後不會斷開連線。 -
傳輸控制協議
:英文名 TCP,通過名稱可以大致知道 TCP 協議有控制傳輸的功能,主要體現在其可控,可靠性。TCP 為應用層提供了一種可靠的、面向連線的服務,它能夠將分組可靠的傳輸到其他主機。 -
使用者資料包協議
-
三次握手
:TCP 連線的建立需要經過三個報文段的傳送,這種連線的建立過程被稱為三次握手。 -
最大報文段長度
:即 MSS,它指的是從快取中取出並放入報文段中的最大值。 -
最大傳輸單元
:即 MTU,它指的是通訊雙方能夠接收有效載荷的大小,MSS 通常會根據 MTU 來設。 -
冗餘 ACK
:就是再次確認某個報文段的 ACK,報文段的丟失會導致冗餘 ACK 的出現。 -
快速重傳
:即在報文段定時器過期之前重傳丟失的報文段。 -
選擇確認
:在報文段出現丟失的情況下,TCP 能夠選擇確認失序的報文段,這個機制通常和重傳一起使用。 -
擁塞控制
:擁塞控制說的是,當某一段時間網路中的分組過多,使得接收端來不及處理,從而引起部分甚至整個網路效能下降的現象時採取的一種抑制傳送端傳送資料,等過一段時間或者網路情況改善後再繼續傳送報文段的一種方法。 -
四次揮手
:TCP 斷開連結需要經過四個報文段的傳送,這種斷開過程是四次揮手。 -
傳送快取
:英文 send buffer,在傳送報文時,TCP 不會立刻將報文傳送出去,而是儲存到核心的傳送緩衝區中,等待合適的時機再發送。 -
接收快取
:英文 receive buffer,同樣在接收報文時,主機不會立刻對報文進行處理,而是儲存到核心的接收緩衝區中,等待合適的時機再進行處理。 -
SYN
:Synchronize Sequence Numbers,是 TCP/IP 建立連線時傳送的資料包,這個資料包就是一個同步序列號,標識客戶端傳送的是哪個請求。 -
ACK
:Acknowledge character,ACK 是對請求進行響應的資料包。 -
FIN
:Finish ,帶有 FIN 標誌位的資料包表示客戶端希望斷開連線。 -
三次握手中的狀態變化
-
LISTEN
: 表示等待任何來自遠端 TCP 和埠的連線請求。 -
SYN-SEND
: 表示傳送連線請求後等待匹配的連線請求。 -
SYN-RECEIVED
: 表示已接收併發送連線請求後等待連線確認,也就是 TCP 三次握手中第二步後服務端的狀態 -
ESTABLISHED
: 表示已經連線已經建立,可以將應用資料傳送給其他主機
四次揮手中的狀態變化
-
FIN-WAIT-1
: 表示等待來自遠端 TCP 的連線終止請求,或者等待先前傳送的連線終止請求的確認。 -
FIN-WAIT-2
: 表示等待來自遠端 TCP 的連線終止請求。 -
CLOSE-WAIT
: 表示等待本地使用者的連線終止請求。 -
CLOSING
: 表示等待來自遠端 TCP 的連線終止請求確認。 -
LAST-ACK
: 表示等待先前傳送給遠端 TCP 的連線終止請求的確認(包括對它的連線終止請求的確認)。 -
TIME-WAIT
: 表示等待足夠的時間以確保遠端 TCP 收到其連線終止請求的確認。 -
CLOSED
: 表示連線已經關閉,無連線狀態。
滑動視窗
:英文 sliding window,它是一種流量控制技術,在網際網路早期,通訊雙方通常不會考慮網路情況,一般都會直接進行通訊,同時傳送資料,很容易導致阻塞,誰也發不了資料,針對這種現象,提出了滑動視窗,通過滑動視窗,接收方會告訴傳送方自己能夠接收多少資料。
視窗長度
:視窗長度指的是已傳送但還未確認的分組範圍,如下圖中的傳送視窗結構就是視窗長度。
累積確認
:TCP 規定在一段時間內傳送方只要收到最後一條接收方返回的確認 ACK ,而不用重傳報文段。
冗餘ACK
:由於 TCP 採用的是累計確認機制,即當接收端收到比期望序號大的報文段時,便會重複傳送最近一次確認的報文段的確認訊號,我們稱之為冗餘 ACK。
選擇確認
:可選擇性的確認失序報文段,而不是重傳最後一個報文段。