Bài giảng Mạng máy tính - Chương 6: Tầng vận chuyển

Tầng Vận chuyển  
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 máy  
Application  
Presentation  
Session  
application  
transport  
network  
network  
data link  
data link  
network  
data link  
physical  
network  
data link  
Transport  
Network  
network  
data link  
network  
data link  
Data link  
Physical  
application  
transport  
network  
physical  
2
data link  
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  
3
NHẮC LẠI  
source  
message  
M
M
application  
transport  
network  
link  
segment  
H
t
H
packet  
frame  
H
M
M
n
t
H H H  
l
n
t
physical  
link  
physical  
switch  
destination  
H H  
M
M
network  
link  
physical  
n
t
H H H  
t
l
n
H H  
M
M
M
M
application  
transport  
network  
link  
n
t
H
t
H H  
n
t
4
router  
physical  
TẦNG VẬN CHUYỂN - 1  
P2  
P3  
M
M
Process nhận?  
application  
transport  
network  
Ht D  
Ht D  
P1  
M
P4  
M
segment  
H
n
Gởi đến Process?  
application  
transport  
network  
M
application  
transport  
network  
Ht D  
DHt D  
segment  
H
n
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)  
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  
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  
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  
9
DỒN KÊNH PHÂN KÊNH - 3  
P2  
6428  
P1  
5775  
SP: 6428  
DP: 5775  
SP: 5775  
Client  
IP:A  
server  
IP: B  
DP: 6428  
10  
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  
11  
BÀI TOÁN  
Làm sao để truyền  
đáng tin cậy???  
12  
NGUYÊN LÝ TRUYỀN DỮ LIỆU ĐÁNG TIN CẬY  
Bên nhận  
Bên gửi  
Đườ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  
b. Triển khai dvụ  
a. Cung cấp 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  
13  
NỘI DUNG  
Nghi thức truyền dữ liệu đáng tin cậy  
RDT 1.0  
RDT 2.0, RDT 2.1, RDT 2.2  
RDT 3.0  
Pipeline  
Go-back-N  
Gởi lại chọn  
14  
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  
15  
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  
16  
GIAO THỨC RDT  
RDT = Reliable Data Transfer  
Nguyên tắc: dừng chờ  
Bên gởi  
Gởi gói tin kèm theo thông tin kiểm tra lỗi  
Dừng 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  
RDT 2.0  
RDT 2.1  
RDT 2.2  
RDT 3.0  
17  
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 chọn)  
18  
RDT1.0 : ĐƯỜNG TRUYỀN 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 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  
rdt_send(data)  
rdt_rcv(packet)  
Wait for  
call from  
below  
Wait for  
call from  
above  
extract (packet,data)  
deliver_data(data)  
packet =  
make_pkt(data)  
udt_send(packet)  
sender  
receiver  
19  
RDT2.0 KÊNH TRUYỀN LỖI BIT - 1  
Giả thiết: kênh truyền 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, rdt2.0:  
Nhận dạng lỗi  
Cơ chế phản hồi: ACK, NAK  
20  
Tải về để xem bản đầy đủ
pdf 71 trang myanh 12780
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Mạng máy tính - Chương 6: Tầng vận chuyển", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_mang_may_tinh_chuong_6_tang_van_chuyen.pdf