Tải bản đầy đủ (.pdf) (39 trang)

Bài giảng mạng máy tính 03 1

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.18 MB, 39 trang )

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính

Bài giảng
Mạng máy tính
ThS. NGUYỄN CAO ĐẠT
E-mail:


Bài giảng 6: Tầng truyền tải
Tham khảo:
Chương 3: “Computer Networking – A top-down approach”
Kurose & Ross, 5th ed., Addison Wesley, 2010.

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
2


Chương 3: Tầng truyền tải
Mục tiêu:
 hiểu rõ các nguyên
tắc đằng sau các dịch
vụ của tầng truyền
tải:







dồn/tách
truyền tải dữ liệu tin
cậy
kiểm soát lưu lượng
kiểm soát tắc nghẽn

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011



tìm hiểu về các giao thức
tầng truyền tải trong
Internet:




UDP: truyền tải không kết nối
TCP: truyền tải hương kết nối
Kiểm soát tắc nghẽn trong
TCP

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải

3


Chương 3: Mục lục





3.1 Các dịch vụ tầng-truyền
tải
3.2 Sự dồn và tách
3.3 Sự truyền tải không kết
nối: UDP



3.4 Sự truyền tải hướng
kết nối : TCP









Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính

© 2011

cấu trúc đoạn tin
truyền tải dự liệu tin cậy
kiểm soát lưu lượng
quản lý kết nối

3.5 Các nguyên lý của
kiểm soát tắc nghẽn
3.6 Kiểm soát tắc nghẽn
trong TCP

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
4


Giao thức và dịch vụ truyền tải






cung cấp một kênh liên lạc luận lý
giữa các tiến trình ứng dụng trên
những máy khác nhau
các giao thức truyền tải chạy trên các
máy đầu cuối
 phía gửi: chia thông điệp của ứng

dụng thành những đoạn
(segment), đẩy xuống tầng mạng
 phía nhận: ráp lại các đoạn thành
thông điệp hoàn chỉnh, đẩy lên
tầng ứ/d
các giao thức truyền tải
 Internet: TCP và UDP

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

ứng dụng
truyền tải
mạng
liên kết dl
vật lý

ứng dụng
truyền tải
mạng
liên kết dl
vật lý

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
5


Tầng truyền tải s/v Tầng mạng





tầng mạng: kênh liên lạc

luận lý giữa các máy
tầng truyền tải: kênh liên
lạc luận lý giữa các tiến
trình


phụ thuộc vào, củng cố các
dịch vụ tầng mạng

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

Ví dụ tương đồng – chủ
gia đình:
12 đứa trẻ gửi thư cho 12
đứa
 tiến trình = đứa trẻ
 thông điệp ứ/d = thư
trong phong bì
 máy tính = nhà
 giao thức truyền tải =
Ann và Bill
 giao thức mạng = dịch

vụ bưu điện
MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
6


Các giao thức tầng truyền tải trong Internet


giao gói tin tin cậy, có trật tự
(TCP)






giao gói tin không tin cậy,
không có trật tự (UDP)




kiểm soát tắc nghẽn
kiểm soát lưu lượng
thiết lập kết nối

một sự mở rộng của IP “nỗ lực
hết sức”


những dịch vụ chưa sẵn sàng:



đảm bảo độ trễ
đảm bảo băng thông

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

ứng dụng
truyền tải
mạng
liên kết dl
vật lý

mạng
liên kết dl
vật lý

mạng
liên kết dl
vật lý

mạng
liên kết dl
vật lý mạng

liên kết dl

vật lý

mạng
liên kết dl
vật lý

mạng
liên kết dl
vật lý

ứng dụng
truyền tải
mạng
liên kết dl
vật lý

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
7


Chương 3: Mục lục





3.1 Các dịch vụ tầng-truyền
tải
3.2 Sự dồn và tách

3.3 Sự truyền tải không kết
nối: UDP



3.4 Sự truyền tải hướng
kết nối : TCP









Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

cấu trúc đoạn tin
truyền tải dự liệu tin cậy
kiểm soát lưu lượng
quản lý kết nối

3.5 Các nguyên lý của
kiểm soát tắc nghẽn
3.6 Kiểm soát tắc nghẽn
trong TCP


MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
8


Dồn/Tách
Dồn ở máy gửi:
thu thập dữ liệu từ nhiều
socket, đóng bao dữ liệu với
phần mào đầu (được sử dụng
sau này để tách)

Tách ở máy nhận:
chuyển các đoạn nhận được tới
đúng các socket
= socket

= tiến trình

ứng dụng P3

P1
P1 dụng
ứng

truyền tải

truyền tải

mạng


mạng

liên kết

liên kết

vật lý

vật lý

host 1
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

P2

P4 ứng dụng
truyền tải

mạng
liên kết
vật lý
host 2

host 3
MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
9



Phương pháp tách làm việc ntn?




máy nhận gói tin IP
 mỗi gói tin có địa chỉ IP
nguồn, địa chỉ IP đích
 mỗi gói tin mang một đoạn
dữ liệu tầng truyền tải
 mỗi đoạn có địa chỉ và cổng
của máy nhận (đích)

máy dùng địa chỉ IP và số cổng
để chuyển hướng đoạn dữ liệu
sang socket thích hợp

32 bits

cổng nguồn #

cổng đích #

các trường khác

dữ liệu của
ứng dụng
(th. điệp)


định dạng đoạn dữ liệu TCP/UDP
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
10


Sự tách không kết nối


Tạo các socket với các cổng:



DatagramSocket mySocket1 = new
DatagramSocket(12534);
DatagramSocket mySocket2 = new
DatagramSocket(12535);


Socket UDP được xác định
bởi cặp:

(địa chỉ IP đích, số cổng đích)

Trường Đại Học Bách Khoa Tp.HCM

Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

Khi máy nhận được một
đoạn UDP:






kiểm tra số cổng đích trong
đoạn dữ liệu
chuyển hướng đoạn UDP tới
socket với số cổng đó

Gói tin IP với địa chỉ IP
nguồn khác nhau và/hoặc
số nguồn khác nhau được
chuyển tới cùng một
socket

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
11


Sự tách không kết nối (tt)
DatagramSocket serverSocket = new DatagramSocket(6428);


P2

SP: 6428
DP: 9157

khách
IP: A

P1
P1

P3

SP: 9157
DP: 6428

SP: 6428
DP: 5775

chủ
IP: C

SP: 5775
DP: 6428

khách
IP:B

SP cung cấp “địa chỉ phản hồi”
Trường Đại Học Bách Khoa Tp.HCM

Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
12


Sự tách hướng kết nối


Socket TCP được xác định
bởi 4 nhân tố:







đ/c IP nguồn
số cổng nguồn
đ/c IP đích
số cổng đích

máy nhận dùng cả 4 giá trị
trên để định hướng đoạn
dữ liệu tới đúng Socket phù
hợp


Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011



Máy chủ có thể hỗ trợ
đồng thời nhiều socket
TCP:




mỗi socket được định danh
bởi 4 nhân tố của nó

Máy chủ Web có nhiều
socket khác nhau cho mỗi
khách kết nối tới


HTTP không ổn định sẽ có
một socket riêng biệt cho
mỗi người dùng

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
13



Sự tách hướng kết nối (tt)

P1

P2 P1
P3

P4 P5 P6
SP: 5775
DP: 80

S-IP: B
D-IP:C
SP: 9157

Khách
IP: A

DP: 80

S-IP: A
D-IP:C

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

SP: 9157

Chủ

IP: C

DP: 80

S-IP: B
D-IP:C

Khách
IP:B

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
14


Sự tách hướng kết nối: Máy chủ Web chia luồng

P1

P2 P1
P3

P4
SP: 5775
DP: 80

S-IP: B
D-IP:C
SP: 9157


khách
IP: A

DP: 80

S-IP: A
D-IP:C

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

SP: 9157

chủ
IP: C

DP: 80

S-IP: B
D-IP:C

khách
IP:B

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
15



Chương 3: Mục lục





3.1 Các dịch vụ tầng-truyền
tải
3.2 Sự dồn và tách
3.3 Sự truyền tải không kết
nối: UDP



3.4 Sự truyền tải hướng
kết nối : TCP









Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

cấu trúc đoạn tin

truyền tải dự liệu tin cậy
kiểm soát lưu lượng
quản lý kết nối

3.5 Các nguyên lý của
kiểm soát tắc nghẽn
3.6 Kiểm soát tắc nghẽn
trong TCP

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
16


UDP: User Datagram Protocol






giao thức truyền tải Internet
protocol “không phức tạp”, “giản
thiểu”
dịch vụ “nỗ lực tối đa”, đoạn
UDP có thể:
 bị mất
 được giao không đúng trật tự
cho ứng dụng


không-kết-nối:




không có bắt tay giữa người
gửi và người nhận UDP
mỗi đoạn UDP được xử lý độc
lập với những đoạn khác

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

[RFC 768]

Tại sao cần có UDP?







không thiết lập kết nối (giảm
độ trễ)
đơn giản: không có các
trạng thái kết nối ở người
gửi và người nhận
đoạn mào đầu của đoạn nhỏ

không có kiểm soát tắc
nghẽn: UDP có thể truyền đi
với tốc độ tối đa

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
17


UDP (tt)




thường được dùng cho
các ứng dụng đa phương
tiện trực tuyến
 khả năng chịu mất gói
độ dài, của
đoạn UDP,
 dễ thay đổi tốc độ

những cách dùng
UDP khác
DNS
 SNMP
truyền tải tin cậy qua
UDP: bổ sung tính tin cậy
ở tầng ứng dụng
 cơ chế kiểm soát lỗi

thuộc tầng ứng dụng!




Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

bao gồm cả
mào đầu

32 bits

cổng nguồn #

cổng đích #

độ dài

tổng kiểm tra

Dữ liệu
ứng dụng
(thông điệp)

định dạng đoạn UDP
MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
18



Tổng kiểm tra UDP (checksum)
Mục đích: phát hiện “lỗi” (vd: nhảy bit) trong đoạn dữ
liệu được truyền tải
Người gửi:






xem đoạn nội dung dữ liệu
như là một chuỗi gồm
những số nguyên 16-bit
tổng kiểm tra (TKT): cộng
(tổng bù 1) của nội dung
của đoạn
người gửi đặt giá trị tổng
kiểm tra vào trường “tổng
kiểm tra- checksum” UDP

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

Người nhận:





tính tổng kiểm tra của đoạn
nhận được
kiểm tra xem TKT tính được có
bằng giá trị trong trường TKT
ko:
 Ko – phát hiện ra lỗi.
 Có – ko phát hiện ra lỗi.


nhưng vẫn có thể có lỗi
? tìm hiểu sau

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
19


Ví dụ TKT Internet


Ghi chú




Khi cộng các số, số nhớ (nếu có) của bít có thứ hạng cao
nhất cần phải được cộng dồn vào kết quả

Ví dụ: cộng hai số nguyên 16-bit

1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
cộng dồn

1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1

tổng 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
tổng kiểm tra 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
20


Các giao thức tạo đường ống
Tạo đường ống: người gửi cho phép gửi liên tục nhiều
gói tin mà không nhất thiết phải đợi cho đến khi gói
tin đó được xác nhận.





dải của các số thứ tự phải tăng lên
nhớ tạm tại người gửi và người nhận

Hai mô hình chung của giao thức tạo đường ống: quay-lại-N, lặp-


lựa-chọn

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
21


Tạo đường ống: tăng hiệu suất s/d
sender

receiver

bít đầu tiên được truyền, t = 0
bit cuối cùng được truyền, t
=L/R
bit đầu tiên tới
bít cuối cùng tới, gửi ACK
bít cuối của gói thứ 2 tới, gửi ACK
bít cuối của gói thứ 3 tới, gửi ACK

RTT

ACK tới, gửi gói
tiếp theo, t = RTT + L / R


Tăng hiệu suất
lên gấp 3!

U

sender

=

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

3*L/R
RTT + L / R

=

.024
30.008

= 0.0008

microsecon
ds

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
22



Các giao thức tạo đường ống
Quay-lại-N: bức tranh lớn
 Người gửi có thể có tới N
gói tin chưa có ACK trong
đường ống
 Người nhận chỉ gửi các gói
ACK cộng dồn




Ko ACK nếu có một khoảng
trống

Người gửi có bộ đếm t/g
cho gói tin cũ nhất mà
chưa ACK


Lặp lựa chọn: bức tranh lớn
 Người gửi có thể có tới N
gói tin chưa có ACK trong
đường ống
 Người nhận ACK các gói
riêng lẻ
 Người gửi duy trì bộ đếm
t/g cho mỗi gói tin chưa
ACK



Khi bộ đếm hết giờ thì gửi
lại chỉ những gói chưa ACK

Nếu bộ đếm t/g hết giờ thì
gửi lại tất cả các gói mà chưa
ack

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
23


Lặp lựa chọn: bức tranh lớn





Người gửi có thể có tới N gói tin chưa ACK trong
đường ống
Người nhận thực hiện ACK các gói riêng lẻ
Người gửi duy trì một bộ đếm thời gian cho mỗi gói
tin chưa ACK



Khi bộ đếm t/g hết giờ, chỉ gửi lại những gói tin chưa ACK

Trường Đại Học Bách Khoa Tp.HCM
Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
24


Quay-lại-N (Go back N)
Người gửi:







số thứ tự k-bit trong mào đầu của gói tin
cho phép “cửa sổ” lớn tới N gói tin liên tục chưa ack

ACK(n): ACK tất cả gói tin trước n, kể cả gói tin thứ n - “ACK cộng dồn”
 có thể nhận được ACK trùng lặp
bộ đếm t/g cho mỗi gói tin đang trong quá trình gửi (chưa ack)
hết-giờ(n): gửi lại gói tin thứ n và tất cả gói tin có STT lớn hơn trong
cửa sổ

Trường Đại Học Bách Khoa Tp.HCM

Khoa Khoa Học và Kỹ Thuật Máy Tính
© 2011

MẠNG MÁY TÍNH CĂN BẢN
Bài giảng 1 - Chương 3: Tầng truyền tải
25


×