Tuesday, September 8, 2015

เครือข่ายคอมพิวเตอร์ (ตอนที่ 1 ภาพรวมและฮาร์ดแวร์ของเครือข่าย)

ตอนที่ 1 นี้ เพื่อให้การให้คำจำกัดความของเครือข่ายคอมพิวเตอร์ เราต้องเริ่มด้วย

Telecommunication 
ที่เราเรียกกันว่า telecom กันนั่นล่ะครับ มาจากคำว่า Tele (ระยะไกล (distance)) กับ Communication (การสื่อสาร) สาระมันก็อยู่ที่คำว่าการสื่อสารน่ะครับ ส่วนที่เราสนใจกับคำนี้ก็คือ มันประกอบไปด้วย 4 ส่วน คือ ผู้ส่งสาร ผู้รับสาร สื่อที่ใช้ และตัวสาร (บางแห่งแยกสื่อเป็น medium กับ channel) ประเด็นคือในทาง ICT นั้นเราเน้นเฉพาะส่วนสื่อที่ใช้
เช่น การส่งโดยใช้สาย หรือการส่งแบบไร้สาย ใช้เทคนิคไม่เหมือนกัน
หากพิจารณาพื้นฐานของ telecommunication จะแยกก่อนเลยว่าเป็นการส่งด้วยสถาปัตยกรรม circuit switching หรือ packet switching โดยที่ circuit switching มีมาก่อน และมีกลไกว่าเส้นทางของข้อมูล(สาร)ที่เดินทางจะใช้เส้นทางเดิมตลอดการสื่อสาร (นึกถึง circuit switching ให้นึกถึงโครงข่ายโทรศัพท์)
ส่วน packet switching นั้นกล่าวได้ว่ากำเนิดมาเพื่อส่งข้อมูลทางคอมพิวเตอร์ และจุดสำคัญก็ต้องเปรียบกับ circuit ว่าเส้นทางการเดินทางของข้อมูลแต่ละส่วนไม่จำเป็นต้องเหมือนกัน ...ปัจจุบันการสื่อสารสองระบบนี้มีข้อมูลวิ่งข้ามกันไปมา
นอกจากนี้การสื่อสารในระบบไร้สายนั้นมีมายาวนานมาก สิ่งที่ควรได้รับการกล่าวถึงไว้ ณ ตรงนี้คือคลื่นที่ใช้อากาศเป็นสื่อนั้น มีการแบ่งย่านความถี่ไว้สำหรับแต่ละอุตสาหกรรม เช่นย่านความถี่สำหรับ 3G ย่านความถี่สำหรับทีวีดิจิตอล
การสื่อสารแบบใช้สายกับไร้สายมีข้อดีข้อด้อยต่างกัน เช่น การใช้สื่อที่ไร้สายจะลดความยุ่งยากในการติดตั้ง หรือเหมาะกับพื้นที่ที่ห่างไกล แต่ก็จะประสบกับปัญหาคุณภาพสัญญาณที่ขึ้นกับระยะห่างระหว่างเครื่องรับกับอุปกรณ์รับ/ส่ง


http://vignette4.wikia.nocookie.net/itlaw/images/f/f1/Allocated_spectrum.png/revision/latest?cb=20120721041223
ตัวอย่างการจัดสรรคลื่นความถี่สากล

ชนิดของเครือข่ายคอมพิวเตอร์
ในยุคแรกเราแบ่งชนิดของเครือข่ายออกเป็น LAN (Local Area Network) และ WAN (Wide Area Network) จุดแบ่งของสองระบบนี้คือเทคนิคที่อุปกรณ์ทั้งสองกลุ่มใช้ในการส่งข้อมูลไม่เหมือนกัน 
LAN นั้น เราอาจนึกภาพว่าสำหรับเป็นโครงข่ายภายในตึก ...ซึ่งก็ถูกระดับหนึ่งเพราะตัวสายมักไม่ได้ออกแบบมาให้ทนแดดทนฝน อย่างไรก็ดี limit ของ LAN อยู่ที่ระยะส่งของแต่ละมาตรฐาน เช่น 100 ม. (และมากสุด ไม่เกิน 500 ม. สำหรับการเชื่อมต่อแบบขั้นสูง) โดยเงื่อนไขของระยะทางจริงๆคือเวลา กล่าวคือต้องได้รับการตอบรับ (response) ภายใน t มิลลิวินาที ไม่เช่นนั้นเราจะไม่ทราบได้ว่าจะรอถึงเมื่อไหร่ เครื่องใดมีสิทธิส่ง ณ เวลานี้ตามที่ตนได้ร้องขอ (request) ไป อนึ่งระยะไกลสุดนี้นับจาก 2 เครื่องที่ไกลที่สุดในเครือข่ายนี้
ปัจจุบัน เราสามารถหาเทคโนโลยีในกลุ่ม LAN ที่มีระยะส่งได้อย่างน้อย (เท่าที่เคยทราบตัวเลข) 2.5 กม.
ในยุคที่แบ่งเป็น LAN กับ WAN นั้น เรากล่าวว่าอะไรที่ไม่ใช่ LAN ก็คือ WAN เช่นในรั้วมหาวิทยาลัยนั้นเครื่องสองเครื่องอาจต้องคุยกันทาง WAN ก็ได้ นอกจากนี้ระบบที่เราใช้ เช่นการเปิดเว็บเพจ ซึ่งก็คือระบบอินเทอร์เน็ตนั่นเอง สองเครื่องนี้ย่อมมีส่วนของการสื่อสารที่เป็น WAN ตัวอย่างของเทคโนโลยีของ WAN ก็เช่นการสื่อสารผ่านดาวเทียม
ปัจจุบันมีการแบ่งชนิดของเครือข่ายให้ย่อยยิ่งขึ้น ตามลำดับระยะการสื่อสาร ได้แก่ PAN, LAN, MAN, WAN
PAN (Personal Area Network) คือเครือข่ายของอุปกรณ์อิเลคทรอนิกส์ที่มีระยะการสื่อสารในระดับ 10 ม. (ตามทฤษฎี ซึ่งควรจะน้อยกว่านี้ไหม) ตัวอย่างเครือข่าย PAN เช่น เมาส์ไร้สาย, ลำโพงไร้สาย ปัจจุบันจะมีอุปกรณ์มากมายแลกเปลี่ยนข้อมูลกันในยุค IoT (Internet of Things)
ส่วน MAN (Metropolitan Area Network) นั้นได้รับการออกแบบมาเติมช่องว่างระหว่าง LAN กับ WAN โดยเท่าที่ทราบเป็นการสื่อสารแบบไร้สาย เพื่อความสะดวกในการึ้นระบบที่ไม่ต้องติดตั้งอุปกรณ์อะไรมาก เทคโนโลยีนี้จะมีระยะความครอบคลุมการให้บริการในระดับเมือง (ระดับกิโลเมตร จนถึงหลายกิโลเมตร)
http://www.soi.wide.ad.jp/class/20070044/slides/04/24.html
(จากรูป) ตัวอย่างของเทคโนโลยีสำหรับ WAN คือ 3G
สำหรับ MAN คือ WiMAX (802.16) สำหรับ LAN คือ WiFi (802.11)
สำหรับ PAN ได้แก่ bluetooth, UWB (Ultra Wide Band) และ RFID


http://image.slidesharecdn.com/chapter10-100909120343-phpapp01/95/chapter10-18-728.jpg?cb=1284033895
ตัวอย่าง bandwidth ชนิดของสาย และ ระยะทำการของของมาตรฐานต่างของ Ethernet

ฮาร์ดแวร์สำหรับการติดตั้งเครือข่าย 
การที่คอมพิวเตอร์จะรับ/ส่งข้อมูลได้ จะต้องมีส่วนที่ทำหน้าที่ดังกล่าว (เช่น การ์ดแลน (แบบแลน) โมเด็มADSL (แบบแวน)) และเรียกรวมๆว่า Network Interface Controller (NIC) ในกรณีของแลนนั้นมักหมายถึงเครื่องคอมพิวเตอร์มากกว่า 2 เครื่องแบ่งกันใช้สายสัญญาณ(สายแลน)ผ่านอุปกรณ์ที่เรียกว่า สวิตช์ (switch) (นึกภาพสายทองแดงมีจุดเชื่อมต่อออกเป็นโครงข่าย) (ที่กล่าวถึงประเด็นมากกว่าสองเครื่องเพราะในทางเทคนิคเครื่องสองเครื่องนั้นเราสามารถต่อให้สื่อสารกันได้เลย) และเราเรียกอุปกรณ์ที่เทียบเท่า switch สำหรับ wifi ว่า access point
เรานับกลุ่มของคอมพิวเตอร์ที่สามารถสื่อสารกันได้ว่าเครือข่าย (network) ประเด็นคือการสื่อสารข้ามเครือข่ายต่างหากที่ผู้ใช้มักต้องการ เราเรียกการสื่อสารนั้นว่าการสื่อสารระหว่างเครือข่าย (internetworking  (จริงๆคำนี้ต้องถือว่ามีมาก่อน) เพื่อไม่ให้ซ้ำกับ the Internet)
การสื่อสารข้ามเครือข่ายต้องมีอุปกรณ์เพื่อการทำ packet switching โดยทั่วไปเราเรียกอุปกรณ์กลุ่มนี้ว่า เราต์เทอร์ (router ตัวเลือกเส้นทาง)


http://www.conceptdraw.com/examples/drawing-local-network
(จากรูป) router คืออุปกรณ์ที่เชื่อมเน็ตเวิร์คต่างๆเข้าด้วยกัน องค์กรหนึ่งๆอาจมีเน็ตเวิร์คมากกว่าหนึ่งก็ได้ เนื่องจาก router ต้องเชื่อมต่อหลายเน็ตเวิร์ค เรากล่าวว่า router ต่อมีหลาย interface เช่น ขาหนึ่งต่อ the Internet อีกขาหนึ่งต่อเข้ากับเน็ตเวิร์คขององค์กร ในกรณีที่ switch มีจำนวน port ไม่พอ เราสามารถขยายจำนวน port ด้วยการ stack switch ได้ เครื่องอาจติดต่อกันผ่านสายหรือแบบไร้สายก็ได้

โพรโตคอล (protocol)
Protocol (พิธีการ) หมายถึงระเบียบ, ข้อตกลงในการสื่อสาร เพื่อให้การสื่อสารดำเนินไปอย่างสัมฤทธ์ผล (นึกภาพคนสองชาติคุยกันสองภาษา ก็จะคุยกันไม่รู้เรื่อง หรือนึกภาพว่าหากข้อตกลงคือต้องเคาะประตูก่อนเริ่มการสนทนา ไม่มีการคุยโดยคุยข้ามประตู หากฝ่ายหนึ่งไม่ทำตามข้อตกลงการสื่อสารย่อมล้มเหลว) สิ่งที่เกิดขึ้นจริงในระดับการใช้งานนั้นไม่ได้ซับซ้อนเลย เช่น http (HyperText Transfer Protocol) ที่เราใช้ดูหน้าเว็บเพจนั้น มีคำสั่งมาตรฐานจำนวนหนึ่ง (กล่าวคือคุยด้วยคำสั่งอื่น ปลายทางย่อมไม่รู้จัก ไม่เข้าใจ) เช่น GET, HEAD, PUT, POST, DELETE, LINK และ UNLINK  (รายละเอียดเพิ่มเติมเกี่ยวกับ ตัวอย่าง protocol http ดูได้ที่ http://papa.det.uvigo.es/~theiere/cursos/Curso_WWW/codes.html) ดังนั้นโปรแกรมเราต้องส่งคำว่าคำสั่งไปยังเครื่องปลายทางก่อน เพื่อให้ทราบสิ่งที่ต้องการจะทำ และระบุหน้า html ที่ต้องการ หรือค่าที่ต้องการส่ง ในลำดับถัดไป
http://www.opensourceforu.efytimes.com/wp-content/uploads/2011/01/figure-1-Normal-client-server-communication-for-302-redirect.png
ตัวอย่างลำดับการส่ง/รับข้อมูล เพื่อขอดูหน้า web page


http://www.msexchange.org/upl/img10290814942302.gif

จากรูปประกอบข้างต้น บรรทัดที่เป็นตัวเลขคือข้อความที่ server ตอบสนองเมื่อได้รับคำสั่งต่างๆจาก client

ในระดับ LAN นั้น Ethernet เป็น protocol ที่ควบคุมการทำงานของการ์ดแลน ส่วนตัวแล้วผมรู้สึกว่าเราควรสามารถใช้คำว่ามาตรฐานแทน protocol ได้ (แต่ใช้ทัพศัพท์ไปเลยก็น่าจะชัดเจนที่สุด) ตระกูลของ Ethernet protocol คือ IEEE802.3 (ดูวิวัฒนาการและ bandwidth ที่จะมาในอนาคตที่ https://en.wikipedia.org/wiki/IEEE_802.3) ส่วน wifi นั้นคือตระกูล IEEE802.11 (ดูวิวัฒนาการและ bandwidth ที่จะมาในอนาคตที่
https://en.wikipedia.org/wiki/IEEE_802.11)



http://pic.youmobile.org/imgcdn/1130539120.jpg
(จากรูป) ตัวอย่างคุณสมบัติของมาตรฐาน WiFi


http://www.androidauthority.com/wp-content/uploads/2012/04/4G_LTE_WEB_en.jpg
(จากรูป) วิวัฒนาการของเทคโนโลยีการส่งข้อมูลด้วยโครงข่ายโทรศัพท์เคลื่อนที่

ส่วนหนึ่งของ protocol สำหรับ ethernet กล่าวถึงกลไกสำหรับแต่ละเครื่องในเครือข่ายสำหรับการส่งข้อมูลที่เป็นที่รู้จักกันคือ Carrier Sense Multiple Access with Collision Detection (CSMA/CD) ซึ่งกล่าวถึงการจองสายส่งสัญญาณ (นึกภาพว่าเครื่องแต่ละเครื่องคือคนในห้องเรียน เครื่องสองเครื่องคุยพร้อมกัน คนสองคนคุยพร้อมกัน คนอื่่นจะฟังไม่รู้เรื่อง ดังนั้นต้องมีกลไกในการร้องขอสิทธิที่หากเครื่องนั้นส่งสัญญาณออกไปแล้ว (ภายในเวลา t คนสุดท้ายต้องได้ยิน มิเช่นนั้นหากเขาร้องขอสิทธิบ้างจะสัญญาณจะชนกัน)) นั่นก็คือหากมีการส่งสัญญาณพร้อมกันการชนกันของสัญญาณจะเกิดขึ้น (ได้ยินหลายเสียงปนกัน ไม่มีใครฟังอะไรรู้เรื่อง) ในทางตรงกันข้ามหากทุกเครื่องไม่ส่งสัญญาณขณะที่สองเครื่องมีการสื่อสาร ก็จะไม่เกิดสัญญาณขยะ

ในขณะที่ส่วนหนึ่งของ protocol สำหรับ wifi จะกล่าวถึง Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) ซึ่งกล่าวถึงการที่สัญญาณในอากาศชนกันเป็นเรื่องที่ detect ไม่ได้ ดังนั้นจึงต้องออกแบบมาให้หลีกเลี่ยงการชนกันแทน


http://itech.fgcu.edu/faculty/zalewski/CNT4104/lecture12/comm0219.jpg


http://img.tomshardware.com/de/2003/04/02/grundlagen_drahtlose_netzwerke_teil_2/mac2.gif

จากรูป รูปบน (CSMA/CD) ผู้ส่งสามารถรับรู้ได้ทันทีว่ามีการชน รูปล่าง (CSMA/CA) ทุกเครื่องจะหลีกเลี่ยงการชนกันของสัญญาณด้วยการร้องขอ (RTS) ก่อน หากไม่มีการชน (ส่ง RTS สำเร็จ) จะได้รับ CTS กลับมา


แม้ว่าจากที่กล่าวมานั้น เรายังไม่สามารถทำให้เครื่องคอมพิวเตอร์มากกว่าสองเครื่องสื่อสารกันได้อย่างจริงจัง ผู้เขียนขอกล่าวถึงซอฟท์แวร์สำหรับการจัดการเครือข่ายคอมพิวเตอร์ที่หลายคนอาจเคยได้ใช้งานอยู่บ้าง ได้แก่ ในกรณีที่ลูกข่ายทั้งหมดใช้ระบบปฏิบัติการวินโดวส์ก็คือ neighborhood ใน windows กล่าวคือ หากเราติดตั้งระบบเน็ตเวิร์คบนแลน เราสามารถแชร์เครื่องพิมพ์ แชร์ไฟล์ได้ ที่ยกตัวอย่างมานี้ก็เพื่อแสดงให้เห็นภาพว่าการวางทรัพยาการทางเครือข่ายเพียงอย่างเดียวยังไม่สามารถทำให้คอมพิวเตอร์สื่อสารกันได้ ต้องมีซอฟต์แวร์ในระดับที่สูงกว่านั้นมาจัดการต่อ

http://www.oxhow.com/wp-content/uploads/windows-7-network.gif
windows explorer สามารถแสดงทรัพยากรที่มีการแบ่งปันกันในระบบ

ส่งท้าย
บทนี้กล่าวถึงโยงภาพรวมของการสื่อสารมาสู่การให้คอมพิวเตอร์ตั้งแต่สองเครื่องสามารถสื่อสารกันได้ อันที่จริงในระดับฮาร์ดแวร์ และ(เทคโนโลยี)ของสื่อที่ใช้ ยังไม่เพียงพอสำหรับการสื่อสารข้อมูล แม้ว่าในระดับฮาร์ดแวร์จะมีส่วนที่เป็นซอฟต์แวร์อยู่ด้วย(ขอให้มองว่ามันคือ driver ของอุปกรณ์รับ/ส่งสัญญาณ) แต่ส่วนซอฟต์แวร์ที่เป็นหัวใจจริงๆจะกล่าวถึงในลำดับถัดไป โดยเราเรียกกลไกเพื่อการสนับสนุนให้การดำเนินการสื่อสารข้อมูลเป็นไปอย่างมีประสิทธิภาพว่า protocol

Copy Right สันธนะ(kmitl) 2015

9 Oct 2016
/* for later edition */

Key Terms

circuit switching
packet switching

/* put router and switch image in comments */