原创 bind 定時器

概述 BIND中有一些操作是定時任務,server.c的run_server函數中創建了三個定時任務,分別執行interface_timer_tick、heartbeat_timer_tick和pps_timer_tick;其他模

原创 cloudxns 智能解析領域的一匹黑馬

cloudxns來源 CloudXNS是北京快網自主研發全新架構的智能DNS解析系統,提供多元化智能DNS解析服務。網站地址爲http://www.cloudxns.net CloudXNS在響應、分發、存儲及負載均衡等設計中使

原创 bind server.c

整體功能分析 server.c 主要完成BIND 服務器的啓動、關閉、reload、reconfig、refresh 等命令的處理,進行服務器、視圖和區域配置的解析和處理。 函數調用關係 setup調用ns_server_cre

原创 linux 內存管理基本框架

概述 linux 內核機制採用3層映射機制,邏輯上把32位線性地址劃分4個段,各段佔有若干位,依次爲PGD(全局頁面目錄),PMD(中間頁面目錄),PT(頁表),以及物理頁的偏移。 基地址->PGD->PMD->PT->OFFS

原创 awk命令簡介

簡介 awk是一個強大的文本分析工具,相對於grep的查找,sed的編輯,awk在其對數據分析並生成報告時,顯得尤爲強大。簡單來說awk就是把文件逐行的讀入,以空格爲默認分隔符將每行切片,切開的部分再進行各種分析處理。 使用方法

原创 bind client.c

整體功能分析 client.c 主要是負責DNS 服務器與用戶接口的設置,可以分成三個模塊: 1.數據包傳送模塊 2.用戶的創建模塊 3.用戶管理器的創建模塊 用戶的創建模塊是爲用戶管理器的創建模塊建立的,對於同一用戶,他

原创 排序

引言 基本的算法問題是每個程序員需要掌握的基本功,無論是平時工作還是找工作都會遇到基本的算法問題。這個系列的文章主要是算法。其中大部分的內容是來自網絡和自己總結,由於本人水平有限錯誤在所難免,如有問題請多多指教。 概述 算法是用來

原创 多線程多進程

多進程 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> int main() { pid_t child

原创 bind udp 數據處理

簡介 本文簡要介紹一下BIND9中的UDP數據處理,包括bind是如何處理UDP報文,如何收發報文信息,創建socket設置什麼socket參數、多線程環境中如何讓多個線程讀取53端口的數據。對於UDP而言,BIND9的做法是在主

原创 bind 啓動過程

概述 bind 啓動是從bin/named下的main開始。在bind架構一文已有所介紹,本文試圖從更細的角度試圖分析,到底做了什麼操作。 main開始 重點羅列如下 program name驗證。 assertion,erro

原创 bind udp 處理流程之補充篇

概述 udp數據的處理主要的處理流程已經在http://blog.csdn.net/divlee130/article/details/46391981有所介紹,但是具體到當一個請求過來時是如何提取請求信息,然後根據請求如果處理下

原创 bind query.c

整體結構分析 主要包含處理各種類型和情況的查詢函數,多數函數僅僅爲該文件內的其它調用,以便方便的完成查詢。ns_query_start()函數向外提供完整的查詢服務。 數據結構 /*% nameserver query struc

原创 DPDK簡介之二

前沿 DPDK是專爲快速收發包所開發的一系列的庫文件和驅動代碼。可以在Intel的芯片上運行。可以用來在極短的時間裏面完成收發包(一般低於80個週期)。可以運行第三方的快速路徑棧而DPDK最大的優點就是改進小封包吞吐量與作業負荷效

原创 bind 安裝

BIND概述 1984年,加州大學伯克利分校的幾個學生完成了Unix名稱服務的實現,起名叫做Berkeley Internet Name Domain(BIND)。目前,它是互聯網上使用最爲廣泛的DNS服務軟件。bind的發行版一

原创 rndc reload 執行過程

概述 rndc可以在不停止DNS服務器工作的情況進行數據的更新,使修改後的配置文件生效。這裏面有比較詳細的介紹http://baike.baidu.com/view/1301778.htm?fr=aladdin,本文主要是在本機執