原创 網絡數據包收發流程(四):協議棧之packet_type

進入函數netif_receive_skb()後,skb正式開始協議棧之旅。 先上圖,協議棧大致過程如下所示: 跟OSI七層模型不同,linux根據包結構對網絡進行分層。 比如,arp頭和ip頭都是緊跟在以太網頭後面的,所以在linux協

原创 MySQL主從配置的一些總結

一、做了MySQL主從也有一段時間了,這兩天檢查磁盤空間情況,發現放數據庫的分區磁盤激增了40多G,一路查看下來,發現配置好主從複製以來到現在的binlog就有40多G,原來根源出在這裏,查看了一下my.cnf,看到binlog的 size

原创 網絡數據包收發流程(三):e1000網卡和DMA

一、硬件佈局 每個網卡(MAC)都有自己的專用DMA Engine,如上圖的 TSEC 和 e1000 網卡intel82546。 上圖中的紅色線就是以太網數據流,DMA與DDR打交道需要其他模塊的協助,如TSEC,PCI control

原创 網絡數據包收發流程(一):從驅動到協議棧

一、硬件環境 intel82546:PHY與MAC集成在一起的PCI網卡芯片,很強大 bcm5461:   PHY芯片,與之對應的MAC是TSEC TSEC:      Three Speed Ethernet Controller

原创 網絡數據包收發流程(二):不配置NAPI的情況

上一篇講的是內核配置成NAPI的情況,那也是絕大多數內核使用的配置 現在講講內核不配置成NAPI時的情況 一、no NAPI 數據結構 不配置NAPI的時候,網絡設備不使用自己的napi_struct結構, 所有網絡設備驅動都使用同一個

原创 netif_receive_skb 函數解析

int netif_receive_skb(struct sk_buff *skb) {    //略去一些代碼     rcu_read_lock();     //第一步:先處理 ptype_all 上所有的 packet_type->

原创 我的友情鏈接

51CTO博客開發李雲李晨光原創技術博客Jack zhai雪源梅香技術成就夢想

原创 MySQL主從配置的一些總結

一、做了MySQL主從也有一段時間了,這兩天檢查磁盤空間情況,發現放數據庫的分區磁盤激增了40多G,一路查看下來,發現配置好主從複製以來到現在的binlog就有40多G,原來根源出在這裏,查看了一下my.cnf,看到binlog的 size

原创 網絡數據包收發流程(四):協議棧之packet_type

進入函數netif_receive_skb()後,skb正式開始協議棧之旅。 先上圖,協議棧大致過程如下所示: 跟OSI七層模型不同,linux根據包結構對網絡進行分層。 比如,arp頭和ip頭都是緊跟在以太網頭後面的,所以在linux協

原创 網絡數據包收發流程(一):從驅動到協議棧

一、硬件環境 intel82546:PHY與MAC集成在一起的PCI網卡芯片,很強大 bcm5461:   PHY芯片,與之對應的MAC是TSEC TSEC:      Three Speed Ethernet Controller

原创 我的友情鏈接

51CTO博客開發李雲李晨光原創技術博客Jack zhai雪源梅香技術成就夢想

原创 內存屏障(Memory Barriers)

 參考wikipedia的定義:       Memory barrier, also known as membar or memory fence or fence instruction, is a type of barrier a

原创 關於socket的一些函數

net/socket.c int sock_register(const struct net_proto_family *ops); net/ipv4/af_inet.c /* Upon startup we insert all th

原创 網絡數據包收發流程(三):e1000網卡和DMA

一、硬件佈局 每個網卡(MAC)都有自己的專用DMA Engine,如上圖的 TSEC 和 e1000 網卡intel82546。 上圖中的紅色線就是以太網數據流,DMA與DDR打交道需要其他模塊的協助,如TSEC,PCI control

原创 網絡數據包收發流程(二):不配置NAPI的情況

上一篇講的是內核配置成NAPI的情況,那也是絕大多數內核使用的配置 現在講講內核不配置成NAPI時的情況 一、no NAPI 數據結構 不配置NAPI的時候,網絡設備不使用自己的napi_struct結構, 所有網絡設備驅動都使用同一個