ค้นหาบล็อกนี้

วันพฤหัสบดีที่ 25 กุมภาพันธ์ พ.ศ. 2553

IP Address, IPConfig และการใช้งานคำสั่ง Ping

ความหมายของ IP Address, IPConfig และการใช้งานคำสั่ง Ping

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

IP Address จะประกอบไปด้วยตัวเลขจำนวน 4 ชุด ระหว่างตัวเลขแต่ละชุดจะถูกคั่นด้วยจุด “.” เช่น 192.168.0.1 โดยคอมพิวเตอร์จะแปลงค่าตัวเลขทั้ง 4 ชุดให้กลายเป็นเลขฐาน 2 ก่อนจะนำค่าที่แปลงได้ไปเก็บลงเครื่องทุกครั้ง และนอกจากนี้หมายเลข IP Address ยังแบ่งออกเป็น 2 ส่วนดังนี้

1.ส่วนที่ใช้เป็นหมายเลขเครือข่าย (Network Address)
2.ส่วนที่ใช้เป็นหมายเลขเครื่อง (Host Address)

ซึ่งหมายเลขทั้ง 2 ส่วนนี้สามารถแบ่งออกตามลักษณะการใช้งานได้ 5 Class ด้วยกันได้แก่ Class A, B, C, D และ E สำหรับ Class D และ E ทางหน่วยงาน InterNIC (Internet Network Information Center: หน่วยงานที่ได้รับการจัดตั้งจากรัฐบาลสหรัฐ ซึ่งทำหน้าที่เกี่ยวกับการออกมาตรฐานและจัดสรรหมายเลข IP Address ให้กับคอมพิวเตอร์ในเครือข่ายทั่วโลก) ได้มีการประกาศห้ามใช้งาน

Class A หมายเลข IP Address จะอยู่ในช่วง 0.0.0.0 ถึง 127.255.255.255 มีไว้สำหรับจัดสรรให้กับองค์กรขนาดใหญ่ที่มีคอมพิวเตอร์เชื่อมต่อภายในเครือข่ายจำนวนมากๆ

Class B หมายเลข IP Address จะอยู่ในช่วง 128.0.0.0 ถึง 191.255.255.255 มีไว้สำหรับจัดสรรให้กับองค์กรขนาดกลาง ซึ่งสามารถเชื่อมต่อคอมพิวเตอร์ในเครือข่ายได้มากถึง 65,534 เครื่อง

Class C หมายเลข IP Address จะอยู่ในช่วง 192.0.0.0 ถึง 223.255.255.255 มีไว้สำหรับจัดสรรให้กับองค์กรขนาดเล็กและใช้กับคอมพิวเตอร์ส่วนใหญ่ในเครือข่ายอินเตอร์เน็ตสามารถต่อเชื่อมกับคอมพิวเตอร์ในเครือข่ายได้ 254 เครื่อง

Class D หมายเลข IP Address จะอยู่ในช่วง 224.0.0.0 ถึง 239.255.255.255 สำหรับหมายเลข IP Address ของ Class นี้มีไว้เพื่อใช้ในเครือข่ายแบบ Multicast เท่านั้น

Class E หมายเลข IP Address จะอยู่ในช่วง 240.0.0.0 ถึง 254.255.255.255 สำหรับหมายเลข IP Address ของ Class นี้จะเก็บสำรองไว้ใช้ในอนาคต ปัจจุบันจึงยังไม่ได้มีการนำมาใช้งาน

Public IP และ Private IP แตกต่างกัน?
บนเครือข่ายอินเตอร์เน็ตเราจะได้รับการจัดสรร IP Address จากผู้ให้บริการอินเตอร์เน็ต (ISP: Internet Service Providers) ที่ใช้อยู่ ซึ่งเป็น IP Address ของจริงหรือที่เรียกว่า “Public IP” แต่สำหรับการต่อเครือข่ายเพื่อใช้งานภายในบ้านหรือออฟฟิศต่างๆ เราจะใช้ IP Address ของปลอม หรือที่เรียกว่า “Private IP” ซึ่ง Class ที่นิยมใช้กันก็คือ Class C ที่อยู่ในช่วง 192.168.0.0 ถึง 192.168.255.0 โดยผู้ใช้หรือผู้ดูแลระบบจะสามารถเป็นผู้กำหนดหมายเลข IP Address แบบ Private IP ด้วยตนเองได้

Public IP


Private IP


IPConfig คำสั่งสำหรับเรียกดูหมายเลข IP Address ภายในเครื่อง
คำสั่ง IPConfig เป็นคำสั่งที่ใช้สำหรับเรียกดูหมายเลข IP Address ของเครื่องที่ท่านใช้งานอยู่ ซึ่งถ้าหากท่านไม่ทราบว่าหมายเลข IP Address ของเครื่องที่ท่านใช้งานอยู่นั้นเป็นหมายเลขอะไรหรือมีรายละเอียดอะไรที่เกี่ยวข้องกับหมายเลข IP Address บ้าง ก็สามารถใช้คำสั่งนี้เรียกดูผ่านหน้าต่าง Command Prompt ได้เลยครับ โดยเข้าไปที่

1.คลิกปุ่ม Start > Run > พิมพ์ cmd วรรค /k วรรค ipconfig



จะได้ผลลัพธ์ออกมาดังรูป


2.ถ้าหากต้องการดูหมายเลข IP Address ซึ่งบอกรายละเอียดทั้งหมดก็สามารถดูได้โดยคลิกปุ่ม Start > Run > พิมพ์ cmd วรรค /k วรรค ipconfig วรรค /all

จะได้ผลลัพธ์ออกมาดังรูป


และนอกจากนี้ยังมีตัวเลือกเพิ่มเติมที่นิยมใช้ร่วมกับคำสั่ง IPConfig ได้แก่
ipconfig [/?
/all
/renew [adapter]
/release [adapter]
/flushdns
/displaydns
/registerdns
/showclassid adapter
/setclassid adapter [classid] ]

Options:
/? แสดง help ของคำสั่งนี้
/all แสดงรายละเอียดทั้งหมด
/release ยกเลิกหมายเลข IP ปัจจุบัน
/renew ขอหมายเลข IP ใหม่ ในกรณีที่เน็ตเวิร์คมีปัญหา เราอาจจะลองตรวจสอบได้โดยการใช้คำสั่งนี้ ซึ่งหากคำสั่งนี้ทำงานได้สำเร็จ แสดงว่าปัญหาไม่ได้มาจากระบบเครือข่าย แต่อาจจะเกิดจากซอฟท์แวร์ของเรา
/flushdns ขจัด DNS Resolver ออกจาก cache.
/registerdns ทำการ Refreshes DHCP ทั้งหมด และ registers DNS names ใหม่
/displaydns แสดง DNS Resolver ทั้งหมดที่มีในอยู่ Cache.
/showclassid แสดง class IDs ทั้งหมดที่ DHCP ยอมให้กับการ์ดแลนใบนี้
/setclassid แก้ไข dhcp class id.

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

ขั้นตอนการเรียกใช้งานมีดังนี้

1.คลิกปุ่ม Start > Run > พิมพ์ cmd เพื่อเรียกใช้งาน Command Prompt ดังรูป


2.เมื่อปรากฏหน้าต่าง Command Prompt ให้พิมพ์คำสั่ง ping ตามด้วยหมายเลข IP Address ของเครื่องคอมพิวเตอร์ที่ต้องการเข้าไปตรวจสอบลงไป จากนั้นกดปุ่ม Enter

3.หากมีการตอบรับกลับมาจากคอมพิวเตอร์ปลายทาง จะปรากฏคำสั่งเหมือนในกรอบสีแดง แสดงว่าคอมพิวเตอร์ทั้ง 2 เครื่องสามารถติดต่อสื่อสารกันได้ตามปกติ


4.แต่ถ้าปรากฏคำสั่ง “Request timed out” นั่นแสดงว่าคอมพิวเตอร์ทั้ง 2 เกิดปัญหาขัดข้องไม่สามารถติดต่อสื่อสารถึงกันได้ ซึ่งจะต้องทำการตรวจสอบการเชื่อมต่อเครือข่ายรวมถึงการตั้งค่าต่างๆให้ถูกต้อง แล้วลองใช้คำสั่ง Ping ตรวจสอบอีกครั้ง

ตัวเลือกเพิ่มเติมที่นิยมใช้ร่วมกันกับคำสั่ง Ping
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list]
[-k host-list]
[-w timeout] target_name

Options:

-t Ping ไปยัง Host ตามที่ระบุเรื่อยๆ จนกว่าจะสั่งยกเลิกโดยกดแป้น Ctrl-C.และหากต้องการดูสถิติให้กดแป้น Ctrl-Break

-a เปลี่ยนหมายเลข IP Address ของ Host เป็นชื่อแบบตัวอักษร
-n count Ping แบบระบุจำนวน echo ที่จะส่ง
-l size กำหนดขนาด buffer
-f ตั้งค่าไม่ให้แยก flag ใน packet.
-i TTL Ping แบบกำหนด Time To Live โดยกำหนดค่าตั้งแต่ 1-255
-v TOS กำหนดประเภทของบริการ (Type of service)
-r count Ping แบบให้มีการบันทึกเส้นทางและนับจำนวนครั้งในการ hops จนกว่าจะถึงปลายทาง
-s count Ping แบบนับเวลาในการ hop แต่ละครั้ง
-j host-list Loose source route along host-list.
-k host-list Strict source route along host-list.
-w timeout Ping แบบกำหนดเวลารอคอยการตอบรับ

แหล่งข้อมูลอ้างอิง http://www.varietypc.net/main/archives/692

วันพุธที่ 24 กุมภาพันธ์ พ.ศ. 2553

TCP/IP (Transmitsion Control Protocol/Internet Protocol)

TCP/IP (Transmitsion Control Protocol/Internet Protocol)
เป็นชุดของโปรโตคอลที่ถูกใช้ในการสื่อสารผ่านเครือข่ายอินเทอร์เน็ต โดยมีวัตถุประสงค์เพื่อให้สามารถใช้สื่อสารจากต้นทางข้ามเครือข่ายไปยังปลายทางได้ และสามารถหาเส้นทางที่จะส่งข้อมูลไปได้เองโดยอัตโนมัติ ถึงแม้ว่าในระหว่างทางอาจจะผ่านเครือข่ายที่มีปัญหา โปรโตคอลก็ยังคงหาเส้นทางอื่นในการส่งผ่านข้อมูลไปให้ถึงปลายทางได้

ชุดโปรโตคอลนี้ได้รับการพัฒนามาตั้งแต่ปี 1960 ซึ่งถูกใช้เป็นครั้งแรกในเครือข่าย ARPANET ซึ่งต่อมาได้ขยายการเชื่อมต่อไปทั่วโลกเป็นเครือข่ายอินเตอร์เน็ต ทำให้ TCP/IP เป็นที่ยอมรับอย่างกว้างขวางจนถึงปัจจุบัน

TCP/IP มีจุดประสงค์ของการสื่อสารตามมาตรฐาน คือ
เพื่อใช้ติดต่อสื่อสารระหว่างระบบที่มีความแตกต่างกัน ความสามารถในการแก้ไขปัญหาที่เกิดขึ้นในระบบเครือข่าย เช่นในกรณีที่ผู้ส่งและผู้รับยังคงมีการติดต่อกันอยู่ แต่โหนดกลางทีใช้เป็นผู้ช่วยรับ-ส่งเกิดเสียหายใช้การไม่ได้ หรือสายสื่อสารบางช่วงถูกตัดขาด กฎการสื่อสารนี้จะต้องสามารถจัดหาทางเลือกอื่นเพื่อทำให้การสื่อสารดำเนินต่อไปได้โดยอัตโนมัติ มีความคล่องตัวต่อการสื่อสารข้อมูลได้หลายชนิดทั้งแบบที่ไม่มีความเร่งด่วน เช่น การจัดส่งแฟ้มข้อมูลและแบบที่ต้องการรับประกันความเร่งด่วนของข้อมูล เช่น การสื่อสารแบบ real-time และทั้งการสื่อสารแบบเสียง (Voice) และข้อมูล (data)

Encapsulation/Demultiplexing
การส่งข้อมูลผ่านในแต่ละเลเยอร์ แต่ละเลเยอร์จะทำการประกอบข้อมูลที่ได้รับมา กับข้อมูลส่วนควบคุมซึ่งถูกนำมาไว้ในส่วนหัวของข้อมูลเรียกว่า Header ภายใน Header จะบรรจุข้อมูลที่สำคัญของโปรโตคอลที่ทำการ Encapsulate เมื่อผู้รับได้รับข้อมูล ก็จะเกิดกระบวนการทำงานย้อนกลับคือ โปรโตคอลเดียวกัน ทางฝั่งผู้รับก็จะได้รับข้อมูลส่วนที่เป็น Header ก่อนและนำไปประมวลและทราบว่าข้อมูลที่ตามมามีลักษณะอย่างไร ซึ่งกระบวนการย้อนกลับนี้เรียกว่า Demultiplexing


รูปที่1 ขั้นตอนการ Encapsulation และ Demultiplexing


ข้อมูลที่ผ่านการ Encapsulate ในแต่ละเลเยอร์มีชื่อเรียกแตกต่างกัน ดังนี้ ข้อมูลที่มาจาก User หรือก็คือข้อมูลที่ User เป็นผู้ป้อนให้กับ Application เรียกว่า User Data เมื่อแอพพลิเคชั่นได้รับข้อมูลจาก user ก็จะนำมาประกอบกับส่วนหัวของแอพพลิเคชั่น เรียกว่า Application Data และส่งต่อไปยังโปรโตคอล TCP

เมื่อโปรโตคอล TCP ได้รับ Application Data ก็จะนำมารวมกับ Header ของ โปรโตคอล TCP เรียกว่า TCP Segment และส่งต่อไปยังโปรโตคอล IP

เมื่อโปรโตคอล IP ได้รับ TCP Segment ก็จะนำมารวมกับ Header ของ โปรโตคอล IP เรียกว่า IP Datagram และส่งต่อไปยังเลเยอร์ Host-to-Network Layer

ในระดับ Host-to-Network จะนำ IP Datagram มาเพิ่มส่วน Error Correction และ flag เรียกว่า Ethernet Frame ก่อนจะแปลงข้อมูลเป็นสัญญาณไฟฟ้า ส่งผ่านสายสัญญาณที่เชื่อมโยงอยู่ต่อไป

ในแต่ละเลเยอร์ของโครงสร้าง TCP/IP สามารถอธิบายได้ดังนี้

รูปที่2 โครงสร้าง TCP/IP


1. ชั้นโฮสต์-เครือข่าย (Host-to-Network Layer)

โปรโตคอลสำหรับการควบคุมการสื่อสารในชั้นนี้เป็นสิ่งที่ไม่มีการกำหนดรายละเอียดอย่างเป็นทางการ หน้าที่หลักคือการรับข้อมูลจากชั้นสื่อสาร IP มาแล้วส่งไปยังโหนดที่ระบุไว้ในเส้นทางเดินข้อมูลทางด้านผู้รับก็จะทำงานในทางกลับกัน คือรับข้อมูลจากสายสื่อสารแล้วนำส่งให้กับโปรแกรมในชั้นสื่อสาร

2. ชั้นสื่อสารอินเทอร์เน็ต (The Internet Layer)

ใช้ประเภทของระบบการสื่อสารที่เรียกว่า ระบบเครือข่ายแบบสลับช่องสื่อสารระดับแพ็กเก็ต (packet-switching network) ซึ่งเป็นการติดต่อแบบไม่ต่อเนื่อง (Connectionless) หลักการทำงานคือการปล่อยให้ข้อมูลขนาดเล็กที่เรียกว่า แพ็กเก็ต (Packet) สามารถไหลจากโหนดผู้ส่งไปตามโหนดต่างๆ ในระบบจนถึงจุดหมายปลายทางได้โดยอิสระ หากว่ามีการส่งแพ็กเก็ตออกมาเป็นชุดโดยมีจุดหมายปลายทางเดียวกันในระหว่างการเดินทางในเครือข่าย แพ็กเก็ตแต่ละตัวในชุดนี้ก็จะเป็นอิสระแก่กันและกัน ดังนั้น แพ็กเก็ตที่ส่งไปถึงปลายทางอาจจะไม่เป็นไปตามลำดับก็ได้

a. IP (Internet Protocol)

IP เป็นโปรโตคอลในระดับเน็ตเวิร์คเลเยอร์ ทำหน้าที่จัดการเกี่ยวกับแอดเดรสและข้อมูล และควบคุมการส่งข้อมูลบางอย่างที่ใช้ในการหาเส้นทางของแพ็กเก็ต ซึ่งกลไกในการหาเส้นทางของ IP จะมีความสามารถในการหาเส้นทางที่ดีที่สุด และสามารถเปลี่ยนแปลงเส้นทางได้ในระหว่างการส่งข้อมูล และมีระบบการแยกและประกอบดาต้าแกรม (datagram) เพื่อรองรับการส่งข้อมูลระดับ data link ที่มีขนาด MTU (Maximum Transmission Unit) ทีแตกต่างกัน ทำให้สามารถนำ IP ไปใช้บนโปรโตคอลอื่นได้หลากหลาย เช่น Ethernet ,Token Ring หรือ Apple Talk

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


รูปที่ 3 IP Header

เฮดเดอร์ของ IP โดยปกติจะมีขนาด 20 bytes ยกเว้นในกรณีที่มีการเพิ่ม option บางอย่าง ฟิลด์ของเฮดเดอร์ IP จะมีความหมายดังนี้

Version : หมายเลขเวอร์ชันของโปรโตคอล ที่ใช้งานในปัจจุบันคือ เวอร์ชัน 4 (IPv4) และเวอร์ชัน 6 (IPv6)
Header Length : ความยาวของเฮดเดอร์ โดยทั่วไปถ้าไม่มีส่วน option จะมีค่าเป็น 5 (5*32 bit)

Type of Service (TOS) : ใช้เป็นข้อมูลสำหรับเราเตอร์ในการตัดสินใจเลือกการเราต์ข้อมูลในแต่ละดาต้าแกรม แต่ในปัจจุบันไม่ได้มีการนำไปใช้งานแล้ว

Length : ความยาวทั้งหมดเป็นจำนวนไบต์ของดาต้าแกรม ซึ่งด้วยขนาด 16 บิตของฟิลด์ จะหมายถึงความยาวสูงสุดของดาต้าแกรม คือ 65535 byte (64k) แต่ในการส่งข้อมูลจริง ข้อมูลจะถูกแยกเป็นส่วนๆตามขนาดของ MTU ที่กำหนดในลิงค์เลเยอร์ และนำมารวมกันอีกครั้งเมื่อส่งถึงปลายทาง แอพพลิเคชั่นส่วนใหญ่จะมีขนาดของดาต้าแกรมไม่เกิน 512 byte

Identification : เป็นหมายเลขของดาต้าแกรมในกรณีที่มีการแยกดาต้าแกรมเมื่อข้อมูลส่งถึงปลายทางจะนำข้อมูลที่มี identification เดียวกันมารวมกัน

Flag : ใช้ในกรณีที่มีการแยกดาต้าแกรม

Fragment offset : ใช้ในการกำหนดตำแหน่งข้อมูลในดาต้าแกรมที่มีการแยกส่วน เพื่อให้สามารถนำกลับมาเรียงต่อกันได้อย่างถูกต้อง

Time to live (TTL) : กำหนดจำนวนครั้งที่มากที่สุดที่ดาต้าแกรมจะถูกส่งระหว่าง hop (การส่งผ่านข้อมูลระหว่างเน็ตเวิร์ค) เพื่อป้องกันไม่ให้เกิดการส่งข้อมูลโดยไม่สิ้นสุด โดยเมื่อข้อมูลถูกส่งไป 1 hop จะทำการลดค่า TTL ลง 1 เมื่อค่าของ TTL เป็น 0 และข้อมูลยังไม่ถึงปลายทาง ข้อมูลนั้นจะถูกยกเลิก และเราเตอร์สุดท้ายจะส่งข้อมูล ICMP แจ้งกลับมายังต้นทางว่าเกิด time out ในระหว่างการส่งข้อมูล

Protocol : ระบุโปรโตคอลที่ส่งในดาต้าแกรม เช่น TCP ,UDP หรือ ICMP
Header checksum : ใช้ในการตรวจสอบความถูกต้องของข้อมูลในเฮดเดอร์
Source IP address : หมายเลข IP ของผู้ส่งข้อมูล
Destination IP address : หมายเลข IP ของผู้รับข้อมูล
Data : ข้อมูลจากโปรโตคอลระดับบน

b. ICMP (Internet Control Message Protocol)

ICMP เป็นโปรโตคอลที่ใช้ในการตรวจสอบและรายงานสถานภาพของดาต้าแกรม (Datagram) ในกรณีที่เกิดปัญหากับดาต้าแกรม เช่น เราเตอร์ไม่สามารถส่งดาต้าแกรมไปถึงปลายทางได้ ICMP จะถูกส่งออกไปยังโฮสต้นทางเพื่อรายงานข้อผิดพลาด ที่เกิดขึ้น อย่างไรก็ดี ไม่มีอะไรรับประกันได้ว่า ICMP Message ที่ส่งไปจะถึงผู้รับจริงหรือไม่ หากมีการส่งดาต้าแกรมออกไปแล้วไม่มี ICMP Message ฟ้อง Error กลับมา ก็แปลความหมายได้สองกรณีคือ ข้อมูลถูกส่งไปถึงปลายทางอย่างเรียบร้อย หรืออาจจะมีปัญหา ในการสื่อสารทั้งการส่งดาต้าแกรม และ ICMP Message ที่ส่งกลับมาก็มีปัญหาระว่างทางก็ได้ ICMP จึงเป็นโปรโตคอลที่ไม่มีความน่าเชื่อถือ (unreliable) ซึ่งจะเป็นหน้าที่ของ โปรโตคอลในระดับสูงกว่า Network Layer ในการจัดการให้การสื่อสารนั้นๆ มีความน่าเชื่อถือ

ในส่วนของ ICMP Message จะประกอบด้วย Type ขนาด 8 บิต Checksum ขนาด 16 บิต และส่วนของ Content ซึ่งจะมีขนาดแตกต่างกันไปตาม Type และ Code ดังรูป


รูปที่ 4 ICMP Header

3. ชั้นสื่อสารนำส่งข้อมูล (Transport Layer)

แบ่งเป็นโปรโตคอล 2 ชนิดตามลักษณะ ลักษณะแรกเรียกว่า Transmission Control Protocol (TCP) เป็นแบบที่มีการกำหนดช่วงการสื่อสารตลอดระยะเวลาการสื่อสาร (connection-oriented) ซึ่งจะยอมให้มีการส่งข้อมูลเป็นแบบ Byte stream ที่ไว้ใจได้โดยไม่มีข้อผิดพลาด ข้อมูลที่มีปริมาณมากจะถูกแบ่งออกเป็นส่วนเล็กๆ เรียกว่า message ซึ่งจะถูกส่งไปยังผู้รับผ่านทางชั้นสื่อสารของอินเทอร์เน็ต ทางฝ่ายผู้รับจะนำ message มาเรียงต่อกันตามลำดับเป็นข้อมูลตัวเดิม TCP ยังมีความสามารถในการควบคุมการไหลของข้อมูลเพื่อป้องกันไม่ให้ผู้ส่ง ส่งข้อมูลเร็วเกินกว่าที่ผู้รับจะทำงานได้ทันอีกด้วย

โปรโตคอลการนำส่งข้อมูลแบบที่สองเรียกว่า UDP (User Datagram Protocol) เป็นการติดต่อแบบไม่ต่อเนื่อง (connectionless) มีการตรวจสอบความถูกต้องของข้อมูลแต่จะไม่มีการแจ้งกลับไปยังผู้ส่ง จึงถือได้ว่าไม่มีการตรวจสอบความถูกต้องของข้อมูล อย่างไรก็ตาม วิธีการนี้มีข้อดีในด้านความรวดเร็วในการส่งข้อมูล จึงนิยมใช้ในระบบผู้ให้และผู้ใช้บริการ (client/server system) ซึ่งมีการสื่อสารแบบ ถาม/ตอบ (request/reply) นอกจากนั้นยังใช้ในการส่งข้อมูลประเภทภาพเคลื่อนไหวหรือการส่งเสียง (voice) ทางอินเทอร์เน็ต

a. UDP : (User Datagram Protocol)

เป็นโปรโตคอลที่อยู่ใน Transport Layer เมื่อเทียบกับโมเดล OSI โดยการส่งข้อมูลของ UDP นั้นจะเป็นการส่งครั้งละ 1 ชุดข้อมูล เรียกว่า UDP datagram ซึ่งจะไม่มีความสัมพันธ์กันระหว่างดาต้าแกรมและจะไม่มีกลไกการตรวจสอบความสำเร็จในการรับส่งข้อมูล

กลไกการตรวจสอบโดย checksum ของ UDP นั้นเพื่อเป็นการป้องกันข้อมูลที่อาจจะถูกแก้ไข หรือมีความผิดพลาดระหว่างการส่ง และหากเกิดเหตุการณ์ดังกล่าว ปลายทางจะได้รู้ว่ามีข้อผิดพลาดเกิดขึ้น แต่มันจะเป็นการตรวจสอบเพียงฝ่ายเดียวเท่านั้น โดยในข้อกำหนดของ UDP หากพบว่า Checksum Error ก็ให้ผู้รับปลายทางทำการทิ้งข้อมูลนั้น แต่จะไม่มีการแจ้งกลับไปยังผู้ส่งแต่อย่างใด การรับส่งข้อมูลแต่ละครั้งหากเกิดข้อผิดพลาดในระดับ IP เช่น ส่งไม่ถึง, หมดเวลา ผู้ส่งจะได้รับ Error Message จากระดับ IP เป็น ICMP Error Message แต่เมื่อข้อมูลส่งถึงปลายทางถูกต้อง แต่เกิดข้อผิดพลาดในส่วนของ UDP เอง จะไม่มีการยืนยัน หรือแจ้งให้ผู้ส่งทราบแต่อย่างใด

 
รูปที่ 5 UDP Header
มีรายละเอียด ดังนี้


Source Port Number : หมายเลขพอร์ตต้นทางที่ส่งดาต้าแกรมนี้
Destination Port Number : หมายเลขพอร์ตปลายทางที่จะเป็นผู้รับดาต้าแกรม
UDP Length : ความยาวของดาต้าแกรม ทั้งส่วน Header และ data นั่นหมายความว่า ค่าที่น้อยที่สุดในฟิลด์นี้คือ 8 ซึ่งเป็นขนาดของ Header
Checksum : เป็นตัวตรวจสอบความถูกต้องของ UDP datagram และจะนำข้อมูลบางส่วนใน IP Header มาคำนวณด้วย
b. TCP : (Transmission Control Protocol)
อยู่ใน Transport Layer เช่นเดียวกับ UDP ทำหน้าที่จัดการและควบคุมการรับส่งข้อมูล ซึ่งมีความสามารถและรายละเอียดมากกว่า UDP โดยดาต้าแกรมของ TCP จะมีความสัมพันธ์ต่อเนื่องกัน และมีกลไกควบคุมการรับส่งข้อมูลให้มีความถูกต้อง (reliable) และมีการสื่อสารอย่างเป็นกระบวนการ (connection-oriented)



รูปที่ 6 TCP Header
มีรายละเอียด ดังนี้
Source Port Number : หมายเลขพอร์ตต้นทางที่ส่งดาต้าแกรมนี้
Destination Port Number : หมายเลขพอร์ตปลายทางที่จะเป็นผู้รับดาต้าแกรม
Sequence Number : ฟิลด์ที่ระบุหมายเลขลำดับอ้างอิงในการสื่อสารข้อมูลแต่ละครั้ง เพื่อใช้ในการแยกแยะว่าเป็นข้อมูลของชุดใด และนำมาจัดลำดับได้ถูกต้อง
Acknowledgment Number : ทำหน้าที่เช่นเดียวกับ Sequence Number แต่จะใช้ในการตอบรับ
Header Length : โดยปกติความยาวของเฮดเดอร์ TCP จะมีความยาว 20 ไบต์ แต่อาจจะมากกว่านั้น ถ้ามีข้อมูลในฟิลด์ option แต่ต้องไม่เกิน 60 ไบต์
Flag : เป็นข้อมูลระดับบิตที่อยู่ในเฮดเดอร์ TCP โดยใช้เป็นตัวบอกคุณสมบัติของแพ็กเก็ต TCP ขณะนั้นๆ และใช้เป็นตัวควบคุมจังหวะการรับส่งข้อมูลด้วย ซึ่ง Flag มีอยู่ทั้งหมด 6 บิต แบ่งได้ดังนี้

Flag ในเฮดเดอร์ของ TCP มีความสำคัญในการกำหนดการทำงานของ TCP segment เนื่องจากข้อมูลในเฮดเดอร์ของ TCP จะมีข้อมูลครบถ้วนทั้งการรับและการส่งข้อมูล ซึ่งในการสทำงานแต่ละอย่างจะมีการใช้งานฟิลด์ไม่เหมือนกัน flag จะเป็นตัวกำหนดว่าให้ใช้งานฟิลด์ไหน เช่น ฟิลด์ Acknowledgment number จะไม่ถูกใช้ในขั้นตอนการเริ่มต้นการเชื่อมต่อ แต่จะมีข้อมูลในฟิลด์ ซึ่งเป็นข้อมูลที่ไม่มีความหมายใดๆซึ่งถ้าไม่มี flag เป็นตัวกำหนดก้ออาจจะมีการนำข้อมูลมาใช้ และก่อให้เกิดความผิดพลาดได้


i. การสื่อสารของ TCP


เมื่อเซกเมนต์ CONNECT (SYN = “1” และ ACK = “0”) เดินทางมาถึง Entity TCP ที่โฮสต์ปลายทางจะค้นหาโพรเซสตามหมายเลขพอร์ตที่กำหนดในเขตข้อมูล Destination port ซึ่งถ้าหากไม่พบก็จะตอบปฏิเสธด้วยเซกเมนต์ที่มี RST = “1” กลับไปยังผู้ส่ง

เซกเมนต์ CONNECT ของผู้ส่งจะถูกส่งต่อไปยังโพรเซส ตามพอร์ตที่ระบุซึ่งอาจจะตอบรับหรือตอบปฏิเสธก็ได้ ถ้าโพรเซสนั้นต้องการสื่อสารด้วยก็จะส่งเซกเมนต์ตอบรับกลับไป รูปที่ 6-1 แสดงลำดับขั้นตอนการส่ง TCP เซกเมนต์ในการสร้างการเชื่อมต่อในสภาวะปกติระหว่างผู้ส่งและผู้รับ

ในกรณีที่โฮสต์สองแห่งพยายามสร้างการเชื่อมต่อระหว่างซ็อคเก็ตคู่เดียวกันจะเกิดเป็นลำดับขั้นตอนแสดงในรูปที่ 6-2 ผลสุดท้ายจะมีการเชื่อมต่อเกิดขึ้นเพียงหนึ่งช่องทางเท่านั้นเนื่องจากการเชื่อมต่อในแต่ละช่องทางจะถูกกำหนดขึ้นโดยใช้หมายเลขซ็อคเก็ตผู้ส่งและผู้รับ ถ้าการเชื่อมต่อลำดับแรกสำเร็จก็จะถูกบันทึกไว้ในตารางการสื่อสาร เช่น (x, y) ถ้าการเชื่อมต่อลำดับที่สองสำเร็จในเวลาต่อมา ข้อมูลนี้ก็จะถูกบันทึกไว้ที่เดียวกันคือ (x, y)

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

การเชื่อมต่อเริ่มต้นจากสถานะ CLOSED เมื่อเรียกใช้บริการ LISTEN หรือ CONNECT ก็จะมีการเปลี่ยนสถานะไปจากเดิม และถ้าอีกฝ่ายตองการเชื่อมต่อด้วย การเชื่อมต่อก็จะเกิดขึ้นและย้ายไปอยู่ในสถานะ ESTABLISHED คือการเชื่อต่อสมบูรณ์ และเมื่อยกเลิกการติดต่อก็จะกลับไปสู่สถานะ CLOSED อย่างเดิม
ii. การเริ่มต้นการสื่อสารของ TCP โดยใช้การบันทึกเวลาแบบ Three-way handshake

Three-way Handshake เป็นวิธีการส่งแพ็กเก็ตที่สามารถช่วยแก้ปัญหาในเรื่องแพ็กเก็ตซ้ำซ้อนได้ดี แต่วิธีนี้จำเป็นจะต้องสร้างช่องสื่อสารให้ได้ก่อนที่จะเริ่มรับ-ส่งข้อมูล อย่างไรก็ตาม แพ็กเก็ตควบคุมที่ใช้ในการต่อรองค่าตัวแปรสำหรับการสื่อสารต่างๆ อาจเกิดการตกค้างอยู่ในระบบได้ ทำให้การกำหนดค่าหมายเลขลำดับมีปัญหาไปด้วย เช่นการสร้างช่องสื่อสารระหว่างโฮสต์1 และ โฮสต์2 เริ่มจาก โฮสต์1 ขอเริ่มการเชื่อต่อด้วยการส่งแพ็กเก็ต CR (Connection Request) ไปยังโฮสต์2 ซึ่งจะมีค่าตัวแปรต่างๆสำหรับการสื่อสารรวมทั้งหมายเลขลำดับและหมายเลขช่องสื่อสารไปด้วย ผู้รับคือโฮสต์2 ก็จะส่ง ACK (Acknowledge) กลับมายังโฮสต์1 แต่ถ้าแพ็กเก็ต จากผู้ส่งเกิดสูญหายระหว่างทางและสำเนาแพ็กเก็ตที่ยังตกค้างอยู่ระบบเกิดเดินทางไปถึงผู้รับในภายหลังก็จะทำให้การสร้างช่องสื่อสารใช้การไม่ได้เนื่องจากมีค่าตัวแปรต่างๆไม่ตรงกัน

การใช้ Three-way handshake เป็นการไม่บังคับให้ผู้ส่งและผู้รับข้อมูลจะต้องกำหนดค่าเริ่มต้นของหมายเลขลำดับเป็นเลขเดียวกัน ทำให้สามารถนำวิธีนี้มาใช้ร่วมกับวิธีการจัดจังหวะการทำงานให้พร้อมกัน (Synchronization) แบบต่างๆได้ แทนที่จะเป็นการใช้วิธีการบันทึกเวลา ดังรูปที่ 7-1 แสดงขั้นตอนการเริ่มต้นการทำงานจากโฮสต์ 1 ไปยังโฮสต์ 2 สมมุติให้โฮสต์ 1 เลือกหมายเลขลำดับเป็น “x” และส่งแพ็กเก็ต CONNECTION REQUEST ไปยังโฮสต์ 2 โฮสต์ 2 ตอบรับด้วยแพ็กเก็ต CONNECTION ACCEPTED ซึ่งจะยอมรับหมายเลขลำดับ “x” พร้อมกับประกาศหมายเลขลำดับ “y” ที่เป็นของตนเอง จากนั้นโฮสต์ 1 ก็จะตอบรับค่าตัวเลือกของโฮสต์ 2 ผ่านทางเขตข้อมูลสำหรับการควบคุมในแพ็กเก็ตข้อมูลแรกที่ส่งมา

สมมติว่าได้เกิดปัญหาการสูญหายของแพ็กเก็ตในขณะที่สำเนาแพ็กเก็ตที่ค้างในระบบเดินทางไปถึงผู้รับแทน รูปที่7-2 แสดงเหตุการณ์ที่แพ็กเก็ตTPDU (ตัวแรกในรูป) เป็นสำเนาแพ็กเก็ตเก่าที่พึ่งจะเดินทางไปถึงโฮสต์ 2 โดยที่โฮสต์ 1 ไม่ทราบ โฮสต์ 2 ก็จะทำงานตามปกติคือจะตอบรับด้วยการส่งแพ็กเก็ต CONNECTION ACCEPTED TPDU กลับมา ที่โฮสต์ 1 ซึ่งโฮสต์1 จะสามารถตรวจสอบได้ว่า หมายเลขลำดับโฮสต์2 ตอบกลับมานั้นเป็นหมายเลขลำดับที่ได้เลิกใช้ไปแล้ว จึงมีการส่งแพ็กเก็ต REJECTกลับมายังโฮสต์ 2 เพื่อบอกยกเลิกการทำงาน จะเห็นว่าวิธีการนี้อาศัยการสื่อสารผ่านแพ็กเก็ต 3 ตัวซึ่งเป็นที่มาของคำว่า “การจับมือร่วมสามขั้นตอน” ผลสุดท้าย ทั้งโฮสต์ 1 และโฮสต์ 2 ก็จะไม่มีการสร้างช่องสื่อสารขึ้นมาจากข้อมูลในสำเนาแพ็กเก็ตเก่าแต่อย่างใด

4. ชั้นสื่อสารการประยุกต์ (Application Layer)
มีโปรโตคอลสำหรับสร้างจอเทอร์มินัลเสมือน เรียกว่า TELNET โพรโตคอลสำหรับการจัดการแฟ้มข้อมูล เรียกว่า FTP และโพรโตคอลสำหรับการให้บริการจดหมายอิเล็กทรอนิกส์ เรียกว่า SMTP โดยโพรโตคอลสำหรับสร้างจอเทอร์มินัลเสมือนช่วยให้ผู้ใช้สามารถติดต่อกับเครื่องโฮสต์ที่อยู่ไกลออกไปโดยผ่านอินเทอร์เน็ต และสามารถทำงานได้เสมือนกับว่ากำลังนั่งทำงานอยู่ที่เครื่องโฮสต์นั้น โพรโตคอลสำหรับการจัดการแฟ้มข้อมูลช่วยในการคัดลอกแฟ้มข้อมูลมาจากเครื่องอื่นที่อยู่ในระบบเครือข่ายหรือส่งสำเนาแฟ้มข้อมูลไปยังเครื่องใดๆก็ได้ โพรโตคอลสำหรับให้บริการจดหมายอิเล็กทรอนิกส์ช่วยในการจัดส่งข้อความไปยังผู้ใช้ในระบบ หรือรับข้อความที่มีผู้ส่งเข้ามา

แหล่งข้อมูลอ้างอิง   http://www.thaicert.org/paper/basic/tcp-ip.php
เอกสารอ้างอิง

[1] Andrew S. Tanenbaum. Computer Networks. หน้า32-35 , 432-434 , 463-465
[2] เรืองไกร รังสิพล. เจาะระบบ TCP/IP : จุดอ่อนของโปรโตคอลและวิธีป้องกัน . บริษัท โปรวิชั่น จำกัด. 2001

วันอังคารที่ 23 กุมภาพันธ์ พ.ศ. 2553

ระบบเครือข่ายแบบ LAN

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


เครือข่ายแบบพึ่งเครื่องบริการ (Server - based networking)
เป็นการเชื่อมต่อโดยมีเครื่องบริการอยู่ศูนย์กลาง ทำหน้าที่ในการให้บริการต่าง ๆ ที่เครื่องผู้ใช้หรือสถานีงาน (Workstation) ร้องขอ รวมทั้งเป็นผู้จัดการดูแลการจราจรในระบบเครือข่ายทั้งหมด นั่นคือการติดต่อกันระหว่างเครื่องต่าง ๆ จะต้องผ่านเครื่องเซิร์ฟเวอร์ เครื่องผู้ใช้จะทำการประมวลผลในงานของตนเท่านั้น ไม่มีหน้าที่ในการให้บริการกับเครื่องอื่น ๆ ในระบบ

เครื่องผู้บริการในระบบเครือข่ายชนิดนี้อาจมีได้ 2 รูปแบบคือ
     เครื่องบริการแบบอุทิศ (Dedicated Server) หมายถึงเครื่องบริการทำหน้าที่บริการอย่างเดียวเท่านั้น ไม่สามารถนำไปใช้ในงานทั่ว ๆไปได้ ข้อดีคือทำให้ระบบมีเสถียรภาพและมีประสิทธิภาพสูง ข้อเสียคือไม่สามารถใช้งานเครื่องที่มีราคาสูงได้

เครื่องบริการแบบไม่อุทิศ (Non - Dedicated Server) หมายถึงเครื่องบริการยังสามารถใช้งานได้ตามปกติเหมือนเครื่องลูกข่าย ซึ่งมีข้อเสียที่สำคัญคือมีประสิทธิภาพของเครือข่ายจะลดลง ทำให้วิธีนี้ไม่เป็นที่นิยมในการใช้งาน


เครือข่ายแบบเท่าเทียม (Peer - to Peer networking)
เป็นการเชื่อมต่อที่เครื่องทุกเครื่องในระบบเครือข่ายมีสถานะเท่าเทียมกันหมด โดยเครื่องทุกเครื่องสามารถเป็นได้ทั้งเครื่องผู้ใช้และเครื่องบริการในขณะใดขณะหนึ่ง นั่นคือเครื่องทุกเครื่องเปรียบเสมือนกับเป็นเครื่องบริการแบบไม่อุทิศ (Non - Dedicated Server) นั่นเอง ในระบบเครือข่ายประเภทนี้การติดต่อระหว่างแต่ละเครื่องจะสามารถติดต่อกันได้โดยตรง มีข้อเสียคือประสิทธิภาพในการรับส่งข้อมูลด้อยกว่าแบบแรก ทำให้ไม่เหมาะกับระบบที่มีการใช้งานการรับส่งข้อมูลผ่านเครือข่ายมาก ๆ

Network Advantages Disadvantages
Server - Based มีประสิทธิภาพสูงกว่า โดยเฉพาะอย่างยิ่งถ้าเป็นแบบ Dedicates Server

การดูแลระบบสามารถทำได้ง่ายกว่า เสียค่าใช้จ่ายสูงสำหรับเครื่อง server โดยเฉพาะอย่างยิ่งหารเป็นแบบ Dedicates Server ซึ่งไม่สามารถนำไปใช้งานอย่างอื่นได้ ไม่สามารถใช้งานทรัพยากรที่เชื่อมอยู่กับ Workstation ได้ ถ้า Server เสียระบบจะหยุดหมด

Peer - to - Peer สามารถใช้งานทรัพยากรซึ่งเชื่อมอยู่กับเครื่องใด ๆ ในเครือข่าย

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

มีประสิทธิภาพที่ต่ำกว่าแบบ Server - based มาก เครื่องทุกเครื่องต้องมีหน่วยความจำและประสิทธิภาพสูงกว่าเครื่อง ในแบบ Server - based เปรียบเทียบการเชื่อมต่อแบบ Server - based เทียบกับ Peer - to Peer
ส่วนประกอบพื้นฐานของระบบ LAN

Network Operating System (NOS)

ระบบปฏิบัติการเครือข่าย (Network Operating System) มีหน้าที่ในการควบคุมการทำงานของเครือข่าย เช่นเดียวกับการที่ระบบปฏิบัติการ (Operating System) ควบคุมการทำงานของเครื่องคอมพิวเตอร์นั่นเอง ซึ่งในเครือข่ายแบบ Peer - to - Pear เช่น Windows for Workggroups จะมีระบบปฏิบัติการเครือข่ายอยู่ในเครื่องทุกเครื่องของเครือข่าย ในขณะที่ในเครือข่ายแบบ Serverbased เช่น netware หรือ Window NT นั้น ระบบปฏิบัติการเครือข่ายจะอยู่ที่เครื่อง Server ในขณะที่ workstation จะใช้ซอร์ฟแวร์ขนาดเล็กอีกตัวในการติดต่อรับ - ส่งข้อมูลกับ Server


เครื่องบริการและสถานีงาน (Server and Workstation)

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

แผงวงจรเชื่อมต่อเครือข่าย (Netwoirk Interface Card - NIC)

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

ระบบการเดินสาย (Cabling System)
ระบบการเดินสายจะเป็นสื่อที่เชื่อมคอมพิวเตอร์ที่อยู่ในเครือข่ายเข้าด้วยกัน ซึ่งอาจจะประกอบด้วยสายต่าง ๆ คือ UTP/STP , Coaxial , Fiber Optic หรือแม้แต่การเชื่อมกันแบบไร้สาย เช่น Infared หรือสัญญาณวิทยุก็ได้

ทรัพยากรและอุปกรณ์ที่ใช้งานร่วมกัน (Shared Resources and Peripherals)
จะรวมถึงอุปกรณ์หน่วยความจำถาวร เช่น อาร์ดดิสก์ หรือเทปที่ต่ออยู่กับเครื่องเซิร์ฟเวอร์ตลอดจนเครื่องพิมพ์หรืออุปกรณ์อื่น ๆ ซึ่งผู้ใช้ในเครือข่ายที่ได้รับอนุญาตสามารถใช้งานได้


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


โครงสร้างแบบดาว (Star Topology)
เป็นโครงสร้างที่เชื่อมต่อคอมพิวเตอร์แต่ละตัวเข้ากับคอมพิวเตอร์ศูนย์กลาง การรับส่งข้อมูลทั้งหมดจะต้องผ่านคอมพิวเตอร์ศูนย์กลางเสมอ มีข้อดีคือการเชื่อมต่อคอมพิวเตอร์เครื่องใหม่สามารถทำได้ง่ายและไม่กระทบกระเทือนกับเครื่องอื่นในระบบเลย แต่ข้อเสียคือมีค่าใช้จ่ายเกี่ยวกับสายสูงและถ้าคอมพิวเตอร์ศูนย์กลางเสียระบบเครือข่ายจะหยุดชะงักทั้งหมดทันที

โครงสร้างแบบบัส (Bus Topology)
เป็นโครงสร้างที่เชื่อมคอมพิวเตอร์แต่ละตัวด้วยสายเคเบิลที่ใช้ร่วมกัน ซึ่งสายเคเบิลหรือบัสนี้เปรียบเสมือนกันถนนที่ข้อมูลจะส่งผ่านไปมาระหว่างแต่ละเครื่องได้ตลอดเวลา โดยไม่ต้องผ่านไปที่ศูนย์กลางก่อน โครงสร้างแบบนี้มีข้อดีที่ใช้สายน้อย และถ้ามีเครื่องเสียก็ไม่มีผลอะไรต่อระบบโดยรวม ส่วนข้อเสียก็คือตรวจหาจุดที่เป็นปัญหาได้ยาก


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

วิธีควบคุมการเข้าใช้งานสื่อกลาง (Media Access Control (MAC) Methed)
วิธีในการควบคุบการเข้าใช้งานสื่อกลาง (Media Access Control Methed) จะเป็นข้อตกลงที่ใช้ในการรับส่งข้อมูลผ่านสื่อกลาง (ในที่นี้ก็คือสายเคเบิลของเครือข่ายแบบ LAN) ซึ่งทุกโหนดในเครือข่ายจะต้องใช้มาตรฐานเดียวกัน การทำงานจะเกิดอยู่ในส่วนของแผงวงจรเชื่อมต่อเครือข่าย (NIC) และทำงานอยู่ครึ่งท่อนล่างของ Data link Layer คือส่วน MAC Layer

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

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


Token Passing
ป็นวิธีการที่ใช้หลักการของ ซึ่งเป็นกลุ่มของบิตที่วิ่งวนไปตามโหนดต่าง ๆ รอบเครือจ่าย แต่ละโหนดจะตอยตรวจสอบรับข่าวสารที่ส่งมาถึงตนจากใน และในกรณีที่ต้องการส่งข้อมูลก็จะตรวจสอบว่า ว่างอยู่หรือไม่ หากว่างอยู่ก็จะทำการใส่ข้อมูลพร้อมระบุปลายทางเข้าไปใน นั้น และปล่อยให้ วิ่งวนต่อไปในเครือข่าย วิธีในการเข้าใช้สื่อชนิดนี้จะพบมากในโรงสร้างแบบบัส (Token Bus) และแบบวงแหวน (Token ring)

มาตรฐานระบบเครือข่ายแบบ LAN ชนิดต่าง ๆ

โดยปกติแล้ว ในการออกแบบการเชื่อมต่อระบบ Lan จะต้องคำนึงถึงลักษณะโครงสร้าง (Topology) สื่อกลาง (Media) และวิธีในการเข้าใช้สื่อกลาง (Media Access Methed) ซึ่งจะมีความเหมาะสมในการนำมาประกอบกันเพื่อใช้งานแตกต่างกันไป อย่างไรก็ดี เพื่อให้การเชื่อมต่อระบบ มีมาตรฐานและสามารถใช้งานได้อย่างกว้างขวาง ทำให้มีองค์กรกำหนดมาตรฐานได้กำหนดมาตรฐานของระบบเครือข่ายแบบต่าง ๆ ออกมา ซึ่งมาตรฐานที่ได้รับการยอมรับและมีการใช้งานอย่างกว้างขวางคือ

IEEE 802.3 และ Ethernet
ระบบเครือข่าย Ethernet ถูกพัฒนาขึ้นโดยบริษัทซีรอกซ์ในปลายทศวรรษ 1970 และในปี 1980 บริษัท Digital Equipment , Intel และ Xeror ได้ร่วมกันออกระบบ Ethernet I ซึ่งใช้งานกับสาย และต่อมาในปี ก็ได้ทำการพัฒนาเป็น Ethernet II ซึ่งเป็นระบบเครือข่ายที่ถูกใช้งานมากที่สุดแบบหนึ่ง จากนั้นองค์กรมาตรฐาน จึงได้ออกข้อกำหนดมาตรฐาน IEEE 802.3 โดยใช้ Ethernet II เป็นรากฐาน โดยมีจุดแตกต่างจาก เล็กน้อย แต่หลักการใหญ่ ๆ จะคล้ายคลึงกัน คือ ใช้ Access Method และ CSMA/CD และใช้ Topology แบบ Bus หรือ Star (Ethernet II จะเป็น Bus เท่านั้น)

นอกจากมาตรฐาน IEEE 802.3 ยังได้ร่างมาตรฐานการใช้สื่อในระดับกายภาพ (Physical) แบบต่าง ๆ ทำให้สามารถใช้สายเคเบิลในระดับการยภาพแบบได้หลายแบบ โดยไม่ต้องเปลี่ยสในส่วยของ Data link ขึ้นไป เช่น 10Base5 , 10BaseT โดย "10" หมายถึงความเร็ว 10 Mbps ส่วน "Baseband" หมายถึง ("Borad" คือ Boardband) และในส่วนสุดท้ายนั้น ในช่วงแรก "5" หมายวถึงระยะไกลสุดที่สามารถเชื่อมต่อมีหน่วยเป็นเมตรคูณร้อย ในที่นี้คือ 500 เมตร แต่ต่อมาได้มีการใช้ความหมายของส่วสนนี้เพิ่มเติมเป็นชนิดของสาย เช่น "T" หมายถึง ใช้สาย Twisted Pair และ "F" หมายถึง Fiber

ในปัจจบัน ยังมีมาตรฐาน IEEE 802.3 ซึ่งได้ขยายครอบคลุมความเร็วระดับ 100 Mbps ด้วย นั่นคือ มาตรฐาน Fast Ethernet โดยจะประกอบด้วย 100BaseTX ซึ่งเป็นสาย UTP Category 5 เชื่อมต่อได้ไกล 100 เมตรต่อเซกเมนต์ และ 100BaseFX ซึ่งใช้สาย เชื่อมต่อได้ไกลถึง 412 เมตรต่อเซกเมนต์ นอกจากนี้ ทาง IEEE ยังกำลังพิจารณาร่างมาตรฐาน 802.3z หรือ Gigabit Ethernet โดยการทำการขยายความเร้ซในการเชื่อต่อขึ้นไปถึง 1000 Mbps (1 Gigabit/seconds)

IEEE 802.4 และ Token Bus
ระบบเครื่อข่ายแบบ Token Bus จะใช้ Access Protocal แบบ Token Passing และ Topology ทางกายภาพเป็นแบบ Bus แต่จะมีการใช้โทโปโลยีทางตรรกเป็นแบบ Ring เพื่อให้แต่ละโหนดรู้จัดตำแหน่งของตนเองและโหนดข้างเคียง จึงทำการผ่าน Token ได้อย่างถูกต้อง

IEEE 802.5 และ Token Ring
ระบบเครือข่ายแบบ Token Ring ได้รับการพัฒนาโดย IBM จะใช้ Access Method แบบ Token Passing และTopology แบบ Ring สามารถใช้ได้กับกับสาย STP,UTP,Coaxial และ Fiber Optic มาตรฐานความเร็วจะมี 2 แบบ คือ 4 Mbps และ 16 Mbps



FDDI (Fiber Distributed Data Interface)
เป็นมาตรฐานเครือข่ายความเร็วสูงที่พัฒนาขึ้นโดย ANSI (American Nation Stadards Instiute) ทำงานที่ความเร็ว 100 Mbps ใช้สายเคเบิลแบบ Fiber Optic ใช้ Access Method แบบ Token-passing และใช้ Topology แบบ วงแหวนคู่ (Dual Ring) ซึ่งช่วยทำให้ทนทานต่อข้อบกพร่อง (fault tolerance) ของระบบเครือข่ายได้ดีขึ้น โดยอาจใช้ Ring หนึ่งเป็น Backup หรืออาจใช้ 2 Ring ในการรับส่งข้อมูลก็ได้

โปรโตคอลของระบบเครือข่าย (Network Protocal)

โปรโตคอลของระบบเครือข่าย (Network Protocal) หรือที่นิยมเรียกกันว่า โปรโตคอลสแตก (Protocal stack) ก็คือชุดชองกฎหรือข้อตกลงในการแลกเปลี่ยนข้อมูลผ่านเครือข่ายคอมพิวเตอร์เพื่อให้แต่ละสถานีในเครือข่ายสามารถรับส่งข้อมูลระหว่ากันได้อย่างถูกต้อง โดยโปรโตคอลของระบบเครือข่ายส่วนมากจะทำงานอยู่ในระดับ และ ใน และทำหน้าที่ในการประสานงานระหว่าแผงวงจรเชื่อมต่อเครือข่าย (NIC) กับ ระบบปฏิบัติการเครือข่าย (NOS)

ระบบเครือข่ายที่ใช้กันอยู่ในปัจจุบัน จะมีโปรโตคอลสแตกที่ได้รับความนิยมใช้งานกันอยู่หลายโปรโตคอล ซึ่งแต่ละโปรโตคอลก็จะใช้จัดการในงานของเครือข่ายคล้าย ๆ กัน และในกรณีที่ระบบเครือข่ายเชื่อมอยู่กับคอมพิวเตอร์หลายแบบ จะสามารถใช้งานหลาย ๆ โปรโตคอลแสตก พร้อมกันผ่านเครือข่ายได้ เช่น ใช้ IPX/SPX สำหรับ Network และใช้ TCP/IP ในการติดต่อกับ UNIX ผ่าน LAN แบบ Ethernet พร้อม ๆ กัน เป็นต้น

ตัวอย่างของโปรโตคอลแสตกที่มีใช้งานอยู่ในปัจจุบัน คือ

NetBIOS และ NetBUIE
โปรโตคอล NetBIOS (Network Basic INput/Output System) พัมนาร่วมกันโดย IBM และ Microsoft มีการใช้งานอยู่ในเครือข่าย หลาย ๆ ชนิด อย่างไรก็ดี NetBIOS เป็นโปรโตคอลที่ทำงานอยู่ในระดับ Session Layer เท่านั้น จึงไม่ได้เป็นโปรโตคอลสำหรับเครือข่ายโดยสมบูรณ์ จึงได้พัฒนาโปรโตคอล NetBUIE (Network Extended User Interface) ซึ่งเป็นส่วนขยายเพิ่มเติมของ NetBIOS ที่ทำงานอยู่ใน Network Layer และ Transport Layer จะพบการใช้งานได้ใน Windows for Workgroups และ Windows NT

IPX/SPX
เป็นโปรโตคอลของบริษัท Novell ซึ่งพัฒนาขึ้นมาใช้กับ Netware มีพื้นฐานมาจากโปรโตคอล XNS (Xerox Network Services) ของบริษัท Xerox โปรโตคอล IPX (Internerworl Packet Exchange) จะเป็นโปรโตคอลที่ทำงานอยู่ใน Network Layer ใช้จัดการการแลกเปลี่ยน packet ภายใน Network ทั้งในส่วนของการหาปลายทางและการจัดส่ง packet ส่วน SPX (Sequenced Packet Exchange) จะเป็นโปรโตคอลที่ทำงานอยู่ใน Transport Layer โดยมีหน้าที่ในการจัดการให้ข้อมูลส่งไปถึงจุดหมายได้อย่างแน่นอน




TCP/IP
เป็นโปรโตคอลที่ได้รับการพัฒนามาจากทุนวิจัยของ U.S. Department of Defense's Advanced Research Project Agency (DARPA) ได้รับการใช้งานกันมากใน Internet และระบบ UNIX แบบต่าง ๆ ทำให้อาจกล่าวได้ว่าเป็นโปรโตคอลที่ได้รับความนิยมสูงสุดในขณะนี้ โดยมีการใช้งานมากทั้งใน LAN และ WAN โปรโตคอล TCP/IP จะเป็นชุดของโปรโตคอลซึ่งรับหน้าที่ในส่วนต่าง ๆ กัน และมีการแบ่งเป็น 2 ระดับ (layer) คือ

IP Layer เป็นโปรโตคอลที่อยู่ในระดับต่ำกว่า TCP อาจเทียบได้กับ Network Layer ใน OSI Referance MOdel ตัวอย่างโปรโตคอลที่อยู่ในระดับนี้คือ IP(Internet Protocal) , ARP (Address Resolution Protocal) , RIP (Roution Information Protocal) เป็นต้น

TCP Layer เป็นโปรโตคอลที่อยู่ในระดับสูงกว่า IP เทียบได้กับ Transport Layer ของ OSI Referance MOdel ตัวอย่างโปรโตคอลใน Layer นี้ TCP (Transport Control Protocal) , UDP (User Datagram Protocal) เช่น เป็นต้น