(Data Communications and Networks) บทที่ 5 โปรโตคอล

Download Report

Transcript (Data Communications and Networks) บทที่ 5 โปรโตคอล

การสื่อสารข้อมูลและเครือข่าย
(Data Communications and Networks)
บทที่ 5 โปรโตคอล TCP/IP
หนังสืออ้างอิง
เอกสิทธิ์ วิริยจารี. (2548:62). เรียนรูร้ ะบบเน็ ตเวิรก์ จากอุปกรณ์ของ Cisco
ภาคปฏิบตั ิ. --กรุ งเทพฯ: ซีเอ็ดยูเคชัน่ .
โดย อ.ปริญญา น้อยดอนไพร V.15-12-2011
วัตถุประสงค์เชิงพฤติกรรม
 มีความรู ค้ วามเข้าใจเกี่ยวกับโปรโตคอล
TCP/IP
 มีความรู ค้ วามเข้าใจเกี่ยวกับกระบวนการ Tree Way Handshake
 มีความรู ค้ วามเข้าใจเกี่ยวกับหมายเลขพอร์ต (port number) สื่ อสาร
 มีความรู ค้ วามเข้าใจเกี่ยวกับโปรโตคอล ARP (Address Resolution
Protocol)
 มีความรู ค้ วามเข้าใจเกี่ยวกับโปรโตคอล ICMP (Internet Control
Message Protocol)
Data Communications and Networks :: Mr.Parinya Noidonphrai (www.freebsd.sru.ac.th)
Data Communications and Networks :: Mr.Parinya Noidonphrai (www.freebsd.sru.ac.th)
โปรโตคอล TCP

ข้อแตกต่างระหว่าง OSI Model กับ TCP/IP คือ OSI Model จะนิ ยามหน้าที่
ของแต่ละเลเยอร์อย่างชัดเจนและเจาะจง แต่สาหรับ TCP/IP นั้นจะนิ ยามแต่
ละเลเยอร์อย่างกว้างๆ สามารถแบ่งแยกได้เป็น 5 เลเยอร์
 เลเยอร์ บ นสุ ด จะเกี่ย วข้อ งกับ โปรเซสและแอปพลิ เ คชัน ต่า งๆ ที่ท างานอยู บ
่ น
Network ครอบคลุมทัง้ 3 เลเยอร์ของ OSI Model
 มีการกาหนดให้มโี ปรโตคอลในระดับ Transport Layer อยู ่ 2 ประเภทเพื่อการ
ควบคุ มการสื่ อสารระหว่างโฮสต์ตน้ ทางกับโฮสต์ปลายทาง ได้แก่ โปรโตคอล
TCP (Transmission Control Protocol) และ UDP (User Datagram
Protocol)
Data Communications and Networks :: Mr.Parinya Noidonphrai (www.freebsd.sru.ac.th)
โปรโตคอล TCP (ต่อ)

ส่วนเลเยอร์ต่ าลงมาถูกจัดให้เป็ นเลเยอร์ของโปรโตคอล IP (Internet Protocol)
ดูแลในเรื่ องของรับส่งแพ็กเก็ตไปบนเน็ตเวิรก์ โดยตรง
 เลเยอร์สุดท้าย คือ Network Interface Layer ถู กจัดให้เป็ นเลเยอร์ของเน็ ตเวิร์ก
ประเภทต่างๆ ที่เข้ามารองรับโปรโตคอล TCP/IP ข้างต้นทัง้ หมด
Data Communications and Networks :: Mr.Parinya Noidonphrai (www.freebsd.sru.ac.th)
โปรโตคอล TCP (ต่อ)




โปรโตคอล TCP ในเลเยร์ของ Transport มีหน้าที่หลักๆ คือ
จัดแบ่ง ข้อมู ลจากระดับแอปพลิเคชันเลเยอร์ให้มีขนาดพอเหมาะที่จะส่งไปบนเครื อ ข่าย
หน่วยของข้อมูลในระดับนี้เรียกว่า TCP Segment
เริ่ มต้นสร้างการเชื่อมต่อระหว่างต้นทางและปลายทางให้สาเร็ จก่อน ก่อนที่ ทัง้ ต้นทางและ
ปลายทางจะมีการรับส่งข้อมูลกันจริ งๆ การรับส่งข้อมูลโดยมีการสร้างการเชื่ อมต่อก่อนการ
ส่งนี้เรียกว่า การสื่ อสารแบบ Connection-Oriented และกระบวนการที่ใช้ในการสร้างการ
เชื่อมต่อ คือ Three Way Handshake
มีการใส่หมายเลข Sequence Number (SEQ) ลงไปใน TCP Segment ที่สง่ ไปเพื่อจัดลาดับ
การส่งข้อมูล เมื่อปลายทางได้รับ TCP Segment นั้นๆ แล้วจะต้องมีการส่งการยืนยัน
(Acknowledgement: ACK) กลับมาให้เครื่ องต้นทางทราบว่าได้รับ TCP Segment นั้นๆ
แล้ว
Data Communications and Networks :: Mr.Parinya Noidonphrai (www.freebsd.sru.ac.th)
โปรโตคอล TCP (ต่อ)



นอกจากนั้นเครื่ องต้นทางยังมีการตรวจสอบว่า แพ็กเก็ตถู กส่งไปถึ งเครื่ องคอมพิวเตอร์
ปลายทางหรื อไม่ โดยการตรวจสอบว่าได้รับ ACK กลับมาหรื อยัง
กรณีท่ ไี ม่ได้รับ ACK ยืนยันกลับมาภายในเวลารอคอยที่เหมาะสมค่าหนึ่ ง จะเข้าใจว่า TCP
Segment
นั้นส่งไปไม่ถึงยังเครื่ องปลายทาง ในกรณี น้ ี เครื่ องต้นทางจะมีการส่งใหม่
(retransmission) อีกครั้ง และเพื่มเวลารอคอยออกไปอีกระยะหนึ่ งจนกว่าจะได้รับ ACK
กลับมา กลไกนี้ เรียกว่า Error Recovery ซึ่งทาให้โปรโตคอล TCP มีความน่าเชื่อถือในการ
รับส่งข้อมูล (Reliability)
ในการส่ง ACK เพื่อยืนยันว่าได้รับข้อมูลครบถ้วนนั้น เครื่ องปลายทางไม่จาเป็ นต้องส่ง ACK
กลับทุกๆ TCP Segment ที่ได้รับ แต่สามารถ ACK เมื่อได้รับข้อมูลหลายๆ TCP Segment
ตามที่ตกลงกันไว้กอ่ นได้ โดยเครื่ องต้นทางและเครื่ องปลายทางมีการตกลงกันแต่แรกว่าจะให้
ผูท้ ่ ไี ด้รับ TCP Segment ตอบยืนยัน (ACK) กลับมาเมื่อได้รับ TCP Segment ไปแล้วเป็ น
จานวนเท่าไหร่
Data Communications and Networks :: Mr.Parinya Noidonphrai (www.freebsd.sru.ac.th)
โปรโตคอล TCP (ต่อ)



ขนาดของ TCP Segment ที่ผูส้ ง่ สามารถส่งได้ในครั้งหนึ่ งๆ โดยไม่ตอ้ งรอคอยให้มกี ารตอบ
รับนี้เรียกว่า Window Size หมายความว่า ผู ร้ ับสามารถรอรับข้อมู ลจนครบตามขนาด
Window Size ก่อนแล้วจึงค่อยส่ง ACK ไปทีเดียว
ควบคุมลาดับขัน้ ตอนของการส่งแพ็กเก็ตของโปรโตคอล IP ให้มคี วามเป็ นระเบียบเรียบร้อย
จัดสรรขนาดบัฟเฟอร์ขอ้ มูลที่เหมาะสมไว้ทงั้ ในขณะรับและขณะส่งข้อมูล
ช่วยประกอบรวมแพ็กเก็ต IP ที่ได้รับเข้ามาให้เป็ นข้อมูลผืนเดียวกัน สาหรั บส่งต่อขึ้นไปยัง
แอปพลิเคชันในระดับบน
Data Communications and Networks :: Mr.Parinya Noidonphrai (www.freebsd.sru.ac.th)
กระบวนการ THREE WAY HANDSHAKE
Data Communications and Networks :: Mr.Parinya Noidonphrai (www.freebsd.sru.ac.th)
กระบวนการ THREE WAY HANDSHAKE (ต่อ)

เป็นกระบวนการในการสร้างการเชื่อมต่อระหว่างต้นทางกับปลายทาง
 โฮสต์ตน้ ทางจะเริ่ มต้นของสร้างการเชื่อมต่อด้วยการส่งแพ็กเก็ต TCP ที่มก
ี าร
เซตฟิลด์ SYN (Synchronize) และรอให้ปลายทางส่งแพ็กเก็ต TCP ที่มฟี ิลด์
SYN และ ACK กับมาก่อน
 จากนั้นต้นทางจึงตอบยืนยันว่าต้องการรับส่งข้อมูลด้วยอีกครั้ง เป็ นอันจบสิ้น
 หลังจากผ่านกระบวนการข้างต้นนี้ แล้ว โฮสต์ตน
้ ทางและโฮสต์ปลายทางก็จะ
พร้อมที่จ ะเริ่ มรั บ ส่ง ข้อ มู ลกัน โดยระหว่า งกระบวนการนี้ โฮสต์ต ้น ทางและ
ปลายทางจะมีการตกลงกันว่าจะใช้ขนาดของ Window Size ขนาดเท่าไหร่ และ
หมายเลข Sequence Number (Seq) ของโฮสต์และฝั่ง จะมีคา่ เริ่ มต้นเท่ากับ
เท่าไหร่
Data Communications and Networks :: Mr.Parinya Noidonphrai (www.freebsd.sru.ac.th)
Data Communications and Networks :: Mr.Parinya Noidonphrai (www.freebsd.sru.ac.th)