自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

redwingz的博客

Linux内核网络、虚拟化

  • 博客(10)
  • 资源 (5)
  • 论坛 (1)
  • 收藏
  • 关注

原创 网桥fdb与物理接口状态变化

Linux网桥代码中并没有检测物理接口up/down变化的代码,所以在接口down掉后,并不能马上清除与此接口关联的MAC转发表项(可通过brctl showmacs命令查看)。内核中有两种方式处理这些表项。超时处理这些残留的表项会通过fdb的超时处理清除。默认超时时间为300秒,可通过命令brctl setageing修改。static inline int has_expired(const ...

2018-04-28 17:43:36 592

原创 sock结构体中的出口路由缓存

基于节省路由查找时间的考虑,内核在sock结构体成员sk_dst_cache中缓存了出口路由表项。DATAGRAM出口路由在UDP发包函数中,如果路由缓存rt为空,并且此sock状态为TCP_ESTABLISHED,更新出口路由缓存(sk_dst_set)。TCP_ESTABLISHED为借用了TCP的状态,表明此UDP套接口使用了connect系统调用,建立了一个类似TCP的端到端连接,此时,缓...

2018-04-25 12:01:35 458

原创 sock结构体中的入口路由缓存

在sock结构体成员sk_rx_dst中缓存入口路由,目的主要用于early_demux功能,执行一次查找即可找到数据包所属的sock和缓存的路由。入口路由缓存之TCPa)作为服务端,三次握手完成时,在函数tcp_v4_syn_recv_sock中创建子sock时赋值;b)作为客户端在函数tcp_finish_connect;c)在函数tcp_rcv_established中sock处于estab...

2018-04-24 16:44:32 386

原创 WEB PORTAL认证流程

认证涉及的4个实体1)client 上网用户2)接入控制器NAC 控制用户接入3)Web Portal服务器 用户上网门户4)Radius服务器 用户身份验证 比如无线情况下,client为一台手机,NAC为WLAN控制器(AC)。另外AP(Access Point)主要完成二层L2认证,诸如WPA,WPA2等,本文不涉及。Web Portal认证是在L2认证完成以后,用户已经获得IP地址后开始的...

2018-04-24 10:51:33 11292

原创 TCP的request_sock与sock

request_sockTCP服务端在接收到SYN报文时,调用conn_request回调处理,最终调用了tcp_conn_request函数,其分配一个request_sock(tcp_request_sock)结构体。request_sock之后用于TCP的三次握手,与正常的sock结构相比,request_sock仅包含一个相同的sock_common结构:struct request_so...

2018-04-13 18:32:44 1323

原创 数据包的提前分流early_demux

early_demux用于提前查找skb数据包的监听sock和输入路由dst,提前分流。由于其调用位于正常的路由和sock查找之前,称为early_demux,内核中两个回调函数分别为:tcp_v4_early_demux和udp_v4_early_demux:net/ipv4/ip_input.cstatic int ip_rcv_finish(struct net *net, struct ...

2018-04-12 16:33:22 992

原创 网络设备的两个结构体net_device和in_device

网络设备初始化函数alloc_netdev_mqs分配一个网络设备结构体net_device,in_device结构体由inetdev_init分配和初始化。struct net_device *alloc_netdev_mqs(...){ struct net_device *p; p = kzalloc(alloc_size, GFP_KERNEL | __GFP_NOWARN |...

2018-04-11 16:26:24 1432

原创 绑定非本机地址与透明代理

内核代码内核中对绑定非本地地址的相关判断代码,位于net/ipv4/af_inet.c中:int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len){ chk_addr_ret = inet_addr_type(net, addr->sin_addr.s_addr); if (!net-&g...

2018-04-10 13:21:25 1439

原创 用户USER_HZ与内核HZ的值

定义内核文件include/asm-generic/param.h定义了两者的值:# undef HZ# define HZ CONFIG_HZ /* Internal kernel timer frequency */# define USER_HZ 100 /* some user interfaces are */# define CLOCKS_PER_SEC...

2018-04-09 13:50:18 1911

原创 svn-bugzilla-codestriker安装与配置

安装环境cm@cm:~$ cat /etc/issueUbuntu 15.10 \n \l本机地址:192.168.1.140svn dir: /home/svn/codessvnroot:  svn://192.168.1.140/codes  bugzilla版本:    4.4.12codestriker版本: 1.9.10SVN安装配置安装subversion,创建myrepo代码库:ap...

2018-04-04 16:53:08 674

WEB Portal 认证完整的交互报文

web认证交互报文,包括WLAN controller与portal server的认证与注销,AC与radius 服务器的认证报文。

2018-04-24

IKEv2-camellia.pcap

IKEv2协议使用camellia加密算法的协商报文,交互流程。

2019-10-28

IKEv2-rw-cert2.pcap

strongswan使用linux内核的af_alg加密接口配置,IKEv2协议交互报文。

2019-10-28

libssh2-1.8.0 and ssh2_batch example

ssh2_batch可执行程序,用于非交互式的ssh命令执行。源代码和libssh2

2018-06-13

botan-ed25519.pcap

IKEv2协议交互报文,认证方式选用Ed25519算法的证书方式。

2019-10-28

redwingz的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除