วันพฤหัสบดีที่ 22 มกราคม พ.ศ. 2552

Packet Data Protocol (PDP)

Packet Data Protocol (PDP)

PDP ก็คือ protocol ที่ใช้ในการแลกเปลี่ยนข้อมูลระหว่าง User Equipment (UE) กับ Network เช่น P-CSCF ใน IMS โดยมีวัตถุประสงค์หลัก 2 อย่างคือ
1. กำหนด IPv4 / IPv6 Address ให้กับ Mobile terminal คล้าย ๆ กับ DHCP
2. กำหนด logical connection กับ QoS profile และกำหนดค่า parameter ต่าง ๆ เพื่อใช้ใน PDP Context ของ Mobile terminal ในเครือข่าย UMTS

วันพุธที่ 21 มกราคม พ.ศ. 2552

Quality of Services #2

มีบทความทางวิชาการเกีึ่ยวกับ QoS ออกมามากมาย โดยเฉพาะ IntServ กับ Diffserv แต่ ผมก็เพิ่งรู้ไม่นานมานี้เองว่า
  • IntServ ใช้วิธีการจองเส้นทางก่อนที่จะทำ QoS ซึ่งมีความยุ่งยากซับซ้อนมาก ซึ่งจะเอามา deployment ใช้งานจริง ๆ แบบ multi-domain ไม่ได้ พูดง่าย ๆ ก็คือ Intserv เป็น idea อย่างหนึ่งในการทำ QoS มีการ implementation จริง ๆ ที่สามารถนำไปใช้ได้ แต่ในโลกของ internet ปัจจุบันนี้ ไม่ได้มีการนำ Intserv ไปใช้งานแต่อย่างใด (นอกจากจะมีใครเอาไปใช้ส่วนตัว) หรือพูดง่าย ๆ ว่ามีเฉพาะ idea + implementation แต่ไม่มีการนำไป deployment
  • DiffServ ใช้วิธีการให้คะแนน โดยติด Tag (รวมถึงการ Mark ที่ ToS ของ IP header ด้วย) วิธีการนี้ไม่ซับซ้อนมาก มีการ deployment ไปใช้งานจริง แต่ก็เฉพาะ ระหว่าง ISP บางแห่งเท่านั้น user ตามบ้าน ๆ อย่างเรา ไม่สามารถกำหนดเองได้ โดยมีการ กำหนด policy ระหว่าง border router ด้วยกัน
ปิดท้าย:
อ่าน QoS มาได้ระยะหนึ่ง นึกว่า จะมีใช้งานจริงกันเยอะ แต่จริง ๆ QoS นั้นเป็นเพียงแค่ทฤษฎีเป็นส่วนใหญ่ ส่วนที่ใช้งานจริง ยกตัวอย่างเช่น Skype ที่ว่าเสียงชัด ๆ ตอนแรกผมก็เข้าใจว่ามีการทำ QoS ด้วย แต่จริง ๆ แล้ว ที่ประสิทธิภาพของมันดีนั้น เกิดจากการที่ตัว Application ของมันเอง ใช้ bandwidth ที่น้อย (เพราะมีการ compression ที่ดี) รวมถึง การใช้ สถาปัตยกรรมแบบ P2P ด้วย ทำให้เสียงดังฟังชัด

แต่ถ้าพูดในเรื่องของการทำ QoS กันจริง ๆ ก็ยังไปได้ไม่ไกล ก็หวังว่าสักวันหนึ่งเราคงจะมี QoS ดี ๆ ใช้กันนะครับ

วันจันทร์ที่ 19 มกราคม พ.ศ. 2552

Policy-based Admission Control

Policy-based Admission Control

PEP - Policy Enforcement Point เป็นจุดตรวจสอบข้อมูล ซึ่งจะรับ RSVP request มาจาก router (จากผู้ใช้ที่ขอบริการ QoS) โดยใน request นั้นจะระบุข้อมูลต่าง ๆ สำหรับ flow ข้อมูล เช่น ต้องการ bandwidth เท่าไร จากนั้นก็จะส่งต่อไปให้ PDP ตัดสินใจ โดยส่ง Policy request ไปให้

PDP - Policy Decision Point จะตรวจสอบ request กับ resource ที่มีอยู่ในปัจจุบัน รวมถึง policy ของ user คนนั้น ๆ ว่าจะยอมให้ใช้หรือไม่ โดยส่ง Policy response ตอบกลับมาหา PEP


COPS เป็น protocol การเชื่อมต่อระหว่าง PDP และ PEP โดยใช้ใน IMS R7 แต่ปัจจุบันได้ถูกยกเลิกและใช้ Diameter (RFC 3588) แทนแล้ว

JAIN-SIP #1

JAIN-SIP คืออะไร?

Jain sip คือ Java api integrated network หรือ เรียกง่าย ๆ ว่า เป็น API ของ java ที่ใช้ในการเีขียนโปรแกรมในระดับ low-level ที่ใช้จัดการ signaling multimedia ที่ใช้งาน SIP protocol นั่นเอง

Jain sip แตกย่อยออกมา มากมาย เช่น jain sip servlet, jslee ไว้ มีโอกาสได้ทดลองจะเอามาเขียนไว้นะครับ

เรามาทดลองเล่น jain-sip เลยดีกว่า
1. load jain-sip จาก https://jain-sip.dev.java.net/ จากนั้นก็ upzip ออกมา

2. load apache ant มาจาก http://ant.apache.org/ จากนั้นก็ unzip ออกมา แล้วก็ทำการ set environment ดังนี้
=> ANT_HOME=C:\Program Files\Java\apache-ant-1.7.1
PATH= path เก่าแล้วก็เพิ่ม C:\Program Files\Java\apache-ant-1.7.1\bin เข้าไป

3. เข้าไปใน folder E:\java\sip\jain-sip\ (ที่ได้ unzip jain-sip ไว้) แล้ว ant (make) มันซะเลย

4. ทดลอง run IMS application เข้าไปที่ folder E:\java\sip\jain-sip\src\examples\ims
แล้วก็สั่ง ant shootme

5. จะเจอ error ดังนี้ =>
[java] javax.sip.PeerUnavailableException: The Peer SIP Stack: gov.nist.javax.sip.SipStackImpl could not be instantiated. Ensure the Path Name has been set

6. หลังจากที่ผมใช้เวลาอยู่หลายชั่วโมง ในการ หา error นี้ ก็ได้ความรู้ใหม่ โดยการทำดังนี้
สั่ง ant shootme -debug จะพบว่ามันหา lib ไม่เจอ ดังนั้นจึงต้องแก้ lib path ให้มันใหม่ โดยการ แก้ file E:\java\sip\jain-sip\src\examples\ims\build.xml

จากเดิม
< property name="log4j_jar" value="${root}/lib/${log4j}" >
< property name="junit_jar" value="${root}/lib/${junit}" >

เป็น
< property name="log4j_jar" value="${root}/${log4j}" >
< property name="junit_jar" value="${root}/${junit}" >


7. คราวนี้ก็ สั่ง ant shootme แล้วก็เปิด console อีกหน้าต่างสั่ง ant shootist
เราก็จะเห็น IMS message วิ่งวนไป ๆ มา ๆ หน้า console แล้ว



ส่วนเรื่องความหมายของ message ขอแยกไว้เป็นบทความหน้าแล้วกันนะครับ :-)

Quality of Services #1

Quality of Services (QoS)

ความหมายในมุมมองความคิดผม ก็คือ การจัดการ IP packet ให้ทันกับเวลาตามข้อจำกัดของโปรแกรมนั้น ๆ และ มีการรับประกันว่าจะสามารถทำตามที่ขอได้

Mechanisms for QoS

มี 2 กระบวนการด้วยกันคือ

1. Integrated Services (Intserv)

ใช้หลักการทำ QoS โดย จัดการกับ packet flow ซึ่ง router จะต้องสนับสนุนการทำงาน
2 ฟังก์ชันนี้คือ (คล้าย ๆ ใน ns2 เลย)
- the classifier: เป็นตัว mark IP packet เพื่อที่จะให้ router จัดการแยกประเภทของ packet
- the scheduler: เป็นตัวแยก packet ออกจากกัน ตามที่ classifier ทำการ mark ไว้

ในกระบวนการของ Intserv นั้น แบ่ง services ออกเป็น controlled load service [RFC 2211] กับ guaranteed service [RFC 2212] ก่อนจะเริ่มทำ Intserv จะต้องมีการจองเส้นทางก่อน เรียกว่า Resource Reservation Protocol (RSVP) เพื่อที่จะมั่นใจว่า ได้รับการให้บริการที่ดีพอ ซึ่งก็คล้าย ๆ กับแบบ Best-effort (ไม่มีการจัดการ QoS) แต่รับประกัน delay ตราบใดที่เส้นทางยังไม่เปลี่ยน และ อีกอย่างก็คือ router จะต้องมีความสามารถในการสร้าง RSVP ใหม่ หรือ Reject ทิ้ง โดยพิจารณาจาก ความสามารถในการจัดการ packet รวมถึง bandwidth ที่มีอยู่ เราเรียกว่า Admission control

เนื่องจากต้องมีการจองเส้นทางในการทำ RSVP ดังนั้น การส่ง ข้อมูลจะวิ่งเส้นทางนั้นตลอด การทำ RSVP จะเป็นแบบ uni นั้นก็คือ ต้องกำหนดทั้งขาไปและขากลับ โดย ผู้ส่งสามารถกำหนด RSVP request ไปยัง ปลายทาง และ ผู้รับก็จองเส้นทางกลับมาด้วย RESV

ปัญหาใหญ่ของ IntServ คือ scalability เพราะเครือข่ายต้องแบ่งทรัพยากรบางส่วนไปใช้กับ QoS routing โดยเฉพาะ ถ้าใช้งาน QoS routing กันมาก ๆ ทรัพยากรก็จะหมดไป นอกนี้ การจองทรัพยากรด้วย RSVP ไม่ได้กระทำอย่างถาวร จึงต้องมีการส่งแพคเก็ตของ RSVP ไปยังเราท์เตอร์เพื่อรีเฟรชการจองทรัพยากรตลอดเวลา จึงมี processing overhead สูง ปกติแล้ว IntServ จึงจำกัดให้ใช้งานเฉพาะใน Autonomous System (AS) เดียวกันเท่านั้น

2. Differentiated Services (Diffserv)

Diffserv ทำงานต่างกับ Intserv คือ แทนที่จะ คอยจัดการ flow ที่มีการจองเส้นทางเฉพาะ สำหรับ packet แต่ Diffserv นั้นจะจัดการในส่วนของ border router เท่านั้น โดย packet ที่วิ่งเข้าใน border router จะถูกติด tag เรียกว่า Differentiated Service Code Point (DSCP) จาก นั้น router ที่ได้รับ packet ที่ถูกส่งมา ก็จะดูเฉพาะใน DSCP packet ซึ่งถูก configuration ไว้ใน router ก่อนที่จะมีการใช้งาน Diffserv อยู่แล้ว โดยระบุคาพารามิเตอรตัวหนึ่ง คือ PHB (Per-Hop Behavior) สําหรับแพ็กเกตนั้น ๆ ทั้งนี้แพ็กเกตที่มี PHB เดียวกันจะถือวาอยูในกลุมเดียวกันและมีอัตราการสงผานแพ็กเกตไปตามโนดคอมพิวเตอรตาง ๆ เทากัน ดัง นั้นPHB จะเกี่ยวของกับการจัดการบัฟเฟอรรวมถึงกลไกในการใหลําดับของแพ็กเกตนั่นเอง

ชื่อก็บอกอยู่แล้วว่า เป็น Code Point (จาก DSCP) ดังนั้น เวลาพิจารณา มันก็จะใส่คะแนน ให้กับ packet แล้วเปรียบเทียบกับ rule ที่ตั้งไว้ใน router เหมือนกับเป็นการจัดการ priority

ซึ่งสามารถ กำหนดใน Type of Services (ToS) ของ IP header

วันอาทิตย์ที่ 4 มกราคม พ.ศ. 2552

CAF Remboursement

CAF Remboursement (แปลว่าเงินที่ CAF จะคืนให้เรา)

วันนี้รู้สึกว่าอยู่บ้านแล้วมันแคบลงเรื่อย ๆ อันเนื่องมาจากของใช้ภายในบ้านมันเยอะขึ้นตามกาลเวลา ก็เลยอยากอยู่บ้านที่มันกว้างกว่านี้ ยิ่งได้ข่าวว่า ถ้ามีลูกมาอยู่ด้วยเนี่ย (ก็คืออยู่บ้าน > 3 คน ) พื้นที่ในบ้านจะต้อง > 27 ตร.ม. ปัจจุบันมี 22 ตร.ม. ก็เลยอยากรู้ว่า CAF จะคืนเงินมาให้เราเท่าไร?

ก็เลยลองไปคำนวนใน http://www.caf.fr/

กรณีอยู่ 2 คน โดยที่ ผมเป็นนักเรียน และ ผู้ติดตามไม่ได้ทำงาน
ค่าเช่าสูงสุดจะได้ไม่เกิน 440 ยูโร และ CAF จะคืนเงินมาให้เรา 304 ยูโร โดยประมาณ

กรณีอยู่ 3 คน โดยที่ ผมเป็นนักเรียน และ ผู้ติดตามไม่ได้ทำงาน + ลูก
ค่าเช่าสูงสุดจะได้ไม่เกิน 490 ยูโร และ CAF จะคืนเงินมาให้เรา 350 ยูโร โดยประมาณ

ถ้าเช่าบ้านที่แพงกว่านี้ ส่วนต่างที่เกิน 440 ยูโร (หรือ 490 ยูโร) นั้น
CAF จะไม่ช่วย เราต้องออกเงินเอง...แป่ว!!....

โอ้ว.. ฝันสลายเลย ตอนแรกผมอยู่บ้าน 413 ยูโร ได้คืนมา 292 ยูโร ก็ประมาณ 70% ถ้าอยู่บ้าน 700 ยูโร ก็จะได้คืนมาประมาณ 490 ยูโร แบบนี้ ย้ายดีกว่าแฮะ แต่พอไปคำนวนดูจริง ๆ โอ้ว... บ้าน 700 ยูโร ก็ได้คืนแค่ 350 ยูโร (ถ้ามีลูก) หรือถ้าอยู่ 2 คนก็ได้คืน 304 ยูโรเองครับ ไม่ไหว ประมาณเดือนละ เกือบ 2 หมื่นบาท รวมค่าไฟกับค่า internet ก็เกินพอดี อยู่แคบ ๆ แบบเก่าดีกว่า -_-"

ในความเป็นจริงนั้น CAF ต้องการช่วยเหลือ นักเรียนที่ยังไม่ได้ทำงาน ให้สามารถเรียนหนังสือได้ แต่ก็ไม่ได้จะให้อยู่อย่างหรูหรา อลังการ ก็เลยกำหนดกฎเกณฑ์การช่วยไว้แบบนี้ ซึ่งจริง ๆ แล้ว ช่วยขนาดนี้ ถือว่าดีมากแล้วครับ ถ้าเป็นประเทศอื่น ไม่มีนะเนี่ย จะบอกให้

Chocolate!!



นาน ๆ จะได้มีโอกาสกิน chocolate Hi-so ราคาบ้านเราเม็ดละ 15 บาท อย่างเต็มคราบเสียที ก็เลยคว้า Ferrero และ Lindt รวมทุก ๆ แบบมากินให้สะใจไปเลย พอดีว่า ที่ Carefour สาขา Portet มันลดราคา 50% ก็เลยซื้อมาเต็มที่ ซึ่งเฉลี่ยแล้วราคาเม็ดละ 5 บาท หมดเงินไป 1500+ บาท จาก ราคาเต็มประมาณ 3000+ บาท




แล้วก็ได้ความรู้ใหม่ ภาษาฝรั่งเศส คำว่า "Remise" แปลว่า "ลดราคา"

ราคา chocolate ที่ซื้อทั้งหมดในรูปก็เท่ากับราคาที่ลดนะแหละ เพราะว่ามันลด 50% บางคนซื้อ Lindt กล่องใหญ่ ใส่เต็มตระกล้าเลย เป็นครั้งแรกที่ซื้อ chocolate เยอะขนาดนี้นะเนี่ย เพราะราคาถูกกว่าที่เมืองไทยมาก

แต่หลังจากได้กินแล้ว ผมชอบ Ferrero มากกว่า Lindt แฮะ :b อร่อย ๆ ๆ




วันศุกร์ที่ 2 มกราคม พ.ศ. 2552

VoIP Programs

โปรแกรมที่ใช้ในการโทรศัพท์ต่างประเทศราคาประหยัด

Skype: http://www.skype.com/prices/
VoIP Discount: http://www.voipdiscount.com/en/calling-rates.html
VoIP Buster: http://www.voipbuster.com/en/calling-rates.html
VoIP Zoom: http://www.voipzoom.com/en/calling-rates.html

หมายเหตุ: โปรแกรม VoIP ทั้งหมด เป็นโปรแกรมเดียวกัน แต่จัด promotion ต่างกัน

วันพฤหัสบดีที่ 1 มกราคม พ.ศ. 2552