成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

TCP及socket通信原理-創(chuàng)新互聯(lián)

一、網絡互聯(lián)模型

成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網營銷推廣、網站重做改版、黃驊網站定制設計、自適應品牌網站建設、H5場景定制、成都商城網站開發(fā)、集團公司官網建設、外貿網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為黃驊等各大城市提供網站開發(fā)制作服務。

  因特網在剛面世時,只有同一制造商生產的計算機才能彼此通信,制定網絡互聯(lián)模型的目的就是為異種的計算機互連提供一個共同的基礎和標準框架,并為保持相關標準的一致性和兼容性提供共同的參考。

  互聯(lián)參考模型:

   OSI七層模型(Open System Interconnect):應用層、表示層、會話層、傳輸層、網絡層、數(shù)據(jù)鏈路層、物理層

   DoD四層模型:是OSI七層模型的濃縮版,包括 進程/應用層、主機到主機層、因特網層、網絡接入層

TCP及socket通信原理

  以上兩種模型是層次型的,分層模型的優(yōu)點主要在于:

   ①將網絡通信過程劃分為更小、更簡單的組件,這有助于組件的開發(fā)、設計和故障的排除

   ②定義了模型每層執(zhí)行的功能,從而鼓勵了行業(yè)標準化

   ③讓不同類型的網絡硬件和軟件能夠彼此通信

   ④避免對一層的修改而影響其它層

二、傳輸層協(xié)議

  目前主流的傳輸層協(xié)議有TCP和UDP。SCTP是TCP的改進版,DCCP是一個用來取代UDP的新的非可靠傳輸協(xié)議

  1、UDP(User Data Protocol,用戶數(shù)據(jù)報協(xié)議):一種無連接的協(xié)議,提供面向事務的簡單可靠信息傳送服務,不建立會話,不對數(shù)據(jù)分段,不編號不排序,也就是說,當報文發(fā)送之后,是無法得知其是否安全完整到達的。但正因為UDP協(xié)議的控制選項較少,在數(shù)據(jù)傳輸過程中延遲小、數(shù)據(jù)傳輸效率高,適合對可靠性要求不高的應用程序,或者可以保障可靠性的應用程序

   常用的UDP端口號有:DNS 53,TFTP 69,SNMP 161

  2、TCP(Transmission Control Protocol,傳輸控制協(xié)議):一種面向連接的、可靠、基于字節(jié)流的傳輸層通信協(xié)議。

   TCP實現(xiàn)可靠性的機制:

    ①以通信雙方之間建立連接

    ②TCP把數(shù)據(jù)流分割為適當長度的報文段(通常受該計算機連接的網絡的數(shù)據(jù)鏈路層的大傳輸單元(MTU)的限制)。

    ③TCP為了保證不發(fā)生丟包,就給每個報文段一個序號,同時序號也保證了接收端的按序接收。TCP報文段的到達也可能會失序,如有必要,TCP將對收到的報文段進行重新排序,將收到的數(shù)據(jù)以正確的順序交給應用層

    ④接收端對已成功收到的包發(fā)回一個相應的確認(ACK);如果發(fā)送端在合理的往返時延(RTT)內未收到確認,那么對應的數(shù)據(jù)包就被假設為已丟失將會被進行重傳

    ⑤TCP用校驗和函數(shù)來檢驗報文段是否有錯誤,在發(fā)送和接收時都要計算校驗和,接收端若發(fā)現(xiàn)校驗和有差錯,將丟棄這個報文段和不確認收到此報文段。

    ⑥TCP還能提供流量控制:緩沖區(qū)(發(fā)送緩沖區(qū)、接收緩沖區(qū))滑動窗口

    ⑦在擁塞控制上,采用慢啟動擁塞避免算法

TCP及socket通信原理

   ▲TCP在正式傳輸數(shù)據(jù)前需要經過三次握手建立連接,其過程如下:

     ①客戶端發(fā)送SYN(SEQ=x)報文給服務器端,進入SYN_SEND狀態(tài)。

     ②服務器端收到SYN報文,回應一個SYN(SEQ=y)ACK(ACK=x+1)報文,進入SYN_RECV狀態(tài)。

     ③客戶端收到服務器端的SYN報文,回應一個ACK(ACK=y+1)報文,進入Established狀態(tài)。

   ▲在數(shù)據(jù)傳輸完畢后需要經過四次握手終止連接,其過程如下:

     ①某個應用進程首先調用close(),稱該端執(zhí)行“主動關閉”(active close)。該端的TCP于是發(fā)送一個FIN分節(jié)(文件結束符),表示數(shù)據(jù)發(fā)送完畢。

     ②接收到這個FIN的對端執(zhí)行 “被動關閉”(passive close),這個FIN由TCP確認。

     注意:FIN的接收也作為一個文件結束符(end-of-file)傳遞給接收端應用進程,放在已排隊等候該應用進程接收的任何其他數(shù)據(jù)之后,因為,F(xiàn)IN的接收意味著接收端應用進程在相應連接上再無額外數(shù)據(jù)可接收。

     ③一段時間后,接收到這個文件結束符的應用進程將調用close關閉它的套接字,這導致它的TCP也發(fā)送一個FIN。

     ④接收這個最終FIN的原發(fā)送端TCP(即執(zhí)行主動關閉的那一端)確認這個FIN。

   ▲TCP協(xié)議通過tcp狀態(tài)來標記當前處于通信過程的哪個階段:

     CLOSED, LISTEN, SYN_SENT(主動打開), SYN_RECV, ESTABLISHED, FIN_WAIT1, CLOSE_WAIT, FIN_WAIT2, LAST_ACK, TIME_WAIT, CLOSED

三、套接字

 1、套接字(socket):應用層通過傳輸層進行數(shù)據(jù)通信時,TCP和UDP會遇到同時會多個應用程序進程提供并發(fā)服務的問題。區(qū)分不同的應用程序進程間的網絡通信和連接,主要有三個參數(shù):通信的目標IP地址、使用的傳輸層協(xié)議(TCP或UDP)、目標端口號,這種組合稱為套接字。

    session:ip:port<==>ip:port

    端口分類

     眾所周知的端口:0~1023,管理員才有權限使用,永久地分配給某應用使用;

     注冊端口:1024~41951:只有一部分被注冊,分配原則上非特別嚴格;

     動態(tài)端口或私有端口:41952+

      /proc/sys/net/ipv4/ip_local_port_range:定義兩個數(shù)字,表示可以做為臨時端口的起始數(shù)字和結束數(shù)字

 2、套接字類型:

   tcp socket(流式)

   udp socket(數(shù)據(jù)報式)

   raw socket(不使用TCP或UDP協(xié)議,應用層的應用程序直接通達IP層)

 3、socket通信在domain中實現(xiàn),不同domain的socket地址格式不同,在unix domain中是一個文件路徑名,在ipv4 domain中是ipv4地址加端口號,在ipv6 domain中是ipv6地址加端口號

   domain:

     Unix domain:基于socket機制實現(xiàn)同一主機不同進程間通信的一種方式;AF_UNIX,AF_LOCAL

     IPv4 domain:AF_INET,基于socket機制借助于ipv4協(xié)議實現(xiàn)不同主機(也可是同一主機)上的進程間的通信

     IPv6 domain:AF_INET6

  ▲雖然IPv4 domain能實現(xiàn)不同或同一主機進程間通信,但是對于同一主機進程間的通信應盡量使用Unix domain,socket在Unix domain中實現(xiàn)通信的方式就是在內存中創(chuàng)建一個可讀寫的文件作為進程間交互的中介,這種方式繞過了網絡協(xié)議棧,節(jié)省了系統(tǒng)資源,提高了通信效率。

 4、tcp socket通信相關的系統(tǒng)調用

TCP及socket通信原理

    socket():創(chuàng)建一個新的socket

    bind():綁定于一個套接字地址上(服務器端會用到)

    listen():監(jiān)聽套接字

    accept():接收連接請求

    connect():發(fā)起連接請求

    close():關閉連接

    read()和write():recv(), send(), recvfrom(), sendto()

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

本文標題:TCP及socket通信原理-創(chuàng)新互聯(lián)
文章URL:http://jinyejixie.com/article12/ccsgdc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制網站、用戶體驗、靜態(tài)網站網站收錄、商城網站網站營銷

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
同德县| 金湖县| 衡南县| 万州区| 灵山县| 北京市| 明光市| 吴川市| 阿坝县| 灵丘县| 泽州县| 铁岭市| 抚顺市| 康保县| 墨江| 麻阳| 清水县| 清远市| 丹江口市| 屯昌县| 兴宁市| 深圳市| 万安县| 东宁县| 禄丰县| 金山区| 苍溪县| 锡林浩特市| 固阳县| 长沙市| 云龙县| 遵化市| 林州市| 喜德县| 江城| 宁城县| 太和县| 竹溪县| 贵州省| 麟游县| 克东县|