delphij's Chaos

另外一种DSR结构

• Networking

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

  • 服务器端将虚拟IP绑在lo0上(子网掩码为/32);—-确保服务器收包、不广播ARP;
  • 负载平衡设备接Internet的网口接路由器进来的VLAN;(“VLAN-Internet”)—-从Internet进入的包发到负载均衡设备上;
  • 负载平衡设备的内网网口能够到达服务器;(“VLAN-Incoming”)—-负载均衡设备将请求根据负载均衡的条件路由到VLAN-Incoming上的服务器;
  • 路由器提供一个绑定某一内网网址,且能联通服务器的接口;(“VLAN-Outgoing”)—-服务器回应包发到VLAN-Outgoing上的Internet路由器;
  • 服务器默认网关设为路由器的内网地址。

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

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

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

• Kernel

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

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

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

概率趣题

• Shared Chaos

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

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

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

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

SYNCookie反制

• Security

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

针对 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的冗余

• Networking

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

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

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

模拟实模式x86 CPU

• Kernel

前一段时间commit了来自XFree86 -> NetBSD -> OpenBSD的x86emu,这是一个大约9千行C代码的x86实模式CPU模拟器。

由于 amd64/EM64T “long mode” 不支持先前 x86 保护模式中的 “vm86” 扩展(虚拟实模式环境),因此,这个模拟器使得 FreeBSD 能够在 amd64(EM64T) 平台上支持 vesa、dpms 等功能了。

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

西雅图-波特兰

• Life

借着美国劳工节长假去了一趟美国西部的重要城市——华盛顿州的西雅图,以及俄勒冈州的波特兰。

西雅图是美国西岸的重要城市,因西雅图酋长而得名。

Chief Seattle

西雅图的地形与旧金山有些相像,但不比旧金山险峻。

这个城市的咖啡消费量极大,第一家星巴克咖啡即发源于此,在 Pike Market 的星巴克门口拍到了一位常年在此演唱的吉他手。

Guitar Player at Starbucks at Pike Market

由于地理位置的原因,西雅图的气候比较多云雨。有朋友说,在此间住得太久会有得抑郁症的危险。不过,在西雅图的那几天天气都相当晴朗。

西雅图的著名地标是 Space Needle,这是一座为 1962 年世博会设计的建筑,其瞭望台高达 520 英尺。

Space Needle

由于去西雅图的时候是搭的早上的飞机,在飞机降落的时候,云层中隐隐约约露出了这些高层建筑。这些在云层之上每天工作的人们是否已经习以为常?

西雅图周边地区有两家对此间经济非常重要,也是大家非常熟悉的企业——波音和微软。

为了让更多的人了解航空科技,波音特别提供了针对公众的 Future of Flight 来展示波音的民用飞机装配过程,不过,比较遗憾的是装配车间不允许携带相机、手机等摄像器材。

停机坪上是经过改装的波音 747 「Dreamlifter」,用于运载准备在其他地方组装的波音 787 「Dreamliner」 飞机部件。

747 Dreamlifter

另一家公司是 Microsoft,总部位于 Redmond 市。

Microsoft

而全球销售额最大的会员制批发超市 Costco 总部也在附近的 Kirkland 市。因为时间关系,没有在 Kirkland 长时间停留。

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