在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux下網絡編程

嵌入式技術 ? 來源:嵌入式技術 ? 作者:嵌入式技術 ? 2022-08-26 20:53 ? 次閱讀

Linux下網絡編程

1.TCP/IP簡介

TCP/IP協議源于1969年,是針對Internet開發的一種體系結構和協議標準,目的在于解決異種計算機網絡的通信問題。使得網絡在互聯時能為用戶提供一種通用、一致的通信服務。是Internet采用的協議標準。

TCP/IP是一組通信協議的代名詞,是由一系列協議組成的協議簇。它本身指兩個協議集:

TCP(傳輸控制協議)。

IP(互聯網絡協議)。

TCP/IP協議的基本傳輸單位是數據包(Datagram)。

TCP/IP傳輸協議,即傳輸控制/網絡協議,也叫作網絡通訊協議。它是在網絡的使用中的最基本的通信協議。TCP/IP傳輸協議對互聯網中各部分進行通信的標準和方法進行了規定。并且,TCP/IP傳輸協議是保證網絡數據信息及時、完整傳輸的兩個重要的協議。TCP/IP傳輸協議是嚴格來說是一個四層的體系結構,應用層、傳輸層、網絡層和數據鏈路層都包含其中。

2.TCP/IP協議分層模型

TCP/IP協議族是一組不同層次上的多個協議的組合。TCP/IP通常被認為是一個四層協議系統。

poYBAGMIwi-AHC0OAABCbjmnYwE238.png#pic_center

應用層(Application Layer)

包含各種網絡應用協議。如HTTP、FTP、telnet、SMTP、DNS、SNMP等。

傳輸層(Transport Layer)

負責在源主機和目的主機的應用程序間建立、管理和拆除可靠而又有效的端到端連接 。主要有TCP和UDP兩個傳輸協議。

網絡互聯層(Internet Layer)

負責將分組獨立地從信源傳送到信宿,主要解決路由選擇、擁塞控制和網絡互聯等問題。如最重要的協議——IP。

網絡接口層(Network Access Layer)

負責將IP分組封裝成適合在物理網絡上傳輸的幀格式并傳輸;或將從物理網絡接收到的幀解封,取出IP分組交給網絡互聯層。當前幾乎所有的物理網絡上都可運行TCP/IP協議。

3.傳輸控制協議TCP

TCP協議, 即傳輸控制協議,是一個可靠的、面向連接的協議。所謂連接,就是兩個對等實體為進行數據通信而進行的一種結合。面向連接服務是在數據交換之前,必須先建立連接。當數據交換結束后,則應終止這個連接。面向連接服務具有:連接建立、數據傳輸和連接釋放這三個階段。在傳送數據時是按序傳送的。

3.1 TCP數據格式

pYYBAGMIwi-AEfrFAAH0QjScnUk951.png#pic_center

3.2 三次握手

pYYBAGMIwi-AUFL5AAA8j0mimhU637.png#pic_center

第一次握手:

建立連接時,客戶端發送syn包(syn=j)到服務器,并進入SYN_SEND狀態,等待服務器確認。

第二次握手:

服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態。

第三次握手:

客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。

為什么握手是三次, 而不是兩次或者四次?

為了保證雙方都具備收發能力,則雙方都需要發送SYN和ACK,兩次握手則只能確一方具備收發能力;三次握手則可剛好可確定雙方都是可以進行收發的。

第一次握手是客戶端發送 SYN, 服務端接收, 服務端得出客戶端的發送能力和服務端的接收能力都正常;

第二次握手是服務端發送 SYN+ACK, 客戶端接收, 客戶端得出客戶端發送接收能力正常, 服務端發送接收能力也都正常, 但是此時服務器并不能確認客戶端的接收能力是否正常;

第三次握手客戶端發送 ACK, 服務器接收, 服務端才能得出客戶端發送接收能力正常,服務端自己發送接收能力也都正常。

3.3 四次揮手

poYBAGMIwjCAMOa5AATbrN2IQR0409.png#pic_center

TCP 一個特別的概念叫作半關閉, 這個概念是說, TCP 的連接是全雙工(可以同時發送和接收) 連接, 因此在關閉連接的時候, 必須關閉發送和接收兩個方向上的連接。

第一次揮手: 客戶端發出釋放 FIN=1, 自 己序列號 seq=u, 進入 FIN-WAIT-1 狀態。

第二次揮手: 服務器收到客戶端的后, 發出 ACK=1 確認標志和客戶端的確認號 ack=u+1,自己的序列號 seq=v, 進入 CLOSE-WAIT 狀態。

第三次揮手: 客戶端收到服務器確認結果后, 進入 FIN-WAIT-2 狀態。 此時服務器發送釋放 FIN=1 信號, 確認標志 ACK=1, 確認序號 ack=u+1, 自 己序號 seq=w, 服務器進入LAST-ACK(最后確認態)。

第四次揮手: 客戶端收到回復后, 發送確認 ACK=1, ack=w+1, 自 己的 seq=u+1, 客戶端進入 TIME-WAIT(時間等待) 。 客戶端經過 2 個最長報文段壽命后, 客戶端 CLOSE;服務器收到確認后, 立刻進入 CLOSE 狀態。

為么需要四次揮手

因為為在斷開連接時,服務器收到客戶端斷開請求時可能此時還沒有完成數據傳輸,所以需要先回復客戶端我收到你的請求了,等將數據傳輸完成后,再通知客戶開端可以斷開連接了,所以服務器需要將應答ack和FIN分兩次發送,因此需要四次揮手。

審核編輯 黃昊宇





聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11465

    瀏覽量

    212840
  • 編程
    +關注

    關注

    88

    文章

    3683

    瀏覽量

    94885
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1397

    瀏覽量

    80418
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Linux開發_采用線程處理網絡請求

    介紹Linux下網絡編程、線程編程,select機制,利用子線程響應TCP服務器的請求。
    的頭像 發表于 09-17 15:21 ?1072次閱讀

    LINUX網絡編程

    linux開發編程教程資料——LINUX網絡編程,感興趣的小伙伴們可以看一看。
    發表于 08-23 16:23 ?0次下載

    Linux下的網絡編程總結

    linux開發編程教程資料——Linux下的網絡編程總結,感興趣的小伙伴們可以看一看。
    發表于 08-23 16:23 ?0次下載

    Linux-socket網絡編程

    linux開發編程教程資料——Linux-socket網絡編程,感興趣的小伙伴們可以看一看。
    發表于 08-23 16:23 ?0次下載

    Linux網絡編程

    linux開發編程教程資料——Linux網絡編程,感興趣的小伙伴們可以看一看。
    發表于 08-23 16:23 ?0次下載

    Linux__C網絡編程

    linux開發編程教程資料——Linux__C網絡編程,感興趣的小伙伴們可以看一看。
    發表于 08-23 16:23 ?0次下載

    linux-網絡編程-socket編程

    linux開發編程教程資料——linux-網絡編程-socket編程,感興趣的小伙伴們可以看一看
    發表于 08-23 16:23 ?0次下載

    Linux網絡編程實例詳解

    網絡通訊教程學習之Linux網絡編程實例詳解
    發表于 09-01 14:55 ?0次下載

    LINUX網絡編程

    網絡通訊教程學習之 LINUX 網絡編程
    發表于 09-01 14:55 ?0次下載

    linux下網卡配置詳解

    linux下網卡配置詳解
    發表于 12-15 22:38 ?0次下載

    Linux網絡編程

    Linux網絡編程
    發表于 10-27 15:31 ?16次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>網絡</b>的<b class='flag-5'>編程</b>

    Linux網絡編程

    linux網絡編程筆記
    發表于 12-04 14:23 ?0次下載

    Linux下網絡怎樣來配置總結

    Linux下網絡配置總結
    發表于 11-07 11:35 ?1030次閱讀

    Linux下網絡編程TCP并發服務器和TCP客戶端程序免費下載

    本文檔的主要內容詳細介紹的是Linux下網絡編程TCP并發服務器和TCP客戶端程序免費下載
    發表于 01-08 15:12 ?9次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>下網絡</b><b class='flag-5'>編程</b>TCP并發服務器和TCP客戶端程序免費下載

    Linux下網絡編程-UDP協議探測在線好友

    UDP協議 相對TCP協議來講屬于不可靠協議,UDP協議是廣播方式發送數據,沒有服務器和客戶端的概念。 在Linux下使用socket創建UDP的套接字時,屬性要選擇數據報類型SOCK_DGRAM。
    的頭像 發表于 08-14 09:23 ?1193次閱讀
    主站蜘蛛池模板: 亚洲欧美圣爱天天综合 | 五月婷激情| 色系视频在线观看免费观看 | 天天爱天天操天天射 | 久久青草精品一区二区三区 | 伊人久久大香线蕉综合高清 | 5x视频在线观看 | 天天操夜夜操免费视频 | 97理论三级九七午夜在线观看 | 乱好看的的激情伦小说 | 在线天堂中文在线网 | 欧美福利片在线观看 | 欧美区在线播放 | 亚洲国产婷婷综合在线精品 | 男人操女人视频在线观看 | 手机看片1024福利 | 日韩理论电影2021第1页 | 免费一级在线观看 | 深夜视频在线免费 | 69japanese日本100 69ww免费视频播放器 | 日本三级成人午夜视频网 | 欧美日韩精品一区二区另类 | 色天使久久综合给合久久97色 | 男人和女人做免费做爽爽视频 | wwwxxxx在线观看| 国产精品资源网站在线观看 | 一本在线免费视频 | 在线中文天堂 | 欧美亚洲另类在线观看 | 午夜网站在线观看 | 国产一区二区影院 | 国产三级精品播放 | 四虎黄色网 | 亚洲色图20p | 六月综合激情 | 免费两性的视频网站 | 自拍中文字幕 | 四虎国产精品永久在线 | 亚洲国产精品国产自在在线 | 丁香六月啪 | 欧美一级三级在线观看 |