看片91_日日综合_成人黄色短视频在线观看_91视频 - v11=Av_国产高潮失禁喷水爽到抽搐视频_天天都色视频

網絡數據在計算機內部的發送和接收處理(網絡數據在計算機內部的發送和接收處理方式)

小編:小丟 更新時間:2022-09-30 04:47

在高級語言中一般會使用類似HttpClient、TcpClient、UdpClient等封裝好的API進行數據的發送和接收,它們的底層都是基于Socket,而Socket又是基于操作系統內核的TCP/IP協議棧,TCP/IP協議處理平常就很難接觸到了,再往下內核和網卡又是怎么交互的呢?

這篇文章就來介紹網絡數據在計算機內部的發送和接收處理過程。

先來看一張示意圖,左側是數據的發送處理,右側是數據的接收處理,下邊會按照步驟進行說明。

網絡數據在計算機內部的發送和接收處理(網絡數據在計算機內部的發送和接收處理方式)

數據發送

1、應用程序從內存讀取要發送的數據。這里的內存是應用程序進程管理的內存,也可稱為用戶空間內存。

2、應用程序通過Socket接口將讀取到的數據發送到內核協議棧進行處理。

3、內核中的TCP/IP協議棧接收到Socket傳遞過來的數據,進行TCP、IP打包,最終以IP數據包的格式寫入到內核空間的一塊緩存中。數據包寫入后會觸發一個軟中斷,通知底層模塊來讀取數據。

4、網卡中的DMA單元讀取這些要發送的數據,然后發送到網卡的數據鏈路層和物理層,最終發送到網絡中進行傳輸。

5、DMA讀取數據完畢后,會向CPU發送一個中斷,觸發清理內核空間中的發送數據緩存,以便下一次發送處理。

數據接收

1、網卡中的DMA從數據鏈路層接收到數據,然后寫入到內核空間的一塊緩存中。

2、緩存寫入完畢后會發送一個CPU中斷,觸發程序讀取緩存,并發送到內核協議棧。

3、內核中的TCP/IP協議棧對接收到的數據進行解包,去掉IP協議頭、TCP協議頭,然后繼續向上傳遞數據。

4、應用程序通過Socket接口讀取數據,這時讀取到的數據就是發送方發出來的數據了。

5、然后應用將這些數據寫入到自己的進程內存中,供進一步使用。

圖中的線條和步驟主要描述了數據的流轉,并沒有提供控制邏輯和尋址邏輯的說明,比如DMA向內存寫數據需要獲取對應的內存地址,以及申請總線通道用來傳輸數據到內存。

主站蜘蛛池模板: 夫妻av | 国产精品久久久久av福利动漫 | 亚洲精品麻豆 | 最新日韩精品 | 91看片在线观看视频 | 日韩精品在线免费观看 | 精品美女在线观看 | 日韩精品一区在线观看 | 搞黄视频在线免费观看 | 日韩三级网 | 日韩精品一二三区 | 色婷婷综合久久久 | 精品欧美一区二区三区久久久 | 久久国产精品视频 | 在线观看日韩视频 | 岛国av免费看| 国产成人精品免费 | 久久久久久免费毛片精品 | 美女又黄又免费的视频 | 99在线观看视频 | 91射区| 久久国产欧美一区二区三区免费 | 色网在线视频 | 免费一二三区 | 久久久久久网站 | 欧美日韩一卡 | 国产精品视频播放 | 美女视频一区 | av网站免费看 | 亚洲国产美女 | 91精品国产欧美一区二区成人 | 免费一级欧美片在线观看网站 | 亚洲精品国产精品久久99热 | 成人一区二区三区 | 91玖玖| 91看片在线观看视频 | 国产在线视频一区 | 九九热视频在线 | 国产高清视频在线观看 | 在线观看av资源 | 91久久久国产精品 |