会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
The Classic Tong's Cave
上一页
1
2
3
4
5
6
7
8
9
···
13
下一页
swagger是什么OpenAPI是什么
摘要: wiki: https://en.wikipedia.org/wiki/OpenAPI_Specification 官网: https://swagger.io/specification/
阅读全文
posted @ 2019-06-13 14:16 toong
阅读(835)
评论(0)
推荐(0)
[ipsec][strongswan] strongswan源码分析--(五)plugin的配置文件的添加方法与管理架构解析
摘要: 前言 我们知道,strongswan是基于插件式管理的。不同的插件有不同的配置文件,在这下面, 我们以netlink的插件为例:etc/strongswan.d/charon/kernel-netlink.conf 在这个文件里,提供了不同的针对插件的配置项。接下来我们将讲解,如何开发这些配置项。
阅读全文
posted @ 2019-06-05 18:55 toong
阅读(3223)
评论(0)
推荐(0)
[ipsec][strongswan] strongswan源码分析--(四)plugin加载优先级原理
摘要: 前言 如前所述, 我们知道,strongswan以插件功能来提供各种各样的功能。插件之间彼此相互提供功能,同时也有可能提供重复的功能。 这个时候,便需要一个优先级关系,来保证先后加载顺序。 方法 在配置文件中,有这样一个配置项,配给每一个plugin 它的值,可以是Yes,NO,可以是数字。Yes,
阅读全文
posted @ 2019-06-05 16:03 toong
阅读(2829)
评论(0)
推荐(0)
[networking][sdn] BGP/EGP/IGP是什么
摘要: 引子 整个故事,是从这张图开始的。 整个图,分左中右三块。左边是tom和他所在的网络。右边是jerry和他所在的网络。这两个网络可以在世界上的任何一个角落。彼此有公网出口。 中间部分就是这两个网络之间的内容,的一瞥。如图: 接下来要讲述的就是中间部分。笔者对这一部分完全不懂,所以搜集了一些资料如下文
阅读全文
posted @ 2019-05-27 15:55 toong
阅读(2166)
评论(0)
推荐(0)
[转]贝奥武夫--linux cluster 分布式linux操作系统
摘要: https://en.wikipedia.org/wiki/Beowulf_cluster http://www.mosix.org/
阅读全文
posted @ 2019-05-24 16:42 toong
阅读(382)
评论(0)
推荐(0)
[TCP/IP][distributed] proxy protocol 是什么
摘要: 问题描述: 在Web分布式系统中,一般会搭建复杂的load blance系统来提供高性能的web服务。 load blance有4层网络的,也有7层网络的。再经过这样的分布式网络之后,后面真正提供服务的 程序可能会丧失掉client的网络信息,也就是IP地址以及TCP端口。 解决方法: 为了解决这样
阅读全文
posted @ 2019-05-21 17:52 toong
阅读(2204)
评论(0)
推荐(0)
[dev][ipsec][distributed] strongswan如何做热迁移/高可用/High Availability
摘要: 问题描述: 原生的基于kernel 的 strongswan 如何做高可用,HA,High Availability 问题分析: 基于我们已知的,ipsec,strongswan的知识。问题分解如下: 1. IKE SA的同步,CHILD SA的同步。 2. ESP包是有序列号的,序列号的同步问题。
阅读全文
posted @ 2019-05-20 16:16 toong
阅读(1206)
评论(0)
推荐(1)
分布式一致性算法
摘要: 一致性的介绍: https://draveness.me/consensus https://cloud.tencent.com/developer/article/1015442 https://snarfed.org/transactions_across_datacenters_io.html
阅读全文
posted @ 2019-05-14 19:22 toong
阅读(218)
评论(0)
推荐(0)
[dev][ipsec] 基于路由的VPrivateN
摘要: VPrivateN的配置分两个模式 1. 基于策略的VPrivateN ( policy based) 2. 基于路由的VPrivateN (route based) 以strongswan为例, 在我们正常的使用过程中, 配置方法里,会在配置的时候指定Traffic selecter. 两端的Tr
阅读全文
posted @ 2019-05-08 14:36 toong
阅读(791)
评论(0)
推荐(0)
[dev][ipsec][esp] ipsec链路中断的感知问题
摘要: ipsec如何感知到链路中断了?以下内容讲的是在没有配置DPD,且没有rekey的场 景下。 1. ESP认为,以下两个场景交由应用层来感知,应用层会发现ipsec的连接坏掉了。 a,ESP承载的连接是tcp数据。 b,ESP承载的连接是有双向交互的udp数据。 2. 基于1,现在只剩下只有单向ud
阅读全文
posted @ 2019-05-05 15:06 toong
阅读(1004)
评论(0)
推荐(2)
[dev] Go语言查看doc与生成API doc
摘要: 类似与javadoc,go也可以自动生成doc文档。 方法有两个: 1. 使用go doc工具 可以查看它的详细文档: 示例: 在这个目录下,我创建一个api包 代码是这样的: 可以使用如下命令查看API: 2 使用godoc工具 还有一个工具,叫godoc,需要单独安装 https://godoc
阅读全文
posted @ 2019-04-28 14:59 toong
阅读(2300)
评论(0)
推荐(0)
[daily]gtk程序不跟随系统的dark主题
摘要: 问题描述: 我的系统主题是dark的。在使用mysql-workbench是,里边的一些线条就跟随了系统文字的主要使用了灰白色。 这样在白色画布里就看不见这些线条了。 方法: 设置mysql-workbench使用默认的白色主题,而不是dark主题,恢复黑色线条颜色。 通过设置环境变量,来完成: 可
阅读全文
posted @ 2019-04-24 14:46 toong
阅读(461)
评论(0)
推荐(0)
[dev] Go的协程切换问题
摘要: 子标题:runtime.Gosched() 是干嘛用的? 1. go程序都有一个环境变量,做线程数设置 GOMAXPROCS 2. 当协程数小于等于线程数的时候,程序行为上与多线程没有区别。 3. 当协程数大于线程数的时候,协程有可能会独占线程,导致别的协程没有执行的契机。 这个时候,可以用一个系统
阅读全文
posted @ 2019-04-23 14:52 toong
阅读(641)
评论(0)
推荐(0)
基因程序设计/基因编程/遗传编程
摘要: 在《人类简史》中提到:基因程序设计(genetic programing) 简单的说就是模拟达尔文的进化论,让程序自己进化。 类似的概念包括:遗传算法 https://zh.wikipedia.org/wiki/%E9%81%97%E4%BC%A0%E7%BC%96%E7%A8%8B https:/
阅读全文
posted @ 2019-04-22 15:08 toong
阅读(1107)
评论(0)
推荐(0)
[daily][emacs][go] 配置emacs go-mode的编辑环境以及环境变量问题
摘要: 1. 安装go 安装go-mode 使用emacs编辑go代码的时候,你需要有正常可运行的go环境。 并且有emacs的go-mode package https://www.emacswiki.org/emacs/GoLangMode https://github.com/dominikh/go-
阅读全文
posted @ 2019-04-10 16:58 toong
阅读(899)
评论(0)
推荐(0)
[daily] emacs显示file name buffer的全路径
摘要: 在用emacs看代码的时候,在文件间跳来跳去,如果工程太大的话,很可能会有重名文件,这个时候, 你就不知道自己在什么的地方了。需要一个查看当前正在编辑区的文件的名字的方法。 emacs在这个地方,存储这个名字。是变量 buffer-file-name 从我由low到不low的实践过程,有以下方法可以
阅读全文
posted @ 2019-04-09 19:55 toong
阅读(894)
评论(0)
推荐(0)
[dev] 刷HHKP的一般流程及常见错误(多图慎点)
摘要: ( 为什么打了个dev的tag?development不用键盘,难道用鼠标??) 嗯呐,我有个HHKP,你看: 好不好看? 脏不脏? 接下来讲一下,我是怎么刷它,要看完哝,不然拆坏了不要怪我。 本来我是要买官方拔键器的,但是太贵了,实在不舍得。于是,我用了四年,五年?才觉得把它拆掉,买了个这货,一般
阅读全文
posted @ 2019-04-05 19:23 toong
阅读(795)
评论(0)
推荐(0)
[dev][go] 入门Golang都需要了解什么
摘要: 一 什么是Golang 首先要了解Golang是什么。 Golang是一门计算机编程语言;可以编译成机器码的像python一样支持各种特性的高级语言。 由Google发明,发明人之一是K,就是C语言的那个K&R的K。 网站:https://golang.org/ golang到底要解决什么问题? 1
阅读全文
posted @ 2019-04-05 18:47 toong
阅读(584)
评论(0)
推荐(0)
[ipsec][crypto] IKEv2的协商交互分析
摘要: 一: 无论协商了什么样的加密算法。DH都交换一块长度为32byte的内存,作为key。 IKE和esp的key,分别基于这块内存生成。 二: 当esp的算法协商没有指定dh group时,rekey将不会交换新的秘钥。而一直使用IKE sa的秘钥。 这个时候,每次child rekey,只交换新的s
阅读全文
posted @ 2019-03-29 15:47 toong
阅读(1903)
评论(0)
推荐(0)
[ipsec][crypto] 在IPSec ESP使用AES-GCM加密时的IV
摘要: IV IV是指初始化向量。 在我们当前讨论的场景中: 在IPSec ESP使用AES-GCM加密 IV有两个含义: 1. ESP报文封装时的IV,RFC中称为 AES-GCM IV 2. 在讨论加解密设备的时候,我们讨论的IV,与1中不同,称为 AES-GCM-ESP IV, 也称作nonce no
阅读全文
posted @ 2019-03-26 18:01 toong
阅读(4192)
评论(0)
推荐(0)
[ipsec][crypto] 什么是AEAD加密算法中的AAD 及aad length
摘要: AAD 全称:Additianal Authenticated Data 翻译成中文就是附加的验证数据。 在理解AAD之前,需要理解什么是AEAD: AEAD,简单的来说就是一份数据在完成加密的时候同时完成了消息认证,或者反过来。 见:[crypto] AEAD是啥 也就是说,加密用的数据和消息认证
阅读全文
posted @ 2019-03-26 16:59 toong
阅读(3322)
评论(0)
推荐(0)
[dev][ipsec][dpdk] strongswan/dpdk源码分析--(七)ipsec算法配置过程
摘要: 1 简述 storngswan的配置里用一种固定格式的字符串设置了用于协商的预定义算法。在包协商过程中strongswan将字符串转换为固定的枚举值封在数据包里用于传输。 协商成功之后,这组被协商选中的枚举值会通过netlink接口以xfrm定义好的字符串形式,传递给内核,内核再将字符串转换成pfk
阅读全文
posted @ 2019-03-25 11:47 toong
阅读(5173)
评论(0)
推荐(1)
[daily] 不让NetworkManger自动接管网络设备
摘要: 一 场景描述 有一个dpdk程序,在运行时使用了rte kni。 它启动的时候,会自动给系统增加一个网卡设备,停止运行的时候又会把它去掉。像这样: 就是名叫 kni_vpu 的那一个,然后程序还会给它配上一个地址,这里的例子是192.168.8.9 二 问题 然后,运行一小会。问题就来了。192.1
阅读全文
posted @ 2019-03-16 11:51 toong
阅读(1571)
评论(0)
推荐(0)
[crypto][ipsec] 简述ESP协议的sequence number机制
摘要: 预备 首先提及一个概念叫重放攻击,对应的机制叫做:anti-replay https://en.wikipedia.org/wiki/Anti-replay IPsec协议的anti-replay特性就是用来应对重放攻击的一种机制,方法是: 增加两个机制:序列号(seqence number)和收包
阅读全文
posted @ 2019-03-13 17:21 toong
阅读(3437)
评论(0)
推荐(0)
[dev][crypto][strongswan] 有关strongswan的forward policy的源码分析
摘要: 一 默认情况下,我们使用strongswan建立了一个ipsec隧道之后,建立的policy如下: 通过观察,我们能够总结到: 1. 一共有三条policy,分别是IN类型,OUT类型,FWD类型。 2. IN和FWD的原目的IP对,template原目的IP对相同。OUT类型与之相反。 二 然而,
阅读全文
posted @ 2019-03-12 16:56 toong
阅读(1282)
评论(0)
推荐(0)
[dev]typeof, offsetof 和container_of
摘要: 转一篇文章。写的比较好,浅显易懂,还画了图。 https://www.cnblogs.com/idorax/p/6796897.html 概况一下: container_of用到了typeof和offsetof。 1. typeof是gcc的扩展,不是C标准操作符。 2. offsetof就是这样一
阅读全文
posted @ 2019-03-08 17:01 toong
阅读(177)
评论(0)
推荐(0)
[crypto] AEAD是啥
摘要: AEAD这个缩写根据不同的语境有两个理解角度:认证加密机制,认证加密方式。 认证加密机制是指:一些用来完成认证加密工作的方法,拆分为认证和加密两部分来做,先加密后加密先认证后认证都无所谓,整个过程或者其目标我们都称之为AEAD。 认证加密方式是指具体的做法:这里我们将狭义的排除掉,认证与加密完全的独
阅读全文
posted @ 2019-03-07 18:20 toong
阅读(6121)
评论(0)
推荐(0)
[dev][dpdk][crypto] dpdk加解密设备与IPSEC
摘要: 概述 分三部分,加解密框架(crypto framework),加解密设备(crypto dev),安全协议(Security Framework) × API,设计思路等,都在加解密框架里:见文档:http://doc.dpdk.org/guides-18.11/prog_guide/crypto
阅读全文
posted @ 2019-03-04 11:49 toong
阅读(7863)
评论(0)
推荐(0)
[dev] 中文版内核代码编码规范
摘要: 我是我最喜欢的编码规范。并始终坚持。 https://www.kernel.org/doc/html/v4.15/translations/zh_CN/coding-style.html
阅读全文
posted @ 2019-02-21 19:11 toong
阅读(394)
评论(0)
推荐(0)
[dev] udp socket的read长度问题
摘要: 场景描述 我的两个程序需要彼此通信。采用unix socket来实现。 并为了简单起见使用了DGRAM,也就是udp通信。 问题描述 1. 用法是这样的 收包的一端使用epoll监听,发包端发送一个20byte的数据包。 收包端分两次read。第一次read了16byte,第二次read,4byte
阅读全文
posted @ 2019-02-14 15:52 toong
阅读(802)
评论(0)
推荐(0)
[archlinux]在linux使用aria2下载磁力链接
摘要: 1.在公网出口做好dnat,端口映射,虚拟服务等。导致内网主机的udp和tcp端口上。 2.在linux主机上,加两条防火墙规则 3.使用aria2c工具下载,并使用参数指定端口 4.不过为啥那么慢捏?我可是联通光钎入户啊。还是百度网盘和迅雷快。
阅读全文
posted @ 2019-02-09 21:39 toong
阅读(1508)
评论(0)
推荐(0)
[math] 什么是双曲函数(转发)
摘要: 我完全不记得上高中的时候学习过双曲函数。。。额,暴露了。。。 原文地址:https://zhuanlan.zhihu.com/p/20042215 可能是最好的讲解双曲函数的文章 零、写在前面 (近期好几个知友询问我能否转载,我在这说一下:随意,无论你是不是商业的。但是任何转载都请私信我转载到了哪里
阅读全文
posted @ 2019-02-05 21:35 toong
阅读(8531)
评论(0)
推荐(1)
[math] 我对对数的最新理解
摘要: 前言 作为资深学渣,每次遇到对数就极度恐慌。恐慌不是因为要考试~~~。而是因为不理解,只能靠死记硬背运算规则。不能进行有效的推理,这让我极度不爽,因为会忘记。故惶恐。 所以总是耿耿于怀,想要试图理解对数的本质。最近看到了一篇文章,再一次的加深了理解。故整理了一些自己最新的感悟记录如下: 新的理解 接
阅读全文
posted @ 2019-02-05 13:33 toong
阅读(1121)
评论(0)
推荐(0)
[dev] EPOLLOUT的应用场景
摘要: 问题 什么场景下,才需要epoll EPOLLOUT消息呢?也就是监听write 分析 找到一篇知乎,基本上读完就明白了 https://www.zhihu.com/question/22840801 总结 略(最近比较忙~~~)
阅读全文
posted @ 2019-01-28 11:46 toong
阅读(362)
评论(0)
推荐(0)
[emacs] emacs调整C代码的缩进格式等
摘要: 相比于VIM,emacs在默认配置下写C代码还真是不好用。 好多东西都要调整,其中最麻烦的就是缩进。调啊调,调了好久。 勉强形成一个配置如下: 其中需要注意的是,那两个4都要相等才能生效。 见文档:https://dougie.io/emacs/indentation/ 最后,来个效果图:
阅读全文
posted @ 2019-01-25 12:43 toong
阅读(988)
评论(0)
推荐(0)
[dev][socket] unix domain socket删除socket文件
摘要: 问题 在使用unix domain socket的时候,bind之后,会在本地路径里 产生一个与path对应的socket文件。 如何正确的在用完socket之后,对其销毁呢? 方案 使用 unlink()函数手工删除。 见: https://stackoverflow.com/questions/
阅读全文
posted @ 2019-01-24 15:42 toong
阅读(2113)
评论(0)
推荐(0)
托马斯微积分13版原版pdf
摘要: 泰国一大学的网站? 里边有好多书~~ 悄悄的,不要外传~~ http://www.maths.sci.ku.ac.th/suchai/417167/thomas.pdf
阅读全文
posted @ 2019-01-23 18:16 toong
阅读(2750)
评论(1)
推荐(0)
[git] git怎样fork一个repo
摘要: 描述 我定制了一下strongswan的工程。然后想把我自己的定制变成一个repo push到远端git.tong.com与大家分享。 这个时候,应该怎么做? 如果你用过github的话。那么你可以理解,我现在要做的事情就是类似于github上的fork。 开始 1 从strongswan的git上
阅读全文
posted @ 2019-01-22 19:29 toong
阅读(293)
评论(0)
推荐(0)
[daily][netcat] 在UNIX socket上使用netcat
摘要: 概述 默认情况下,系统里边带的netcat,也就是nc。支持tcp,udp,ipv4,ipv6但是不支持unix socket。 而且,telnet也不支持。 除非自己写一个,不然很不方便。 另一个netcat 前边讲的netcat是gnu netcat包里的工具。 其实,还有另一个:openbsd
阅读全文
posted @ 2019-01-22 12:21 toong
阅读(685)
评论(0)
推荐(0)
[emacs] emacs设置python code的indent
摘要: 装python mode的包 https://gitlab.com/python mode devs/python mode/tree/master emacswiki文档 emacswiki文档里的配置方法是这样提供的 https://www.emacswiki.org/emacs/Indenti
阅读全文
posted @ 2019-01-21 19:15 toong
阅读(259)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
···
13
下一页
导航
管理
点击右上角即可分享