Xem mẫu

  1. Chương 4 Giao th c TCP 1
  2. N I DUNG Ì T ng quan Giao th c truy n t i hư ng k t n i, TCP H C u trúc segment Ì Truy n t i s li u tin c y i u khi n lu ng (flow control) Ì Ì Qu n lý liên k t Ì Ki m soát ngh n Ì Ki m soát ngh n TCP Chương 4-Giao th c TCP 3-2
  3. T ng quan TCP Ì RFCs: 793, 1122, 1323, 2018, Ì Song công hoàn toàn: 2581 H Lu ng s li u ch y trên c Ì point-to-point: hai chi u c a cùng k t n i H M t truy n và m t thu Ì K t n i có hư ng (connection-oriented): Ì Tin c y, gi úng th t B t tay thông qua tra i Ì C ơ ch ng d n (pipeline): H thông i p i u khi n H Ki m soát ngh n và i u i u khi n lu ng: khi n lu ng, cài t c a s Ì Máy phát không làm tràn S d ng b m truy n và H Ì b m máy thu nh n ng d ng Ưng d ng ghi data c data socket socket door door TCP TCP b m thu b m truy n segment Chương 4-Giao th c TCP 3-3
  4. C u trúc TCP segment URG: urgent data, 32 bits báo có data kh n trong segment ư c ch m theo byte source port # dest port # ra b i data pointer s li u sequence number ACK: ACK # acknowledgement number là h p l head not Receive window UA P R S F PSH: chuy n data len used lên trên ngay checksum Urg data pointer S byte (# bytes) RST, SYN, FIN: Options (chi u dài thay i) Máy thu s n sàng nh n Thi t l p k t n i S li u c a ng d ng (chi u dài thay i) Internet checksum (như UDP) Chương 4-Giao th c TCP 3-4
  5. Ch s tu n t và báo nh n ACK TCP xem toàn b kh i s li u là m t dòng các byte liên t c Ch s tu n t trong m i segment là th t trong dòng byte c a byte u tiên trong ph n data c a segment Ch s báo nh n ACK trong segment là ch s tu n t c a byte k ti p trong dòng byte mà máy g i segment này ang ch . Chương 4-Giao th c TCP 3-5
  6. Ví d ng d ng Telnet Khái ni m: Server Client Ì Piggyback User Seq=4 2, AC Gõ ký t Ì Cumulative ACK K=79, d ata = ‘C’ ‘C’ Nh n 'C' và truy n l i ‘C’ ‘C’ ata = 3, d CK=4 9, A eq=7 S Nh n 'C' và ph n h i Seq=4 v i data 3, ACK =80 tr ng Gi s client b t u v i tu n t 42 time Server b t u v i tu n t 79 Chương 4-Giao th c TCP 3-6
  7. Tham s RTT và Timeout (1) Tính RTT? Giá tr timeout? o lư ng th i gian t khi truy n Ì Ph i l n hơn th i gian Ì segment n khi nh n ACK hành trình RTT (round trip time) Ì Th i gian này thay i--> trung bình RTT thay i H Ì Quá ng n? Ì Quá dài? Chương 4-Giao th c TCP 3-7
  8. Tham s RTT và Timeout (2) EstimatedRTT = (1- α)*EstimatedRTT + α*SampleRTT Ì Exponential weighted moving average nh hư ng c a m u quá kh gi m nhanh theo hàm mũ Ì Ì Giá tr tiêu bi u là: α = 0.125 Chương 4-Giao th c TCP 3-8
  9. Ví d RTT: gaia.cs.umass.edu to fantasia.eurecom.fr 350 300 250 RTT (milliseconds) 200 150 100 1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106 time (seconnds) SampleRTT Estimated RTT Chương 4-Giao th c TCP 3-9
  10. Tham s RTT và Timeout (3) Cài t timeout Ì EstimtedRTT c ng v i “gia s an toàn” i nhi u -> gia s l n hơn EstimatedRTT thay H Ì Trư c h t xác nh l ch c a m u so v i EstimatedRTT: DevRTT = (1-β)*DevRTT + β*|SampleRTT-EstimatedRTT| (giá tr tiêu bi u β = 0.25) Sau ó gán giá tr timeout interval: TimeoutInterval = EstimatedRTT + 4*DevRTT Chương 4-Giao th c TCP 3-10
  11. N I DUNG Ì T ng quan Giao th c truy n t i hư ng k t n i, TCP H C u trúc segment Ì Truy n t i s li u tin c y i u khi n lu ng (flow control) Ì Ì Qu n lý liên k t Ì Ki m soát ngh n Ì Ki m soát ngh n TCP Chương 4-Giao th c TCP 3-11
  12. Truy n s li u tin c y Ì TCP th c hi n d ch v Ì Vi c truy n l i ưc truy n s li u tin c y ngay kích ho t b i: trên d ch v chuy n S ki n timeout H datagram không b o m IP Nh n ack trùng H Ì Các segment ư c chuy n theo cơ ch ng d n (Pipeline) Ì Dùng báo nh n ki u tích lũy i di n (cumulative ack) Ì TCP dùng m t b nh th i truy n l i Chương 4-Giao th c TCP 3-12
  13. Các s ki n phía TCP sender Nh n data t ng d ng: timeout: Ì T o segment v i ch s Ì Truy n l i segment gây tu n t k ti p (seq #) ra timeout Ì Kh i ng timer n u Ì Kh i ng l i timer chưa ch y (như cho Nh n ACK: segment cũ nh t chưa Ì N u ack cho các có báo nh n) segment cũ chưa có Ì Kho ng th i gian báo nh n timeout ư c gán: C p nh t H TimeOutInterval Kh i ng timer n u còn H segment ang i Chương 4-Giao th c TCP 3-13
  14. Các k ch b n truy n l i Host A Host B Host A Host B Seq=9 Seq=9 2, 8 b 2, 8 b ytes d yt es dat ata Seq=92 timeout Seq= a 100, 20 by tes d timeout ata 100 CK= A 00 =1 X 0 CK CK=12 AA loss Seq=9 Seq=9 2, 8 b 2, 8 b Sendbase yt es dat yt es dat a a = 100 Seq=92 timeout SendBase 20 = 120 K=1 100 AC CK= A SendBase SendBase = 100 = 120 Timeout s m time time M t ACK Chương 4-Giao th c TCP 3-14
  15. K ch b n truy n l i (2) Host A Host B Seq=9 2, 8 b yt es dat a 100 timeout CK= Seq=1 A 0 0, 20 bytes data X loss 120 SendBase CK= A = 120 time ACK tích lũy i di n Chương 4-Giao th c TCP 3-15
  16. Phát sinh ACK c t theo RFC 1122, RFC 2581 Hành vi t i máy thu S ki n t i máy thu Ch m ACK. i segment k trong Segment n úng th t v i ch 500ms. N u không có segment k , s mong i. T t c data n ch g i ACK s này u ã ư c báo nh n G i ngay m t ACK i di n báo Segment n úng th t v i ch nh n cho c hai m t lúc s mong i. M t segment khác ang ư c xúc ti n báo nh n G i ngay ACK trùng ch s ch ra Segment n không úng th t byte ang i k ti p v i ch s l n hơn ch s mong i. Phát hi n m t segment G i ngay ACK,báo ch segment v i Segment n b sung vào m t byte b t u t i ch thi u u tiên ph n hay toàn b s b m t Chương 4-Giao th c TCP 3-16
  17. Truy n l i nhanh (Fast Retransmit) Ì Kho ng time out tương Ì N u máy phát nh n 3 i dài: ACK trùng cho cùng data, xem như segmnet Ch m truy n l i segment H b mt k ti p ã b m t: Ì Phát hi n m t segment Truy n l i nhanh : truy n H l i trư c khi timer h t qua ACK trùng. hn Sender g i nhi u H segment liên ti p N u segment b m t s H có nhi u ACK trùng. Chương 4-Giao th c TCP 3-17
  18. Host A Host B X timeout Truy nl il n2 time Truy n l i sau khi nh n ba ACK trùng Chương 4-Giao th c TCP 3-18
  19. Gi i thu t truy n l i nhanh: s ki n: nh n ACK , v i giá tr ACK cho y if (y > SendBase) { SendBase = y if (có các segment v n chưa ư c báo nh n) start timer } else { tăng s m ACK nh n cho y if (n u s m ACK nh n cho y = 3) { truy n l i segment v i s tu n t y } M t ACK trùng cho Truy n l i nhanh segment ư c báo nh n Chương 4-Giao th c TCP 3-19
  20. N I DUNG Ì T ng quan Giao th c truy n t i hư ng k t n i, TCP H C u trúc segment Ì Truy n t i s li u tin c y i u khi n lu ng (flow control) Ì Ì Qu n lý liên k t Ì Ki m soát ngh n Ì Ki m soát ngh n TCP Chương 4-Giao th c TCP 3-20
nguon tai.lieu . vn