莫斯科大學的學生自己在宿舍架設宿舍網路的歷史故事 (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 問題,現在的網路設備能支援的架構好太多,應該都有比較好的解法了...

Blackboard Learn

有時候 Hacker News 上會有一些有趣的問答,像是這篇了有哪些你每天會用到,但卻幹翻的軟體 (下面的討論比較廣義,包括是服務):「Ask HN: What's the worst piece of software you use everyday?」。

先說一下,因為 Hacker News 有分頁的機制,記得看到底以後點 more 看下一頁。

其實沒什麼意外的,知名的軟體都會被幹,包括 AWSDockerSlack 之類的 (然後還看到 Git 也有人幹)。

不過比較意外的是目前在第一頁第一項 (代表分數很高) 的項目,看起來寫的人有滿滿的恨意:

Sorry, but everything listed here is rank amateur stuff when compared to Blackboard Learn (https://en.wikipedia.org/wiki/Blackboard_Learn).

下面的回覆也是一片幹,完全沒什麼人想辯解...

翻了一下維基百科的「Blackboard Learn」條目,看了裡面的「介紹」,似乎不太意外...

像是用了一年就換掉的:

In addition, a number of educational institutions, teachers, and students have expressed concerns about the reliability of Blackboard. McMaster University in Hamilton, Ontario, Canada, has replaced their Blackboard system after multiple problems during one year of use.

因為問題與成本關係換成 open source 的 Moodle

Citing numerous glitches and high costs, many universities are turning to the cheaper, open source alternative Moodle, including Montana State University, Vassar College, California State University, Long Beach, and many other schools.

炸掉的:

Rensselaer Polytechnic Institute's implementation of the system notably suffered sporadic outages in the Grade Book section during the finals of the Fall 2014 semester.

然後這次 COVID-19 也有災情:

In Spring 2020, during coronavirus pandemic, Fairfax County Public Schools, one of the largest school system in the United States with 189 thousand students abandoned Blackboard Learn 24/7 after weeks of unsuccessful attempts to use it. The issues included, poor security allowing live instructions to be hacked and disrupted and inability for the system to cope with the volume even on the days when only elementary schools were using the system.

記得交大以前也有用過 Blackboard 的產品 (不確定用的產品跟 Learn 有沒有關係),網址是 bb.nctu.edu.tw (搜一下還可以看到一些痕跡),但現在也查不到了,後來也沒聽到消息了...

關於圍棋貼目的問題...

前陣子 AlphaGo 大獲全勝後放出了五十盤自戰棋譜 (兩台 AlphaGo 自己下),其實有件事情有點出乎大家意料,而在圍棋界被一直討論。就是在這五十盤裡,黑棋與白棋的勝率比是 12:38 (中國規則,黑棋貼 7.5 目的情況),明顯白棋有強大的優勢。

這個 7.5 目指的是,由於黑棋先下 (先手優勢),所以圍的地會比較多,為了彌補白棋後下的這個缺點,一般都會設計「貼目」這個規則。

交大資工的 CGI 團隊在上個月月底發了一篇論文 (參考「CGOS Whole Period Ratings for 19x19 Board」這邊的記錄,在有參加 CGOS 的團隊裡只輸新版的 Zen),討論 value network 的新想法:「Multi-Labelled Value Networks for Computer Go」。

他們對貼目的數量做了分析:

For the training data, we label on output ?? as follows. For each self-play game, first calculate territory difference ? at the end of the game. Then, based on the Chinese rule, label 1 (win) on ?? for all ? < ?, and -1 (lose) for all ? > ?. (Note that the draw case ? = ? is ignored in this paper since the komi is not an integer normally.) For example, if black occupies 7 more points of territory than white, the ?-komi game is considered a win for all ? < 7, and a loss for all ? > 7. Thus, in this case, a 7.5-komi game is a loss, and a 6.5-komi or 0.5-komi game is a win.

這個研究完全顛覆了目前職業棋手一般的理解。目前的理解是,貼 5.5 目是黑棋優勢,貼 7.5 目是白棋優勢 (所謂的大貼目時代)。

接下來應該會有更多的研究出來,圍棋界會不會反思貼目規則呢...

交大的 Single Sign On 系統

Facebook 上看到這個消息:「交通大學 OAuth 平台上線!」,由於 D2 E-mail 系統上沒什麼資料,主要賣點還是 Single Sign On 的部份。

當初想要做 OpenID 的 SSO (當年已經有 OpenID 1.0),跟 cschen 申請了 sso.nctu.edu.tw (還掛在 ccreader 上呢),但後來還是沒實做出來 (也忘了是什麼原因),過了快十年總算有人跟計中合作跳下來做了 XD

SSO 很多人都能做 (像是透過 POP3S 或是 IMAPS 認證,甚至透過網頁登入確認),但只有帶著官方名義做才有意義 (也就是本來就碰的到密碼的人來管理),這次唯一可惜的是還沒有讓系統完全自動化... (i.e. 自由申請)

跟老師吃飯...

劉老師交大退休後,以前與 CCCA 有淵源的人差不多都會在每年年底的時候約老師出來聚餐 (被稱為「期末總檢討」)。不過去年年底沒約,趁著過完年後另外找時間跟老師聚聚聊天,於是蔡依林去餐廳訂了這個星期天中午的位置,大家坐著聊一聊...

中間聊天的過程就略過了,一群老人在懷舊嘴砲 :o

跟以往差異最大的,大概是老師開刀後身體比較需要休養,之後不方便跟他拼白酒了... XD

INN 裡 mailpost 需要修正的部份...

上個禮拜把 Group.NCTU.edu.tw 遠端升級到 7.4-RELEASE (從 6.4-STABLE),但有人寫信反應,從 Ptt 透過信件貼到板上會失敗,找不到之前 patch 的重點,只好從頭開始一個一個解,總算是解決了:

  • 當信件內沒有 Date header 時,mailpost 會送出錯誤的 Date 欄位。目前的解法是直接不送 Date 欄位。
  • 當同一封信件寄到不同信箱時 Message-ID 會相同,不能直接帶入 newsgroup 中。目前的解法是無視信件內的 Message-ID,自己生一個。

現在這樣應該是正常了...

話說 Group.NCTU.edu.tw 最近被提說要換機器...

計中寫信來問 Group.NCTU.edu.tw 那台機器有點舊了,要不要換機器...

連進去看一下,這系統好舊啊... XD

CPU: Intel Celeron (601.37-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x68a Stepping = 10
Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory = 520081408 (495 MB)
avail memory = 495312896 (472 MB)

換機器的時候順便來重寫吧,有些 plan 想做... 其中最想做的就是抽走 twbbs.org。

當初會用 twbbs.org 當其中一道 backend 的時候是因為當時 twbbs.org 是由 Ptt 的人代為管理,結果現在亂七八糟的,早點抽掉會比較好...

交大斷網

北區凌晨 00:00 ~ 06:00 斷電,結果斷電後國內是通的,但國際電路卻不通... (印象中這些 router 都是放在一起的,不知道哪裡出問題) 看了一些 server,發現有些 server 有開起來,但有很多 server 沒有開起來,DNS 只有 140.113.6.2 起來,另外兩台 (140.113.1.1 與 140.113.250.135) 都沒起來。另外,Group.NCTU.edu.tw 沒開起來,也許等早上再看看情況吧。

印象中很久沒斷這麼久... (尤其是 DNS,通常不會擺爛到早上再處理)

多設幾個不同網路上的 DNS Server

在討論 DNS 的穩定性時,都會要求要把網域名稱多設幾個 NS RR,而且要在不同的網路上。不過很多人都認為有兩台機器就好了,如果連外斷掉那麼服務本來就會中斷,沒有影響。

這是錯誤的觀念,尤其是電子郵件。

停電維修六個小時,而負責 ntu.edu.tw 的三台 DNS 主機都連不上。這使得 ntu.edu.tw 以及 *.ntu.edu.tw 的信件的進出都造成嚴重的異常。

進入的部份,我從寄信到 user@ntu.edu.tw 時會直接收到退信 (錯誤是 "Domain not found" 這類的訊息),但如果台大的 DNS 主機有請其他單位幫忙做 DNS Slave,那麼這封信會被交大的郵件系統暫時存放,而不會直接退給發信人。

出來的部份,假設有教職員在家使用 ,以 user@ntu.edu.tw 的來源發信到交大,交大的郵件系統在檢查信件來源時,就會以 "Domain not found" 的訊息拒絕掉,這個問題一樣可以透過其他單位的 DNS Slave 解決。

這次影響的單位最少包括了:*.ntu.edu.tw (三台 DNS 主機都不通) 及 *.tp.edu.tw (三台 DNS 主機都在台大下游而不通)。

雖然 一直推這件事情,不過直到這兩年我才看到交大與合作,雙方互相幫對方做 nctu.edu.tw 與 nchc.org.tw 的 DNS Slave。

使用的 ns{1,2,3,4}.google.com 看起來很接近 (216.239.{32,34,36,38}.10),也是四個完全不同網段,這點可以從美國的主機 traceroute 走的路線看出來似乎有幾個是不同國家。

等台大網路恢復後,寄封信請他們改善這部份...

Update:工研院改成國網... :/

Update:我才寄了十分鐘,台大計中的 madeline 就回信說他們會朝這個方向改進,nice job :)

幾件事情的近況

這幾天轉正職後就忙翻了,我在弄剛灌好的機器改系統架構,結果原本的機器就爆增四倍的流量,我還被問是不是動到原來架構的東西... XD

先是之前提到的 。我有打算要放 source code 出來,但是有個大問題:現在我只要 svn ci 進去就會自動跑 post-commit,然後自動更新整個系統,如果搬到 就必須用 mail trigger,這部份還要找時間弄 (現在超缺時間)。另外目前跑到 92.5% 了,我訂的目標是 95% 時把 raw data 放出來,希望週末的時候可以寫一些 API。

另外一件事情是 Usenet 的事情,我在年初的時候就一直有跟兔子談 的維護問題,後來發生的事情 (「news.nsysu.edu.tw 關閉」這篇),看起來要另外找地方放了。這個部份還要再想看看要怎麼做比較好。

其他的小事情大多都在 上亂講,不過 的 Jabber bot 怎麼都不會通知更新啊...