運輸層-TCP
簡介
通俗點來說,運輸層是連接底層和用戶層的,運輸層向它上面的應用層提供通信服務,它屬于通信部分的最高層,同時也是用戶功能的最低層。
運輸層重要功能是復用和分用。復用:發送方不同應用進程可以使用同一種運輸層協議。分用:接收方根據報文首部送到再送到相應的應用進程。
兩種重要的協議:TCP:提供面向連接的服務 。UDP:傳送數據前不需要先建立連接。下面主要說一下TCP連接。
上圖表示應用層部分協議用到的運輸層協議。
TCP
開始準備
TCP協議重要的部分就是先要建立連接,TCP連接IP層和應用層的樞紐就是套接字。套接字=={IP地址:端口號}
建立連接直接或者通信都需要用到TCP報文,所以先來了解一下報頭:
每行有32位即4個字節,固定首部為5行即20字節。
連接-三次握手
可靠傳輸原理
無差錯情況:正常的傳輸情況每一個請求對應一個確認。
超時重傳:一個請求在一定時間內沒有得到確認就重新發送。
確認丟失:確認報文丟失的情況下,這時候請求方沒有收到確認就再發送請求,接收方丟棄重復的請求。
確認遲到:請求方遲遲沒有收到確認,超時情況下再發送請求,這個確認很快收到了,過會以前的遲到(超時的)確認包過來了,請求方收到這個包什么也不會做。