พื้นฐานของเนตเวอร์ก

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

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

การใช้งานเนตเวอร์ก

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

ปกติจะทำการจำแนก ระยะห่างของการสื่อสารออกเป็นรูปแบบต่างๆดังต่อไปนี้

ตารางแสดงเนตเวอร์กกับระยะห่างต่างๆ
ระยะทางระหว่างโปรเซสเซอร์ โปรเซสเซอร์อยู่ที่ ตัวอย่างเช่น
0.1 เมตร วงจรภายในบอร์ด Data flow machine
1 เมตร ภายในระบบ Multiprocessor
10 เมตร ภายในห้อง
100 เมตร ในอาคาร Local area network
1 กิโลเมตร ในสถาบันการศึกษา
10 กิโลเมตร ในเมือง Wide area network
100 กิโลเมตร ในประเทศ Long Haul Network
1000 กิโลเมตร ในทวีป การต่อระหว่าง long haul
10,000 กิโลเมตร ในดาวเคราะห์ Internet

โครงสร้างของเครือข่าย

ภายในเนตเวอร์กจะมี เครื่องคอมพิวเตอร์ประเภทต่างๆ ที่ทำหน้าที่ตามคำสั่งของผู้ใช้จะเรียกว่า Host (end system) ซึ่งระบบแรกๆจะถูกเชื่อมผ่าน subnet แต่ในระยะหลังเนื่องจากมีขนาดเครือข่ายกว้างขวางขึ้น รวมทั้งมีความซับซ้อนของการสื่อสารข้อมูลมากขึ้น จะมีระบบสลับข้อมูลเข้ามาช่วยในการสื่อสารข้อมูลระบบสลับข้อมูลนี้จะเรียกว่า IMP (Interface Message processor) บางทีอาจจะเรียกว่า package switching node หรือ intermediate system ก็มี

ปกติรูปแบบการเชื่อมต่อจะเป็นแบบ จุดถึงจุด (point to point) และแบบกระจาย (broadcast channel)

การเชื่อมต่อแบบจุดถึงจุด จะประกอบด้วยสายเคเบิล หรือสายสื่อสารเชื่อมต่อระหว่าง IMP ของแต่ละจุดเข้าด้วยกัน ในกรณีต้องการจะทำการสื่อสารระหว่าง IMP ซึ่งไม่มีสายสื่อสารเชื่อมต่อเข้าด้วยกัน จะต้องทำการส่งผ่าน IMP ตัวอื่นๆที่อยู่ใกล้เคียงแทน เมื่อกลุ่มของข้อมูล (message หรือ packet) ถูกส่งจาก IMP ออกมาแล้ว IMP ตัวกลางจะทำการเก็บแพคเก็ตเอาไว้ รอจนกระทั่งสายที่ใช้ส่งว่างแล้วจึงส่งแพคเก็ตออกไป วิธีแบบนี้จะถูกเรียกว่า store and forward หรือ packet switched

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

สถาปัตยกรรม

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

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

แบบจำลองของ OSI (The OSI Reference model)

เพื่อจะสามารถทำการอธิบาย สถาปัตยกรรมเครือข่ายคอมพิวเตอร์ได้เข้าใจอย่างละเอียด รวมทั้งเพื่อแสดงถึงตัวอย่างการออกแบบเลเยอร์ และรูปแบบของโปรโตคอลจึงได้มีการพัฒนาแบบจำลอง (model) ของเนตเวอร์กขึ้นมา แบบจำลองนี้ได้ถูกพัฒนาโดย International Standard Organization (ISO) และเรียกชื่อแบบจำลองนี้ว่า OSI (Open System Interconnection) ซึ่งจะมีทั้งหมด 7 เลเยอร์ โดยหลักการออกแบบเลเยอร์คือ
  1. เลเยอร์จะถูกกำหนดขึ้นมาเมื่อมีข้อแตกต่างด้านแนวคิด (abstraction)
  2. แต่ละเลเยอร์จะมีการกำหนดการทำงานอย่างละเอียด
  3. ฟังก์ภายในเลเยอร์จะพยายามมุ่งไปสู่ระดับมาตรฐานของโปรโตคอล
  4. ขอบเขตของเลเยอร์จะถูกเลือกและจำกัดให้มีปริมาณการเชื่อมต่อ ระหว่างเลเยอร์ให้น้อยที่สุด
  5. จำนวนของเลเยอร์จะต้องมากพอที่จะทำให้ฟังก์ชั่นที่จำเป็นและแตกต่างกันไม่อยู่ในเลเยอร์เดียวกัน และจำนวนเลเยอร์จะต้องไม่มากจนเกินไป

  1. เลเยอร์ 1 : Physical layer
    เลเยอร์นี้จะเกี่ยวข้องกับการส่งข้อมูลระดับบิต ผ่านช่องสื่อสารข้อมูล โดยการออกแบบจะต้องแน่ใจว่าจะสามารถส่งข้อมูลออกไป และปลายทางจะต้องรับข้อมูลนั้นได้อย่างถูกต้อง โดยส่วนใหญ่จะเป็นข้อกำหนดเกี่ยวกับเรื่องของแรงดันไฟฟ้า ว่าจะต้องใช้แรงดันเท่าไรสำหรับแทนเลข "1" และเท่าใดสำหรับแทนเลข "0" ระยะเวลาในการส่งแต่ละบิตจะต้องห่างกันเท่าใด รวมถึงรูปแบบของคอนเนคเตอร์ วิศวกรไฟฟ้าจะเกี่ยวข้องโดยตรงกับเลเยอร์ในลำดับชั้นนี้

  2. เลเยอร์ 2 : Data link layer
    จุดประสงค์หลักของเลเยอร์นี้คือ จะทำการควบคุมการส่งข้อมูลดิบให้เหมือนกับว่า ไม่มี ข้อผิดพลาดเกิดขึ้น ทำให้เลเยอร์ในลำดับถัดไปไม่ต้องสนใจในเรื่องนี้ วิธีการคือจะต้อง ทำการแตกข้อมูลออกเป็นก้อนๆเรียกว่า เฟรมข้อมูล (data-frame) แล้วทำการส่งออกไปทีละชุด และรอการตอบรับ (acknowledge frame) กลับมา

    ในกรณีที่มีสัญญาณรบกวน ทำให้สัญญาณขาดหายไป จะต้องมีการบอกให้เครื่องต้นทางทำการส่งข้อมูลที่หายไปนั้นกลับมาให้ใหม่ นอกจากนี้จะต้องมีการพักข้อมูลไว้ในบัฟเฟอร์ หากความเร็วในการส่งข้อมูลของทั้งสองฝ่ายไม่เท่ากัน

  3. เลเยอร์ 3 : Network layer
    หน้าที่หลักของเลเยอร์นี้ จะเกี่ยวข้องกับการหาเส้นทาง (route) เพื่อพิจารณาว่าแพคเก็ตจะถูกส่งจากต้นทางไปยังปลายทางได้อย่างไร การกำหนดเส้นทางอาจจะกำหนดตั้งแต่เริ่มต้นติดต่อเลย หรืออาจจะสามารถเปลี่ยนแปลงตลอดเวลา (dynamic) ก็ได้ นอกจากนี้ก็มีเรื่องที่จะต้องพิจารณาหากมีการส่งข้อมูลข้ามเนตเวอร์ก แล้วมีความแตกต่างระหว่างเนตเวอร์ก หรือใช้โปรโตคอลแตกต่างกัน เนตเวอร์กเลเยอร์จะต้องทำการจัดการกับปัญหาเหล่านี้เพื่อให้แต่ละเนตเวอร์กสามารถเชื่อมต่อกันได้ เสมือนเป็นเนตเวอร์กเดียวกัน

  4. เลเยอร์ 4 : Transport layer
    เลเยอร์นี้จะคอยทำการติดต่อกับเลเยอร์ถัดไป (session layer) เพื่อคอยแยกข้อมูล ให้มีขนาดพอเหมาะและส่งต่อให้กับ network layer พร้อมทั้งตรวจสอบว่าข้อมูลได้ถูกส่งไปถึงยังปลายทางได้อย่างเรียบร้อยหรือไม่ โดยเลเยอร์นี้จะต้องจัดการได้อย่างมีประสิทธิภาพเพื่อเป็นการแยกให้ session layer เป็นอิสระจากการเปลี่ยนแปลงทางด้านฮาร์ดแวร์

  5. เลเยอร์ 5 : Session layer
    นอกจากจะทำการส่งข้อมูลแบบเดียวกับ transport layer แล้ว ยังมีการให้บริการอื่นๆเช่น การยอมให้ผู้ใช้งานเข้าไปใช้งานยังเครื่องที่อยู่ห่างไกลออกไป (remote login) หรือทำการถ่ายโอนไฟล์ระหว่างเครื่อง นอกจากนี้ยังทำหน้าที่เกี่ยวกับการซิงโครไนซ์เซชั่น (synchronization) หรือทำให้สองระบบทำงานสัมพันธ์กัน

  6. เลเยอร์ 6 : Presentation layer
    เลเยอร์นี้จะสนใจในเรื่องของรูปแบบของข้อมูล เช่นการเปลี่ยนรหัสข้ามจาก ASCII เป็นรหัส EBCDIC เพื่อทำให้คอมพิวเตอร์ที่มีการแทนรหัสต่างกันสามารถสื่อสารกันได้ นอกจากนี้ก็อาจทำการลดขนาดของข้อมูล (data compression) หรือทำการเข้ารหัสของข้อมูล (data encryption) เพื่อป้องกันการโจรกรรมข้อมูลได้ด้วย

  7. เลเยอร์ 7 : Application layer
    เลเยอร์บนสุดจะเกี่ยวข้องกับ โปรโตคอลมากมาย ซึ่งจะมีการใช้งานที่แตกต่างกันโดยเฉพาะ ตัวอย่างเช่นการควบคุมเทอร์มินอลชนิดต่างๆ รูปแบบการแสดงผลทางจอภาพอาจมีความแตกต่างกัน ก็อาจมีการกำหนดเทอร์มินอลเสมือน เพื่อเป็นตัวกลางในการควบคุมการทำงานของเทอร์มินอลจริงๆ (คล้ายกับ java bytecode ที่เป็นรหัสกลางสำหรับ java compiler จะทำการตีความให้สามารถทำงานที่เครื่องต่างชนิดกันได้)

ตัวอย่างของเนตเวอร์ก เปรียบเทียบกับโมเดลของ OSI

ARPANET : Advanced Research Project Agency Network เกิดจากโครงการวิจัยทางการทหารของ กระทรวงกลาโหมของสหรัฐอเมริกาโดยเริ่มต้นจากมหาวิทยาลัยบางแห่ง และเพิ่มจำนวนขึ้นมากเรื่อยๆ (ปัจจุบันกลายเป็นระบบอินเทอร์เนต)

ARPANET ไม่ได้มีการแบ่งรูปแบบตามแบบของ OSI เนื่องจากมีการใช้งานก่อนกำหนดมาตรฐาน OSI เกือบ 10 ปี โปรโตคอลการสื่อสารระหว่าง IMP จะเป็นการผสมผสานระหว่าง layer 2 และ layer 3 นอกจากนี้ยังมีกระบวนการตรวจสอบความถูกต้องของข้อมูลที่ฝั่งรับของ IMP ด้วย

ARPANET มีโปรโตคอลที่ทำงานคล้ายในแบบจำลองของ OSI ที่ network layer และ transport layer เรียกว่า IP (Internet Protocol) มีลักษณะแบบ connectionless และถูกออกแบบมาให้ต่อกับ LAN และ WAN ที่ต่อกับ ARPA internet

โปรโตคอลของ ARPANET ที่ transport layer ทำงานแบบ connection-oriented เรียกว่า TCP (Transmission Control Protocol) ซึ่งจะคล้ายๆกับ โปรโตคอลของ OSI ที่ transport layer แต่มีความแตกต่างกันในด้านรายละเอียด และ TCP ถูกใช้งานอย่างแพร่หลายมากในระบบปฏิบัติการตระกูล UNIX

ARPANET ในระยะแรกไม่มี session และ application protocol แต่ภายหลังก็มี application protocol ต่างๆ ซึ่งไม่ได้มีโครงสร้างแบบเดียวกับ OSI บริการที่มีเช่น FTP (File Transfer Protocol) หรือการถ่ายโอนไฟล์, SMTP (Simple Mail Transfer Protocol) สำหรับใช้งานจดหมายอิเลคโทรนิคส์ และ TELNET สำหรับการขอใช้งานจากระยะไกล ในระยะหลังๆเมื่อ ARPANET ได้กลายเป็นอินเทอร์เนต แล้ว ได้มีการพัฒนา application protocol ขึ้นมามากมายภายหลัง เช่น HTTP, NNTP เป็นต้น


HTML developed by Kaiwal Development Team (kaiwal@geocities.com)