设计与艺术的区别

| Shared Chaos | #art | #design

蛇头GG发来的一篇文章,值得一读:The Difference Between Art and Design。摘录一下标题:

参与评论

一部分应用层协议放进kernel?

| Kernel

先把想法记下来。

解决的问题:

阅读全文…( 本文约 277 字,阅读大致需要 1 分钟 )

另外一种DSR结构

| Networking | #DSR | #routing

dawnh在之前的人肉traceback中提到了 另一种DSR结构。即:

(此VLAN划分是出于性能方面的考虑,不划分VLAN并不会导致整个系统不能用)。

阅读全文…( 本文约 705 字,阅读大致需要 2 分钟 )

改一行代码带来的性能改进

| Kernel | #console | #performance | #VESA

FreeBSD先前的vesa framebuffer驱动有个问题,就是滚屏的时候会比较慢。jkim大长辈于是改了一行代码

好吧,我承认我之前一直以为是console驱动想要锁&Giant的问题。其实真正的原因是默认的pmap_mapdev并不做写合并,所以应该呼叫更低阶的pmap_mapdev_attr并传入PAT_WRITE_COMBINING参数。

阅读全文…( 本文约 230 字,阅读大致需要 1 分钟 )

解释一下DSR结构中服务器IP地址的配置

| Networking | #routing

因为有人在我前一篇blog《使用DSR模式实现单IP服务冗余》里提了个问题,这里解释一下。

DSR比较常见的两种配置,一种是我之前文章中提到的禁止外网网卡ARP的方法,另一种是把虚拟IP绑定到lo0上。这两种方法各自有一些优缺点。一般来说,我喜欢用前一种方法。

阅读全文…( 本文约 884 字,阅读大致需要 2 分钟 )

概率趣题

| Shared Chaos | #条件概率

今天在 Matrix67 的 blog 上看到这么一道题:

一个人有两个小孩儿,其中有一个生于星期二的男孩儿。问另一个是男孩儿的概率是多少?

答案当然不是1/2或者1/4,因为我们已经知道了有一个是生于星期二的男孩,因此这是一个条件概率问题。

阅读全文…( 本文约 583 字,阅读大致需要 2 分钟 )

ZFS实现快速部署(作弊条)

| Security | #FreeBSD | #ZFS

FreeBSD从8.0开始支持从ZFS引导系统,因此,可以使用ZFS的快照功能来实现快速部署。

新机器使用LiveFS启动,Fix it,CDROM。

阅读全文…( 本文约 496 字,阅读大致需要 1 分钟 )

SYNCookie反制

| Security | #TCP vulnerability

最近看到一个很有意思的攻击。记一笔。

针对 SYN Flood 攻击(特点是攻击者发出大量 SYN 请求,但并不完成 TCP 握手),目前操作系统会采用 SYNcookie 予以反制。FreeBSD上的实现是在系统资源充足的时候采用标准的握手机制,而当发现存在可能的攻击(即可用的 TCP 状态资源不足时)应用 SYNcookie;SYNcookie是将TCP状态建立推迟到三次握手 之后,具体做法是将服务器本地的一个秘密数据与来源/目的IP、端口编码来形成序号来发出SYN+ACK,并在收到对方回应ACK时验证这个序号的真实性。

阅读全文…( 本文约 492 字,阅读大致需要 1 分钟 )

使用DSR模式实现单IP服务冗余

| Networking

FreeBSD支持以DSR(Direct Server Return,即服务器直接将流量通过路由器返回,而不经过负载平衡设备;俗称"单臂模式")模式提供服务。为了改善服务的可用性,可以使用这种方法来配置服务器。这种方法非常适合于大并发、大流量的环境。

阅读全文…( 本文约 1278 字,阅读大致需要 3 分钟 )

DNS和MX的冗余

| Security

一般来说DNS和MX都需要做冗余。前者的冗余和容灾要求要高于后者。

DNS的冗余通常需要做到跨ISP,甚至跨大洲。由于安全和性能方面的理由,提供权威DNS解析的服务器都不应同时作为缓存DNS服务器;此外,实践上权威DNS服务器应该是受保护的管理服务器的slave,而不应直接在权威DNS服务器上操作(读、写分开),这样可以有效减少由于修改操作所导致的downtime。

阅读全文…( 本文约 279 字,阅读大致需要 1 分钟 )