代码编织梦想

深入理解 netfilter 和 iptables_netfilter iptables实现-爱代码爱编程

Netfilter (配合 iptables)使得用户空间应用程序可以注册内核网络栈在处理数据包时应用的处理规则,实现高效的网络转发和过滤。很多常见的主机防火墙程序以及 Kubernetes 的 Service 转发都是通过 iptables 来实现的。 关于 netfilter 的介绍文章大部分只描述了抽象的概念,实际上其内核代码的基本实现不算复杂,本

趣谈网络协议栈,以太网基础mac和phy_mdc mdio i2c-爱代码爱编程

网卡(Network Interface Card,简称NIC),也称网络适配器,是电脑与局域网相互连接的设备。无论是普通电脑还是高端服务器,只要连接到局域网,就都需要安装一块网卡。如果有必要,一台电脑也可以同时安装两块或多块网卡。 电脑之间在进行相互通讯时,数据不是以流而是以帧的方式进行传输的。我们可以把帧看做是一种数据包,在数据包中不仅包含有

linux 内核默认 arp 和网络设备arp表项配置_linux系统 默认是开启 arp代理的吗-爱代码爱编程

anycast_delay 对 IPv6 相邻请求信息的回复的最大延迟时间;目前还不支持 anycast。缺省值为1秒。 app_solicit 这是在使用多路广播探测(multicast prob

计算机网络的166个核心概念,你知道吗?-爱代码爱编程

上回我整理了一下计算机网络中所有的关键概念,很多小伙伴觉得很有帮助,但是有一个需要优化的点就是这些概念不知道出自哪里,所以理解起来像是在云里穿梭,一会儿在聊应用层的概念,一会儿又跑到网络层协议了。针对这种情况,我重新根据不同的章节来进行整理和汇总,这篇文章理解起来,应该会舒服很多了。 计算机网络基础概念 主机:计算机网络上任何一种能够连接网络的

抓包分析 tcp 握手和挥手-爱代码爱编程

前言 首先需要明确的是 TCP 是一个可靠传输协议,它的所有特点最终都是为了这个可靠传输服务。在网上看到过很多文章讲 TCP 连接的三次握手和断开连接的四次挥手,但是都太过于理论,看完感觉总是似懂非懂。反复思考过后,觉得我自己还是偏工程型的人,要学习这些理论性的知识,最好的方式还是要通过实际案例来理解,这样才会具象深刻。本文通过 Wireshark 抓包

为什么要学习linux内核,如何学习?_为什么要学linux内核-爱代码爱编程

1.为什么要学习 Linux 内核 大多数程序员可能一辈子都没有机会从事 Linux 内核开发,也可能不会去从事 Linux 驱动开发的工作,那么为什么我们仍然需要学习 Linux 内核?Linux 的源码和架构都是开放的,我们可以从中学到很多操作系统的概念和实现原理,Linux 的设计哲学体系继承自 UNIX,现在整个设计体系已经相当稳定,化繁为简,这

对于epoll实现原理的理解_epoll recv 一直被触发-爱代码爱编程

Epoll是Linux IO的多路复用的机制,是select/poll的增强版本,在Linux内核fs/eventpoll.c中可以查看epoll的具体的实现。 一、epoll数据结构   学习任何组件,首先得知道它有什么数据结构或者数据类型,epoll主要有两个结构体:eventpoll和epitem。epitem是每一个IO对应的事件,比如EPOL

sctp协议源码分析-爱代码爱编程

继续看看path&assoc的断开和恢复管理。          二.    Manage transport andassociation 偶联的多归属管理主要针对transport,但多个transport/path的断开必然会倒致association也断开。所以追踪path的更新、断开和恢复,也离不开assoc的断开和恢复管

dpdk /网络协议栈怎么学?_linux高级开发的博客-爱代码爱编程

偶然在c++后台开发行业中 发现一个新风口:DPDK开发 什么是风口,就是知道的少,但是又有市场需求,DPDK就是这样,四个字:小众多金 数据统计:搜索全国 dpdk岗位招聘,大概在350条,其中薪资平均是15K-30k   dpdk开发到底是什么? 大众一点来说就是相当于网络虚拟化 概述: Intel® DPDK全称Intel Data P

frr-爱代码爱编程

Cross-Compiling FRR is capable of being cross-compiled to a number of different architectures. With an adequat

lwip tcp_tmr()代码解析_四眼石头哥的博客-爱代码爱编程

1、tcp_fast_tmr() tcp_timer_ctr在fast-tmr和slow_tmr都会被计数,当实时计数与存储计数不一致时,才会进入函数处理,用来确保该pcb不会在fast-tmr和slow_tmr同时被处理。 fast-tmr只处理tcp_active_pcbs,首先发送延时ACK(500ms);发送FIN报文。 检查该PCB是否有投

-爱代码爱编程

用户/内核空间虚拟化 NFV和Middlebox的不同数据平面模型,具有不同的虚拟交换机选项、虚拟设备接口和虚拟化框架:(a)基于内核的vSwitch + virtio-user/vhost-net和TUN/TAP + V

ipsec配置工具ip xfrm-爱代码爱编程

IP命令支持IPSec配置,子命令为ip xfrm。命令内容如下: IP-XFRM(8) Linux IP-XFRM(8) NAME ip-xfrm - transform configuration SYNO

lwip的网络接口-爱代码爱编程

LWIP网络接口管理 网络接口层对应实际的网卡,LWIP支持多网口设计,LWIP中使用netif来描述每种网络接口的特性。用链表netif_list来管理众多的网卡,当上层有数据要发送的时候LWIP会从netif_list

lwip数据包-爱代码爱编程

数据包 数据包结构体pbuf 数据包管理机制中采用机构体pbuf来描述协议栈中使用的数据包,这个结构同bsd中的mbuf结构很类似。 //pbuf.h /** Main packet buffer struct */

lwip的内存池-爱代码爱编程

内存池(POOL) LWIP内核在初始化的时候已经为每个数据结构类型都初始化了一定数量的POOL,文件memp.c和memp.h就是内存池相关内容。 LWIP内核建立多少内存池依赖于用户系统配置,假如宏定义LWIP_UDP为1,那么编译时与UDP控制块数据结构相关的内存池就会建立(MEMP_UDP_PCB),每种类型的POOL大小都是固定的。

一个奇葩的网络问题,把技术砖家“搞蒙了“-爱代码爱编程

问题现象 客户反馈有一个server端S, 两个client端C1, C2, S的iptables规则对C1, C2都是放通的,但是C2无法连接上S,客户很着急,催我们尽快解决。 这里解释一下,iptables规则是防火墙规则,是linux系统实现防火墙一个应用层配置工具,底层依赖是Linux内核网络子系统的netfiler框架。这里简单介绍一下问题的

linux操作系统原理—内核网络协议栈-爱代码爱编程

前言 本文主要记录 Linux 内核网络协议栈的运行原理 数据报文的封装与分用  封装:当应用程序用 TCP 协议传送数据时,数据首先进入内核网络协议栈中,然后逐一通过 TCP/IP 协议族的每层直到被当作一串比特流送入网络。对于每一层而言,对收到的数据都会封装相应的协议首部信息(有时还会增加尾部信息)。TCP 协议传给 IP 协议的数据单元称作

关于linux网络,必须知道这些-爱代码爱编程

同 CPU、内存以及 I/O 一样,网络也是 Linux 系统最核心的功能。网络是一种把不同计算 机或网络设备连接到一起的技术,它本质上是一种进程间通信方式,特别是跨系统的进程 间通信,必须要通过网络才能进行。随着高并发、分布式、云计算、微服务等技术的普 及,网络的性能也变得越来越重要。 那么,Linux 网络又是怎么工作的呢?又有哪些指标衡量网络的性能

datenlord前沿技术分享 no.18-爱代码爱编程

  达坦科技专注于打造新一代开源跨云存储平台DatenLord,致力于解决多云架构、多数据中心场景下异构存储、数据统一管理需求等问题,以满足不同行业客户对海量数据跨云、跨数据中心高性能访问的需求。高性能RDMA网络协议栈是RDMA高性能网络的核心组成部分之一,它提供了支持RDMA技术的网络协议和驱动程序。在本周的前沿科技分享中,我们邀请到了湖南大学信