上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 20 下一页
摘要: 随着业务的复杂化和多样化,RFC1035中定义的DNS消息格式和它支持的消息内容已经不足以满足一些DNS服务器的需求,于是,RFC2671中提出了一种扩展DNS机制EDNS(Extension Mechanisms for DNS),并在其中推荐了一种传递包大小的EDNS0。我将EDNS0中的一些关键内容总结在这篇文章中,以便日后翻阅,同时希望能够帮助到像我这样迷茫过的、探寻EDNS很久才知道其概貌的新人。 一,什么是EDNS? EDNS就是在遵循已有的DNS消息格式的基础上增加一些字段,来支持更多的DNS请求业务。 需要注意的是,像DNS服务器这样一个大型且广泛应用的系统软件,新增... 阅读全文
posted @ 2013-07-13 20:56 CobbLiu 阅读(38234) 评论(1) 推荐(1) 编辑
摘要: BIND中有一些操作是定时任务,server.c的run_server函数中创建了三个定时任务,分别执行interface_timer_tick、heartbeat_timer_tick和pps_timer_tick;其他模块中还有很多时间任务。我们知道linux中的定时器可以用条件变量实现(用其... 阅读全文
posted @ 2013-06-11 12:10 CobbLiu 阅读(2705) 评论(1) 推荐(0) 编辑
摘要: 因为从事的是DNS方面的工作,而且也很想学习高性能服务器的知识,所以学习BIND9的实现既能兼顾工作又可以学到高性能服务器的知识。 BIND9的代码前前后后也读了很久,相关的实现自己也整理了一些,之所以开这个博客专题出于以下两个方面的原因: 一是市面上BIND9源码分析的资料太少了,而且代码量又很大,所以对于像我这样的新手来说入门门槛实在太高,所以想把自己的总结分享出来,帮助那些新人。by the way,我现在工作的部门的宗旨就是:基础、极致、分享。 二是想借此机会认识更多的从事DNS服务器维护或者开发的人员,这个圈子说大不大,说小不小,技术人员是一家人,希望大家能共同努力,做出真... 阅读全文
posted @ 2013-06-10 12:11 CobbLiu 阅读(3991) 评论(6) 推荐(2) 编辑
摘要: 一,简介空谈误国,要让一大堆抽象的DNS概念落地,还是需要了解DNS消息格式的,本文会尽量详细地介绍DNS消息格式的每一个字段。也可以移步rfc1035了解。二,概览DNS消息主要由五部分组成,如下图所示:Header消息头部QuestionDNS请求Answer回答请求的资源记录(Resource... 阅读全文
posted @ 2013-04-02 19:45 CobbLiu 阅读(23262) 评论(6) 推荐(5) 编辑
摘要: 在很多人看来,DNS只是为外部提供DNS解析服务(我以前也是这么认为的,直到膝盖中了一箭),但作为互联网的基础设施,DNS远没有想象的那么简单。如果你没有听说过DNS查询、反向解析、zone传输、动态更新、DNS安全,那你可以从本文中得到关于他们的最简明的诠释。一、 DNS协议 DNS在53端口上监听请求并提供响应的服务。出于性能的考虑,DNS查询请求用UDP协议交互并且每个请求的大小小于512字节,但是如果返回的请求大小大于512字节,交互双方会协商使用TCP协议。二、 DNS查询 DNS中的域名服务器最主要的功能就是响应域名解析器的查询请求(这个域名解析器可能是PC端的解析器,也可... 阅读全文
posted @ 2013-03-24 19:47 CobbLiu 阅读(12182) 评论(3) 推荐(2) 编辑
摘要: 一,简介相对于存储和大数据领域,CDN是一个相对小的领域,但行行出状元,BIND就是CDN领域的蝉联N届的状元郎。BIND是一款非常常用的DNS开源服务器,全球有90%的DNS用BIND实现。值得一提的是,BIND9.8.1用C语言实现,代码量巨大,其设计实现几乎涵盖了服务器编程的所有细节。本文简要... 阅读全文
posted @ 2013-03-19 23:51 CobbLiu 阅读(46316) 评论(2) 推荐(5) 编辑
摘要: prtotocol buffer是google于2008年开源的一款非常优秀的序列化反序列化工具,它最突出的特点是轻便简介,而且有很多语言的接口(官方的支持C++,Java,Python,C,以及第三方的Erlang, Perl等)。本文从protobuf如何将特定结构体序列化为二进制流的角度,看看 阅读全文
posted @ 2013-03-02 14:39 CobbLiu 阅读(14760) 评论(4) 推荐(4) 编辑
摘要: pkg-config 是通过库提供的一个 .pc 文件获得库的各种必要信息的,包括版本信息、编译和连接需要的参数等。这些信息可以通过 pkg-config 提供的参数单独提取出来直接供编译器和连接器使用。 阅读全文
posted @ 2013-02-25 11:14 CobbLiu 阅读(1195) 评论(0) 推荐(1) 编辑
摘要: 布谷鸟哈希最早于2001 年由Rasmus Pagh 和Flemming Friche Rodler 提出。该哈希方法是为了解决哈希冲突的问题而提出,利用较少计算换取了较大空间。名称源于该哈希方法行为类似于布谷鸟在别的鸟巢中下蛋,并将别的鸟蛋挤出的行为。它具有占用空间小、查询迅速等特性,可用于Bloom filter 和内存管理。 阅读全文
posted @ 2013-01-08 13:34 CobbLiu 阅读(2578) 评论(1) 推荐(0) 编辑
摘要: Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。 阅读全文
posted @ 2013-01-08 13:26 CobbLiu 阅读(1279) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 20 下一页