Chương 6: Tầng Vận Chuyển Trong Mạng Máy Tính

Chuyên khảo phân tích Chương 6 tầng vận chuyển, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo., phục vụ nghiên cứu và ứng dụng thực tiễn

Trường đại học

Đại học Khoa học tự nhiên

Chuyên ngành

Mạng Máy Tính

Người đăng

Ẩn danh

Thể loại

Bài giảng
69
4
0

Phí lưu trữ

30 Point

Mục lục chi tiết

6. CHƯƠNG 6: TẦNG VẬN CHUYỂN MẠNG MÁY TÍNH

6.1. Chức năng

6.2. Nội dung

6.2.1. Giới thiệu

6.2.2. Nguyên tắc truyền dữ liệu đáng tin cậy

6.2.3. Giao thức TCP

6.2.4. Giao thức UDP

6.3. Nhắc lại source message

6.4. Tầng vận chuyển - 1

6.5. Tầng vận chuyển - 2

6.6. Tầng vận chuyển - 3

6.7. Dồn kênh – Phân kênh - 1

6.8. Dồn kênh – Phân kênh - 2

6.9. Dồn kênh – Phân kênh - 3

6.10. Nội dung

6.10.1. Giới thiệu

6.10.2. Giao thức UDP

6.10.3. Nguyên tắc truyền dữ liệu đáng tin cậy

6.10.4. Giao thức TCP

6.11. UDP - 1

6.12. UDP - 2

6.13. UDP - 3

6.14. UDP - 4

6.15. UDP - 5

6.16. Nội dung

6.16.1. Giới thiệu

6.16.2. Nguyên tắc truyền dữ liệu đáng tin cậy

6.16.3. Giao thức TCP

6.16.4. Giao thức UDP

6.17. Bài toán Làm sao để truyền đáng tin cậy

6.18. Nguyên lý truyền dữ liệu đáng tin cậy

6.19. Nội dung

6.19.1. Nghi thức truyền dữ liệu đáng tin cậy

6.19.2. Pipeline

6.19.3. Go-back-N

6.19.4. Gởi lại có chọn

6.20. Giải quyết lỗi bit

6.21. Giải quyết mất gói

6.22. Giao thức RDT

6.23. Nguyên lý pipe line

6.24. Rdt1.0 : đường truyền lý tưởng

6.25. Rdt2.0 kênh truyền có lỗi bit - 1

6.26. Rdt2.0 FSM - 2

6.27. Rdt2.0 - 3

6.28. Rdt2.1 bên gửi xử lí lỗi ACK/NAK

6.29. Rdt2.1 bên nhận xử lí lỗi ACK/NAK

6.30. Rdt2.1 thảo luận

6.31. Cơ chế truyền đáng tin cậy - RDT

6.32. Rdt2.2 không sử dụng NAK

6.33. Rdt2.2: bên gửi và bên nhận

6.34. Rdt3.0 kênh truyền có lỗi và mất - 1

6.35. Rdt3.0 bên gửi - 2

6.36. Rdt3.0 - 3

6.37. Rdt3.0 - 4

6.38. Rdt3.0 dừng và đợi - 5

6.39. Rdt3.0 – Hiệu quả - 6

6.40. Nghi thức pipeline - 1

6.41. Nghi thức pipeline - 2

6.42. Go-Back-N – 1

6.43. Go-Back-N: bên nhận - 2

6.44. Go-Back-N – ví dụ - 3

6.45. Gửi lại có chọn - 1

6.46. Gửi lại có chọn - 2

6.47. Gửi lại có chọn - 4

6.48. Gửi lại có chọn - 5

6.49. Nội dung

6.49.1. Giới thiệu

6.49.2. Nguyên tắc truyền dữ liệu đáng tin cậy

6.49.3. Giao thức TCP

6.49.4. Giao thức UDP

Tóm tắt

I. Tổng quan về Tầng Vận Chuyển Trong Mạng Máy Tính

Tầng vận chuyển trong mạng máy tính đóng vai trò quan trọng trong việc cung cấp kênh truyền dữ liệu giữa các tiến trình trên các máy tính khác nhau. Tầng này đảm bảo rằng dữ liệu được truyền tải một cách hiệu quả và đáng tin cậy. Hai giao thức chính được sử dụng trong tầng vận chuyển là Giao thức TCPGiao thức UDP. Mỗi giao thức có những đặc điểm riêng, phù hợp với các loại ứng dụng khác nhau.

1.1. Tầng Vận Chuyển Là Gì

Tầng vận chuyển là một trong bảy tầng trong mô hình OSI, chịu trách nhiệm cho việc truyền tải dữ liệu giữa các ứng dụng. Nó cung cấp các dịch vụ như phân đoạn dữ liệu, kiểm soát luồng và đảm bảo độ tin cậy trong việc truyền tải thông tin.

1.2. Vai Trò Của Tầng Vận Chuyển

Tầng vận chuyển giúp quản lý việc truyền tải dữ liệu giữa các ứng dụng, đảm bảo rằng dữ liệu được gửi và nhận một cách chính xác. Nó cũng hỗ trợ việc kiểm soát lưu lượng và xử lý các lỗi có thể xảy ra trong quá trình truyền tải.

II. Vấn Đề và Thách Thức Trong Tầng Vận Chuyển

Mặc dù tầng vận chuyển có vai trò quan trọng, nhưng cũng đối mặt với nhiều thách thức. Việc đảm bảo độ tin cậy trong việc truyền tải dữ liệu là một trong những vấn đề lớn nhất. Các giao thức như TCP và UDP có những cách tiếp cận khác nhau để giải quyết vấn đề này.

2.1. Thách Thức Về Độ Tin Cậy

Độ tin cậy trong việc truyền tải dữ liệu là một yếu tố quan trọng. Giao thức TCP cung cấp các cơ chế để đảm bảo rằng dữ liệu được gửi và nhận một cách chính xác, trong khi UDP không đảm bảo điều này, dẫn đến việc mất mát dữ liệu có thể xảy ra.

2.2. Vấn Đề Về Kiểm Soát Luồng

Kiểm soát luồng là một thách thức khác trong tầng vận chuyển. Nếu bên gửi gửi quá nhiều dữ liệu mà không nhận được phản hồi từ bên nhận, có thể dẫn đến tình trạng tràn bộ đệm. TCP sử dụng cơ chế kiểm soát luồng để điều chỉnh tốc độ gửi dữ liệu.

III. Giao Thức TCP Phương Pháp Truyền Dữ Liệu Đáng Tin Cậy

Giao thức TCP (Transmission Control Protocol) là một trong những giao thức chính trong tầng vận chuyển. Nó cung cấp một phương pháp truyền tải dữ liệu đáng tin cậy thông qua việc thiết lập kết nối và sử dụng các cơ chế kiểm soát lỗi.

3.1. Nguyên Tắc Hoạt Động Của TCP

TCP hoạt động theo nguyên tắc thiết lập kết nối trước khi truyền tải dữ liệu. Nó sử dụng cơ chế 'handshake' ba bước để đảm bảo rằng cả hai bên đều sẵn sàng cho việc truyền tải dữ liệu.

3.2. Cấu Trúc Gói Tin TCP

Gói tin TCP bao gồm nhiều trường thông tin như số cổng nguồn, số cổng đích, số thứ tự và số xác nhận. Những trường này giúp xác định và quản lý việc truyền tải dữ liệu giữa các ứng dụng.

IV. Giao Thức UDP Phương Pháp Truyền Dữ Liệu Nhanh Chóng

Giao thức UDP (User Datagram Protocol) là một giao thức không kết nối, cho phép truyền tải dữ liệu một cách nhanh chóng mà không cần thiết lập kết nối. Điều này làm cho UDP trở thành lựa chọn lý tưởng cho các ứng dụng yêu cầu tốc độ cao.

4.1. Đặc Điểm Của Giao Thức UDP

UDP không đảm bảo độ tin cậy trong việc truyền tải dữ liệu. Các gói tin có thể bị mất hoặc đến không đúng thứ tự. Tuy nhiên, UDP có độ trễ thấp và tiêu tốn ít tài nguyên hơn so với TCP.

4.2. Ứng Dụng Thực Tiễn Của UDP

UDP thường được sử dụng trong các ứng dụng đa phương tiện như video streaming, trò chơi trực tuyến và các dịch vụ DNS. Những ứng dụng này ưu tiên tốc độ hơn là độ tin cậy trong việc truyền tải dữ liệu.

V. Kết Luận Tương Lai Của Tầng Vận Chuyển

Tầng vận chuyển trong mạng máy tính sẽ tiếp tục phát triển để đáp ứng nhu cầu ngày càng cao về tốc độ và độ tin cậy trong việc truyền tải dữ liệu. Sự phát triển của các giao thức mới và cải tiến trong các giao thức hiện tại sẽ giúp nâng cao hiệu suất và khả năng bảo mật cho các ứng dụng trong tương lai.

5.1. Xu Hướng Phát Triển Giao Thức

Các giao thức mới sẽ được phát triển để cải thiện khả năng truyền tải dữ liệu, đồng thời giảm thiểu độ trễ và tăng cường bảo mật. Sự kết hợp giữa TCP và UDP có thể tạo ra những giải pháp tối ưu cho các ứng dụng hiện đại.

5.2. Tầm Quan Trọng Của Bảo Mật Trong Tầng Vận Chuyển

Bảo mật trong tầng vận chuyển sẽ trở thành một yếu tố quan trọng trong việc phát triển các giao thức mới. Các biện pháp bảo mật như mã hóa và xác thực sẽ được tích hợp để bảo vệ dữ liệu trong quá trình truyền tải.

18/07/2025

Trích đoạn nội dung tài liệu

Chương 6 Tầng vận chuyển MẠNG MÁY TÍNH Chức năng - 1 Cung cấp kênh truyền dữ liệu ở mức logic giữa 2 tiến trình trên 2 Application máy application transport network network Presentation data link network data link physical data link physical physical Session network data link physical Transport network data link physical Network network data link Data link physical Physical application application transport transport network network data data link link physical Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh physical 2 Nội dung Giới thiệu Nguyên tắc truyền dữ liệu đáng tin cậy Giao thức TCP Giao thức UDP Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 3 Nhắc lại source message M application segment Ht M transport packet Hn Ht M network frame Hl Hn Ht M link physical link physical switch destination Hn Ht M network M application Hl Hn Ht M link Hn Ht M Ht M transport physical Hn Ht M network link router Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 4 physical tầng vận chuyển - 1 P2 P3 M M application Process nhận? P1 transport Ht D Ht D P4 M Gởi đến Process? M network H n segment M application application Ht D DHt D transport transport network H n segment network Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 5 tầng vận chuyển - 2  Thực thi ở end-system  Bên gởi: thực hiện Dồn kênh  Nhận dữ liệu từ tầng ứng dụng (từ các socket)  Phân đoạn thông điệp ở tầng ứng dụng thành các segment  Dán nhãn dữ liệu: đóng gói theo giao thức tại tầng Transport  Chuyển các segment xuống tầng mạng (network layer)  Bên nhận: thực hiện Phân kênh  Nhận các segment từ tầng mạng  Phân rã các segment thành thông điệp tầng ứng dụng  Chuyển thông điệp lên tầng ứng dụng (đến socket tương ứng) Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 6 tầng vận chuyển - 3 Hỗ trợ  Truyền dữ liệu đáng tin cậy • Điều khiển luồng • Điều khiển tắt nghẽn • Thiết lập và duy trì kết nối  Truyền dữ liệu không đáng tin cậy • Nổ lực gởi dữ liệu hiệu quả nhất Không hỗ trợ  Đảm bảo thời gian trễ  Đảm bảo băng thông Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 7 Dồn kênh – Phân kênh - 1  Dồn kênh (Multiplexing):  Thực hiện tại bên gởi  Thu thập dữ liệu từ các socket  dán nhãn dữ liệu với 1 header  Phân kênh (Demultiplexing):  Thực hiện tại bên nhận  phân phối các segment nhận được cho socket tương ứng  Khi đóng gói dữ liệu ở tầng transport, header sẽ thêm vào:  Source port  Destination port Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 8 Dồn kênh – Phân kênh - 2 32 bits source port # dest port # other header fields application data (message) Cấu trúc của một segment Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 9 Dồn kênh – Phân kênh - 3 P2 P1 P1 6428 5775 SP: 6428 DP: 5775 SP: 5775 server Client DP: 6428 IP: B IP:A Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 10 Nội dung Giới thiệu Giao thức UDP Nguyên tắc truyền dữ liệu đáng tin cậy Giao thức TCP Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 11 UDP - 1 UDP: User Datagram Protocol [rfc768]  Dịch vụ “nỗ lực” để truyền nhanh  Gói tin UDP có thể: • Mất • Không đúng thứ tự  Không kết nối: • Không có handshaking giữa bên gửi và nhận • Mỗi gói tin UDP được xử lý độc lập • Không có trạng thái kết nối Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 12 UDP - 2 32 bits Chiều dài gói tin source port # dest port # (tính cả header) length checksum Application data (message) UDP segment format Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 13 UDP - 3 Application M Transport U1 U2 U3 …. U Các segment đến không đúng thứ tự??? Application Transport …. Mất segment? Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 14 UDP - 4 Tại sao lại sử dụng UDP?  Không thiết lập kết nối  Đơn giản: • không quản lý trạng thái nối kết • Không kiểm soát luồng  Header nhỏ  Nhanh Truyền thông tin cậy qua UDP  Tầng application phát hiện và phục hồi lỗi Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 15 UDP - 5 Thường sử dụng cho các ứng dụng multimedia  Chịu lỗi  Yêu cầu tốc độ Một số ứng dụng sử dụng UDP  DNS  SNMP  TFTP  … Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 16 Nội dung Giới thiệu Nguyên tắc truyền dữ liệu đáng tin cậy Giao thức TCP Giao thức UDP Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 17 Bài toán Làm sao để truyền đáng tin cậy??? Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 18 Nguyên lý truyền dữ liệu đáng tin cậy application Bên gửi Bên nhận transport Đường truyền tin cậy Nghi thức Nghi thức truyền tin cậy truyền tin cậy Đường truyền không tin cậy a. Cung cấp dvụ b.

Triển khai dvụ Đặc tính của đường truyền không tin cậy quyết định độ phức tạp của nghi thức truyền tin cậy Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 19 Nội dung Nghi thức truyền dữ liệu đáng tin cậy  RDT 1.0 Pipeline  Go-back-N  Gởi lại có chọn Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 20 Giải quyết lỗi bit Bên gởi  Gởi kèm theo thông tin kiểm tra lỗi  Sử dụng các phương pháp kiểm tra lỗi • Checksum, parity checkbit, CRC,. Bên nhận  Kiểm tra có xảy ra lỗi bit?  Hành động khi xảy ra lỗi bit? • Báo về bên gởi Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 21 Giải quyết mất gói Bên nhận  Gởi tín hiệu báo • Gởi gói tin báo hiệu ACK, NAK Bên gởi  Định nghĩa trường hợp mất gói  Chờ nhận tín hiệu báo  Hành động khi phát hiện mất gói Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 22 Giao thức RDT  RDT = Reliable Data Transfer  Nguyên tắc: dừng và chờ  Bên gởi • Gởi gói tin kèm theo thông tin kiểm tra lỗi • Dừng và chờ đến khi nào gói tin vừa gởi đến được bên nhận an toàn: nhận được gói tin ACK • Gởi lại khi có lỗi xảy ra: lỗi bit, mất gói  Bên nhận: • Kiểm tra lỗi, trùng lắp dữ liệu • Gởi gói tin phản hồi  Phiên bản:  RDT 1.0 Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 23 Nguyên lý pipe line  Cho phép gởi nhiều gói tin khi chưa nhận ACK  Sử dụng buffer để lưu các gói tin  Bên gởi: lưu gói tin đã gởi nhưng chưa ack  Bên nhận: lưu gói tin đã nhận đúng nhưng chưa đúng thứ tự  Giải quyết mất gói  Go back N  Selective Repeat (gởi lại có chọn) Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 24 Rdt1.0 : đường truyền lý tưởng  Giả thiết: kênh truyền bên dưới tuyệt đối  Không lỗi bit  Không mất gói tin  FSM (finite state machine) cho bên gửi và nhận  Bên gửi chuyển dữ liệu xuống kênh bên dưới  Bên nhận đọc dữ liệu từ kênh truyền bên dưới Wait for rdt_send(data) Wait for rdt_rcv(packet) call from call from extract (packet,data) packet = below above deliver_data(data) make_pkt(data) udt_send(packet) sender receiver Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 25 Rdt2.0 kênh truyền có lỗi bit - 1 Giả thiết: kênh truyền có thể xảy ra lỗi bit  Sử dụng các cơ chế kiểm tra lỗi • checksum Làm sao để khắc phục khi nhận ra lỗi?  Acknowledgement(ACKs): bên nhận báo cho bên gửi đã nhận được dữ liệu  Nagetive acknowledgement(NAKs): bên nhận báo gói tin bị lỗi  Bên gửi sẽ gửi lại gói tin khi nhận NAK So với rdt1.0:  Nhận dạng lỗi  Cơ chế phản hồi: ACK, NAK Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 26 Rdt2.0 FSM - 2 rdt_send(data) snkpkt = make_pkt(data, checksum) receiver udt_send(sndpkt) rdt_rcv(rcvpkt) && Wait for Wait for isNAK(rcvpkt) rdt_rcv(rcvpkt) && call from ACK or udt_send(sndpkt) corrupt(rcvpkt) above NAK udt_send(NAK) rdt_rcv(rcvpkt) && isACK(rcvpkt) Wait for L call from sender below ACK/NAK sai??? rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ACK) Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 27 Rdt2.0 - 3  Giải quyết:  Bên gửi gửi lại gói tin khi nhận ACK/NAK sai  Bên gửi đánh số thứ tự cho mỗi gói tin  Bên nhận sẽ loại bỏ gói tin trùng.  Dừng và đợi  Bên gửi gửi một gói tin và chờ phản hồi từ bên nhận Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 28 Rdt2.1 bên gửi xử lí lỗi ACK/NAK rdt_send(data) sndpkt = make_pkt(0, data, checksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && Wait for ( corrupt(rcvpkt) || Wait for call 0 from ACK or isNAK(rcvpkt) ) above NAK 0 udt_send(sndpkt) rdt_rcv(rcvpkt) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt) && isACK(rcvpkt) L L Wait for Wait for ACK or call 1 from rdt_rcv(rcvpkt) && NAK 1 above ( corrupt(rcvpkt) || rdt_send(data) isNAK(rcvpkt) ) udt_send(sndpkt) sndpkt = make_pkt(1, data, checksum) udt_send(sndpkt) Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 29 Rdt2.1 bên nhận xử lí lỗi ACK/NAK rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq0(rcvpkt) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(ACK, chksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && (corrupt(rcvpkt) rdt_rcv(rcvpkt) && (corrupt(rcvpkt) sndpkt = make_pkt(NAK, chksum) sndpkt = make_pkt(NAK, chksum) udt_send(sndpkt) udt_send(sndpkt) Wait for Wait for rdt_rcv(rcvpkt) && 0 from 1 from rdt_rcv(rcvpkt) && not corrupt(rcvpkt) && below below not corrupt(rcvpkt) && has_seq1(rcvpkt) has_seq0(rcvpkt) sndpkt = make_pkt(ACK, chksum) sndpkt = make_pkt(ACK, chksum) udt_send(sndpkt) udt_send(sndpkt) rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && has_seq1(rcvpkt) extract(rcvpkt,data) deliver_data(data) sndpkt = make_pkt(ACK, chksum) udt_send(sndpkt) Khoa Công nghệ thông tin - Đại học Khoa học tự nhiên TP Hồ Chí Minh 30 Rdt2.1 thảo luận Bên gửi Bên nhận Thêm số thứ tự vào gói • Phải kiểm tra nếu tin nhận trùng  0 và 1???

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Tầng Vận Chuyển Trong Mạng Máy Tính: Giao Thức TCP và UDP" cung cấp cái nhìn sâu sắc về hai giao thức quan trọng trong tầng vận chuyển của mạng máy tính. Bài viết phân tích sự khác biệt giữa TCP và UDP, nêu rõ ưu điểm và nhược điểm của từng giao thức, cũng như cách chúng ảnh hưởng đến hiệu suất và độ tin cậy của việc truyền tải dữ liệu. Độc giả sẽ hiểu rõ hơn về cách thức hoạt động của các giao thức này, từ đó có thể áp dụng kiến thức vào việc tối ưu hóa mạng lưới của mình.

Để mở rộng thêm kiến thức, bạn có thể tham khảo tài liệu Luận văn mô hình truyền thoại pc pc bằng giao thức sip, nơi cung cấp cái nhìn chi tiết về ứng dụng của giao thức SIP trong truyền thông. Ngoài ra, tài liệu Networking essentials cisco sẽ giúp bạn nắm vững các khái niệm cơ bản về mạng máy tính, từ đó hỗ trợ cho việc hiểu biết sâu hơn về TCP và UDP. Những tài liệu này sẽ là cơ hội tuyệt vời để bạn khám phá thêm và nâng cao kiến thức trong lĩnh vực mạng máy tính.