Bài giảng Computer networking - Chương 3: Tầng Transport

Chương 3  
Tầng Transport  
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:  
Computer  
Networking:ATop  
Down Approach  
vꢀ If you use these slides (e.g., in a class) that you mention their source  
6th edition  
(after all, we’d like people to use our book!)  
Jim Kurose, Keith Ross  
Addison-Wesley  
March 2012  
vꢀ 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  
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 Transport  
Mục tiêu:  
vꢀ Hđằiểnug vsềaucáccácndguịcyhênvụlý vꢀ Tthìmứchtiểầungvềtrcaáncspgoiarot  
tầng transport:  
trên Internet:  
§ꢀ UDP: vận chuyển phi  
§ꢀ multiplexing/  
demultiplexing  
kết nối  
§ꢀ Truyền dữ liệu tin cậy  
§ꢀ TCP: vận chuyển tin cậy  
hướng kết nối  
§ꢀ Điều khiển luồng (flow  
(connection-oriented  
control)  
reliable transport)  
§ꢀ Điều khiển tắt nghẽn  
§ꢀ Điều khiển tắt nghẽn  
(congestion control)  
TCP  
Tầng Transport  
3-2  
Chương 3: Nội dung  
3.1 các dịch vụ tầng 3.5 vận chuyển hướng  
Transport  
kết nối: TCP  
§ꢀ Cấu trúc segment  
§ꢀ Truyền dữ liệu tin cậy  
3.2 multiplexing và  
demultiplexing  
3.3 vận chuyển phi  
kết nối: UDP  
3.4 các nguyên lý  
truyền dữ liệu tin  
cậy  
§ꢀ Điều khiển luồng (flow  
control)  
§ꢀ Quản lý kết nối  
3.6 các nguyên lý về  
đ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 và dịch vụ  
tầng Transport  
application  
transport  
network  
data link  
vꢀ Quản lý truyền thông logic giữa  
các tiến trình ứng dụng đang chạy  
trên có host khác nhau  
physical  
vꢀ Các giao thức protocols chạy trên  
các hệ thống đầu cuối  
§ꢀ Phía gửi: chia nhỏ các thông  
điệp (message) ứng dụng thành  
các segments, sau đó chuyển  
các segments này cho tầng  
network  
§ꢀ Phía nhận: tái kết hợp các  
segments thành các thông điệp  
(message), các thông điệp này  
được chuyển lên tầng  
appcation  
transport  
network  
data link  
physical  
Application  
vꢀ Có nhiều hơn 1 giao thức tầng  
transport dành cho các ứng dụng  
Tầng Transport  
3-4  
§ꢀ Internet: TCP và UDP  
Tầng Transport với tầng network  
Tình huống tương tự:  
vꢀ Ttrầunygềnnetthwôonrgk:  
12 đứa trẻ ở nhà Ann gửi  
những bức thư đến 12  
logic giữa các  
đứa trẻ ở nhà Bill:  
host  
vꢀ hosts = nhà  
vꢀ Ttrầunygềntrtahnôsnpgort :  
vꢀ Các tiến trình  
(processes) = những  
đứa trẻ  
logic giữa các  
vꢀ Thông điệp tầng ứng  
tiến trình  
dụng = các bức thư  
§ꢀDựa vào và tăng  
cường các dịch  
vụ tầng network  
trong các phong bì  
vꢀ Giao thức tầng  
transport = Ann and Bill  
vꢀ Giao thức tầng  
network= dịch vụ bưu  
điện  
Tầng Transport  
3-5  
Các giao thức tầng transport trên  
Internet  
application  
transport  
network  
data lin
physica
vꢀ Tthinứctậựy,(TtrCuPy)ền theo  
network  
data link  
physical  
netwo
data link  
physical  
§ꢀ Điền khiển tắt nghẽn  
§ꢀ Điều khiển luồng  
§ꢀ Thiết lập kết nối  
work  
dink  
ph
network  
data link  
physical  
vꢀ Không tin cậy, truyền  
không theo thứ tự:  
UDP  
network  
data link  
physical  
network  
data link  
physical  
appication  
transport  
network  
data link  
physical  
network  
data link  
physical  
§ꢀ Không rườm rà, mở rộng  
“nổ lực tốt nhất” (best-  
effort) của IP  
vꢀ Không có các dịch vụ:  
§ꢀ Bảo đảm độ trễ  
§ꢀ Bảo đảm băng thông  
Tầng Transport  
3-6  
Chương 3 Nội dung  
3.1 các dịch vụ tầng 3.5 vận chuyển hướng  
Transport  
kết nối: TCP  
§ꢀ Cấu trúc segment  
§ꢀ Truyền dữ liệu tin cậy  
3.2 multiplexing và  
demultiplexing  
3.3 vận chuyển phi  
kết nối: UDP  
3.4 các nguyên lý  
truyền dữ liệu tin  
cậy  
§ꢀ Điều khiển luồng (flow  
control)  
§ꢀ Quản lý kết nối  
3.6 các nguyên lý về  
đ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:  
demultiplexing tại bên nhận:  
xử lý dữ liệu từ nhiều  
socket, thêm thông tin  
header về tầng transport  
vào segment (được sử  
dụng sau cho  
sử dụng thông tin trong  
header để chuyển segment  
vừa nhận vào đúng socket  
demultiplexing)  
application  
P1  
P2  
application  
application  
socket  
P4  
P3  
transport  
tiến trình  
network  
link  
transport  
transport  
network  
link  
network  
link  
physical  
physical  
physical  
Tầng Transport  
3-8  
demultiplexing làm việc như thế nào  
32 bits  
vꢀ lhiệosut(dnhatậangcráacmk)hIuPng dữ  
Số port nguồn Số port đích  
§ꢀ Mỗi khung dữ liệu có địa  
chỉ IP nguồn và đích  
other header fields  
§ꢀ Mỗi khung dữ liệu mang  
một segment tầng  
transport  
application  
data  
(payload)  
§ꢀ Mỗi segment có số port  
nguồn và đích  
vꢀ hvàosstốdpùonrgtcđáểcgđởịai chỉ IP  
Định dạng segment TCP/UDP  
segment đến socket  
thích hợp  
Tầng Transport  
3-9  
Demultiplexing không kết nối  
vꢀ Ôn lại: socket đã tạo có sốvꢀ Ôn lại: khi tạo khung  
port của host cục bộ  
dữ liệu (datagram) để  
gởi vào đến socket UDP  
socket, phải xác định  
§ꢀ Địa chỉ IP đích  
(host-local port #) :  
DatagramSocket mySocket1  
= new DatagramSocket(12534);  
§ꢀ Số port đích  
Các khung dữ liệu IP  
với số cùng số port  
đích, nhưng khác địa  
chỉ IP nguồn và/hoặc  
khác số port nguồn sẽ  
được chuyển đến cùng  
socket tại máy đích  
vꢀ Ksehgimheosntt nUhDậPn:  
§ꢀ Kiểm tra số port đích  
trong segment  
§ꢀ Đưa segment UDP đến  
socket có số port đó  
Tầng Transport  
3-10  
Demultiplexing không kết nối:  
ví dụ  
DatagramSocket  
serverSocket = new  
DatagramSocket  
mySocket2 = new  
DatagramSocket  
DatagramSocket  
mySocket1 = new  
DatagramSocket  
(5775);  
DatagramSocket  
(6428);  
application  
P1  
(9157);  
application  
application  
P3  
P4  
transport  
transport  
transport  
network  
link  
physical  
network  
link  
physical  
network  
link  
physical  
Port nguồn: 6428  
Port đích: 9157  
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  
vꢀ hhổosttrsợenrvheiềrucsóotchkểet  
vꢀ SxáocckđeịnthTbCởPiđ4ưyợếcu  
tố:  
TCP đồng thời:  
§ꢀ Mỗi socket được xác  
§ꢀ Địa chỉ ip nguồn  
§ꢀ Số port nguồn  
§ꢀ Địa chỉ IP đích  
§ꢀ Số port đích  
định bởi bộ 4 của nó  
vꢀ cCáácc swoecbkesterkvheárccnóhau  
cho mỗi kết nối từ  
client  
vꢀ ddeùnmguxtấ:tnơcải n4hậgniá trị  
trên để điều hướng  
segment đến socket  
thích hợp  
§ꢀ Kết nối HTTP không  
bền vững sẽ có socket  
khác nhau cho mỗi yêu  
cầu  
Tầng Transport  
3-12  
Demultiplexing hướng kết nối: ví dụ  
application  
application  
application  
P4  
P5  
P6  
P3  
P3  
P2  
transport  
network  
link  
transport  
transport  
network  
link  
network  
link  
physical  
physical  
physical  
server:  
địa chỉ IP  
B
host: địa  
chỉ IP C  
Địa chỉ IP nguồn,port: B,80  
Địa chỉ IP đích,port: A,9157  
host: địa  
chỉ IP A  
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 cả được đưa đến địa chỉ IP: B,  
Port đích: 80 được demultiplex đến các socket khác nhau  
Tầng Transport  
3-13  
Demultiplexing hướng kết nối: ví dụ  
threaded server  
application  
application  
application  
P4  
P3  
P3  
P2  
transport  
network  
link  
transport  
transport  
network  
link  
network  
link  
physical  
physical  
physical  
server:  
địa chỉ IP  
B
host: địa  
chỉ IP C  
IP nguồn,port: B,80  
IP đích,port: A,9157  
host: địa  
chỉ IP A  
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  
Tầng Transport  
3-14  
Chương 3 Nội dung  
3.1 các dịch vụ tầng 3.5 vận chuyển hướng  
Transport  
kết nối: TCP  
§ꢀ Cấu trúc segment  
§ꢀ Truyền dữ liệu tin cậy  
3.2 multiplexing và  
demultiplexing  
3.3 vận chuyển phi  
kết nối: UDP  
3.4 các nguyên lý  
truyền dữ liệu tin  
cậy  
§ꢀ Điều khiển luồng (flow  
control)  
§ꢀ Quản lý kết nối  
3.6 các nguyên lý về  
đ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]  
vꢀ Ứng dụng UDP:  
vꢀ Connectionless (phi kết nối):  
§ꢀ Các ứng dụng đa  
phương tiện trực  
t u y ế n ( c h ị u m ấ t  
mát(loss tolerant),  
(cần tốc độ) (rate  
sensitive) )  
§ꢀ Không bắt tay giữa bên  
nhận và bên gửi  
§ꢀ Mỗi segment UDP được  
xử lý độc lập  
§ꢀ Không có cơ chế khôi phục  
các segment bị mất  
§ꢀ DNS  
§ꢀ SNMP  
§ꢀ Các segment có thể đến  
bên nhận không đúng thứ  
tự do các segment không  
được đánh số thứ tự  
trước khi gởi  
vꢀ TUrDuPy:ền tin cậy trên  
§ꢀ Thêm độ tin cậy tại  
§ꢀ Không có khả năng điều  
khiền luồng dữ liệu gởi  
(flow control)  
tầng application  
§ꢀ Phục hồi lỗi tại các  
ứng dụng cụ thể!  
Tầng Transport  
3-16  
UDP: segment header  
Độ dài được tính  
32 bits  
bằng byte của  
segment UDP, bao  
gồm cả header  
Số port nguồn Số port đích  
checksum  
length  
Tại sao có UDP?  
vꢀ Không thiết lập kết nối (cái  
Dữ liệu  
ứng dụng  
(payload)  
mà có thể gây ra độ trễ)  
vꢀ Đơn giản: không trạng thái  
kết nối tại nơi gửi và nhận  
vꢀ Kích thước header nhỏ  
vꢀ Không điều khiển tắt nghẽn:  
UDP có thể gửi dữ liệu  
Định dạng segment UDP  
nhanh như 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ờ được  
bật) trong các segment đã được truyền  
bên gửi:  
bên nhận:  
vꢀ Xét nội dung của  
segment, bao gồm các  
trường của header, là  
chuỗi các số nguyên  
16-bit  
vꢀ Tính toán checksum của  
segment đã nhận  
vꢀ Kiểm tra giá trị trên có bằng  
với giá trị trong trường  
checksum hay không:  
vꢀ checksum: bổ sung  
(tổng bù 1) của các  
nội dung segment  
vꢀ Bên gửi đặt giá trị  
checksum vào trường  
checksum UDP  
§ꢀ NO – có lỗi xãy ra  
§ꢀ YES – không có lỗi. Nhưng  
có thể còn lỗi khác nữa  
không? Xem phần sau….  
Tầng Transport  
3-18  
Internet checksum: ví dụ  
Ví dụ: cộng 2 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  
checksum  
1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0  
1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1  
Lưu ý: khi cộng các số, bit nhớ ở phía cao nhất cần  
được thêm vào kết quả  
Tầng Transport  
3-19  
Chương 3 Nội dung  
3.1 các dịch vụ tầng 3.5 vận chuyển hướng  
Transport  
kết nối: TCP  
§ꢀ Cấu trúc segment  
§ꢀ Truyền dữ liệu tin cậy  
3.2 multiplexing và  
demultiplexing  
3.3 vận chuyển phi  
kết nối: UDP  
3.4 các nguyên lý  
truyền dữ liệu tin  
cậy  
§ꢀ Điều khiển luồng (flow  
control)  
§ꢀ Quản lý kết nối  
3.6 các nguyên lý về  
điều khiển tắc nghẽn  
3.7 điều khiển tắc nghẽn  
TCP  
Tầng Transport  
3-20  
Tải về để xem bản đầy đủ
pdf 110 trang myanh 16320 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Computer networking - Chương 3: Tầng Transport", để 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_computer_networking_chuong_3_tang_transport.pdf