Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 111 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
111
Dung lượng
2,13 MB
Nội dung
L p Transportớ 1
Ch ng 3ươ
L p Transportớ
Computer Networking:
A Top Down Approach
Featuring the Internet
,
3
rd
edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2004.
All material copyright 1996-2006
J.F Kurose and K.W. Ross, All Rights Reserved
Slide này được biên dịch sang tiếng Việt theo
sự cho phép của các tác giả
L p Transportớ 2
Ch ng 3: L p Transportươ ớ
Mục tiêu:
❒
hiểu các nguyên
tắc đằng sau các
dịch vụ lớp
transport:
❍
multiplexing/demultipl
exing
❍
truy n d li u tin c yề ữ ệ ậ
❍
đi u khi n lu ngề ể ồ
❍
đi u khi n t c ngh nề ể ắ ẽ
❒
nghiên cứu về các
giao thức lớp
Transport trên
Internet:
❍
UDP: v n chuy n không k t ậ ể ế
n i (connectionless)ố
❍
TCP: v n chuy n h ng k t ậ ể ướ ế
n i (connection-oriented)ố
❍
đi u khi n t c ngh nề ể ắ ẽ TCP
Transport Layer 3-3
Ch ng 3: N i dung trình bàyươ ộ
❒
3.1 Các dịch vụ
lớp Transport
❒
3.2 Multiplexing
và demultiplexing
❒
3.3 Vận chuyển
không kết nối:
UDP
❒
3.4 Các nguyên lý c a ủ
vi c truy n d li u tin ệ ề ữ ệ
c yậ
❒
3.5 Vận chuyển
hướng kết nối: TCP
❍
c u trúc phân đo nấ ạ
❍
truy n d li u tin c yề ữ ệ ậ
❍
đi u khi n lu ngề ể ồ
❍
qu n lý k t n iả ế ố
❒
3.6 Các nguyên lý c a ủ
đi u khi n ề ể t c ngh nắ ẽ
❒
3.7 Điều khiển tắc
nghẽn TCP
3.1 Các d ch v l p Transportị ụ ớ
L p Transportớ 4
L p Transportớ 5
Các d ch v và giao th c ị ụ ứ
Transport
❒
cung cấp truyền thông
logic chạy trên các host
khác nhau
❒
các giao thức transport
chạy trên các hệ thống
đầu cuối
❍
phía g i: c t các thông đi p ử ắ ệ
ng d ng thành các ứ ụ đo nạ ,
chuy n cho l p networkể ớ
❍
phía nh n: tái k t h p các ậ ế ợ
đo n thành các thông đi p, ạ ệ
chuy n cho l p applicationể ớ
❒
có nhiều hơn 1 giao thức
transport dành cho các
ứng dụng
❍
Internet: TCP và UDP
application
transport
network
data link
physical
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
l
o
g
i
c
a
l
e
n
d
-
e
n
d
t
r
a
n
s
p
o
r
t
L p Transportớ 6
L p Transport v i l p networkớ ớ ớ
❒
lớp network:
truyền thông
logic giữa các
host
❒
lớp transport:
truyền thông
logic giữa các
tiến trình
❍
d a vào và làm n i b t ự ổ ậ
các d ch v l p ị ụ ớ network
Tình huống tự nhiên
tương tự:
12 đứa trẻ gửi thư đến
12 đứa trẻ khác
❒
các tiến trình = các
đứa trẻ
❒
các thông điệp = thư
trong bao thư
❒
các host = các gia
đình
❒
giao thức transport =
Ann và Bill
❒
giao thức lớp network
= dịch vụ bưu điện
L p Transportớ 7
Các giao th c l p transport trên ứ ớ
Internet
❒
tin cậy, truyền
theo thứ tự (TCP)
❍
đi u khi n t c ngh nề ể ắ ẽ
❍
đ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
❍
m r ng c a giao th c IPở ộ ủ ứ
❒
không có các dịch
vụ:
❍
b o đ m trả ả ễ
❍
b o đ m bandwidthả ả
application
transport
network
data link
physical
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
l
o
g
i
c
a
l
e
n
d
-
e
n
d
t
r
a
n
s
p
o
r
t
3.2 Multiplexing và
demultiplexing
L p Transportớ 8
L p Transportớ 9
Multiplexing/demultiplexing
application
transport
network
link
physical
P1
application
transport
network
link
physical
application
transport
network
link
physical
P2
P3
P4
P1
host 1
host 2
host 3
= ti n trình ế= socket
v n chuy n các đo n đã nh n ậ ể ạ ậ
đ c đ n đúng socketượ ế
Demultiplexing t i host nh n:ạ ậ
thu nh t d li u t nhi u ặ ữ ệ ừ ề
socket, đóng gói d li u v iữ ệ ớ
header (s dùng sau đó choẽ
demultiplexing)
Multiplexing t i host g i:ạ ử
L p Transportớ 10
Demultiplexing làm vi c nh th ệ ư ế
nào
❒
host nhận các IP
datagrams
❍
m i datagram có đ a ch IP ỗ ị ỉ
ngu n và IP đíchồ
❍
m i datagram mang 1 đo n ỗ ạ
c a l p transportủ ớ
❍
m i đo n có s port ngu n ỗ ạ ố ồ
và đích
❒
host dùng địa chỉ IP &
số port để điều hướng
đoạn đến socket thích
hợp
port # ngu nồ port # đích
32 bits
d li u ng d ngữ ệ ứ ụ
(thông đi p)ệ
các header fields khác
d ng th c đo n TCP/UDPạ ứ ạ
[...]... cầu LớpTransport 13 Demultiplexing hướng kết nối (tt) P1 P4 P5 P2 P6 P1 P3 SP: 5775 DP: 80 S-IP: B D-IP:C client IP: A SP: 9157 DP: 80 S-IP: A D-IP:C server IP: C SP: 9157 DP: 80 S-IP: B D-IP:C Client IP:B LớpTransport 14 Demultiplexing hướng kết nối: Threaded Web Server P1 P2 P4 P1 P3 SP: 5775 DP: 80 S-IP: B D-IP:C client IP: A SP: 9157 DP: 80 S-IP: A D-IP:C server IP: C SP: 9157 DP: 80 S-IP: B D-IP:C... protocol (rdt) LớpTransport 22 Các nguyên lý truyền dữ liệu tin cậy Ì quan trọng trong các lớp application, transport, link Ì là danh sách 10 vấn đề quan trọng nhất của mạng Ì các đặc thù của kênh truyền không tin cậy sẽ xác định sự phức tạp của giao thức truyền dữ liệu data transfer protocol (rdt) LớpTransport 23 Các nguyên lý truyền dữ liệu tin cậy Ì quan trọng trong các lớp application, transport, ... 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 bit dư 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 checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 Lớp Transport 20 3.4 Các nguyên lý của việc truyền dữ liệu tin cậy LớpTransport 21 Các nguyên lý truyền dữ liệu tin cậy Ì quan trọng trong các lớp application, transport, link Ì là danh... data transfer protocol (rdt) LớpTransport 24 Truyền dữ liệu tin cậy rdt_send(): được gọi bởi lớp app Chuyển dữ liệu cần truyền đến lớp cao hơn bên nhận bên gửi udt_send(): được gọi bởi rdt, để truyền các gói trên kênh không tin cậy đến nơi nhận deliver_data(): được gọi bởi rdt để truyền dữ liệu đến lớp cao hơn bên nhận rdt_rcv(): được gọi khi gói đến kênh bên nhận LớpTransport 25 Truyền dữ liệu tin... nhất theo mong muốn LớpTransport 17 UDP: (tt) Ì thường dùng cho các ứng dụng streaming multimedia r chịu mất mát r cảm nhận tốc độ 32 bits Độ dài đoạn UDP bao gồm cả header Ì ngoài ra, UDP dùng r DNS r SNMP Ì truyền tin cậy trên UDP: thêm khả năng này tại lớp application r s ử a l ỗi source port # dest port # length checksum dữ liệu ứng dụng (thông điệp) dạng thức đoạn UDP LớpTransport 18 UDP checksum... P1 P3 SP: 5775 DP: 80 S-IP: B D-IP:C client IP: A SP: 9157 DP: 80 S-IP: A D-IP:C server IP: C SP: 9157 DP: 80 S-IP: B D-IP:C Client IP:B LớpTransport 15 3.3 Vận chuyển không kết nối: UDP LớpTransport 16 UDP: User Datagram Protocol [RFC 768] Ì giao thức Internet transport “đơn giản hóa” Ì dịch vụ “best effort”, các đoạn UDP có thể: r mất mát r vận chuyển không thứ tự đến ứng dụng Ì connectionless... udt_send(ACK) LớpTransport 29 rdt2.0: hoạt động khi không lỗi rdt_send(data) snkpkt = make_pkt(data, checksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && isNAK(rcvpkt) chờ gọi từ chờ ACK lớp dưới hoặc udt_send(sndpkt) NAK rdt_rcv(rcvpkt) && isACK(rcvpkt) Λ rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(NAK) chờ gọi từ lớp dưới rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ACK) Lớp. .. LớpTransport 30 rdt2.0: hoạt động khi có lỗi rdt_send(data) snkpkt = make_pkt(data, checksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && isNAK(rcvpkt) chờ gọi từ chờ ACK lớp dưới hoặc udt_send(sndpkt) NAK rdt_rcv(rcvpkt) && isACK(rcvpkt) Λ rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(NAK) chờ gọi từ lớp dưới rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data) deliver_data(data) udt_send(ACK) Lớp Transport. .. thông điệp điều khiển (ACK,NAK) bên nh ận bên gửi LớpTransport 28 rdt2.0: đặc tả FSM rdt_send(data) snkpkt = make_pkt(data, checksum) udt_send(sndpkt) rdt_rcv(rcvpkt) && isNAK(rcvpkt) chờ gọi từ chờ ACK lớp trên hoặc udt_send(sndpkt) NAK rdt_rcv(rcvpkt) && isACK(rcvpkt) Λ bên gửi bên nhận rdt_rcv(rcvpkt) && corrupt(rcvpkt) udt_send(NAK) chờ gọi từ lớp dưới rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) extract(rcvpkt,data)... nguồn và/hoặc số port khác nhau có thể được điều hướng đến cùng socket LớpTransport 11 Demultiplexing không kết nối (tt) DatagramSocket serverSocket = new DatagramSocket(6428); P2 SP: 6428 DP: 9157 client IP: A P1 P1 P3 SP: 9157 DP: 6428 SP: 6428 DP: 5775 server IP: C SP: 5775 DP: 6428 Client IP:B SP cung cấp “địa chỉ trở về” LớpTransport 12 Demultiplexing hướng kết nối Ì TCP socket được xác định bởi . 9157
DP: 80
P4
P3
D-IP:C
S-IP: A
D-IP:C
S-IP: B
SP: 5775
DP: 80
D-IP:C
S-IP: B
3.3 V n chuy n không k t n i: ậ ể ế ố
UDP
L p Transport 16
L p Transport 17
UDP:. C
SP: 9157
DP: 80
SP: 9157
DP: 80
P5
P6
P3
D-IP:C
S-IP: A
D-IP:C
S-IP: B
SP: 5775
DP: 80
D-IP:C
S-IP: B
L p Transport 15
Demultiplexing h ng k t n i: ướ ế