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

CHƯƠNG 4 : chuyển vận MÔN MẠNG MÁY TÍNH

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 (2.04 MB, 35 trang )

Chương 4: Tầng Vận chuyển
Mục tiêu:
• Hiểu rõ các nguyên lý đằng
sau các dịch vụ của tầng vận
chuyển:





multiplexing/demultiplexing
vận chuyển dữ liệu tin cậy
kiểm soát luồng
kiểm soát tắc nghẽn

• Học về các giao thức tầng vận
chuyển trên Internet:
– UDP: vận chuyển phi kết nối
– TCP: vận chuyển hướng kết nối
– Kiểm soát tắc nghẽn của TCP
Transport Layer

7-1


Nội dung
 Các dịch vụ của tầng Vận chuyển
 Vận chuyển phi kết nối: UDP
 Vận chuyển hướng kết nối: TCP






cấu trúc segment
quản lý kết nối
truyền dữ liệu tin cậy
kiểm soát luồng

 Kiểm soát tắc nghẽn của TCP

Transport Layer

7-2


Lưu ý, Tầng 4 và các tầng phía trên được
tạo ra bởi các thiết bị đầu cuối (computer).

• Tầng Vận chuyển cho phép một thiết bị của người sử dụng phân đoạn
dữ liệu của các ứng dụng ở tầng trên để đặt vào cùng dòng dữ liệu
tầng 4, và cho phép thiết bị nhận ráp nối lại các đoạn dữ liệu đó để
chuyển lên cho tầng trên.
• Dòng dữ liệu tầng 4 là một kết nối logic giữa các điểm cuối của mạng,
và cung cấp các dịch vụ vận chuyển từ một trạm đến một đích nào đó.
• Điều đó đôi khi còn được xem như là dịch vụ cuối-đến-cuối.
Transport Layer

7-3



Các dịch vụ vận chuyển và giao thức
• cung cấp truyền thông logic giữa
các tiến trình ứng dụng chạy trên
các trạm khác nhau
• các giao thức vận chuyển chạy
trên các hệ thống đầu cuối
– bên gới: chẻ các thông điệp
tầng ứng dụng thành
segments, đưa chúng xuống
cho tầng mạng
– bên nhận: ráp nối các
segments lại thành các thông
điệp, đưa lên cho tầng ứng
dụng
• có nhiều giao thức ở tầng vận
chuyển để phục vụ cho tầng ứng
dụng
– Internet: TCP và UDP

application
transport
network
data link
physical

Transport Layer

network
data link
physical


network
data link
physical

network
data link
physical

network
data link
physical

network
data link
physical
application
transport
network
data link
physical

7-4


Các giao thức tầng Vận chuyển trên Internet
• phân phát tin cậy, có thứ tự
(TCP)
– thiết lập kết nối
– kiểm soát tắc nghẽn

– kiểm soát luồng

application
transport
network
data link
physical
network
data link
physical

network
data link
physical

network
data link
physical

• phân phát không tin cậy,
không thứ tự: UDP
– không có sự mở rộng đặc biệt
nào so với “nỗ lực tối đa” của
IP

• các dịch vụ không sẵn có:

network
data link
physical


network
data link
physical
application
transport
network
data link
physical

– đảm bảo về độ trễ
– đảm bảo về dải thông
Transport Layer

7-5


Multiplexing và demultiplexing

Transport Layer

7-6


Demultiplexing trong hướng kết nối
• TCP socket được định danh
bằng bộ 4:






• Máy chủ có thể hỗ trợ nhiều
sockets TCP đồng thời:
– Mỗi socket được định danh
bằng bộ 4 của nó

địa chỉ IP nguồn
số hiệu cổng nguồn
địa chỉ IP đích
số hiệu cổng đích

• trạm nhận sử dụng cả bốn
giá trị trên để gửi segment
đến socket thích hợp

• Web servers có các sockets
khác nhau cho mỗi client
đang kết nối
– non-persistent HTTP sẽ có
socket khác nhau cho mỗi yêu
cầu

Transport Layer

7-7


Multiplexing và demultiplexing


Transport Layer

7-8


Vị trí của UDP trong chồng giao thức TCP/IP

Transport Layer

7-9


UDP: User Datagram Protocol [RFC 768]
• Là một giao thức vận chuyển
“cơ bản” trên Internet
• dịch vụ “nỗ lực tối đa” service,
UDP segments có thể bị:
– mất
– phân phát sai thứ thự đến
tầng ứng dụng phía nhận
• phi kết nối:
– không bắt tay giữa UDP gởi,
nhận
– mỗi UDP segment được xử
lý độc lập với các segments
khác

Tại sao lại cần đến UDP?
• không thiết lập kết nối (nó có
thể tăng thêm độ trễ)

• đơn giản: không trạng thái kết
nối tại bên gởi và bên nhận
• thông tin điều khiển của
segment nhỏ
• không kiểm soát tắc nghẽn:
UDP có thể đi nhanh nhất trong
khả năng

Transport Layer

7-10


UDP: tiếp theo
• Thường được sử dụng cho các
ứng dụng streaming
multimedia
Chiều dài của
– chấp nhận mất mát
UDP segment
(loss tolerant)
tính bằng byte,
– nhạy về tốc độ
bao gồm cả
(rate sensitive)
header

32 bits
source port #
length


dest port #
checksum

• Ví dụ về sử dụng UDP

– DNS
– DHCP
• vận chuyển tin cậy qua UDP: bổ
sung sự tin cậy tại tầng ứng
dụng
– phục hồi lỗi tại ứng dụng cụ
thể!

Application
data
(message)

UDP segment format
Transport Layer

7-11


Encapsulation và decapsulation
Encapsulation and decapsulation

Transport Layer

7-12



UDP versus IP
UDP so với IP

Transport Layer

7-13


Số hiệu cổng
Port numbers

Transport Layer

7-14


Địa chỉ IP so với số hiệu cổng
IP addresses versus port numbers

Transport Layer

7-15


Dải số hiệu cổng do IANA quy định
IANA ranges

More later!

IANA: Internet Assigned Numbers Authority
Transport Layer

7-16


Địa chỉ Socket
Socket addresses

Transport Layer

7-17


Vị trí của TCP trong chồng giao thức TCP/IP

Transport Layer

7-18


TCP: Tổng quan
• điểm-đến-điểm:
– một bên gởi, một bên nhận

RFCs: 793, 1122, 1323, 2018, 2581

• dữ liệu song công hoàn toàn:
– Luồng dữ liệu hai hướng trên
cùng kết nối

– MSS: maximum segment size

• tin cậy, dòng byte có thứ tự:
– không “ranh giới thông điệp”

• đường ống dẫn:
– kiểm soát tắc nghẽn của TCP và
kiểm soát luồng đặt kích cỡ
cửa sổ

• vùng đệm gởi và nhận

• hướng kết nối:
– bắt tay (trao đổi các thông điệp
điều khiển) giữa bên gởi và bên
nhận trước khi trao đổi dữ liệu

• kiểm soát luồng:
– bên gởi sẽ không làm ngập/lụt
bên nhận

socket
door

application
writes data

application
reads data


TCP
send buffer

TCP
receive buffer

socket
door

segment

Transport Layer

7-19


giúp định danh các điểm
đầu cuối của kết nối

Cấu trúc TCP segment
32 bits
URG: dữ liệu khẩn

(thường không dùng đến)
ACK: số ACK
có hiệu lực
PSH: đẩy dl ngay

thường không dùng đến)
RST, SYN, FIN:

các cờ để thiết lập,
ngắt kết nối
Internet
checksum
(tương tự như UDP)

source port #

dest port #

sequence number
acknowledgement number
head not
len used

UAPRSF

checksum

Receive window
Urg data pnter

Options (variable length)

Để xác định các
bytes dữ liệu
(không phải
segments!)
# bytes
bên nhận sẵn

sàng chấp nhận

application
data
(variable length)

Transport Layer

7-20


0

15 16
16-bit Source Port Number

TCP Segment Header

31
16-bit Destination Port Number

32-bit Sequence Number
32 bit Acknowledgement Number
4-bit Header
Length

6-bit
(Reserved)

U A P R S F

R C S S Y I
G K H T N N

16-bit TCP Checksum

16-bit Window Size
16-bit Urgent Pointer

Options (if any)
Data (if any)














source port – số hiệu cổng nguồn (bên gọi)
destination port – số hiệu cổng đích (bên được gọi)
sequence number – số chuỗi, được sử dụng để đảm bảo dữ liệu đến đúng theo thứ tự
acknowledgment number – byte tiếp theo mà bên nhận đang đợi
HLEN – chiều dài header, tính bằng đơn vị từ (32 bits)
reserved – được đặt là 0

code bits – chức năng điều khiển (vd: thiết lập và kết thúc một kết nối)
window – số octets mà bên nhận đang sẵn sàng tiếp nhận
checksum – tổng kiểm tra của phần thông tin điều khiển và dữ liệu
urgent pointer – chỉ vị trí kết thúc của dữ liệu khẩn
option – ví dụ về một option được định nghĩa: maximum TCP segment size
data – dữ liệu giao thức của tầng Transport
trên
Layer
7-21


Encapsulation và decapsulation
Encapsulation and decapsulation

Transport Layer

7-22


TCP0 Segment Header
15 16
16-bit Source Port Number

31
16-bit Destination Port Number

32-bit Sequence Number
32 bit Acknowledgement Number
4-bit Header
Length


6-bit
(Reserved)

U A P R S F
R C S S Y I
G K H T N N

16-bit TCP Checksum

16-bit Window Size
16-bit Urgent Pointer

Options (if any)
Data (if any)

Một số giao thức sử dụng TCP ở tầng vận chuyển:
• HTTP
• Telnet
Transport Layer
• FTP

7-23


TCP so với IP
TCP versus IP

Transport Layer


7-24


Số hiệu cổng
Port numbers

Transport Layer

7-25


×