傳輸層作用
- 在傳輸數據之前,首先建立連接,協商參數
- 將數據進行分段,符合傳輸介質的限制要求
- 因為數據分段,所以要進行重組
- 提供端口號,根據不同的端口號,將數據發送到相應的應用層協議
- 不同的場合,環境,應用,使用不同的傳輸層協議
TCP
面向連接
- 發送數據之前,首先先找到對方建立一個連接,相當於一個邏輯通道。
- 可靠協議,效率低
- 每收到一次數據,要進行確認,保證對方確定收到了這個數據。
TCP需要三次握手
就好比打電話,需要經過撥號,振鈴,接通。才能進行講話
過程:
A:我要跟你建立連接
B:好的,我知道了,我也要跟你建個連接
A:我知道你收到了我的連接請求,我也收到了你的連接請求
滑動窗口:
主要為了避免一次性發送的數據過多,導致對方緩存溢出。
滑動窗口是動態協商,也就是說,在建立連接的時候,就會進行協商
同時,在緩衝區發生變化的時候,也會進行協商。
TCP四次揮手
主要為了避免當一方斷開連接,而另一方不知道的情況下,需要耗費資源去維護本該斷開的連接
過程:
假設三次連接已經建立完成
A:我要跟你斷開連接了
B:好的,我知道你要斷開連接了
B:我也要跟你斷開連接
A:好的,那就斷開連接把
UDP
不需要建立連接,也不需要進行確認
盡力而為,效率相比TCP要高
比如對講機,拿起來就說,而不管對方有沒有收到,
直播視頻,使用UDP協議
點播視頻,使用TCP協議
TCP/UDP協議都是工作在傳輸層中
在傳輸層,有一個概念,叫做端口號
每一個端口號,對應一種應用層協議,比如端口號80,代表HTTP協議
而應用層協議,規定了使用何種傳輸協議來進行傳輸
比如,你訪問網頁,使用HTTP,端口號為80,那它是使用TCP來進行傳輸的
比如,你進行域名解析,使用DNS,端口號為53,那麼它就是使用UDP協議
三種類型:
知名端口號 0-1023,以及分給特定的協議,不能隨便使用
如果要使用,需要向互聯網編號分配機構申請(IANA)
註冊端口:有限的使用 1024-49511,比如8080,是作為80的補充,已經註冊
私有端口:隨意使用 49512-65535,
正常情況下:源端口為隨機生成,目的端口為知名端口
比如你訪問網頁,源端口由你電腦隨機分配,目的端口是80
TCP分段重組
為何分段:
因為數據傳輸大小受限於傳輸鏈路,或者介質的要求。
當超過限制,TCP就把大的數據拆分成一個個小段
TCP分段,基於MISS,動態協商
一般是1500-40字節(20字節IP頭部,20字節TCP頭部)
因為數據被分段了,那麼在傳輸的過程中,由於鏈路等其他的因素
收到的數據包順序不一致,就會出現錯誤
所以,在分段的時候,對每個段進行編號,當對方收到的時候,按照序號進行排列,
保證數據的準確性。
UDP不會進行分段,UDP分段基於以太網中的MTU
並且UDP不會進行數據重組,而是按照先來後到的順序
版權聲明:
本文轉載自公眾號“it666lmz”,版權歸原作者所有,轉載請保留此字段,感謝!
傳輸層作用
- 在傳輸數據之前,首先建立連接,協商參數
- 將數據進行分段,符合傳輸介質的限制要求
- 因為數據分段,所以要進行重組
- 提供端口號,根據不同的端口號,將數據發送到相應的應用層協議
- 不同的場合,環境,應用,使用不同的傳輸層協議
TCP
面向連接
- 發送數據之前,首先先找到對方建立一個連接,相當於一個邏輯通道。
- 可靠協議,效率低
- 每收到一次數據,要進行確認,保證對方確定收到了這個數據。
TCP需要三次握手
就好比打電話,需要經過撥號,振鈴,接通。才能進行講話
過程:
A:我要跟你建立連接
B:好的,我知道了,我也要跟你建個連接
A:我知道你收到了我的連接請求,我也收到了你的連接請求
滑動窗口:
主要為了避免一次性發送的數據過多,導致對方緩存溢出。
滑動窗口是動態協商,也就是說,在建立連接的時候,就會進行協商
同時,在緩衝區發生變化的時候,也會進行協商。
TCP四次揮手
主要為了避免當一方斷開連接,而另一方不知道的情況下,需要耗費資源去維護本該斷開的連接
過程:
假設三次連接已經建立完成
A:我要跟你斷開連接了
B:好的,我知道你要斷開連接了
B:我也要跟你斷開連接
A:好的,那就斷開連接把
UDP
不需要建立連接,也不需要進行確認
盡力而為,效率相比TCP要高
比如對講機,拿起來就說,而不管對方有沒有收到,
直播視頻,使用UDP協議
點播視頻,使用TCP協議
TCP/UDP協議都是工作在傳輸層中
在傳輸層,有一個概念,叫做端口號
每一個端口號,對應一種應用層協議,比如端口號80,代表HTTP協議
而應用層協議,規定了使用何種傳輸協議來進行傳輸
比如,你訪問網頁,使用HTTP,端口號為80,那它是使用TCP來進行傳輸的
比如,你進行域名解析,使用DNS,端口號為53,那麼它就是使用UDP協議
三種類型:
知名端口號 0-1023,以及分給特定的協議,不能隨便使用
如果要使用,需要向互聯網編號分配機構申請(IANA)
註冊端口:有限的使用 1024-49511,比如8080,是作為80的補充,已經註冊
私有端口:隨意使用 49512-65535,
正常情況下:源端口為隨機生成,目的端口為知名端口
比如你訪問網頁,源端口由你電腦隨機分配,目的端口是80
TCP分段重組
為何分段:
因為數據傳輸大小受限於傳輸鏈路,或者介質的要求。
當超過限制,TCP就把大的數據拆分成一個個小段
TCP分段,基於MISS,動態協商
一般是1500-40字節(20字節IP頭部,20字節TCP頭部)
因為數據被分段了,那麼在傳輸的過程中,由於鏈路等其他的因素
收到的數據包順序不一致,就會出現錯誤
所以,在分段的時候,對每個段進行編號,當對方收到的時候,按照序號進行排列,
保證數據的準確性。
UDP不會進行分段,UDP分段基於以太網中的MTU
並且UDP不會進行數據重組,而是按照先來後到的順序
版權聲明:
本文轉載自公眾號“it666lmz”,版權歸原作者所有,轉載請保留此字段,感謝!