36
CPE 426 Computer Networks Chapter 8: Text Chapter 26: TCP

CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

CPE 426 Computer Networks

Chapter 8: Text Chapter 26: TCP

Page 2: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

TOPICS Chapter 26: TCP (Transmission Control Protocol)

Transport Services Transport Protocol Techniques Congestion Control/Avoidance Techniques Packet Loss and Adaptive Retransmission Buffers, Flow Control and Windows TCP Three-Way Handshake TCP Congestion Control TCP Segment Format

Page 3: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP Transport Control Protocol Reliable Protocol for the Internet TCP/IP (TCP over IP)

Page 4: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: Reliable Transport Service

ในกรณทเราตองการความม นใจในการสงขอมลไดอยางถกตอง ผาน IP ทมการทางานแบบ Datagram เราตองใส Mechanism เพอใหความม นใจดงกลาวลงใน Protocol ของ Layer 4 (Host-to-Host หรอ Transport)

เราจะตองเลอกใช TCP (Transmission Control Protocol) เรยกรวมๆวา TCP/IP การใช TCP+IP ทาใหผเขยน Application ไมตองกงวลเรองของการสงขอมลอกตอไป

เพยงแตนาขอมลสงให พรอมกาหนด IP Address และ Port Number จากนน ระบบ TCP/IP จะจดการทเหลอให ผดกบกรณทใช UDP/IP ในบททแลว กลาวคอ TCP จะให Reliability ในการสอสาร

Page 5: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.3 TCP Service

TCP ใหบรการของ 7 สวนใหญๆ ดงน Connection Orientation

TCP ใหบรการแบบ Connection-Oriented ซง Application จะตองรองขอการเชอมตอกอนทจะมการสงขอมล

Point-to-Point Communication แตละ Connection ของ TCP จะมสอง End Points เทานน (กาหนด Port ตนทาง-ปลายทาง และ IP ตนทาง-ปลายทาง )

Complete Reliability TCP จะ Guarantee วาขอมลทสง จะไปถงทหมายไดอยางถกตอง สมบรณ และเปนลาดบ

Full Duplex Communication แตละ TCP Connection จะยอมใหขอมลสงไดสองทศทาง ตลอดเวลา

Page 6: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.3 TCP Service(2)

TCP ใหบรการของ 7 สวนใหญๆ ดงน(ตอ) Stream Interface

Application สามารถสงขอมลไดอยางตอเนอง Octet ตอ Octet ผาน TCP Connection โดย TCP จะไมมการรวมกลมของ Data ใหเปน Record หรอ Message และจะไม Guarantee วาแตละสวนของขอมลทไปถงมขนาดเทากบท Application สงให(มการทา Segmentation)

Reliable Connection Startup TCP ใหสอง Application สามารถเรมตนการสอสารไดอยางมนใจ

Graceful Connection Shutdown กอนทจะจบ Connection นน TCP จะใหความมนใจวาขอมลได ถกสงอยางครบถวนทงสองฝง และทงสองฝงยนยอมใหมการจบการเชอมตอ

Page 7: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection

TCP จดวาเปน End-to-End Protocol เหมอน UDP

เนองจากมนใหบรการการสอสารระหวาง Application ของสอง Computer

แตมนเปน Connection-Oriented เนองจากตองมการทา Connection กอนสงขอมล และตองมการทา Disconnection

Connection ของ TCP จดวาเปน Virtual Connection

เนองจากกระทาผาน Software เพราะตว Network (IP) นนเปน Connectionless(Datagram)

Page 8: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection

แตละ TCP Message(Segment) จะถกบรรจใน IP Datagram และสงผาน Internet เมอถงปลายทาง IP จะปลอก Datagram Payload และสงตอไปยง TCP

IP จะมอง TCP เปนแค Data ทจะตองสง TCP จะมอง IP เปนพาหนะสาหรบสงขอมล ไปยง TCP อกฝงหนง

Page 9: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.5 Transport Protocol Techniques

ปญหาท End-to-End Transport Protocol จะตองเจอ ในการไดมาซง Reliable Service

Unreliable Communication Message อาจจะสญหาย ซาซอน ผดพลาด ถกหนวงเวลา หรอสงมาไมเปนลาดบ (Lost, Duplicated, Corrupted, Delayed, Out of Order)

End System Reboot ถา Host เกด Crash หรอมการ Reboot ขอมลทคางอย จะตองไมสบสนกบ Session ทถกสรางขนมาใหม

Heterogeneous End System แตละ Host ทเชอมตอใน Internet มความสามารถรบ-สงขอมลไดไมเทากน

Congestion in the Internet เมอมการสงขอมลมากเกนไป จะเกดความคบคงภายใน Network ได

ปกตแลว Transport Protocol จะใชหลายๆวธรวมกน ในการจดการกบปญหาเหลาน เราจะกลาวพนฐานแตละอนตอไป

Page 10: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.5.1 Sequencing to Handle Duplicates and Out-of-Order Delivery

Transport Protocol จะทา Sequencing (กาหนดหมายเลขลาดบของขอมล) ในการจดการกบปญหาเรอง Duplicate Data และขอมลทไปถงอยางไมเปนลาดบ

คลายกบวธทกระทาใน Layer 2 หมายเลขขอมลทาใหเรารวาขอมลนนมาซากนหรอไม ทาใหรวาขอมลมาเปนลาดบหรอไม

Page 11: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.5.2 Retransmission to Handle Lost Packet ในการจดการกบ Packet Lost น น Transport Protocol จะใช Positive Acknowledgement รวมกบการ Retransmission

คลายกบ Mechanism ใน Layer 2 เชนกน เมอ Frame มาถงอยางถกตอง จะมการสง ACK Message กลบไป เมอผสง สงขอมลแตละ Packet จะมการจบเวลาโดยใช Timer

ถา Timer Expire (คอไมไดรบ ACK ในเวลาทกาหนด) ผสงจะทาการ Retransmission ขอมลนนไปใหม

ถา Packet มการ Delay มาก อาจจะทาใหเกด Retransmission ยงผลใหเกด Duplicate Packet

Page 12: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.5.3 Techniques to Avoid Replay ในกรณท Network ม Delay สง อาจจะทาใหเกด ‘Replay Error’ โดยท Packet ท Delay น นจะสงผลตอการสอสารในตอนหลง ยกตวอยาง

สองคอมพวเตอรตกลงจะสอสารกนเมอเวลา 13.00 น. คอมพวเตอรเครองหนง สง 10 Packet ตดตอกนไปยงฝงตรงขาม ปญหาดาน Hardware ทาให Packet 3 ถก Delay ไป เสนทางการสงขอมลถกเปลยน เพอใชเสนทางทไมผานอปกรณทมปญหา Protocol ทคอมพวเตอรตนทางสง Packet 3 ไปใหม จากนนสง Packet อนๆตาม จากนนจบการสอสาร

Page 13: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.5.3 Techniques to Avoid Replay

สองคอมพวเตอรตกลงจะสอสารกนเมอเวลา 13.00 น. คอมพวเตอรเครองหนง สง 10 Packet ตดตอกนไปยงฝงตรงขาม ปญหาดาน Hardware ทาให Packet 3 ถก Delay ไป เสนทางการสงขอมลถกเปลยน เพอใชเสนทางทไมผานอปกรณทมปญหา Protocol ทคอมพวเตอรตนทางสง Packet 3 ไปใหม จากนนสง Packet อนๆตาม จากนนจบการสอสาร เวลา 13.05 น. คอมพวเตอรทงสองตกลงทจะสอสารกนใหม หลงจากผสงคนเดม สงไปไดสอง Packet แลว ตว Packet 3 จากการสอสารครงแรกทถก Delay มาถงยงผรบ ตอจากนน Packet ท 3 จากการสอสารครงทสองมาถงยงผรบ

Transport Protocol ตองออกแบบเพอจดการกบเร องน มฉะน นผรบจะได Packet 3 ทผดพลาด ในขณะทโยนทง Packet ทถกตอง

Protocol จะตอง Mark แตละ Session โดยใช ID ทเฉพาะ ไมซากน โดยการนา ID กลบมาใชใหมตองใหแนใจวาจะไมเกด Replay (เวลาตองหางกน)

Page 14: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

9

4

1

Replay (Selective Reject)

?

0

3 5 6 7 8

2

0 1 2 3

Page 15: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.5.3 Techniques to Avoid Replay Replay ยงสามารถเกดกบ Control Packet ไดเชนกน

เชน Connection Closing Packet ถก Delay และไปถงหลงจากมการทา Connection ใหมครงทสอง

Page 16: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.5.4 Flow Control to Prevent Data Overrun

ในการจดการเรอง Heterogeneous End System ทมความสามารถไมเทากน ตว Transport Protocol จะใชวธการของ Flow Control เพอควบคม

Stop-and-go Protocol มกจะไมใช เนองจากมประสทธภาพตา ปกตจะใช Sliding Window Flowcontrol เชนเดยวกน จะคลายกบ Flow Control ใน Layer 2

การคานวณ Efficiency จะคลายกบทกลาวมาแลวใน Layer 2 ใหดใน Slide กอนหนา หรอดจาก CPE 326 Course Notes

Page 17: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.5.4 Flow Control to Prevent Data Overrun

Page 18: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.6 Techniques To Avoid Congestion

Congestion เกดเมอมขอมลทจะสงมากเกนกวาท Network จะรบได

อธบายไดโดยใช Queuing Theory Packet จะถก Delay ไปมาก ในลกษณะ Exponential ถา Queue ลน Packet จะสญหาย

1 Gbps 1 Gbps

1 Gbps

Page 19: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.6 Techniques To Avoid Congestion

Retransmission เนองจาก Queue ลน จะทาใหเกด Congestion Collapse

Packet ท Retransmit จะถกโยนทงอก เพราะ Queue ลน Congestion จะตองตรวจจบไดอยางทนทวงท และทาการแกไข มฉะน นจะเกดผลเสยหายตอท ง Network ซงการตรวจจบของ Transport Protocol จะใชพนฐานจากสองวธ

Intermediate System(Router) จะตองแจงไปยงผสง เมอม Congestion ผสงตรวจจบการเกด Congestion เอง โดยดจากคา Delay หรอจานวน Loss ของ Packet

ใน Internet จะใชวธการน เนองจาก Delay และ Loss สวนใหญ (ถา ไมใชเกดจาก Hardware Failure) จะเปนผลมาจาก Congestion การแกคอลดการสงลง ทาไดโดยการควบคมท Flow Control (ลดขนาดของ Window ลง)

Page 20: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.7 The Art of Protocol Design

แตละ Technique ทกลาวมาจะตองถกเลอกใชอยาระวง และสงผลตอการออกแบบ Protocol Protocol Header จะตองม Field ทจะรองรบขอมลตางๆเพอควบคมการทางาน จะตองแกปญหาเรอง Computer Reboot ดวย เพอปองกน Duplicate Connection หรอการทา Connection ทไมถกตอง ในหวขอทจะกลาวตอไป จะเปนรายละเอยดเฉพาะท TCP เลอกใช

Page 21: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.8 Techniques Used In TCP To Handle Packet Loss

TCP ใชการ Retransmission ในกรณท Packet Loss

ผานการทา Positive Acknowledge ในการสอสารทงสองทศทาง มการใช Transmission Timer

Transmission Timer ควรตงไวเทาไร ตาเกนไป จะมผลใหม Duplicate Data ใน Network ทชาเชน Satellite Network สงเกนไป จะทาใหประสทธภาพลดลง เชนใน LAN Congestion ทเกดขนจะทาใหเกด Delay และมผลตอการตง Retransmission Timer

Ack อาจจะม Delay เพมในระดบ Magnitude ถาม Congestion Retransmission Timer ใน TCP จะตองมความสามารถปรบให เหมาะกบ Delay ใน Network

ไมเหมอนกบ Layer 2 Retransmission Timer ซงเปนระดบ Point-to-Point (Link) ทสามารถคานวณและกาหนดลวงหนาได

Page 22: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.8 Techniques Used In TCP To Handle Packet Loss

Page 23: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.9 Adaptive Retransmission

ผออกแบบ TCP เลงเหนวา การต ง Retransmission Timer ทคงทจะมผลตอประสทธภาพทลดลงของ Internet

เนองจาก Internet ประกอบดวย Network หลายๆ Technology ทมคา Delay ตางกน

TCP จะใช Adaptive Retransmission Timer ทสามารถปรบคาตามคา Delay ของ Network

TCP จะประมาณคา Round-trip Delay จากเวลาทสง Packet ออกไปและไดรบคาตอบกลบมา เชนตอนทา Connection หรอชวงการสงขอมลและไดรบ ACK

มนจะคานวณคา Round-Trip Delay โดยใช Weighted Average รวมกบคา Variance ปกต มนจะตงคา Timer สงกวา Round Trip เลกนอย เมอ Delay เรมมการเปลยนแปลง มนจะตงคา Timer เพมขนทสงกวาคา Mean ทคานวณได รวมกบคา Variance การใช Weight Average จะทาใหสามารถ Reset Timer เมอ Delay กลบเขาสคาปกต

Page 24: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.10 Comparison of Retransmission Timer

พจารณาจากการเกด Packet Loss ของสอง Network ทม Delay ตางกน

ถา Delay มคาสง TCP จะตงคา Timer ทสงตาม

Page 25: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.11 Buffers, Flow Control and Windows

TCP ใช Window Mechanism ในการควบคมการใหลขอมล

ตางจาก Window Flow Control ใน Layer 2 ทนบเปน Frame แต TCP จะกาหนด Window เปน Byte ของ Data ทสงได หลงจากทา Connection คอมพวเตอรทงสองฝงจะกาหนดคา Buffer (Memory) เพอใชในการรบ-สงขอมล

จากนนมนจะสงขนาดของ Buffer ทเหลอไปยงฝงตรงขาม เมอไดรบขอมล มนจะ Acknowledge ดวยคาของ Buffer ทยงสามารถรบได (Buffer ทเหลอ) ดงนนคาวา Window ในความหมายของ TCP คอ จานวน Buffer เปน Byte ทยงเหลออยทจะรบขอมลได

เรยก Window Advertisement ถาผสง สงขอมลเรวเกนไป ผรบไมสามารถ Process ทน มนจะ Acknowledge กลบมาดวย Zero Window

ผสงตองหยดสง

Page 26: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.11 Buffers, Flow Control and Windows(2)

ในตวอยาง ผสงใชขนาดของ Segment สงสด 1000 Bytes โดยกาหนด Initial Window Size 2500 Bytes

ผสงสงสาม Segment ขนาด 1000, 1000 และ 500 Bytes ผรบ Process ไมทน สง Zero Window Advertisement ผสงหยดสง ตอมาผรยทาการ Process 2000 Byte ของ Data จากนนทาการ Advertise วารบไดอก 2000 Byte เหนอจากทรบแลว 2500 Byte

Window Size จะวดตอจาก Data ททาการ Acknowledge เสมอ

ผสงสงอกสอง Segment แตละอนมขนาด 1000 Byte Window Size ลดลงเหลอศนยอก ทาใหผสงหยดสง

Page 27: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.11 Buffers, Flow Control and Windows(3)

Page 28: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.12 TCP Three-Way Handshake

ในการทจะใหแนใจวาการทา Connection และการ Terminate Connection ไมผดพลาด TCP จะใชวธการของ Three-Way Handshake

ระหวางการทา Three-way Handshake จะมการแลกเปลยน Control Message และกาหนดขนาดของ Buffer Three-Way Handshake จะสามารถจดการกบกรณทเกด Packet Loss, Duplicate, Delay และ Replay ได และจะ Guarantee วา Connection จะสรางและจบลง เมอทงสองฝายตกลงกน

Control Message ทใชระหวางทา Three-Way Handshake Connection เรยก Synchronization Segment (SYN Segment) และเรยก Finish Segment(FIN Segment) สาหรบ Control Message ตอนทา Termination ตอนทา Three-Way Handshake จะมการเลอก Sequence Number

แตละดานจะเลอกเลข 32 Bit แบบ Random เปน Sequence เรมตน ของ Data ถาเกดการ Reboot และ Application พยายามจะทา Connection ใหม โอกาสทจะได Sequence เดมจะนอยมาก ดงนนปญหา Replay จะเลยงได

ในกรณททา Close Connection จะมการสง FIN รวมกบ Acknowledge เพอใหแนใจวา Data ไดรบครบถวนกอนจะปด Connection

Page 29: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.12 TCP Three-Way Handshake(Open Connection)

Page 30: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.12 TCP Three-Way Handshake(Close Connection)

Page 31: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.13 TCP Congestion Control

TCP ม Congestion Control ทดเหมอนประหลาดกวาท วไป

เนองจาก Congestion ทาใหเกด Delay สงผลใหเกด Retransmission สงผลกลบมาให Congestion หนกขน คอเกด Congestion Collapse แมวาการจดการกบ Congestion ทวไปจะใชวธลดอตราการสง แต TCP ไมสามารถคานวณอตราการสงได เพราะวดการสงจาก Buffer ทไดรบจากอกฝงหนง ดงนนการควบคมอตราการสงใน TCP จะควบคมจากการเปลยนแปลงขนาดของ Window แทน

การลดขนาด Window ลงชวคราว จะเปนการลดอตราการสงขอมลไปในตว เมอม Data Loss (คอ Congestion ในมมมอง TCP) ขนาด Window จะถกลดลง

Page 32: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.13 TCP Congestion Control(2)

TCP ม Congestion Control หลาย Algorithm ทนยมคอวธของ ‘Slow Start’

เมอเรม Connection ใหม หรอกรณทม Message Loss มนจะเรมจากการสงหนง Message

ถามนไดรบ ACK มนจะสงสอง Message ถาไดรบ ACK ทงสอง มนจะสง 4 Messgae และจะสงเปนสองเทาตราบใดทไดรบ ACK ครบ เรอยไปจนถงสงเทากบครงหนงของ Window Size ท Advertise จากผรบ

จากนนมนจะเพมการสงแบบ Linear ตราบเทาทไมมการ Congestion

ถาม Congestion จะเรมสงทละ Message ใหม ดงนนทกคนจะหยดสงถาเกด Congestion และปองกนการเกด Congestion Collapse

Congestion Control จะใชรวมกบ Congestion Avoidance ซงม Algorithm มากมาย

Page 33: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.14 TCP Segment Format

ม Format เดยว ใชกบ Message, Acknowledge, SYN, FIN

แตละ Message ของ TCP เรยก Segment แตละ Segment สามารถสง Data, Acknowledge ของ Data ทไดรบ, Window Advertisement

Acknowledgement Number และ Window Field หมายถง Data ทไดรบ คอ Sequence Number เรมตนของ Data ถดไปทตองการ และ Buffer ทเหลอ ถา Data ทไดไมเปน Order มนจะสง Ack Number ของ Data ทคาดหวงซาๆจนกวาจะไดรบ Sequence Number หมายถง Sequence Number ของ Byte แรกของ Data ทสง Checksum จะเปน Checksum ของ Header และ Data Code Bit บงบอกวาเปน Segment ชนดใหน (Data, SYN, FIN)

Page 34: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

Chapter 26 TCP: 26.14 TCP Segment Format

Page 35: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

TCP Port เชนเดยวกนกบ UDP Port

Well-Known Port: 0-1023 FTP: 20/21 (Data/Control) Telnet: 23 SMTP: 25 DNS: 53 (UDP/TCP) BOOTP: 67/68 (Server/Client) (Mostly UDP) HTTP: 80

Registered Port: 1024-49151 Dynamic Port: 49152-65535

Page 36: CPE 426 Computer Networkscpe.rsu.ac.th/ut/e-book/computer networks/data/Ch8 TCP.pdf · Chapter 26 TCP: 26.4 End-to-End Service and Virtual Connection TCP จดวัาเป่็น

End of Week 11 HW 6: UDP และ TCP

ให Download Question จาก Web สง สปดาหหนา

Next Week, Week 12 Routing Part I: Routing Mechanism