2006-06-30

summer vacation

summer vacationThis entry was originally published at 抓~ 抓到一隻瞌睡蟲

終於到了, 你有三天的summer vacation, 不錯了吧.

剛剛去把NSD的OS project解決掉了, 所以可以回家打電動了, 話說回來, 這學期和OS有相關的作業還真不少. (誰叫我修了OS, 然後NSD的project又有選OS呢? XD)

菜配說看我頭髮留多長就知道我多久沒有回家了, 這次算一算應該是三個月左右. 我哥叫我趕快回去幫我弟修電腦, 不然他會被我爸念… 可是, 為什麼我弟不會換power呢? 這是個好問題, 我回去問我弟.

2006-06-29

註冊IP

註冊IPThis entry was originally published at 抓~ 抓到一隻瞌睡蟲

這個帥, 到現在為止, 上個學年的DNS record都還在, 歡迎大家使用. 不過網路是可以通了啦, 只是反查出來的東西是別人的, 感覺怪怪.

一、配合宿舍搬遷,自 6/29 凌晨零時停止 IP 註冊服務,並於同日 7:40 清除 IP
註冊資訊。

二、IP 註冊服務於 6/29 早上 8:00 開放,住宿同學請連至
https://services.ccca.nctu.edu.tw/ipreg/ 登記新的 IP 使用。

三、提前搬入的同學,若在此次清除 IP 前有註冊 IP 者,
在 6/29 清除 IP 後仍需重新註冊。

四、碩博士班住宿新生請先取得 D2 帳號及密碼:
https://d2.nctu.edu.tw/

五、如有問題請 E-mail 至 ip@ccca.nctu.edu.tw 或校內分機 #52833。

─────────────────────────────────────
國立交通大學 計網中心 資訊館 101R
CCCA … 無限拓展你的視野 校園網路策進會 Tel: (03)5712121-52833
E-mail Address: CCCA@CCCA.NCTU.edu.tw
─────────────────────────────────────

硬碟的墓地

硬碟的墓地This entry was originally published at 抓~ 抓到一隻瞌睡蟲

我有一個壞習慣, 就是有些壞掉的東西我會堆著. 有圖有真相

DSCF2144

這大概是從大一堆到現在吧.

2006-06-28

特色通識課程 - Network System Design: Methodologies and Tools, Spring 2006

特色通識課程 - Network System Design: Methodologies and Tools, Spring 2006This entry was originally published at 抓~ 抓到一隻瞌睡蟲

course objective可以參考這裡

老實講, 看到topic可能會有那麼一點點感覺, 好像這門課可以學很多東西, 但是上了這麼一個學期以後, 我的感想是, 大部分的時間都不知道怎麼樣過的, 然後就開始寫作業, 交term project, 考final…

其實原因是這樣(我覺得), 就系上現有的必修和選修, 我們可以學到的東西, 其實可以包含design track, research track的部份是比較沒有接觸過的部份, design track的部分又可以再分成前後, 前半部份(NIC, BSP, switch), 倒是比較少有機會上到這種課. (扣掉BSP, 那個embedded會上, 嘖嘖…)

也許是因為真的想要開一個很有特色很秋的課程, 然後給了一個all-in-one solution, 但是這個all-in-one solution我覺得沒有很好啊, research track想上的課消失掉了, 時間也很短, 我覺得simulation應該會蠻有趣的, modeling的部份就是那個消失的密室, 喔不是, 是消失的session.

其實每個topic都還蠻值得去上整個學期去學個夠的, 所以這門必修課反而變成了特色通識課程, 不知道系上會不會有機會開simulation+modeling的課程.

會突然想到這個是因為今天一部份的考卷改好了(OS的), 我跟Hubert說我把講義上面所有跟TCP Vegas跟TCP Reno的部分全抄上去了, 然後為了看起來不像抄的, 我在考試的時候自己看一遍, 然後翻成四不像中文來混淆視聽, 不知道會不會比那些直接抄上去的好呢? 其實也沒有啦… 倒是這麼樣的一個final, 我猛然不了解它的考試用意, 像是某某session(就是在說你, switch…) 考mini-project的東西是怎樣, 我就沒在印那種東西的啊, 囧. 然後是有口皆碑的NIC, 沒錯, 就是NIC那個有上過大學部SoC的都會感同身受, 除了嘴砲, 就是嘴砲, 當mini-project出現的瞬間, 我傻了, 上課真的有講過嗎? 好吧, 只是做出spec的東西, 是不夠的, 何況我們已經是研究生了, 要會自己去找答案, 不管是去偷去騙去搶, 生命總是會找到出路的. 不過, mini-project的驚嚇程度, 遠不如final的驚嚇啊, 十五分我就這麼送它了. server的更酷, 寫個iterative, connection-oriented server, 整個就是帥, 還好我認真的印了server的講義, 不然考試沒有的man啊, 何況我又是那個網工所唯一不會socket programming的傢伙.

就這樣, 一個學期的奇幻之旅就這麼結束了, 很驚奇, 也很精采, 我在一個小時前才剛把這個課程的最後一個project寫完, 還有報告呢! 我看我該回寢室洗澡了.

2006-06-25

linda好笑的例子

linda好笑的例子This entry was originally published at 抓~ 抓到一隻瞌睡蟲

前幾天Hubert突然問我linda上課會舉的奇怪例子, 我一時之間想不起來, 結果我發現其實我有記起來: 這個世界不是FIFO

嗯… 果然有記起來

2006-06-24

OS project跑起來的樣子

OS project跑起來的樣子This entry was originally published at 抓~ 抓到一隻瞌睡蟲

怕demo之前機器出包, 先偷錄一下.




裡面還有bug… -_-||| 另外一邊我是用raw socket的那支程式去丟ethernet frame

2006-06-23

人生本是賤 - 我的OS term project

人生本是賤 - 我的OS term projectThis entry was originally published at 抓~ 抓到一隻瞌睡蟲

從大三專題做sniffer到現在要研二了, 連個OS term project也是做sniffer, 酷威…

喔, 其實是因為我覺得這個寫出來的OS沒有網路相當於一個人沒有了眼睛, 沒有disk-IO的作業系統相當於一個人沒有了嘴巴跟屁股… (為什麼是沒眼睛呢? 因為沒有網路, 就不能上網看美圖了.)

為了醫治這個作業系統的眼疾(那無嘴症和無肛症呢? 那個在上上次作業的時候參考linux的DMA controller和floppy driver解決了.), 又是參考linux的network的東西…

在崔死扣的過程中, 我發現有一堆(一堆一堆一堆一堆), network device driver裡面, 都有(我有看過的部份都有!)Donald Becker這位老兄, 現在project寫完了, 要感謝的人太多了, 就感謝Donald Becker吧. XD

qemu給你看page directory長得像怎樣

qemu給你看page directory長得像怎樣This entry was originally published at 抓~ 抓到一隻瞌睡蟲

我的page directory長得像這樣

paging

好吧, 是因為上次demo作業想要拿出來用的, 不過助教不准這個偷吃步.

tap interface

tap interfaceThis entry was originally published at 抓~ 抓到一隻瞌睡蟲

剛剛發現一件事情, 根據linux kernel的documentation/networking/tuntap的部份

2. What is TUN/TAP driver used for?
As mentioned above, main purpose of TUN/TAP driver is tunneling.
It is used by VTun (http://vtun.sourceforge.net).

Another interesting application using TUN/TAP is pipsecd
(http://perso.enst.fr/~beyssac/pipsec/), an userspace IPSec
implementation that can use complete kernel routing (unlike FreeS/WAN).

3. How does Virtual network device actually work ?
Virtual network device can be viewed as a simple Point-to-Point or
Ethernet device, which instead of receiving packets from a physical
media, receives them from user space program and instead of sending
packets via physical media sends them to the user space program.

Let’s say that you configured IPX on the tap0, then whenever
the kernel sends an IPX packet to tap0, it is passed to the application
(VTun for example). The application encrypts, compresses and sends it to
the other side over TCP or UDP. The application on the other side decompresses
and decrypts the data received and writes the packet to the TAP device,
the kernel handles the packet like it came from real physical device.

4. What is the difference between TUN driver and TAP driver?
TUN works with IP frames. TAP works with Ethernet frames.

This means that you have to read/write IP packets when you are using tun and
ethernet frames when using tap.

5. What is the difference between BPF and TUN/TAP driver?
BFP is an advanced packet filter. It can be attached to existing
network interface. It does not provide a virtual network interface.
A TUN/TAP driver does provide a virtual network interface and it is possible
to attach BPF to this interface.

第四點對我而言比較有用, 而且我另外發現的是, 之前說的惡搞raw socket的部份, 在tap interface上面是沒辦法搞定的, 要再找資料了.

我瞎了, 跑錯測試的程式… 其實可以work啊, 只是我沒有弄對interface的index而已. 有沒有比較聰明的方法拿到interface的index呢? 現在我是從/proc讀出來的.

怎麼不會interrupt呢? 囧

怎麼不會interrupt呢? 囧This entry was originally published at 抓~ 抓到一隻瞌睡蟲

上次把floppy controller的東西搞定以後, 為了簡單愚蠢可以demo, 原本mask掉的interrupt, 到現在都還沒有開回來…

結果試了半天, 最後才想起來根本就是mask掉沒有開, 難怪我的機器不會亂叫.

8259 PIC 我真不懂你啊 XD