2008年10月28日 星期二

NS2 modules (patch)

patch語法概要:(unified format;using -u option)
--- $新檔名
+++ $舊檔名

被@@包夾代表其修改(增刪)之行號
e.g.
@@ -58,7 +58,7 @@
從第58行刪去7行,再從第58行加入7行
前有+ 表增加之行;
- 表刪去之行;
無+- 表示是參考點,不做修改。
note: 要注意增刪行數不同時…會導致下方相對位置不同。(需在筆記上特別註記)

diff 語法概要:
return value:
兩檔案相同,return 0
不同,return 1, 並列出不同處。

patch usage:連結patch -p1
patch -p0
-p option我比較喜歡將之解讀成去掉幾個"/" (目錄結構中的/),不然看man page真的太難懂了。

Reference:
http://hpds.ee.ncku.edu.tw/~smallko/ns2/module.htm
http://www.cpqlinux.com/patch.html連結

2008年10月23日 星期四

Dia試用

Dia 超好用的,比Visio好用多了。因為我只需要畫超簡單的圖啊啊啊~
謝謝alextwl.
:)

2008年10月21日 星期二

CVS note

in ~/.bashrc add:
export CVSROOT=:pserver:username@ms11.voip.edu.tw:/home/cvsroot/

reinstall OS: tintin version

  • OS preparation
  • disk check,
  • install Linux on /dev/sda2 (Don't ruin Windows OS, although it has a lot of virus XD)
  • liu input method(gcin)
  • ns2(specific version:combine ns2-2.31, dccp, voip module.....兩個模組相衝,除非我重寫patch檔...只好只先裝dccp..)
  • pidgin adjustment
  • w32codecs|download page

2008年10月17日 星期五

計網作業二

計網作業二(老爺偷改版)
  1. Use Wireshark to analyze the packets sent from your NIC. Determine the manufacturer according to its OUI.
  2. Save the frames you captures in files. Check the list of all Ethernet frame types in RFC 5342 (BCP 0141). How many different frame types did you observe in your dormitory and NCNU computer classrooms, respectively?


計網作業二(舊版)
  1. Find a list of all Ethernet frame types.
    Hint: Read the document RFC 5342 (BCP 0141)
    Some Ethertypes Specified by the IETF

    0x0800 Internet Protocol Version 4 (IPv4)
    0x0806 Address Resolution Protocol (ARP)
    0x0808 Frame Relay ARP
    0x880B Point-to-Point Tunneling Protocol (PPTP)
    0x880C General Switch Management Protocol (GSMP)
    0x8035 Reverse Address Resolution Protocol (RARP)
    0x86DD Internet Protocol Version 6 (IPv6)
    0x8847 MPLS
    0x8848 MPLS with upstream-assigned label
    0x8861 Multicast Channel Allocation Protocol (MCAP)
    0x8863 PPP over Ethernet (PPPoE) Discovery Stage
    0x8864 PPP over Ethernet (PPPoE) Session Stage

    Some IEEE 802 Ethertypes

    0x8100 IEEE Std 802.1Q - Customer VLAN Tag Type (C-Tag, formerly
    called the Q-Tag)
    0x8808 IEEE Std 802.3 - Ethernet Passive Optical Network (EPON)
    0x888E IEEE Std 802.1X - Port-based network access control
    0x88A8 IEEE Std 802.1Q - Service VLAN tag identifier (S-Tag)
    0x88B5 IEEE Std 802 - Local Experimental Ethertype
    0x88B6 IEEE Std 802 - Local Experimental Ethertype
    0x88B7 IEEE Std 802 - OUI Extended Ethertype
    0x88C7 IEEE Std 802.11i - Pre-Authentication
    0x88CC IEEE Std 802.1AB - Link Layer Discovery Protocol (LLDP)
    0x88E5 IEEE Std 802.1AE - Media Access Control Security
    0x88F5 IEEE Std 802.1ak - Multiple VLAN Registration Protocol
    (MVRP)
    0x88F6 IEEE Std 802.1Q - Multiple Multicast Registration
    Protocol (MMRP)
    0x890D IEEE 802.11r - Fast Roaming Remote Request

  2. Use Wireshark to analyze the packets sent from your NIC. Determine the manufacturer according to its OUI.

作業繳交方式:

請在工作站上用mail指令,標題標明"[CN HW2] 94321001",將 source code寄到"cn-ta@voip.edu.tw" 這個E-mail address.
e.g. mail -s "[CN HW2] 94321001" cn-ta@voip.edu.tw < echoserver.c
註:學號請填自己的,不要寫別人的。

Shell Script note

Shell script 第一行:#!/
#引入所用直譯器路徑,ex. #!/bin/awk #!/usr/bin/bash #!/bin/sh

shell依照$PATH變數內存的路徑搜尋可執行檔來執行
echo $PATH
/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin
新增個人可執行檔存放目錄,請修改家目錄底下的.profile檔,
export PATH=$PATH:$HOME/bin #$HOEM/bin為新加入 的搜尋路徑




單引號 vs. 雙引號

變數(variable)

ns2 note

Format of trace output .tr file:
action
time
from node
to node
type
packet size
flags
fid
source address
destination address
sequence number
packet id

screen usage note

Screen 很好用,所以記一下用法。

ctrl +a :所有使用screen大抵都以ctrl+a 來起頭
"ctrl+a" plus "ctrl +d" :detach: 脫離現在session, 但此session仍在運行,之後可以再attach回來,原本運行的程式仍在runtime

screen -ls:列出所有screen session

screen -r : attach 原本被detach的session; 若是有兩個以上為detach狀態之session, 則需加上識別參數…例如process id (我會把常掛irc的那個session process id不小心背下來),可用tab鍵補完。




***活用screen, 生活更easy!!***


-連結
如何應用:

1. 在兩個以上資料夾之間穿梭或同時需要編輯程式碼及執行程式。
雖然push & pop 也可以來回穿梭在各個資料夾之間,但是總是用不慣…(腦中沒有那樣的圖畫啊啊啊~~阿呆)

2. irrsi常掛irc?(可是我沒有很愛掛XDD)|link1
link2

link3(putty編碼設定)
連結
3. 記錄指令使用歷史(cf.bash_history)
4.寬螢幕者必學。C-a + |  垂直分割視窗。可用來一邊檢視原始碼,一邊debug.
cf: C-a  + S 是水平分割。
(愛分幾個就分幾個,只是視窗太小也很難工作便是…)

2008年10月15日 星期三

Demo注意事項

  1. 以後每次 demo 請每位同學準備
    • 10 分鐘的簡報: 說明你的系統架構,以及等一下要進行的流程
    • 10 分鐘的操作 - 記得口頭說明時要強調,你希望看的人注意到哪些重點
    • 10 分鐘的 Q&A 及討論
  2. Demo 後請把我們討論的 TODO list 寫下來寄給我。

2008年10月11日 星期六

Gnuplot note

(只記好用常用的)

plot "data.txt" with lines

set grid #有格線

set xtics pi/2 #設定x軸點之間隔

set terminal gif #設定輸出格式

set output 'test.gif' #設定輸出檔名

save 'gnuplot.set' #儲存目前的設定和function, 將來可用load 'gunplot.set'取出現在的所有設定

D-ITG note

號稱可產生多個DCCP流

2008年10月10日 星期五

VoIP Codec notes

G.711:
  • 最普遍的codec
  • 延襲於circuit switch的世界XD
  • 又稱PCM(Pulse Code Modulation)
  • one sample 8 bits, and PCM uses 8kHz sampling rate
  • →8 bits * 8k Hz = 64 k bit per second (64 bps)
GSM
G.729
ADPCM(Adaptive Differential PCM)
DTMF(Dual-Tone Multifrequency) Digits
Nyquist sampling theorem(p86)

計網小考猜題10/10

Nyquist's theorem
ex.5.4
Use Nyquist's theorem to determine the maximum rate in bits per second at which data can be sent accross a transmission system that has a bandwidth 4000 Hz and uses four values of voltage to encode information.

Shannon theorem

PSM(Phase-Shift Modulation)
  • in order to encode more bits in one cycle (according to Nyquist theorem)
  • 可encode 3 bits/cycle →2B變6B
  • 0,90,180,270
Error Detection
  • Parity check
    • even(湊到偶數個1)
    • odd(湊到奇數個1)
    • ascii code: 7 bits + 1 bit parity bit
  • Checksum
    • 會考!記得4個16位元數字一組,不夠的補零
  • CRC(Cyclic Redundancy Check Code)(這次先不考,但會出作業)
    • notation: F: frame(就是data啦~), P:除數, R: 餘數
    • sender:
      • F mod P=R, F'=F+R(附加在後),送出F'
    • receiver:
      • F' mod P=R'
    • check:
      • R=R' (correct) R<>R' (error)
    • 重點在怎麼除:
      • 字串頭為零,直接往左移
      • 字串頭為一,作XOR
    • 如何選擇除數?
      • 待續...
(因為老爺說他花很多時間在這幾個機制上,所以大膽預測會!!)
Reference:
矛与盾的较量——CRC原理篇:很好懂的介紹

2008年10月9日 星期四

計網作業二

draft:
計算機網路作業二:暢所欲言的聊天室
作業描述:
請修改chatserver 及chatclient程式,使其可以溝通無礙。
因為範例程式一次只能傳遞一句話,若有一方多說了幾句,就得等待對方也說了話,你說的第二、第三句話才會被顯示在對方的螢幕上。請修改範例程式,讓他們能愛說幾句,就說幾句。(不過buffer是有限度的。XD)

評分標準:
90分--達到暢所欲言的效果。
高於90分--其它特異功能會加分,不過請在註解中以英文說明你加的功能。

繳交期限:
未定,再討論。

計網作業一

作業一:echoserver進化版
請修改echoserver程式,使其可以在server端同時顯示echoclient傳來的字串。

作業繳交方式:
請在工作站上用mail指令,標題標明"[CN HW1]94321001",以附加source code檔的方式,寄到"cn-ta@voip.edu.tw" 這個E-mail address.
e.g. mail -s "[CN HW1] 94321001" cn-ta@voip.edu.tw < echoserver.c

評分標準:
70分:echoserver端會顯示接收到的字串,但是會有亂碼。
90分:echoserver端能正確顯示接收到的字串,且echoclient輸入兩次以上之後,不會有亂碼產生。
>90分:加其它功能,則酌量給分。

2008年10月8日 星期三

計網小考猜題

Ch5,Ch6 Review:

Baseband vs. Broadband
Simple Duplex
Half Duplex
Full Duplex
AM:Amplitude Modulation
FM:Frequency Modulation
TDM, FDM

--

各種連接LAN的裝置

Repeater:
有Amplifier的作用,但僅做relay的動作(收什麼就送什麼)

Bridge:
不傳noise
Always transmits broadcast and multicast packets→cause packets storm

Hub:
1th layer

Switch:
2nd layer

Router:
3rd layer

Repeater Hub:
Switch Hub: