Page 228 - Computer Network
P. 228

27.3. TRANSPORT CONTROL PROTOCOL (TCP)                                             219



                         รูปที่ 27.9 แสดงเซกเมนต์สุดท้ายของขบวนการทำงานของ TCP Three-way Handshake (ตำแหน่ง 3 ) ดู
                      เหมือนว่าจะไม่แตกต่างจากเซกเมนต์แรกเท่าใดนัก ในส่วนของพอร์ตมีค่าเหมือนเดิม Sequence number ระบุ
                      หมายเลขที่ส่งและหมายเลขต้องการเมื่อได้รับการตอบรับใน ACK และใน Control จะเหลือเพียงบิต ACK เท่านั้น
                      ที่มีค่าเป็น 1 ส่วนของ Window สมมติว่าเป็น 2000 ทำให้เซกเมนต์ถัดไปที่ต้องการอยู่ที่ 3001 ถึง 5000




                         หมายเลข Initial Sequence Number (ISN) มาจากไหน? เพื่อป้องกันเซกเมนต์ที่มีหมายเลขซํ้ากันถูก
                      ส่งในอินเทอร์เน็ต การกำหนด Sequence Number จะต้องมั่นใจว่าจะไม่มีการกำหนดซํ้ากันเกิดขึ้น ทำให้ TCP
                      แนะนำให้ใช้หมายเลขเริ่มต้นของ Sequence number เพิ่มขึ้นทุกๆ 4 ไมโครวินาที หากระบบไม่สามารถกำหนด
                      เวลาเริ่มต้นได้ เนื่องมาจากสาเหตุใดก็ตามเช่นระบบล่ม ระบบจะต้องหยุดการส่งชั่วคราวหลังจากเริ่มเดินเครื่องใหม่
                      เวลาหน่วงที่เกิดขึ้นนี้เรียกว่า Quiet time


                                                                           book)
                      ตัวอย่าง 27.1 แอพพลิเคชัน Line เป็นหนึ่งในแอพพลิเคชันที่ได้รับความนิยมอย่างมากในปัจจุบัน ผู้ใช้สามารถ
                      สื่อสารแบบข้อความปกติ รวมทั้งการสื่อสารผ่านการโทรฟรี หรือส่งรูปภาพระหว่างกัน แอพพลิเคชัน Line เป็น
                      แอพพลิเคชันที่ใช้ TCP เพื่อสื่อสารระหว่างผู้ใช้ ทำให้ต้องมีการสร้างการเชื่อมต่อแบบ Three-way handshaking
                      รูปที่ 27.10 แสดงการเชื่อมต่อของแอพพลิเคชันจาก IP address 192.168.1.8 ไปยังปลายทางที่ 125.209.254.16
                                                          (partial
                      จะเห็นว่าในเซกเมนต์หมาย 1, 2 และ 3 จะมีการทำงานตามหลักการของ Three-way handshaking ที่ได้กล่าวไป
                      แล้ว






                                               only





                                    KKU







                                 รูปที่ 27.10: ตัวอย่างการทำงาน Three-way handshaking บนแอพพลิเคชัน Line





                      27.3.4 การสิ้นสุดการเชื่อมต่อ

                      เมื่อการรับส่งข้อมูลสิ้นสุด สิ่งที่ TCP ต้องทำคือการยกเลิกการเชื่อมต่อ ซึ่งทั้งสองฝ่ายจะต้องยอมรับการยกเลิกนี้
                      ดังนั้นจึงจำเป็นต้องมีการแลกเปลี่ยนเซกเมนต์ของ TCP อีกครั้ง เมื่อฝั่งหนึ่งแจ้งว่าต้องการที่จะปิดและอีกฝั่งยอมรับ

                      การเชื่อมต่อของ TCP จึงสิ้นสุดลง
                         ในทำนองเดียวกันกับการสร้างการเชื่อมต่อ เรากำหนดให้บิต SYN เป็น 1 ในการยกเลิกการเชื่อมต่อนี้ เราจะ
                      กำหนดให้บิต FIN เป็น 1 แทน เพื่อแจ้งถึงการสิ้นสุดการเชื่อมต่อ รูปที่ 27.11 แสดงขั้นตอนการยกเลิกการเชื่อมต่อ
                      นี้
                         การยกเลิกเริ่มจากไคลเอนต์ส่งเซกเมนต์ TCP พร้อมกำหนดให้บิต FIN มีค่าเป็น 1 โดยมี Sequence number
                      เป็น x และ ACK เป็น y เมื่อเซิร์ฟเวอร์ได้รับเซกเมนต์นี้ จะตอบกลับด้วย ACK ในขณะเดียวกันเซิร์ฟเวอร์แจ้งไปยัง

                      แอพพลิเคชันที่ใช้การเชื่อมต่อนี้ เซิร์ฟเวอร์รอจนกระทั่งได้รับการตอบรับจากแอพพลิเคชันเพื่อยืนยันการสิ้นสุดการ
   223   224   225   226   227   228   229   230   231   232   233