Phukraduang

Phukraduang

วันพฤหัสบดีที่ 24 มกราคม พ.ศ. 2556

การทำงานของอินเตอร์เน็ต


รู้จักกับ TCP/IP

          โปรโตคอล TCP/IP หรือ Transmission Control Protocol/Internet Protocol เป็นระเบียบวิธีการ สื่อสารระหว่างคอมพิวเตอร์ ที่ใช้กันมาแต่เดิมในระบบปฏิบัติการ Unix ซึ่งมีการใช้งานอย่าง กว้างขวางมาก จนถือเป็นมาตรฐานได้ จุดกำเนิดของโปรโตคอล TCP/IP นี้เริ่มขึ้นในราว พ.ศ. 2512 ที่กระทรวงกลาโหมของสหรัฐ เมื่อพบปัญหาในการเชื่อมโยงเครือข่ายคอมพิวเตอร์ในหน่วยงานต่างๆ ของตน ซึ่งจะต้องมีการส่งข้อมูลระหว่างกัน และไปยังหน่วยงานภายนอกอื่นๆ เช่น มหาวิทยาลัย ห้องทดลองต่างๆ (ส่วนใหญ่มีเครื่องที่ใช้ระบบ Unix อยู่เป็นจำนวนมาก) เนื่องจากแต่ละแห่งก็จะมีระบบคอมพิวเตอร์ของตนเองที่แตกต่างกันไป การต่อเชื่อมกันก็เป็นไปในลักษณะต่างคนต่างทำไม เหมือนกัน ดังนั้นข่าวสารข้อมูลทั้งหลาย จึงถ่ายเทไปมาได้อย่างยากลำบากมาก กระทรวงกลาโหมสหรัฐได้ จัดตั้งหน่วยงาน Advanced Research Projects Agencies (ARPA) ขึ้นมา เพื่อหาทางแก้ไขปัญหาที่เกิดขึ้นนี้ ผลลัพธ์ที่หน่วยงาน ARPA ได้จัดทำขึ้นคือ การกำหนดมาตรฐานในการสื่อสารข้อมูลและได้จัดตั้งเครือข่าย ARPANET ขึ้นโดยใช้โปรโตคอล TCP/IP ต่อมาก็กลายมาเป็นมาตรฐานจริงจัง ในราวปี พ.ศ. 2525 ความสัมพันธ์ระหว่าง TCP/IP กับระบบปฏิบัติการ Unix เกิดขึ้น เนื่องจากมหาวิทยาลัยแคลิฟอร์เนีย ที่เบอร์คเลย ์ ได้พัฒนาระบบปฏิบัติการ Unix ซึ่งมีการผนวกเข้ากับโปรโตคอล TCP/IP สำหรับใช้ในการสื่อสารระหว่างระบบออกมา และเผยแพร่ต่อไปยังหน่วยงานต่างๆ ทำให้การสื่อสารกันของเครื่องที่ใช้ระบบปฏิบัติการ Unix มักจะต้อง ใช้โปรโตคอล TCP/IP เสมอ และมีบทบาทเป็นสิ่งที่คู่กันต่อมาถึงปัจจุบัน

          ในปัจจุบันนี้ ไม่ว่าคอมพิวเตอร์ส่วนบุคคลของผู้ใช้จะเป็นแบบใดก็ตาม เช่น พีซีหรือแมคอินทอช ก็สามารถใช้งานโปรโตคอล TCP/IP เพื่อต่อเชื่อมเข้าส ู่อินเตอร์เน็ตได้ วิธีการก็คือเพียงแต่ติดตั้งใช้งานซอฟต์แวร์โปรโตคอล TCP/IP เท่านั้น ส่วนวิธีการและโปรแกรมที่ติดตั้ง จะแตกต่างกันขึ้นกับระบบที่ใช้ ซึ่งจะกล่าวต่อไป หมายเลข IP (IP Address) การสื่อสารกันในระบบเครือข่าย อินเตอร์เน็ตที่มีโปรโตคอล TCP/IP เป็นมาตรฐานนี้ เครื่องอมพิวเตอร์ทุกเครื่องที่เชื่อมต่ออยู่ จะต้องมีหมายเลขประจำตัวเอาไว้อ้างอิงให้เครื่องคอมพิวเตอร์อื่นๆ ได้ทราบเหมือนกับคนทุกคนต้องมีชื่อให้คนอื่นเรียก หมายเลขอ้างอิงดังกล่าวเราเรียกว่า IP Address หรือหมายเลข IP หรือบางทีก็เรียกว่า "แอดเดรส IP" (IP ในที่นี้ก็คือ Internet Protocol ตัวเดียวกับใน TCP/IP นั่นเอง) ซึ่งถูกจัดเป็นตัวเลขชุดหนึ่งขนาด 32 บิต ใน 1 ชุดนี้จะมีตัวเลขถูกแบ่งออกเป็น 4 ส่วน ส่วนละ 8 บิตเท่าๆ กัน เวลาเขียนก็แปลงให้เป็นเลขฐานสิบ ก่อนเพื่อความง่ายแล้วเขียนโดยคั่นแต่ละส่วนด้วยจุด ดังนั้นในตัวเลขแต่ละส่วนนี้จึงมีค่าได้ตั้งแต่ 0 จนถึง 28 -1 = 255 เท่านั้น เช่น 192.10.1.101 เป็นต้น ตัวเลข IP Address ชุดนี้จะเป็นสิ่งที่สำคัญคล้ายเบอร์โทรศัพท์ที่เรามีใช้อยู่และไม่ซ้ำกัน เพราะสามารถกำหนดเป็นตัวเลขได้รวมทั้งสิ้นกว่า 4 พันล้านเลขหมาย แต่การกำหนดให้คอมพิวเตอร์มีเลขหมาย IP Address นี้ไม่ได้เริ่มต้นจากหมายเลข 1 และนับขึ้นไปเรื่อยๆ หากแต่จะมีการจัด แบ่งออกเป็น 2 ส่วน คือ


ส่วนแรกเป็นหมายเลขของเครือข่าย (Network Number)

         ส่วนที่สองเรียกว่าหมายเลขของคอมพิวเตอร์ที่อยู่ในเครือข่ายนั้น (Host Number) เพราะในเครือข่ายใดๆ อาจจะมีเครื่องคอมพิวเตอร์เชื่อมต่ออยู่ได้มากมาย ในเครือข่ายที่อยู่คนละระบบอาจมี
หมายเลข Host ซ้ำกันก็ได้ แต่เมื่อรวมกับหมายเลข Network แล้ว จะได้เป็น IP Address ที่ไม่ซ้ำกันเลย

         ในการจัดตั้งหรือกำหนดหมายเลข IP Address นี้ก็มีวิธีการกำหนดที่ชัดเจน และมีกฎเกณฑ์ที่รัดกุม ผู้ใช้ที่อยากจัดตั้งโฮสต์คอมพิวเตอร์ เพื่อเชื่อมต่อเข้าอินเตอร์เน็ต และให้บริการต่างๆ สามารถขอหมายเลข IP Address ได้ที่หน่วยงาน Internet Network Information Center (InterNIC) ขององค์กร Network Solution Incorporated (NSI) ที่รัฐเวอร์จิเนีย สหรัฐอเมริกา แต่ถ้าผู้ใช้สมัครเข้าเป็นสมาชิกขอ ใช้บริการอินเตอร์เน็ตจากบริษัทผู้ให้บริการ (Internet Service Provider) เรียกย่อๆ ว่าหน่วยงาน ISPรายใดก็แล้วแต่ ก็ไม่ต้องติดต่อขอ IP Address เนื่องจากหน่วยงาน ISP เหล่านั้นจะกำหนดหมายเลข IP ให้ใช้ หรือส่งค่า IP ชั่วคราวให้ใช้งาน ทั้งนี้ขึ้นอยู่กับแบบการขอใช้บริการที่จะกล่าวต่อไป

         โครงสร้างของแอดเดรสที่ใช้ใน classต่างๆของเครือข่าย ซึ่งทั้งหมด ยาว 32 บิต IP Address นี้มีการจัดแบ่งออกเป็นทั้งหมด 5 ระดับ (Class) แต่ที่ใช้งานในทั่วไปจะมีเพียง 3 ระดับคือ Class A, Class B, Class C ซึ่งก็แบ่งตามขนาดความใหญ่ ของเครือข่ายนั่นเอง ถ้าเครือข่ายใดมีจำนวนเครื่องคอมพิวเตอร เชื่อมต่ออยู่มาก ก็จะมีหมายเลขอยู่ใน Class A ถ้ามีจำนวนเครื่องต่ออยู่ลดหลั่นกันลงมาก็จะอยู่ใน Class B และ Class C ตามลำดับ หมายเลข IP ของ Class A มีตัวแรกเป็น 0 และหมายเลขของเครือข่าย (Network Number) ขนาด 7 บิต และ มีหมายเลขของเครื่องคอมพิวเตอร์ (Host Number) ขนาด 24 บิต ทำให้ในหนึ่งเครือข่ายของ Class A สามารถมีคอมพิวเตอร ์เชื่อมต่ออยู่ในเครือข่ายได้ถึง 224= 16 ล้านเครื่อง เหมาะสำหรับองค์กร หรือบริษัทยักษ์ใหญ่ แต่ใน Class A นี้ จะมีหมายเลข เครือข่ายได้ 128 ตัวเท่านั้นทั่วโลก ซึ่งหมายความว่าจะมีเครือข่ายยักษ์ใหญ่แบบนี้ได้เพียง 128 เครือข่ายเท่านั้น สำหรับ Class B จะมีหมายเลขเครือข่ายแบบ 14 บิต และหมายเลขเครื่องคอมพิวเตอร์แบบ 16 บิต (ส่วนอีก 2 บิตที่เหลือบังคับว่าต้องขึ้นต้นด้วย 102) ดังนั้นจึงสามารถมีจำนวนเครือข่ายที่อยู่ใน Class B ได้มากกว่า Class A คือมีได้ถึง 214 = กว่า 16,000 เครือข่าย และก็สามารถมีเครื่องคอมพิวเตอร์เชื่อมต่อกันในเครือข่าย Class B แต่ละเครือข่ายได้ถึง 216 หรือมากกว่า 65,000 เครื่อง สุดท้ายคือ Class C ซึ่งมีหมายเลขเครื่องคอมพิวเตอร์แบบ 8 บิตและมีหมายเลขเครือข่ายแบบ 21 บิต ส่วนสามบิตแรกบังคับว่าต้องเป็น 1102 ดังนั้นใน แต่ละเครือข่าย Class C จะมีจำนวนเครื่องต่อเชื่อมได้เพียงไม่เกิน 254 เครื่องในแต่ละเครือข่าย (28 = 256 แต่หมายเลข 0 และ 255 จะไม่ถูกใช้งาน จึงเหลือเพียง 254) ดังนั้นวิธีการสังเกตได้ง่ายๆ ว่าเราเชื่อมต่ออยู่ที่เครือข่าย Class ใดก็สามารถดูได้จาก IP Address ในส่วนหน้า (ส่วน Network Address) โดย

        Class A จะมี Network address ตั้งแต่ 0 ถึง 127 (บิตแรกเป็น 0 เสมอ)
        Class B จะมี Network address ตั้งแต่ 128 ถึง 191 (เพราะขึ้นต้นด้วย 102 เท่านั้น)
        Class C จะมี Network address ตั้งแต่ 192 ถึง 223 (เพราะขึ้นต้นด้วย 1102 เท่านั้น)

        เช่น ถ้าเครื่องคอมพิวเตอร์ในอินเตอร์เน็ตมีหมายเลข IP ดังนี้ 181.11.82.22 ตัวเลข 181.11 แสดงว่าเป็นเครือข่ายใน Class B ซึ่งหมายเลขเครือข่ายเต็มๆ จะใช้ 2 ส่วนแรกคือ 181.11 และมีหมายเลขคอมพิวเตอร์คือ 82.22 หรือถ้ามี IP Address เป็น 192.131.10.101 ทำให้ทราบว่าเครื่องคอมพิวเตอร์นั้นเชื่อมต่ออยู่ใน Class C มีหมายเลขเครือข่ายคือ 3 ส่วนแรก ได้แก่ 192.131.10 และหมายเลขประจำ เครื่องคือ 101 เป็นต้น


Domain Name System (DNS)
        
         เราทราบแล้วว่าการติดต่อกันในอินเตอร์เน็ตซึ่งใช้โปรโตคอล TCP/IP คุยกัน โดยจะต้องมีหมายเลข IP ในการอ้างอิงเสมอ แต่หมายเลข IP นี้ถึงแม้จะจัดแบ่งเป็นส่วนๆ แล้วก็ยังมีอุปสรรคในการที่ต้องจดจำ ถ้าเครื่องที่อยู่ในเครือข่ายมีจำนวนมากขึ้น การจดจำหมายเลข IP ดูจะเป็นเรื่องยาก และอาจสับสนจำผิดได้ แนวทางแก้ปัญหาคือการตั้งชื่อหรือตัวอักษรขึ้นมาแทนที่หมายเลข IP น่าจะสะดวกในการจดจำมากกว่า เช่น หมายเลข IP คือ 203.78.105.4 แทนที่ด้วยชื่อ thaigoodview.com ผู้ใช้บริการสามารถ จดจำชื่อ thaigoodview.com ได้แม่นยำกว่า นอกจากนี้ในกรณีเครื่องเสีย หรือต้องการเปลี่ยนแปลงเครื่อง คอมพิวเตอร์ที่ให้บริการ จากเครื่องที่มีหมายเลข IP 203.78.105.4 เป็น 203.78.104.9 ผู้ดูแลระบบจะจัดการ แก้ไขฐานข้อมูลให้เครื่องใหม่มีชื่อแทนที่เครื่อง เดิมได้ทันที โดยไม่ต้องโยกย้ายฮาร์ดแวร์แต่อย่างใด ส่วนในมุมมองของผู้ใช้ ก็ไม่ต้องแก้ไขอะไรทั้งสิ้น ยังคงสามารถใช้งานได้เหมือนเดิม

         สำหรับเครือข่ายอินเตอร์เน็ต ได้มีการพัฒนากลไกการแทนที่ชื่อเครื่องคอมพิวเตอร์ที่ให้บริการกับหมายเลข IP หรือ name-to-IP Address ขึ้นมาใช้งานและเรียกกลไกนี้ว่า Domain Name System (DNS) โดยมีการจัดเก็บฐานข้อมูลชื่อและหมายเลข IP เป็นลำดับชั้น (hierachical structure) อยู่ในเครื่องคอมพิวเตอร์ทำหน้าที่พิเศษที่เรียกว่า Domain Name Server หรือ Name Server โครงสร้างของฐานข้อมูล Domain Name นี้ ในระดับบนสุดจะมีความหมายบอกถึง ประเภทขององค์กร หรือชื่อประเทศที่เครือข่ายตั้งอยู่ ชื่อ Domain ในชั้นบนสุดเหล่านี้จะใช้ตัวอักษรเล็กหรือใหญ่ก็ได้ แต่นิยมใช้อักษรตัวเล็ก โดยมีการกำหนดมาจากหน่วยงานที่เรียกว่า InterNIC (Internet Network Information Center) จากระดับบนสุดก็จะมีระดับล่างๆ ลงมาซึ่งใช้แทนความหมายต่างๆ แล้วแต่ผู้จัดตั้งจะ กำหนดขึ้น เช่น ตั้งตามชื่อคณะ หรือภาควิชาในมหาวิทยาลัย ตั้งตามชื่อฝ่ายหรือแผนกในบริษัท เป็นต้น แต่ละระดับจะถูกแบ่งคั่นด้วยเครื่องหมายจุดเสมอ การดูระดับจากบนลงล่างให้ดูจากด้านขวามาซ้าย เช่นชื่อ Domain คือ support.skynet.com จะได้ว่า com จะเป็นชื่อ Domain ในระดับบนสุด ถัดจากจุดตั้งต้น หรือรากของโครงสร้าง (root) ระดับที่สองคือชื่อ skynet และระดับล่างสุดคือ support หมายความว่า ชื่อ Domain นี้ แทนที่หน่วยงาน support ของบริษัทชื่อ skynet และเป็นบริษัทเอกชน ดังแสดงโครงสร้างลำดับชั้นของ Domian Name ที่ชื่อ Support.skynet.com

          ในการกำหนดหรือตั้งชื่อแทนหมายเลข IP นี้จะต้องลงทะเบียนและขอใช้ที่หน่วยงาน InterNIC เสียก่อน ถ้าได้รับอนุญาตและลงทะเบียนเรียบร้อยแล้ว จะมีการจัดเก็บเพิ่มฐานข้อมูล name-to-IP address เพื่อให้ผู้ใช้บริการอินเตอร์เน็ตสามารถ อ้างอิงเข้ามาใช้บริการได้ เหมือนกับการขอจดทะเบียนตั้งชื่อบริษัท ที่ต้องมีผู้รับผิดชอบในการเก็บข้อมูลเป็นนายทะเบียนและคอยตรวจ ดูว่าชื่อนั้นจะซ้ำกับคนอื่นหรือไม่ ถ้าไม่มีปัญหาก็อนุญาตให้ใช้ได้ ชื่อ Domain Name นี้จะมีความยาวทั้งหมดไม่เกิน 255 ตัวอักษร แต่ไม่มีข้อจำกัดในเรื่องระดับชั้น ดังนั้นในชื่อหนึ่งๆ อาจมีหลายระดับได้ตามต้องการ และข้อสังเกตที่สำคัญก็คือชื่อ และจุดเหล่านี้ไม่เกี่ยวกับจุดใน ตัวเลขที่เป็น IP Address แต่อย่างใด ขบวนการหรือกลไกในการแปลงชื่อ Domain กลับเป็นหมายเลข IP หรือ Name Mapping นี้อยู่ที่การ จัดการฐานข้อมูล Domain Name แบบกระจาย โดยจะเริ่มจากเมื่อมีโปรแกรมอ้างถึงชื่อโดเมนบนเครื่องหนึ่ง ก็จะมีการสอบถามไปที่ฐานข้อมูล ในเครื่องที่ทำหน้าที่เป็น Name Server (ซึ่งอาจเป็นเครื่องเดียวกันนั้นเองหรือคนละเครื่องก็ได้ และอาจมี Name Server ได้หลายเครื่องด้วย ขึ้นกับว่าจะตั้งไว้ให้รู้จัก Name Server เครื่องใดบ้าง) เครื่องที่เป็น Name Server ก็จะเรียกดูในฐานข้อมูลและถ้าพบชื่อที่ต้องการก็จะจัดการแปลงชื่อ Domain เป็นหมายเลข IP ที่ถูกต้องให้ ระบบ Name Server นี้จะมีติดตั้งกระจายไปในหลายเครื่องบนระบบเครือข่ายอินเตอร์เน็ต เนื่องจากอย่างน้อยหน่วยงาน ISP หนึ่งๆ ก็จะต้องจัดตั้งระบบดังกล่าวขึ้นมา เพื่อคอยดูแลจัดการฐานข้อมูล Domain Name ของเครือข่ายตนเอง ดังนั้นถ้า Name Server เครื่องหนึ่งไม่มีข้อมูลหรือไม่รู้จัก Domain Name ที่ถูกถามมาก็อาจจะไปขอข้อมูลจาก Name Server เครื่องอื่นๆ ที่ตนรู้จักจนกว่าจะพบ หรือจนกว่าจะทั่วแล้วไม่ปรากฏว่ามีเครื่องไหนรู้จักเลย กรณีนี้ก็จะตอบไปว่าไม่รู้จัก (หรือถ้ามี Name Server บางเครื่องที่รู้จักชื่อนั้นแต่ขณะนั้น เกิดขัดข้องอยู่ก็จะได้คำตอบว่าไม่มีเครื่องใดรู้จักเช่นกัน)


การกำหนดชื่อผู้ใช้และชื่อ Domain
        
          ความสามารถของ Domain Name System ที่ทำหน้าที่แปลงระบบชื่อให้เป็นหมายเลข IP นี้ ได้ถูกนำมาใช้กว้างขวางมากขึ้น โดยรวมไปถึงการกำหนดชื่อผู้ใช้ในระบบได้อีกด้วย กฎเกณฑ์ในการกำหนดก็ไม่ยุ่งยาก โดยชื่อผู้ใช้จะมีรูปแบบดังนี้ ชื่อ_user @ ชื่อ_subdomain. ชื่อ_Subdomain... [...] . ชื่อ_Domain ชื่อ_user จะเป็นตัวอักษรแทนชื่อเฉพาะใดๆ เช่น ชื่อผู้ใช้คนหนึ่งที่จะรับหรือส่ง E-mail ท้ายชื่อ user นี้จะมีเครื่องหมาย @ ซึ่งอ่านว่า "แอท" หมายถึง "อยู่ที่เครื่อง..." แบ่งคั่นออกจากส่วนที่เหลือ ชื่อ_Subdomain เป็นส่วนย่อยที่จะใช้ขยายให้ทราบถึงกลุ่มต่างๆ ใน domain นั้น เช่น กรณีที่บริษัทมีหลายหน่วยงาน จึงจัดเป็นกลุ่มๆ ตั้งชื่อไว้อยู่ใน subdomain ต่างๆ ซึ่งในที่หนึ่งๆ อาจจะมี subdomain หลายระดับก็ได้ และชื่อ subdomain ตัวสุดท้ายมักเป็นชื่อโฮสต์คอมพิวเตอร์ที่ผู้ใช้รายนั้นใช้อยู่นั่นเอง ชื่อ_Domain ตามปกติชื่อ domain จะอยู่ทางด้านขวาสุดของชื่อ DNS ใช้สำหรับระบุประเภทของกิจกรรมของเครือข่ายนั้นๆ เวลาที่มีการติดต่อกัน เช่น ในการส่ง E-mail ชื่อดังกล่าวนี้ก็จะใช้เป็นตัวอ้างอิงเสมือนชื่อและที่อยู่ของผู้ใช้รายนั้นๆ หรือเรียกว่าเป็น E-mail address นั่นเอง

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็น