DANH MỤC TÀI LIỆU
Các giao thức lớp giao vận trong Internet
Internet: Các giao th c l p giao v nứ ớ
L p Giao v n trong mô hình tham chi u DOD (xem Internet th t là ớ ậ ế
đ n gi n s 5/2003) cung c p kh năng truy n thông t m t ch ng ơ ừ ộ ươ
trình ng d ng này t i m t ch ng trình ng d ng khác. Trong m c ứ ụ ươ ứ ụ
này, chúng ta s nghiên c u v 2 giao th c L p giao v n (Transport ứ ở
Layer): Giao th c TCP (Transport Control Protocol) và Giao th c UDP ứ ứ
(User Datagram Protocol). T t c các gói tin đ c trao đ i gi a các ấ ả ượ
máy tính trên m ng đ u nh vào m t trong 2 giao th c đó.ạ ề
1. Transport Control Protocol (TCP)
Trong 2 giao th c L p giao v n, TCP là giao th c đ c s d ng nhi u ứ ở ượ
nh t. Đây là giao th c h ng k t n i (connection-oriented), có 5 đ c tr ng ướ ế ố ư
c a d ch v chuy n phát đáng tin c y. Đó là:ủ ị
+ Đ nh h ng stream: Khi hai ch ng trình ng d ng (các ti n trình c a ị ướ ươ ứ ụ ế
ng i s d ng) truy n nh ng kh i l ng l n d li u, chúng ta xem d ườ ố ượ ữ ệ
li u này là m t chu i các bit, đ c chia thành các octet 8 bit, mà chúng ta ộ ỗ ượ
th ng g i là byte. D ch v chuy n phát stream tên máy đích chuy n đ n ườ ể ế
n i nh n m t cách chính xác cùng m t chu i các octet mà máy g i chuy n ơ ậ ộ
đi.
+ K t n i m ch o: Th c hi n vi c truy n stream cũng t ng t nh th c ế ố ươ ư ự
hi n m t cu c g i đi n tho i. Tr c khi vi c truy n có th b t đ u, c hai ướ ể ắ
ch ng trình ng d ng g i và ch ng trình ng d ng nh n t ng tác v i ươ ứ ụ ử ươ ứ ụ ươ
h đi u hành, thông báo v mong mu n có đ c vi c truy n stream. V ệ ề ượ
m t khái ni m, m t ch ng trình ng d ng s th c hi n m t "cu c g i" ươ ẽ ự
mà ph i đ c đ u kia ch p nh n, t c thi t l p m t k t n i – hay m ch oả ượ ế ộ ế ố
- đ truy n và nh n d li u m t cách chính xác. ữ ệ
+ Vi c truy n có vùng đ m: Các ch ng trình ng d ng g i m t dòng d ươ ứ ụ ử
li u qua m ch o b ng cách l p l i vi c chuy n các octet d li u đ n ữ ệ ế
ph n m m giao th c. Khi truy n d li u, m i ch ng trình ng d ng s ữ ệ ươ
d ng b t kỳ kích th c đ n v truy n nào nó th y thu n ti n, có th ch ướ ơ ể ỉ
b ng m t octet. T i đ u nh n, ph n m m giao th c phát chuy n t đ ng ự ộ
d li u theo đúng chính xác th t mà chúng đ c g i đi, làm cho chúng ứ ự ượ
s n sàng đ c s d ng đ i v i ch ng trình ng d ng nh n, ngay sau khi ượ ử ụ ươ
chúng đ c nh n và ki m tra. Ph n m m giao th c đ c t do phân chia ượ ượ ư
dòng d li u thành nh ng gói d li u đ c l p v i đ n v mà ch ng trình ữ ệ ữ ệ ơ ươ
ng d ng truy n đi. Đ làm cho vi c truy n hi u qu h n và t i thi u giao ả ơ
thông trên m ng, các cài đ t th ng t p h p cho đ d li u t dòng d ườ ủ ữ
li u đ đ t vào datagram có đ l n thích h p tr c khi truy n nó qua ộ ớ ướ
Internet.
+ Stream không có c u trúc: M t đi u quan tr ng là d ch v TCP stream ộ ề
không xác đ nh các dòng d li u có c u trúc. L y ví d , ch ng trình tr ữ ệ ươ
l ng nhân viên, không có cách nào đ d ch v stream đánh d u biên gi i ươ ể ị
gi a các b n ghi nhân viên, hay đ xác đ nh n i d ng c a dòng d li u là ơ ữ ệ
d li u nhân viên. Các ch ng trình ng d ng s d ng d ch v stream ươ ử ụ
ph i hi u n i dung stream và th ng nh t v i nhau đ nh d ng stream tr c ấ ớ ướ
khi kh i đ ng vi c k t n i.ở ộ ế ố
+ K t n i hai chi u: Các k t n i đ c cung c p b i d ch v TCP stream ế ố ế ố ượ ở ị
cho phép truy n đ ng th i t c hai chi u. Cách k t n i này đ c g i là ừ ả ế ượ
song công (full deplex). T quan đi m c a m t ti n trìh ng d ng, m t k t ế ộ ế
b i hai chi u bao g m 2 dòng d li u đ c l p “ch y” theo hai chi u ng c ữ ệ ượ
nhau, và không có t ng tác hay va ch m. D ch v stream cho phép m t ươ ị ụ
ti n trình ng d ng ch m d t "dòng ch y" theo m t chi u trong khi d ế ấ ứ
li u v n ti p t c "ch y" theo chi u kia, làm cho k t n i tr thành m t ế ụ ế ố
chi u (half duplex). u đi m chính c a k t n i hai chi u là ph n m m Ư ế ố
giao th c c s có th g i thông tin đi u khi n cho m t stream ng c tr ơ ở ượ
v ngu n trong nh ng datagram đang chuy n t i d li u theo chi u ng c ề ồ ề ượ
l i. Đi u này làm gi m b t giao thông trên m ng. ả ớ
Đ nh d ng segment TCPị ạ
Đ n v truy n gi a ph n m m TCP trên hai máy đ c g i là segment. Các ơ ượ ọ
segment đ c trao đ i đ thi t l p k t n i, đ truy n d li u, đ g i các ượ ế ế ể ử
acknowledgement (thông báo xác nh n nh n d li u), đ thông báo kích ữ ệ
th c c a s t i u hoá quá trình truy n và nh n d li u) và đ đóng ướ ể ố ư
k t n i.ế ố
M i segment đ c chia thành hai ph n, ph n đ u và ph n d li u. Ph n ượ ữ ệ
đ u, có tên là ph n đ u TCP (TCP header), chuy n t i thông tin đi u khi n ể ả
và các đ nh danh c n thi t khác. Hai vùng quan tr ng nh t trong ph n đ u ị ầ ế ấ ầ
TCP là SOURCE PORT và DESTINATION PORT ch a các giá tr c ng ị ổ
TCP đ xác đ nh các ch ng trình ng d ng t i hai đ u k t n i. M i khi ươ ế ố
TCP nh n gói d li u (g i là packet) t IP, TCP g b ph n đ u IP và đ c ỡ ỏ
ph n đ u TCP c a segmet k t qu . Khi TCP đ c DESTINATION PORT,ầ ầ ế
s tìm trong t p tin ch a các thông tin v d ch v đ g i d li u đ n ề ị ể ử ế
ch ng trình t ng ng v i s c ng đó.ươ ươ ố ổ
Vùng SEQUENCE NUMBER xác đ nh v trí trong chu i các byte d li u ữ ệ
trong segmet c a n i g i. Vùng ACKNOWLEDGEMENT NUMBER xác ơ ử
đ nh s l ng octet mà ngu n đang đ i đ nh n k ti p. L u ý r ng ố ượ ế ế ư
SEQUENCE NUMBER đ ch đ n l ng d li u theo cùng chi u v i ỉ ế ượ
segment, trong khi giá tr ACKNOWLEDGEMENT NUMBER đ ch đ n ỉ ế
l ng d li u theo chi u ng c l i v i segment.ượ ữ ề ượ
Vùng HLEN ch a m t s nguyên đ xác đ nh đ dài c a ph n đ u ộ ố
segment, đ c tính theo b i s c a 32 bit. C n có giá tr HLEN b i vì vùngượ ố ủ
OPTIONS có đ dài thay đ i, tuỳ thu c vào nh ng l a ch n nào đã đ c ữ ự ượ
đ a vào. Nh th , kích th c c a vùng đ u TCP cũng đ c thay đ i tuỳ ư ư ế ướ ượ
vào các l a ch n đã đ c l y. Vùng RESERVED đ c dành riêng đ s ượ ượ ể ử
d ng trong t ng lai.ụ ươ
Có nh ng segmet ch chuy n t i acknowledgement, có nh ng segment khác ể ả
chuy n t i d li u. Cũng có nh ng segment chuy n t i nh ng yêu c u đ ữ ệ
thi t l p ho c đóng l i m t k t n i. Ph n m m TCP s d ng vùng FLAG ế ộ ế ố
đ xác đ nh m c đích và n i dung c a segment. Ph n m m TCP cũng thông ầ ề
báo cho bi t bao nhiêu d li u nó s n sàng nh n m i khi n g i m t ế ố ử
segment b ng cách mô t kích th c vùng đ m c a nó trong vùng ướ ệ ủ
WINDOW.
Th t c b t tay 3 b c (Three-way Handshake) và c a s tr t ủ ụ ướ ượ
(Sliding Window)
Vào đ u m i phiên TCP, máy tính g i và nh n d li u th c hi n th t c ầ ỗ ệ ự ệ ủ
b t tay 3 b c. M i b c s d ng m t segment ch có ph n đ u TCP ướ ướ ử ụ
không có d li u. Đ u tiên, máy tính g i d li u g i t i máy nh n d li u ữ ệ ữ ệ ử ớ ữ ệ
m t segment có các thông tin sau: C đ ng b t vùng Flag) đ c thi t ặ ở ượ ế
l p v tr ng thái b t (on), Sequence number cho segment đ c g i sau đó ề ạ ượ
và giá tr c a kích th c c a vùng đ m d li u (window size) c a nó. K ị ủ ướ ế
ti p, máy tính nh n d li u s h i đáp b ng m t segment v i các thông tin:ế ẽ ồ
C đ ng b cũng tr ng thái b t, sequence number thi t l p v i giá tr ờ ồ ế
c a segment nó d d nh s nh n t máy tính g i d li u và kích th c ự ị ướ
vùng đ m d li u. Cu i cùng, máy tính g i d li u s g i m t ữ ệ ữ ệ
acknowledgemnet v i sequence number mà máy tính nh n d li u đã d ữ ệ
tính b c th hai. Qua th t c này, 2 máy tính s s n sàng cho quá trình ướ ủ ụ
truy n và nh n d li u. Trong th t c b t tay 3 b c, m i máy tính cũng ủ ụ ướ
đi u khi n kích th c c a vùng đ m g i d li u phù h p v i kích th c ướ ữ ệ ướ
c a c a vùng đ m nh n d li u. TCP s nh n d li u t L p ng d ng ữ ệ ữ ệ
(Application Layrer) trên nó, chia d li u thành các segment và g n cho ữ ệ
m i segment ph n đ u TCP. TCP ch g i đi các segment v a v i kích ỉ ử
th c vùng đ m g i d li u c a nó và kh i đ ng m t b đ m (timer) cho ướ ử ữ ở ộ ộ ộ ế
segment đ c g i. N u b đ m đáo h n (time out) mà máy tính nh n d ượ ế ộ ế
li u v n ch a tr l i xác nh n, máy tính g i d li u s g i l i segment. ư ả ờ
Khi TCP nh n đ c acknowledgement cho segment đã g i, só s ti p t c ượ ẽ ế
g i các segment đang ch g i. Sau khi t t c d li u đã đ c g i đi và xác ờ ử ả ữ ượ
nh n, TCP đóng phiên làm vi c hi n th i. ệ ệ
User Datagram Protocol (UDP)
Cũng nh TCP, UDP cũng chuy n phát d li u gi a các ng d ng. UDP ư ữ ệ
giao th c phi k t n i (connectionless), nó không ki m tra d li u nh TCP. ế ữ ệ ư
UDP cung c p d ch v chuy n phát các datagram v i ph phí th p vì nó ấ ị
không ch a các thông tin đi u khi n trong ph n đ u UDP. ầ ầ
Các ng d ng c n l a ch n UDP ho c TCP khi c n d ch v chuy n phát ầ ự
d li u. M c dù UDP cung c p d ch v ít tin c y h n (không đ m b o s p ữ ệ ơ
x p th t gói, ki m soát l i ho c lu ng d li u) nh ng tính đ n gi n c a ế ứ ỗ ặ ư ơ ả
nó cho phép các ng d ng t ng tác tr c ti p v i giao th c IP. ươ ự ế ớ
Đ nh d ng gói tin UDPị ạ
Nh có th th y trên hình v , ph n đ u UDP không ch a b t kỳ thông tin ư ể ấ
đi u khi n nào c v i kích th c ch v n v n 8 byte. B i vì không ch a ả ớ ướ ỉ ẻ
thông tin đi u khi n, UDP kém tin c y h n TCP. Các ng d ng đ c vi t ơ ứ ụ ượ ế
đ s d ng UDP làm giao th c giao v n ph i t th c hi n m t s th t c ủ ụ
ki m tra vi c chuy n phát d li u. Tuy nhiên, m t s ng d ng s d ng ố ứ
UDP khác l i có th không c n th c hi n b t c vi c ki m tra nào. Ví d , ấ ứ
ph n l n ng d ng th đi n t s d ng giao th c UDP. Chúng ch vi c ầ ớ ư ệ ử ỉ ệ
g i d li u mà không th c hi n ki m tra đ đ m b o r ng thông đi p đã ể ả
t i m t cách nguyên v n máy tính đích. ẹ ở
Nh ng ng d ng s d ng UDP ử ụ
M c dù UDP không cung c p d ch v chuy n phát tin c y, v n có nhi u ấ ị
lo i ng d ng thích h p v i vi c s d ng nó làm giao th c giao v n. ạ ứ
Trong b t c tr ng h p nào mà TCP tr nên quá ph c t p, quá ch m ho c ứ ư
đ n gi n là không c n thi t, các nhà phát tri n ng d ng đ u có th s ơ ế ứ ụ ề
d ng UDP làm gi i pháp thay th . Các ng d ng s d ng UDP có th ế ử ụ
nh ng ng d ng mà b n thân nó đã có ph ng pháp ki m tra vi c chuy n ữ ứ ươ
phát d li u hay nh ng ng d ng phù h p v i mô hình truy v n/tr l i ả ờ
(query/response).
thông tin tài liệu
Lớp Giao vận trong mô hình tham chiếu DOD (xem Internet thật là đơn giản số 5/2003) cung cấp khả năng truyền thông từ một chương trình ứng dụng này tới một chương trình ứng dụng khác. Trong mục này, chúng ta sẽ nghiên cứu về 2 giao thức ở Lớp giao vận (Transport Layer): Giao thức TCP (Transport Control Protocol) và Giao thức UDP (User Datagram Protocol).
Mở rộng để xem thêm
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×