วันพุธที่ 26 เมษายน พ.ศ. 2560

PPPoE และ PPPoA คือ ?

PPPoE และ PPPoA คือ ?

PPP

PPP (point to point protocol) เป็น Protocal ที่ใช้ติดต่อกันในระดับ layer2 (frame)

PPPOE

          PPPoE คือ Point to Point Protocol over Ethernet  เป็นการพัฒนาต่อมาจาก PPP หรือ 56kb เดิม มาเป็น PPPoE ซึ่งให้ความเร็วอินเตอร์เน็ตมากขึ้น และ security มากขึ้นกว่าเดิม 
          การที่เราต้องใช้ PPPoE นั่นก็เนื่องจากว่า core network ของ network service provider เขาใช้เป็น Ethernet technology อยู่คับ เราจึงต้องเซ็ตให้โปรโคคอล PPP วิ่งผ่านไปบน Ethernet network ได้ (อย่างพวก Gigabit Ethernet ring , Metronet )
          PPPoE จะทำการ encapsulation ห่อหุ้ม frame โดยใช้ protocal PPP ให้วิ่งบน Ethernet ที่ทำงานผ่านระบบบรอดแบนด์ เช่น ADSL สังเกตจากการตั้งค่าที่เราท์เตอร์ (ถ้าเป็นซิสโก้ จะเห็นชัด) จะใช้อินเตอร์เฟสลอจิคัลที่ย่อยออกมา เช่น Dialer ตั้ง Encapsulation เป็น PPP ซึ่งสาเหตุที่ใช้ PPP Header มาคร่อมหน้าเฟรมอีเธอร์เน็ตก่อน เพราะมันทำ Authentication ได้ (คือต้องตั้งค่า User/Pass ให้ตรงกับที่ ISP กำหนด ถึงจะเปิดการเชื่อมต่อ PPP ได้ โดยใช้โปรโตคอลย่อยเป็นแบบ PAP หรือ CHAP ก็แล้วแต่ ISP)
          PPPoE นั้น จะมี physical เป็น cable แล้วจะมีการรับ-ส่ง ขนาดของ frame ขึ้นอยู่กับการ syncronous

PPPOA

          PPPoA คือ Point to Point Protocol over ATM  จะทำการ encapsulation frame แล้ว convert ให้วิ่งไปในรูปแบบของ cell ผ่านไปบนเครือข่าย ATM network ซึ่งมีความเร็วสูงและไปได้กว่าเครือข่าย Ethernet แต่ก็มีค่าใช้จ่ายสูงกว่าเช่นกัน
         PPPoA นั้น จะมี physical เป็น optic แล้วจะมีการรับ-ส่ง ขนาดของ cell นั้นมีขนาด 53 bytes 



สรุป
         PPPoE คือ การเชื่อมต่อแบบ PPP แบบที่ฝั่งผู้ให้บริการ เขาต่อ Lan แบบ Ethernet 802.3
PPPoA ก็เหมือนกับ PPPoE แต่ LAN เป็นแบบ ATM ดังนั้น การเชื่อมต่อในระดับ layer 2 จึงต่างกัน การ encapsulate ก็ต่างกัน และ option ต่างๆที่มีในตัว modem/router ADSL จึงต่างกันด้วย 


          * Internet service provider: ISP หรือ ผู้ให้บริการอินเทอร์เน็ต (อังกฤษ: ) คือ บริษัทที่ให้ลูกค้าสามารถเข้าถึงอินเทอร์เน็ต[1] โดยผู้ให้บริการจะเชื่อมโยงลูกค้าเข้ากับเทคโนโนยีรับส่งข้อมูลที่เหมาะสมในการส่งผ่านอุปกรณ์โพรโทคอลอินเทอร์เน็ต อย่างเช่น ไดอัล, ดีเอสแอล, เคเบิลโมเด็ม, ไร้สาย หรือการเชื่อมต่อระบบไฮสปีด
          ผู้ให้บริการอินเทอร์เน็ตอาจให้บริการ เปิดบัญชีชื่อผู้ใช้ในอีเมล์ ติดต่อสื่อสารกับผู้อื่นโดยรับ-ส่ง ผ่านเซิร์ฟเวอร์ของผู้ให้บริการ ในบางครั้งผู้ให้บริการทางอินเทอร์เน็ตอาจให้บริการเก็บไฟล์ข้อมูลระยะไกล รวมถึงเรื่องเฉพาะทางอื่น เป็นต้น


ข้อมูลจาก
1. http://bbznet.pukpik.com/scripts2/view.php?user=wut1983&board=1&id=12&c=1&order=numview
2. http://www.admin.in.th/index.php?topic=449.0
3. http://www.atriumtech.com/cgi-bin/hilightcgi?Home=/home/InterWeb2000&File=/home2/searchdata/Forums/http/www.pantip.com/tech/internet/topic/IT1585614.html
4. http://th.wikipedia.org/wiki/%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B9%83%E0%B8%AB%E0%B9%89%E0%B8%9A%E0%B8%A3%E0%B8%B4%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%AD%E0%B8%B4%E0%B8%99%E0%B9%80%E0%B8%97%E0%B8%AD%E0%B8%A3%E0%B9%8C%E0%B9%80%E0%B8%99%E0%B9%87%E0%B8%95

DNS และ DDNS

DNS และ DDNS

DNS




          Domain Name Server (DNS)  คือสิ่งที่นำมาอ้างถึงหมายเลขเครื่อง หรือ หมายเลข IP Address เพื่อให้ง่ายต่อการจดจำ DNS จะทำหน้าที่คล้ายกับสมุดโทรศัพท์ คือ เมื่อมีคนต้องการจะโทรศัพท์หาใคร คน ๆ นั้นก็จะต้องเปิดสมุดโทรศัพท์เพื่อค้นหาเบอร์โทรศัพท์ของคนที่ต้องการจะติดต่อคอมพิวเตอร์ก็เช่นกัน เมื่อต้องการจะสื่อสารกับคอมพิวเตอร์เครื่องอื่น เครื่องนั้นก็จะทำการสอบถามหมายเลข IP ของเครื่องที่ต้องการจะสื่อสาร กับ DNS server ซึ่งจะทำการค้นหาหมายเลขดังกล่าว ในฐานข้อมูลแล้วแจ้งให้ Host ดังกล่าวทราบ ระบบ DNS แบ่งออกได้เป็น 3 ส่วน คือ
         1. Name Resolvers โดยเครื่อง Client ที่ต้องการสอบถามหมายเลขไอพีเรียกว่า Resolver ซึ่งซอฟต์แวร์ที่ทำหน้าที่เป็น Resolvers นั้นจะถูกสร้างมากับแอพพลิเคชันหรือเป็น Library ที่มีอยู่ใน Client
         2. Domain Name Space เป็นฐานข้อมูลของ DNS ซึ่งมีโครงสร้างเป็น Tree หรือเป็นลำดับชั้น แต่ละโหนดคือ โดเมนโดยสามารถมีโดเมนย่อย (Sub Domain) ซึ่งจะใช้จุดในการแบ่งแยก
         3.  Name Servers เป็นคอมพิวเตอร์ที่รันโปรแกรมจัดการฐานข้อมูลบางส่วนของ DNS โดย Name Server จะตอบการร้องขอทันที โดยการหาข้อมูลตัวเอง หรือส่งต่อการร้องขอไปยัง Name Server อื่น ซึ่งถ้า Name Server มีข้อมูลของส่วนโดเมนแสดงว่า Server นั้นเป็นเจ้าของโดเมนเรียกว่า Authoritative แต่ถ้าไม่มีเรียกว่า Non-Authoritative



DYNAMIC DNS

DynDNS ย่อมาจาก Dynamic DNS  เป็นบริการที่สามารถทำให้เราเชื่อมโยง Hostname บนระบบอินเตอร์เน็ตเข้ากับ IP Address ที่เปลี่ยนแปลงอยู่เสมอ ในโลกของระบบอินเตอร์เน็ตนั้นจะมี IP Address อย่างจำกัด ดังนั้นเมื่อทำการเชื่อมต่ออินเตอร์เน็ตผ่าน ISP ของคุณ เค้าก็จะให้ IP Address ชั่วคราว (Dynamic IP Address) ซึ่งจะเปลี่ยนแปลงอยู่ตลอดเวลาเสมอ เพื่อใช้ในการอ้างอิงบนระบบอินเตอร์เน็ต DynDNS จะช่วยเชื่อมโยงระหว่าง Hostname และ Dynamic IP Address ที่มีการเปลี่ยนแปลงตลอดเวลา 

ภาพประกอบและข้อมูลจาก
1. http://www.dpu.ac.th/compcntre/page.php?id=2362
2. http://www.suchinko.com/index.php?lay=boardshow&ac=webboard_show&Category=suchinkocom&thispage=&No=484333&WBntype=1

DHCP คืออะไร

DHCP คืออะไร

Dynamic Host Configuration Protocol (DHCP หรือ DHCPv6) เป็นโพรโทคอลที่ใช้ในเครือข่ายคอมพิวเตอร์ที่ทำงานแบบแม่ข่าย-ลูกข่าย โดยเครื่องคอมพิวเตอร์ลูกข่ายจะทำการร้องขอข้อมูลที่จำเป็น ในการเข้าร่วมเครือข่ายจากแม่ข่าย ซึ่งข้อมูลเหล่านี้รวมถึงหมายเลข IP Address ใช้ภายในเครือข่าย ซึ่งคอมพิวเตอร์แม่ข่ายเป็นฝ่ายกำหนดให้กับลูกข่าย เพื่อให้มีหมายเลขไม่ซ้ำกัน  

DHCP ได้รับการยอมรับเป็นมาตรฐานในเดือนตุลาคม ค.ศ. 1993 โดยมาแทนมาตรฐานเก่า BOOTP รุ่นล่าสุดของ DHCP คือ DHCPv6 ซึ่งใช้กับโพรโทคอล IPv6 ได้รับการอนุมัติเมื่อกรกฎาคม ค.ศ.​2003

ใครทำหน้าที่แจกจ่าย IP
โดยปกติแล้ว DHCP สามารถทำผ่านคอมพิวเตอร์ที่ติดตั้ง Windows Server ได้ นอกจากนี่้ยังอุปกรณ์บางชนิดยังสามารถทำหน้าที่เป็น DHCP Server ได้เช่นกัน ตัวอย่างเช่น Router / ADSL Modem / Wireless Access Point เป็นต้น

ประโยชน์ของ DHCP
การเชื่อมต่อระบบเครื่อข่ายเข้าด้วยกัน จำเป็นจะต่้องมีการกำหนด IP Address ให้กับคอมพิวเตอร์ และอุปกรณ์ต่างๆ ที่จำเป็น ดังนั้น การแจกจ่าย IP Address จาก DHCP Server ทำให้สะดวกในการบริหารจัดการคอมพิวเตอร์ในจำนวนมากๆ นอกจากนี้ยัง DHCP ยังสามารถแจกจ่ายค่า DNS Suffix / Default Gateway หรือ NetBIOS Node Type ได้อีกด้วย
การจ่ายหมายเลขไอพี

เซิร์ฟเวอร์ DHCP มีวิธีการจ่ายหมายเลขไอพี 3 วิธี ดังนี้
  1. กำหนดด้วยตนเอง ผู้บริหารระบบเครือข่ายเป็นผู้กำหนดหมายเลขไอพีที่ต้องการใช้สำหรับเครื่องลูกข่าย โดยใช้วิธีเทียบกับหมายเลข MAC
  2. แบบอัตโนมัติ เซิร์ฟเวอร์ DHCP จะจ่ายหมายเลขไอพีที่ว่างอยู่ให้กับลูกข่ายโดยอัตโนมัติ ซึ่งจะใช้หมายเลขไอพีช่วงที่ผู้บริหารระบบกำหนดให้ใช้ได้ ไอพีที่จ่ายจะถูกใช้อย่างถาวร
  3. แบบไดนามิก วิธีนี้เป็นวิธีเดียวที่สามารถนำหมายเลขไอพีมาใช้ซ้ำได้ เมื่อคอมพิวเตอร์ถูกเปิดเครื่องและเริ่มทำงาน เครื่องลูกข่ายจะขอหมายเลขไอพีจากเซิร์ฟเวอร์โดยอัตโนมัติ วิธีนี้ต่างกับแบบอัตโนมัติตรงที่หมายเลขไอพีในการทำงานแต่ละครั้ง ไม่จำเป็นต้องเป็นเลขเดิม

ข้อมูลจาก
http://th.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol
http://www.it-guides.com/training-a-tutorial/network-system/1417-what-is-dhcp

การแปลงสัญญาณ A/D และ D/A

การแปลงสัญญาณ A/D และ D/A


การสื่อสารข้อมูลด้วยคอมพิวเตอร์ สามารถสื่อสารข้อมูลได้ทุกประเภท ประกอบด้วย เสียง (Voice) อักขระข้อความ (Text), ภาพ (Image) และข้อมูลคอมพิวเตอร์ (Data) ซึ่งแต่ละข้อมูล มีลักษณะเฉพาะของสัญญาณที่แตกต่างกัน แบ่งการกระทำของข้อมูลดังนี้
1. Analog Computer
สัญญาณอนาลอกคือ สัญญาณข้อมูลแบบต่อเนื่อง (Continuouse Data) มีขนาดของสัญญาณไม่คงที่ การเปลี่ยนแปลงขนาดของสัญญาณแบบค่อยเป็นค่อยไปแปรผันตามเวลา เป็นสัญญาณที่มนุษย์สามารถสัมผัสได้ เช่น แรงดันของน้ำ
2.Digital Computer
สัญญาณดิจิตัล คือ สัญญาณข้อมูลแบบไม่ต่อเนื่อง (Discrete Data) มีขนาดของสัญญาณคงที่ การเปลี่ยนแปลงขนาดของสัญญาณเป็นแบบทันที ทันใด ไม่แปรผันตามเวลา เป็นสัญญาณที่มนุษย์ไม่สามารถสัมผัสได้ เช่น สัญญาณไฟฟ้า

ความสัมพันธ์ของสัญญาณอะนาลอก ดิจิตอล และตัวแปลงสัญญาณ

สัญญาอะนาลอก (Analog) และสัญญาณดิจิตอล (Digital)ทั้งสองสัญญาณ เกี่ยวข้องกับตัวแปลงสัญญาณ (Transducer)การเชื่อมต่อระบบอนาลอกเข้าสู่ระบบคอมพิวเตอร์ จะต้องมีตัวกลางใน การแปลงเปลี่ยนจากAnalogให้เป็นสัญญาณทางอิเล็กทรอนิกส์ เรียกว่า“ทรานส์ดิวเซอร์”(Transducer) การแปลงสัญญาณกลับไปกลับมาระหว่างสัญญาณ Analog และ Digital อาศัย "ตัวเปลี่ยนสัญญาณข้อมูล Converter"
การแปลงสัญญาณมี 2 วิธีคือ
  1. การแปลงสัญญาณอนาลอกเป็นสัญญาณดิจิตอล
  2. การแปลงสัญญาณดิจิตอลเป็นสัญญาณอนาลอก

การแปลงสัญญาณอนาลอกเป็นสัญญาณดิจิตอล

Analog to Digital Converter (A/D)ทำหน้าที่แปลงสัญญาณข้อมูลที่ มนุษย์รับรู้ สัมผัสได้ เป็นข้อมูลทางไฟฟ้า เพื่อป้อนเข้าสู่การประมวลผล จึงเป็นขบวนการหนึ่งของการรับข้อมูล (Input Unit)เป็นกระบวนการอีเลคโทรนิคส์ ที่สัญญาแปรผันต่อเนื่อง (analog) ได้รับการแปลงให้เป็นสัญญาณดิจิตอล โดยไม่มีการลบข้อมูลสำคัญผลลัพธ์ของ ADC มีลักษณะตรงข้าม คือ กำหนดระดับหรือสถานะ ตัวเลขของสถานะมักจะเป็นการยกกำลังของ 2 คือ 2, 4, 8, 16 เป็นต้น สัญญาณดิจิตอลพื้นฐานมี 2 สถานะและเรียกว่า binary ตัวเลขทั้งหมดสามารถแสดงในรูปของไบนารี ในฐานะข้อความของ หนึ่งและศูนย์
วงจรที่ใช้ในการแปลงสัญญาณอนาลอกเป็นดิจิตอลมีมากมายหลายชนิด โดยทั่วไปแล้ววงจรแปลงสัญญาณอนาลอกเป็นดิจิตอล (A/D converters) มีใช้งานอยู่ประมาณ 7 ชนิดคือ
  1. Parallel Comparator, Simultaneous, หรือ Flash A/D converter
  2. Single – Ramp หรือ Single – Slope A/D converter
  3. Dual – Slope A/D converter
  4. Charge balance A/D converter
  5. A/D converters using Counters and D/A converters
  6. Tracking A/D converters
  7. Successive – Approximation A/D converters

Counting Converter

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

ข้อบ่งเฉพาะของการแปลงสัญญาณ A/D (A/D SPECIFICATIONS)

ข้อบ่งเฉพาะจะบอกถึงขีดความสามารถของ converter โดยทั่วไปแล้วจะมีอยู่หลายคำ เช่น ความแม่นยำ,ความเที่ยงตรง และความเที่ยงตรงเป็นเส้นตรง ซึ่งค่าเหล่านี้จะขึ้นอยู่กับลักษณะของแต่ละวงจร แต่มีข้อบ่งเฉพาะอีกข้อหนึ่งที่ไม่ขึ้นอยู่กับลักษณะของวงจรคือ ค่าผิดพลาดระหว่างค่าจริงของสัญญาณอะนาลอก กับค่าของดิจิตอลที่ใช้แทนค่า (ค่าของ Output ของ A/D converter) ซึ่งเรียกว่า Quantizing error จะมีค่าอยู่ประมาณ +1/2 digit ต่ำสุด (LSB)ของการแปลงสัญญาณซึ่งก็เป็นการบ่งถึงความแม่นยำได้อีกทางหนึ่งด้วยค่า พารามิเตอร์ที่สำคัญอีกตัวหนึ่งสำหรับ A/D converter คือ conversiontime หรือค่าเวลาสำหรับการแปลงสัญญาณ ซึ่งมีช่วงเวลาอยู่ประมาณ 10-9 วินาที ถึง 10-3 วินาที ซึ่งขึ้นอยู่กับชนิดของconverterและจำนวน bit

การแปลงสัญญาณดิจิตอลเป็นสัญญาณอนาลอก

Digital to Analog Converter (D/A) ทำหน้าที่แปลงข้อมูลผลลัพธ์จากการประมวลผลเป็นสัญญาณไฟฟ้า ให้เป็นสัญญาณที่มนุษย์รับรู้ได้ สัมผัสได้ เป็นการแสดงผลข้อมูล (Output Unit)digital-to-analog conversion เป็นกระบวนการซึ่งสัญญาณมีการกำหนดระดับ หรือสถานะจำนวนหนึ่ง ( ปกติ คือ 2 สถานะ) หรือสัญญาณดิจิตอล ให้เป็นสัญญาณที่ไม่จำกัดจำนวนของสถานะ หรือสัญญาณอนาลอก ตัวอย่าง กระบวนการของโมเด็มในการแปลงข้อมูลคอมพิวเตอร์ เป็นความถี่เสียง ให้สามารถส่งผ่านสายโทรศัพท์ twisted pair ในวงจรที่ทำงานให้กับฟังก์ชันนี้ เรียกว่า digital-to-analog converter (DAC) โดยพื้นฐาน digital-to-analog conversion ตรงข้ามกับ analog-to-analog conversion ถ้า analog-to-analog converter (ADC) วางอยู่ในวงจรการสื่อสารต่อจาก DAC สัญญาณดิจิตอลส่งออก จะตรงกับสัญญาณดิจิตอลนำเข้า ในกรณีที่ DAC วางอยู่ในวงจรต่อจาก ADC สัญญาณอะนาล๊อกส่งออกจะเป็นตรงกับสัญญาณอะนาล๊อกนำเข้าสัญญาณดิจิตอล แบบ binary จะปรากฏเป็นข้อความขนาดยาว ของ 1 และ 0 ซึ่งจะไม่มีความหมายต่อการอ่าน แต่เมื่อ DAC ใช้ถอดรหัสสัญญาณดิจิตอลแบบ binary จึงปรากฏผลลัพธ์ที่มีความหมาย ซึ่งอาจจะเป็น เสียง ภาพ เสียงดนตรี และกลไกการเคลื่อน
วงจรแปลงสัญญาณดิจิตอลเป็นสัญญาณอนาลอกมี 2 ลักษณะดังนี้

1.แบบรวมกระแส (weighted -resistor)

คุณลักษณะของ D/A แบบรวมกระแส
  1. จะต้องมีตัวต้านทานทุกอินพุทของสัญญาณดิจิตอล
  2. ตัวต้านทานนี้อินพุทของทุกบิทจะมีค่าเท่ากับเอาต์พุตของระดับดิจิตอลสูงสุด
  3. แรงเคลื่อนที่เอาต์พุตเต็มสเกลจะมีค่าเท่ากับเอาต์พุตของระดับดิจิตอลสูงสุด
  4. LSB จะมีน้ำหนักเป็น1/(2n-1) เมื่อ n เป็นจำนวนบิทที่อินพุท
  5. เมื่อ LSB เปลี่ยนแปลงแรงเคลื่อนไฟฟ้าที่เอาต์พุตจะเปลี่ยนไป 1/(2n-1) เมื่อ V เป็นระดับสัญญาณดิจิตอล

2.โครงข่ายแบบ R-2R (R-2R network)


การ Convert ค่าจากดิจิตอลเป็นอนาล็อกนั้น สามารถใช้ integrated circuit แปลงได้ แต่ถ้าหากคำนึงถึงเรื่องcostด้วยแล้ว วงจรที่สามารถทำได้และราคาถูกกว่าก็คือ R/2R Network นั่นเอง ซึ่งใช้ op-amp เป็นตัวควบคุมR/2R Network ทำได้จากการนำต่อต้านทานมาต่อดังรูป แต่ละบิตทั้งที่มีค่าเป็น 0 หรือที่เป็น operating voltage นั้นเป็นค่าที่อยู่ในวงจรของตัวต้านทานที่มีค่าเป็น 2 เท่าของrest network ซึ่งแต่ละบิตจะแสดงผลลัพธ์ออกเป็นoutput นั่นเอง จะเชื่อหรือไม่เชื่อว่าNetwork นี้ทำงานได้จริง ใช้เป็น Digital-to-Analog-Converters โดยใช้แค่เพียงตัวต้านทานต่อกันเป็นเครือข่ายตามรูป โดยไม่จำเป็นต้องใช้วงจรรวม integrated circuits แม้แต่วงจรเดียว 
Output จาก AVR port มีค่ากระแสไม่มากนัก เมื่อค่าความต่างศักย์ของมันควรจะมีค่าใกล้ๆศูนย์หรือพอกับ operating voltage ดังนั้นตัวต้านทานจึงควรมีค่าราวๆ 10กิโลโอห์ม เพราะจะทำให้วงจรไม่มีค่ากระแสมากเกินไปนั้นเอง และตัวop-amp เองก็สามารถทำงานกับวงจร R/2R Network ได้
R/2R Network and Buffer 


CA3140 เป็น Op-amp ที่มี FET stage เป็น input ซึ่งสามารถทำงานได้โดยค่าโวลต์ที่เป็นลบ หรือที่เรียกว่า Negative operating voltage นั่นเอง การทำงานของ CA3140นั้น ทำงานที่ค่าความต่างศักย์เป็น 5 โวลต์จาก 10-pin-connector ซึ่งConnector นี้ใช้กับboard STK200 หรือ STK500 ในที่จริงแล้วเราสามารถป้อนค่าความต่างศักย์ที่สูงกว่า 2 โวลต์ได้เช่นกัน โดยการใช้ตัวต้านทาน2ตัว ต่อขนานกันซึ่งจะได้ค่าประมาณครึ่งหนึ่งของ 100 k อาจจะเป็น 51k หรือมากกว่าหรือน้อยกว่าก็ได้ ซึ่งจะทำให้วงจรมี resolution เป็น 256 ซึ่งวงจรที่ได้ เป็นดังภาพด้านบน

ที่มา http://th.wikipedia.org

http://www.avr-asm-tutorial.net/avr_en/AVR_DAC.html

HDMI

HDMI

HDMI เป็นระบบการเชื่อมต่อภาพและเสียงแบบใหม่คะ ย่อมาจากคำว่า (H)igh (D)efinition (M)ultimedia (I)nterface โดย HDMI จะเชื่อมต่อทั้งสัญญาณภาพและเสียงระบบดิจิตอลแบบไม่มีการบีบอัดข้อมูลไว้ใน สายสัญญาณเพียงเส้นเดียว ให้ความคมชัดของภาพ มีความละเอียด มีความคมลึกและให้เสียงที่สมบูรณ์แบบที่สุดเท่าที่เคยมีมา ขั้วต่อของ HDMI to HDMI จะผลิตจากทองแท้ 24 K ด้วยนะคะ ทุกวันนี้ HDMI ถูกนำมาใช้กับอุปกรณ์ Home Theatre หลายอย่างเช่น พลาสม่าทีวี แอลซีดีทีวี เครื่องเล่นดีวีดี ฯลฯ
ที่มา http://guru.google.co.th/guru/thread?tid=5c7e91d5d01614a2

Cache Memory หน่วยความจำแบบแคช (Cache Memory)

Cache Memory

หน่วยความจำแบบแคช (Cache Memory)

หน่วยความจำแบบแคช (Cache Memory) คืออะไร

หน่วยความจำแบบแคช (Cache Memory) เป็นหน่วยความจำประเภทความเร็วสูง โดยมากจะใช้เป็นหน่วยความจำประเภท RAM ซึ่งใช้งานร่วมกับ CPU ที่ต้องการประสิทธิภาพในการประมวลผลสูง เพื่อไม่ให้เกิดสถานะรอ (Wait State) ของ CPU ขึ้น การทำงานของ Cache จะต้องมีวงจรคอยควบคุมเพื่อใหข้อมูลที่ CPU ใช้งานอยู่บ่อยๆ อยู่ในหน่วยความจำแบบ Cache มาก ที่สุด ซึ่งจะเป็นการเพิ่มความเร็วในการทำงานของ CPU นั่นเอง

มี Cache แล้วดีอย่างไร
เนื่องจากเทคโนโลยีการผลิตวงจรรวม (Integrated Circuit) พัฒนาไปมาก ทำให้ CPU ที่มีการผลิตออกมานั้น นับวันจะมีความเร็วสูงขึ้นเรื่อยๆ ตามพัฒนาการของเทคโนโลยี จึงทำให้เกิดปัญหาความเร็วที่แตกต่างกันระหว่าง CPU กับหน่วยความจำหลักมีมากขึ้นตามไปด้วย เป็นเหตุให้ประสิทธิภาพการทำงานของ CPU ต่ำลง เนื่องจาก CPU ไม่สามารถทำงานได้เต็มขีดความสามารถ (ความเร็ว) ที่มันมีอยู่ ดังนั้นหน่วยความจำ Cache จึงเป็นกลไกเข้ามาช่วยบรรเทาปัญหานี้ โดย Cache จะเป็นตัวกลางในการนำข้อมูลจาก ROM RAM หรือฮาร์ดดิสก์ที่ CPU ต้องการใช้งานเข้ามาเก็บพักไว้ที่ Cache ซึ่งนั่นทำให้ CPU ไม่ต้องดำเนินการผ่านหน่วยความจำหลัก ซึ่งเป็นหน่วย ความจำปกติที่ CPU ทำงานด้วย

การทำงานของ Cache
โครงสร้างการทำงานของ Cache ค่อนข้างจะซับซ้อนและมีราคาแพง ถ้าเทียบกับหน่วยความจำประเภทอื่น ในคอมพิวเตอร์ที่ใช้ Cache นั้น เมื่อใดที่ CPU ทำการอ่านข้อมูลของหน่วยความจำ วงจรควบคุม Cache จะทำการตรวจสอบดูว่าข้อมูลที่ CPU ต้องการอ่านนั้นอยู่ภายใน Cache ถ้าอยู่แล้วก็จะทำการส่งไปให้ CPU เลย ซึ่งจะสามารถส่งได้อย่างรวดเร็วมาก แต่ถ้าข้อมูลนั้นไม่มีอยู่ใน Cache CPU จะต้องรอชั่วขณะ เพื่อให้วงจรควบคุมอ่านข้อมูลจากหน่วย ความจำหลักมาใช้ และในขณะเดียวกันก็จะนำข้อมูลนั้นไปไว้ใน Cache ด้วย ซงจะทำให้การอ่านข้อมูลในครั้งต่อไปทำได้เร็วขึ้น
เหตุผลที่ทำให้ Cache เป็นที่นิยม คือ โปรแกรมส่วนใหญ่มีแนวโน้มที่จะใช้ข้อมูลในหน่วยความจำส่วนใดส่วนหนึ่งซ้ำแล้วซ้ำอีก ดังนั้น เมื่อส่วนที่ถูกใช้งานบ่อยๆ ถูกนำมาไว้ใน Cache แล้วก็จะทำให้ประสิทธิภาพของระบบดีขึ้นหน่วยความจำ Cache สามารถแบ่งได้ 2 แบบ
1. Memory Cache: จะเป็นการใช้หน่วยความจำ RAM ชนิดความเร็วสูงเป็นพิเศษมาเก็บคำสั่ง และข้อมูลที่ใช้บ่อยๆ จากหน่วยความจำ RAM แบบปกติของระบบ เพื่อลดเวลาที่ CPU ใช้ในการอ่าน RAM ซึ่งมีความเร็วในการทำงานช้ากว่าการทำงานของ CPU มาก
2. Device Cache: เป็นการออกแบบเพื่อเพิ่มความเร็วในการเข้าถึงข้อมูลในอุปกรณ์อื่นๆ เช่น หน่วยความจำสำรอง โดยการจัดสรร RAM มาใช้เก็บข้อมูลและคำสั่งต่างๆ ที่ใช้บ่อยๆ จากอุปกรณ์ที่มีความเร็วต่ำ เช่น ฮาร์ดดิสก์ มาไว้ใน Cache ทำให้จำนวนครั้งที่ต้องการเรียกใช้ข้อมูลจากอุปกรณ์เหล่านั้นลดลง นอกจากนี้ในบางครั้งจะพบกับ Buffer Memory ซึ่งเป็น Cache สำหรับอุปกรณ์แบบง่ายๆ ทำหน้าที่พักข้อมูลจากอุปกรณ์ไว้ชั่วคราว เพื่อรอให้ CPU มาเรียกอ่านไปใช้ โดยไม่มีการใช้วิธีที่ซับซ้อนในการเลือกว่าข้อมูลใดมีโอกาสสูงสุดที่จะถูกเรียกใช้งาน

จะเพิ่มประสิทธิภาพของ Cache ได้อย่างไร
วิธีการวัดประสิทธิภาพของ Cache ก็คือ อัตราส่วนของจำนวนครั้งที่สามารถอ่านข้อมูลจาก Cache ได้ ต่อจำนวนครั้งที่มีการอ่านข้อมูลทั้งหมด ซึ่งเรียกว่า Hit Rate เช่น ถ้า Hit Rate มีค่า 90% หมายความว่าใน 100 ครั้งที่ทำการอ่านข้อมูลจากหน่วยความจำ จะเป็นการอ่านข้อมูลจาก Cache 90 ครั้ง เพราะฉะนั้นระบบใดที่ให้ค่า Hit Rate ยิ่งสูงก็จะยิ่งมีประสิทธิภาพดี เพราะว่า ส่วนใหญ่ของการอ่านข้อมูลจะอ่านได้จาก Cache ซึ่งใช้เวลาน้อย โดยทั่วไปแล้วถ้าระบบใดมี Hit Rate มากกว่า 60% แสดงว่าระบบนั้นมีประสิทธิภาพที่ดี
การเพิ่มความเร็วในการประมวลผลแก่คอมพิวเตอร์ด้วยการปรับแต่ง Cache ทำได้อย่างง่ายๆ โดยการเพิ่มขนาดของ Cache ให้สูงขึ้น เพราะว่าเมื่อ Cache มีขนาดใหญ่ขึ้นก็จะสามารถเก็บข้อมูลไว้ภายในได้มากขึ้น ทำให้โอกาสที่จะพบข้อมูลใน Cache ก็จะสูงตามไปด้วย

ที่มา http://www.ismed.or.th/SME2/src/upload/knowledge/118915405346e10d05931c0.pdf

หน่วยความจำ

หน่วยความจำ

หน่วยความจำ
แบ่งออกเป็น 2 ประเภท คือ
1. หน่วยความจำหลัก
2. หน่วยความจำสำรอง

1.หน่วยความจำหลัก (Main Memory) คือ หน่วยความจำที่ต่อกับหน่วยประมวลผลกลาง และหน่วยประมวลผลกลางสามารถใช้งานได้โดยตรง หน่วยความจำ ชนิดนีจ้ ะเก็บข้อมูล และชุดคำสั่งในระหว่างประมวลผล และมีกระแสไฟฟ้า เมื่อปิดเครื่องคอมพิวเตอร์ข้อมูลในหน่วย ความจำนีจะหายไปด้วย หน่วยความจำหลักที่ใช้ในระบบคอมพิวเตอร์ปัจจุบัน เป็นชนิดที่ทำมาจากสารกึ่งตัวนำ หน่วยความจำชนิดนีมี้ขนาดเล็ก ราคาถูก แต่เก็บข้อมูลได้มาก และสามารถให้หน่วยประมวลผลกลาง นำข้อมูลมาเก็บ และเรียกค้นได้อย่างรวดเร็ว
หน่วยความจำหลักที่ใช้กับไมโครคอมพิวเตอร์ จึงต้องกำหนดคุณลักษณะในเรื่องช่วงเวลาเข้าถึงข้อมูล(Accesss time) ค่าที่ใช้ทั่วไปอยู่ในช่วงประมาณ 60 นาโนวินาที ถึง 125 นาโนวินาที (1 นาโนวินาทีเท่ากับ 10 ยกกำลัง -9 วินาที) แต่อย่างไรก็ตาม มีการพัฒนาให้หน่วยความจำ สามารถใช้กับซีพียูที่ทำงานเร็วขนาด 33 เมกะเฮิรตซ์ โดยการสร้าง หน่วยความจำพิเศษมา◌ึคั่นกลางไว้ ซึ่งเรียกว่า หน่วยความจำแคช (cache memory) ซึ่งเป็นหน่วยความจำที่เพิ่มเข้ามา เพื่อนำชุดคำสั่ง หรือข้อมูลจากหน่วยหลักมาเก็บไว้ก่อน เพื่อให้ซีพียูเรียกใช้ได้เร็วขึน้แบ่งตามลักษณะการเก็บข้อมูล
1.หน่วยความจำแบบลบเลือนได้ (volatile memory) คือถ้าเป็นหน่วยความจำที่เก็บข้อมูลไว้แล้ว หากไฟฟ้าดับ คือไม่มีไฟฟ้าจ่ายให้กับวงจรหน่วยความจำ ข้อมูลที่เก็บไว้จะหายไปหมด
แรม (Random Access Memory: RAM)
หน่วยความจำแบบลบเลือนได้เป็นหน่วยความจำหลักที่สามารถนำโปรแกรม และข้อมูลจากอุปกรณ์ภายนอก หรือหน่วยความจำรองมาบรรจุไว้ หน่วยความจำแรมนีต้ ่างจากรอมที่สามารถเก็บใหม่อีกครัง้ จึงจะนำข้อมูลหรือโปรแกรมมาเขียนใหม่อีกครัง้ หน่วยความจำแรมมีขนาดแตกต่างกันออกไป หน่วยความจำชนิดนีบ้ างครัง้ เรียกว่า read write memory ซึ่งหมายความว่า ทัง้ อ่านและบันทึกได้ หน่วยความจำเป็บแรมที่ใช้อยู่สามารถแบ่งได้ 2 ประเภท คือ
1. ไดนามิกแรมหรือดีแรม (Dynamic RAM : DRAM) DRAM จะทำการเก็บข้อมูลในตัวเก็บประจุ ( Capacitor ) ซึ่งจำเป็นจะต้องมีการ refresh เพื่อ เก็บข้อมูลให้คงอยู่ โดยการ refresh นี ้ทำให้เกิดการหน่วงเวลาขึน้ ในการเข้าถึงข้อมูล และก็เนื่องจากที่มันต้อง refresh ตัวเองอยู่ตลอดเวลานีเ้อง จึงเป็นเหตุให้ได้ชื่อว่า Dynamic RAM ปัจจุบันนีแ้ ทบจะหมดไปจากตลาดแล้ว
2. Static Random Access Memory (SRAM) จะต่างจาก DRAM ตรงที่ว่า DRAM จะต้องทำการ refresh ข้อมูลอยู่ตลอดเวลา แต่ในขณะที่ SRAM จะเก็บข้อมูลนัน้ ๆ ไว้ และจะไม่ทำการ refresh โดยอัตโนมัติ ซึ่งมันจะทำการ refresh ก็ต่อเมื่อ สั่งให้มัน refresh เท่านัน้ ซึ่งข้อดีของมัน ก็คือความเร็ว ซึ่งเร็วกว่า DRAM ปกติมาก แต่ก็ด้วยราคาที่สูงกว่ามาก จึงเป็นข้อด้อยของมันเช่นกัน
2. หน่วยความจำไม่ลบเลือน (nonvolatile memory) คือ หน่วยความจำเก็บข้อมูลได้ โดยไม่ขึน้ กับไฟฟ้าที่เลีย้งวงจร
รอม (Read Only Memory : ROM)
รอมจึงเป็นหน่วยความจำที่เก็บข้อมูลหรือโปรแกรมไว้ถาวร เช่นเก็บโปรแกรมควบคุม การจัดการพืน้ ฐานของระบบ ไมโครคอมพิวเตอร์ (bios) รอม ส่วนใหญ่เป็นหน่วยความจำไม่ลบเลือนแต่อาจยอมให้ผู้พัฒนาระบบ ลบข้อมูลและ เขียนข้อมูลลงไปใหม่ได้ การลบข้อมูลนีต้ ้องทำด้วยกรรมวิธีพิเศษ เช่น ใช้แสงอุลตราไวโลเล็ตฉายลงบนผิวซิลิกอน หน่วยความจำประเภทนี ้มักจะมีช่องกระจกใสสำหรับฉายแสงขณะลบ และขณะใช้งานจะมีแผ่นกระดาษทึบปิดทับไวเรียกหน่วยความจำประเภทนีว้ ่า อีพร็อม(Erasable Programmable Read Only Memory : EPROM)หน่วยความจำความเร็วสูง (Cache Memory)
หน่วยความจำแคช เป็นหน่วยความจำขนาดเล็กที่มีความเร็วสูง ทำหน้าที่เหมือนที่พักคำสั่ง และข้อมูลระหว่าง การทำงาน เพื่อให้การทำงานโดยรวมเร็วขึน้ แบ่งเป็นสองประเภท คือ แคชภายใน (Internal Cache) และแคชภายนอก (External Cache) โดยแคชภายใน หรือ L1 หรือ Primary Cache เป็นแคชที่อยู่ในซีพียู ส่วนแคชภายนอก เป็นชิปแบบ SRAM ติดอยู่บนเมนบอร์ด ทำงานได้ช้ากว่าแบบแรก แต่มีขนาดใหญ่กว่า เรียกอีกชื่อได้ว่า L2 หรือ Secondary Cache

2.หน่วยความจำรอง (secondary memory) ใช้เป็นส่วนเพิ่มความจำให้มีขนาดใหญ่มากขึน้ ทำงานติดต่ออยู่กับส่วนความจำหลัก ส่วนความจำรองมีความจุมากและมีราคาถูก แต่เรียกหาข้อมูลได้ช้ากว่าส่วนความจำหลักข้อมูลที่จะเก็บไว้ในส่วนความจำนัน้ เป็นรหัสแทนเลขฐานสอง (binary) คือ ๐ กับ ๑ ซึ่งต้องเก็บไว้เป็นกลุ่ม ๆ และมีแอดเดรสตามที่กำหนด เพื่อความสะดอกขอนิยามไว้ดังนี ้
บิต (bit) เป็นชื่อที่เขียนย่อจาก binary digit ซึ่งหมายถึงตัวเลขฐานสองคือ ๐ กับ ๑ ซึ่งเป็น

ส่วนประกอบที่เล็กที่สุดของหน่วยความจำ
ไบต์ (byte) เป็นชื่อที่ใช้เรียกกลุ่มของบิต ซึ่งขึน้ อยู่กับการเลือกใช้ เช่น ๖ บิต ๘ บิต…….ก็ได้ ซึ่งเรียกว่า ๖ บิตไบต์ ๘ บิตไบต์ ๑๖ บิตไบต์……..ตามลำดับ เป็นต้น
ขนาดของส่วนความจำบอกเป็นจำนวน K คำ ซึ่ง K ย่อมาจากคำว่า kilo อันหมายถึง 1,000 แต่ค่าที่แท้จริงคือ = 1,024
ในยุคสังคมสารสนเทศทุกวันนี ้ข้อมูลและโปรแกรมคอมพิวเตอร์จะมีจำนวนหรือขนาดใหญ่มากตามความ เจริญก้าวหน้าของเทคโนโลยีและความซับซ้อนของปัญหาที่พบในงานต่างๆ หน่วยความจำหลักที่ใช้เก็บข้อมูล ในคอมพิวเตอร์จึงต้องมีขนาดใหญ่ตามไปด้วย โดยทั่วไปหน่วยความจำหลักจะมีขนาดจำกัด ทำให้ไม่พอเพียงสำหรับ การเก็บข้อมูลจำนวนมาก ในระบบคอมพิวเตอร์จึงมักติดตัง้หน่วยความจำรอง เพื่อนำมาใช้ เก็บข้อมูลจำนวนมาก เป็นการเพิ่มขีดความสามารถด้านจดจำของคอมพิวเตอร์ให้มากยิ่งขึน้ นอกจากนีถ้ ้า มีการปิดเครื่องคอมพิวเตอร์ ในขณะทำงานข้อมูลและโปรแกรมที่เก็บไว้ในหน่วยความจำหลักหรือแรมจะสูญหายไปหมด หากมีข้อมูลส่วนใด ที่ต้องการเก็บไว้ใช้งานในภายหลังก็สามารถเก็บไว้ในหน่วยความจำรอง หน่วยความจำรองที่ นิยมใช้กันมากจะเป็น จานแม่เหล็กซึ่งจะมีทัง้ แผ่นบันทึกและฮาร์ดดิสก์
- ฮาร์ดดิสก์
- แผ่นบันทึก
- ซีดีรอม
- ดีวีดี
- หน่วยความจำแบบแฟลช

ที่มา http://www.notecyber.com/Doc/it05.pdf

Central Processing Unit : CPU

Central Processing Unit : CPU

หน่วยประมวลผลกลาง (Central Processing Unit : CPU) หน่วยประมวลผลกลาง หรือไมโครโพรเซสเซอร์ของไมโครคอมพิวเตอร์ มีหน้าที่นำคำสั่งและข้อมูลที่ เก็บไว้ใน หน่วยความจำมาแปลความหมาย และกระทำตามคำสั่งพืน้ ฐานของไมโครโพรเซสเซอร์ ซึ่งแทนด้วยรหัสเลขฐานสอง การทำงานของคอมพิวเตอร์ ใช้หลักการเก็บคำสั่งไว้ที่หน่วยความจำ ซีพียูอ่านคำสั่งจากหน่วยความจำมาแปลความหมาย และกระทำตามเรียงกันไปทีละคำสั่ง หน้าที่หลักของซีพียู คือควบคุมการทำงานของคอมพิวเตอร์ทัง้ ระบบ ตลอดจนทำการประมวลผล เทคโนโลยีไมโครโพรเซสเซอร์ได้พัฒนาอย่างรวดเร็ว โดยเริ่มจากปี พ.ศ. 2518 บริษัทอินเทลได้พัฒนา ไมโครโพรเซสเซอร์ที่เป็นที่รู้จักกันดีคือ ไมโครโพรเซสเซอร์เบอร์ 8080 ซึ่งเป็นซีพียูขนาด 8 บิต ซีพียูรุ่นนีจ ะรับข้อมูล เข้ามาประมวลผลด้วยตัวเลขฐานสองครัง้ ละ 8 บิต ต่อมาประมาณปี พ.ศ. 2524 มีการพัฒนาเป็นซีพียูแบบ 16 บิต ที่มีการรับข้อมูลจากภายนอกทีละ 8 บิต แต่การประมวลผลบวกลบคูณหารภายในจะกระทำทีละ 16 บิต ต่อมาโดยนำเอาซีพียู 80386 มาเป็นซีพียูหลักของระบบ ซีพียู 80386 เพิ่มเติมขีดความสามารถอีกมา เช่น รับส่งข้อมูล ครัง้ ละ 32 บิต ประมวลผลครัง้ ละ 32 บิต ประกอบด้วยส่วนใหญ่ ๆ 2 ส่วน คือ หน่วยคำนวณ และ หน่วยควบคุม 1.หน่วยควบคุม) (Control Unit) ทำหน้าที่ควบคุมการทำงาน ควบคุมการเขียนอ่านข้อมูลระหว่างหน่วยความจำของซีพียู ควบคุมกลไกการทำงาน ทัง้หมดของระบบ ควบคุมจังหวะเวลา โดยมีสัญญาณนาฬิกา เป็นตัวกำหนดจังหวะการทำงาน 2. หน่วยคำนวน (Arithmetic and logic unit เป็นหน่วยที่มีหน้าที่นำเอาข้อมูลที่เป็นตัวเลขฐานสองมาประมวลผลทางคณิตศาสตร์ และ ตรรกะ เช่น การบวก การลบ การเปรียบเทียบ และ การสลับตัวเลข เป็นต้นการคำนวณทำได้เร็วตามจังหวะการควบคุมของหน่วยควบคุม

วันอังคารที่ 11 เมษายน พ.ศ. 2560

Voice VLAN ตอนที่ 1 : ทำความรู้จักกับ Voice VLAN

Voice VLAN ตอนที่ 1 : ทำความรู้จักกับ Voice VLAN

สวัสดีครับ ในบทความนี้ จะมาพูดถึงเรื่อง Voice VLAN บน Cisco Switch กันครับ
ที่โต๊ะทำงานเราในบริษัททั่วไปก็จะมีโทรศัพท์ตั้งโต๊ะเอาไว้ติดต่อกัน ภายใน หรือ ไว้โทรหาลูกค้าได้ ซึ่งเมื่อก่อนเราจะใช้งานโทรศัพท์แบบ Analog ต้องเดินสายโทรศัพท์มาที่โต๊ะทำงานด้วย และที่โต๊ะทำงานยังต้องมีสาย LAN เพื่อให้ต่อใช้งานระบบเครือข่ายกับ Notebook อีกด้วย….
ในปัจจุบันเราสามารถลดค่าใช้จ่ายในการเดินสายโทรศัพท์แบบ Analog และลดความยุ่งยากในการดูแล จึงเปลี่ยนมาใช้งานโทรศัพท์ที่สามารถใช้งานผ่านระบบ IP ได้ นั่นก็คือ IP Phone นั่นเอง…
เมื่อนำ IP Phone มาใช้งานในระบบ เราจึงต้องมีการจัดการ Traffic ให้ใช้งานได้อย่างมีประสิทธิภาพมากขึ้น โดยการทำ VLAN ให้กับกลุ่มของ IP Phone เพื่อให้ Traffic ที่เป็น Voice over IP สามารถใช้งานได้มีประสิทธิภาพ และ ไม่ไปปะปนกับ Traffic Data ของ Users ทั่วไป
Image 2
เมื่อเราทำ VLAN แยกกันแล้วเป็น VLAN Voice กับ VLAN Data เมื่อเราต้องการจะต่อใช้งาน Notebook และ IP Phone โดยทั่วไปก็จะต้องต่อแยก Port กัน ตามรูปด้านล่าง
Image 4
ซึ่งการต่อลักษณะนี้ทำให้เกิดข้อเสีย คือ
  • เปลือง Port บน Switch (User 1 คน ใช้ Notebook และ IP Phone ที่โต๊ะ ต้องเสีย Port ที่ Switch ไป 2 Port)
  • ต้องลากสาย LAN ที่เชื่อมต่อจาก Switch ไปที่ IP Phone (ต้องลากสาย LAN ถึง 2 เส้น มาที่โต๊ะ User สำหรับ Notebook และ IP Phone)
เราจะมานำเสนอวิธีการ ที่สามารถแก้ปัญหานี้ โดยที่เราลากสาย LAN ที่เชื่อมต่อจาก Switch มาที่โต๊ะ เพียงแค่ 1 เส้น เท่านั้น !!!
Image 6ที่ IP Phone จะมี Port ให้ใช้งาน ดังนี้
  • Port ที่เชื่อมต่อไปที่ Switch 1 Port
  • Port ที่เชื่อมต่อไปที่ PC/Notebook 1 Port
Image 7
ปัญหาที่ตามมาก็คือ เราจะแยก VLAN Voice ของ IP Phone และ VLAN Data ของ Notebook ได้อย่างไร เมื่อต่อผ่านสาย LAN เส้นเดียวกัน ???
Image 8
เราจึงใช้งานฟีเจอร์ “Voice VLAN” โดยใช้คำสั่ง “switchport voice vlan xx” ที่ Interface ที่เชื่อมต่อไปหา IP Phone และ Notebook บน Switch เพื่อให้ IP Phone ทราบว่าตัวเองจะต้องใช้ VLAN อะไรในการใช้งานสำหรับ Voice นั่นเองครับ
.
ในบทความนี้ผมพูดเกริ่นนำเพื่อให้รู้จักกับ Voice VLAN กันก่อนนะครับ ซึ่งในตอนต่อไป ผมจะเขียนถึงหลักการทำงาน และ ตัวอย่างการ configure ให้นะครับ

ARP คืออะไร ? มาทำความรู้จักและเข้าใจการทำงานของ ARP (Address Resolution Protocol) กันดีกว่า

ARP คืออะไร ? มาทำความรู้จักและเข้าใจการทำงานของ ARP (Address Resolution Protocol) กันดีกว่า

สวัสดีครับ ใบบทความนี้เราจะมาเรียนรู้เรื่อง Address Resolution Protocol หรือเราเรียกย่อๆว่า ARP นั่นเองครับ
ARP จะทำงานเมื่อมีการติดต่อสื่อสารบน LAN (Ethernet) ระหว่างเครื่องต้นทาง และ เครื่องปลายทาง ใช้ ค้นหาและจับคู่ระหว่าง MAC Address กับ IP Address เพื่อให้ส่งถึงปลายทางในระดับ L2 ตาม OSI Model ได้ ลองมาดูเพื่อทำความเข้าใจกันต่อนะครับ
image-1
เมื่อเครื่อง NB1 ต้องการส่งข้อมูลหาเครื่อง NB2 จะเกิดการทำงานตาม OSI Model ดังนี้
(สมมุติว่าผมทำการ Ping จาก NB1 ไป NB2)
  • ที่ Layer 3 เครื่อง NB1 จะสร้าง IP Packet ขึ้นมา โดยใน IP Packet จะระบุ Source IP address และ Destination IP address เพื่อใช้ในการส่งข้อมูล (Data)
  • IP Packet ของ NB1 จะถูก Encapsulation ลงมาที่ Layer 2 คือ Ethernet Frame โดยใน Ethernet Frame จะระบุ Source MAC address และ Destination MAC address
cats
จากรูป เป็น Ethernet Frame ของเครื่อง NB1 จะเห็นว่า เครื่อง NB1 จะไม่มีข้อมูล Destination MAC address ของเครื่อง NB2 ทำให้ยังไม่สามารถส่งข้อมูลได้
NB1 จึงจะต้องทำการถามหา MAC address ของ NB2 เพื่อให้การ Encapsulation บน Ethernet Frame ของ NB1 นั้นสมบูรณ์ และ สามารถส่งข้อมูลไปหา NB2 ได้
image-3_
NB1 จึงเรียกใช้งาน ARP โดยส่ง ARP Request ออกไป ซึ่งใน Field ของ ARP จะมีดังนี้
  • Source MAC address (Sender) : อันนี้ทราบอยู่แล้วเพราะเป็น MAC Address ของเครื่องผู้ส่งเอง
  • Source IP address (Sender) : อันนี้ทราบอยู่แล้วเพราะเป็น IP ของเครื่องผู้ส่งเอง
  • Destination MAC address (Target) : อันนี้ยังไม่ทราบ จึงต้องส่ง ARP Request ไปถาม ระบุเป็น 0000.0000.0000
  • Destination IP address (Target) : อันนี้ทราบอยู่แล้วว่าต้องการจะส่งไป IP ไหน
จากนั้นทำการ Encapsulation บน Ethernet Frame เนื่องจากยังไม่ทราบ Dest. MAC address จึงระบุเป็น FFFF.FFFF.FFFF แล้วส่งออกไป
Note : สังเกตดีๆและอย่าสับสนระหว่าง Dest. MAC address ใน ARP Request กับ Ethernet Frame นะครับ

image-4_
เมื่อเครื่อง NB2 ได้รับ ARP Request เข้ามา ก็จะพิจารณาว่า มันคือเครื่องเป้าหมายที่ NB1 ต้องการถาม MAC address หรือเปล่า โดยพิจารณาจาก Destination IP address ที่ NB1 ส่งมา

image-5
ถ้าใช่ มันก็จะใส่ข้อมูลของตัวเองลงไป และ ตอบกลับไปหาคนที่ส่งมา นั่นคือ NB1 โดยใช้ ARP Reply

image-6
เมื่อ NB1 ได้รับ ARP Reply กลับมา ก็จะทำการเก็บข้อมูล ARP เอาไว้เป็น Cache หรือ ARP Cache เพื่อใช้ในการส่งข้อมูลในครั้งถัดไป โดยที่ไม่ต้องมาทำการส่ง ARP Request ใหม่ทุกครั้งเมื่อมีการส่งข้อมูล

image-7
ในการส่งข้อมูลต่างๆ ในครั้งถัดไป ก็จะสามารถส่งข้อมูลได้เลย เพราะที่ NB1 มี ARP Cache เก็บไว้ ซึ่งจับคู่ Destination IP address กับ Destination MAC address เอาไว้อยู่ จึงสามารถ Encapsulation บน Ethernet Frame ได้เลย โดยไม่ต้อง ARP Request ใหม่ทุกครั้งที่ส่งข้อมูล จนกว่า ARP Cache จะหายไป (ARP Timeout)

ถัดมาผมจะพามาดูหน้าตาจริงๆ และการทำงาน ของ ARP ผ่าน โปรแกรม Wireshark กันครับ
ผมทำการ show arp cache บนเครื่องผม โดยใช้คำสั่ง “arp -a”
image-8
รูปด้านบน อันนี้คือข้อมูล ARP บนเครื่องผมทีมีอยู่ เดี๋ยวผมจะลอง Ping ไปที่ 192.168.1.52 ซึ่งเครื่องผมยังไม่มีข้อมูล Destination MAC address ของเครื่อง 192.168.1.52 ดังนั้น เครื่องผมจะต้องทำการส่ง ARP Request ออกไป มาลองดูกันครับ

image-9
รูปด้านบน สังเกตว่าจะขึ้น Request timed out มา 1 packet ใช่ไหมครับ นั่นคือการที่เครื่องผมทำการ ARP อยู่ เมื่อได้ข้อมูลจากการ ARP แล้ว เครื่องผมก็สามารถติดต่อสื่อสารกับเครื่อง 192.168.1.52 ได้ เดี๋ยวผมจะลองดู ARP Cache ที่เครื่องผมอีกครั้ง โดยใช้คำสั่ง “arp -a”

image-10_
รูปด้านบน สังเกตไหมครับ เครื่องผมมีข้อมูล ARP ของเครื่อง 192.168.1.52 แล้ว เดี๋ยวลองมาดูฝั่ง Wireshark กันบ้าง

ARP Request Packet
image-12

ARP Reply Packet
image-13

รูปด้านล่าง หลังจากที่เครื่องผมได้รับข้อมูล ARP เก็บไว้ที่ ARP Cache แล้ว ก็สามารถส่งข้อมูลต่างๆ ได้ตามปกติ ซึ่งในตัวอย่างข้อมูลของผมคือ Ping (ICMP)
image-10_
image-14
จบแล้วครับสำหรับเรื่อง ARP ก็หวังว่าน่าจะพอเป็นประโยชน์ให้กับผู้ที่สนใจบ้างนะครับ แล้วพบกันใหม่ในบทความถัดไปครับ ^_^

การขยาย VLAN บน Cisco Switch มากกว่า 1 ตัว โดยใช้ Trunk Port

การขยาย VLAN บน Cisco Switch มากกว่า 1 ตัว โดยใช้ Trunk Port

การขยาย VLAN บน Cisco Switch มากกว่า 1 ตัว โดยใช้ Trunk Port และตัวอย่างการตั้งค่า Trunk Port

สวัสดีครับทุกท่าน รอบที่แล้วผมได้เขียนเกี่ยวกับเรื่อง VLAN ไปแล้ว ในครั้งนี้ผมจะมาพูดถึงเรื่องที่เกี่ยวข้องกับ VLAN ต่อ เมื่อเรามีการใช้งาน VLAN บน Switch มากกว่า 1 ตัวขึ้นไป จะมีวิธีการยังไงดีให้สามารถใช้งานได้ สำหรับท่านใดยังไม่ได้อ่านเรื่อง VLAN ลองตามเข้าไปดูก่อนนะครับ เพื่อจะได้เข้าใจในเรื่องนี้ง่ายขึ้น
OK ครับ !! วันนี้ผมจะมาพูดถึงการทำ VLAN บน Switch ที่มีการเชื่อมต่อมากกว่า 1 ตัวขึ้นไป พร้อมกันรึยังครับ !! มาดูกันเลย
รูปภาพ 1ถ้า เรามีการใช้งาน VLAN บน Switch 1 ตัว เครื่องที่อยู่ภายใต้ VLAN เดียวกันก็จะสามารถติดต่อสื่อสารกันได้ แต่ไม่สามารถติดต่อระหว่าง VLAN ได้ แต่ถ้าเรามี Switch มาต่อเพิ่ม และต้องการขยาย VLAN ออกไปยัง Switch ตัวอื่นๆ จะสามารถทำได้อย่างไรบ้าง ลองมาดูรูปตัวอย่างกันครับ
รูปภาพ 4
จากรูปด้านบน เมื่อนำ Switch มาต่อเพิ่มเพื่อขยาย VLAN ออกไปใช้งานบน Switch ตัวอื่นๆ ผมก็ใช้สาย 1 เส้น ต่อการส่งข้อมูล 1 VLAN ผมก็ต้องทำการตั้งค่าพอร์ตของ Switch ให้เป็นสมาชิกของ VLAN นั้นๆ
  • เส้นสีเขียวผมก็ตั้งค่าพอร์ตให้เป็นสมาชิกของ VLAN 10
  • เส้นสีฟ้าผมก็ตั้งค่าพอร์ตให้เป็นสมาชิกของ VLAN 20
เมื่อ Notebook ใน VLAN 10 (สีเขียว) ต้องการจะส่งข้อมูลหากันข้าม Switch ก็จะส่งไปตามเส้นสีเขียวตามที่เราตั้งค่าพอร์ตเอาไว้ และเมื่อ Notebook ใน VLAN 20 (สีฟ้า) ต้องการจะส่งข้อมูลหากันข้าม Switch ก็จะส่งไปตามเส้นสีฟ้าตามที่เราตั้งค่าพอร์ตเอาไว้
รูปภาพ 5
แบบนี้เราก็จะสามารถขยาย VLAN ออกไปยัง Switch หลายๆตัวได้แล้วครับ… แต่ !!! ถ้าเรามี VLAN ซัก 100 VLAN เราคงจะต้องใช้ สายที่เชื่อมต่อระหว่าง Switch ซัก 100 เส้นเลยใช่ไหมครับ !@#

โอเคครับ ตอนนี้ท่านกำลังประสบปัญหากับการขยาย VLAN ไปยัง Switch ตัวอื่น แต่จะต้องใช้สายหลายเส้นใช่ไหมครับ ??
วันนี้ NetPrime ขอนำเสนอวิธีการที่ดีกว่านั้น เราจะใช้สายเพียงเส้นเดียว แต่เราสามารถทำให้หลายๆ VLAN วิ่งผ่านได้พร้อมกัน เราจะเรียกว่า การทำ “Trunk Port” นั่นเองครับ (หรือเรียกอีกอย่างนึงว่า Tagged)
รูปภาพ 6จากรูปด้านบน เราจะใช้สายเชื่อมต่อระหว่าง Switch เพียง 1 เส้น แต่ทำให้สามารถส่งผ่าน VLAN ได้หลายๆ VLAN ได้ครับ เราจะเรียกว่า “Trunk”
แล้ว Switch จะรู้ได้อย่างไรว่าข้อมูลที่ถูกส่งมาเป็นของ VLAN10 หรือ VLAN20 เพราะมันถูกส่งมาบนพอร์ตเดียวกัน !! ถูกต้องไหมครับ ฉะนั้น Switch จึงต้องมีวิธีการในการแยก traffic ของ VLAN เพื่อให้สามารถส่งข้อมูลไปตาม VLAN ได้อย่างถูกต้อง โดยวิธีการแยกแยะ VLAN ของ Switch จะมีอยู่ 2 วิธีการ ดังนี้
1. Inter Switch Link (ISL)
ใช้งานได้บนอุปกรณ์ Cisco เท่านั้น (Cisco Proprietary) ใช้วิธีเพิ่มฟิลด์ขนาด 26 Bytes ประกอบด้วยหมายเลข  VLAN    ขนาด 10 Bits เข้าไปข้างหน้า Ethernet Frame (เป็นการ Encapsulate Ethernet Frame โดยการเพิ่ม ISL Header และ CRC เข้าไป)
รูปภาพ 7
2. IEEE 802.1Q
เป็นมาตรฐาน ใช้วิธีเพิ่ม field ขนาด 4 Bytes ประกอบด้วยหมายเลข VLAN ขนาด 12 Bits เข้าไประหว่าง Ethernet Frame  และยังรองรับการทำ Native VLAN ด้วย
รูปภาพ 9
จาก 2 วิธีการด้านบนเราจะเห็นว่า Switch จะแยก traffic ของแต่ละ VLAN โดยการแปะ Tagged หมายเลข VLAN เข้าไปที่ Ethernet Frame ทำให้ เวลาส่ง traffic ผ่าน Trunk Port ตัว switch สามารถแยกแยะ traffic ของ VLAN ได้นั่นเองครับ..
** โดยวิธีที่นิยมใช้งานในปัจจุบันมากที่สุดคือ IEEE 802.1Q ครับ

ลองมาดูตัวอย่างการส่งข้อมูลกันครับ

หมายเหตุ : ตัวอย่างการส่งข้อมูลนี้ จะอ้างอิงจากวิธีการของ IEEE 802.1Q
จากรูปด้านบน เมื่อ PC : Mac address : AAAA อยู่ใน VLAN สีเขียว ต้องการจะส่งข้อมูลไปที่เครื่อง PC : Mac address : BBBB ที่อยู่ใน VLAN สีเขียวเหมือนกัน แต่อยู่คนละ Switch กัน โดยสายที่เชื่อมต่อระหว่าง Switch เราตั้งค่าให้เป็น Trunk
รูปภาพ 14
Step 1 – PC : Mac address : AAAA ส่งข้อมูลเข้ามาที่พอร์ต Fa0/0 ของ Switch ฝั่งซ้าย ก็จะจำเอาไว้ว่า Mac : AAAA ถูกส่งข้อมูลเข้ามาที่พอร์ต Fa0/0 และพอร์ตนี้เป็นสมาชิกของ VLAN สีเขียว
Step 2 – Switch ฝั่งซ้าย ดูจากตาราง Mac address Table เห็นว่า PC : Mac address : BBBB จะต้องส่งออกไปทางพอร์ต Fa0/24
Step 3 – Switch ฝั่งซ้ายจึงส่งข้อมูลออกไปทางพอร์ต Fa0/24 โดยแปะ Tagged ลงไปใน Ethernet Frames นั้นด้วยว่า Frame นี้ หรือ ข้อมูลนี้ เป็นของ VLAN สีเขียวนะ
Step 4 – เมื่อ Switch ฝั่งขวา รับข้อมูลเข้ามา ก็จะมาดูในตาราง Mac address Table พบว่า PC : Mac address : BBBB อยู่ใน VLAN สีเขียวเหมือนกัน และต้องส่งออกไปยังพอร์ต Fa0/1
Step 5 – Switch ฝั่งขวาจึงเอา Tagged ของ VLAN สีเขียวออก และส่งข้อมูลออกไปหา PC : Mac address : BBBB ทางพอร์ต Fa0/1
การตอบกลับของ PC : Mac address : BBBB ไปหา PC : Mac address : AAAA ก็ใช้หลักการเดียวกันกับที่กล่าวมาตั้งแต่ Step 1 – 5 เลยครับ
หมายเหตุ : กรณีตัวอย่างนี้ Switch ทั้ง 2 ฝั่งได้ทำการ Learning Mac address เรียบร้อยแล้ว ถ้าท่านใดยังไม่เข้าใจเรื่องการ Learning Mac address ไว้ผมจะเขียนให้อีกครั้งนะครับ แต่สามารถไปดู Video จาก อ.โก้ ได้ครับ
>> Switch ทำงาน และเรียนรู้ MAC address อย่างไร? <<

ลองมาดูการตั้งค่า Trunk Port บน Cisco Switch กันบ้างครับ

Switch(config)# interface fa0/24
!! เข้าไปที่พอร์ตที่ต้องการจะตั้งค่า
Switch(config-if)# switchport mode trunk
!! ตั้งค่าพอร์ตให้เป็น trunk
เท่านี้ พอร์ตที่เราตั้งค่าก็จะเป็น trunk port และสามารถส่ง traffic ผ่านพอร์ตนี้ได้มากกว่า 1 VLAN แล้วครับ

ลองมาดูตัวอย่างการใช้งานครับ

รูปภาพ 15

การตั้งค่าบน Switch
รูปภาพ 16

การตรวจสอบ Trunk

รูปภาพ 17รูปภาพ 18
จบแล้วครับ สำหรับเรื่อง Trunk Port ก็หวังว่าจะเป็นประโยชน์กับผู้ที่สนใจนะครับ แล้วพบกันครั้งต่อไปนะคร้าบบบ

VLAN คืออะไร ?

VLAN คืออะไร ?

โดยปกติแล้ว ถ้าเรารู้จัก LAN ก็จะสามารถทำความเข้าใจกับ VLAN ได้ง่ายขึ้น ซึ่ง LAN ก็หมายถึงการเชื่อมต่ออุปกรณ์ Network ต่างๆ เข้าด้วยกันภายใน location เดียวกัน อาจจะเป็นตึกเดียวกัน ชั้นเดียวกัน หรือภายในพื้นที่เดียวก็ได้
LANอุปกรณ์ที่เชื่อมต่อภายใน LAN เดียวกัน ก็จะสามารถติดต่อสื่อสารกันได้ และ อุปกรณ์ทั้งหมดก็จะอยู่ใน Broadcast Domain เดียวกัน
Broadcast Domain คือ ขอบเขตหรือบริเวณที่ Broadcast Traffic สามารถส่งกระจายไปถึงได้ ถูกแบ่งได้จากอินเตอร์เฟสของอุปกรณ์ L3 ขึ้นไป
ถ้ามีการใช้งานมากๆ บน LAN ก็จะทำให้ traffic แบบ broadcast ยิ่งมีมากขึ้นไปด้วย จะส่งผลให้ Network ทำงานได้ช้าลง นอกจากจะทำให้ Network ทำงานช้าแล้ว ยังส่งผลต่ออุปกรณ์ต่างๆด้วย ผมเคยเจอปัญหาของลูกค้าในการใช้งาน LAN วงใหญ่ๆ แล้ว Printer ใช้งานไม่ได้ ปรากฎว่า มี broadcast เยอะมากๆ จน Printer ประมวลผลไม่ทัน
ถ้าเราต้องการจะแยก Network ออกจากกัน หรือพูดง่ายๆ คือ แบ่ง broadcast domain ออกเป็น 2 วง หรือ หลายๆ วง ก็สามารถทำได้โดยแยก Switch ไปอีกตัวนึงเลย ตามรูปด้านล่าง
broadcast domainจาก รูปเราก็จะสามารถแยกวง หรือ แยก broadcast domain ออกจากกันได้แล้ว แต่ก็เปลือง Switch ไปด้วยใช่ไหมครับ !! VLAN จะเข้ามาช่วยได้ครับ โดยให้ผลเหมือนกับการแบ่ง Switch ออกจากกันเลย แต่ใช้ Switch เพียงตัวเดียวก็สามารถทำได้

VLAN หรือ Virtual LAN เป็นความสามารถของอุปกรณ์สวิตช์ที่สามารถกำหนดขอบเขตของ Broadcast Domain บน Layer 2 หมายความว่า บน Switch 1 ตัว สามารถแยก broadcast domain ได้หลายๆ วง หรือ แยก subnet ได้นั่นเอง
broadcast doamin-2

ประโยชน์ของการทำ VLAN หลักๆมีอะไรบ้าง ?

  • ลดจำนวน broadcast traffic ลงในเครือข่าย
  • ลดความเสี่ยง ป้องกันการ flooding ภายใน network ให้จำกัดภายใน VLAN เดียว
  • เพิ่มความปลอดภัย เพราะแต่ละ VLAN ไม่สามารถสื่อสารกันได้
  • มีความยืดหยุ่นในการใช้งาน เพียงแค่เปลี่ยน config บน port ของ switch ให้อยู่ภายใน VLAN กำหนด โดยไม่ต้องไปย้ายสาย

ลองมาดูวิธีการตั้งค่า VLAN กันครับ

1. สร้าง VLAN บน Switch ที่ต้องการ
Switch# configure terminal
Switch(config)# vlan 10
!! สร้าง VLAN หมายเลข 10
Switch(config-vlan)# name Sales
!! ตั้งชื่อ VLAN หมายเลข 10 เป็น Sales
.
เลขของ VLAN สามารถระบุได้ตาม range ได้ดังนี้vlan-rangeNote : บน Cisco Switch ทุกตัว จะมี default เป็น VLAN 1 และพอร์ตทุกพอร์ตก็จะเป็นสมาชิกของ VLAN 1
ตรวจสอบการสร้าง VLAN ด้วยคำสั่ง “show vlan brief”
show vlan-1
ลองดูรูปด้านล่าง จะเห็นว่า บน Switch มีการสร้าง VLAN 10 ขึ้นมาแล้ว และตอนนี้พอร์ตของ Switch ทุกพอร์ตจะเป็นสมาชิกของ VLAN 1 อยู่ โดย default หมายความว่า ถ้าเราเอา devices มาต่อที่พอร์ต devices เครื่องนั้นก็จะอยู่ใน VLAN 1 ทันที ถ้าเราต้องการจะให้ devices นั้นอยู่ใน VLAN 10 เราจะต้องตั้งค่าพอร์ตนั้นให้เป็นสมาชิกของ VLAN 10 ลองดูที่ขั้นตอนถัดไปครับ
create-vlan-switch
2. นำพอร์ตของ Switch เข้ามาเป็นสมาชิกของ VLAN
Switch# configure terminal
Switch(config)# interface Fa0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
ตรวจสอบด้วยคำสั่ง “show vlan brief”
show vlan-2
จะสังเกตุว่าพอร์ต Fa0/1 จะถูกย้ายเข้ามาเป็นสมาชิกของ VLAN 10 แล้ว
จากรูปด้านล่าง ตอนนี้เรานำพอร์ต Fa0/1 ไปเป็นสมาชิก VLAN 10 แล้ว หมายความว่า ถ้านำ devices ใดๆ มาต่อกับพอร์ต Fa0/1 ก็จะอยู่ใน VLAN 10 และก็จะติดต่อกับเครื่องที่นำมาต่อกับพอร์ต Fa0/2 , Fa0/3 , Fa0/4 ที่อยู่ใน VLAN 1 ไม่ได้แล้วครับ
assign-vlan-switchจบแล้วครับ สำหรับเรื่อง VLAN หวังว่าน่าจะเป็นประโยชน์กับผู้ที่สนใจครับ เจอกันใหม่ในบทความหน้านะคร้าบบบ

มาทำความรู้จักกับ OSI Model 7 Layers กันดีกว่า !!!

มาทำความรู้จักกับ OSI Model 7 Layers กันดีกว่า !!!

การทำงานของระบบเครือข่ายคอมพิวเตอร์ แต่เดิมนั้น การติดต่อสื่อสารกันระหว่างเครื่องคอมพิวเตอร์ ก็จะถูกใช้งานภายใต้ผู้ผลิตเจ้านั้นๆ ยกตัวให้เห็นภาพอย่างง่ายๆ เช่น
– Software ของ Apple ต้องลงบนเครื่อง Apple
– Software ของ Microsoft ต้องลงบน Windows
แบบนี้ เราจะเรียกว่าเป็น Proprietary แปลได้ว่า เป็นของผมแต่เพียงผู้เดียว ทำให้ถ้าเราต้องการที่จะใช้งานหลายๆบริษัทผู้ผลิต (Multi-Vendors) ก็จะไม่สามารถใช้งานร่วมกันได้ (Not Compatible)
จึงมีองค์กรต่างที่มากำหนดมาตรฐานต่างๆขึ้นสำหรับการสื่อสารบนเครือข่าย เช่น IETF , IEEE และอื่นๆ เพื่อให้ผู้ผลิตแต่ละรายนั้นสามารถผลิตอุปกรณ์ พัฒนา software หรือ protocol ได้เป็นไปตามมาตรฐานเดียวกัน และสามารถใช้งานร่วมกันได้

มาพูดถึง OSI Model กันบ้าง

องค์กรมาตรฐานระหว่างประเทศ (The International Organization for Standardization) หรือที่เราเรียกย่อๆว่า ISO (ไอโซ่) ได้พัฒนา Model ของการทำงานบนระบบเครือข่ายขึ้นมาเป็นมาตรฐานกลาง ในปัจจุบันใช้เพื่ออ้างอิงการสื่อสารและเปรียบเทียบการทำงานบนเครือข่าย ผู้ผลิตหลายๆบริษัท ที่ผลิตอุปกรณ์หรือ software ต่างๆขึ้นมาก็จะต้องผลิตตามมาตรฐานที่กำหนดขององค์ที่ดูแลในแต่ละส่วน ซึ่ง Model นี้ก็ถูกนำมาใช้มาเปรียบเทียบเพื่อให้เข้าใจและอธิบายการทำงานของแต่ละส่วน ได้ง่ายขึ้น !!!  ผมยกตัวอย่างของคำว่ามาตรฐานให้ดูง่ายๆครับ เช่น
เวลาขับรถเกียร์ออโต้ เราเข้าไปที่เกียร์ D ก็คือ ไปข้างหน้า เข้าไปที่เกียร์ R ก็ถอยหลัง ไม่ว่าเราจะซื้อยี่ห้อไหนมา ก็จะถูกออกแบบให้เป็นมาตรฐานเดียวกัน
และ Model ที่ผมพูดถึงนี้เรียกว่า Open System Interconnection (OSI) นั่นเอง !!!
อย่างที่ผมบอกนะครับ OSI Model เป็นเพียง Model ที่ใช้อ้างอิงในการสื่อสารเท่านั้น ปัจจุบันโลกเครือข่ายเราใช้งานบน TCP/IP เป็นหลักครับ แต่ที่ยังพูดถึง OSI Model เพราะว่า การแบ่งเป็น Layer ของมันสามารถมองเป็นภาพกว้างของการทำงานบนเครือข่ายในแต่ละส่วนได้ เพื่อมาใช้ในการสอน ในการอธิบาย และในการแก้ปัญหาได้ง่ายขึ้นครับ
ผมจะไม่ย้อนไปพูดถึงประวัติของมันนะครับ


OSI Model ใช้อ้างอิงการสื่อสาร (Reference Model) แบ่งออกเป็นชั้น (Layer) โดยมีตั้งแต่ชั้นที่ 1 ถึงสวรรค์ชั้น 7 (Layer 1 – 7) โดย Layer 1 จะอยู่ด้านล่างสุด และเรียงขึ้นไปจนถึง Layer 7 แต่ละ Layer ก็มีชื่อเรียกตามรูปแบบการสื่อสารและการทำงานของมันในแต่ละชั้นนั่นเอง
osi
บน OSI Model ก็จะแบ่งเป็น 2 กลุ่มใหญ่ คือ
  • ตั้งแต่ Layer 1 – 4 เรียกว่า Lower Layer
  • ตั้งแต่ Layer 5 – 7 เรียกว่า Upper Layer
รูปภาพ 16
โดยส่วน มากเราจะวุ่นวายกันอยู่ที่ Lower Layer มากกว่า Upper Layer ครับ ใครที่ทำงานเป็น Network Engineer จะมองภาพออกครับว่า เราจะยุ่งอยู่กับ Lower Layer มากกว่า

ทีนี้เรามาดูกันว่าในแต่ละ Layer มันมีหน้าที่อะไรบ้าง

Layer 1 (Physical Layer)

เป็น ชั้นล่างสุด จะมีการกำหนดคุณสมบัติทางกายภาพของฮาร์ดแวร์ที่ใช้เชื่อมต่อระหว่าง คอมพิวเตอร์ทั้งสองระบบ เช่น
  • สายที่ใช้รับส่งข้อมูลจะเป็นแบบไหน
  • ข้อต่อที่ใช้ในการรับส่งข้อมูลมีมาตรฐานอย่างไร
  • ความเร็วในการรับส่งข้อมูลเท่าใด
  • สัญญาณที่ใช้ในการรับส่งข้อมูลมีรูปร่างอย่างไร
  • ใช้แรงดันไฟฟ้าเท่าไหร่
ข้อมูลใน Layer ที่ 1 นี้จะมองเห็นเป็นการรับส่งข้อมูลทีละบิตเรียงต่อกันไป
physical-layer-1
จากรูป แสดงถึงการส่งข้อมูลบน Physical layer ครับ แสดงให้เห็นว่า ข้อมูลจะมาเป็นอย่างไรก็ตาม ก็จะถูกแปลงเป็นสัญญาณเพื่อส่งไปยังปลายทาง แล้วฝั่งปลายทางก็จะนำสัญญาณที่รับมาแปลงกลับเป็นข้อมูลเพื่อส่งให้เครื่อง Client ต่อไป
ยังไม่ได้พูดถึงการส่งข้อมูลบน OSI นะครับ เอาไว้รอบหน้า ตรงนี้ผมอยกขึ้นมาเพื่อให้เห็นภาพเบื้องต้น
เพราะ ฉะนั้น อุปกรณ์ต่างๆที่มีความสามารถในการนำพาสัญญาณไป ก็พวก  Card LAN (NIC) , สาย UTP , สาย Fiber หรือพวก เต้าเสียบ หัวต่อต่างๆ RJ45 , RJ11 , RS323 ก็จัดอยู่ใน Physical Layer ครับ

Layer 2 (Data-Link Layer)

เป็นชั้นที่ทำหน้ากำหนดรูปแบบของการส่ง ข้อมูลข้าม Physical Network โดยใช้ Physical Address อ้างอิงที่อยู่ต้นทางและปลายทาง ซึ่งก็คือ MAC Address นั่นเอง รวมถึงทำการตรวจสอบและจัดการกับ error ในการรับส่งข้อมูล ข้อมูลที่ถูกส่งบน Layer 2 เราจะเรียกว่า Frame
ซึ่งบน Layer 2 ก็จะแบ่งเป็น LAN และ WAN ครับ
ซึ่ง ปัจจุบัน บน Layer 2 LAN เรานิยมใช้เทคโนโลยีแบบ Ethernet มากที่สุด ส่วน WAN ก็จะมีหลายแบบแตกต่างกันไป เช่น Lease Line (HDLC , PPP) , MPLS , 3G และอื่นๆ
Ether-Frame
สำหรับ LAN ยังมีการแบ่งย่อยออกเป็น 2 sublayers คือ
Logical Link Control (LLC)
IEEE 802.2 ซึ่งจะให้บริการกับ Layer ด้านบนในการเข้าใช้สัญญาณใน การรับ-ส่งข้อมูล ตามมาตรฐาน IEEE802 แล้ว จะอนุญาตให้สถาปัตยกรรมของ LAN ที่ต่างกันสามารถทำงานร่วมกันได้ หมายความว่า  Layer ด้านบนไม่จำเป็นต้องทราบว่า Physical Layer ใช้สายสัญญาณประเภทใดในการรับ-ส่งข้อมูล เพราะ LLC จะรับผิดชอบในการปรับ Frame ข้อมูลให้สามารถส่งไปได้ในสายสัญญาณประเภทนั้นได้ และไม่จำเป็นต้องสนใจว่าข้อมูลจะส่งผ่านเครือข่ายแบบไหน เช่น Ethernet , Token Ring บลาๆๆ และไม่จำเป็นต้องรู้ว่าการส่งผ่านข้อมูลใน Physical Layer จะใช้การรับส่งข้อมูล แบบใด LLC จะเป็นผู้จัดการเรื่องเหล่านี้ได้ทั้งหมดครับ
Media Access Control (MAC)
IEEE 802.3 ใช้ควบคุมการติดต่อสื่อสารกับ Layer 1 และรับผิดชอบในการรับ-ส่งข้อมูลให้สำเร็จและถูกต้อง โดยมีการระบุ MAC Address ของอุปกรณ์เครือข่าย ซึ่งใช้อ้างอิงในการส่งข้อมูลจากต้นทางไปยังปลายทาง เช่น
จาก ต้นทางส่งมาจาก MAC Address หมายเลข AAAA:AAAA:AAAA ส่งไปหาปลายทางหมายเลข BBBB:BBBB:BBBB เมื่อปลายทางได้รับข้อมูลก็จะรู้ว่าใครส่งมา เพื่อจะได้ตอบกลับไปถูกต้อง นั่นเอง
layer2บน Ethernet (IEEE802.3) เมื่อมันมีหน้าที่ในการรับผิดชอบการรับ-ส่งข้อมูลให้สำเร็จและถูกต้อง มันจึงมีการตรวจสอบข้อผิดพลาดในการส่งข้อมูลด้วย ที่เราเรียกว่า Frame Check Sequence (FCS) และยังตรวจสอบกับ Physical ด้วยว่าช่องสัญญาณพร้อมสำหรับส่งข้อมูลไหม ถ้าว่างก็ส่งได้ ถ้าไม่ว่างก็ต้องรอ กลไลนี่เรารู้จักกันในชื่อ CSMA/CD นั่นเองครับ
CSMA/CD มันก็คือกลไลการตรวจสอบการชนกันของข้อมูล บน Ethernet ถ้าเกิดมีการชนกันเกิดขึ้น มันก็จะส่งสัญญาณ (jam signal) ออกไปเพื่อให้ทุกคนหยุดส่งข้อมูล แล้วสุ่มรอเวลา (back off) เพื่อส่งใหม่อีกครั้ง

Layer 3 (Network Layer)

ทำหน้าที่ส่งข้อมูลข้ามเครือข่าย หรือ ข้าม network โดยส่งข้อมูลผ่าน Internet Protocol (IP) โดยมีการสร้างที่อยู่ขึ้นมา (Logical Address) เพื่อใช้อ้างอิงเวลาส่งข้อมูล เราเรียกว่า IP address ข้อมูลที่ถูกส่งมาจากต้นทาง เพื่อไปยังปลายทาง ที่ไม่ได้อยู่บนเครือข่ายเดียวกัน จำเป็นจะต้องพึ่งพาอุปกรณ์ที่ทำงานบน Layer 3 นั่นก็คือ Router หรือ Switch Layer 3 โดยใช้ Routing Protocol (OSPF , EIGRP) เพื่อหาเส้นทางและส่งข้อมูลนั้น (IP) ข้ามเครือข่ายไป
layer3-1
โดยการทำงานของ Internet Protocol (IP) เป็นการทำงานแบบ Connection-less หมายความว่า IP ไม่มีการตรวจสอบข้อมูลว่าส่งไปถึงปลายทางไหม แต่มันจะพยายามส่งข้อมูลออกไปด้วยความพยายามที่ดีที่สุด (Best-Effort) เพราะฉะนั้น ข้อมูลที่ส่งออกไปแล้วไม่ถึงปลายทาง ต้นทางก็จะไม่รู้เลย ถ้าส่งไปแล้วข้อมูลไม่ถึงปลายทาง ฝั่งต้นทางจะต้องทำการส่งไปใหม่ บน Layer 3 จึงมี Protocol อีกตัวนึงเพื่อใช้ตรวจสอบว่าปลายทางยังมีชีวิตอยู่ไหม ก่อนที่จะส่งข้อมูล นั่นคือ ICMP ครับ แต่ผู้ใช้งานจะต้องเป็นคนเรียกใช้ protocol ตัวนี้เองนะครับ
จริงๆ แล้ว ก็ยังมีรายละเอียดของ ICMP , ARP อีกที่ทำงานบน Layer 3 แต่เบื้องต้น เอาไว้เท่าที่ก่อนละกันครับ สำหรับ Layer 3

Layer 4 (Transport Layer)

ทำหน้าที่เชื่อมต่อกับ Upper Layer ในการใช้งาน network services ต่างๆ หรือ Application ต่าง จากต้นทางไปยังปลายทาง (end-to-end connection) ในแต่ละ services ได้ โดยใช้ port number ในการส่งข้อมูลของ Layer 4 จะใช้งานผ่าน protocol 2 ตัว คือ TCP และ UDP
layer4-1
เมื่อข้อมูลถูกส่งมาใช้งานผ่าน services Telnet ไปยังปลายทางถูกส่งลงมาที่ Layer 4 ก็จะทำการแยกว่า telnet คือ port number 23 เป็น port number ที่ใช้ติดต่อไปหาปลายทาง แล้วฝั่งต้นทางก็จะ random port number ขึ้นมา เพื่อให้ปลายทางสามารถตอบกลับมาได้เช่นเดียวกัน
layer4-2
ทีนี้เรามาดู protocol 2 ตัว ใน Layer 4 กันต่อครับ
Transmission Control Protocol (TCP) มีคุณลักษณะที่สำคัญ ดังนี้
  • จัดแบ่งข้อมูลจากระดับ Application ให้มีขนาดพอเหมาะที่จะส่งไปบนเครือข่าย (Segment)
  • มีการสร้าง Connection กันก่อนที่จะมีการรับส่งข้อมูลกัน (Connection-oriented)
  • มีการใช้ Sequence Number เพื่อจัดลำดับการส่งข้อมูล
  • มีการตรวจสอบว่าข้อมูลที่ส่งไปถึงปลายทางหรือไม่ (Recovery)
บน TCP ก่อนจะส่งข้อมูลนั้นจะต้องทำการตรวจสอบก่อนว่า ปลายทางสามารถติดต่อได้ โดยจะทำการสร้างการเชื่อมต่อระหว่างผู้ส่งและผู้รับก่อน โดยใช้กลไล Three-Way Handshake เพื่อให้แน่ใจว่าข้อมูลที่ส่งจะสามารถส่งถึงผู้รับแน่นอน
layer4-3
นอกจาก Three-Way Handshake แล้ว TCP ยังมีกลไก Flow Control เพื่อควบคุมการส่งข้อมูลเมื่อเกิดปัญหาบนเครือข่ายระหว่างที่ส่งข้อมูลอยู่ หรือ กลไล Error Recovery ในกรณีที่มีข้อมูลบางส่วนหายไปขณะส่ง ก็ให้ทำการส่งมาใหม่ (Retransmission) แต่ผมขอพูดเรื่องกลไลต่างๆไว้เพียงเบื้องต้นละกันนะครับ
นอก จากนั้นยังสามารถทำการจัดสรรค์หรือแบ่งส่วนของข้อมูลออกเป็นส่วนๆ (Segmentation) ก่อนที่จะส่งลงไปที่ Layer 3 อีกด้วย และข้อมูลที่ถูกแบ่งออก ก็จะใส่ลำดับหมายเลขเข้าไป (Sequence number) เพื่อให้ปลายทางนำข้อมูลไปประกอบกันได้อย่างถูกต้อง
User Datagram Protocol (UDP) มีคุณลักษณะที่สำคัญ ดังนี้
  • ไม่มีการสร้าง Connection กันก่อนที่จะมีการรับส่งข้อมูลกัน (Connectionless)
  • ส่งข้อมูลด้วยความพยายามที่ดีที่สุด (Best-Effort)
  • ไม่มีการตรวจสอบว่าข้อมูลที่ส่งไปถึงปลายทางหรือไม่   (No Recovery)
บน UDP จะตรงข้ามกับ TCP เลยครับ เพราะ ไม่มีการสร้างการเชื่อมต่อกันก่อน หมายความว่าถ้า services ใดๆ ใช้งานผ่าน UDP ก็จะถูกส่งออกไปทันทีด้วยความพยายามที่ดีที่สุด (ฺBest-Effort) และไม่มีการส่งใหม่เมื่อข้อมูลสูญหาย (No Recovery) หรือส่งไม่ถึงปลายทางอีกด้วย
ข้อดีของ มันก็คือ มีความรวดเร็วในการส่งข้อมูล เพราะฉะนั้น services ที่ใช้งานผ่าน UDP ก็มีมากมาย เช่น TFTP , DHCP , VoIP และอื่นๆ เป็นต้น
ผมชอบภาพนี้ เพราะเปรียบเทียบการทำงานของ TCP และ UDP ได้เห็นภาพดีเหมือนกันครับ
layer4-4
อ้าวๆๆ เหนื่อยกันหรือยังครับ ผ่านไปแล้ว สำหรับ Lower Layer นะครับ คือ Layer 1 –  4 ซึ่งส่วนมากแล้วชาว Network Engineer ก็จะวุ่นวายกับ Lower Layer มากกว่า Upper Layer (5-7) ซะอีก แต่จะไม่พูดถึงก็ไม่ได้ใช่ไหมครับ ถ้าอย่างนั้นก็ไปดูกันต่อเลยครับ

Layer 5 (Session Layer)

ทำหน้าที่ควบคุมการเชื่อมต่อ session เพื่อติดต่อจากต้นทาง กับ ปลายทาง ลองดูจากรูปตัวอย่างเผื่อจะทำให้เข้าใจง่ายขึ้น (รึเปล่า) 55+
layer5-1
เมื่อฝั่ง ต้นทางต้องการติดต่อไปยังปลายทางด้วย port 80 (เปิด Internet Explorer) ฝั่งต้นทางก็จะทำการติดต่อไปยังปลายทาง โดยการสร้าง session ขึ้นมา เป็น session ที่ 1 ส่งผ่าน Layer 4 โดย random port ต้นทางขึ้นมาเป็น 1025 ส่งไปหาปลายทางด้วย port 80
ระหว่าง ที่ session ที่ 1 ใช้งานอยู่ เราติดต่อไปยังปลายทางอีกครั้งด้วย port 80 (เปิด Google Chrome) ฝั่งต้นทางก็จะทำการสร้าง session ที่ 2 ขึ้นมา ส่งผ่าน Layer 4 โดย random port ต้นทางขึ้นมาเป็น 1026 ส่งไปหาปลายทางด้วย port 80
แล้วแต่ละ session ฝั่งปลายทาง ก็จะตอบกลับมาด้วย port ที่ฝั่งต้นทางส่งมา ทำให้สามารถแยก session ออกได้ เมื่อเราส่งข้อมูลบนเครือข่ายนั่นเองครับ

Layer 6 (Presentation Layer)

ทำหน้าที่ในการแปล หรือ นำเสนอ structure , format , coding ต่างๆของข้อมูลบน application ที่จะส่งจากต้นทางไปยังปลายทาง ให้อยู่ในรูปแบบที่ฝั่งต้นทางและปลายทาง สามารถเข้าใจได้ทั้ง 2 ฝั่ง
ผมอ่านจากเว็บนึงกล่าวไว้ก็เข้าใจง่ายดีนะครับ
Most computers use the ASCII table for characters. If another computer would use another character like EBCDIC than the presentation layer needs to “reformat” the data so both computers agree on the same characters.
เค้าบอก ว่า computer ส่วนมากใช้ ASCII format ถ้าจะติดต่อพวก computer mainframe จะใช้พวก EBCDIC format ซึ่ง Layer 6 ก็จะทำการ reformat ข้อมูล ซึ่งสามารถทำให้ทั้ง 2 เครื่องสามารถเข้าใจ format ข้อมูลที่จะสื่อสารกันได้

Layer 7 (Application Layer)

ทำหน้าที่ติดต่อระหว่างผู้ใช้ (user) กับ application ที่ใช้งานบนเครือข่าย เช่น Web Browser (HTTP) , FTP , Telnet เป็นต้น สรุปแล้วมันก็คือพวก application ที่ใช้งานผ่าน network นั่นเองครับ
จบแล้วครับ สำหรับ OSI Model ผมก็หวังว่า บทความนี้จะทำให้หลายๆท่าน ได้รู้จักและเข้าใจ OSI Model กันไม่มากก็น้อยครับ แล้วเจอกันในบทความต่อไปนะครับ ขอบคุณครับ

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...