Posts

Showing posts from October, 2007

AJAX

เพิ่งจะได้มีเวลามานั่งลองเล่น AJAX หรือ Asynchronous JavaScript and XML โดย concept แล้วง่ายดีไม่ได้ซับซ้อนอะไร แต่เอาไปทำอะไรได้เยอะมาก หลักๆก็คือการที่สามารถใช้ JavaScript ติดต่อกับ server-side ให้ทำอะไรก็ได้เช่น query database แล้วรับข้อมูลเอามาใช้โดยไม่ต้อง reload page นั้นใหม่ โดยข้อมูลที่ได้มาก็เอาไปเปลี่ยนหรือเอาไปแสดงเพิ่มบนหน้าที่แสดงอยู่แล้วโดยการ refer ถึง element ที่ต้องการเปลี่ยนด้วย id key component ที่เพิ่มมาก็คือ XMLHttpRequest object ซึ่งต้องสร้างขึ้นมาโดย(ในกรณี firefox) xmlHttp=new XMLHttpRequest(); และ XMLHttpRequest object ที่สร้างขึ้นมานี้ก็จะมี property หลักๆ 3 อันด้วยกันที่นำมาใช้คือ .onreadystatechange ซึ่งจะต้อง set ให้เท่ากับ function ที่จะ run เมื่อได้รับ response จาก server กลับมาโดย function ที่ set นี้ก็จะ run ทุกครั้งที่มีการเปลี่ยน readyState ส่วน property อันที่สองก็คือ readyState นั่นเองซึ่งจะมีอยู่ 5 state ด้วยกัน 0=not initialized 1=set up 2=sent 3=in process 4=complete ดังนั้นส่วนใหญ่ function ใน onreadystatechange เราก็ต้อง check ว่า readyState เป

VoIP NAT Transversal

Image
เพื่อที่จะสามารถใช้ VoIP จากบ้านที่มี router อยู่ทั่วไปนั้นจะมีอยู่สองเรื่องที่ต้องพิจารณา เรื่องแรกคือการที่ router จะมี firewall อยู่และจะไม่ยอมให้ inbound traffic initiate ขึ้นจากข้างนอกถ้าไม่ได้มีการ initiate โดย outbound traffic จากข้างในก่อน หรือที่พูดกันว่าจะไม่ allow unsolicited traffic หรือ traffic ที่ไม่ได้รับเชิญนั่นเอง ดังนั้นการที่จะมีใคร call มาหาเราก็ย่อมเป็นไปไม่ได้ถ้ายังไม่แก้ไขเรื่องนี้ และการที่ไป configure router ให้ยอมรับ traffic จากข้างนอกก็เป็นวิธีที่ไม่ถูกนะครับเพราะไป compromise security อีกเรื่องก็คือการใช้ private ip จากการทำ NAT ถึงแม้ว่า router จะทำการ match private ip/port เข้ากับ public ip/port ให้ แต่เนื้อความใน signaling protocol เช่น SIP message ก็จะยังมี addressing ที่เป็น private ip อยู่ดี ซึ่งก็จะทำให้ไม่สามารถ work ได้เมื่อเข้าไปสู่ internet วิธีการแก้ไขนั้นมีหลายแบบ แต่ที่เหมาะสมที่สุดที่ voip operator ใช้กันก็คือ การมีอุปกรณ์คล้่ายๆเป็น proxy ตัวหนึ่งอยู่ตรงกลางระหว่าง user agent software ที่อยู่ในเครื่องผู้ใช้ กับ call agent software ที่อยู่

PBT? Not Yet

วันนี้ได้คุยกับ operator เอกชนรายหนึ่งที่ให้บริการวงจร Ethernet กับ ธุรกิจทั่วไป ปรากฏว่าเขาได้ลองทดสอบ PBT จากหลายยี่ห้อในปีที่ผ่านมา แต่ comment ที่ได้กลับไม่ work ครับ ยุ่งยากและ reliability สู้วิ่งผ่าน backbone ที่เป็น TDM ไม่ได้ และก็กำลังจะกลับมาดูการให้บริการโดยใช้ NG-SDH โดยอาศัย feature L2 บน SDH ดู ส่วน service Ethernet ที่เขาใ้ห้บริการอยู่นั้นจะใช้ L2 Switch ในการให้บริการโดยตรง อาศัยแค่ SDH มา transport Gigabit Ethernet ในแบบ point-to-point ในส่วนของ backbone แค่นั้น เป็นข้อมูล reality check ดีเหมือนกัน ว่าในการนำไปใช้จริงตอนนี้เป็นยังไง

Submarine EDFA

Image
EDFA หรือ Erbium Doped Fiber Amplifier อาศัยหลักการกระตุ้น Erbium ให้มีพลังงานสูง อยู่ใน meta state แล้วพอ wavelength ที่ต้องการขยายวิ่งเข้ามา ก็จะมีการถ่ายเทพลังงานให้ พลังที่ใช้กระตุ้นก็จะเป็นแสงที่ความยาวคลื่น 980 nm ทีนี้ถ้าเป็นใต้ทะเล วิธีการส่งพลังงานก็อาจจะเป็นแบบ Remote Pump คือตัวก่อกำเนิดพลังงานแสงหรือ pump อยู่บนบกแล้วยิงแสงเข้าไปใน fiber หรืออีกแบบก็คือแบบ Remote Power Feed คือ feed กระแสไฟเข้าไปใน fiber ผมไปเจอรูป EDFA ที่ใช้ใต้ทะเลของ Tyco เลยเอามาเก็บไว้ ใหญ่โตดีจริงๆครับ และรู้สึกจะเป็นแบบ Remote Power Feed ครับ

Packet-based Transport Acronym Soup

Image
ตอนนี้มีความพยายามพัฒนาเทคโนโลยีที่เป็น packet-based transport ออกมาหลากหลาย มี acronyms เยอะแยะไปหมดจนจะจำไม่ไหวแ้ล้ว ทางฝั่ง ITU ก็เสนอให้เอาเทคโนโลยี MPLS นี่แหละมาทำเป็น transport layer เลย โดยตัด feature ที่ไม่เกี่ยวข้องออกไป โดยเฉพาะในส่วนของ control protocol นี่ให้ตัดออกไปเลยแล้วใช้การ provision ผ่าน network management แทน และก็เน้นเฉพาะ feature ที่จะรองรับ connection-oriented circuit เท่านั้น ITU เรียกอันนี้ว่า T-MPLS อีกค่ายหนึ่งก็เป็นกลุ่มของทาง IEEE เิริ่มจากการพัฒนาโดยเอา concept ของ 802.1q (VLAN tag), 802.1ad (QinQ) มาใช้พัฒนาเป็นเทคโนโลยีแบบ MAC in MAC ในมาตรฐาน 802.1ah ซึ่งมีชื่อว่า PBB (Provider Backbone Bridge) แล้วก็พัฒนาต่อขึ้นไปอีกเป็น PBT (Provider Backbone Transport) ซึ่งต่อมาก็เปลี่ยนชื่อมาเป็น PBB-TE (Provider Backbone Bridge - Traffic Engineering) โดยใน PBB-TE นี้จะมี frame เหมือนใน PBB แต่จะ disable หลายๆอย่างด้วยกันเช่น mac learning/flooding และใช้การ configure จาก NMS เอาแทน รายละเอียดต่างๆ คงต้องมาเขียนเก็บไว้อีกที จริงๆแล้วก่อนหน้านี้ก็มีการเอาโครงข่าย