หน่วยที่ 5 ชั้นสื่อสารควบคุมเครือข่าย

เรื่อง ชั้นสื่อสารควบคุมเครือข่าย
____________________________________________________________________________

ชั้นสื่อสารควบคุมเครือข่าย (Network Layer)
          ชั้นสื่อสารควบคุมเครือข่าย (Network layer) ทำหน้าที่ให้บริการแก่ชั้นสื่อสารนำส่งข้อมูล(Transport layer) เพื่อสร้างบริการให้กับ Process ที่ทำงานอยู่บนโฮสต์ที่ต่างกัน โดยพิจารณาเป็นการสื่อสาร ระหว่าง (Host-to-Host) ด้วยการส่งข้อมูลผ่าน Router โดยจะส่ง Packet ผ่าน Router ที่อยู่ใกล้ที่สุด สำหรับการเลือกเส้นทางเพื่อส่ง Packet ต่อไปยัง Router ตัวถัดไป ภายใน Router จะต้องมีการใช้ Routing Function และ Algorithm เพื่อใช้ประมวลผลใน การเลือกเส้นทางที่ดีที่สุดในขณะนั้น

แสดงการสื่อสารในชั้น Network Layer  

     1.       Forwarding and routing
       1.1 Forwarding คือ การรับข้อมูลหรือ Packet เข้ามาทาง Port ใด ๆ แล้วทำการส่งต่อ ข้อมูลนั้นออกไปยังอีก Port หนึ่ง
       1.2 Routing คือ การค้นหาเส้นทางที่มีการเชื่อมต่ออยู่และยังสามารถใช้งานได้ใน ขณะนั้นเพื่อใช้เป็นเส้นทางในการจัดส่ง Packet โดยใช้ Routing Algorithms ใน การคำนวณหาเส้นทาง
แสดงการคำนวณหาเส้นทางของ Router โดยการใช้ Forwarding Table

          Network layer จะใช้ Forwarding และ Routing ในการค้นหาเส้นทางให้กับ Packet แต่ในความเป็นจริง การส่ง Packet จะยังไม่เกิดขึ้นทันที่ จะต้องมีสร้างเส้นทางที่ต้องใช้ในการส่ง Packet ก่อน โดยที่ Host กับ Router ที่ใช่ในการส่ง Packet ตลอดเส้นทาง จะต้องสร้าง Connection ก่อนที่จะส่ง Packet ออกไป เมื่อเชื่อมต่อเสร็จแล้วจึงส่ง Packet ออกไป
     2.       Network Service Models
Network layer จะให้บริการแก่โปรแกรมในชั้น Transport layer คือ เป็นการเชื่อมต่อ ระหว่างผู้นำส่งข้อมูลและผู้รับข้อมูล ซึ่งในส่วนของ Network Layer จะมีหน้าที่ในการนำ Packet ไปส่งให้ถึงเป้าหมาย ซึ่งบริการบางส่วนที่มีใช้ในชั้น Network layer มีดังนี้
-          รับประกันการส่ง
-          ข้อมูลส่งไปถึงปลายทางตามระยะเวลาที่กำหนดไว้
-          รับประกันขนาดของช่องสัญญาณขั้นต่ำ
-          รับประกันความมั่นคง
บริการสำหรับ Application ในชั้น Network Layer
แบ่งออกเป็น 2 กลุ่ม คือ
            1.       Connection Service เป็นบริการที่เทียบได้กับ Connection-Oriented ของชั้น Transport layer ซึ่งจะต้องมีการเชื่อมต่อกันก่อน เรียกการเชื่อมต่อนี้ว่า “Virtual Circuit”
            2.       Connectionless Service เป็นบริการทีเทียบได้กับ Connectionless ของชั้น Transport layer โดยจะสื่อสารแบบไม่มีการเชื่อมต่อ เรียก Packet ประเภทนี้ว่า ”Datagram”


Virtual Circuit Network and Datagram Network
     1.       Virtual Circuit Network
เป็นบริการแบบ Connection Service โดยการสร้างเส้นทางเดนิของ Packet จาก Router ต้นทางไปยังRouter ปลายทาง ซึ่งจะต้องถูกกำหนดขึ้นมาก่อนที่จะเริ่มส่ง Packet ออกไป โดยสิ่งที่ต้องใช้ใน Virtual Circuit ประกอบด้วย
-          เส้นทางจาก Router ต้นทางไปยัง Router ปลายทาง
-          Virtual Circuit Number เนื่องจาก Router จะใช้ในการแยกแยะเส้นทางการสื่อสารของแต่ ละ Packet
-          รายการตาราง Forwarding Table ที่ใช้ในการส่งต่อ Packet

แสดงตัวอย่าง Virtual Circuit
 
ขั้นตอนการสร้าง Virtual Circuit
  
      2.       Datagram Network
เป็นบริการแบบ Connectionless System คือ ไม่รับประกันว่าข้อมูลถึงปลายทางอย่าง ถูกต้องและครบถ้วน โดยจะจัดการ Packet แต่ละอันแยกจากกันและส่ง Packet นั้น ๆ ไปยัง ระบบเครือข่าย Packet อาจจะใช้เส้นทางแตกต่างกันเมื่อเดินทางผ่านในระบบเครือข่าย แต่เมื่อ เดินทางไปถึงยังเป้าหมายปลายทางจะถูกนำมาประกอบเข้าด้วยกันเหมือนเดิม


การทำงานในส่วนต่าง ๆ ของ Router
สถาปัตยกรรมของ ROUTER แบบกว้าง ๆ สามารถแบ่ง องค์ประกอบของ ROUTERได้เป็น 4 ส่วน คือ
-          Input Port
-          Switching Fabric
-          Output Port
-          Routing Processor
ส่วนประกอบต่าง ๆ ภายใน Router

     1.       Input Port

การทำงานของ Input Port ตาม Internet Protocol Stack
-          Line Termination ทำหน้าที่ในชั้น Physical layer เพื่อเชื่อมต่อเข้ากับ Host ด้วยสายสัญญาณ
-          Data Link Processing ทำหน้าที่ในชั้น Data Link layer ด้วยการส่ง Frame โดยใช้ MAC Address
-          Lookup, Forwarding, Queuing ทำหน้าที่ในชั้น Network layer โดยมีตารางสำหรับการทำ Routing ที่ควบคุมโดย Routing Process แล้วส่ง Packet ไปตามข้อมูลที่ระบุไว้ในตาราง หาก ข้อมูลถูกส่งเข้ามา เร็วกว่าการส่งออกไป จะทำให้เกิด Queue ขึ้น
     2.       Switching Fabric
เป็นหัวใจสำคัญของ Router เนื่องจากเป็นส่วนที่ใช้เลือกเส้นทางให้กับ Packet ซึ่ง เป็นหน้าที่หลักของ Router โดยตรง โดยวิธีการที่ใช้มี 3 รูปแบบ
2.1   การสลับช่องสัญญาณแบบ Shared Memory


2.2   การสลับช่องสัญญาณแบบ Shared Bus


2.3   การสลับช่องสัญญาณแบบ Crossbar

     3.       Output Port


Internet Protocol (IP) กับเครือข่ายอินเตอร์เน็ต

     1.        Datagram Format
Datagram เป็นรูปแบบของ Packet ข้อมูลที’ใช้ในการรับ-ส่งข้อมูล ในชั้น Network layer ประกอบด้วยข้อมูล 2 ส่วน คือ
1. ส่วนที่เป็นข้อกำหนดต่างๆ (Header) ซึ่งมีความยาวไม่เกิน 60 ไบต์ ข้อมูล 20 ไบต์ แรกใช้ บอกข้อกำหนดที่เป็นส่วนบังคับ ส่วนข้อมูล 40 ไบต์ ที่เหลือ ใช้เป็นส่วนขยายที่บอก ข้อกำหนดเพิ่มเติม
2. ส่วนของข้อมูลใน Datagram
Datagram IPv4


ส่วนประกอบของ Datagram Format มีรายละเอียดดังนี้
-          Version Number มีความยาว 4 บิต ใช้สำหรับเก็บเวอร์ชันของ Datagram
-          Header Length มีความยาว 4 บิต เป็นส่วนที่บอกขนาดความยาวส่วนข้อกำหนดของ Datagram
-          Type of Service (TOS) มีความยาว 8 บิต เป็นตัวบ่งบอกชนิดการบริการของ Datagram ซึ่งมีผลต่อ คุณภาพของการให้บริการ
-          Datagram Length มีความยาว 16 บิต เป็นตัวระบุขนาดทั้งหมดของ Datagram ทั้งส่วนข้อกำหนด และส่วนข้อมูล ซึ่งหมายความว่า Datagram หนึ่ง ๆ จะมีขนาดทั้งหมดไม่เกิน 65,535 ไบต์ หรือ เท่ากับ 64 KB
-          Identification มีความยาว 8 บิต ใช้ระบุว่าข้อมูลที’รับมาเป็นข้อมูลชุดเดียวกับ Datagram เดียวได้
-          Flag ภายในจะประกอบด้วย DM(Do Not Fragment) และ MF(More Fragment) อย่างละ 1 บิต
-          Fragmentation Offset  ใช้บอกลำดับของข้อมูลใน Datagram ซึ่งมีขนาด 13 บิต สามารถบอกได้ 8,192 ลำดับ
-          Time-to-live (TTL) มีความยาว 8 บิต ใช้สำหรับป้องกันไม่ใช้ข้อมูลค้างในระบบเครือข่าย อินเตอร์เน็ต โดย TTL มีค่า 256 ค่า เมื่อผ่าน Router 1 ตัว ค่าจะลดลงไป 1 เมื่อเป็น 0ข้อมูลจะถูก โยนทิ้งออกจากระบบ
-          Upper-Layer Protocol มีความยาว 8 บิต ใช้บอกชั้น Transport ว่าจะต้องส่ง Datagram ใน รูปแบบ UDP  หรือ TCP
-          Header Checksum มีความยาว 16 บิต ใช้ตรวจสอบความถูกต้องของข้อมูลใน Header ของ Datagram
-          Source และ Destination IP Address มีความยาว 32 บิต เท่ากัน เป็นหมายเลข IP Address ของต้นทางและปลายทางที่อยู่ในรูปแบบ IPv4 ส่วน IPv6จะมีขนาด 128 บิต
-          Option ใช้อธิบายรายละเอียดเพิ่มเกี่ยวกับข้อมูลในส่วนข้อกำหนดของ Datagram มีขนาด 32 บิต ใส่หรือไม่ก็ได้
-          Data (Payload) เป็นส่วนที่ส่งไปยังปลายทางโดยจะมีขนาดได้ไม่เกนิ 65,515 ไบต์

      2.       IPv4 Addressing
IPv4 คือ หมายเลข IP Address มีขนาด 32 บิท IPv4 ย่อมาจาก “Internet Protocol Version 4” ถูกแบ่งออกเป็น 4 ชุดด้วยเครื่องหมายจุด โดยแต่ละชุดมีขนาด 8 บิท การอ่านหรือ อ้างอิงค่าหมายเลขไอพีแอดเดรสโดยทั่วไปจึงมักอยู่ในรูปแบบ 205.46.15.198 แทนที่จะอ่าน เป็น 11001101.00101110.00001111.11000110

รูปแบบการกำหนด IP Address Version 4

IP Address ในแต่ละส่วนของ Interface และ Host

Private IP กับ Public IP
-          Private IP
หมายถึง IP Address ที่ไม่ใช้บน Internet และไม่สามารถติดต่อกับ Public IP ได้ แต่ ไม่ใช่ซะทีเดียว เราสามารถใช้เทคนิค ที่เรียกว่า NAT (Network Address Translation) เข้าช่วยได้ –Private IP สามารถกำหนดขึ้นใช้ได้เอง โดยทั่วไปใช้กับ Intranet ในหน่วยงาน
-          Public IP หรืออีกนัยหนึ่งเรียกว่า Real IP
ใช้ในเครือข่าย Internet โดยจะต้องขอไปยังหน่วยงานที่กำกับดูแล IP Address ในแต่ ละประเทศ ซึ่งแน่นอนว่าแต่ละหน่วยงานที่ขอ IP Address ต้องได้หมายเลขที่ไม่ซ้ำกับ ใครเลยในโลกนี้ ในประเทศไทยหน่วยงานที่กำกับดูแลคือ thnic.net
          Network Class
  
Class A
          ใช้ 8 บิท แรกเป็น Network ID ส่วน 24 บิท หลังเป็น Host ID เหมาะกับเครือข่ายที่มีขนาดใหญ่
ค่า Network ID ที่เป็นไปได้ คือ “00000000 - 01111111” หรือ “0 –127” แต่ หมายเลข 0 และ 127 ถูกสงวนไว้

Class B
          ใช้ 16 บิท แรกเป็น Network ID ส่วน 16 บิทหลัง เป็น Host ID ถูกออกแบบมา สำหรับเครือข่ายขนาดกลางถึงขนาดใหญ่
2 บิทแรก ของ Class B จะถูกกำหนดให้เป็นเลข “1 0” หมายความว่าหมายเลขน้อยที่สุดและ มากที่สุดของ Class B จะมีค่าเท่ากับ “128” และ “191” ตามลำดับ
Class C
          ถูกออกกแบบมาสำหรับเครือข่ายขนาดเล็กที่มีเครื่องคอมพิวเตอร์ในเครือข่ายไม่มาก โดย 24 บิทแรก จะเป็น Network ID ส่วน 8 บิทหลัง เป็น Host ID
3 บิตแรก ของ Class C จะถูกกำหนดเป็น “110” ดังนั้น ตัวเลขชุดแรกจะอยู่ในช่วง “11000000” หรือ 192 ถึง “11011111” หรือ 223 ดังนั้น IP Address ที่อยู่ระหว่าง 192-223 จะเป็น IP Address ที่อยู่ใน  Class C
Class D
          ถูกออกแบบมาเพื่อการส่งข้อมูลหลายจุดพร้อมๆ กัน (Multicasting)
ตัวอย่าง 

การแจก IP Addressให้ภายในเครือข่าย
การแจก IP ให้ภายในเครือข่าย (Private IP) มีวิธีการ 2 วิธีคือ
1.       Dynamic IP Address – มีอุปกรณ์ในการแจก IP ให้โดยอัตโนมัติ (DHCP = Dynamic Host Configuration Protocol)
2.       Static IP Address – ผู้ดูแลระบบทำการกำหนดด้วยตนเอง โดยข้อจำกัดของวิธีนี้คือ
-          ในเครือข่ายจะต้องมี Subnet Mask ตรงกัน
-          ในเครือข่ายจะต้องมี Network Address ตรงกัน
-          ในเครือข่ายจะต้องมี Host Address  ไม่ตรงกัน
Subnetting
การ Subnetting (การแบ่ง subnet) คือการแบ่งกลุ่มของ network ออกเป็นกลุ่มๆ เพื่อรองรับ จำนวนNetwork Segment (กลุ่มของวงเน็ตเวิร์กที่เชื่อมต่อกัน) และใช้งาน IP ได้อย่างมี ประสิทธิภาพเปรียบได้กับการแบ่งลูกบอลทั้งหมดออกเป็นกลุ่มๆ
Subnet Mask
Subnet maskเป็น Parameterอีกตัวหนึ่งที่ต้องระบุควบคู่กับหมายเลข IP Address หน้าที่ของ Subnet mask ก็คือ การช่วยในการแยกแยะว่าส่วนใดภายในหมายเลข IP Addressเป็น Network Address และส่วนใดเป็นหมายเลข Host Addressดังนั้น จะสังเกตได้ว่า เมื่อเราระบุ IP Addressให้กับเครื่องคอมพิวเตอร์ เราจำเป็นต้องระบุ Subnet maskลงไปด้วยทุกครั้ง
192.168.10.0/24
IP Network = 192.168.10.0
24 หมายถึงหมายเลข Subnet
/24 = 11111111 11111111 11111111 00000000
(เลข1 ครบ24 ตัวเลขที่เหลือเติมเลข 0 ให้ครบ32 ตัว)