了解不同防禦 DDoS 的網路架構
正文
一般組織會在 edge router 後面部屬防火牆、或各種防禦 DDoS 的機器 (Arbor/Netscout 的機器),但缺點就是會受限於 edge router 的頻寬,可能受到超過 edge router 超出的流量就沒辦法過濾了。
一般的防火牆依賴連線狀態表 (Connection Tracking Table),在面對 DDoS 攻擊時(如 SYN Flood),記憶體會瞬間被海量偽造的連線請求塞滿而當機。
計算機補數編碼介紹
簡介
補數就是為了處理正負號而發明出來的,假設不用補數,會需要額外的電路來處理 sign bit。
並且在
在不同 Endian 下,Sign bit (MSB) 會在不同記憶體位置
C 語言浮點數基礎了解
簡介
小數的歷史在數學很早就出現,而電腦第使用浮點數在 1938 年就有了,德國工程師 Konrad Zuse 是先驅。他在 Z1(1938)和 Z3(1941)電腦中使用了 二進位浮點數。
Bloom Filter 介紹
簡介
根據維基百科所說,Bloom filter 在 1970 年提出,為了解決傳統 Hash table 需要太大記憶的問題。
Bloom filter 的特性是他的操作都跟 set 數量大小無關,像是為了達到 1% 的誤判率,你永遠只需要為「每一個元素」準備大約 9.6 個 bits,查詢跟插入也都是常數 $ O(k) $ 時間 (k is number of hash functions)。
網路上的 Tunnel 介紹以及其應用
簡介
Tunnel 的定義是說在兩個不同的地方建立隧道,實際方式通常就只是對封包進行封裝 (Encapsulation),將封包包裝在其他封包的 payload 裡面,根據在不同 OSI layer 可以有不同的 Tunnel 方式。
Self-hosting Compiler 基礎了解跟歷史
介紹
Self-hosting Compiler 代表可以用自己編譯器編譯自己,這是高階語言拓寫編譯器的優點。
Building a self-hosting compiler is a bootstrapping problem, i.e. the first such compiler for a language must be either hand written machine code, compiled by a compiler written in another language, or compiled by running the compiler’s source on itself in an interpreter – History of compiler construction Wiki