自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Netfilter,iptables/OpenVPN/TCP guard:-(

我不会编程,但也不是一点都不会,我稍微会一些 :-)

  • 博客(13)
  • 资源 (4)
  • 论坛 (5)
  • 收藏
  • 关注

原创 再谈数据包排队(二进制和半导体)

昨天写了一篇软文:数据包怎么排队?从存储转发网络看芯片: https://blog.csdn.net/dog250/article/details/90542988时间仓促,今天继续。共享介质以太网是分布式仲裁的网络,执行的CSMA/CD说白了就是为了达成某种共识而运行的一种分布式算法,这个和CPU Cache一致性协议,以太网生成树协议STP以及路由协议RIP非常类似。PCI总线也是执行类...

2019-05-26 07:09:18 3859

原创 数据包怎么排队?从存储转发网络看芯片

两条路的车流汇入一条路,怎么办?停下来排队呗。事实上,红绿灯系统就是这么设计的,此外高速公路,城市快速路的匝道也都是排队系统的绝佳实例。然而,飞机怎么办?地面交通工具之所以可以可以排队,关键因素在于它们 可以停下来! 然而飞机是停不下来的。所以,飞机必须在起飞前就把自己的路线抢占好。否则,一旦机场拥堵必须要排队的时候,飞机只能在天上绕圈圈,飞机没有办法停下来等待。飞机要维持升力而不掉下来...

2019-05-25 08:56:27 3547 6

原创 CSMA/CD和拥塞控制AIMD其实是一回事!

今天下班的班车上,撸论文,找到一篇关于CSMA/CD性能分析的,然而下载需要钱,作罢。我讨厌知识付费,因为我崇尚知识共享。正好我上周末也写了一篇与此相关的:谈谈CSMA/CD,TCP中的二进制指数退避算法: https://blog.csdn.net/dog250/article/details/90340322我发现这里的CSMA/CD的指数退避算法和TCP拥塞控制的AIMD非常类似,AI...

2019-05-22 23:50:59 3201 1

原创 谈谈CSMA/CD,TCP中的二进制指数退避算法

下雨,正则安喝完奶睡了,小小在补她那由于拖延而必须在今天下午完成的数学作业,疯子正好趁此睡一会儿,她带两个孩子,太累了。而我,作文。交换式以太网,IP路由互联网,PCIe总线,这些都不再是 共享资源的随机系统 了,它们都进化成了 排队系统 ,如今这种共享资源的随机系统,只剩下了TCP!由于人们已经不再记得CSMA/CD,绝大多数人对TCP存在跪舔式的误解,我还是喜欢一如既往地喷TCP!但本...

2019-05-19 15:46:26 7797 19

原创 Linux内核如何输出中文字符

你在Windows/MacOS的登录Linux的SSH终端上很容易输入中文并且获得中文输出,比如下面这样:但是却几乎不可能将中文显示在Linux自身的 虚拟终端 上:[root@localhost font]# echo 皮鞋 >/dev/tty2显示了两个问号,显然Linux内核并不能识别中文。为什么说是Linux内核不能识别中文呢?这里需要理清一个关系:你在远程SSH终...

2019-05-18 08:29:19 3974 4

原创 Linux如何在屏幕上显示ASCII/中文字符

能调API完成的事情非要自己折腾,这会严重影响效率,但这只是玩玩。下一篇文章我会介绍 setfont 命令的玩法。问题如何在屏幕上显示一个字符?很简单,调用 printf , 执行 echo …然而,我们知道 任何显示的操作,最终都是在显示器上描像素 来完成的。换句话说,任何图案,包括GUI,文字字符等,全部是 画出来的!把图案画出来的方法有两种,一种是静态的点阵法,一种是动态的矢量法...

2019-05-18 05:28:03 6434 7

原创 Linux字符终端用鼠标移动一个红色矩形

闲的想要吃Droppings,被很多人嫌弃。我先声明,这些事没有任何意义,调一个API能解决的事,非要自己去做,而且还做的不好,那就是傻逼,是的,我就是傻逼。仅仅因为我爸来了,老年人和我观点不一致,不想交流,然而又能干什么,只能干点没有意义的事假装在工作了。一切皆文件! UNIX已经说了。埃里克雷蒙德这样说的,不服吗?他有枪。既然 /dev/fb0 被抽象成了显示器,可以在字符终端通过操...

2019-05-12 19:06:21 2620 8

原创 Linux framebuffer双缓冲防止闪烁

昨天写了一篇文章:使用Linux Framebuffer绘制32位真彩图形: https://blog.csdn.net/dog250/article/details/90113737并发了朋友圈表示这件事结束了,玩了一天,玩恶心了。但是我依然是想做出一个可以拖拽的不规则GUI界面(用皮鞋或者小小的照片做界面轮廓)来的。所以半夜就爬起来继续折腾。无奈,没有找到获取鼠标焦点的好方法,都太复杂...

2019-05-12 07:48:33 3812 5

原创 使用Linux Framebuffer绘制32位真彩图形

Linux将显示器屏幕抽象成了一块连续的内存,这简直太棒了。因为 你可以通过写内存的方式在屏幕上作画了!Linux是通过 逐行扫描 的方式布局这块内存的,即: W×HW\times HW×H的屏幕上P(x,y)P(x,y)P(x,y)坐标在这块内存MMM中的位置是:IP=y×W+xI_P=y\times W+xIP​=y×W+x P(x,y)P(x,y)P(x,y)是W×HW\times ...

2019-05-11 20:34:11 4299 7

原创 从输入/输出的视角看TCP/IP(终端,shell以及X Window)

TCP/IP是迄今为止IT领域最伟大的发明,没有之一。是时候总结一篇散文了。第二个TCP/IP协议栈构建好的当时,这便征服的起点。如果我们仅从常规的通信的角度去理解TCP/IP,那么它可能和电话,电报,邮政系统这些没有本质的区别,至多算是这些东西的升级版。如果我们把概念下沉到TCP/IP以下的层面,仅仅将TCP/IP看作是一条 逻辑上线缆 就显然就可以看见它的特别之伟大!TCP/IP能...

2019-05-10 22:22:26 3604 7

原创 Java AWT/Swing实现不规则窗体和控件

终于重写这个话题了。缘由2003年是我写Java的第一年,2004年是我写Java的第二年。由于是自学,又是大专,没有科班的基础,所以不是很care算法和数据结构,因为Java可以快速作出一个肉眼可以看到的UI,所以我选择了Java而不是C/C++,同时由于MFC这些和微软的系统强相关,也就是说,同时放弃了VC++。但是直到2006年我都被一个问题所困扰,即:如何用Java实现一个不规则...

2019-05-09 05:27:28 3379 10

原创 线程切换函数schedule的实现

继续看昨晚的那个setjmp/longjmp实现的 “用户态协作式多线程” (我还是不用 协程 这个词了,这个词太有文化,以至于会被皮鞋老板认为我是在亵渎协程)的demo:// 基于标准的setjmp/longjmp实现!// 然而我不知道如何才能直接用 PTR_MANGLE 这个宏,所以我使用自己实现内联汇编版本!#include <stdio.h>#include <...

2019-05-03 19:23:43 2817 1

原创 彻底理解setjmp/longjmp并DIY一个简单的协程

上海昔日的邻居来杭州,我们小聚。今天一起带着小小去了西溪湿地,体验并不是太好,门票太贵,进去需乘船,船票快顶得上门票了,简直就是要抢劫啊!不过,景点嘛,一般我是不去的。缘由下面的代码写于5月2日(也就是今天刚开始的时候)凌晨1点钟,假期首日逛玩了一天,晚上自己写个东西玩玩,主要是因为之前想用setjmp/longjmp通过修改jmp_buf结构体的某些寄存器字段而实现协程而没有成功,就自己做个...

2019-05-02 23:22:34 5800 5

一个iptables的stateless NAT模块实现

如果你在寻找Linux上配置诸如Cisco设备上的static双向NAT的方法,这个或许就是你想要的; what?你觉得它完不成PAT?是的,它不行。但是想做PAT为何不使用现有的iptables实现呢?它可以自动为你解决元组唯一性问题。不要从概念上分析,事实上,static双向NAT是完全对称的,一对一的 ,也只有在BOX两边的网络在拓扑级别是完全对等的情形下,这种NAT或许才是有用的,Cisco设备经常处在这样的位置,比如一个很大的stub节点的出口位置,比如两个domain的中间位置... 我将名字取为STATIC-2-WAY-NAT,比较长也比较怪,完全不符合UNIX的小写短名传统,我的想法是:这样可以少写很多的帮助信息,因为名字就是自解释的。

2014-12-27

模块化的nf-HiPAC

原版的nf-hipac需要为内核打patch,且只支持较低版本的内核,构建起来相对比较麻烦。 模块化后的nf-hipac可以直接作为内核可加载模块编译,且适配了高版本的Linux内核。为了移植工作简化,去掉了和iptables模块的联动支持!

2014-11-21

配置文件还有一些other

代码和配置iptables配置文件,还有一些别的东西

2010-04-16

关于linux内核以及其他个人体会的文集

本文集是我用将近两年的时间写成的,大多数文章是关于linux内核的,另外还有一些我自己对计算机的理解,还有一些历史,音乐方面的东西。适合于对linux内核思想感兴趣的阅读,文章偏重于对于思想的理解。

2009-09-07

dog250的留言板

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

我的blog为何被屏蔽了,用户名为:dog250

发表于 2009-02-06 最后回复 2017-04-05

《java编程思想》的内容哪里体现了“思想”

发表于 2014-04-01 最后回复 2015-08-26

我的blog被删了,共享文章

发表于 2009-02-07 最后回复 2010-05-14

请删除我的一个资源 【解决并回复】

发表于 2010-04-18 最后回复 2010-05-14

空空如也

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

TA关注的人 TA的粉丝

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