[Industrial Communications] Ethernet

keerati rounghirun
maestro19
Published in
6 min readSep 13, 2019

Ethernet คืออะไร

Ethernet เป็นการสื่อสารแบบโพรโทคอล (Protocol) ของ LAN ชนิดหนึ่งที่พัฒนาขึ้นโดย 3 บริษัทใหญ่คือบริษัท Xerox Corporation, Digital Equipment Corporation (DEC) และ Intel ในปี ค.ศ. 1976 หรืออาจจะเรียกการสื่อสารแบบนี้ว่าเป็นการสื่อสารระดับล่างก็ได้เช่นกัน

ระบบการส่งแบบ Ethernet นั้นเป็นระบบการส่งที่เรียกว่า CSMA/CD (Carrier Sense Multiple Access / Collision Detection) โดยอธิบายหลักการทำงานได้ดังนี้ ในการส่งข้อมูลแต่ละครั้งจะทำการส่งได้เพียงคนเดียวเท่านั้น แต่ถ้าในเวลาเดียวกันมีการส่งข้อมูลมาพร้อมกัน มากกว่า 1 คนด้วยกัน ซึ่งเราเรียกว่า “Collision”

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

Ethernet Network เป็นเครือข่ายเชื่อมต่ออุปกรณ์และคอมพิวเตอร์เพื่อรับ-ส่งข้อมูล ที่ใช้งานกันอยู่แพร่หลายทั่วไป ถูกสร้างขึ้นมาโดยความร่วมมือระหว่าง XEROX และ Intel ในปี 1973

จากนั้นตั้งแต่ปี 1990 เป็นต้นมา ทาง Rockwell ได้พัฒนา Ethernet Network ขึ้นใหม่ เรียกว่า EtherNet/IP(EtherNet Industrial Protocol) ภายใต้ CIP Protocol (Common Industrial Protocol) เพื่อใช้เป็นเน็ตเวิร์กของระบบควบคุมในอุตสาหกรรม เช่น รับ-ส่งข้อมูลระหว่าง PLC หรือ อุปกรณ์ควบคุมอื่นๆ

EtherNet/IPCIP สามารถแบ่งออกเป็น 2 ประเภท คือ

1) Explicit message ใช้กับข้อมูลที่ไม่ต้องสนใจเรื่องของเวลา (time critical) ข้อมูลจะถูกส่งผ่านTCP/IP แบบ Unscheduled ตามการร้องของ Client/Server เช่น คำสั่ง MSG

2) Implicit message หรือเรียกอีกชื่อหนึ่งว่า I/O meassage เพราะใช้สำหรับส่งข้อมูลของ I/O ที่ให้ความสำคัญเรื่องเวลาในการรับ-ส่งข้อมูลเป็นอย่างมาก ข้อมูลจะถูกส่งผ่าน UDP/IP แบบ Scheduled ตามช่วงเวลาของค่า RPI ที่กำหนด เช่น Produce-Consumed Tag หรือ อุปกรณ์ที่ติดต่อกับ Controller ผ่าน Ethernet Module Profile

TCP ย่อมาจาก Transmission Control Protocol เป็นวิธีการส่งข้อมูลผ่าน Connection ระหว่างอุปกรณ์ (host) โดยมีการตรวจสอบสถานะและความถูกต้องของเพคเกจข้อมูล ทำให้วิธีนี้มีความน่าเชื่อในการส่งข้อมูลสูง หลังจากส่งข้อมูลเสร็จแล้ว Connection จะถูกยกเลิกใช้งาน

UDP ย่อมาจาก User Datagram Protocol เป็นวิธีการส่งข้อมูลแบบง่ายๆ โดยไม่ใช้ Connection เพคเกจข้อมูลจะถูกส่งไปยังอุปกรณ์ ปลายทางในทันที วิธีนี้มีความน่าเชื่อในการส่งข้อมูลต่ำกว่าแบบ TCP แต่มีประสิทธิภาพและความเร็วในการส่งข้อมูลดีกว่า

อุปกรณ์ทุกตัวบน Ethernetnetwork มีหมายเลขระบุตัวตนที่ไม่ซ้ำกัน เรียกว่า “IP address” ซึ่งประกอบไปด้วยหมายเลขทั้งหมด 32 บิต แบ่งออกเป็น 4 กลุ่ม กลุ่มละ 8 บิต แต่ละชุดขั้นด้วยจุด (.)

เพื่อให้อ่านง่ายขึ้นจึงเปลี่ยนจากเลขฐานสองเป็นเลขฐานสิบแทน ทำให้ค่าตัวเลขในแต่ละกลุ่มมีค่าตั้งแต่ 0 ถึง 255 (8 bits)

หมายเลขทั้ง 4 กลุ่มนี้ แบ่งออกได้เป็น 2 ส่วนคือ หมายเลขเครือข่าย(Network) และ หมายเลขอุปกรณ์ (Host) ซึ่งทาง InterNIC ซึ่งเป็นผู้จัดสรร IP ทั่วโลกได้แบ่ง IP ออกเป็น 5 Class ตามหมายเลข Network ดังนี้

  1. Class A: หมายเลข IP Address เริ่มตั้งแต่ 1.0.0.0–127.255.255.255 เหมาะสมสำหรับเครือข่ายที่มีขนาดใหญ่ เนื่องจาก Network มีขนาด 7 บิต สามารถรองรับได้ 126 เน็ตเวิร์ค และแต่ละเครือข่ายมี Host ได้ 24 บิต หรือมีอุปกรณ์ได้ประมาณ 16 ล้านตัว ตัวอย่างเช่น IP Address หมายเลข 100.10.2.15 หมายถึง อุปกรณ์ตัวนี้อยู่ใน Class A (ดูจากเลข100) เครือข่ายที่ 100 และมีหมายเลขเครื่องเป็น 10.2.5
  2. Class B: หมายเลข IP Address เริ่มตั้งแต่ 128.0.0.0–191.255.255.255 มี Network ขนาด 14 บิต หรือ 16384 เน็ตเวิร์ค และมีจำนวน Host ได้ 16 บิตหรือมีอุปกรณ์ในเครือข่ายได้ 65,534 ตัว ตัวอย่างเช่น IP Address หมายเลข 190.100.20.200 หมายถึง อุปกรณ์ตัวนี้อยู่ใน Class B (ดูจากเลข190) เครือข่ายที่ 190.100 และมีหมายเลขเครื่องเป็น 20.200
  3. Class C: หมายเลข IP Address เริ่มตั้งแต่ 192.0.0.0–223.255.255.255 มี Network ขนาด 21 บิตหรือเครือข่ายมากกว่า 2 ล้านเน็ตเวิร์ค และมีจำนวน Host ได้ 8 บิตหรือมีอุปกรณ์ในแต่ละเครือข่ายได้ 254 ตัว ตัวอย่างเช่น IP Address หมายเลข 192.168.20.5 หมายถึง อุปกรณ์ตัวนี้อยู่ใน Class C (ดูจากเลข192) เครือข่ายที่ 192.168.20 และมีหมายเลขเครื่องเป็น 5
  4. Class D: หมายเลข IP Address ช่วง 224.0.0.0–239.255.255.255 สำหรับการส่งข้อมูลแบบ Multicast ซึ่งไม่อนุญาติให้ใช้งานทั่วไป
  5. Class E: หมายเลข IP Address ช่วง 240.0.0.0–255.255.255.255 สำหรับการทดสอบ และพัฒนา

ในการใช้งาน IP เรายังแบ่ง IP ได้เป็น 2 ประเภท คือ Public IP (IP จริง) และ Private IP (IP ปลอม)

Public IP คือ IP ที่สามารถใช้ติดต่อสื่อสารกับ Public IP ด้วยกันหรือสื่อสารกับ Internet ได้

Private IP คือ IP ที่ใช้ติดต่อสื่อสารกับคอมพิวเตอร์หรืออุปกรณ์ที่อยู่ในเครือข่ายภายในเดียวกันเท่านั้น

Private IP ของ Class A,B และ C เป็นดังนี้

Class A : 10.0.0.0–10.255.255.255

Class B : 172.16.0.0–172.31.255.255

Class C : 192.168.0.0–192.168.255.255

IP ที่เรานำมาเซ็ตให้กับอุปกรณ์ในระบบควบคุมก็ใช้ IP ในกลุ่มของ Private IP เหล่านี้ ซึ่งการรับส่งข้อมูล (Boardcast) ระหว่างอุปกรณ์จะเกิดขึ้นได้ก็เมื่ออุปกรณ์อยู่ใน Network วงเดียวกัน ถ้าในหนึ่ง Network มีจำนวน Host มากเกินความต้องการ เพื่อไม่ให้ IP สูญเปล่าเราสามารถแบ่ง IP ใน Class A, B และ C เป็น Network ย่อยๆได้ โดยใช้ Subnet (Sub Network)

หลักการของ Subnet คือการเอาบิตของ Host มาใช้เป็นบิตของหมายเลข Network ด้วย โดยบิตไหนของ Host ที่ต้องการให้เป็นหมายเลข Network ให้ Mask ด้วย 1 ส่วน บิตที่ไม่ต้องการให้ Mask ด้วย 0 ดังนั้นยิ่งแบ่ง Network ย่อยมากเท่าไหร่ จำนวน Host ใน Network ก็มีจำนวนลดลงเท่านั้น

เราจะกำหนดหมายเลข Subnet อย่างไรดี ?

  1. กำหนดจำนวน Host หรืออุปกรณ์ใน Network ย่อยที่ต้องการเพื่อหาจำนวนบิตของ Host เช่น มีอุปกรณ์ใช้งาน 25 ตัว ดังนั้น Host ใช้แค่ 5 บิตหลัง (11001) ส่วน 3 บิตที่เหลือใช้เป็นหมายเลข Network เราจึงมี 2³ เท่ากับ 8 เน็ตเวอร์คย่อย
  2. กำหนด Class และ หมายเลข Network หลักที่ต้องการใช้งาน เช่น Class Cและมีหมายเลข Network เป็น 192.168.15 หรือ 11000000.10101000.00001111
  3. Mask หมายเลข Network ทั้งหมดด้วย 1 (รวม Host 3 บิตแรก)ดังนั้น Subnet mask ตามตัวอย่างคือ 11111111.11111111.11111111.11100000 หรือ 255.255.255.224 นั่นเอง ( ทาง IT มักเขียน Subnet mask แบบย่อโดยใช้เครื่องหมาย “/” แล้วตามด้วยจำนวนบิตที่เป็น 1 ทั้งหมด ในที่นี้ถ้าเขียน Subnet mask แบบย่อจะได้เป็น /27 )
  4. หาช่วง IP ของแต่ละเน็ตเวอร์คย่อย

Network#1

11000000.10101000.00001111.00000000 = 192.168.15.0

11000000.10101000.00001111.00011111 = 192.168.15.31

Network#2

11000000.10101000.00001111.00100000 = 192.168.15.32

11000000.10101000.00001111.00111111 = 192.168.15.63

Network#3

11000000.10101000.00001111.01000000 = 192.168.15.64

11000000.10101000.00001111.01011111 = 192.168.15.95

Network#4

11000000.10101000.00001111.01100000 = 192.168.15.96

11000000.10101000.00001111.01111111 = 192.168.15.127

Network#5

11000000.10101000.00001111.10000000 = 192.168.15.128

11000000.10101000.00001111.10011111 = 192.168.15.159

Network#6

11000000.10101000.00001111.10100000 = 192.168.15.160

11000000.10101000.00001111.10111111 = 192.168.15.191

Network#7

11000000.10101000.00001111.11000000 = 192.168.15.192

11000000.10101000.00001111.11011111 = 192.168.15.223

Network#8

11000000.10101000.00001111.11100000 = 192.168.15.224

11000000.10101000.00001111.11111111 = 192.168.15.255

*** อย่างไรก็ตามหมายเลข IP ที่อยู่ลำดับแรกและลำดับสุดท้ายของแต่ละ Subnetwork ไม่สามารถนำมาใช้งานได้เนื่องจากถูกใช้เป็น Network ID และ Broadcast ID.

อุปกรณ์ในระบบ Ethernet Network

สายสัญญาณ (Media)

  • สายเคเบิลใยแก้วนำแสง (Fiber Optic)

เป็นสายสัญญาณสำหรับรับ/ส่งข้อมูลความเร็วสูง ข้อดีของ Fiber obtic คือปราศจากสัญญาณรบกวนทางไฟฟ้าและเดินสายได้ระยะทางไกลๆ

  • สายคู่ตีเกลียวแบบไม่มีฉนวนหุ้ม (Unshielded Twisted Pair : UTP)

เป็นสายสัญญาณที่นิยมใช้ในงานระบบเครือข่ายเนื่องจากราคาถูกและง่ายในการติดตั้ง ข้อเสียของสายชนิดนี้คือสัญญาณรบกวนง่ายและระยะเดินสายไม่เกิน 100 เมตร

  • สายคู่ตีเกลียวแบบมีฉนวนหุ้ม (Shielded Twisted Pair : STP)

เป็นสายสัญญาณมีลักษณะเหมือนกับสาย UTP แต่มี Shield หุ้มเพื่อแก้ไขปัญหาเรื่องสัญญาณรบกวนในสายสัญญาณแบบ UTPแต่ไม่ค่อยเป็นที่นิยมใช้งานเนื่องมีราคาแพงกว่าสาย UTP

เลือกใช้ชนิดของสายให้เหมาะสมกับอัตราการส่งข้อมูลดังนี้

– ใช้สาย CAT3 แบบ UTP สำหรับอัตราส่งข้อมูลที่ 10Mb/s

– ใช้สาย CAT5, 5e หรือ 6 ได้ทั้งแบบ UTP และ STP สำหรับอัตราส่งข้อมูลที่ 10/100 Mb/s

– ใช้สาย CAT5e หรือ 6 ได้ทั้งแบบ UTP และ STP สำหรับอัตราส่งข้อมูลที่ 1000 Mb/s

อินเธอร์เน็ตสวิตช์ (Ethernet Switch)

ใช้เชื่อมต่ออุปกรณ์หลายๆตัวกับเน็ตเวิร์คเข้าด้วยกันและทำหน้าที่กระจายข้อมูลไปยังอุปกรณ์ปลายทางที่ต้องการ สำหรับสวิตซ์นั้นทำงานในระดับ Data Link Layer หรือ Layer 2 ของโมเดล OSI โดยอาศัย Mac Address ในการทำงาน ปัจจุบันอินเธอร์เน็ตสวิตช์ รุ่นใหม่สามารถ ทำงานในระดับของ Network Layer หรือ Layer 3 ของโมเดล OSIในปัจจุบันได้แล้ว โดยอาศัยโปรโตคอล IP ทำให้เพิ่มความสามารถของ Router เพิ่มขึ้นมา เราจึงมักเรียก Layer 3 สวิตซ์นี้ว่า Routing Switch

ในตัวสวิตช์จะเก็บข้อมูลของพอร์ตและหมายเลข MAC Address (Media Access Control Address) ซึ่งเป็นหมายเลขประจำตัวของอุปกรณ์ลงในตารางหน่วยความจำ เมื่อต้องการส่งข้อมูลไปยังอุปกรณ์ตัวไหน สวิตซ์ก็จะใช้ข้อมูลในตารางนี้เพื่อส่งข้อมูลไปยังพอร์ตที่อุปกรณ์ตัวนั้นต่ออยู่ได้ถูกต้อง เราสามารถเรียกดูตาราง MAC Address ของ Cisco switch ได้จากคำสั่ง show mac-address-table

เราท์เตอร์ (Rounter)

เป็นอุปกรณ์สำหรับเชื่อมต่อและค้นหาเส้นระหว่างNetworkเพื่อให้รับ/ส่งข้อมูลถึงกันได้ Router สามารถเชื่อมโยงเครือข่ายที่ใช้สื่อสัญญาณหลายแบบแตกต่างกันได้เช่น Ethernet, Token Rink หรือ FDDI โดยใช้โปรโตคอลที่ทำงานในระดับบนหรือ Layer 3 ขึ้นไป

เราเตอร์ค้นหาเส้นทางในการส่งข้อมูลได้นั้น ตัวมันเองต้องรู้ว่ามี Network ไหนบ้างที่มันเชื่อมต่ออยู่ ผ่านทาง Gateway หมายเลขอะไร?พอร์ตอิเทอร์เฟสไหน ? และห่างมีระยะห่างจากตัวมันไกลเท่าไหร่ ? ซึ่งข้อมูลเหล่านี้จะถูกเก็บไว้ในตารางหน่วยความจำของ Router เรียกว่า Routing Table คล้ายๆกับตาราง MAC Address ของสวิตช์ เราสามารถดูค่าใน Routing Table ของ Cisco Router ได้จากคำสั่ง show ip route

เราสามารถกำหนดค่าลงใน Routing Table สามารถทำได้ 2 วิธีด้วยกันคือ

1) เรากำหนดเส้นทางให้ Router เอง (Static Route)– วิธีการนี้เราต้องทราบหมายเลขเน็ตเวอร์คปลายทาง (Destination Network ID),ขอบเขตของเน็ตเวอร์ค(Subnet), หมายเลข Gateway หรือ Interface Port และระยะห่างของ Network ปลายทาง (Distance matric) ส่วนมากนิยมนับเป็นจำนวนตัวของ Router หรือเรียกว่า “Hop” จากนั้นใช้คำสั่ง

ip route <Destination Network ID> <Subnet Destination> <Gateway หรือ Interface> <Distance matric>เพื่อเก็บค่าลง Routing Table

2) ใช้โปรโตคอลชนิดต่างๆเพื่อค้นหาเส้นทาง (Dynamic Route) วิธีการนี้ Router จะส่ง Routing Table ของตนเองไปให้ Rounter ข้างเคียงในช่วงเวลาที่กำหนดเพื่ออัพเดจข้อมูลเองโดยอัตโนมัติ โปรโตคอลที่นิยมใช้ได้แก่ RIP, IGRP,OSPF,EIGRP และอื่นๆ

โครงสร้าง Ethernet Network

LinearSwitch

สวิตช์แต่ละตัวเชื่อมต่อกันไปเรื่อยๆ

ข้อดี: ออกแบบง่าย, ประหยัดสายสัญญาณและค่าใช่จ่าย

ข้อเสีย:เกิดความเสียหายง่ายเนื่องจากสวิตช์แต่ละตัวเชื่อมต่อกันด้วยสายสัญญาณเส้นเดียว, เกิดสัญญาณ Delay ในระบบเมื่อมีจำนวนอุปกรณ์เพิ่มมากขึ้น

Star Switch

สวิตช์ย่อยหลายๆตัวเชื่อมต่อเข้ากับสวิตช์หลัก

ข้อดี: ออกแบบและใช้งานง่าย,เพิ่มหรือลดอุปกรณ์ไม่มีผลกับอุปกรณ์อื่นๆ

ข้อเสีย:ถ้าสวิตช์หลักเสียส่งผลกระทบกับอุปกรณ์ทุกตัวในระบบ

Ring Switch

สวิตช์เชื่อมต่อเข้าด้วยกันเป็นวงกลม

ข้อดี: เดินสายง่ายและได้ระยะทางไกลขึ้น, อุปกรณ์ยังทำงานได้ปกติเมื่อสายเชื่อมต่อระหว่างสวิตช์ขาด

ข้อเสีย:ยุ่งยากในการออกแบบและเซ็ตอัพอุปกรณ์

ตัวอย่าง

จงคอนฟิก Router และอุปกรณ์ต่างให้สามารถรับส่งข้อมูลถึงกันได้

Ethernet แตกต่างจากระบบ Network ประเภทอื่น
อย่างที่ได้กล่าวไว้แล้วในตอนต้นว่า ระบบการส่งแบบ Ethernet นั้นเป็นการส่งในระบบเครือข่าย LAN ซึ่งก็มีความแตกต่างจากระบบ Network ประเภทอื่นอยู่มากเพราะว่าระบบแลนนั้นเป็นระบบที่ใช้ในโครงข่ายที่ไม่เยอะมาก ผิดกับระบบNetwork อื่นที่สามารถใช้ในโครงข่ายที่ใหญ่กว่าโครงข่ายของ LAN

LAN คือระบบโครงข่ายที่ใช้การส่งข้อมูลแบบ Ethernet ซึ่งนิยมใช้ในโครงข่ายขนาดเล็ก และระยะทางที่ไม่ไกลมากนัก ส่วนมากแล้วจะใช้เชื่อมต่อภายในอาคารเดียวกันหรือต่างอาคารที่มีระยะไม่ไกลเกิน 5 กิโลเมตร

MAN (Metropolitan Area Network) เป็นระบบโครงข่ายระดับกลาง โดยปกติแล้วจะเป็นระบบโครงข่ายที่มีระยะทางไม่เกิน 50 กิโลเมตร
WAN (Wide Area Network) เป็นระบบโครงข่ายระดับใหญ่ เพราะการเชื่อมต่อจะเชื่อมต่อผ่านอินเตอร์เน็ตเป็นการเชื่อมต่อระหว่างประเทศ โดยมีการเข้ารหัสพิเศษในการเชื่อมต่อ ทำให้เป็นเน็ตเวิร์กส่วนตัวเสมือน (Virtual Private Network)

จากที่ยกตัวอย่างมากเราจะเห็นได้ว่า ระบบการส่งข้อมูลแบบ Ethernet ในระบบ Network LAN นั้นจะแตกต่างกับระบบ Network แบบอื่นอย่างเห็นได้ชัดทั้งในลักษณะการทำงาน รวมถึงการใช้งานด้วย

--

--