Transport Layer
UDP, TCP, และ SCTP ใน TCP/IP
Process-to-Process Delivery: UDP และ TCP
ระบบเครือข่ายแบบ Client/Server Client/Server คือ การที่มีเครื่องผู้ให้บริการ (server) และเครื่องผู้ใช้บริการ (client) เชื่อมต่อกันอยู่ และ client ได้มีการติดต่อร้องขอบริการ (service) จาก server, server ก็จะจัดการตามที่เครื่องผู้ขอใช้บริการร้องขอ แล้วส่งข้อมูลกลับไป
ระบบเครือข่ายแบบ Peer-to-Peer (P2P) P2P คือ ระบบเครือข่ายที่ทุกเครื่องในเครือข่ายมีความเท่าเทียมกัน ทุกเครื่องสามารถเป็นได้ทั้ง client และ server ตัวอย่างเช่น Skype, Bittorrent
การส่งข้อมูลแบบ Process to Process การส่งข้อมูลใน Data Link layer เรียกว่า Node to Node การส่งข้อมูลใน Network layer เรียกว่า Host to Host แต่ใน internet จะเป็นการส่งข้อมูลแบบ Process to Process หรือ การทำงานของโปรแกรมต่าง ๆ (Process) Process ต่าง ๆ จะถูกรันบนฝั่งของผู้ส่งและผู้รับ โดยที่ 2 process ที่ต้องการจะติดต่อกัน จะใช้การติดต่อแบบ Client/Server
หมายเลข Port ใน Data Link layer ใช้ MAC Address ในการส่งข้อมูลไปยัง Node ถัดไป ใน Network layer ใช้ IP Address ในการส่งข้อมูลไปยัง Host ปลายทาง ส่วนใน Transport layer นี้ เราจะใช้ Address ที่เรียกว่า หมายเลข Port เพื่อเลือก Process ต่าง ๆ ในฝั่งผู้รับ หมายเลข Port จะเป็นตัวเลข 16 bit ตั้งแต่ 0 – 65,535 ในฝั่งผู้ส่ง (Client) จะกำหนดหมายเลข Port แบบสุ่มขึ้นมาเพื่อใช้ชั่วคราว (ephemeral port) ในฝั่งผู้รับ (Server) จะต้องกำหนดหมายเลข port จริง ๆ ที่ต้องการใช้งาน (well-known port)
ตัวอย่าง หมายเลข Port ต้องการใช้งาน Process ที่ชื่อว่า Daytime , ฝั่งผู้ส่ง (client) ทำการกำหนด port 52000 ส่วนฝั่งผู้รับ (server) ถูกกำหนดโดย port 13 ซึ่งเป็น port ของ process Daytime จริง ๆ
IP address และ หมายเลข Port
ช่วงต่าง ๆ ของหมายเลข Port Well known คือ หมายเลข port ที่รู้จักกันดี หรือ ใช้อยู่ทั่วไป ซึ่งถูกกำหนดและควบคุมจาก IANA (Internet Assigned Number Authority) Registered คือ หมายเลข port ที่ถูกลงทะเบียนเพื่อใช้งาน Dynamic คือ หมายเลข port ที่ไม่ได้ถูกลงทะเบียน สามารถสุ่มมาใช้งานได้
Socket Address ในการส่งแบบ Process to Process จำเป็นต้องใช้ IP Address และ Port โดยในการรวมกันของ IP Address และ Port จะถูกเรียกว่า Socket Address
Multiplexing และ Demultiplexing การ Multiplexing เพื่อให้ผู้ส่งที่ต้องการทำงานหลาย ๆ Process พร้อม ๆ กัน Demultiplexing เพื่อแยก Process ต่าง ๆ ที่ส่งมา
Connectionless และ Connection-Oriented service แพ็กเก็ตที่จะต้องถูกส่งออกไปนั้นสามารถส่งไปได้เลยไม่จำเป็นที่จะต้องมีการสร้างการติดต่อระหว่างโพรเซสกันก่อน แต่ละแพ็กเก็ตอาจจะไม่ได้เดินทางไปเส้นทางเดียวกัน เมื่อไปถึงผู้รับแล้วจะไม่มีการตอบรับกลับจากผู้รับ โพรโตคอล UDP จะให้บริการแบบนี้ Connection-Oriented ผู้ส่งและผู้รับจะต้องมีการสร้างการติดต่อกันก่อน จึงจะสามารถส่งข้อมูลกันได้ เมื่อเสร็จแล้วจะต้องมีการยกเลิกการติดต่อกันก่อน โพรโตคอล TCP จะให้บริการแบบนี้
UDP (User Datagram Protocol) UDP เป็นแบบ Connectionless เพราะฉะนั้นในการส่งข้อมูลจะไม่มีการตรวจสอบว่าข้อมูลที่ส่งออกไปถึงปลายทางหรือไม่ โดยส่วนใหญ่ เหมาะสำหรับส่ง packet เล็ก ๆ ที่ไม่ต้องการความน่าเชื่อถือของการส่งข้อมูลมากนัก
หมายเลข port ต่าง ๆ ที่ใช้กับ UDP
รูปแบบของ UDP packet หรือ User Datagram
TCP (Transmission Controlled Protocol) TCP เป็นแบบ Connection-Oriented ซึ่งมีการสร้างการติดต่อกันขึ้นมาก่อนที่จะส่งข้อมูลกัน ทำให้การส่งข้อมูลมีความน่าเชื่อถือ
หมายเลข port ต่าง ๆ ที่ใช้กับ TCP
การส่งข้อมูลของ TCP UDP จะส่งข้อมูลโดยมีการกำหนดความยาวของข้อมูล packet ก่อนที่จะส่ง โดยอยู่ในรูปแบบของ Datagram แต่ TCP จะส่งข้อมูลแบบต่อเนื่องไปเรื่อย ๆ (stream) โดยที่หลังจากมีการสร้างการติดต่อ (connection) กันแล้ว ก็จะเหมือนกับว่ามีท่อที่ต่อเชื่อมระหว่างผู้รับกับผู้ส่ง ข้อมูลต่าง ๆ จะถูกส่งผ่านท่อที่สร้างขึ้น
การส่งข้อมูลของ TCP ในการส่งข้อมูลผ่านท่อนั้น เพื่อให้การอ่านและเขียนข้อมูลได้ทัน จึงมี buffer เพื่อเก็บข้อมูลต่าง ๆ ก่อนที่จะนำข้อมูลต่าง ๆ ไปใช้งาน
Application Layer
Remote Logging, Electronic Mail Domain Name System (DNS), Remote Logging, Electronic Mail
ตัวอย่างของการใช้งาน service DNS ในการรับส่งข้อมูล จำเป็นจะต้องรู้ IP Address ของผู้รับ จากในรูปข้างบน DNS client จะเป็นตัวหา IP Address จากชื่อเว็บไซต์ที่ต้องการ (wonderful.com)
Name Space และ Domain Name Space Name Space คือ ชื่อของเครื่องคอมพิวเตอร์ต่าง ๆ ที่ถูกควบคุมระหว่างชื่อและ IP Address โดยที่ชื่อที่ตั้งขึ้นมาจะต้องไม่ซ้ำกัน Domain Name Space คือ หลักการของ Name Space แบบโครงสร้างลำดับชั้น โดยแสดงเป็นแผนภูมิต้นไม้
Domain Name Domain Name คือ ข้อความ (Label) ที่แสดงบนแผนภูมิต้นไม้ โดยที่จำนวนตัวอักษรมากที่สุด 63 ตัวอักษร โดยที่ root (ราก) เป็นข้อความว่างเปล่า (null string) Domain Name จะประกอบไปด้วยข้อความต่าง ๆ โดยมี dot (.) ในการแยก
Domain โดเมน Domain คือ ส่วนย่อยของแผนภูมิต้นไม้ (subtree) ของ Domain Name Space โดยที่ชื่อของโดเมนจะเป็นโหนดยอดของส่วนย่อยของแผนภูมิต้นไม้นั้น
DNS ใน Internet DNS คือ protocol ที่สามารถใช้งานต่าง platform กันได้ ใน Internet ระบบ DNS จะถูกแบ่งเป็น 3 ส่วนที่แตกต่างกันคือ generic domains, country domains และ inverse domain
DNS ใน Internet Generic Domains กำหนด Host ที่ถูกลงทะเบียนเอาไว้แล้ว
Generic Domains
DNS ใน Internet Country Domains กำหนด Host ของแต่ละประเทศ ประกอบไปด้วยชื่อประเทศ และ ชื่อขององค์กร หรือ ชื่อเมืองต่าง ๆ เช่น .ac.th
DNS ใน Internet Inverse Domains ถูกใช้ในการแมพ address เป็นชื่อ
คำสั่งสำหรับตรวจสอบ DNS คำสั่ง nslookup สามารถใช้ได้ทั้ง Windows และ Unix ใช้ในการตรวจสอบโดเมนเนม (DNS) ซึ่งเอาไว้ทดสอบว่าโดเมนเนมนี้ตรงกับ IP Address อะไร และยังสามารถตรวจสอบได้ว่า DNS ที่เราใช้อยู่ยังให้บริการได้อยู่หรือไม่ เพราะหาก DNS ไม่สามารถให้บริการเป็นปกติจะไม่สามารถทำการแปลงจาก IP Address เป็นชื่อได้
Remote Logging ในการใช้งานโปรแกรมต่าง ๆ ใน server ผ่าน Internet บางครั้งอาจจะต้องมีการเขียนหรือแก้โปรแกรมต่าง ๆ เพิ่มเติม ดังนั้น จึงมีการใช้โปรแกรมที่สามารถ Remote จากเครื่องอื่น ๆ เพื่อเข้าไปยัง server เช่น TELNET
TELNET
Electronic Mail (email) รูปแบบของ email ประกอบด้วย 2 ส่วนหลัก ๆ คือ ส่วนของหน้าซองจดหมาย (Envelope) และ ข้อความในจดหมาย (Message)
Email address Email address จะประกอบไปด้วยที่อยู่ของ mailbox ของ mail server และ domain name ของ mail server โดยมี @ เป็นตัวคั่น
User Agent User Agent เป็นโปรแกรมที่สามารถให้ผู้ใช้เขียน อ่าน ตอบกลับ และส่งต่อจดหมายได้
SMTP (Simple Mail Transfer Protocol) SMTP จะเป็น protocol อันหนึ่งในการใช้งาน email โดยจะถูกใช้ในการส่ง email จากผู้ส่งมายัง mail server และ การส่ง email ระหว่าง mail server ทั้งสองฝั่ง
POP3 และ IMAP4 POP3 (Post Office Protocol, version 3) และ IMAP4 (Internet Mail Access Protocol, version 4) จะถูกติดตั้งใน mail server เพื่อใช้ในการ download email จาก mail server มายังเครื่องของผู้ใช้
การแลกเปลี่ยนข้อมูลของ POP3
ความสามารถของ IMAP4 ที่เพิ่มมาจาก POP3 ผู้ใช้สามารถตรวจสอบเฮดเดอร์ของอีเมล์ได้ ก่อนที่จะดาวน์ โหลดมาเก็บไว้ที่ไคลเอ็นต์. ผู้ใช้สามารถทำการค้นหา (search) เนื้อความในจดหมายได้ ก่อนที่จะดาวน์โหลดเมล์มาเก็บไว้ที่ไคลเอ็นต์ ผู้ใช้สามารถสร้าง ลบ หรือเปลี่ยนชื่อเมล์บ็อกซ์ในเมล์เซิร์ฟเวอร์ ได้ ผู้ใช้สามารถโฟลเดอร์สำหรับเก็บเมล์ได้ Web-based mail คือ website ที่ใช้จัดการกับ email เช่น hotmail, yahoo, gmail