logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux tcp被动打开内核源码分析

linux内核tcp被动打开内核源码分析

linux内核路由模块fib_valid_source函数(反向路由检测)

表示对linu内核查路由的的效率表示堪忧。一个经过linux的报文,无论是上送本机,还是转发,都会进行大于等于2次的查路由动作。即执行大于等于2次的fib_lookup。外部包过来,ip_rcv->ip_rcv_finish->ip_route_input->ip_route_input_slowip_route_input_slow判断报文是否转发,还是上送本机即ip_forward

tcp_diag 内核相关实现 以及调用层次

tcp_diag 内核相关实现前言tcp_diag 是一个内核模块,本文的目的是梳理调用关系,如果从用户态的socket一路调用到tcp_diag模块dump出所有socket的。大致分层关系 总结如下:netlink层->sock_diag层->inet_diag层->tcp_diag用户态代码类似 ss 功能的代码可以从 https://man7.org/linux/man-

Linux虚拟化基础之命名空间

Linux 内核使用 task_struct 数据结构来关联所有与进程有关的数据和结构,Linux 内核所有涉及到进程和程序的所有算法都是围绕该数据结构建立的,是内核中最重要的数据结构之一。该数据结构在内核文件 include/linux/sched.h 中定义,在Linux 3.8 的内核中,该数据结构足足有 380 行之多,在这里我不可能逐项去描述其表示的含义,本篇文章只关注该数据结构如何来组

tcp_recvmsg 函数详解

linux内核关于tcp_recvmsg的实现详解

Redis cluster 原理

Redis cluster 原理Redis cluster 设计文档可见:https://redis.io/topics/cluster-spec#configuration-handling-propagation-and-failovers相关资料https://chanjarster.github.io/post/redis-cluster-config-propagation/在当前Red

关于UDP接收icmp端口不可达(port unreachable)

本篇分为3部分1:报文格式2:产生的原因3:linux协议栈如何处理4:应用层如何获取1:报文如下,10.30.13.1往10.30.16.10的80端口发送了一个UDP报文,80端口其实监听的是TCP。服务器回复了一个类型为端口不可达的ICMP,ICMP数据部分就是请求UDP ip层及其以上的数据。2:原因首先原因就是接收udp报文...

TLS/SSL 协议详解 (29) 国密SSL协议

测试服务器:https://47.89.249.43:4433/(测试时,先将本机时间设置为2018年7月之前(我证书过期了),然后使用360国密浏览器访问。360国密浏览器会在TLS握手失败后才会发起GMSSL握手,所以访问较慢。出现访问不了的情况,请清除360国密浏览器所有缓存,重启浏览器后再访问)源码在https://github.com/mrpre/atls上可以获得...

#网络安全
到底了