原创 linux虛擬網絡設備之bridge(橋)

繼前兩篇介紹了tun/tap和veth之後,本篇將介紹Linux下常用的一種虛擬網絡設備,那就是bridge(橋)。 本篇將通過實際的例子來一步一步解釋bridge是如何工作的。 什麼是bridge? 首先,bridge是一個虛擬

原创 linux 上的基礎網絡設備詳解

Linux 抽象網絡設備簡介 和磁盤設備類似,Linux 用戶想要使用網絡功能,不能通過直接操作硬件完成,而需要直接或間接的操作一個 Linux 爲我們抽象出來的設備,既通用的 Linux 網絡設備來完成。一個常見的情況是,系統裏

原创 leetcode算法題--設計鏈表

原題鏈接:https://leetcode-cn.com/problems/design-linked-list/ class MyListNode{ public: int val;

原创 linux虛擬網絡設備之tun/tap

在現在的雲時代,到處都是虛擬機和容器,它們背後的網絡管理都離不開虛擬網絡設備,所以瞭解虛擬網絡設備有利於我們更好的理解雲時代的網絡結構。從本篇開始,將介紹Linux下的虛擬網絡設備。 虛擬設備和物理設備的區別 在linux網絡數據

原创 linux網絡數據包的接收過程

相關文章:linux網絡數據包的接收過程Ⅱ 本文將介紹在Linux系統中,數據包是如何一步一步從網卡傳到進程手中的。 本文只討論以太網的物理網卡,不涉及虛擬設備,並且以一個UDP包的接收過程作爲示例. 本示例裏列出的函數調用關係來

原创 leetcode算法題--分隔鏈表

原題鏈接:https://leetcode-cn.com/problems/split-linked-list-in-parts/ vector<ListNode*> splitListToParts(ListNode* root

原创 linux虛擬網絡設備之veth

有了上一篇關於tun/tap的介紹之後,大家應該對虛擬網絡設備有了一定的瞭解,本篇將接着介紹另一種虛擬網絡設備veth。 veth設備的特點 veth和其它的網絡設備都一樣,一端連接的是內核協議棧。 veth設備是成對出現的,另

原创 linux網絡數據包的發送過程

繼上一篇介紹了數據包的接收過程後,本文將介紹在Linux系統中,數據包是如何一步一步從應用程序到網卡並最終發送出去的。 socket層 +-------------+ |

原创 leetcode算法題--鏈表組件

原題鏈接:https://leetcode-cn.com/problems/linked-list-components/ 線性掃描 int numComponents(ListNode* head, vector<int>& G

原创 leetcode算法題--兩數相加 II

原題鏈接:https://leetcode-cn.com/problems/add-two-numbers-ii/ 棧 ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {

原创 OVS DPDK物理端口配置

netdev數據路徑允許關聯DPDK支持的物理端口,以便爲主機提供高性能的入口/出口流量。 一、快速示例 此示例演示如何綁定兩個dpdk端口到一個已有的網橋br0上,綁定的物理端口由硬件ID標識,分別爲:0000:01:00.0和

原创 OVS DPDK網橋配置

DPDK數據路徑需要特殊配置的網橋才能使用DPDK支持的physical <phy>端口和virtual <vhost-user>端口。 入門示例 此示例演示如何使用爲DPDP數據路徑添加網橋: ovs-vsctl add-br

原创 SED簡明教程

sed全名叫stream editor,流編輯器,用程序的方式來編輯文本,相當的hacker啊。sed基本上就是玩正則模式匹配,所以,玩sed的人,正則表達式一般都比較強。 同樣,本篇文章不會說sed的全部東西,你可以參看sed的

原创 AWK簡明教程

我從netstat命令中提取了如下信息作爲用例: $ cat netstat.txt Proto Recv-Q Send-Q Local-Address Foreign-Address S

原创 OVS原理

OVS原理 OVS架構 ovs的架構如上圖所示,主要由內核datapath和用戶空間的vswitchd、ovsdb組成。 主要模塊職責 datapath是負責數據交換的內核模塊,其從網口讀取數據,並快速匹配Flowtable