Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
2,15 MB
Nội dung
Chương Tầng Vận chuyển (Transport layer) A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers) They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs They obviously represent a lot of work on our part In return for use, we only ask the following: If you use these slides (e.g., (e g in a class) that you mention their source (after all, we’d like people to use our book!) If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material Thanks and enjoy! JFK/KWR Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 All material copyright 1996-2012 J.F Kurose and K.W Ross, All Rights Reserved Tầng Transport 3-1 Chương 3: Tầng Vận chuyển Mục tiêu: g y lý ý Hiểu nguyên đằng sau dịch vụ tầng Vận chuyển: multiplexing/demultiplexi ng Truyền liệu tin cậy Điều khiển luồng (flow control) l) Điều khiển tắc nghẽn (congestion control) m hiểu g Tìm giao thức tầng Vận chuyển Internet: UDP: vận chuyển phi kết nối TCP: vận chuyển tin cậy hướng kết nối (connection oriented (connection-oriented reliable transport) Điều khiển tắc nghẽn TCP Tầng Transport 3-2 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 3: Nội dung 3.1 dịch vụ tầng Vận chuyển 3.2 multiplexing demultiplexing 3.3 vận chuyển phi kết nối: UDP 3.4 nguyên lý truyền liệu tin cậy 3.5 vận chuyển hướng kết nối: TCP nố CP Cấu trúc segment Truyền liệu tin cậy Điều khiển luồng (flow control) Quản lý kết nối 3.6 nguyên lý điều khiển tắc nghẽn 3.7 điều khiển tắc nghẽn TCP Tầng Transport 3-3 Các giao thức dịch vụ tầng Vận chuyển Cung cấp truyền thơng logic tiến trình ứng dụng chạy host khác Các giao thức (protocol) chạy hệ thống đầu cuối Phía gửi: chia nhỏ thông điệp (message) ứng dụng thành segments, sau chuyển segments cho tầng Mạng ậ tái kết hợp ợp Phía nhận: segments thành thông điệp (message), thông điệp chuyển lên tầng Ứng dụng Có nhiều giao thức tầng Vận chuyển dành cho ứng dụng Internet: TCP UDP application transport network data link physical application transport network data link physical Tầng Transport 3-4 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quan hệ Tầng Vận chuyển tầng Mạng Tầng Mạng: truyền y thông g l i logic i host Tầng Vận chuyển: truyền thơng logic tiến trình Dựa D vào tăng tă cường dịch vụ tầng Mạng Tình tương tự: 12 đứa trẻ nhà Ann gửi nh hững th hư đến 12 đứa trẻ nhà Bill: hosts = nhà Các tiến trình (processes) = đứa trẻ Thông điệp tầng Ứng ụ g = thư dụng phong h bì Giao thức tầng Vận chuyển = Ann and Bill Giao thức tầng Mạng= dịch vụ bưu điện Tầng Transport 3-5 Các giao thức tầng Vận chuyển Internet Tin cậy, truyền theo thứ tự (TCP) Điề Điền khiển khiể tắc tắ nghẽn hẽ Điều khiển luồng Thiết lập kết nối Không tin cậy, truyền không theo thứ tự: UDP Không hô rườm rà, mở rộng “nỗ lực tốt nhất” (besteffort) IP application transport network data link physical network data link physical network data link d l k physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical Khơng có dịch vụ: Bảo đảm độ trễ Bảo đảm băng thông CuuDuongThanCong.com Tầng Transport 3-6 https://fb.com/tailieudientucntt Chương Nội dung 3.1 dịch vụ tầng Vận chuyển 3.2 multiplexing demultiplexing 3.3 vận chuyển phi kết nối: UDP 3.4 nguyên lý truyền liệu tin cậy 3.5 vận chuyển hướng kết nối: TCP nố CP Cấu trúc segment Truyền liệu tin cậy Điều khiển luồng (flow control) Quản lý kết nối 3.6 nguyên lý điều khiển tắc nghẽn 3.7 điều khiển tắc nghẽn TCP Tầng Transport 3-7 Multiplexing/demultiplexing multiplexingtại bên gửi: xử lý liệu từ nhiều m thông g tin socket,, thêm header tầng Vận chuyển vào segment (được sử dụng sau cho demultiplexing) demultiplexing bên nhận: sử dụng thông tin header để chuyển segment vừa nhận vào socket application application P1 P2 application P3 transport P4 transport network transport link network network link physical physical socket tiến trình link physical Tầng Transport 3-8 CuuDuongThanCong.com https://fb.com/tailieudientucntt demultiplexing làm việc host nhận gói ệu (datagram) IP liệu 32 bits Số port nguồn Mỗi gói liệu có địa IP nguồn đích Mỗi gói liệu mang segment tầng Vận chuyển Mỗi segment có số port nguồn đích Số port đích other header fields application data ( (payload) l d) hostt dùng h dù đị địa hỉ IP số port để gởi segment đến socket thích hợp Định dạng segment TCP/UDP Tầng Transport 3-9 Demultiplexing khơng kết nối Ơn lại: socket tạo có số port host cục ((host-local p port #)) : DatagramSocket mySocket1 = new DatagramSocket(12534); Khi host nhận g UDP : segment Kiểm tra số port đích segment Đưa segment UDP đến socket có số port Ơn lại: tạo gói liệu (datagram) để gởi D vào đến socket UDP socket, phải xác định Địa IP đích Số port đích Các gói liệu IP với số port đích, h địa khác đ h IP nguồn và/hoặc khác số port nguồn chuyển đến socket máy đích Tầng Transport 3-10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Demultiplexing khơng kết nối: ví dụ DatagramSocket mySocket2 = new DatagramSocket (9157); DatagramSocket serverSocket = new DatagramSocket (6428); DatagramSocket mySocket1 = new D t DatagramSocket S k t (5775); application application application P1 P3 P4 transport transport transport network network network link link link physical physical h i l Port nguồn: 6428 Port đích: 9157 ph si l physical Port nguồn: ? Port đích: ? Port nguồn: ? Port đích: ? Port nguồn: 9157 Port đích: 6428 Tầng Transport 3-11 Demux hướng kết nối Socket TCP xác định bở yếu tố: Địa IP nguồn Số port nguồn Địa IP nguồn Số port đích demux: nơi nhận dùng tất giá trị để điều hướng segment đến socket thích hợp host server hỗ ợ nhiều socket TCP trợ đồng thời: Mỗi socket xác định Các web server có socket khác cho kết nối từ client Kết nối HTTP không bền vững có socket khác cho yêu cầu Tầng Transport 3-12 CuuDuongThanCong.com https://fb.com/tailieudientucntt Demultiplexing hướng kết nối: ví dụ application application P4 P3 P5 application P6 P3 P2 transport transport network network link link physical physical network link physical server: địa IP B Địa IP nguồn,port: B,80 Địa IP đích,port: A,9157 host: địa IP A transport host: địa IP C IP nguồn,port: C,5775 IP đích,port: B,80 IP nguồn,port: A,9157 IP đích, port: B,80 IP nguồn,port: C,9157 IP đích,port: B,80 Ba segment, tất đưa đến địa IP: B, Port đích: 80 demultiplex đến socket khác Tầng Transport 3-13 Demultiplexing hướng kết nối: ví dụ threaded server application application P3 application P4 P3 P2 transport transport network network link link physical physical host: địa IP A transport network link server: địa IP B IP nguồn,port: B,80 IP đích,port: A,9157 IP nguồn,port: A,9157 IP đích, port: B,80 physical IP nguồn,port: C,5775 IP đích,port: B,80 host: địa IP C IP nguồn,port: C,9157 IP đích,port: B,80 Tầng Transport 3-14 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương Nội dung 3.1 dịch vụ tầng Vận chuyển 3.2 multiplexing demultiplexing 3.3 vận chuyển phi kết nối: UDP 3.4 nguyên lý truyền liệu tin cậy 3.5 vận chuyển hướng kết nối: TCP nố CP Cấu trúc segment Truyền liệu tin cậy Điều khiển luồng (flow control) Quản lý kết nối 3.6 nguyên lý điều khiển tắc nghẽn 3.7 điều khiển tắc nghẽn TCP Tầng Transport 3-15 UDP: User Datagram Protocol [RFC 768] “đơn giản,” “bare bones” giao thức thuộc tầng Vận chuyển y Dịch vụ “best effort” (“nỗ lực tốt nhất”), segment UDP bị: Mất mát Vận chuyển không theo thứ tự đến ứng dụng đích Connectionless (phi kết nối): Khơng bắt tay bên nhận gửi UDP Mỗi segment UDP xử lý độc lập Ứng dụng UDP: Các ứng dụng đa phương tiện trực tuyến (chịu mát(loss tolerant), (cần tốc độ) (rate sensitive) ) DNS SNMP Truyền tin cậy UDP UDP: Thêm độ tin cậy tầng Ứng dụng Phục hồi lỗi ứng dụng cụ thể! Tầng Transport 3-16 CuuDuongThanCong.com https://fb.com/tailieudientucntt UDP: segment header 32 bits Số port nguồn Số port đích length checksum Độ dài tính byte segment UDP, bao gồm heade header Tại có UDP? Dữ liệu ứng dụng (payload) Định dạng segment UDP Không thiết lập kết nối (có thể gây độ trễ) Đơn giản: không trạng thái kết nối nơi gửi nhận Kích thước header nhỏ Khơng điều khiển tắc nghẽn: UDP gửi liệu nhanh mong muốn Tầng Transport 3-17 UDP checksum Mục tiêu: dị tìm “các lỗi” (các bit cờ bật) g segment g truyền y bên gửi: bên nhận: Xét nội dung segment, bao gồm trường header, chuỗi số nguyên 16-bit checksum: h k tổ bù tổng chuỗi số 16 bit nội dung segment Bên gửi đặt giá trị checksum vào trường checksum UDP CuuDuongThanCong.com Tính tốn checksum segment nhận Kiểm tra giá trị có với giá trị trường checksum hay khơng khơng: NO – có lỗi xảy YES – khơng có lỗi Nhưng cịn lỗi khác không? Xem phần sau… Tầng Transport 3-18 https://fb.com/tailieudientucntt Internet checksum: ví dụ Ví dụ: cộng số nguyên 16 bit 1 1 0 1 0 1 0 1 1 1 1 1 1 bit dư 1 1 1 1 1 1 tổng 1 1 1 1 1 1 0 checksum 1 0 0 0 0 1 Lưu ý: cộng số, bit nhớ phía cao cần thêm vào kết Tầng Transport 3-19 Chương Nội dung 3.1 dịch vụ tầng Vận chuyển 3.2 multiplexing demultiplexing 3.3 vận chuyển phi kết nối: UDP 3.4 nguyên lý truyền liệu tin cậy 3.5 vận chuyển hướng kết nố CP nối: TCP Cấu trúc segment Truyền liệu tin cậy Điều khiển luồng (flow control) Quản lý kết nối 3.6 nguyên lý điều khiển tắc nghẽn 3.7 điều khiển tắc nghẽn TCP Tầng Transport 3-20 CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 TCP bắt tay lần: FSM closed Socket connectionSocket = welcomeSocket.accept(); SYN(x) SYNACK(seq=y,ACKnum=x+1) Tạo socket để giao tiếp ngược lại với client listen SYN(seq=x) SYN sent SYN rcvd ACK(ACKnum=y+1) Socket clientSocket = newSocket("hostname","port number"); ESTAB SYNACK(seq=y,ACKnum=x+1) ACK(ACKnum=y+1) Tầng Transport 3-81 TCP: đóng kết nối Mỗi bên client server đóng kết nối bên phía Gởi TCP segment với FIN bit = Phản hồi ACK cho FIN vừa nhận Khi nhận FIN, ACK kết hợp với FIN Các trao đổi FIN đồng thời sử dụng Tầng Transport 3-82 CuuDuongThanCong.com https://fb.com/tailieudientucntt 41 TCP: đóng kết nối Trạng thái client Trạng thái server ESTAB ESTAB clientSocket.close() FIN_WAIT_1 FIN_WAIT_2 Có thể khơng cịn gửi cịn nhận liệu Chờ server đóng FINbit=1, seq=x CLOSE_WAIT ACKbit=1; ACKnum=x+1 FINbit=1, seq=y TIMED_WAIT Thời gian chờ tối đa lần thời gian sống segment Vẫn gửi liệu LAST_ACK Có thể khơng cịn gửi ửi liệ liệu ACKbit=1; ACKnum=y+1 CLOSED CLOSED Tầng Transport 3-83 Chương Nội dung 3.1 dịch vụ tầng Vận chuyển 3.2 multiplexing demultiplexing 3.3 vận chuyển phi kết nối: UDP 3.4 nguyên lý truyền liệu tin cậy 3.5 vận chuyển hướng kết nố CP nối: TCP Cấu trúc segment Truyền liệu tin cậy Điều khiển luồng (flow control) Quản lý kết nối 3.6 nguyên lý điều khiển tắc nghẽn 3.7 điều khiển tắc nghẽn TCP Tầng Transport 3-84 CuuDuongThanCong.com https://fb.com/tailieudientucntt 42 Các nguyên lý điều khiển tắc nghẽn (congestion control) Tắc nghẽn: “quá nguyền nguồn gửi nhiều liệu với tốc độ nhanh vượt khả xử lý mạng” Khác với điều khiển luồng (flow control)! Các biểu hiện: Mất g gói (tràn đệm router) Độ trễ lớn (xếp hàng đệm router) 10 vấn đề khó khăn! Tầng Transport 3-85 Ngun nhân/Chi phí tắc nghẽn: tình gửi, nhận router, đệm không giới hạn Khả đường link đầu ra: R Không truyền lại liệu gốc: in thông lượng: Host A out Bộ đệm đường link đầu chia không giới hạn Host B out delay R/2 in R/2 Thông lượng lớn kết nối: R/2 in R/2 Độ trễ lớn tốc độ đến, lin, vượt tới capacity Tầng Transport 3-86 CuuDuongThanCong.com https://fb.com/tailieudientucntt 43 Nguyên nhân/Chi phí tắc nghẽn: tình router, đệm có giới hạn bên gửi truyền lại packet bị hết thời gian chờ iinputt tầ tầng Ứng Ứ dụng d = output t t tầng tầ Ứng Ứ dụng: d lin = lout input tầng Vận chuyển bao gồm việc truyền lại: l‘in lin in : data gốc 'in: data gốc, cộng với out liệu truyền lại Host A Bộ đệm đường link đầu chia giới hạn Host B Tầng Transport 3-87 Ngun nhân/Chi phí tắc nghẽn: tình R/2 out Lý tưởng hóa: kiến thức hồn hảo Bên gửi gửi nhớ đệm router sẵn sàng in : data gốc 'in: data gốc, cộng với copy in R/2 out liệu truyền lại A Host B CuuDuongThanCong.com free buffer space! Bộ nhớ đệm đường link đầu chia giới hạn Tầng Transport 3-88 https://fb.com/tailieudientucntt 44 Nguyên nhân/Chi phí tắc nghẽn: tình Lý tưởng hóa: packet bị bị loại bỏ router nhớ đệm bị đầy Bên gửi gởi lại gói bị in : data gốc 'in: data gốc, cộng với copy out liệu truyền lại A Khơng cịn nhớ đệm! Host B Tầng Transport 3-89 Ngun nhân/Chi phí tắc nghẽn: tình thể bị bị loại bỏ router nhớ đệm bị đầy Bên gửi gởi lại gói bị R/2 Khi gửi R/2, số packet t ề llại, truyền i h tiệm cân goodput R/2 (tại sao?) oout Lý tưởng hóa: packet có in in : data gốc 'in: data gốc, cộng với R/2 out liệu truyền lại A Khơng cịn nhớ đệm! Host B Tầng Transport 3-90 CuuDuongThanCong.com https://fb.com/tailieudientucntt 45 Ngun nhân/Chi phí tắc nghẽn: tình Các packet bị , bị bỏ router nhớ đệm đầy Th i gian Thời i time i out bên bê gửii hết hế sớm, gởi giống nhau, gửi R/2 Khi gửi R/2, số packet t ề lại, truyền l i bao b gồm packet bị trùng gửi đi! oout Thực tế: trùng lặp in R/2 in 'in timeout copy A out Khơng cịn nhớ đệm! Host B Tầng Transport 3-91 Ngun nhân/Chi phí tắc nghẽn: tình Các packet bị , bị bỏ router nhớ đệm đầy Thời gian time out bên gửi hết sớm, gởi giống nhau, gởi R/2 Khi gửi R/2, số packet truyền t ề lại, l i bao b gồm packet bị trùng gửi đi! out o Thực tế: trùng lặp in R/2 “chi phí” tắc nghẽn: Nhiều việc ệ ((truyền y lại) ) cho “goodput” g p Truyền lại không cần thiết: đường truyền mang nhiều gói Giảm goodput Tầng Transport 3-92 CuuDuongThanCong.com https://fb.com/tailieudientucntt 46 Nguyên nhân/Chi phí tắc nghẽn: tình Hỏi: xảy lin lin’ người gởi tăng? Các đường qua nhều hop TL: lin’ màu đỏ tăng, tất timeout/truyền lại packet màu xanh đến hàng đợi Host A phía bị loại bỏ, thông lượng màu xanh -> in : data gốc 'in: data gốc, cộng với out Host B liệu truyền lại finite shared output link buffers Host D Host C Tầng Transport 3-93 Nguyên nhân/Chi phí tắc nghẽn: tình out C/2 in’ C/2 “Chi Chi phí phí” khác tắc nghẽn Khi gói bị loại bỏ, “lưu lượng tải lên (upstream) dùng cho gói bị lãng phí!” Tầng Transport 3-94 CuuDuongThanCong.com https://fb.com/tailieudientucntt 47 Các phương pháp tiếp cận điều khiển tắc nghẽn phương pháp tiếp cận: Điều khiển tắc nghẽn g có hỗ trợ mạng (networkassisted) : Điều khiển tắc nghẽn end-end : Khơng có phản hồi rõ ràng từ mạng Tắc nghẽn suy từ việc quan sát hệ thống g đầu cuối có ấ mát bị trễễ TCP giao nhiệm vụ xử lý tắc nghẽn Các router cung cấp phản hồi đến hệ thống đầu cuối Bit đơn tắc nghẽn (SNA, DECbit, TCP/IP ECN, ATM) Tốc độ gửi người gửi xác định rõ ràng Tầng Transport 3-95 Ví dụ: điều khiển tắc nghẽn ATM ABR ABR: available bit rate: Các gói RM (resource management cell): “dịch vụ mềm ề dẻo” Nếu đường gửi “dưới tải”: Bên gửi dùng băng thông trống Nếu đường gửi bị tắc nghẽn: Bên gửi điều tiết với tốc độ tối thiểu bảo đảm Được gửi bên ê gửi, xen kẽ với gói liệu Các bit RM cell thiết lập switch NI bit: không tăng tốc độộ ((tắc nghẽn g nhẹ) ẹ) CI bit: tắc nghẽn rõ rệt Các RM cell trả bên gửi từ bên nhận với nguyên vẹn bit Tầng Transport 3-96 CuuDuongThanCong.com https://fb.com/tailieudientucntt 48 Ví dụ: điều khiển tắc nghẽn ATM ABR RM cell data cell Trường byte ER (tốc độ tường minh) cell RM Switch bị tắc nghẽn giảm giá trị ER gói tốc độ gửi điều tiết cho phù hợp với tốc độ tối đa mà đường truyền hỗ trợ Bit EFCI bit cell liệu: thiết lặp switch bị tắc nghẽn Nếu gói liệu đứng trước RM cell có bit EFCI bật lên, bên gửi bật bit CI RM cell trả Tầng Transport 3-97 Chương Nội dung 3.1 dịch vụ tầng Vận chuyển 3.2 multiplexing demultiplexing 3.3 vận chuyển phi kết nối: UDP 3.4 nguyên lý truyền liệu tin cậy 3.5 vận chuyển hướng kết nố CP nối: TCP Cấu trúc segment Truyền liệu tin cậy Điều khiển luồng (flow control) Quản lý kết nối 3.6 nguyên lý điều khiển tắc nghẽn 3.7 điều khiển tắc nghẽn TCP Tầng Transport 3-98 CuuDuongThanCong.com https://fb.com/tailieudientucntt 49 TCP điều khiển tắc nghẽn: tăng theo cấp số cộng, giảm theo cấp số nhân Hướng tiếp cận: bên gửi tăng tốc độ truyền (kích thước cửa sổ), thăm dị băng thơng sử dụng, m m mát g gói xảy y tăng theo cấp số cộng (additive increase): tăng cwnd (congestion window) lên MSS sau RTT gói xảy giảm theo cấp số nhân (multiplicative decrease): giảm nửa cwnd sau gói xảy AIMD saw tooth t th behavior: thăm dị băng thơng cwnd: TCP sender congestion window size e additively increase window size … … Cho đến gói xảy (thìì giảm ả ộ kích í thước cửa sổ) ổ Tầng Transport 3-99 time TCP điều khiển tắc nghẽn: chi tiết TCP tốc độ gửi: Ước lượng: khối lượng sender sequence number space cwnd last byte ACKed last byte sent, not- sent yet ACKed (“inflight”) Bên gửi giới hạn truyền tải: LastByteSent- LastByteAcked < byte gửi (cwnd) đợi ACK khoảng thời gian RTT cwnd rate ~ ~ cwnd RTT bytes/sec cwnd thay đổi, chức nhận biết tắc nghẽn mạng Tầng Transport 3-100 CuuDuongThanCong.com https://fb.com/tailieudientucntt 50 TCP Slow Start Khi kết nối bắt đầu, tăng tốc độ theo cấp số nhân kiện gói xảy ra: Host A Host B RTT initially cwnd = MSS Gấp đôi cwnd RTT Được thực cách tăng cwnd cho ACK nhận Tóm lại: tốc độ ban đầu chậm, tăng lên theo cấp số nhân time Tầng Transport 3-101 TCP: phát hiện, phản ứng gói Mất gói timeout: cwnd thiết lặp MSS; Sau kích thước cửa sổ tăng theo cấp số nhân (như slow start) đến ngưỡng, sau tăng tuyến tính Mất gói xác định ACK trùng nhau: TCP RENO Các ACK trùng lặp mạng có khả truyền cwnd bị cắt nửa sau tăng theo tuyến tính TCP TAHOE luôn thiết lặp cwnd (timeout ack trùng nhau) Tầng Transport 3-102 CuuDuongThanCong.com https://fb.com/tailieudientucntt 51 TCP: chuyển từ slow start qua CA Hỏi: tăng cấp lũy thừa nên chuyển qua tuyến tính? Trả lời: cwnd 1/2 giá trị trước thời gian timeout Thực hiện: ssthresh thay đổi Khi gói, ssthresh thiết lặp 1/2 cwnd trước gói Tầng Transport 3-103 Tóm tắt: TCP điều khiển tắc nghẽn ACK trùng dupACKcount++ cwnd = MSS ssthresh = 64 KB dupACKcount = slow start timeout ssthresh = cwnd/2 cwnd = MSS dupACKcount = Truyền lại segmentt thiếu dupACKcount == ssthresh= cwnd/2 cwnd = ssthresh + Truyền lại segmentt thiếu New ACK! New ACK! new ACK cwnd = cwnd + MSS (MSS/cwnd) dupACKcount = Truyền segment(s) mới, phép new ACK cwnd = cwnd+MSS dupACKcount = y segment(s) g ( ) mới, p p Truyền phép cwnd > ssthresh timeout ssthresh = cwnd/2 cwnd = MSS dupACKcount = Truyền lại segmentt thiếu timeout ssthresh = cwnd/2 cwnd = dupACKcount = Truyền lại segmentt thiếu congestion avoidance duplicate ACK dupACKcount++ New ACK! New ACK cwnd = ssthresh dupACKcount = fast recovery dupACKcount == ssthresh= cwnd/2 cwnd = ssthresh + Truyền lại segmentt thiếu duplicate ACK cwnd = cwnd + MSS Truyền segment(s) mới, phép Tầng Transport 3-104 CuuDuongThanCong.com https://fb.com/tailieudientucntt 52 TCP thông lượng (throughtput) Thơng lượng trung bình TCP chức kích thước cửa sổ RTT? Bỏ qua slow start, giả sử liệu luôn gởi W: kích thước cửa sổ (được đo byte) gói xảy Kích thước cửa sổ trung bình (# in-flight bytes) ¾ W Thơng lượng trung bình 3/4W RTT avg TCP thruput = W bytes/sec RTT W W/2 Tầng Transport 3-105 TCP tương lai: TCP qua “ống lớn dài” Ví dụ: segment 1500 byte, 100ms RTT, muốn thơng lượng 10 Gbps Kích thước cửa sổ yêu cầu W = 83,333 segment đường truyền Thơng lượng trường hợp gói, L [Mathis 1997]: TCP throughput = 1.22 MSS RTT L ➜ để đạt thơng lượng 10 Gbps, cần lệ gói L = 2·10-10 – tỷ lệ gói nhỏ! Phiên TCP cho tốc độ cao Tầng Transport 3-106 CuuDuongThanCong.com https://fb.com/tailieudientucntt 53 TCP Cơng Mục tiêu cơng bằng: có K session TCP chia đường link bị bóp cổ chai băng thơng R, R phiên nên có tốc độ trung bình R/K Kết nối TCP Router cổ ổ chai Khả R Kết nối TCP Tầng Transport 3-107 Tại TCP công bằng? session cạnh tranh nhau: Tăng theo cấp số cộng 1, thông lượng tăng Giảm lưu lượng theo cấp số nhân tương úng R Chia sẻ băng thơng Mất gói: giảm kích thước cửa sổ Tránh tắc nghẽn: tăng theo cấp số cộng Mất gói: giảm kích thước cửa sổ Tránh tắc nghẽn: tăng theo cấp số cộng Connection throughput R Tầng Transport 3-108 CuuDuongThanCong.com https://fb.com/tailieudientucntt 54 Công (tt) Công UDP Nhiều ứng dụng thường không dùng TCP Không muốn tốc độ bị điều tiết điều khiển tắc nghẽn Thay dùng UDP: Truyền audio/video với tốc độ ổn định, chịu gói Cơng bằng, kết nối TCP song song ứng dụng mở nhiều kết nối song song host Trình duyệt web làm điều Ví dụ: đường g link với tốc độ R có kết ế nối: ố ứng dụng yêu cầu mở kết nối TCP, có tốc độ R/10 ứng dụng yêu cầu mở 11 kết nối TCP, có tốc độ R/2 Tầng Transport 3-109 Chương 3: Tóm tắt Các nguyên lý dịch vụ tầng Vận chuyển: multiplexing, lti l i d demultiplexing lti l i Truyền liệu tin cậy Điều khiển luồng (flow control) Điều khiển tắc nghẽn ((congestion ng n control) n ) Khởi tạo thực Internet UDP TCP Kế tiếp: Tìm hiểu xong vấn đề mạng “biên” (các tầng Ứng dụng, tầng Vận chuyển) Chuẩn bị vào phần mạng “lõi” Tầng Transport 3-110 CuuDuongThanCong.com https://fb.com/tailieudientucntt 55 ... “biên an toàn” Tầng Transport 3- 63 Chương Nội dung 3. 1 dịch vụ tầng Vận chuyển 3. 2 multiplexing demultiplexing 3. 3 vận chuyển phi kết nối: UDP 3. 4 nguyên lý truyền liệu tin cậy 3. 5 vận chuyển hướng... CLOSED CLOSED Tầng Transport 3- 83 Chương Nội dung 3. 1 dịch vụ tầng Vận chuyển 3. 2 multiplexing demultiplexing 3. 3 vận chuyển phi kết nối: UDP 3. 4 nguyên lý truyền liệu tin cậy 3. 5 vận chuyển hướng... phía bên nhận Tầng Transport 3- 75 Chương Nội dung 3. 1 dịch vụ tầng Vận chuyển 3. 2 multiplexing demultiplexing 3. 3 vận chuyển phi kết nối: UDP 3. 4 nguyên lý truyền liệu tin cậy 3. 5 vận chuyển hướng