Các chức năng của lớp vận chuyển
(1) Đóng gói
Packetizing
Với dữ liệu được phát sinh từ các chương trình lớp ứng dụng,
lớp vận chuyển cần phải đáp ứng xử lý để chuyển tiếp gói tin.
1) Chia nhở các gói tin lớn thành các phần nhỏ để phân lớp
mạng có thể xử lý.
2) Thêm phần tiêu đề vào mỗi gói tin chứa các phần dữ liệu
được chia để phía thu có thể tái ghép lại.
(2) Điều khiển kết nối
Connection Control
Hỗ trợ bởi một số giao thức trong họ giao thức TCP/IP
( ) 3) Đảm bảo tính tin cậy Hai kiểu chuyển tiếp gói tin giữa các trình ứng dụng của
Reliability
lớp vận chuyển:
1) Dịch vụ hướng kết nối - connection oriented (TCP)
Thiết lập kết nối
Điều khiển luồng
2) Dịch vụ không hướng kết nối - connectionless (UDP)
Chuyển tiếp và thu nhận gói tin theo đúng thứ tự
Điều khiển lỗi
Điều khiển tắc nghẽn
22 trang |
Chia sẻ: phuongt97 | Lượt xem: 353 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Mạng số liệu: Lớp vận chuyển và giao thức UDP, TCP, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Lớp vận chuyển và giao thức UDP, TCP
1
– giám sát và chuyển tiếp dữ liệu của các tiến trình xử lý hoặc
các chương trình lớp ứng dụng trên máy tính này sang máy
tính khác trong mạng
Lớp vận chuyển
Transport Layer
.
ÎMở rộng chức năng của tầng mạng và cho phép thiết lập
kênh tuyền thông logic giữa các tiến trình lớp ứng dụng
2
Các chức năng của lớp vận chuyển
(1) Đóng gói
Packetizing
Với dữ liệu được phát sinh từ các chương trình lớp ứng dụng,
lớp vận chuyển cần phải đáp ứng xử lý để chuyển tiếp gói tin.
1) Chia nhở các gói tin lớn thành các phần nhỏ để phân lớp
mạng có thể xử lý.
2) Thêm phần tiêu đề vào mỗi gói tin chứa các phần dữ liệu
được chia để phía thu có thể tái ghép lại.
(2) Điều khiển kết nối
Connection Control
Hỗ trợ bởi một số giao thức trong họ giao thức TCP/IP
(3) Đảm bảo tính tin cậy Hai kiểu chuyển tiếp gói tin giữa các trình ứng dụng của
Reliability lớp vận chuyển:
1) Dịch vụ hướng kết nối - connection oriented (TCP)
Thiết lập kết nối
Điều khiển luồng
2) Dịch vụ không hướng kết nối - connectionless (UDP)
Chuyển tiếp và thu nhận gói tin theo đúng thứ tự
Điều khiển lỗi
Điều khiển tắc nghẽn
3
Không đảm bảo tính tin cậy, chuyển tiếp gói tin
không theo thứ tự
Giới gian tính năng trong điều khiển lỗi
Các chức năng của lớp vận chuyển
(4) Addressing Địa chỉ lớp ứng dụng (địa chỉ cổng) dùng để phân biệt giữa các
tiến trình xử lý lớp trên đang thực hiện truyền thông dữ liệu.
client – demand service server – provide service
4
Giao thức truyền thông UDP
UDP
message
UDP segment
UDP
UDP
header
UDP
header
5
Giao thức vận chuyển
UDP
Là giao thức lớp vận chuyển không hướng kết nối và không
đảm bảo tính tin cậy (không điều khiển luồng và giới hạn
iệ kiể t dữ liệ ) UDP khô thê bất ứ ử lý àv c m ra u . ng m c x n o
với các dịch vụ ở lớp IP, ngoại trừ cho phép cơ chế xử lý
ghép/tách các luồng dữ liệu truyền thông
1) Không cần thiết lập kết nối giữa các hệ thông đầu cuối.
Với giao thức TCP cần có xứ thiết lập kêt nối “bắt tay 3 bước” trước khi truyền
nhận các gói dữ liệu Î trễ thiết lập.
Các ưu điểm chính
2) Không kiểm soát trạn thái kết nối – xử lý phần thông tiêu đề đơn giản.
Với giao thức TCP cần quản lý trạng thái kết nối ở mỗi hệ thông đầu cuối và
quản lý các thông tin khác như các chỉ số các gói dữ liệu truyền và nhận,
chỉ số các gói tin báo nhận ACK
3) Phần thông tin tiêu đề ngắn – chỉ có 8-byte.
Với giao thức TCP yêu cầu phần thông tin tiêu đề là 20-bytes
4) Không điều khiển luồng và điều khiển tắc nghẽn UDP có thể gửi các gói
6
–
nhanh nhất có thể.
Î ứng dụng tốt trong các dịch vụ truyền dữ liệu thời gian thực.
Giao thức truyền thông UDP
Gói tin UDP 8 byte tiêu đề + dữ liệu lớp ứng dụng
header = 4 fields
only, each
consisting of 2 bytes
Chiều dài tổng– Chỉ định kích thước của gói tin UDP bao gồm cả phần tiêu đề và tải
trong
ỗ ể
16 bits ֜ giá trị max có thể là 65,535 bytes; tuy nhiên do sự giới hạn
về tài nguyên bộ nhớ được phép cấp phát của hệ điều hành nên gói tin
UDP có kích thước tối đa là 8192
Chu i ki m tra Chỉ dùng để xác định lỗi với dữ liệu trong gói tin UDP (header +
data)
¾ Việc tính toán kiểm tra được tùy chọn! - Nếu không cần tính, dữ
ệ ế ậ ờ à à á í
7
li u th t l p cho trư ng n y l c c b t 0
¾ Nếu có lỗi được xác định, bản tin được bỏ qua và khong có xử nào
được thực hiện tiếp sau.
Giao thức truyền thông TCP
Định hướng kết nối: giữa các hệ thống đầu cuối phải bắt tay “handshake”
trước khi thực hiện truyền thông
Giao thức điều khiển truyền dẫn
TCP
Là giao thức lớp vận chuyển có các thuộc tính sau:
Điều khiển luồng
Tính tin cậy = dữ liệu được sắp xếp + điều khiển lỗi: điều khiển lỗi
trong TCP bao gồm cả cơ chế xác định lỗi, xác định thứ tự và tinh sao chép
của các gói dữ liệu được xử lý.
Tính liên tục: Nếu dữ liệu bị chuyển tiếp sai và vượt quá thời gian cho phép
TCP sẽ cảnh báo với hệ thống và ngắt kết nối
Điều khiển tắc nghẽn: TCP giới hạn số lượng dữ liệu được chuyển tải
trong mạng nằm trong khả năng chuyển tải của mạng.
Kết nối điểm – điểm: kết nối TCP được thiết lập giữa hai phía phát và
phía thu theo tính chất một – một.
T ề dẫ ô ử lý hát à hậ độ lậ à dữ liệ t ể tải
8
ruy n n song c ng: x p v n n c p, v u ruy n
theo hai hướng đồng thời.
Giao thức truyền thông TCP
Cấu trúc gói tin TCP
9
Cấu trúc gói tin TCP
Chỉ số phân đoạn dữ liệu
Sequence Numbet
Trường thông tin 32-bit, giúp cho xử lý phía thu xác định
được vị trí của byte đầu tiên trong mỗi bản tin (segment)
Chỉ số báo nhận Trường thông tin 32-bit – chỉ định vị trí của byte kế tiếp cần
được truyền đi ở phía phát
Chiều dài tiêu đề Trường thông tin 4-bit , là giá trị bội số của 4, chỉ định kích
thước (số byte) của phần thông tin tiêu đề
Reserved Trường thông tin 6-bit , trường thông tin dữ phòng (chứa
dùng)
T ờ thô ti 16 bit hỉ đị h kí h th ớ ủ hầ dữWindow Size rư ng ng n - , c n c ư c c a p n
liệu trong bản tin TCP
10
Cấu trúc gói tin TCP
Chuỗi kiểm tra trường thông tin 16 bit – sử dụng để xác định lỗi thành phần dữ
liệu trong gói tin TCP bao gồm (header + data) + 96-bit để đảm
bảo tính chính xác cho các xử lý tính toán tiếp theo , .
phần giả tiêu đề chứa một số trường thông tin trong phần tiêu đề gói
tin IP gồm: địa chỉ nguồn và địa chỉ đích, giao thức và chiều dài phân
đoạn dữ liệu. Phần giả tiêu đề này sẽ giúp xử lý chuyển tiếp nhầm bởi phân
lớp IP .
phần tiêu đề giả ngẫu nhiên giúp tránh xử lý với gữ liệu bị chuyển tiếp
nhầm ở lớp IP
Urgent Pointer – trường thông tin 16 bit – chỉ định vị trí (thứ tự) của byte cuối cùng trong khối
dữ liệu cần được truyền.
Options – có thể mở rộng lên 40 byte để mang thêm các thông tin dùng cho các quá trình xử lý
điều khiển luồng/ điều khiển tắc nghẽn
11
Padding – các bít chèn, cách ly giữa phần thông tin tiêu đề và dữ liệu, được thiết lập là các bít 0
Các giá trị cờ điều khiển
Flag Miêu tả
URG
ACK
If this bit field is set, the receiving TCP should interpret the urgent
pointer field. Used when data should be read out of order, from receive
window, by the receiving application.
If this bit field is set the acknowledgement field is valid
PSH
, .
If this bit field is set, the receiver should deliver this segment to the
receiving application as soon as possible, without waiting for receive
window to get filled.
RST
If this bit is present, it signals the receiver that the sender is aborting
the connection and all queued data and allocated buffers for the
connection can be freely relinquished.
SYN
When present, this bit field signifies that sender is attempting to
"synchronize" sequence numbers. This bit is used during the initial
stages of connection establishment between a sender and receiver.
12
FIN
If set, this bit field tells the receiver that the sender has reached the
end of its byte stream for the current TCP connection.
Điều khiển thiết lập kết nối theo
giao thức TCP
Thiết lập kết nối
TCP
Các tranh TCP phải thiết lập kết nối trước khi gửi đi dữ liệu của mình,
thông qua quá trình thiết lập kết nối bắt tay ba bước.
“Three-Way Handshake”:
(1) máy trạm gửi bản tin yêu cầu kết nối SYN cho server, kèm theo
các thông tin:
Source and Destination Port – chỉ định địa chỉ cổng (chỉ số cổng)
truyền thông
SYN = 1
Sequence Number = client_seq – thiết lập giá trị ngẫu nhiên
Không mang theo dữ liệu!!!
allocate buffers
and variables
(window size
defined)
allocate buffers
and variables
13
(window size
defined)
ACK =
Client seq +
Client TCPLength
(2) khi server nhận được bản tin yêu cầu kết nối SYN, nó sẽ cấp phát bộ nhớ và
hiế lậ á biế ử lý kế ối à ửi bả i bá hiệ hấ hậ kế ối (SYNACK)
Quá trình bắt tay 3 bước (tiếp)
t t p c c n x t n , v g n t n o u c p n n t n
cho phía
máy trạm có yêu cầu.
SYN = 1
Sequence Number = server seq _
ACK = client_seq + 1 (chỉ +1 vì chưa có dữ liệu nào được truyền)
(3) khi phía máy trạm nhận được bản tin
SYNACK, nó cũng cấp phát bộ nhớ và thiết lập
các biến cho xử lý truyền thông, và gửi lại bản
tin báo nhận (ACK)
SYN = 0 – connection is established!
Sequence Number = client_seq + 1 connection
l d
(SYN=1, seq. # = i, ACK - )
ACK = server_seq + 1 c ose
SYN=1, seq. # = j, ACK = i+1)
14time time
Giản đồ chuyển trạng thái của máy trạm và máy
chủ TCP trong xử lý truyền thông
15dotted lines = server, solid lines = client
Miêu tả chức năng và ý nghĩaTên trạng thái
Các trạng thái xử lý
CLOSED Không có một kết nối nào đang được thiết lập trước đó
LISTEN S Máy chủ chờ yêu cầu kết nối từ phía các máy trạm.
SYN-SENT
SYN-RCVD
C
S
Một yêu cầu kết nối được gửi đi; chờ báo nhận.
Một yêu cầu kết nối được nhận về.
ESTABLISHED
FIN-WAIT-1
FIN WAIT 2
C
C
Kết nối đã được thiết lập, tiến hành quá trình truyền thông.
Lớp úng dụng được yêu cầu đóng kết nối.
Hệ hố đầ ối hấ hậ đó kế ối- -
TIME-WAIT
CLOSE-WAIT
C
S
t ng u cu c p n n ng t n .
Trạng thái chờ và truyền lại các bản tin để đóng kết nối hoàn toàn.
Máy chủ chờ thông báo từ lớp ứng dụng để đóng kết nối
16
LAST-ACK S
.
Máy chủ đạng chờ bản tin báo nhận ACK cuối cùng để đóng kết nối.
(1) Máy trạm TCP thiết lập ban đầu ở trạng thái CLOSED .
Chuỗi xử lý của máy trạm TCP
(2) Ở trạng thái này, máy trạm TCP có thể nhận một yêu cầu
mở “cổng truyền thông” từ các chương trình lớp trên để
thu nhận dữ liệu.
Ngay sau đó, bản tin (segment) SYN được
ửi tới á hủ TCP à h ể à tg m y c v c uy n v o rạng
thái SYN-SENT.
(3)Trong khi ở trạng thái SYN-SENT, máy trạm
TCP có thể nhận được bản tin SYN+ACK từ
một máy chủ TCP kết nối. Ngay sau đó, nó
sẽ gửi một bản tin ACK cho máy chủ TCP và
chuyển vào trạng thái ESTABLISHED, cho
truyền nhận dữ liệu. Máy trạm TCP có thể ở
trạng thái này trong một thời gian dài trong
suôt quá trình truyền thông dữ liệu.
(4)Ở trạng thái ESTABLISHED, máy trạm TCP
có thể nhận một bản tin yêu cầu đóng (ngắt)
ế ố send & receive
17
k t n i tử chương trình ứng dụng lớp trên của
máy trạm. Ngay sau đó nó sẽ gửi một bản tin FIN
cho máy chủ TCP đang kết nối và chuyển vào trạng
thái FIN-WAIT-1.
receive only
Chuỗi xử lý của máy trạm TCP
(5)Khi ở trạng thái FIN-WAIT-1, nếu nhận được
bản tin ACK từ phía máy chủ máy trạm sẽ ,
chuyển sang trạng thái FIN-WAIT-2, và
không gửi đi bản tin báo hiệu tiếp theo nào.
Truyền thông giữa 2 máy được
kêt thúc, kết nối được ngắt từ một chiều
(6)Máy trạm TCP vẫn ở trạng thái FIN-WAIT-2
và chở cho máy chủ TCP đóng kết nối đầu
cuối. Khi máy trạm nhận được bản tin
FIN từ phía máy chủ nó sẽ gửi lại bản tin
ACK và chuyển về trạng thái TIME-WAIT.
(7)Khi ở trạn thái TIME-WAIT, Máy trạm TCP định thời đợi một khoảng thời gian.
Khoảng thời gian đợi “TIME-WAIT” được thiết lập gấp đôi so với thời gian sống dài nhất
của một gói tin trong mạng (maximum segment lifetime) (2MSL). Máy trạm vẫn ở trạng
thái này trước khi đóng hẳn kết nối để chắc chắn rằng bản tin ACK được gửi tới máy chủ.
18
nếu do một nguyên nhân nào bản tin FIN gửi từ phía máy chủ không được nhận ở máy trạm
thì các bản tin ACK sẽ được gửi lại, và việc thiết lập định thời sẽ thực hiện lại để đảm bảo
đảm bảo rằng tất cả các bản tin được trao đổi trước đó được xóa bởi mạng
Chuỗi xử lý của máy chủ TCP
Thông thường, máy chủ TCP có thể ở bất cứ trạng thái nào
Trong 11 trạng thái chỉ định. Tuy nhiên thông thường máy
chủ có thể ở tại một trạng thái trong chuỗi xử lý sau:
(1) Máy chủ TCP ở trạng thái CLOSED.
(2)Khi ở trạng thái này, máy trạm TCP có thể
nhận một yêu cầu kích hoạt một cổng
truyền thông từ các chương trình ứng dụng
lớp trên. Sau đó máy chủ sẽ chuyển sang
trạng thái LISTEN.
(3)Trong khi ở trạng thái này LISTEN, máy chủ
có thể nhận được bản tin từ phía máy trạm.
Ngay sau đó nó sẽ gửi lại một bản tin
SYN +ACK cho máy trạm và chuyển sang
trạng thái SYN-RCVD
(4)Khi ở trạng thái SYN-RCVD, máy chủ
có thể nhận một bản tin ACK từ phía máy
trạm để chuyển sang trạng thái tiếp
19
send & receive
send only
theo ESTABLISHED. Máy trạm và máy chủ
TCP sẽ ở trạng thái này trong một thời gian dài
để truyền nhận dữ liệu.
Chuỗi xử lý của máy chủ TCP
(5) Trong khi ở trạng thái ESTABLISHED, Máy
hủ TCPc
có thể nhận được bản tin FIN từ phía máy
trạm để báo
hiệu cần kết thúc truyền thông và cắt kết nối.
Khi đó máy chủ sẽ gửi lại bản tin ACK
cho máy trạm có yêu cầu và chuyển
sang trạng thái CLOSE-WAIT.
(6)Trong khi ở trạng thái CLOSE-WAIT, máy
chủ TCP sẽ chờ cho đến khi nhận được yêu
cầu đóng kết nối từ chương trinh ứng dụng
lớp trên và sau đó máy chủ sẽ gửi cho máy
trạm bản tin FIN và chuyển sang trạng
thái LAST-ACK.
(7)Khi ở trạng thái LAST-ACK, Máy chủ
ố
20
sẽ chờ nhận bản tin ACK cu i cùng từ
phía máy trạm và đóng kết nối, chuyển
về chế độ CLOSED.
sending buffer
deallocated
receiving buffer
deallocated
sending buffer
d ll t d
receiving buffer
deallocated
21
ea oca e
22
Các file đính kèm theo tài liệu này:
- bai_giang_mang_so_lieu_lop_van_chuyen_va_giao_thuc_udp_tcp.pdf