วันศุกร์ที่ 16 มกราคม พ.ศ. 2558

03. TCP/IP กับเครือข่ายอินเตอร์เน็ต

TCP/IP  กับเครือข่ายอินเตอร์เน็ต 


       เครื่องคอมพิวเตอร์บนเครือข่ายอินเตอร์เน็ต สื่อสารระหว่างกันโดยใช้ Transmission Control Protocol (TCP) และ Internet Protocol (IP) รวมเรียกว่า TCP/IP ข้อมูลที่ส่งจะถูกตัดออกเป็นส่วนๆ เรียก packet แล้วจ่าหน้าไปยังผู้รับด้วยการกำหนด IP Address เช่น สมมติเราส่ง e-mail ไปหาใครสักคน e-mail ของเราจะถูกตัดออกเป็น packet ขนาดเล็กๆ หลายๆ อัน ซึ่งแต่ละอันจะจ่าหน้าถึงผู้รับเดียวกัน packets พวกนี้ก็จะวิ่งไปรวมกับ packets ของคนอื่นๆ ด้วย ทำให้ในสายของข้อมูล packets ของเราอาจจะไม่ได้เรียงติดกัน packets พวกนี้จะวิ่งผ่าน ชุมทาง (gateway) ต่างๆ โดยตัว gateway (อาจเรียก router) จะอ่านที่อยู่ที่จ่าหน้า แล้วจะบอกทิศทางที่ไปของแต่ละ packet ว่าจะวิ่งไปในทิศทางไหน packet ก็จะวิ่งไปตามทิศทางนั้น เมื่อไปถึง gateway ใหม่ก็จะถูกกำหนดเส้นทางให้วิ่งไปยัง gateway ใหม่ที่อยู่ถัดไป จนกว่าจะถึงเครื่องปลายทาง เช่นเราติดต่อกับเครื่องในอเมริกา อาจจะต้องผ่าน gateway ถึง 10 แห่ง เมื่อ packet วิ่งมาถึงปลายทางแล้ว เครื่องปลายทางก็จะเอา packets เหล่านั้นมาเก็บสะสมจนกว่าจะครบ จึงจะต่อกลับคืนให้เป็น e-mail
fig4
  TCP/IP ตัดข้อมูลออกเป็น packet เล็กๆ ส่งไปบนสายส่งข้อมูลที่ไปถึงปลายทางถูกจับมารวมกันอีกครั้งการที่ข้อมูลมีลักษณะเป็น packet ทำให้ในสายสื่อสารสามารถที่จะ ขนส่งข้อมูลโดยไม่ต้องจอง (occupies) สายไว้สายจึงสามารถใช้ร่วมกันกับข้อมูลที่ส่งจากเครื่องอื่นได้ ต่างจากโทรศัพท์ที่ขณะใช้งาน จะไม่มีใครใช้สายได้ ดังตัวอย่างในรูปข้าล่างนี้ เครื่องคอมพิวเตอร์ A และ C สื่อสารกันด้วย packet สีดำ ซึ่งใช้สายร่วมกับเครื่องคอมพิวเตอร์อื่น ๆ ซึ่ง packet ดังกล่าวอาจจะเป็นสัญญาณเสียง (เช่น Internet Phone) ซึ่งเมื่อ packet เดินทางมาถึงก็จะถูกจับมารวมกันให้เป็นเสียงของการพูดคุย ไม่เหมือนโทรศัพท์แบบปรกติ ที่ขณะใช้งานสาย จะไม่สามารถนำไปทำงานอื่น ๆ ได้อีก

IP Address

เครื่องคอมพิวเตอร์ที่ต่ออยู่บนอินเตอร์เน็ตก็เปรียบคล้ายๆ กับเครื่องโทรศัพท์ที่มีเบอร์เฉพาะตัว ซึ่งก็จะมีเพียงเบอร์เดียวในโลก เช่นเครื่อง einstein ซึ่งเป็น Internet Server ของภาควิชาฟิสิกส์ มี IP Address เป็น 202.28.156.98 ตัวเลขที่เป็น IP Address เป็นตัวเลขขนาด 32 บิต แบ่งออกเป็น 4 ชุดๆ ละ 8 บิต ดังนั้นตัวเลข 1 ชุดที่เราเห็นคั่นด้วยจุดนั้น จึงแทนได้ด้วยตัวเลขจาก 0 ถึง 255
ตัวเลข 4 ชุดนี้จะถูกแบ่งออกเป็น 2 ส่วน คือ network number และ ส่วนของ host number โดยขนาดของแต่ละส่วนจะใหญ่หรือเล็กขึ้นอยู่กับว่าเครื่องคอมพิวเตอร์นั้นอยู่ในเน็ตเวอร์ค class ใด ซึ่ง class ของเน็คเวอร์คแบ่งออกเป็น 4 classes ดังนี้
  1. Class A เป็นเน็ตเวอร์คขนาดใหญ่ มี network number ตั้งแต่ 1.0.0.0 ถึง 127.0.0.0 นั่นคือใน class นี้นั้น จะมีส่วนของ host number ถึง 24 บิตซึ่งอนุญาตให้มีจำนวนเครื่องได้ 1.6 ล้านเครื่องใน 1 เน็ตเวอร์ค ซึ่งจะมีเน็ตเวอร์คขนาดใหญ่แบบนี้ได้เพียง 127 เน็ตเวอร์คเท่านั้น
  2. Class B เป็นเน็ตเวอร์คขนาดกลาง มี network number ตั้งแต่ 128.0.0.0 ถึง 191.255.0.0 นั่นคือใน class นี้มีส่วนของ network number 16 บิต และส่วนของ host number ได้ 16 บิต ทำให้มีจำนวนของเน็ตเวอร์คได้ถึง 16320 เน็ตเวอร์ค และ 65024 hosts
  3. Class C เป็นเน็ตเวอร์คขนาดเล็ก มี network number ตั้งแต่ 192.0.0.0 ถึง 223.255.255.0 นั่นคือใน Class นี้มีส่วนของ network number 24 บิต และ ส่วนของ host number 8 บิต ทำให้มีจำนวนของเน็ตเวอร์คได้ถึง 2 ล้านเน็ตเวอร์คและมีจำนวน host ในแต่ละเน็ตเวอร์คเท่ากับ 254 hosts
  4. Class D เป็นส่วนที่เก็บรักษาไว้สำหรับใช้ในอนาคต มี IP Address ตั้งแต่ 224.0.0.0 ถึง 254.0.0.0

Domain Name System (DNS)

เบอร์ IP Address เป็นตัวเลขที่ใช้ไม่ค่อยสะดวกและจำยาก ด้วยเหตุนี้จึงมีการคิดระบบตั้งชื่อแบบที่เป็นตัวอักษร ให้มีความหมายเพื่อการจดจำได้ง่ายกว่ามาก เวลาเราอ้างถึงเครื่องใดบนอินเตอร์เน็ต เราก็จะใช้ชื่อ DNS เช่น http://www.nectec.or.th แต่ในการใช้งานจริงนั้นเครื่องคอมพิวเตอร์ที่เราใช้อยู่ เมื่อรับคำสั่งจากเราแล้ว เค้าจะขอ (request) เครื่องคอมพิวเตอร์ที่ทำหน้าที่บริการบอกเลขหมาย IP Address (ทำหน้าที่คล้ายสมุดโทรศัพท์ Yellow Pages) ซึ่งเรียกกันว่าเป็น DNS Server หรือ Name Server ตัว Name Server เมื่อได้รับ request ก็จะตอบเลขหมาย IP Address กลับมาให้เช่น สำหรับ http://www.nectec.or.th นั้นจะตอบกลับมาเป็น 164.115.115.9 จากนั้นเครื่องคอมพิวเตอร์ของเราจึงจะเริ่มทำการติดต่อ กับคอมพิวเตอร์เป้าหมาย ซึ่งมันก็จะผ่านกระบวนการแบบที่กล่าวไปข้างต้น คือแบ่งข้อมูลออกเป็น packet จ่าหัวด้วย IP จากนั้นส่ง packet ไปซึ่งก็จะวิ่งผ่าน gateway ต่างๆ มากมายไปยังเป้าหมาย
บางทีเราจะพบกรณีที่คอมพิวเตอร์ที่เป็น Name Server นั้นไม่ทำงาน เราจะไม่สามารถติดต่อเครื่องอื่นบนอินเตอร์เน็ตได้อีกต่อไปโดยใช้ชื่อ DNS หากเราทราบ IP Address เราสามารถใช้ IP Address ได้ตรงๆ ทำให้เราไม่จำเป็นต้องพึ่งสมุดโทรศัพท์ของ Name Server ด้วยเหตุนี้เราจึงทำการเก็บชื่อและ IP Address ไว้ในสมุดโทรศัพท์ส่วนตัวประจำเครื่อง เช่นบนระบบยูนิกซ์มีไฟล์ /etc/hosts เอาไว้เก็บชื่อ DNS ที่ใช้บ่อยๆ
ระบบการตั้งชื่อ DNS นั้นคล้ายกับระบบไปรษณีย์ โดยมีประเทศอยู่หลังสุด เช่น .th คือ ประเทศไทย .de คือประเทศเยอรมัน .uk คือ ประเทศสหราชอาณาจักร แต่สำหรับสหรัฐอเมริกานั้นยกเว้น จากนั้นจะแบ่งเครือข่ายออกเป็น
  • .edu หรือ .ac เครือข่ายมหาวิทยาลัย หรือ สถาบันการศึกษา
  • .com หรือ .co เครือข่ายบริษัท ห้างร้าน
  • .mil เครือข่ายทางการทหาร
  • .org หรือ .or เครือข่ายองค์การที่ไม่หวังผลกำไร (พรรคการเมืองไทยก็ใช้ระบบนี้)
  • .gov หรือ .go เครือข่ายหน่วยงานของรัฐบาล
  • .net หรือ .net เครือข่ายของผู้ดูแลเน็ตเวอร์ค หรือ เจ้าของเน็ตเวอร์ค
ต้องการทราบ IP Address ของ Name Server และ สอบถาม IP Address ของเครื่องต่างๆ
ใช้คำสั่ง nslookup เช่น

[noy@einstein ~]$ nslookup    www.nectec.or.th
Server:  mucc.mahidol.ac.th
Address:  202.28.162.1

Non-authoritative answer:
Name:    nucleus.nectec.or.th
Address:  164.115.115.9
Aliases:  www.nectec.or.th

[noy@einstein ~]$

สิ่งที่ต้องทราบในการต่อเครื่องเข้ากับระบบอินเตอร์เน็ต

  1. IP Address ของ เครื่องนั้น ยกเว้นเราใช้ Automatic Setting โดย bootp Server หรือ Server อื่นๆ จะกำหนดให้โดยการร้องขอ ซึ่ง IP Address นั้นอาจไม่เหมือนกันในแต่ละครั้งทีเปิดใช้
  2. IP Address ของ Gateway
  3. IP Address ของ Name Server
  4. Network Address หรือ Subnet Mask เพื่อให้ทราบว่าเน็ตเวอร์คของเรามีความกว้างของเลข IP เท่าใด เพื่อกำหนดการติดต่อว่าจะติดต่อภายในเน็ตเวอร์คเดียวกัน หรือ นอกเน็ตเวอร์ค

SLIP และ PPP

เราคงเคยได้ยินคำ 2 คำนี้มาบ้าง โดยเฉพาะเมื่อต้องการต่ออินเตอร์เน็ตผ่าน MODEM และสายโทรศัพท์ โดยปรกติแล้ว TCP/IP นั้นเปรียบเสมือนรถบรรทุกสินค้าที่ใช้ขนข้อมูลในรูป packet ไปยังที่ต่างๆ ซึ่งรถบรรทุกนั้นสามารถวิ่งบนถนนทั้งแบบลาดยาง แบบคอนกรีต หรือแบบลูกรัง ในสภาวะที่เป็น LAN นั้น TCP/IP วิ่งอยู่บน Frame ที่เป็น Ethernet ซึ่งมารองพื้น เปรียบเสมือนถนนให้รถบรรทุกวิ่ง
บนสายโทรศัพท์ก็เช่นเดียวกัน ต้องมีระบบที่มารองพื้นเพื่อให้ TCP/IP สามารถวิ่งได้ ตัว Protocol ที่ใช้ก็จะมีความแตกต่างจาก Ethernet เพราะคนละ medium กัน ซึ่งก็มีอยู่ 2 แบบ คือ Serial Line Internet Protocol (SLIP) และ Point to Point Protocol (PPP) ตัวโปรโตคอลทั้ง 2 นี่คล้ายกัน เพียงแต่ SLIP เกิดจากการทดลองแล้วพัฒนามาเป็น PPP ซึ่งมีมาตรฐานกว่าการต่อ Windows 95 เข้ากับอินเตอร์เน็ตนี่ สามารถต่อได้ทั้งเข้ากับ LAN โดยใช้ Network Card และต่อแบบ Dial-Up ซึ่ง Windows 95 ก็มี PPP ให้ใช้อยู่แล้ว หรือจะต่อทั้ง 2 อย่างในขณะเดียวกันก็ได้ ซึ่งเครื่องสามารถแยกแยะได้ว่าหากเราใช้ LAN ก็จะให้ packet เดินผ่าน Network Card แต่หากติดต่อข้างนอก ก็จะผ่าน MODEM แทน ซึ่งผมก็ใช้งานแบบนี้อยู่ ค่อนข้างดีไม่มีปัญหา
Credit : www.neay999.wordpress.com

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

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