tcp协议缓冲区溢出_【Socket 网络通信】TCP/IP 简介1
網絡應用分為客戶端(Client)和服務端(Server)例如我們常用的瀏覽器,就屬于客戶端,服務于瀏覽器的服務端,我們稱為Web服務器。
上圖是以web為例,客戶端和服務端在以太網中的通信過程,其它類型客戶端和服務端也是一樣的。
上圖是國際標準化組織的計算機通信開放系統(tǒng)互連模型,共七層,以及協(xié)議族中所在的各層的映射關系。
TCP協(xié)議是一個面向連接的協(xié)議,為用戶提供可靠的全雙工字節(jié)流。它關心確認、超時、重傳等細節(jié)。
當TCP向另一端發(fā)送數據時,它要求對端返回一個確認。如果沒有收到確認,它會自動重傳,關等待更長的時間。在數次重傳失敗后,TCP才會關閉連接。
TCP有動態(tài)估算客戶端和服務器往返時間的算法(RTT)以便知道等待一個確認需要多少時間。
TCP在發(fā)送數據時,會給每一條數據加上一個序列號,以便接收端收到消息后,對錯亂的消息進行重排和丟棄重復消息。(注意:互聯網傳輸比較復雜,并不是先發(fā)的消息就會被先接收到)。
TCP還提供流量控制,它總是告訴對端一次能接收多少字節(jié),稱為通告窗口或滑動窗口,確保發(fā)送端數據不會使接收端緩沖區(qū)溢出。這個窗口是動態(tài)變化的,當讀取消息的時候,窗口會變大,收到消息后,窗口變小。當窗口大小為0,會告訴對端,沒有地方接收消息了。
微信號:ITComputerGraph
更多精彩內容,關注公眾號《IT木子李》
總結
以上是生活随笔為你收集整理的tcp协议缓冲区溢出_【Socket 网络通信】TCP/IP 简介1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: su封面插件_建模狂魔的520,和女朋友
- 下一篇: php 多个数组乘积_VLOOKUP参数