Wednesday, September 3, 2008

Summarize Sound Lecture Chapter 11

Chapter 11
The Internet

บทที่ 11 จะพูดถึงเรื่องเครือข่าย Internet และ Protocol และมาตรฐานต่าง ๆ ที่เกี่ยวข้องกับเครือข่าย Internet อย่างเช่น IP และ TCP Protocol

Introduction
n ความหมายของคำว่า Internet, คำว่า Internet (ซึ่งเขียนโดยใช้อักษร I ตัวใหญ่) หมายถึง เครือข่ายซึ่งเป็นเครือข่ายเดียว แต่ว่าเป็นเครือข่ายที่เกิดขึ้นจากเครือข่ายย่อย ๆ มาเชื่อมต่อกัน
n เครือข่ายนี้จริง ๆ แล้วเริ่มต้นนั้นเป็นเครือข่ายที่ไม่ใหญ่นัก เป็นเครือข่ายเล็ก ๆ ภายใต้โครงการที่เราเรียกว่า Arpanet ซึ่งเกิดขึ้นในประเทศสหรัฐอเมริกา เครือข่าย internet ในช่วงเริ่มแรกนี้เป็นเครือข่ายที่เอาไว้เชื่อมต่อหน่วยงานต่าง ๆ ทางด้านงานวิจัย ทางด้านการทหาร ส่วนงานวิจัยที่อยู่ในมหาวิทยาลัย และส่วนงานของรัฐบาลสหรัฐอเมริกา
n แต่หลังจากนั้นเมื่อเครือข่ายมีการขยายตัว และมีผู้ใช้เพิ่มมากขึ้น ในที่สุดรัฐบาลสหรัฐอเมริกาก็ได้โอนภาระค่าใช้จ่าย และการดูแลเครือข่ายนี้ให้ไปเป็นหน้าที่ของบริษัทที่เป็นผู้ให้บริการอินเทอร์เน็ต หรือที่เรารู้จักกันว่า ISP ซึ่งย่อมากจาก Internet Service Providers



อันนี้ก็เป็นภาพของการเชื่อมต่อเครือข่าย Internet อย่างคร่าว ๆ Internet จริง ๆ ก็คือประกอบกันขึ้นจากเครือข่ายหลัก หรือที่เราเรียกว่าเครือข่าย backbone ซึ่งเป็นเครือข่ายความเร็วสูงเชื่อมต่อระหว่าจุดสำคัญ ๆ ต่าง ๆ ในเครือข่ายพวกนี้ก็จะเป็นผู้ให้บริการอินเทอร์เน็ตรายใหญ่ ๆ ที่จะเป็นคน support สนับสนุนค่าใช้จ่ายในการเชื่อมต่อ

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

Internet Protocols
n อย่างที่บอกไปแล้วว่าเครือข่าย Internet นี้มันเกิดจากเครือข่ายย่อย ๆ หลาย ๆ เครือข่ายมาเชื่อมต่อเข้าด้วยกัน ปัจจัยที่จะทำให้การรับส่งข้อมูลระหว่างเครือข่ายต่าง ๆ นี้เป็นไปได้ ก็คือเครื่องคอมพิวเตอร์และอุปกรณ์เครือข่ายจะต้องติดต่อกันด้วย Protocol ที่เป็นมาตรฐานชุดหนึ่ง เป็นมาตรฐานเดียวกัน ข้อมูลจากเครื่องหนึ่งถึงสามารถจะส่งผ่านเครือข่ายย่อยหนึ่งผ่านไปสู่อีกเครือข่ายย่อยหนึ่งได้ และผ่านไปสู่เครื่องคอมพิวเตอร์เครื่องที่อยู่ปลายทางได้
n Protocol หลัก ๆ ที่มีใช้อยู่ในเครือข่ายอินเทอร์เน็ต เช่น
 Internet Protocol (IP)
 Transmission Control Protocol (TCP)
 Address Resolution Protocol (ARP)
 Domain Name System (DNS)
 DHCP
 NAT


อันนี้เป็นภาพโครงสร้างของ Protocol ต่าง ๆ ซึ่งถูกพัฒนาขึ้นในเครือข่าย Internet ซึ่ง Protocol เหล่านี้หลาย ๆ Protocol ก็ถูกนำมาใช้ในเครือข่าย LAN ด้วยในปัจจุบัน Protocol ที่อยู่บนอินเทอร์เน็ตนี้จะอยู่ภายใต้ model ของ Internet Model ซึ่งในภาพบนจะเห็น chart ที่เปรียบเทียบระหว่าง OSI Model กับ Internet Model จะเห็นว่าเมื่อเปรียบเทียบกับ OSI Model แล้ว
 ส่วนที่เป็น Physical กับ Data Link นี้อาจจะประมาณคร่าว ๆ ได้ว่าเทียบได้กับส่วนที่เป็น Network Access Layer ของ TCP Model ซึ่ง Network Access Layer บางที่เราก็เรียกว่า Interface Layer
 ในขณะที่ Network Layer ของ OSI จะเทียบได้คร่าว ๆ กับ Internet Layer ของ Internet Model
 Transport Layer ก็เทียบได้คร่าว ๆ กับ Transport Layer ของ Internet Model
 และ Layer ตั้งแต่ที่ 5-7 นี้ จะครอบคลุม Application Layer ภายใต้ Internet Model

ในภาพล่างก็จะเป็นภาพที่แสดงให้เห็นว่า Protocol ต่าง ๆ ที่กล่าวมาข้างต้นนี้ ทำงานอยู่ภายใต้ Layer ใดบ้างของ Internet Model

Internet Protocols (IP Protocol)
n IP Protocol เป็น Protocol ที่ทำงานอยู่ในระดับ Layer ที่เราเรียกว่า Network Layer
n หน้าที่ของ IP Protocol ก็คือจะต้องจัดทำข้อมูล หรือ block ข้อมูลที่เราเรียกว่า packet ขึ้นมาเพื่อให้สามารถจะส่งเข้าไปในเครือข่าย Internet ได้
n ข้อมูลนั้นมาจากไหน? ข้อมูลก็จะมาจาก Layer ที่อยู่เหนือ IP Layer ขึ้นไป อย่างเช่น ในระดับของ Application ก็จะเป็นจุดเริ่มต้นของข้อมูล ข้อมูลจาก Application ก็จะถูกส่งมายัง Transport Layer ซึ่งก็จะใส่ header ของมันเข้าไป จากนั้นข้อมูลจาก Transport Layer ก็จะถูกส่งไปยัง IP Layer ซึ่งจะทำหน้าที่ในการใส่ header ที่อยู่ภายใต้ Protocol เข้าไปในตัวข้อมูล



อันนี้เป็นภาพกระบวนการในการสร้าง packet โดย IP Protocol จะเห็นในภาพว่า ข้อมูลจะเริ่มมาจาก Application เมื่อผ่านไปถึง Transport Layer ก็จะมีการใส่ Transport Header เข้าไปกับตัว data เมื่อถึง Network Layer ก็จะมีการใส่ IP Header เข้าไป ข้อมูลจาก IP Header ซึ่งเป็น IP Packet นั้นจะถูกส่งต่อมายัง Interface Layer ซึ่งกรณีในภาพนี้ก็คือส่งไปให้ตัว LAN Card ซึ่ง LAN Card ก็จะทำการใส่ Header และ trailer ของตัว LAN Card เข้าไป ข้อมูลนี้ก็จะถูกส่งไปในเครือข่าย ในภาพนี้มันจะถูกส่งออกไปจนถึง router ซึ่งทำหน้าที่ในการแปลงตัว Data Link Protocol Header จาก Protocol หนึ่งซึ่งใช้ในเครือข่าย LAN ไปเป็นอีก Protocol หนึ่งที่ใช้ในเครือข่าย WAN
จะเห็นในภาพนี้ว่า IP Protocol นี้ จะทำงานข้ามเครือข่ายกัน ก็คือในเครือข่าย LAN ก็ใช้ IP Protocol ออกไปสู่เครือข่าย WAN ก็ยังเป็น IP Protocol เพียงแต่ว่า Data Link Layer Protocol เท่านั้น ที่มีความแตกต่างกันระหว่างเครือข่ายทั้งสองในภาพ

The Internet Protocol (IP)
n โดยการใช้ IP Protocol นี้ router เมื่อได้รับ IP Packet มา จะอาศัย destination address ซึ่งอยู่ใน IP Header ในการตัดสินใจว่าจะส่งข้อมูลออกไปในเส้นทางใด
n Destination Address ที่เราพูดถึงนี้เป็น Network Layer Address ในกรณีที่ใช้ IP Protocol ในระดับ Network Layer
n Destination Address นี้ก็คือ เป็น Destination IP Address ซึ่ง address อันนี้จะแตกต่างจาก MAC Layer Address ซึ่งเราพูดถึงในบทที่ว่าด้วย Local Area Network เพราะ MAC Address นั้นเป็น Address ที่อยู่ในระดับของ Data Link Layer แต่ Destination Address ที่พูดถึงในที่นี้ หมายถึง IP Address ซึ่งเป็น Address ในระดับของ Network Layer
n นอกจากใช้ประโยชน์จาก Destination Address ซึ่งอยู่ใน IP Header แล้ว router ก็ยังสามารถที่จะปรับค่าบางค่าซึ่งอยู่ใน IP Header แต่ข้อมูล IP Packet ที่ได้รับมานี้ถ้ามันมีขนาดที่ใหญ่เกินไป Router ก็จะทำการ break ข้อมูล block ข้อมูลที่มีขนาดใหญ่ให้เป็นข้อมูลที่มีขนาดเล็กลง โดยการ mark ตำแหน่งของแต่ละ Packet ย่อย ๆ นี้ลงไปในส่วนที่เราเรียกว่าเป็น Fragment Offset ของ IP Header เพื่อที่ว่าเมื่อฝั่งรับ รับข้อมูล Packet ย่อย ๆ นี้แล้วสามารถจะอ่านข้อมูลในส่วนของ Fragment Offset ซึ่งอยู่ใน IP Packet ย่อย ๆ นั้น แล้วเอา Packet ย่อย ๆ นั้นมาประกอบกันเป็น Packet ที่เหมือนต้นฉบับได้ในที่สุด

อันนี้ก็เป็นภาพโครงสร้างของ IP Header ก็จะเห็นว่าประกอบด้วยส่วนต่าง ๆ เป็นจำนวนมากพอสมควร แต่ส่วนที่จะอยู่ในความสนใจของเราในที่นี้ ก็จะมีส่วนซึ่งเขียนว่าเป็น Source IP Address ส่วนที่เป็น Destination IP Address ก็คือหมายเลข IP Address ของเครื่องต้นทาง และหมายเลข IP Address ของเครื่องปลายทาง

อย่างที่ได้พูดไปแล้วว่า ข้อมูลที่ IP Protocol ได้รับ ก็จะได้รับมาจากข้อมูลที่ส่งออกมาจาก Transport Layer ในระดับของ Transport Layer นี้มี Protocol หลัก ๆ ที่ใช้อยู่ในเครือข่าย Internet อยู่ 2 Protocol ด้วยกัน ก็คือ TCP Protocol กับ UDP Protocol เราจะพูดถึง TCP Protocol เป็นอันดับแรก

Transmission Control Protocol (TCP)
n TCP Protocol นี้ หน้าที่ของมันก็คือ ทำให้เครื่องคอมพิวเตอร์เครื่องหนึ่ง ๆ นี้สามารถที่จะมี Network Application run อยู่ได้หลาย ๆ Application พร้อม ๆ กัน เนื่องจากเครื่องคอมพิวเตอร์เครื่องหนึ่ง ๆ โดยทั่วไปจะมีหมายเลข IP Address เพียงหมายเลขเดียว เพราะฉะนั้นถ้าเรานึกภาพเครื่องคอมพิวเตอร์เมื่อเราเปิดโปรแกรม Web browser ขึ้นมามากกว่า 1 โปรแกรม หรือใช้โปรแกรม Web browser ในหน้าจอหนึ่ง และไปเปิดโปรแกรม e-mail อีกหน้าจอหนึ่ง ข้อมูลที่รับส่งระหว่าง Application หรือหน้าจอที่แตกต่างกันนี้กับจุดหมายปลายทาง หรือ server ถ้าอยู่อีกฝั่งหนึ่งมันจะต้องมีกลไกที่ทำให้ข้อมูลซึ่งเมื่อส่งออกมาจาก Server ที่ปลายทางมาถึงที่เครื่องคอมพิวเตอร์ของเรา จะสามารถจะทราบได้ว่าข้อมูลชุดไหนควรจะส่งไปให้หน้าจอไหน อย่างเช่น เราเปิด Browser ขึ้นมา 2 หน้าจอ หน้าจอหนึ่งเชื่อมต่อกับ www.yahoo.com อีกหน้าจอหนึ่งเชื่อมต่อกับ www.kmitl.ac.th เมื่อมีข้อมูลส่งมาจาก server www.kmitl.ac.th ซึ่งก็จะต้องส่งมาที่หมายเลข IP Address ของเรา จะต้องมีกลไกเพื่อที่จะทำยังไงให้ทราบว่าข้อมูลชุดนี้ จะต้องถูกส่งไปยังหน้าจอที่เชื่อมต่อกับ www.kmitl.ac.th ไม่ใช่ส่งไปยังหน้าจอที่เชื่อมต่ออยู่กับ www.yahoo.com
n ซึ่งกลไกที่ทำให้ตัวระบบสามารถจะจำแนกได้ว่าข้อมูลที่ได้รับนั้น จะต้องถูกส่งไปให้หน้าจอใด ก็คือโดยการใช้หมายเลขที่เรียกว่า TCP Port number ที่แตกต่างกันสำหรับแต่ละ Application ที่ run อยู่บนเครื่องเดียวกันนั่นเอง
n เพราะฉะนั้นโดยสรุปก็คือ TCP Protocol หน้าที่อันหนึ่งก็คือ มันทำให้สามารถจะใช้เครื่อง ๆ เดียว ซึ่งมีหมายเลข IP Address เดียวแต่ว่าสามารถจะ run Network Application หลาย ๆ Application พร้อม ๆ กันได้ มันเป็นกลไกที่คล้าย ๆ กับการทำ Multiplexing แต่ว่าเป็นการทำ Multiplexing ในระดับของ Transport Layer ซึ่งแตกต่างจากการทำ Multiplexing ในบทต้น ๆ ซึ่งในกรณีนั้นเราทำ Multiplexing โดยอาศัยอุปกรณ์ที่เราเรียกว่า Multiplexer ซึ่งเป็นการทำ Multiplexing ในระดับของ Physical Layer ซึ่งแตกต่างจากการทำ Multiplexing ของที่เราพูดในบทนี้
n นอกจากความสามารถของ TCP ที่ทำให้ Application หลาย ๆ Application สามารถจะเชื่อมต่อกับระบบเครือข่ายได้ รับส่งข้อมูลกันได้ ถึงแม้ว่าจะอยู่ในเครื่องเดียวกัน แล้วมีหมายเลข IP Address เดียวกันแล้ว TCP Protocol ก็ยังมีหน้าที่ที่สำคัญอีกอย่างหนึ่งก็คือเป็นการทำ error detection และ correction ในลักษณะของการทำ error correction/detection ของ TCP Protocol นี้ จะแตกต่างจากการทำ error detection และ correction ในระดับของ Data Link Layer เนื่องจากว่า error correction ของ TCP Protocol นี้เป็นการทำ error correction ในแบบที่เราเรียกว่า end-to-end เนื่องจาก Protocol TCP นั้นจะ run อยู่เฉพาะที่เครื่องต้นทางกับที่เครื่องปลายทางเท่านั้น node หรืออุปกรณ์ซึ่งอยู่ระหว่างทางระหว่างต้นทางกับปลายทางนี้จะไม่มีอุปกรณ์ใดที่ run Protocol TCP เพราะฉะนั้นมันก็จะเป็นการติดต่อคุยกันระหว่าง TCP ต้นทางกับปลายทาง นั่นคือเราถึงเรียกว่าฟังก์ชั่น error correction/detection ของ TCP นั้นเป็น error correction ในแบบ end-to-end



จากรูปนี้เป็นโครงสร้างของ TCP Header ซึ่งก็มีองค์ประกอบต่าง ๆ อยู่หลายองค์ประกอบอยู่ด้วยกัน ที่เราสนใจในที่นี้ก็จะมีอยู่เฉพาะ 2 องค์ประกอบก็คือ ที่เขียนว่าเป็น Destination port กับที่เขียนว่าเป็น Source port และนี่ก็เป็นหมายเลขซึ่งในการรับส่งข้อมูลระหว่างเครื่องต่อเครื่องนี้ ในกรณีที่เครื่องไม่ว่าจะเป็นเครื่องที่ส่งข้อมูล หรือเครื่องที่รับข้อมูลนี้ มี Application หรือ Network Application มากกว่า 1 Application ตัวระบบก็จะอาศัย Source port หรือ Destination port นี้ในการระบุได้ว่าข้อมูลที่ส่งไป หรือข้อมูลที่ได้รับมานั้นส่งออกมาจาก Application ไหน หรือเมื่อข้อมูลรับมานั้นควรส่งต่อไปให้ Application ใด

User Datagram Protocol (UDP)
n ในเครือข่าย Internet นั้น นอกเหนือจาก Protocol TCP ซึ่งเป็น Protocol ซึ่งทำงานอยู่ในระดับของ Transport Layer แล้ว ก็ยังมีอีกหนึ่ง Protocol ก็คือ Protocol UDP ซึ่งมีหน้าที่ลักษณะการทำงานคล้ายคลึงกับ TCP ในแง่ที่ว่า เช่นเดียวกับ Protocol TCP โดย Protocol UDP ก็ทำให้เครื่อง ๆ หนึ่งสามารถจะ run Application ได้มากกว่า 1 Application คือ ใน Header ของ Protocol UDP ก็จะมี Source port และ destination port เหมือนกันเพื่อจะทำให้โปรแกรม Application ต่าง ๆ สามารถจะ run ได้พร้อม ๆ กันอยู่บนเครื่องเดียวกัน แต่ในขณะที่ Protocol TCP มีฟังก์ชั่นเพิ่มเติมอย่างเช่น ฟังก์ชัน error correction/detection แต่ Protocol UDP ไม่ได้มีฟังก์ชันเหล่านั้น
n เมื่อเปรียบเทียบกับลักษณะของ Network Application ที่เราพูดถึงไปในบทที่ 10 ซึ่งจำแนกออกมาเป็น 2 ประเภทได้แก่ Connection-oriented Application และ Connectionless Application, Protocol TCP ก็จะใช้กับ Application ที่เป็น Connection-oriented Application ในขณะที่ Protocol UDP นั้นจะใช้กับ Application ในลักษณะที่เป็น Connectionless Application

Address Resolution Protocol (ARP)
n ในการรับส่งข้อมูลผ่านเครือข่าย Internet หรือผ่าน Network ที่ใช้ Protocol IP เราจะอาศัย Source IP Address และ Destination Address ในการระบุต้นทางกับปลายทางของข้อมูล แต่เมื่อข้อมูลรับส่งกันในระบบเครือข่าย LAN ข้อมูลที่แต่ละเครื่องได้รับนั้น จะถูกส่งต่อไปให้ Protocol ในระดับ Layer ที่อยู่ข้างบน หรือถึง Application ประมวลผล ก็ต่อเมื่อข้อมูลนั้นได้ผ่านส่วนของ LAN Card ไปแล้วเท่านั้น ดังที่เราได้ทราบแล้วว่าข้อมูล เมื่อ LAN Card ได้รับข้อมูลมานี้ LAN Card จะนำข้อมูลนั้นไป Process ต่อก็ต่อเมื่อส่วนที่เป็น Destination MAC Address ของข้อมูลที่ได้รับนั้นมีหมายเลข MAC Address ตรงกับหมายเลขของ LAN Card นั้นเท่านั้น เพราะฉะนั้นถ้า MAC Address ที่อยู่ในส่วนที่เป็น Destination Address ซึ่งเป็นส่วนหนึ่งที่อยู่ใน Header ของ Ethernet Header ไม่ match กับ MAC Address ของ LAN Card ตามนั้น ข้อมูลนั้นก็ไม่สามารถจะผ่านระดับของ Data Link Layer ไปสู่ระดับของ Network Layer ได้ ถึงแม้ว่า IP Address ที่มากับข้อมูลนั้นจะ match กับ IP Address ของเครื่อง ๆ นั้นก็ตาม
n เพราะฉะนั้นในการรับส่งข้อมูลผ่านระบบเครือข่าย LAN จึงมีความจำเป็นที่จะต้องระบุ MAC Address ของเครื่องปลายทางให้ถูกต้องด้วย นอกเหนือจากการระบุ Destination IP Address ให้ถูกต้องแล้ว
n ปัญหาก็คือว่า โดยปกติเราจะรู้ Destination IP address แต่เราจะไม่ทราบ MAC Address ของเครื่องปลายทาง กลไกที่ทำให้เราสามารถจะทราบ MAC Address ของเครื่องปลายทางจากข้อมูลของ IP Address ของเครื่องนั้น ๆ ก็โดยอาศัยสิ่งที่เราเรียกว่า Address Resolution Protocol ซึ่งจะทำหน้าที่ในการแปลงจากหมายเลข IP Address ของเครื่องนั้นไปเป็น MAC Address ของเครื่อง ๆ นั้น

Dynamic Host Configuration Protocol (DHCP)
n อีก Protocol หนึ่งซึ่งมีบทบาทสำคัญในระบบเครือข่ายที่ใช้ IP Protocol ก็คือ Protocol DHCP เครื่องคอมพิวเตอร์ที่ต่ออยู่กับเครือข่ายที่ใช้ Protocol IP อย่างเช่น Internet จำเป็นจะต้องมีหมายเลข IP Address ภาระหน้าที่อย่างหนึ่งของผู้ดูแลระบบเครือข่ายโดยปกติก็คือจะต้องมีหน้าที่ในการ Assign หมายเลข IP Address ให้กับเครื่องแต่ละเครื่อง ซึ่งจะต้องไม่ซ้ำกันด้วย ซึ่งถ้าเครื่องคอมพิวเตอร์มีจำนวนมาก ๆ ก็จะเกิดปัญหาในเรื่องของการจัดการขึ้น
n Protocol DHCP ทำให้เราสามารถจ่ายหมายเลข IP Address โดยอัตโนมัติให้กับเครื่องแต่ละเครื่องได้โดยที่ผู้ดูแลระบบไม่จำเป็นต้องไปที่เครื่อง ๆ นั้นแล้ว set IP Address ทีละเครื่อง ทีละเครื่อง
n การทำงานของ DHCP นั้นจะประกอบไปด้วย software ที่เราเรียกว่า DHCP Client ซึ่งโดยปกติจะติดตั้งมาพร้อมกับระบบปฏิบัติการที่อยู่บนเครื่องของผู้ใช้ เช่น Windows XP เมื่อเราเปิดเครื่อง หรือ run โปรแกรม Windows XP ขึ้นมา ในระหว่างที่ run นี้ DHCP Client ซึ่งเป็น software ที่มากับตัวระบบปฏิบัติการ ก็จะทำการส่งข้อมูลออกไปยังระบบเครือข่าย เพื่อร้องของ IP Address จาก DHCP Server
n DHCP Server ก็เป็น software อีกตัวหนึ่งซึ่งทำงานควบคู่กับ DHCP Client
n DHCP Server จะต้องติดตั้งอยู่ในเครื่องคอมพิวเตอร์ที่เชื่อมต่ออยู่กับระบบเครือข่ายเดียวกับเครื่องคอมพิวเตอร์ที่ร้องขอ IP Address ซึ่งอาจจะติดตั้งอยู่บนในเครื่องคอมพิวเตอร์ที่ทำหน้าที่เป็น file server ก็ได้ เนื่องจากว่าทรัพยากรที่จำเป็นจะต้องใช้ในการ run DHCP Server นั้นค่อนข้างจะไม่สูงนัก
n หน้าที่ของ DHCP Server คือ เมื่อได้รับ IP Request จาก DHCP Client จะทำการหาหมายเลข IP Address ที่ยังว่างอยู่ และส่งหมายเลข IP Address นั้นกลับไปให้ DHCP Server ใช้ในการกำหนดหมายเลข IP ของเครื่อง ๆ นั้นต่อไป
n เราสามารถจะกำหนดช่วงระยะเวลา หรืออายุของหมายเลข IP Address ที่ DHCP Server จ่ายให้เครื่องแต่ละเครื่องได้ และ DHCP Client ก็สามารถดำเนินการต่ออายุหมายเลข IP Address นั้นได้ เมื่อใกล้จะครบกำหนดการหมดอายุของหมายเลข IP Address ที่ได้รับ

Internet and Application Address
n หมายเลข IP Address นี้เป็นตัวเลขจำนวนขนาด 32 bit เป็นหมายเลข binary จำนวน 32 bit ซึ่งเป็นการยากที่ผู้ใช้โดยทั่วไปจะจดจำหมายเลข IP Address ได้ ถึงแม้ว่าจะมี format ของหมายเลข IP Address ซึ่งแปลงข้อมูล binary 32 bit ให้มาเป็นข้อมูลเลขฐาน 10 จำนวน 4 ชุดก็ตาม ตัวเลขตัวนั้นก็ยังเป็นตัวเลขที่ยากแก่การจดจำ และไม่สามารถจะสื่อถึง server หรือแหล่งข้อมูลนั้น ๆ ได้ว่าเป็น server ที่เกี่ยวกับอะไร
n อย่างเช่นกรณีของ web server หมายเลขที่เป็น IP Address ซึ่งเป็นตัวเลข 4 ชุด ก็ไม่สื่อความหมายว่า server นั้นเป็น server ของบริษัทใด มีข้อมูลเกี่ยวกับอะไร
n ทางออกของปัญหานี้ก็คือ เราจะใช้ชื่ออีกชื่อหนึ่ง ซึ่งเป็นชื่อที่เป็นข้อความหรือตัวอักษร ทำให้ผู้ใช้สามารถจะจดจำได้ง่าย และก็สามารถจะสื่อความหมายถึงเครื่อง ๆ นั้นได้ว่าเป็นเครื่องที่เก็บข้อมูลเกี่ยวกับอะไร ซึ่งชื่อที่เป็นตัวอักษรนี้เรารู้จักกันในชื่อที่เรียกว่า Uniform Resource Locator (URL) เช่นกรณีของ Web browser หรือ web server ก็คือ หมายเลข หรือชื่อของ web server ซึ่งเขียนให้อยู่ในรูปแบบของตัวอักษรนั่นเอง เช่น www.kmitl.ac.th นี้ก็เป็นตัวอย่างของชื่อที่เราเรียกว่า URL โดยการใช้ชื่อที่เป็นตัวอักษรนี้เราสามารถที่จะจดจำชื่อของเครื่องได้ง่ายขึ้น ทำให้สื่อความหมายถึงเครื่อง ๆ นั้นได้ว่าให้ข้อมูลเกี่ยวกับอะไร
n ในชื่อ URL แต่ละชื่อนี้จะประกอบไปด้วยองค์ประกอบ 4 ส่วนคือ
 Service type
 Host หรือ Domain name
 Directory หรือ subdirectory
 Filename

ภาพนี้ก็เป็นตัวอย่างของโครงสร้างของ URL
1 ก็คือเป็น Service type ซึ่งถ้าขึ้นด้วย http ก็คือหมายถึง server ตัวนี้ทำหน้าที่เป็น web server ถ้าขึ้นต้นด้วย ftp จะทำหน้าที่เป็น ftp server อันที่ 2 คือเป็น domain name ซึ่ง domain name ก็คือชื่อกลุ่มของเครื่องคอมพิวเตอร์ อย่างเช่น depaul.edu อันนี้คือเป็นชื่อ Domain name สิ่งที่อยู่ข้าหน้า domain name จะเป็นสิ่งที่เราเรียกว่า computer name เช่น ตัวอย่าง A คือ cs นี้เป็นชื่อเครื่องคอมพิวเตอร์ ความหมายก็คือชื่อเครื่องคอมพิวเตอร์ cs ซึ่งอยู่ใน domain depaul.edu ส่วน public นี้เป็นชื่อ folder หรือชื่อ directory และ example นี้เป็นชื่อ file ซึ่งอยู่ใน folder public นั่นเอง

n ข้อดีของ URL ก็คือ ง่ายแก่การจดจำ และก็สื่อความหมายเหมาะสำหรับเป็น interface ใช้ในการอ้างอิงถึงระหว่างผู้ใช้กับเครื่อง แต่เครื่องคอมพิวเตอร์กับเครื่องคอมพิวเตอร์นั้น ติดต่ออ้างอิงกันโดยใช้หมายเลข IP Address แทนที่จะเป็น URL
n เพราะฉะนั้นเมื่อเราพิมพ์ข้อความ พิมพ์ address ของ web site เข้าไปในโปรแกรม web browser และเคาะ enter แล้ว web browser ไม่ได้ติดต่อ web server โดยอาศัย URL แต่ web browser จำเป็นต้องหาทางที่จะแปลงชื่อ URL ที่เราพิมพ์เข้าไปให้เป็นหมายเลข IP Address ของเครื่อง ๆ นั้น ก่อนที่จะสามารถจะติดต่อไปยัง web server นั้นได้ ซึ่งกลไกที่ทำหน้าที่ในการแปลงระหว่าง URL ไปยังหมายเลข IP Address ก็คือสิ่งที่เราเรียกว่า DNS หรือ Domain Name System
n โดยในระบบนี้เราจะมีเครื่องคอมพิวเตอร์ที่ทำหน้าที่เป็นฐานข้อมูลเชื่อมโยงระหว่าง URL กับหมายเลข IP Address เครื่องคอมพิวเตอร์เครื่องนั้นเรามักจะเรียกว่า DNS Server เพราะฉะนั้นในกรณีที่เราพิมพ์ URL ไปในส่วน Address ของโปรแกรม web browser แล้วเราเคาะ enter สิ่งที่เกิดขึ้นตามมาก็คือ web browser ก็จะต้อง request ไปยังที่ DNS Server ที่ browser นั้นรู้จัก เพื่อร้องขอหมายเลข IP Address ของ URL ที่เราได้กำหนด เมื่อได้รับหมายเลข IP Address จาก DNS Server มาแล้ว ถึงจะทำการติดต่อไปยัง Web server นั้น ๆ ต่อไป
n ดังที่ได้กล่าวไปแล้วว่า IP Address นั้นเป็นตัวเลข binary ขนาด 32 bit ซึ่งเครื่องคอมพิวเตอร์แต่ละเครื่องที่เชื่อมต่ออยู่กับเครือข่าย Internet จะต้องมีการกำหนดหมายเลข IP Address ซึ่งไม่ซ้ำกับเครื่องอื่นที่เหลือ
n ในระบบตัวเครื่องคอมพิวเตอร์ และอุปกรณ์เครือข่ายนั้นจะอ้างอิงถึงหมายเลข IP Address ในรูปแบบของข้อมูล binary ขนาด 32 bit แต่สำหรับผู้ใช้โดยทั่วไป เราจะไม่คุ้นเคยกับรูปแบบตัวเลขที่เป็น binary เพราะฉะนั้นก็จะมีอีก format หนึ่งซึ่งเราใช้อ้างอิงถึงหมายเลข IP Address โดยใช้ตัวเลขที่เป็นเลขฐาน 10 format นั้นเราเรียกว่า dotted decimal notation



n ภาพนี้เป็นตัวอย่างความสัมพันธ์ระหว่าง dotted decimal notation กับข้อมูล IP Address ซึ่งอยู่ในรูปแบบของตัวเลข binary อย่างในแถวข้างบนนี้เป็นข้อมูลตัวเลข IP Address ซึ่งอยู่ในรูปแบบของ binary ในความเป็นจริงแล้วข้อมูล binary ที่เป็น 32 bit นี้ก็จะเป็นตัวเลข binary ที่เรียงต่อไปตั้งแต่ bit แรกไปจนถึง bit ที่ 32 แต่เพื่อว่าจะให้มนุษย์เรานี้สามารถจะจดจำ หรืออ้างอิง หรือพิมพ์ หรือกำหนดหมายเลข IP Address ได้โดยง่าย ก็ได้มีการจัดแปลงข้อมูล IP Address ซึ่งอยู่ในรูปแบบ binary ให้มาเป็นข้อมูลในรูปแบบ dotted decimal notation โดยการ grouping หรือจำแนกข้อมูล 32 bit ให้ออกมาเป็น 4 กลุ่ม กลุ่มละ 8 bit จากนั้นก็ทำการแปลงข้อมูล binary ให้เป็นเลขฐาน 10 ก็จะได้เลขฐาน 10 ด้วยกันทั้งหมด 4 ชุด แล้วทำการใส่จุดเข้าไประหว่างเลขฐาน 10 แต่ละชุดเพื่อให้เห็นเป็นข้อมูล 4 ชุด ในภาพนี้ข้อมูล binary ได้ถูกแปลงให้มาเป็นตัวเลขที่อยู่ในชุดรูปแบบ dotted decimal ได้เป็น 110.234.9.202
n พึงระลึกไว้เสมอว่ารูปแบบ หรือ format ที่เป็น dotted decimal notation นี้เป็น format ที่เครื่องคอมพิวเตอร์ใช้ในการติดต่อกับผู้ใช้หรือมนุษย์เท่านั้น เพื่อให้มนุษย์สามารถจะอ่านหมายเลข IP Address ได้ง่าย ๆ สามารถจะ set หมายเลข IP Address ได้ง่าย ๆ แต่ถึงที่สุดแล้วเครื่องคอมพิวเตอร์จะ operate หมายเลข IP Address ในรูปแบบของเลขฐาน 2 ขนาด 32 bit เท่านั้น

อันนี้ก็เป็นอีกตัวอย่างหนึ่งที่หมายเลข IP Address ขนาด 32 bit ถูกแปลงให้อยู่ในรูปแบบของ dotted decimal notation

n IP Address นี้เป็นตัวเลข 32 bit ซึ่งข้อกำหนดก็คือ เครื่องคอมพิวเตอร์แต่ละเครื่องจะต้องมีหมายเลขนี้ซึ่งไม่ซ้ำกับเครื่องคอมพิวเตอร์อื่น ๆ ที่เหลือในระบบเครือข่าย ในทางปฏิบัติแล้วเรามีความต้องการที่จะแบ่งเครือข่ายใหญ่ ๆ นี้ออกมาเป็นเครือข่ายย่อย ๆ หรือที่เราเรียกว่า sub network เพื่อที่จะทำให้เราสามารถแบ่งเครือข่ายใหญ่ ๆ ออกมาเป็นเครือข่ายย่อย ๆ นี้ได้ จึงมีความจำเป็นที่เราจะต้องแบ่งหมายเลข IP Address 32 bit นี้ออกมาเป็น 2 ส่วน ส่วนที่หนึ่งคือส่วนที่เราเรียกว่า Network ID กับส่วนที่สองที่เราเรียกว่า Host ID โดยมีข้อกำหนดที่ว่าเครื่องคอมพิวเตอร์ที่อยู่ใน sub network เดียวกันจะต้องมีส่วนของ IP Address ที่ถูกกำหนดให้เป็น Network ID ที่เหมือนกัน แต่มีส่วนของ IP Address ที่ถูกกำหนดให้เป็น Host ID ที่ต่างกัน
n กลไกที่ทำหน้าที่ในการแบ่งหมายเลข IP Address ออกมาเป็น 2 ส่วนดังกล่าว คือกลไกที่เราเรียกว่าการทำ subnet masking โดยตัวข้อมูลที่ผู้ใช้ ผู้ดูแลระบบป้อนเข้าสู่ให้เครื่องคอมพิวเตอร์แต่ละเครื่องหรืออุปกรณ์เครือข่ายแต่ละตัว ตัวเลขชุดนั้นเราเรียกว่า subnet mask ด้วยชุดตัวเลขตัวนี้ทำให้เครื่องคอมพิวเตอร์ และอุปกรณ์เครือข่ายสามารถแบ่งหมายเลข IP Address 32 bit ออกมาเป็น 2 ส่วน คือ ส่วนที่เป็น Host ID หรือ subnet ID ได้ ก็ทำให้เราสามารถจะแบ่งเครือข่ายใหญ่ ๆ ออกมาเป็นเครือข่ายย่อย ๆ ได้

No comments: