莫斯科大學的學生自己在宿舍架設宿舍網路的歷史故事 (2002~2013)

Lobster Daily 看到「Moscow state university network built by students」這篇,不過 Hacker News 上的討論多一點:「“Illegal” Moscow state university network built by students (2002-2013) (medium.com/pv.safronov)」。

莫斯科大學宿舍網路的故事,發生在 2002 年到 2013 年之間:

They had built a network on their own, which provided students Internet connection from 2002 till 2013 (when the administration effectively legalized this network).

算是老人懷舊的故事,不過看起來作者留下了大量的照片看起來就更有趣了...

查了一下資料,交大應該是 1993 年 1992 年就開始有宿舍網路了 (可能更早?),而且是校方用同軸電纜 (Coaxial cable) 拉的,後來經過更新也換到雙絞線了 (UTP,Twisted pair),現在應該是 1Gbps 的頻寬,不過不知道建築物之間是怎麼放的了。(大概還是光纖,依照集縮比應該是跑 10Gbps 的協定,S 系列的那幾個可能距離都太短,大概是 L 的吧,不知道是幾對...)

首先這是個橫跨整個主建築物的網路建制,分成五個大區塊:

Google Maps 拉一下距離,光是兩端的直線距離就快要 0.5km 了,應該沒找錯建築物,看起來是這棟沒錯...

從作者提供的圖片也可以看出來建築物本身超大:

回到網路的部份,本來是用 10Mbps 的 Hub 接 (算是 2002 年比較好取得的網路設備?),但因為是 Hub 所以頻寬使用率不高 (Collision domain 的效率下降),換成 Switch 後降低了很多不必要的流量:

In the beginning, there were only 10 Mbps hubs available. They were extremely slow because the packet arriving at one port was mirrored to all other ports, flooding the network with unnecessary traffic. Later they were replaced by L2 switches, that are smart enough to choose the destination port for the packet.

但宿舍網路是有競爭對手的,兩邊常常破壞對方 XDDD

Having two competing networks was a cherry on the top of it. They were cutting each other’s cables, executing DDoS attacks, stealing equipment, etc.

然後是拉光纖對接幾個主要的區塊,以上面剛剛拉出來的數字來看,應該是因為雙絞線 (UTP,Twisted pair) 的 100 公尺長度限制,所以這部份必須透過光纖:

To connect this router to the other parts of the network, we laid fiber cables through secret passages in the walls, ceilings, floors, and ventilation shafts.

然後用 Switch 再拉到每個房間 (所謂的 Last mile):

然後外部就沒在怕你的拉:

還包括了把 UTP 的八芯線分開用的方法,這邊提到了 100Mbps 應該是升級上去了:

Most of the time, we managed to reduce the number of cables coming out of the window down to ~15. We could do this because of a simple trick: the regular ethernet cable (Cat 5e) has 8 wires. And to transmit 100 Mbps, you need just 4 of them. All 8 wires are required only for a 1 Gbps connection. So using a single cable, you can connect 2 clients who live close to each other. We always tried to do that if possible because the hole can’t fit so many cables.

往後拉一點的樣子:

後面講到很多故事以及常見的 trouble shooting 問題,現在的網路設備能支援的架構好太多,應該都有比較好的解法了...

不停機把 server 搬到兩百米外的機房

Hacker News Daily 上看到的有趣故事,作者在 Reddit 上描述怎麼不停機把實體的伺服器搬到兩百米外的機房,中間還經過了停車場:「[Rant... sorta] Physically moved a server today...」,另外作者的 FAQ 在「[FAQ][Rant... sorta] Physically moved a server today...」這邊可以看到。

我會把這個當故事看一看就好,裡面還是有一些細節沒有被敘述 (像是網路不斷線的部份),感覺不太對,但就一個故事來看是蠻有趣的 XD

搬運的過程中間包括了使用 UPS 與多顆 switch 對接,另外中間經過一個停車場,算是很有趣的方式?

謠言說蘋果要將蝴蝶鍵盤退役...

9to5Mac 的報導說 Apple 要改用剪刀式的設計:「Kuo: Apple to include new scissor switch keyboard in 2019 MacBook Air and 2020 MacBook Pro」。

取自「File:Scissor switch mechanism.svg」這頁。

Apple is apparently set to ditch the butterfly mechanism used in MacBooks since 2015, which has been the root of reliability issues and its low-travel design has also not been popular with many Mac users.

In a report published today, Ming-Chi Kuo says that Apple will roll out a new keyboard design based on scissor switches, offering durability and longer key travel, starting with the 2019 MacBook Air. The MacBook Pro is also getting the new scissor switch keyboard, but not until 2020.

還沒真的放出來前都不能確認...

增加工作效率:關閉 Mac 上切換視窗時的動畫效果

把各種動畫效果時間減少主要是因為要降低對「短期記憶」的影響,尤其年紀大了以後特別有感覺:

短期記憶(英語:Short-term memory,也稱為primary memory或者active memory)是記憶的一種類型,它可以在頭腦中讓少量資訊保持啟用狀態,在短時間內可以使用。短期記憶的持續時間(在沒有複述或者啟用的情況下)以秒計算。與長期記憶相比,短期記憶對資訊的儲存時間較短,資訊儲存的容量也很有限。關於短期記憶的容量,一個常常參照的數字是7 ± 2 個元素。

在這個基礎下,半秒鐘到一秒鐘的動畫效果對於短期記憶的影響其實非常大,所以花了些時間找看看怎麼關掉...

後來在「How can I disable animation when switching desktops in Lion?」這篇翻到,裡面主要有兩個方法,一個是用 command line 的方法,但我測了不會動 (在 10.14.3 上),另外一個方法是已經被整合進系統了:

改了以後快不少,但要習慣一下...

加州的手機防竊提案讓失竊率下降不少...

2013 的時候提過「加州的手機防竊提案...」,後來在 2015 年生效:

In a press release sent to reporters on Thursday, George Gascón said that since the law went into effect on July 1, 2015[,]

在兩大陣營都有類似的功能:

Such a kill switch has become standard in all iPhones ("Activation Lock") and Android phones ("Device Protection") since 2015.

而執行到現在已經兩年了,手機的失竊率下降不少:「San Francisco DA: Anti-theft law results in huge drop in stolen phones」。

[S]martphone-related robberies have fallen 22 percent from 2015 to 2016. When measured from the peak in 2013, "overall robberies involving smartphones have declined an astonishing 50 percent."

變成要找人殺肉才能處理,增加被竊後的處理難度與成本...

Facebook 因為 Connection Pool 選擇機制,加上系統的複雜性而導致的慘案...

Facebook 的 engineer 寫了一篇文章,說明他們花了超過兩年的時間找到一個 bug:「Solving the Mystery of Link Imbalance: A Metastable Failure State at Scale」。

整個故事是個通靈的故事...

Facebook 在底層的架構使用了 Link Aggregation 的規劃,多條線路 channel bonding 在一起連到骨幹上。但發現有時候會卡在某一條線路壅塞而導致 system failure。

於是就一路追下去,從 switch 本身開始懷疑,最後去組織跨部門的研究小組跳下去分析 (通靈)。後來才觀察到是因為 connection pool 的機制本身用的演算法在 Facebook 這個複雜的系統架構下造成的慘案...

當 query burst 發生時,Facebook 的系統會同時到 50~100 組資料庫撈資料出來寫入 cache,而 connection pool 的機制用的是 MRU (Most Recently Used),從 congestion link 回來的 connection 會在 pool 裡面的最上方,於是就愈來愈塞...

知道問題後,解決的方法就簡單多了。只是把 connection 選擇演算法從 MRU 換成 LRU 後就解決了,但中間用了超過兩年的時間,以及至少 30 個人的努力才把問題找出來並且解決。

可以看到最後銘謝的對象一卡車:

Thanks to all of the engineers who helped us manage and then fix this bug, including James Paussa, Ernesto Ovcharenko, Mark Drayton, Peter Hoose, Ankur Agrawal, Alexey Andreyev, Billy Choe, Brendan Cleary, JJ Crawford, Rodrigo Curado, Tim Eberhard, Kevin Federation, Hans Fugal, Mayuresh Gaitonde, CJ Infantino, Mark Marchukov, Chinmay Mehta, Murat Mugan, Austin Myzk, Gaya Nagarajan, Dmitri Petrov, Marco Rizzi, Rafael Rodriguez, Steve Shaw, Adam Simpkins, David Swafford, Wendy Tobagus, Thomas Tobin, TJ Trask, Diego Veca, Kaushik Veeraraghavan, Callahan Warlick, Jason Wilbanks, Jimmy Williams, and Keith Wright.

最後附上 Facebook 解釋的圖:

AWS 的 ELB 可以自訂 HTTP/HTTPS Timeout 時間了

Elastic Load Balancing 之前的 timeout 時間是預設值 60 秒,現在可以自訂時間了:「Elastic Load Balancing Connection Timeout Management」。

文章裡有提到好處:

Some applications can benefit from a longer timeout because they create a connection and leave it open for polling or extended sessions. Other applications tend to have short, non- recurring requests to AWS and the open connection will hardly ever end up being reused.

目前可以設定 1 秒到 3600 秒,預設值是 60 秒。

加州的手機防竊提案...

由於手機的行竊與搶劫案件已經是美國目前遇到的重大問題,所以有幾位法界人士提案,要立法強制對手機業者實作行動電話的防竊機制:「Proposed California Law Would Mandate Smartphone Kill Switch」,報導在「Proposed California law would mandate smartphone kill switch」。

希望藉由這套防竊機制,讓銷贓變得困難,希望藉此降低手機行竊與搶劫的案件數量...

Kill Switch 的機制並沒有詳細說明,不過應該就是類似目前 Apple 的方式?可以遠端強制對手機下鎖上甚至銷毀的命令...

Linode 骨幹升級,傳輸量限制提昇為原來的十倍!

Linode 剛剛發表了「Linode Nextgen: The Network」,對外說明他們砸了大筆銀子在骨幹網路上,於是把本來的傳輸限制提昇為原來的十倍。也就是本來限制 200GB 的 Linode 512 就變成 2000GB。

六個機房都包括在內:(於是東京機房也是其中之一)

We’re upgrading our entire network, in all six datacenters.

然後所有架構都是以 Cisco Nexus 為主:

看起來 Cisco 給了很漂亮的價錢讓 Linode 廣告... XD

這麼多頻寬好像可以拿來幹些事情... (來想看看)