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 đủ
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:
bai_giang_computer_networking_chuong_3_tang_transport.pdf

