Xem mẫu
- Chương 3
Lớp Transport
Computer Networking:
A Top Down Approach
Featuring the Internet,
3rd edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2004.
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ả
All material copyright 1996-2006
J.F Kurose and K.W. Ross, All Rights Reserved Lớp Transport 1
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chương 3: Lớp Transport
Mục tiêu:
hiểu các nguyên tắc nghiên cứu về các giao
đằng sau các dịch vụ thức lớp Transport trên
lớp transport: Internet:
multiplexing/demultipl UDP: vận chuyển không kết
exing nối (connectionless)
truyền dữ liệu tin cậy TCP: vận chuyển hướng kết
điều khiển luồng nối (connection-oriented)
điều khiển tắc nghẽn điều khiển tắc nghẽn TCP
Lớp Transport 2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chương 3: Nội dung trình bày
3.1 Các dịch vụ lớp 3.5 Vận chuyển hướng kết
Transport nối: TCP
3.2 Multiplexing và cấu trúc phân đoạn
demultiplexing truyền dữ liệu tin cậy
điều khiển luồng
3.3 Vận chuyển không
quản lý kết nối
kết nối: UDP
3.6 Các nguyên lý của
3.4 Các nguyên lý của
việc truyền dữ liệu tin điều khiển tắc nghẽn
cậy 3.7 Điều khiển tắc nghẽn
TCP
Transport Layer 3-3
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.1 Các dịch vụ lớp Transport
Lớp Transport 4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các dịch vụ và giao thức Transport
cung cấp truyền thông logic application
chạy trên các host khác nhau
transport
network
data link network
các giao thức transport chạy physical data link
network physical
trên các hệ thống đầu cuối data link
physical
phía gửi: cắt các thông network
data link
điệp ứng dụng thành các physical network
data link
segment (đoạn), chuyển physical
cho lớp network network
data link
physical
phía nhận: tái kết hợp các
đoạn thành các thông điệp, application
transport
chuyển cho lớp application network
data link
có nhiều hơn 1 giao thức physical
transport dành cho các ứng
dụng
Internet: TCP và UDP
Lớp Transport 5
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Lớp Transport với lớp network
l ớp network: truyền Tình huống tự nhiên tương
tự:
thông logic giữa các
12 đứa trẻ gửi thư đến 12
host đứa trẻ khác
lớp transport: truyền các tiến trình = các đứa
thông logic giữa các trẻ
tiến trình các thông điệp = thư
dựa vào và làm nổi bật trong bao thư
các dịch vụ lớp network 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 6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các giao thức lớp transport trên
Internet
tin cậy, truyền theo thứ application
transport
tự (TCP) network
data link network
physical
điều khiển tắc nghẽn
data link
network physical
data link
điều khiển luồng physical
network
thiết lập kết nối data link
physical network
data link
không tin cậy, truyền physical
không theo thứ tự: UDP network
data link
physical
mở rộng của giao thức IP
application
không có các dịch vụ: transport
network
data link
bảo đảm trễ physical
bảo đảm bandwidth
Lớp Transport 7
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.2 Multiplexing và
demultiplexing
Lớp Transport 8
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Multiplexing/demultiplexing
Demultiplexing tại host nhận: Multiplexing tại host gửi:
thu nhặt dữ liệu từ nhiều
vận chuyển các đoạn đã nhận
socket, đóng gói dữ liệu với
được đến đúng socket
header (sẽ dùng sau đó cho
demultiplexing)
= socket = tiến trình
P3 P1
P1 P2 P4 application
application application
transport transport transport
network network network
link link link
physical physical physical
host 2 host 3
host 1
Lớp Transport 9
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Demultiplexing làm việc như thế nào
host nhận các IP datagrams
mỗi datagram có địa chỉ IP 32 bits
nguồn và IP đích
port # nguồn port # đích
mỗi datagram mang 1 đoạn
của lớp transport
mỗi đoạn có số port nguồn các header fields khác
và đích
host dùng địa chỉ IP & số port
để điều hướng đoạn đến socket dữ liệu ứng dụng
thích hợp (thông điệp)
dạng thức đoạn TCP/UDP
Lớp Transport 10
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Demultiplexing không kết nối
Khi host nhận đoạn UDP:
Tạo các sockets với các số
kiểm tra port đích trong
port:
đoạn
DatagramSocket mySocket1 = new
DatagramSocket(12534); điều hướng đoạn UDP đến
DatagramSocket mySocket2 = new socket nào phù hợp với số
DatagramSocket(12535); port đó
UDP socket được xác định IP datagrams với địa chỉ
bởi bộ 2: IP nguồn và/hoặc số port
(địa chỉ IP, số port đích) khác nhau có thể được
điều hướng đến cùng
socket
Lớp Transport 11
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Demultiplexing không kết nối
(tt)
DatagramSocket serverSocket = new DatagramSocket(6428);
P2 P1
P1
P3
SP: 6428 SP: 6428
DP: 9157 DP: 5775
SP: 9157 SP: 5775
client DP: 6428 DP: 6428 Client
server
IP: A IP: C IP:B
SP cung cấp “địa chỉ trở về”
Lớp Transport 12
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Demultiplexing hướng kết nối
TCP socket được xác Host server có thể hỗ
định bởi bộ 4: trợ nhiều TCP socket
địa chỉ IP nguồn đồng thời:
số port nguồn mỗi socket được xác định
địa chỉ IP đích bởi bộ 4 của nó
số port đích Web server có các
host nhận dùng cả 4 giá socket khác nhau cho mỗi
trị trên để điều hướng kết nối từ client
đoạn đến socket thích kết nối HTTP không bền
hợp vững sẽ có socket khác
nhau cho mỗi yêu cầu
Lớp Transport 13
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Demultiplexing hướng kết nối
(tt)
P1 P4 P5 P6 P2 P1P3
SP: 5775
DP: 80
S-IP: B
D-IP:C
SP: 9157 SP: 9157
client DP: 80 DP: 80 Client
server
IP: A S-IP: A
IP: C S-IP: B IP:B
D-IP:C D-IP:C
Lớp Transport 14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Demultiplexing hướng kết nối:
Threaded Web Server
P1 P4 P2 P1P3
SP: 5775
DP: 80
S-IP: B
D-IP:C
SP: 9157 SP: 9157
client DP: 80 DP: 80 Client
server
IP: A S-IP: A
IP: C S-IP: B IP:B
D-IP:C D-IP:C
Lớp Transport 15
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3.3 Vận chuyển không kết nối:
UDP
Lớp Transport 16
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- UDP: User Datagram Protocol [RFC 768]
giao thức Internet
transport “đơn giản hóa” Có UDP để làm gì?
dịch vụ “best effort”, các không thiết lập kết nối (giúp
đoạn UDP có thể: có thể thêm delay)
mất mát đơn giản: không trạng thái
vận chuyển không thứ tự kết nối tại nơi gửi, nơi nhận
đến ứng dụng header của đoạn nhỏ
connectionless (không kết không điều khiển tắc nghẽn:
nối): UDP có thể gửi nhanh nhất
không bắt tay giữa bên theo mong muốn
nhận và bên gửi UDP
mỗi đoạn UDP được quản
lý độc lập
Lớp Transport 17
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- UDP: (tt)
thường dùng cho các ứng
dụng streaming multimedia 32 bits
chịu mất mát Độ dài source port # dest port #
cảm nhận tốc độ đoạn UDP length checksum
bao gồm cả
ngoài ra, UDP dùng header
DNS
SNMP
truyền tin cậy trên UDP: dữ liệu
thêm khả năng này tại lớp ứng dụng
application (thông điệp)
sửa lỗi
dạng thức đoạn UDP
Lớp Transport 18
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- UDP checksum
Mục tiêu: kiểm tra các “lỗi” (các bit cờ đã bật lên)
trong các đoạn đã truyền
bên gửi: bên nhận:
đối xử các nội dung đoạn tính toán checksum của đoạn
như một chuỗi các số đã nhận
nguyên 16-bit kiểm tra giá trị trên có bằng
checksum: bổ sung(tổng với giá trị trong trường
bù 1) của các nội dung checksum:
đoạn NO – có lỗi xảy ra
đặt giá trị checksum vào YES – không có lỗi.
trường UDP checksum Nhưng có thể còn lỗi khác
nữa? Xem tiếp phần sau ….
Lớp Transport 19
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Ví dụ Checksum
Lưu ý
Khi cộng các số, một bit nhớ ở phía cao nhất có
thể sẽ phải thêm 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
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
CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguon tai.lieu . vn