Xem mẫu

  1. 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
  2. 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, nó 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.
  3. 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 mà 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 là 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.
  4. 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 là 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).
nguon tai.lieu . vn