2008年11月25日 星期二

Computer Network Lab Class Part 2: network benchmark tools

CN lab2: three network benchmark tools

講授對象:
  • 大四同學
  • 應該都沒用過iperf, ttcp
  • 也不是指令魔人
  • 所以講基本用法時,不要講太快…

Review last week lecture about throughput
(再著重地講一下throughput並非speed...但是自己的觀念「夠」清楚嗎?)

bwping
download source code:
http://tclmon.vsi.ru/files/bwping-latest.tar.gz
(找不到Windows version)
(然後,FreeBSD上得要有root權限才能用…orz...)
利用ICMP測throughput
僅需一端安裝bwping, 只要另一方不會filter ICMP request, 也不會限制ICMP的流量,就可進行測試


ttcp
11/24測試ok!(stu admin還是沒回我信....)
(順便跑一下那篇論文裡的實驗好了…如果時間允許的話)
Windows version download:
http://www.pcausa.com/Utilities/ttcpzip.exe


iperf

Windows version download:
http://www.noc.ucf.edu/Tools/Iperf/iperf.exe

Usage ref: http://www.enterprisenetworkingplanet.com/netos/article.php/3657236
Jperf:
introduction of Jperf
http://openmaniak.com/iperf.php

note:
  • 投影片最好在週二前做好給老爺看過。(那我現在還在混XDD)
  • 要出作業。
  • 全用中文。(還是不要輕易挑戰同學們的易睡度好了XDD)
實驗環境:
client: Windows
server: FreeBSD (stu admin..........可以幫我裝一下嗎?plz....)
+++++++++++++++++++++++
由於課程需要,想在系學會主機上安裝三個網路流量測試軟體,++++++++++++++++++++++++
(還是跟Alex申請virtual server弄一台FreeBSD好了…)
11/25 virtual server好神奇~(by 土包子)
++++++++++++++++++++++++

作業草案:
•妳(你)是被聘請的網管工程師,老闆是你宿舍的房東。XDD
•第一題:年底了,老闆要求妳交出一份貴宿舍的網路速度報告書,並提出改善方案。 •第二題:跟你同事用IM(instant message)討論一下iperf, ttcp, bwping這三種工具好不好用, 然後偷偷把對話記錄寄給我。

(第二題好像有點難寫…)

--
教學投影片下載 by tintin

2008年11月24日 星期一

TA of Python

打算下學期去當Python 這門課的助教。
∵缺$$
不過,是週一早上的課 orz

Reference:
Why Python?
moodle 課程資訊

Windows and Apache IPv6 enable

Windows
under command line: ipv6 install
test: ping ::1
or ping6 ::1 (硬要用version 6的ping...)
(loopback)

Apache
Apache2以降本就支援IPv6, 但Windows version並不能順利跑IPv6, 需下載patch
(還在測試)

OK desu~

測試環境:
Apache 2.2.10
(唐董說不要用Appserv)

client端注意:
請使用ie7 or some kind of ipv6 supporting tool for ie6
請不要在不支援ipv6的nat之後,若此,請安裝自己ISP提供的ipv6 tunnelling solution.

計網作業五:vpn

vpn: virtual private network

作業還在寫…
我要寫OpenVPN...哈哈哈~

Reference:
wifipedia about vpn


====
(作業…好多~orz)

2008年11月18日 星期二

Q: 若是計網作業是在系學會工作站上CLI 方式寄送,如何證明你之前在時限內就已寄出當次作業?

Q: 若是計網作業是在系學會工作站上CLI 方式寄送,如何證明你之前在時限內就已寄出當次作業?

supposed: 你是一般使用者。

Ans: I don't know...

====
所以以後還是用webmail介面或是使用mutt之類的MUA(mail user agent)來寄好了…XDD

CG homework

以下每個年代,請舉出一個代表性的動畫及電玩,並簡要說明之。
80-89

90-99
game:
AOE
(唯一會玩的連線遊戲)
00-05
06
07
08
movie:
功夫熊貓(這應該很難有什麼高超的動畫技巧吧…可是今年我就只看過這部動畫…)連結



====
我這沒骨氣的人,最後還是去修了電腦圖學。
然後,我這個不玩game也不看動畫的人,跟人家修什麼CG啊啊啊~~這作業該怎麼寫好…

暨大SIP server測試

撥話規則:
網路電話撥校內分機prefix:1
校內分機撥網路電話prefix:12
負責人:周紹文4021
server:163.22.4.78
account:5001(一開始我就去申請了。我該不會是最早去申請的吧~ XDD)
codec support:G.729,G.723,G.726,G.711(只有G.711...)

(Linphone supports G.729 怎麼設定?jiayu說要改 source code...金麻煩~)

(11/26)SJPhone,Snom softphone待測試

2008年11月6日 星期四

計網作業四怎麼寫?


Q:
  1. Write a computer program that simulates a bridge function. Let two files of data simulate frames transmitted on two LAN segments to which the bridge is connected. To simulate frame transmission, read a fraem from the first file, then a frame from the second file, and so on. For each frame, show whether a bridge will forward a copy of the frame to the other LAN segment.
  2. Each row in the data files will contain 5 characters:
    • (U,V): U sends to V
    • (Z,-): Z broadcast

兩邊都有一個data file, 每個raw用五個字元代表傳送端和接收端。e.g. (U,V) (Z,-)
每個file要有幾個raws 才夠?(夠的意思是,bridge要學完?)
Ans:幾個都可以,之前是我理解錯誤。

老師說共有A-Z個nodes, 所以一邊會有十三個nodes(不是很確定...)
Ans:兩邊的nodes 是由test data file 決定。



撰寫的語言是否限定為C語言?
Ans:應該是。不然的話,請給助教readme file, 說明如何編譯你的程式。

Note:
交替讀取兩邊的frame data file的用意是,簡化程式流程,不然要真正達到現實生活中的情境,就得參考資料結構中的spanning tree或者在每個frame data raw前加入timestamp欄位。

2008年11月3日 星期一

計網 11/3

review lecture(hanpo)
Quiz
交換改
new topic(ching-ho)


Quiz
=====
ADSL: 名詞解釋、為什麼是非對稱、最大速率、優點(兩個)

T1,T3的速率?

DSU,CSU分別是用來做甚麼用的
HFC
FTTC
PCM

習題12.4

Lazybuntu for KDE

If it cannot work, please install the package below in advance:
apt-get install python-gtk2 #好像預設有裝…XDD
apt-get install python-vte

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:

2008年8月29日 星期五

讀書計劃

有很多文件要讀,在此一列:(因為不會寫程式,所以要讀很多…驚!)

RFC們:

2008年8月17日 星期日

SOP of Meeting Presentation PPT File Preparation

Frontpage:
Speaker:
Advisor:
Date:
Specify the paper original source


---
Content:
  • Add page number
  • You should rehearsal three time or above to get familiar with your presentation
  • Add examples as many as possible

----

You should watch out from head to toe:
  • TYPO(Always enable the spelling check)
  • Unify your format
  • Absolutely avoid "fatal error" in grammar
---
To be continued...

2008年8月13日 星期三

note of installing ns2

On Debian/Linux:
sudo apt-get install autoconf automake g++ libxmu-dev make
(refer to:http://nsnam.isi.edu/nsnam/index.php/Distribution_Specific_instructions)

cd ns2-allinone-2.31
./install
(會有很多警告,但還是可以過)
modify etc/profile:(重要!)
export NS_HOME=~安裝資料夾/ns-allinone-2.31
(設定NS2的主要目錄,以供以下設定使用)

export PATH=$NS_HOME/tcl8.4.14/unix:$NS_HOME/tk8.4.14/unix:$NS_HOME/bin:$PATH

export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.14/unix:$NS_HOME/tk8.4.14/unix:$NS_HOME/o

export TCL_LIBRARY=$NS_HOME/tcl8.4.14/library

驗證
$NS_HOME/NS2-2.31/validate


------------------------------------------------------
For Cygwin:要安裝(補完其它網頁缺漏的)
  • diff
  • gcc
  • gcc-g++
  • gnuplot
  • make
  • patch
  • perl
  • tar
  • X-startup-scripts
  • xorg-x11-base
  • xorg-x11-bin
  • xorg-x11-devel
  • xorg-x11-bin-dlls
  • xorg-x11-bin-lndir
  • xorg-x11-etc
  • xorg-x11-fenc
  • xorg-x11-fnts
  • xorg-x11-libs-data
  • xorg-x11-xwin

edit .bashrc(同上)


飯粒檔的位置:
/home/ns-allinone-2.30/ns-2.30/tc

Ref:
http://hpds.ee.ncku.edu.tw/~smallko/ns2/ns2.htm
http://blog.sina.com.cn/s/blog_4a5f138701000bbv.html

2008年8月5日 星期二

about SCTP

SCTP設計的目的是為了提供更快速的而且更可靠的、更多功能性的signaling transfer

因為比起UDPTCP來說:

UDPunreliablelack of congestion and flow controls

TCPHOL delaylimited scopecan be attacked (SYN attack)

SCTP可以提供一個reliable、不會有HOL delay、而且又快、可以使用multi-homed hosts、不會被DoS攻擊(4-way handshake)

現在的SCTP 提供了哪些功能?

* To ensure reliable, error-free, in-sequence delivery of user messages (optional). 可靠性

* To support fast delivery of messages and avoid head-of-line blocking. 快,沒有HOL delay

* To support network-level fault tolerance that is critical for carrier-grade network performance by using multi-home hosts.network layer fault tolerance

* To provide protection against DoS attack by using 4-way handshake and cookies. – 4-way handshake

最近想好好讀的文件

RFC 2960
RFC 3286

2008年8月2日 星期六

為什麼還不能完全靠Linux工作?

MSN傳檔案及聯絡人的狀態
  • UAs under Linux use old msn protocol
  • 我知道已經有人寫好plugin可以改進了,但是還沒有時間去試。
  • (2008/9/9 note)
  • pidgin-msn-pecan測試成功(Dabian: apt-get intstall; Ubuntu: modify sources.list and apt-get install....官網寫得很清楚)
  • 記得修改msn account 的protocol為WLM(有些版本的pidgin不能修改protocol, 那就要砍掉重練…不是啦!是砍掉帳號,重新設定一個新的帳號)
  • (可顯示他人的狀態,但不能修改自己的狀態…部分可點對點傳輸檔案,不用經過msn server)
不會在Linux底下設定lab那台印表機…
  • 有所謂的公用driver嗎?
  • ok了!…結果,居然是靠文仁傳給我Fedora上的driver才能成功…怎麼一回事?!
不能瀏覽XMS server上的powercam簡報(當然也無法錄製)
  • IE only....無言

2008年7月23日 星期三

Teaching Assistant Task!!!

Compile cnaiapi


Windows:
(說在前頭。Visual studio express version要用Windows SDK真的有夠麻煩…
用正式版的就不用這麼麻煩了)
要用winsock2.h要和ws2_32.lib連結(在system32裡)
Project setting中設定library path
or 加入#pragma comment(lib,"ws2_32.lib")

記得設定路徑
tools->options->VC++ directories->(Show directories for)include files
c:\windows\system32

可以安裝Powertoy 的open command line here工具,在操作上會比較方便。


請先build library, 再build其它檔案,不然一定出錯。

Q:"invalid preprocessor command 'include_next'"
A:

Linux/FreeBSD:
Under compile_linux directory

請詳閱Readme並「按步就班」…XD
  • make cnaiapi.o
  • make apps
---
FreeBSD:
用gmake取代make
--
當助教要認真,不要亂回答問題,也不要用自以為專業的詞解釋給人聽,以免讓人失去對網路的熱愛。
7/23
--
試著練習寫比較複雜的Makefile
8/4

2008年7月18日 星期五

Pidgin Plugin

cited:
FourDollars BlogMSN
-----
protocol for Pidgin

http://code.google.com/p/msn-pecan/ 這個計劃主要在專注在 Pidgin 當中對於 MSN 功能的改善
像是離線訊息、個人訊息之類的
Debian/Ubuntu/Gentoo 的使用者可以參考 http://code.google.com/p/msn-pecan/wiki/HowToInstall 直接安裝來使用就可以了
所以喜歡使用 Pidgin 的使用者還是可以直接享受到 MSN 的一些新功能喔~ :D

About DCCP

DCCP(Datagram Congestion Control Protocol)
  • message-oriented
  • transport layer protocol
Adopted from RFC 4340


Design Rationale(設計原理


One DCCP design goal was to give most streaming UDP applications
little reason not to switch to DCCP, once it is deployed.
DCCP 其中一個設計目標就是讓大多數使用UDP協定的應用程式,在DCCO建置抵定後,都沒有理由不採用之。

To facilitate this, DCCP was designed to have as little overhead as
possible, both in terms of the packet header size and in terms of the
state and CPU overhead required at end hosts.
為了達成此目標,設計DCCP協定時便考量了如何儘可能地減少封包表頭大小、狀態數目和終端主機的CPU荷負。

Only the minimal necessary functionality was included in DCCP, leaving other
functionality, such as forward error correction (FEC), semi-
reliability, and multiple streams, to be layered on top of DCCP as
desired.

Different forms of conformant congestion control are appropriate for
different applications. For example, on-line games might want to
make quick use of any available bandwidth, while streaming media
might trade off this responsiveness for a steadier, less bursty rate.
(Sudden rate changes can cause unacceptable UI glitches such as
audible pauses or clicks in the playout stream.) DCCP thus allows
applications to choose from a set of congestion control mechanisms.
One alternative, TCP-like Congestion Control, halves the congestion
window in response to a packet drop or mark, as in TCP. Applications
using this congestion control mechanism will respond quickly to
changes in available bandwidth, but must tolerate the abrupt changes
in congestion window typical of TCP. A second alternative, TCP-
Friendly Rate Control (TFRC) [RFC3448], a form of equation-based
congestion control, minimizes abrupt changes in the sending rate
while maintaining longer-term fairness with TCP. Other alternatives
can be added as future congestion control mechanisms are
standardized.

DCCP also lets unreliable traffic safely use ECN. A UDP kernel
Application Programming Interface (API) might not allow applications
to set UDP packets as ECN capable, since the API could not guarantee
that the application would properly detect or respond to congestion.
DCCP kernel APIs will have no such issues, since DCCP implements
congestion control itself.

We chose not to require the use of the Congestion Manager [RFC3124],
which allows multiple concurrent streams between the same sender and
receiver to share congestion control. The current Congestion Manager
can only be used by applications that have their own end-to-end
feedback about packet losses, but this is not the case for many of
the applications currently using UDP. In addition, the current
Congestion Manager does not easily support multiple congestion


control mechanisms or mechanisms where the state about past packet
drops or marks is maintained at the receiver rather than the sender.
DCCP should be able to make use of CM where desired by the
application, but we do not see any benefit in making the deployment
of DCCP contingent on the deployment of CM itself.

We intend for DCCP's protocol mechanisms, which are described in this
document, to suit any application desiring unicast congestion-
controlled streams of unreliable datagrams. However, the congestion
control mechanisms currently approved for use with DCCP, which are
described in separate Congestion Control ID Profiles [RFC4341,
RFC4342], may cause problems for some applications, including high-
bandwidth interactive video. These applications should be able to
use DCCP once suitable Congestion Control ID Profiles are
standardized.

2008年5月30日 星期五

創見T630的歌詞顯示功能

一切的一切,都得靠千千靜聽了!!
1.下載、安裝。
2.設定
請設定歌詞搜尋→儲存到歌曲所在資料夾→全部儲存


→播放歌曲時按右鍵搜尋歌詞(歌詞資料庫用預設的就可以了)
→搜尋→下載

→之後便可在歌曲所在資料夾找到對應的歌詞檔(副檔名為lrc)


→將歌曲及對應的lrc(歌詞檔)丟到mp3 player中

ok!!

Note:
有時候歌詞在MP3 Player上會無法顯示(外文歌詞比較常發生這種問題),這時候可能是因為編碼的問題,可用Windows的記事本另存成ANSI encode, 再傳到MP3 Player上試試。

報告避噹法則

The Greek AlphaBet!!


(老爺~我開玩笑的!!XD)

如何在PowerPoint簡報中加入Youtube影片

1.檢視→控制工具箱→其它控制箱→Shockwave Flash Object→拉出你要顯示的大小
2.在拉出的物件上按右鍵,選屬性,編輯「自訂」欄位,貼上Youtube URL,但是URL要修改
修改EXAMPLE:
"http://www.youtube.com/watch?v=4yzUxNbi1h4"→"http://www.youtube.com/v/4yzUxNbi1h4"
(說明:去除watch? 和v後方的= 並在v前後加上slash)
OK!!在放映投影片時即可收看。(當然一定要是在online status啦~)

Ref:
http://www.youtube.com/watch?v=4yzUxNbi1h4

2008年4月16日 星期三

Network History

為什麼IPv6傳送速率理論上會比IPv4快?
header長度相同(128bit)
不作checksum

-----
真實的網路傳送世界冠軍(IPv6 version)?
2.56gigabit per second
calculation
8.8*8)/(18*60)
Need to check on Internet2 research
----
為什麼加入repeater所形成的cycle就不會發生broadcast storm?

2008年4月14日 星期一

How to read technical documents?

Key points:
  • 設計動機與核心概念:這個系統為何被提出?基於什麼想法去建構整個系統?
  • 適用對象與限制:沒有完美的軟體,只有合用的設計
  • 功能概況:不需要熟記每個章節,但需要在腦海中建構一套索引
  • 範例或樣品程式:如果時間允許,請試著驗證

Reference:
Jserv's blog:對自己好一些:談技術手冊閱讀


校園網路下搭配MySQL和LDAT之垃圾語音防護系統

TITLE:Countermeasures of Spam over Internet Telephony in SIP.edu Campuses with MySQL and LDAP Support

Author: Senior ChangYu Wu


Reading Motivation: for SIP.edu

Note:
need adding.....

小結:簡短的心情留言

一路走來,回頭看之前的那些筆記,有錯謬,有感慨,不過都在在證明當初有記錄下來是正確的!

tintin

Multimedia 期中報告

Paper Reading
Preamble:
找什麼樣的paper好呢?
對聲音的資訊隱藏還蠻有興趣的,有空去看一下泰國同學上次的簡報好了。或許也可以跟他們討論一下。

---
btw, Thursday 聽了Fanjia的簡報後,覺得3/8的隱藏率(?)還蠻高的。

TCP/IP Homework

TCP/IP 作業(兩人以下一組)

作業請email給助教:麥毅廷,wkb@wkb.idv.tw

作業一、 利用Socket相關之APIs,寫作Client-Server程式,Server須可同時服務多個Clients(應用程式類型請自訂)。

繳交內容: 1. 程式之原始程式列表(含中文註解)

2. 執行結果(含說明)

3. 程式說明文件(含程式結構及流程等)

繳交期限: 2008/3/25

作業二、 寫作Ping 程式

繳交內容: 1. 原始程式列表(含中文註解)

2. 執行結果(含說明)

3. 程式說明文件(含程式結構及流程等)

繳交期限: 2008/4/22

作業三、 寫作Traceroute 程式

繳交內容: 1. 原始程式列表(含中文註解)

2. 執行結果(含說明)

3. 程式說明文件(含程式結構及流程等)

繳交期限: 2008/4/22

作業四、 寫作Shortest path finding之程式,包含:1. Bellman-Ford algorithm, 2. Dijkstra’s algorithm

繳交內容: 1. 原始程式列表(含中文註解)

2. 執行結果(輸入一Graph,列出選定節點到其他節點之最短路徑)

3. 程式說明文件(含程式結構及流程等)

繳交期限: 2008/5/20

作業五、 利用mrouted程式,建立實驗型Multicast網路,並且寫作Multicast 傳輸(send)與接收(receive)程式以測試該網路之Multicasting功能。

繳交內容: 1. 傳輸接收程式之原始程式列表(含中文註解)

2. 執行結果(含說明)

3. 程式說明文件(含Multicast網路架構,程式結構及流程等)

繳交期限: 2008/6/17

TCP/IP Midterm points

UDP如何做checksum?(hint. pseudo header)

classful and classless 的subnetting計算

subnet and supernetting

....
Ref:
(永遠的)鳥哥

RFC 793:TCP

2008年4月9日 星期三

self-similar and Ethernet

Still very confused the connection between them......

暫時的理解:

在測Ethernet大量流量時,運用統計學中的self-similar concept去解釋流量的邏輯,比傳統用機率中的poisson解釋還準!
(真是不夠專業的理解啊~XD)

與 congestion control有關
與Queueing Models(single server queue)有密切相關...開始後悔當初排隊理論不夠認真了…

Conclusion:
buffer size 要較傳統model(Poisson Model)預設值大。(如何得來之結論呢?冏||>)

ps.
Delay Type
  • Transmission Delay
  • Propagation Delay
  • Processing Delay
  • Queueing Delay

2008年2月25日 星期一

創見T.630錄音

How to record?
長按REC鍵兩秒,開始錄音
錄音中按play(大圓)暫停錄音。
錄音中長按REC鍵,停止錄音

(記給自己看的)

2008年2月21日 星期四

Sepcial Topics of Computer Network note

paper list:

Selected Papers

1. "A Minimum Delay Routing Algorithm Using Distributed Computation," [Gallagher 1977]. In this paper, the multipath routing problem (of determining at each node, the fraction of traffic destined for a given destination that should be routed over each of the node’s outgoing links) is formulated as an optimization problem. An iterative, distributed algorithm in which marginal delay information is passed to upstream nodes, which then readjust their routing fractions, is shown to converge to minimize the overall average cost (e.g., delay) in the network. This paper (as well as [Kelly 1998] below) are nice examples of how network protocols (e.g., routing, ratecontrol) can be naturally derived from well-posed optimization problems.

2.政霖 "The Design Philosophy of the DARPA Internet Protocols," [Clark 1988]. This paper provides a thoughtful retrospective view of the goals and design principles of the Internet architecture and its protocols. It has been a favorite among students in my networking classes, and paired with [Molinero-Fernandez 2003] has made for many lively and interesting class discussions.
3. "A Calculus for Network Delay, Part I: Network Elements in Isolation; Part II: Network Analysis," [Cruz 1991]. During the 1990’s, there was considerable foundational research on providing quality of service guarantees for flows that are multiplexed within the network. This paper describes an elegant "calculus" that provides provable worst-case performance (delay) bounds on per-session, end-end performance. Many important works followed this seminal work; a nice survey is [LeBoudec 2001].
4. "A generalized processor sharing approach to flow control in integrated services networks," [Parekh 1993]. In many ways a companion paper to [Cruz 1991], this two-part paper demonstrates how provable per-node and end-end persession performance bounds can be guaranteed, given a weighted fair-queueing discipline at each node.
5. 汎嘉"Equivalent capacity and its application to bandwidth allocation in high speed networks," [Guerin 1991]. The notion of effective bandwidth, an approximate characterization of the queueing behavior of a session when multiplexed with others, was developed by numerous researchers (see, e.g., [Kelly 1996]) throughout the 1990’s. This early paper introduced me to the idea, and sparked my interest in the area.
6. 筱婷"On the self-similar nature of Ethernet traffic (extended version)," [Leland 1994]. While the notion of long-range dependency, self-similarity, and heavy-tailed distributions are now a standard part of the lexicon of those interested in traffic characterization and descriptive network models, this paper introduced these ideas widely, launching many subsequent research efforts that have taken such an approach towards modeling.
7. "Sharing the cost of multicast trees: an axiomatic analysis," [Herzog 1997]. Axiomatic methods, in which one poses a desired set of system properties or behaviors, and then develops a protocol that meets these properties (or proves an impossibility result – that there is no protocol that meets the requirements) is a well-known technique in fields such as mathematical economics and social welfare theory. This paper was an elegant application of this set of tools in the networking domain.
8. 筱婷"Rate control in communication networks: shadow prices, proportional fairness and stability," [Kelly 1998]. This paper formulates the rate control (congestion control) problem as a problem of allocating bandwidth to flows so as to optimize overall system "utility," showing that Jacobson’s TCP congestion control protocol (developed 10 years earlier using tremendous engineering insight) can be naturally interpreted as a distributed algorithm that iteratively solves this global optimization problem.
9. "Multicast-based Inference of Network-Internal Loss Characteristics," [Caceres 1999]. Many research efforts in network measurement through the mid-to-late 1990’s were descriptive in nature – taking active or passive measurements at various points in the network, and interpreting the observed performance (e.g., packet delay, packet loss, aggregate traffic mix, or throughput). This paper elegantly used statistical methods (maximum likelihood estimation) together with end-to-end measurement data to infer the (unseen) topology of the network between the measurement endpoints. Inference techniques have since become an important and widely-used part of the measurement toolkit.
10. 嘉裕"Internet indirection infrastructure," [Stoica 2004]. It’s been said (in a quote often attributed to Butler Lampson) that nearly every problem in computer science can be solved by adding another level of indirection. I had always thought that this quote applied to data structures and algorithms. This paper, however, opened my eyes to how indirection can be used in an elegant and clean distributed network architecture for providing a variety of overlay services

Papers need reading

[VoIP class]
End to End Performance Initiative
Motivation:
  • 網路太分散,不好管理
  • Internetworking
  • PMP
  • 找出bottleneck,通知正確管理者處理(cf.GDT module)

Open question
imcomplete data?
rank multiple results?
-----------


GDT relevant...spec....(need reviewing)

paper format relevant document...

How to evaluate a system?

如何去評估一個系統呢?
  • Application
  • Architecture
  • Protocol

2008年2月19日 星期二

JQuery notes

How to combine JQuery with JPGraph to graph real-time SIP packets transmission figures?

.....

2008年2月13日 星期三

LNCS format

link

reference:
SIP-Based Adaptive Multimedia Transmissions for
Wired and Wireless Networks
--
格式是展示你專業的地方。

What is GDT?



2008年2月4日 星期一

[Weekly Report]2008.1.19-2007.1.25

1.Learn PHP graphing:
1.1 I surveyed PHPGD and found that it is too difficult to graph data
in database using PHPGD.
After surfing web, I finally choose to try a PHP graphing library:
JPGraph. Easy using, object-oriented programming...etc,are its
features, and I test it and feel that is true.
1.2 Show some test pages below:
test1:my winter-vacation plan
<http://tintin.no-ip.org/plan.php>
Just a basic usage. JPGraph has many examples. I think Gantt-chart is
the most likely what I want, such as a call flow. So I practice using
its object,GannttGraph, and the accompanied functions to graph.
test2:my weight record(using data in remote database)
<http://ms11.voip.edu.tw/~martensite/health.php>
Combine the remote query and PHP graph, I setup a personal
weight-record system for myself. I can add record and see the trend of
weight.

2.Arrange what I should prepare for my research:
As the page:<http://ms11.voip.edu.tw/~martensite/todo.html>

3.SIP peering affair:
3.1. Reply the request of peering. Tell them our server and list our
labmates' SIP number for them.
3.2 I want to setup the routing rule between peers, so I sent to Karn
to ask for add an test account for us.

[Weekly Report]2008.1.12-2007.1.18

1. MySQL Remote Query:
1.1 How to test:
In order to learn the MySQL database, I designed the experiment
environment. Because I can grant any privilege on my own server, I
chose to set-up the database on the other server(in this task,it is
ms11.voip.edu.tw) and try to connect to that one. First, I tried to
query in the localhost mode. When I make sure the local query is OK,
it represent that I learned MySQL query language fine. Second, I
upload the php files to ms11 server, and modified the files with the
connection details. I use a php file storing these connection data and
include it in every query php file.
1.2 Test:
* test1<http://tintin.no-ip.org/Database/Lab/index.php>
test1 is the simplest test for MySQL. Just test connection of MySQL
database and the database creation,modification,deletion using PHP
script language.
* test2:Remote Query(ms11 query to tintin.com)
<http://ms11.voip.edu.tw/~martensite/Database/show_all.php>
test2 is for remote query test. It works fine, but I grant all
privilege to the remote user. It need modifying.
1.3 What I have learned:
In the learning process, I learned the privilege concept of MySQL.
I finally know why I can not connect to the ms11 database from my
server. I think the manager confined me to local query.

[Weekly Report]2007.12.29-2007.1.4

1.Continue trying the logging of OpenSER:
Try and try again. And I found I forgot set the debug level. After
reading through the doc, I can get the concept of debug level, but
can't map it to what I should do.
2. Finish my AWK little program:
I really feel I CANNOT learn to write any program because of the
four-year frustration. Shell-script programming is really suitable for
the "newbie" as a starting point.
3.MySQL remote access:
I added a user as a normal one in the MySQL database and write a
little PHP webpage to access the data(just list the data).
--------------------------

2008年1月30日 星期三

SIP.edu測試

2008.1.30
martensite@voip.edu.tw
unavailable
ms11沒有rewrite "to" header
有513 "Message too big" ack
warning:392 Noisy feedback tells:....
還以為設了alias=voip.edu.tw就能解決(這是參考文仁網站上的technical doc.)
猜測:說不定是我改錯設定檔了…還要再問學長。

2008年1月25日 星期五

PSU peering test

Peering Test
環境:
Home:
Xlite, 23200@163.22.20.154
Lab:
Twinkle,202.28.99.205

TEST (2008.1.25)
從PSU打到NCNU可以,NCNU打給PSU server就不行。用回撥的也不行。

TEST(2008.1.30)
無法在泰國server註冊。
(沒有開?所以應該也是測試用的server吧?)
猜錯了!因為有收到server給我的404 not found....

TEST(2008.1.31)
寄信給Killy後,OK!
(但是我現在沒辦法接你電話啊!抱歉)
(在家還是無法在PSU SERVER註冊。因為網域不支援?)

2008年1月4日 星期五

[Weekly Report]2007.12.22-2007.12.28

1.Prepare the term projects of VoIP Measurement and Web Technology.
2.Try logging of OpenSER:
2-1. Read the document: OpenSER - Debug and syslog messages
<http://www.voice-system.ro/docs/ser-syslog/>
2-2. I tried to use the simple log function to record how many INVITE
packets passed my proxy server. Try and error, and finally it worked!
(HAHA!) I think I can combine the result of the log file with my term
project topic, MRTG , to get a visualized report of SIP call flow.
2-3. The second try of the log function is to log how many successful
call have established. I discussed with Wen-Jen, we think maybe we can
log how many ACK packets. I put the log function in somewhere in the
main route, but it didn't work. The task is not finished.

[Weekly Report]2007.12.15-2007.12.21

1. Settle down the SIP Fluoroscope System on three servers:
1.1 On my own Linux server, it runs well. But there is still one
problem. The PHPGD module cannot be loaded well, so I can't not move
on the path to draw the flow of call using MRTG.
1.1.1 This week, I found that I should use sudo to compile the C
program captures packets. (Reply to the teacher question in the last
weekly report)
1.1.2 Before this week, I compiled, and failed, and I even didn't know
I failed.
1.2 On the ms11 server, it (still?)runs well.
1.3 On the iPBX server, the system can capture the packets,and store
them in the MySQL database. The webpage can show the packets, but not
so-called real-time. There must be something wrong, and the key
problem might be AJAX. Still debugging. I use a useful Firefox
plugin,Firebug, to debug the javascript code. The error message shows
that there is a function in Sajax not defined. But I check the Sajax
is the same as others on the other Linux server(my own server).
2. Struggle with the logging of OpenSER:
It must seems very simple for the demon(取其「高手」意), but I am 苦手(日語). I
tried to insert some log functions in the OpenSER configuration file,
but the message didn't show up in the log file. I must put them in
the wrong places. I walked around the forum, and get a
tutoria<http://www.voipuser.org/forum_topic_8040.html>(I would like to
call it a reading queue for knowing OpenSER). And I consulted Wenjen,
he advised that I should read the OpenSER Core Cookbook and "OpenSER
Pseudo-variables" document to know how to program in the configuration
file. There are too many things on my TODO list.

[Weekly Report]2007.12.8-2007.12.14

1.Implementation task:
1-1.Try to compile the Sipfluoroscope system program in Linux system.I
compiled with wrong option and failed to link the need library and get
right execution file. It is ok now! But it is very strange that the
mysql database cannot get the data capture from the the Sipfluoroscope
system.
1-2.Try to get the the Sipfluoroscope running on the ipbx.ipv6.club.tw
server. As you saw, I am not very familiar with the *UNIX command and
system.

[Weekly Report]2007.12.1-2007.12.7

Weekly Report
1.SIP server using OpenSER:
Authentication setup is ok!
2.SIP.edu document reading:
SIP.edu Cookbook reading task is over.<http://mit.edu/sip/sip.edu/ >
------
Reply to your instruction(last weekly report reply):

>Is "SIP Fluoroscope" running on iPBX now?
Ans:Not yet.
I need time for this task.
>You must have gotten your OpenSER running.
> Try to figure out its support on logging.
>(Similar to SIP Fluoroscope, but not so tedious.)
Ans:When my server reboots, the OpenSER restart automatically.

>Have you finished reading SIP.edu documents?
> Please prepare a webpage to describe our system like
>http://www.ethworld.ethz.ch/technologies/sipeth/notes
>(You may also refer to the "Notes" of other universities
>to prepare ours.)
Ans:I will explain this task below(in Chinese paragraph).
>Let me know the progress of the above items, so that we can discuss
>the draft of your final report.
----
Other things:
ps.因為學校信箱不太穩定,所以本週週記改由Gmail信箱寄出,以後也是。
-----
親愛的老師:
因為家裡有點事,
這週四晚上我決定隔天旁聽完資網課後回家一趟。
還很樂觀地以為回到家大概才下午三四點,
應該可以很悠閒地看著太陽下山完成週記,
結果這週屏東人特別愛家,
台中朝馬國光客運車站三分之一以上的人都是要搭車回屏東的乘客,
國光客運在下午四點還特別加開加班車把熱血愛家的人們運回家,
不過我連加班車都沒坐到 回到家時都已經晚上八點了。
心裡還是惦記著週報沒寫,
看了一下在客廳的無線router燈是亮的 ,
想說一會兒跟家人寒喧完就可以寫了,
可是媽媽突然說因為家裡平常根本沒人用電腦(我和妹妹都在外地)
所以他把ADSL網路給停了......
這是我這週五的經歷 ,也是週報沒有準時交的原因。


這兩個禮拜我的工作日誌上的空白欄很多(我將一天分成三個區塊來紀
錄進度)
除了因為一直感冒(running noise)還有其他的原因,
有家裡的事和自己心裡的事,
還有,我的SIP.edu for NCNU簡報及建置網頁的專題報告都還沒動是因為在看了它校的note網頁後,
覺得我們實驗室SIP server的作法跟正規的機制好像差很多,
那天下午跟學長討教 覺得我們實驗室好像只有把兩個資料庫用一個flag(boolean type)結合,
或許是我還沒了解透徹也或許我們真的是用非常簡化的方法去implement SIP.edu mechanism,
我問自己 為什麼不去搞清楚,
答案可能是我覺得我已經懂了,
可是兩者機制的確不同 報告該怎麼寫,
就是這樣顧慮東顧慮西 所以拖拖拉拉沒有進度,
SIP.edu cookbook的網頁資料從目錄結構到最後我看了好幾遍, 但是有看沒有懂, 所以不敢寫在週報裡。

iptables notes

Motivation:
學這個要幹麻?除了要專題的學分外,對我自己和對研究有什麼幫助?
(筆記待補完…)