GIÁO TRÌNH LÝ THUY T C B N V M NG LAN

Size: px
Start display at page:

Download "GIÁO TRÌNH LÝ THUY T C B N V M NG LAN"

Transcription

1 GIÁO TRÌNH LÝ THUY T C B N V M NG LAN

2 C L C Ch ng I: GI I THI U CHUNG... 1 I. M NG TRUY N THÔNG VÀ CÔNG NGH M NG Gi i thi u chung Th nào là m t m ng máy tính Các thành ph n m ng: thi t b, nút, máy tính Ph ng ti n và các giao th c truy n thông c a m ng Phân lo i m ng máy tính Phân lo i m ng theo di n ho t ng Phân lo i m ng theo mô hình ghép n i (topo) Phân lo i theo ki u chuy n a ch m ng, nh tuy n, tính tin c y, tính liên tác và an ninh m ng a ch (Address) nh tuy n (Routing) Tính tin c y (Reliability) Tính liên tác (Inter-operability) An ninh (Security) Các chu n m ng Các chu n chính th c (De jure standard) Các chu n th c t (De facto standard) Các chu n riêng c a hãng Các chu n hi p h i...16 II. MÔ HÌNH OSI Mô hình Ki n trúc phân t ng Các ti n trình ngang hàng (peer-to-peer) Giao di n gi a các t ng T ch c các t ng Ch c n ng c a các t ng T ng v t lý T ng liên k t d li u T ng m ng...25 Trang I

3 2.4. T ng giao v n T ng phiên T ng trình di n T ng ng d ng B giao th c TCP/IP Mô hình Internet...33 Ch ng 2: T NG NG D NG I. GIAO TH C T NG NG D NG Giao th c t ng ng d ng Mô hình Khách hàng /Ng i ph c v (Client/Server) Truy n thông gi a các ti n trình a ch ti n trình Ch ng trình giao ti p ng i dùng (user agent) Các yêu c u c a ng d ng M t mát d li u (Data loss) B ng thông (bandwith) Th i gian (timing) D ch v c a các giao th c giao v n Internet TCP D ch v UDP M t s ng d ng ph bi n...45 II. WORLD WIDE WEB: HTTP T ng quan v HTTP K t n i liên t c và không liên t c (persistent/nonpersistent) K t n i không liên t c-nonpersistent K t n i liên t c Khuôn d ng c a thông p HTTP Thông p yêu c u HTTP (HTTP request message) Thông p tr l i ( HTTP response massage) T ng tác User-server : Authentication và cookies Authentication (Ki m ch ng) Cookies GET có u ki n (Conditional GET) Web caches...58 Trang II

4 III. TRUY N FILE (FILE TRANSFER) FTP Các l nh FTP (FTP Commands)...63 IV. TH TÍN N T ( ) TRÊN INTERNET SMTP So sánh v i HTTP Khuôn d ng th và chu n MIME M r ng MIME cho d li u không thu c d ng ASCII Nh n thông p Giao th c truy nh p mail POP IMAP HTTP...79 V. D CH V TÊN MI N - DNS Các d ch v c a DNS D ch v t bí danh cho máy tính (Host aliasing) D ch v t bí danh cho mail server (Mail server aliasing) Phân tán t i (load distribution) C ch ho t ng t ng quan c a DNS B n ghi DNS Thông p DNS:...91 Ch ng 3: T NG GIAO V N I. D CH V VÀ NGUYÊN T C C A T NG GIAO V N Quan h gi a t ng giao v n và t ng m ng T ng quan v t ng giao v n trong Internet...96 II. D CH V D N KÊNH, PHÂN KÊNH...97 II. UDP - GIAO TH C KHÔNG H NG N I C u trúc c a UDP segment UDP checksum IV. CÁC NGUYÊN T C TRUY N D LI U TIN CÂY Xây d ng giao th c truy n dù li u tin c y Truy n d li u tin cây trên kênh truy n tin c y hoàn toàn: giao th c rdt Truy n d li u tin cây trên kênh truy n có l i bit: giao th c rdt Trang III

5 1.3. Truy n d li u tin cây trên kênh truy n mà d li u bi m t, l i: rdt Giao th c truy n d li u tin c y liên t c (Pipeline) Go-Back-N (GBN) Giao th c l p l i có l a ch n (Selective Repeat) V. TCP - GIAO V N H NG N I K t n i TCP C u trúc TCP Segment S th t và s biên nh n: Telnet : M t ví d v s th t và s biên nh n Truy n d li u tin c y Ki m soát l u l ng Qu n lý k t n i TCP VI. KI M SOÁT T C NGH N C A TCP Ch ng 4: T NG M NG I. CÁC MÔ HÌNH D CH V C A T NG M NG Mô hình d ch v m ng: Chuy n mach gói (datagram) và chuy n mach o (virtual circuit) Ngu n g c c a d ch v chuy n m ch gói và chuy n m ch o II. CÁC NGUYÊN LÝ NH TUY N Thu t toán nh tuyên link state Thu t toán Distance vector III. NH TUY N PHÂN C P IV. INTERNET PROTOCOL a ch IPv Chuy n datagram t ngu n t i ích: v n a ch và nh tuy n Khuôn d ng gói d li u IP (IP datagram format) Phân m nh (Fragmentation) và H p nh t (Reassembly) gói tin IP Giao th c ki m soát l i ICMP (Internet Control Message Protocol) V. NH TUY N TRÊN INTERNET nh tuy n trong m t mi n (Intra-AS routing) ( nh tuy n n i mi n) RIP (Routing Information Protocol) OSPF - Open Shortest Path First nh tuy n gi a các mi n (INTER-AS routing) ( nh tuy n liên mi n) Trang IV

6 VI. C U T O C A THI T B NH TUY N (ROUTER) C ng vào (Input port) K t c u chuy n (Switching fabric) C ng ra (Output port) Hàng i router VII. IPV nh d ng gói tin IPV Chuy n t IPv4 sang IPv Ch ng 5: T NG LIÊN K T D LI U I. CÁC KHÁI NI M CHUNG, D CH V C A T NG DATALINK Nh ng d ch v c a t ng liên k t d li u B u h p (Adapter) II. K THU T PHÁT HI N VÀ S A L I Ki m tra tính ch n l Ph ng pháp tính t ng ki m tra (checksum) Ki m tra d th a vòng (CRC) III. GIAO TH C A TRUY C P VÀ M NG C C B Giao th c phân chia kênh truy n (channel partitioning) Giao th c truy c p ng u nhiên (ran dom access) Slotted ALOHA ALOHA CSMA - a truy c p c m nh n sóng mang Giao th c truy c p l n l t (Taking - turns) M ng c c b LAN (Local Area Network) IV. A CH LAN VÀ ARP a ch LAN Giao th c gi i mã a ch (ARP) V. ETHERNET Nh ng khái ni m c b n v Ethernet C u trúc frame Ethernet D ch v không h ng n i, không tin c y Gi i t n c s và mã hoá Manchester CSMA/CD : Giao th c a truy c p c a Ethernet Trang V

7 3. Nh ng công ngh Ethernet Ethernet 10BASE Ethernet 10BaseT và 100BaseT Gigabit Ethernet VI. HUB, BRIDGE VÀ SWITCH Hub Bridge Bridge Fowarding và Filtering (chuy n ti p và l c) T h c (Self-Learning) Spanning tree Phân bi t Bridge và Router K t n i LAN segment qua các tr c chính (backbone) Switch VII. PPP - GIAO TH C M N I M Khuôn d ng gói d li u (Frame PPP) Giao th c u khi n ng truy n PPP (LCP) và ki m soát m ng Trang VI

8 Ch ng I: GI I THI U CHUNG I. M NG TRUY N THÔNG VÀ CÔNG NGH M NG 1. Gi i thi u chung Truy n thông máy tính (computer communications) là quá trình truy n d li u t m t thi t b này sang m t thi t b khác. Tr c ây chúng ta th ng hi u thi t b là các máy tính, nh ng ngày nay thi t b (end-system, device) không ch là các máy tính mà còn bao g m nhi u ch ng lo i thi t b khác ví d nh các máy n tho i di ng, máy tính PAM,... S l ng các ki u thi t b có kh n ng l y thông tin t Internet ngày càng t ng. t t ph bi n có ngh a t ng t nh v y là truy n d li u. M c dù hai m t này có th s d ng thay th cho nhau, m t s ng i coi thu t ng d li u (data) ch bao g m nh ng s ki n n gi n và thô (ch a c x lý), và d ng thu t ng thông tin (information) ch vi c t ch c nh ng s ki n này thành d ng (thông tin) có ngh a i v i con ng i. Hình 1.1 Các thi t b có kh n ng k t n i Internet Trang 1

9 Khái ni m ng (networking) ch khái ni m k t n i các thi t b l i v i nhau nh m m c ích chia s thông tin. Khái ni m m ng liên quan n nhi u n, bao g m: Giao th c truy n thông (Protocol): mô t nh ng nguyên t c mà các thành ph n m ng c n ph i tuân th có th trao i c v i nhau; Mô hình ghép n i m ng (Topo): mô t cách th c n i các thi t b v i nhau. a ch (Address): mô t cách nh v m t th c th. nh tuy n (Routing): m t t cách d li u c chuy n t m t thi t này sang m t thi t b khác thông qua m ng. Tính tin c y (Reliability): gi i quy t v n tính toàn v n d li u m b o r ng d li u nh n c chính xác nh d li u g i i. Tính liên tác (Interoperability): ch m c các s n ph m ph n m m và ph n c ng c a các hãng s n xu t khác nhau có th giao ti p v i nhau trong m ng; An ninh (security): g n li n v i vi c m b o an toàn ho c b o v t t c các thành ph n c a m ng. Chu n hóa (Standard): thi t l p các quy t c và lu t l c th c n ph i c tuân theo. Có r t nhi u ng d ng c a các khái ni m m ng thông th ng.ví d, trong công nghi p truy n thanh truy n hình, các công ty truy n thanh, truy n hình, và công ty cáp u có nh ng m ng c l p riêng c a mình v i nhi u tr m phát. Thông qua nh ng m ng này, các ch ng trình nh tin t c, th thao, n nh, phim truy c dùng chung gi a các tr m phát. M t trong nh ng m ng truy n thông ra i s n nh t và c bi t n nhi u nh t là m ng n tho i. Khi nói n m ng n tho i, ng i ta mu n nh c n h th ng n tho i ki u c (plain old telephone system - POTS) ho c m ng n tho i chuy n m ch công c ng (PSTN - public switched telephone network). M ng PSTN mô t h th ng n tho i truy n th ng d a trên tín hi u t ng c ng M - m ng này ban u c thi t k truy n ti ng nói. M t ng truy n thông mà h u h t m i ng i u quen thu c ngày nay là m ng máy tính lnternet - th c ra ây là m t t p h p các m ng, m t m ng c a các ng. Trang 2

10 2. Th nào là m t m ng máy tính ng t t nhiên ph i bao g m nhi u thành ph n, các thành ph n ph i c n i v i nhau theo m t cách th c nào ó và cùng s d ng chung m t ngôn ng : Các thi t b u cu i (end system) k t n i v i nhau t o thành m ng có th là các máy tính (computer) ho c các thi t b khác. Nói chung hi n nay ngày càng nhi u các lo i thi t b có kh n ng k t n i vào m ng máy tính nh n tho i di ng, PDA, ti vi..... Môi tr ng truy n (media) mà truy n thông c th c hi n qua ó. Môi tr ng truy n có th là các lo i dây d n (cáp), s ng ( i v i các ng không dây) Giao th c (protocol) là quy t c quy nh cách th c trao i d li u gi a các th c th Nói chung, ba khái ni m trên a n m t nh ngh a chu n v m ng máy tính nh sau: M ng máy tính là m t t p h p các máy tính và các thi t b khác (các nút), chúng s d ng m t giao th c m ng chung chia s tài nguyên v i nhau nh các ph ng ti n truy n thông m ng Các thành ph n m ng: thi t b, nút, máy tính Theo m t ngh a chung nh t thu t ng thi t b (device) c dùng nói n b t c m t th c th ph n c ng nào. Nh ng th c th này có th là các thi t u cu i, máy in, máy tính, ho c m t thi t b ph n c ng c bi t liên quan n m ng, ví d nh các server truy n thông, repeater (b c p), bridge (c u), switch, router (b nh tuy n), và r t nhi u thi t b c bi t khác; h u h t các thi t b này s c th o lu n chi ti t các ch ng sau. Nói chung t t c các thi t b m ng u dùng m t s ph ng pháp cho phép xác nh duy nh t chúng, th ng thì thi t b c chính hãng s n xu t n m t s nh n d ng duy nh t. Vi c làm này t ng t nh vi c in s seri trên ti vi ho c các dùng n t khác. Ví d, card Ethernet c gán m t a ch duy nh t b i hãng s n xu t - a ch này không trùng v i b t k thi t b nào khác. Khi mô t các thành ph n m ng, c n phân bi t gi a khái ni m thi t b (device) và máy tính (computer). Xem xét khía c nh thi t b m ng, máy tính th ng c g i là host (ho c server) ho c tr m làm vi c (workstation) (c ng còn c g i là desktop hay client). Thu t ng này th ng dùng ch nh ng th ng máy tính có h u hành riêng c a chúng (ví d Windows). Vì v y Trang 3

11 t workstation có th là m t máy tính cá nhân nh m t máy Apple Macintosh, ho c b t c m t máy tính h Intel nào (th ng c g i là IBM- PC ho c t ng thích); c ng có th là m t workstation h a (ví d các workstation h a c s n xu t b i Sun Microsystems, Silicon Graphics, IBM, Hewlett-Packard, Compaq Computer Corporation), m t superminicomputer nh Compaq's VAX hay m t h th ng IBM AS/400, m t super-microcomputer nh Compaq's Alpha; ho c có th là m t máy tính l n (mainframe) nh IBM ES Ph ng ti n và các giao th c truy n thông c a m ng chia s thông tin và s d ng các d ch v trên m ng, các thành ph n a m ng ph i có kh n ng truy n thông c v i nhau. áp ng c yêu u này, chúng ta ph i xét t i hai tiêu chí c th c a m ng: kh n ng liên k t (connectivity) và ngôn ng (language). Kh n ng liên k t ch ng truy n ho c k t n i v t lý gi a các thành ph n; ngôn ng ch m t b ng t v ng cùng các quy t c truy n thông mà các thành ph n ph i tuân theo. Ph ng ti n truy n thông (media): Môi tr ng v t lý c s d ng t n i các thành ph n c a m ng th ng c g i là ph ng ti n truy n thông (medium, media). Ph ng ti n truy n thông m ng c chia thành hai lo i: cáp (cable) và không dây (wireless). Ví d cáp truy n thông có th là cáp xo n ôi (twisted-pair), cáp ng tr c (coaxial), và cáp s i quang (fiber-optic cable)... Truy n thông không dây có th là sóng radio (g m sóng c c ng n hay vi c truy n thông qua v tinh), b c x h ng ngo i. Các ph ng ti n truy n thông m ng c th o lu n chi ti t trong ch ng 5. Hình 1. 2 S i cáp quang Trang 4

12 Giao th c (Protocol): Ngôn ng c s d ng b i các th c th m ng i là giao th c truy n thông m ng. Giao th c giúp các bên truy n thông "hi u nhau b ng cách nh ngh a m t ngôn ng chung cho các thành ph n ng. T ý ngh a khái quát nh v y, có th hi u giao th c truy n thông m ng là các th t c, quy t c ho c các c t chính th c ã c ch p nh n nh m xác nh hành vi và ngôn ng trao i gi a các bên. Nói chung trong cu c ng hàng ngày, chúng ta c ng áp d ng nh ng quy t c nào ó. Ví d, khi i n nh ng n i òi h i tính tr ng tr ng, m i ng i ph i tuân theo nh ng nghi th c c bi t v n m c (ví d nam gi i ph i m c áo vét có th t caravat). Nh ng khi n các quán n bình dân thì b i không c n n m c trang tr ng nh v y. Trong m ng và truy n thông máy tính, giao th c m ng là b n c t chính th c nh ngh a cách th c s " c a các th c th tham gia truy n thông v i nhau. ây khái ni m th c th bao g m c các thi t b ph n c ng ng nh các ti n trình ph n m m. Giao th c m ng c ng nh ngh a khuôn ng d li u c trao i gi a các bên. Nói m t cách ng n g n, giao th c ng nh ngh a b ng t v ng và các quy t c áp d ng truy n thông d li u. Không có môi tr ng truy n không th trao i thông tin gi a các th c th m ng không có m t ngôn ng chung, không th hi u c nhau. Vì v y ng truy n cung c p môi tr ng th c hi n truy n thông, trong khi ó ngôn ng chung m b o hai bên truy n thông hi u c nhau. u này ng gi ng nh cu c nói chuy n n tho i gi a m t ng i ch nói c ti ng Ý và m t ng i khác ch nói c ti ng Nga. N u không có m t ng n tho i ( ng truy n c a m ng) cho cu c nói chuy n này thì hai ng i không th nói chuy n c v i nhau (không th trao i d li u). ã có ng n tho i r i, lúc này hai ng i có th nói và nghe th y gi ng nói c a nhau (truy n d li u c th c hi n) nh ng h không giao ti p c v i nhau vì không ai trong s h hi u c ngôn ng c a ng i kia - h nói chuy n b ng hai th ti ng khác nhau. Ví d v m t giao th c m ng quen thu c là giao th c TCP/IP - m t trong nh ng giao th c c a c a b giao th c TCP/IP (Transmission Control protocol/internet Protocol) TCP/IP c coi là x ng s ng c a Internet. Tuy tên g i TCP/IP ch hai giao th c c th là TCP và IP nh ng nó th ng c d ng ch nhóm g m nhi u giao th c ngoài TCP và IP. T p các giao th c này c g i là b giao th c TCP/IP. Có th k n m t s giao th c trong b giao th c TCP/IP nh FTP (File Transfer Protocol) nh ngh a cách chuy n file; HTTP (the Hypertext Transport Protocol) c dùng cho World Wide Web (WWW), nh ngh a cách các server c n ph i truy n các tài li u (trang Trang 5

13 Web) t i các client (Web Browser) nh th nào. Ngoài ra c ng ph i k n ba giao th c c s d ng cho th n t ( ) là Post Office Protocol (POP), Simple Mail Transfer Protocol (SMTP) và Intemet Mail Access Protocol (IMAP). Ngày nay các m ng s d ng r t nhi u giao th c khác nhau t n gi n n ph c t p. Có th nói các giao th c là "keo dán" ràng bu c m ng máy tính l i v i nhau b i vì chúng nh ngh a cách th c hi n các ho t ng c th. t s b giao th c khác có th k n là AppleTalk - là m t b giao th c m ng c s d ng b i Apple Computer, Inc., u tiên nó ch ch dùng c cho các máy tính Macintosh, không th ph c v cho các h u hành khác; b giao th c c a h u hành Windows 2000 c a hãng Microsoft Corporation; và DECnet c a Digital Equipment Corporation (hi n gi là Compad) - s d ng giao th c m ng Digital Network Architecture (DNA). DECnet c thi t k cho các máy VAX ho c Alpha ch y d i h u hành OPEN-VMS, ho c cho các h th ng DEC Dùng h u hành DEC tr c ây, ví d nh RSX-11 M, RT-11, RSTS/E c ng nh m t s h u hành ph bi n khác nh MS-DOS, Windows, và m t vài bi n th c a Unix. M ng máy tính ôi khi c ng c t tên theo giao th c chúng dùng. Ví d, m t m ng m các thi t b h tr Apple Talk th ng c g i là m t m ng Apple Talk. ng t, m ng TCP/IP là m ng c a các thi t b c liên k t v i nhau và s ng b giao th c TCP/IP truy n thông. 3. Phân lo i m ng máy tính Có r t nhi u ki u m ng máy tính khác nhau. Vi c phân lo i chúng th ng d a trên các c m chung. Ví d, m ng may tính th ng c phân lo i theo vùng a lý (di n ho t ng) (ví d : m ng c c b, m ng di n ng, ), theo topo (mô hình ghép n i m ng) (ví d : m- m (point-topoint) hay broadcast), ho c theo ki u ng truy n thông mà m ng s d ng và cách chuy n d li u i (ví d m ng chuy n m ch o hay chuy n m ch gói). Trang 6

14 Hình 1. 3 M t m ng LAN n gi n 3.1. Phân lo i m ng theo di n ho t ng u phân lo i theo di n ho t ng, m ng máy tính có th c phân chia thành: ng c c b (Local area network - LAN); ng di n r ng (wide area network - WAN); ng thành ph (metropolitan area network - MAN); ng toàn c u (global area network - GAN); ng cá nhân (personal area network - PAN); ng l u tr (storage area network - SAN). Trong các lo i m ng trên, hi n nay có hai khái ni m c dùng ph bi n là m ng c c b và m ng di n r ng. ng c c b (LAN), liên k t các tài nguyên máy tính trong m t vùng a lý có kích th c h n ch. ó có th là m t phòng, vài phòng trong m t tòa nhà, ho c vài tòa nhà trong m t khu nhà C m t "kích th c h n ch " không c xác nh c th nên m t s ng i xác nh ph m vi c a m ng LAN b ng cách nh bán kính c a nó n m trong kho ng vài ch c mét n vài km. Vi n Institute of Electrical and Electronics Engineers (IEEE) xác nh bán kính c a ng LAN nh h n 10km. Ví d v m t s m ng LAN: Ethernet/802.3, token ring, m ng FDDI (Fiber Distributed Data Interface). ng di n r ng (WAN), liên k t các tài nguyên máy tính trong m t vùng a lý r ng (có bán kính trên 100 km) nh th xã, thành ph, t nh/bang, qu c gia. Có th coi m ng WAN g m nhi u m ng LAN khác nhau. Ví d v ng WAN: ISDN (Integrated Services Data Network) Trang 7

15 3.2. Phân lo i m ng theo mô hình ghép n i (topo) Các mô hình ghép n i m ng có th chia thành hai nhóm: Mô hình m - m (point-to-point) Mô hình m-nhi u m (Broadcast) th N u phân lo i theo mô hình ghép n i (topo), m ng máy tính có th c phân chia thành: Mô hình m - m (point-to-point) Mô hình m - m có hai d ng topo ph bi n, ó là Star và Tree. Mô hình Star: Trong mô hình Star các nút c n i v i m t b ph n g i là Hub ( u n i trung tâm). D li u t m t máy g i i s c truy n qua Hub n các máy khác trong m ng. M ng Star cung c p tài nguyên và ch qu n lý t p trung. Tuy nhiên, do m i máy tính u ph i n i vào m t trung tâm m nên có nhi u h n ch n u m ng có quy mô l n. Hình 1.4 Mô hình sao, các thi t b n i vào m t HUB duy nh t. Mô hình Tree (Cây): Mô hình cây là mô hình phân c p. Nó bao gôm t nút g c ho c m t hub n i n các nút m c hai ho c hub m c hai. Các thi t b m c hai này l i c n i n các thi t b m c ba, m c ba c n i n các thi t b m c b n,... ng d ng cây n gi n c cho trong hình 1.6. M t ng d ng c a mô hình này là m ng IEEE , hay còn g i là 100VG-AnyLAN (xem ch ng 9), trong ó các hub c s p thành t ng t o thành m t mô hình phân c p. Trang 8

16 Hình 1.5 Mô hình cây Mô hình m - nhi u m (Broadcast) Mô hình này g m các nút cùng dùng chung m t kênh truy n thông. Khác i mô hình m - m, d li u t m t máy g i i s c truy n n t t c các nút trên kênh truy n dùng chung. Các máy s ki m tra xem li u chúng có ph i là ích n c a thông p ó hay không b ng cách ki m tra a ch n (destination address) c a thông p. (Khái ni m a ch s c th o lu n trong ph n ti p theo). Các máy không ph i là ích n c a thông p s b qua thông p này. Ch có nút là ích n c a thông p m i ti p nh n thông p. u này c ng t ng t nh m t l p h c g m nhi u sinh viên và m t giáo viên. N u giáo viên a ra m t câu h i, t t c các sinh viên u nghe th y câu h i nh ng ch sinh viên c giáo viên ch nh m i tr l i câu h i này. Môi tr ng dùng chung ây chính là không khí, câu h i c a giáo viên là m t d ng thông p, lan truy n trong không khí và n tai t t c các sinh viên (các nút). Mô hình m - nhi u m có m t s d ng topo ph bi n, ó là bus và ring. Các h th ng truy n thông v tinh c ng d a trên mô hình m - nhi u m. Mô hình Bus: M t c u hình bus n hình c minh h a trong hình 1.6 Rõ ràng topo d ng bus thu c mô hình m - nhi u m: các nút m ng c i n cùng m t kênh truy n. M t ví d n hình v m ng có topo d ng bus là m ng Ethernet ng tr c. Trang 9

17 Hình 1.6 M ng Ethernet v i Bus dùng chung Mô hình Ring (vòng): Trong c u hình ring, t t c các nút c n i n cùng m t vòng - môi tr ng truy n thông dùng chung. Trong topo d ng ring truy n th ng, thông p c truy n l n l t qua các nút theo vòng. H ng truy n có th thu n hay ngh ch chi u kim ng h ph thu c vào công ngh d ng. Chú ý r ng, m c dù d li u c chuy n t nút n n nút kia, ring n không ph i là m t topo thu c mô hình m - m vì các nút dùng chung t kênh truy n. Vì v y, v m t logic, trong topo d ng ring t t c các nút dùng chung m t kênh truy n, nh ng v m t v t lý, vi c truy n thông thu c mô hình m - m. Tr ng h p này c ng gi ng nh topo d ng bus và t t c các h th ng m - nhi u m khác, m ng d ng ring c n m t s ph ng pháp qu n lý vi c truy c p vòng ng th i. Hình 1.7 M ng FDDI có topo d ng Ring tinh: Trong h th ng truy n thông v tinh, vi c truy n d li u t m t ng-ten trên m t t n v tinh th ng là mô hình m- m. Tuy nhiên, t t các nút n m trong m ng u có th nh n c d li u t v tinh truy n xu ng - v tinh phát qu ng bá xu ng m t ho c nhi u tr m trên m t t. Do Trang 10

18 ó, các h th ng truy n thông v tinh c x p vào mô hình m - nhi u m (broadcast). Ví d, r t nhi u tr ng h c M có kh n ng nh n tin t tinh. B t c ch ng trình giáo d c nào d c phát qu ng bá qua h th ng v tinh u c các tr ng h c thu c b ng cách u ch nh thi t b nh n n t t n s thích h p. M ng v tinh c minh h a trên hình 1.8. Hình 1.8 V tinh và các khu v c ph sóng Trong mô hình m - nhi u m có r t nhi u ki u truy n thông p khác nhau: Unicast - ch có m t thi t b nh n thông p. Multicast - m t nhóm thi t b nh n thông p. Chính t ng network a thi t b nh n s ki m tra xem thi t b nh n ó có n m trong nhóm nh n thông p này không. Broadcast - ích n c a thông p này là t t c các thi t b trong ng. Thông p broa cast là m t thông p multicast c bi t. t c m khác c a mô hình m - nhi u m là khái ni m tranh ch p (contention). Do t t c các nút cùng dùng chung m t kênh truy n, chúng ph i "tranh nhau kênh truy n khi c n truy n thông. Do v y m ng d a trên mô hình broadcast c n gi i quy t v n khi có nhi u nút mu n truy n d li u i cùng m t th i m. R t nhi u giao th c ã c phát tri n gi i quy t tranh ch p gi a các nút. Trang 11

19 3.3. Phân lo i theo ki u chuy n. Ngoài vi c phân lo i m ng theo di n ho t ng và topo m ng, các m ng còn c phân lo i theo ki u truy n thông mà chúng s d ng, cùng v i cách li u c truy n i trên ó. Hai phân lo i n hình là m ng chuy n m ch o (virtual circuit-switched) và m ng chuy n gói (packet-switched). Trong m ng chuy n m ch o (circuit-switched), ph i thi t l p m ch t lý gi a nút ngu n và ích tr c khi chuy n d li u th c s. M ch này t n t i trong su t th i gian chuy n d li u. ng n tho i công ng là m t ví d v m ng chuy n m ch o. Khi th c hi n m t cu c i n tho i, m t ng truy n v t lý tr c ti p c thi t l p gi a máy n tho i c a ng i b t u cu c g i và máy n tho i c a ng i nh n cu c g i. ng truy n này là m t k t n i m - m, liên k t các b chuy n m ch (switch) trong m ng c a công ty n tho i l i v i nhau. M t khi ã c thi t l p, ng truy n ch dành riêng truy n d li u cho cu c g i hi n th i. Sau khi truy n d li u xong (cu c g i k t thúc) m ch c gi i phóng và có th c dùng cho m t cu c g i khác. Nh v y, chuy n m ch làm t ng kh n ng chia ng truy n (link) vì cùng m t m ch có th c dùng cho nhi u quá trình truy n khác nhau, m c d u không cùng m t th i m. Hình 1.9 M ng n tho i - chuy n m ch o Trong ng chuy n gói (packet-switched network), thông p u tiên c chia thành nh ng n v nh h n g i là packet, sau ó nh ng packet này l n l t c g i t i nút nh n qua m ng l i các chuy n m ch (switch) trung gian. Packet là m t n v d li u nh nh t có th truy n c trong m ng. M i packet mang thông tin v a ch nút nh n cùng s th t c a nó. Khi m t packet n c switch Trang 12

20 trung gian, switch c n c vào a ch ích c a packet quy t nh xem s chuy n packet i theo ng nào n c switch ti p theo. Do c u hình c a toàn b h th ng có th thay i nên các packet c a cùng m t thông p có th n ích theo nh ng tuy n ng khác nhau. u này c ng gi ng nh vi c g i th. Khi m t b u c c nh n c th, nó s c n c vào a ch ng i nh n chuy n n n i thích p. M ng toàn c u Internet hi n nay áp ng công ngh chuy n ch gói này. ` ` B ` Router Router Router ` ` ` A ` Router Gói tin Router ` Hình 1.10 M ng chuy n m ch gói - các gói tin i theo nhi u tuy n ng khác nhau A n B 4. a ch m ng, nh tuy n, tính tin c y, tính liên tác và an ninh m ng Khái ni m m ng máy tính liên quan n nhi u y u t, trong ó có a ch, nh tuy n, tính tin c y tính liên tác, và an ninh m ng. Ph n d i ây trình bày ng n g n v nh ng y u t này a ch (Address). Khái ni m v a ch liên quan n vi c gán cho m i nút m ng m t a ch duy nh t - cho phép các thi t b khác nh v c nó. u này gi ng nh a ch c a m t ngôi nhà - tên ph s ch cho bi t khu v c c n i n, s nhà xác nh chính xác nhà c n n. M t vi d khác là h th ng n tho i. M i n tho i (m t nút) có mã vùng và m t s ( a ch ). Mã vùng cung c p thông Trang 13

21 tin v v trí c a nút ó trong m t vùng nào ó, còn s n tho i là s xác nh duy nh t máy n tho i trong vùng ó. H th ng các thi t b chuy n m ch trong các công ty n tho i c l p trình t o nên m t kênh truy n gi a hai thi t b. V th c ch t mã vùng l i c phân c p thành mã qu c gia và mã khu v c nh tuy n (Routing) Khái ni m nh tuy n quy t nh tuy n ng mà d li u s i qua khi chuy n t nút nh n n nút g i. Ch c n ng nh tuy n c th c hi n b i t thi t b ph n c ng c bi t: router (thi t b nh tuy n). Vi c l a ch n tuy n ng t t nh t ph i d a trên m t tiêu chu n c th - c g i là o (metric). Các o nh tuy n ph bi n là: kho ng cách, s ch ng (hop) và ng thông Tính tin c y (Reliability) Tính tin c y ch tính toàn v n d li u - m b o r ng d li u nh n c gi ng h t d li u c g i i. M ng máy tính không ph i là các h th ng không có l i. Trong th c t, l i u có th x y ra trên t t c các môi tr ng truy n trên m ng. Vì v y c n ph i thi t k sao cho h th ng có kh n ng x lý i. M t trong nh ng chi n l c n hình là thêm thông tin vào d li u c chuy n i sao cho phía nh n phát hi n c l i (n u có). Khi phía nh n phát hi n ra l i, nó có th th c hi n: (1) yêu c u truy n l i d li u b l i, ho c (2) ki m tra xem d li u úng là gì và s a i d li u b truy n l i. Cách th hai i là kh n ng s a l i (error correction). Cách th nh t là s a l i b ng cách yêu c u truy n l i, cách th hai là t s a l i. s a c l i, ph i ò tìm l i. Vi c t s a l i nói chung khó th c hi n. H u h t các m ng ngày nay u c thi t k có kh n ng dò tìm l i (error detection). Có hai cách dò l i thông ng ó là ki m tra bit ch n/l và mã d th a vòng (CRC - cyclic redundancy check). Hai k thu t này c th o lu n trong ch ng Tính liên tác (Inter-operability) Tính liên tác (interoperability) ch kh n ng các s n ph m (ph n c ng và ph n m m) c a các hãng s n xu t khác nhau có th giao ti p thành công v i nhau trong m ng. Trong th i kì hoàng kim c a các m ng c quy n (c a t nhân, hãng s n xu t, ho c m t t ch c), không c n ph i quan tâm n tinh liên tác, mi n là các y u t t o thành m ng u là s n ph m và giao th c c a cùng m t hãng s n xu t. Khi hãng s n xu t th ba phát tri n m t ng d ng có Trang 14

22 tính n ng c c i ti n h n ng d ng c a hãng s n xu t c quy n, hãng s n xu t th ba ph i c s ng ý c a nhà s n xu t c quy n - t c là hãng s n xu t th ba ph i tr phí b n quy n. Ngày nay, v i b giao th c "m " TCP/IP, các hãng s n xu t - nh ng ng i vi t và bán các ng d ng d a trên TCP/IP c t do làm nh ng u h mu n, không ph i lo ng i v vi c vi ph m b n quy n. H u h t các hãng s n xu t máy tính u c g ng s n ph m c a mình t ng thích v i s n ph m c a hãng s n xu t khác An ninh (Security) An ninh m ng ch vi c b o v m i th liên quan n m t m ng, bao g m li u, ph ng ti n truy n thông và các thi t b. An minh m ng còn bao g m các ch c n ng qu n tr, các công c k thu t và thi t b nh các s n ph m mã hóa, các s n ph m ki m soát truy c p m ng (ví d : firewall - thi t b ph n ng c bi t b o v m t m ng kh i th gi i bên ngoài). An ninh m ng c ng bao g m vi c nh ra nh ng chính sách s d ng tài nguyên m ng, ki m tra xem tài nguyên m ng có c s d ng phù h p v i ch nh sách ã nh tr c hay không, quy nh và ki m tra ch nh ng ng i có quy n m i c s ng các tài nguyên ó 5. Các chu n m ng Các chu n m ng c phát tri n nh ngh a giao ti p ph n c ng, giao th c truy n thông, ki n trúc m ng và nh ng th nh v y. Các chu n m ng thi t l p nh ng quy t c ho c quy c c th mà các bên tham gia truy n thông n ph i tuân theo. Chúng làm t ng kh n ng liên tác gi a các s n ph m ph n ng và ph n m m c a các hãng s n xu t khác nhau. Các chu n c xây ng thông qua các t ch c chu n hóa. Nh ng t ch c này c chia thành n lo i chính: (a) qu c gia, (b) vùng, (c) qu c t và (d) ngành/hi p h i th ng m i/hi p h i ngh. Thành viên c a các t ch c th ng là các i bi u các chính ph, vi n nghiên c u và hãng s n xu t. Quá trình xây d ng chu n ph i c th c hi n sao cho m b o c tính th ng nh t, vì v y th ng kéo dài, ôi khi ph i m t nhi u n m m i cho ra i c m t chu n chính th c. Quá trình này c ng liên quan n chính 5.1. Các chu n chính th c (De jure standard) Các chu n chính th c c công nh n b i nh ng t ch c chu n hóa chuyên nghi p. Ví d, nh ng giao th c v modem c xây d ng b i Hi p i truy n thông qu c t (Intemational Telecommunications Union - ITU), Trang 15

23 hay chu n EIA/TIA-568 dùng cho Commercia/ Building Telecommunications Wiring c xây d ng b i Electronic Idustries Association - TIA và Telecommunications Inustries Association - TIA, ho c các chu n cho m ng c b c xây d ng b i Institute for Electrical and Electronic Engineers - IEEE. (Các chu n này s c th o lu n chi ti t trong các ch ng sau) 5.2 Các chu n th c t (De facto standard) Các chu n th c t là các chu n t n t i trong th c t mà không c xây ng b i b t c t ch c chu n hóa chính th c nào. Chúng c phát tri n thông qua s ch p nh n c a toàn ngành i v i m t chu n c a m t hãng nhà n xu t c th. Ví d v m t chu n th c t là Network File System (NFS) - giao th c chia s file c a hãng Sun Microsystems. Sun ã công khai c t a giao th c này, do ó nh ng nhà s n xu t khác có th tri n khai nó. K t qu NFS c s d ng r ng rãi và c coi nh m t chu n th c t. Hi n t i, NFS c th c thi trên r t nhi u h th ng UNIX khác nhau (Sun, IBM, Silicon Gracphics, Compaq, và HP), c ng nh các h th ng d a trên Macintosh và Intel. M t chu n th c t khác là Java - ngôn ng l p trình web c phát tri n b i hãng Sun Microsystems Các chu n riêng c a hãng Các chu n c a hãng là các chu n quy nh nh ng yêu c u c th c a m t nhà s n xu t nào ó. Nh ng c t này không c công khai, ch c tuân theo và ch p nh n b i chính hãng s n xu t ngh ra nó. Trong th i kì u a m ng, các chu n c a hãng th ng tr. M c d u ngày nay nh ng chu n nh y không còn c tán thành n a song chúng v n t n t i r t nhi u. c bi t n nhi u nh t ph i k n các chu n c a IBM (ví d : SNA - ki n trúc h th ng m ng c a IBM), giao th c IPX c a Novell - d a trên giao th c XNS a Xerox. Các chu n riêng c a hãng trói bu c khách hàng vào gi i pháp c a t nhà s n xu t c th, làm cho h g p khó kh n khi s d ng các s n ph m (ph n c ng ho c ph n m m) c a các hãng s n xu t khác Các chu n hi p h i Các chu n hi p h i t ng t nh các chu n chính th c theo ngh a chúng ng là m t s n ph m c a quá trình chu n hóa. m khác nhau là quá trình p k ho ch và chu n hóa nh ng chu n này không ch u s qu n lý c a các t ch c chu n hóa chuyên nghi p. Thay vào ó, c t cho các chu n c thi t và th a thu n b i nhóm các nhà s n xu t thành l p nên hi p h i, v i m t Trang 16

24 c ích c th : t c m c tiêu chung. Nh ng nhà s n xu t này cam k t tr cho các chu n c phát tri n b i hi p h i, và phát tri n nh ng s n ph m tuân theo các chu n này. Ví d v các chu n hi p h i nh Fast Ethernet, Asynchronous Transfer Mode (ATM Forum), và Gigabit Ethernet. II. MÔ HÌNH OSI ISO (the International Standards Organization) là m t t ch c c thành l p n m 1971 v i m c ích thi t l p các tiêu chu n qu c t. M t trong các chu n ISO bao hàm m i m t c a truy n thông m ng là mô hình OSI - Open Systems lnterconnection model (Mô hình liên k t gi a các h th ng ). ây là mô hình cho phép b t c hai h th ng nào (cho dù khác nhau) có th truy n thông v i nhau mà không c n quan tâm n ki n trúc bên d i c a chúng. Các giao th c c a riêng m t hãng s n xu t th ng ng n ng a vi c truy n thông gi a hai h th ng không cùng m t ki u. Mô hình OSI ra i v i c ích cho phép hai h th ng b t kì truy n thông v i nhau mà không c n thay i v m t logic c a b t c ph n c ng ho c ph n m m nào bên d i. Mô hình OSI không ph i là m t giao th c; nó là m t mô hình nh n bi t và thi t m t ki n trúc m ng linh ng, v ng ch c và có kh n ng liên tác (interoperabie). Chú ý phân bi t ISO là m t t ch c còn OSI là m t mô hình 1. Mô hình Mô hình OSI c phân t ng v i m c ích thi t k các h th ng m ng cho phép vi c truy n thông th c hi n c qua t t c các ki u h th ng máy tính khác nhau. Mô hình g m 7 t ng riêng bi t nh ng có liên quan n nhau, i t ng nh ngh a m t ph n c a quá trình truy n thông tin trên m ng. Vi c hi u nh ng quy t c c b n c a mô hình OSI cung c p m t c s v ng ch c khám phá truy n thông d li u. Th c ra trong cu c s ng, chúng ta g p khá nhi u ví d v vi c phân t ng. Gi s ng i A vi t th g i cho ng i B. Sau khi vi t th xong, A cho th vào phong bì, dán kín, ghi a ch c a B, dán tem và nhét b c th vào h p th b u n. Gi a A và B, n v d li u trao i là các lá th. B c th có th xem là d li u th c s trong khi phong bì th có th xem là m t lo i tiêu ch a các thông tin u khi n. H th ng b u n (bao g m nhi u b u c c - là các tr m trung gian mà b c th s i qua) ch u trách nhi m chuy n b c th i a ch c a B. V i ví d này t ng d i (h th ng b u n) s cung c p ch v chuy n th cho t ng trên (A và B). A và B ch quan tâm n n i dung c th, khuôn d ng th, ngôn ng vi t trong th mà không c n quan tâm Trang 17

25 n làm th nào th có th chuy n t i B. ây chính là u m c a vi c phân t ng: t ng trên s d ng d ch v c a t ng d i nh ng không c n quan tâm n cách th c th c hi n d ch v ó Ki n trúc phân t ng Mô hình OSI g m 7 t ng: ng v t lý (Physical layer) ng liên k t d li u (Datalink layer) ng m ng (Network layer) ng giao v n (Transport layer) ng phiên (Session layer) ng trình di n (Presentation layer) ng ng d ng. (Application layer). Application Presentation Session Transport Network Data Link Physical Hình 1.11 B y t ng trong mô hình OSI Hình 1.11 minh h a m i quan h gi a các t ng khi m t thông p c i t thi t b A n thi t b B. Khi thông p i t A n B, nó có th i qua nhi u nút trung gian khác. Nh ng nút trung gian này th ng ch liên quan n 3 t ng u c a mô hình OSI. Khi phát tri n mô hình, các nhà thi t k ã phân tích quá trình truy n d li u thành nh ng y u t c b n nh t. H phân lo i nh ng ch c n ng m ng nào có m c ích (s d ng) liên quan n nhau và nhóm các ch c n ng này t ng nhóm - các nhóm này tr thành các t ng. M i ng u có ch c n ng, nhi m v xác nh. B ng cách xác nh và khoanh vùng các ch c n ng trong mô hình, các nhà thi t k ã a ra m t ki n trúc Trang 18

26 t c c tính toàn di n và linh ho t. Quan tr ng nh t, mô hình OSI t o ra tính trong su t hoàn toàn gi a hai h th ng không t ng thích v i nhau. Media Computer A Link Link Computer B Application Application 7-6 interface 7-6 interface Presentation Presentation 6-5 interface 6-5 interface Session Session 5-4 interface 5-4 interface Transport Transport 4-3 interface 4-3 interface Network 3-2 interface Network Network 3-2 interface Datalink 2-1 interface Physical Data link Physical Data link Physical Datalink 2-1 interface Physical Hình 1.12 Mô hình OSI 1.2. Các ti n trình ngang hàng (peer-to-peer) Trong m i máy, m i t ng s d ng các d ch v do t ng bên d i cung p. Ví d, t ng 3 s d ng các d ch v do t ng 2 cung c p và n l t mình i cung c p d ch v cho t ng 4. Gi a các máy tính, t ng x trên m t thi t b giao ti p v i t ng x trên thi t b khác. Vi c giao ti p này c ti n hành theo các quy t c và quy c ã c th a thu n tr c - g i là giao th c. i t ng v t lý, vi c truy n thông là tr c ti p: Máy A g i m t lu ng bít n máy B. Tuy nhiên t i các t ng cao h n trên máy A, d li u c chuy n n xu ng các t ng bên d i, n máy B và ti p t c i lên các t ng cao h n (trong máy B). M i t ng trong máy g i d li u i (máy A) thêm các thông tin a t ng ó vào thông p nh n c t phía trên r i sau ó chuy n toàn b gói d li u xu ng t ng phía d i. Các thông tin c thêm vào này t o thành header (tiêu chèn tr c) và trailer (tiêu chèn sau) là các thông tin u khi n c thêm vào u hay cu i gói d li u. Header c thêm vào thông p t i m i t ng 6, 5, 4, 3, và 2; trailer c thêm vào t i t ng 2. Trang 19

27 i t ng 1, toàn b gói d li u c chuy n thành d ng sao cho có th truy n i t i máy nh n. T i thi t b nh n, các tiêu c l y ra d n d n khi chuy n d li u d n lên trên. Ví d, t ng 2 lo i b các tiêu c a t ng 2 và chuy n ph n còn l i (d li u) cho t ng 3. T ng 3 lo i b các tiêu t ng 3 và chuy n ph n d li u cho t ng 4... L7 data L7 data H6 7 6 L6 data H5 5 L5 data H4 4 L4 data H3 3 H2 L3 data H L7 data L7 data H6 L6 data H5 L5 data H4 L4 data H3 H2 L3 data H Media transfer Hình 1.13 D li u c chuy n d c theo các t ng i xu ng phía d i 1.3. Giao di n gi a các t ng Nói chung trên cùng m t máy tính, hai t ng k nhau trao i d li u v i nhau qua các giao di n (interface). Giao di n nh ngh a cách th c và khuôn ng d li u trao i gi a hai t ng k nhau trên cùng m t thi t b. nh ngh a giao di n gi a các t ng m t cách rõ ràng s cho phép thay i cách th c tri n khai t i m t t ng mà không nh h ng n các t ng khác. Trong thu t ng m ng, ng i ta th ng g i giao di n gi a các t ng là m truy c p d ch v (service access point - SAP) vì t ng trên yêu c u d ch c a t ng d i thông qua giao di n T ch c các t ng Có th chia b y t ng có th thành ba nhóm. T ng v t lý, liên k t d li u và m ng t o thành nhóm t ng h tr m ng; chúng ch u trách nhi m v các v n liên quan n m t v t lý khi truy n d li u t m t thi t b này n m t thi t khác (ví d : nh ng c t n, các k t n i v t lý, nh a ch v t lý, nh th i gian truy n và tính tin c y). T ng phiên, trình di n, và ng d ng có th c coi nh nhóm t ng h tr ng i dùng; chúng cho phép kh n ng liên tác Trang 20

28 gi a các h th ng ph n m m không liên quan n nhau. T ng 4 - t ng giao n m b o vi c chuy n d li u u cu i (end-to-end) tin c y, trong khi t ng 2 m b o vi c truy n d li u tin c y trên m t d ng truy n (v t lý) riêng l. Nói chung, các t ng trên c a mô hình OSI th ng c th c hi n b i ph n m trong khi nhóm các t ng d i c c tri n khai d i s k t h p c a ph n c ng và ph n m m. T ng v t lý h u nh c tri n khai b i ph n ng. Hình 1.13 mô t t ng quan các t ng trong mô hình OSI. Trong hình v, (d li u) L7 là n v d li u t i t ng 7, (d li u) L6 là n v d li u t i t ng 6,... Trong thu t ng m ng ng i ta g i Li là n v d li u giao th c t ng i (ipdu - Protocol Data Unit). i v i t ng th i+l, d li u t ng I truy n cho c g i là n v d li u d ch v (service data unit - SAP). Nói chung PDU ch a SAP và m t s thông tin tiêu khác. Quá trình c b t u t i t ng 7 (t ng ng d ng), sau ó chuy n xu ng các t ng d i. T i m i t ng ngo i tr ng 7 và t ng 1, header c thêm vào n v d li u. i t ng 2, m t trailer ng c thêm vào n v d li u. Khi n v d li u ( ã nh khuôn d ng) i qua t ng v t lý (t ng 1 ), nó c chuy n thành tín hi u n t và truy n i trên ng truy n v t lý. Khi n n i nh n, tín hi u n t i n t ng 1 và c chuy n ng c i thành chu i các b t. Các n v d li u sau ó s c chuy n t t ng 1 lên các t ng trên trong mô hình OSI. T i m i t ng, các hea er và trailer c thêm vào kh i d li u t ng t ng ng trên máy g i c l y ra. Khi n ng 7, thông p d ng d li u phù h p và s n sàng cho ng d ng nh n. 2. Ch c n ng c a các t ng Trong ph n này, chúng ta s mô t chi ti t ch c n ng c a t ng t ng trong mô hình OSI T ng v t lý ng v t lý th c hi n các ch c n ng c n thi t truy n lu ng bit d li u i qua các môi tr ng v t lý. Nó gi i quy t nh ng v n liên quan n c m k thu t v c và n c a gi a card ghép n i (interface) v i môi tr ng truy n d n. Nó c ng xác nh các th t c và các ch c n ng mà các thi t b v t lý và thi t b giao ti p c n ph i tuân th. Hình 1.14 minh h a m i quan h gi a t ng v t lý v i môi tr ng truy n d n và t ng nên k t d li u. Trang 21

29 Hình 1.14 V trí, vai trò c a t ng v t lý Trong ví d chuy n th, t ng v t lý liên quan n công ngh chuy n th nó có th là xe p, máy bay, tàu h a, tàu th dùng chuy n các túi th. ng liên k t d li u chuy n lá th cho t ng v t lý và hy v ng t ng v t lý chuy n gói tin sang phía bên kia c a kênh truy n. ng v t lý liên quan n: c m v t lý c a các ph ng ti n (thi t b ) giao ti p và truy n thông: T ng v t lý xác nh các c m c tính giao di n gi a các thi t b và các ph ng ti n truy n d n. Nó c ng xác nh ki u c a ph ng ti n truy n d n thông tin. Bi u di n bit: D li u t ng v t lý là lu ng bit liên t c (các chu i 0 và l). truy n i, các bit ph i c mã hóa thành các tín hi u n ho c quang. T ng v t lý xác nh ph ng th c mã hóa (các bit 0 và 1 c chuy n thành các tín hi u nh th nào). c d li u: T c truy n d n - s các bit c g i i trong m t giây c ng c xác nh b i t ng v t lý. Nói cách khác, t ng v t lý xác nh kho ng th i gian truy n i m t bit. ng b hóa các bit: Máy g i và nh n ph i c ng b hóa m c bit. Nói cách khác, ng h c a máy g i và nh n ph i c ng b hóa. u hình ng truy n: T ng v t lý liên quan n vi c k t n i các thi t b vào môi tr ng truy n thông. Trong c u hình m- m (point-to-point), hai thi t b c n i v i nhau qua m t ng truy n dành riêng. Trong c u hình m-nhi u m (multipoint), m t ng truy n c nhi u thi t b dùng chung. Trang 22

30 Topo (Mô hình ghép n i) v t lý: Topo v t lý xác nh cách n i các thi t b v i nhau t o thành m ng. Có th s d ng topo d ng l i (mesh topology) (m i thi t b c n i v i t t c các thi t b còn l i), topo d ng sao (star topology) (m i thi t b c n i v i m t thi t b trung tâm), topo d ng vòng (tr ng topology) (m i thi t b c n i v i t thi t b bên c nh, c nh v y t o thành vòng), hay topo d ng bus (m i thi t b c n i n m t ng truy n chung). Ch truy n d n: T ng v t lý c ng xác nh h ng truy n d li u gi a hai thi t b : n công (simplex), bán song công (haif-duplex), hay song công (full-duplex). Trong ch n công, m t thi t b ch có th g i ho c nh n d li u. Ch n công là truy n thông m t chi u. Trong ch bán song công, m t thi t b có th g i và nh n d li u, nh ng không ph i t i cùng m t th i m. Trong ch song công, m t thi t b có th nh n và g i d li u t i cùng m t th i m T ng liên k t d li u. Nhi m v c a t ng liên k t d li u là truy n thông gi a hai nút n i tr c ti p v i nhau. Nó bi n t ng v t lý không tin c y thành ng truy n tin c y cho t ng m ng bên trên. Hình 1.15 minh h a m i quan h gi a t ng liên k t li u v i t ng m ng và t ng v t lý. Network layer L3 data Network layer L3 data Datalink layer Datalink layer T2 L3 data H2 Frame T2 L3 data H2 Frame Physical layer Trang 23 Physical layer Hình 1.15 V trí, vai trò c a t ng liên k t d li u ng liên k t d li u ch u trách nhi m: Framing - óng gói d li u: T ng liên k t d li u chia lu ng bit nh n c t t ng m ng thành các n v d li u g i là các frame. nh a ch v t lý: N u gói d li u c chuy n n thi t b khác trong m ng, t ng liên k t d li u thêm vào tiêu c a frame a ch

31 t lý c a n i nh n ( a ch ích) và có th a ch v t lý c a n i g i a ch ngu n): N u gói d li u c chuy n n các thi t b bên ngoài m ng, a ch nh n s là a ch c a thi t b trung gian k t n i ng ra bên ngoài. Ki m soát l u l ng: N u t c nh n d li u nh h n t c g i d li u, t ng liên k t d li u ph i th c hi n m t k thu t ki m soát l u ng ng n ng a tình tr ng quá t i t i n i nh n. Ki m soát l i: T ng liên k t d li u làm t ng tính tin c y cho t ng v t lý b ng cách s d ng m t k thu t phát hi n và truy n l i các frame b i ho c b m t. Nó c ng s d ng k thu t ng n ng a vi c t o frame trùng l p. Ki m soát l i th ng c th c hi n b ng cách thêm m t trailer vào ph n cu i c a frame. Ki m soát truy c p: Khi nhi u thi t b c n i v i cùng m t ng truy n, các giao th c t ng liên k t d li u c n xác nh xem thi t b nào c quy n s d ng ng truy n t i m t th i m xác nh. Trong hình 1.16, nút có a ch v t lý 10 g i m t frame n m t nút có a ch v t lý là 87. Hai nút này c n i v i nhau b i m t ng truy n. ng liên k t d li u, header c a frame ch a các a ch v t lý. Ph n còn l i a header ch a các thông tin c n thi t cho t ng liên k t d li u. Trailer th ng ch a các bit d th c hi n ki m soát l i T2 Data Trailer source address destination address Hình 1.16 Ví d v a ch c a t ng liên k t d li u Hãy xét ti p ví d v chuy n th. Sau khi thu th p th t i các hòm th, nhân viên b u chính th c hi n vi c phân lo i th ra hai nhóm: nhóm th nh t m các th g i t i các a ch n m trong vùng do nó qu n lý, nhóm th hai chuy n ra phía ngoài. i v i nhóm th hai, nhân viên b u c c ph i t trong t túi th l n và chuy n n b u c c c p cao h n. Các túi th có th xem là Trang 24

32 các "frame". H n th n a, các a ch trên túi th s cho phép túi th c chuy n n b u c c c p cao thích h p T ng m ng ng m ng ch u trách nhi m chuy n gói d li u t n i g i n n i nh n, gói d li u có th ph i i qua nhi u m ng (các ch ng trung gian). T ng liên t d li u th c hi n truy n gói d li u gi a hai thi t b trong cùng m t m ng, còn t ng m ng m b o r ng gói d li u s c chuy n t n i g i n úng i nh n. u hai thi t b có cùng m t môi tr ng truy n thì t ng m ng không c n thi t. Tuy nhiên, n u hai thi t b trong hai m ng khác nhau, gi a chúng có nhi u thi t b k t n i trung gian thì c n ph i có t ng m ng th c hi n vi c chuy n d li u t ngu n n úng ích. Hình 1.17 minh h a m i quan h gi a t ng m ng v i t ng giao v n và liên k t d li u. Transport layer Transport layer L4 data L4 data Network layer H3 Packet Packet H3 Network layer L3 Data L3 Data Datalink layer ng m ng có nhi m v : Hình 1.17 V trí t ng m ng Datalink layer nh a ch logic: a ch v t lý c a t ng nên k t d li u ch gi i quy t c v n nh a ch c c b. N u gói d li u c chuy n n m t m ng khác, c n ph i có m t h th ng a ch khác nh m phân bi t c h th ng g i và h th ng nh n. T ng m ng b sung thêm tiêu vào m i gói d li u g i i, trong tiêu ch a a ch logic c a thi t b nh n và thi t b g i. nh tuy n: Khi các m ng ho c các nút riêng r c n i v i nhau o thành m t liên m ng (m ng c a các m ng), các thi t b. k t n i Trang 25

33 trung gian (router ho c gateway) ph i xác nh tuy n ng ( nh tuy n) cho các gói d li u chúng n c n i nh n cu i cùng. Gi s trong hình 1.18, d li u c g i t nút có a ch m ng A và a ch v t lý 10 trong m t m ng c c b n m t nút có a ch m ng P và a ch t lý 95 trong m ng c c b khác. Dò hai thi t b thu c hai m ng khác nhau, chúng ta không th ch s d ng a ch v t lý vì a ch v t lý ch có tác d ng trong m ng c c b. Cái chúng ta c n ây là m t a ch toàn th có th chuy n packet ra kh i m ng c c b n m t m ng c c b khác a ch logic có c m này. Gói d li u t i t ng m ng ch a a chi logic - a ch này không thay i khi packet i t n i g i n n i nh n (A và P). a ch logic không thay i khi gói d li u i t m t m ng này sang m t m ng khác; ng c l i a ch v t lý thay i khi packet i t m ng này sang m ng khác. Trong hình v, R là m t router - thi t b liên m ng này s c mô t k trong ch ng 3. A E Bus T2 Data A P G F 20 R T T2 Data A P H Ring N R 66 Z T2 Data A P P M Bus Hình 1.18 Ví d v a ch t ng m ng Trang 26

34 Các b u c c s cung c p d ch v t ng ng v i t ng m ng. Trong m i u c c s có m t "b ng nh tuy n" cho phép b u tá xác nh c c n chuy n ti p b c th b t k nào ó n âu. B c th s c chuy n n tr m ti p (b u c c hay a ch nh n) nh vào d ch v c a t ng liên k t d li u. Rõ ràng r ng th c chuy n trên các ch ng có th b ng nh ng ph ng th c hoàn toàn khác nhau (b ng Ô tô, máy bay...). m khác bi t duy nh t gi a ng b u chính và m ng máy tính là topo c a m ng b u chính nói ch ng r t ít thay i theo th i gian, do v y vi c nh tuy n g n nh là nh T ng giao v n ng giao v n ch u trách nhi m chuy n toàn b thông p t n i g i n n i nh n. T ng m ng chuy n t ng gói d li u riêng l t n i g i n n i nh n mà không quan tâm n quan h gi a các gói d li u. T ng m ng x lý i gói d li u m t cách c l p, m c ù các gói d li u có th thu c v cùng t thông p hay thu c các thông p khác nhau. Nói cách khác, t ng giao v n m b o g i thông p n n i nh n m t cách toàn v n. Hình 1.19 minh h a m i quan h c a t ng giao v n v i t ng m ng và ng phiên. Session layer L5 data Session layer L5 data Transport layer H4 H4 H4 H4 H4 H4 L4 data L4 data L4 data L4 data L4 data Network layer Trang 27 L4 data Network layer Hình 1.19 Quan h gi a t ng giao v n, t ng phiên và t ng m ng ng giao v n t o ra m t k t n i logic gi a hai c ng u cu i: t t c các gói d li u c a cùng m t thông p c truy n theo ng k t n i ó. Có ba giai n c a k t n i: thi t l p k t n i, truy n d li u, gi i phóng k t n i. Do ph i truy n t t c các gói d li u trên m t k t n i, t ng giao v n còn ph i ki m soát th t truy n, l u l ng, phát hi n và s a l i. ng giao v n ch u trách nhi m:

35 a ch c ng (port number): Các máy tính th ng ch y nhi u ch ng trình t i cùng m t th i m.. Vì v y vi c chuy n thông p không ch là truy n d li u t m t máy tính này n m t máy tính khác mà ph i chuy n thông p t ti n trình c th trên máy tính này n ti n trình c th trên m t máy tính khác. Header c thêm vào i t ng giao v n ph i ch a thông tin v m t ki u a ch - a ch c ng hay a ch ti n trình. Sau khi t ng m ng chuy n gói d li u t i thi t b nh n, t ng giao v n phía nh n ph i chuy n toàn b thông p n úng ti n trình nh n. Phân m nh và tái h p: M i thông p c chia thành các n (segment) nh, c truy n c l p v i nhau. M i segment c gán t s th t. S th t này cho phép t ng giao v n phía nh n l p ráp các segment l i thành m t thông p hoàn ch nh hay phát hi n segment nào b m t trong khi truy n. Ki m soát k t n i: T ng giao v n có th là h ng n i ho c không ng n i. Th c th giao v n không h ng n i x lý segment nh t gói d li u c l p và chuy n nó n t ng giao v n c a máy nh n. t t ng giao v n h ng n i th c hi n k t n i v i t ng giao v n c a máy nh n tr c, sau ó m i chuy n các gói d li u i. Sau khi t t c li u c chuy n i, k t n i c gi i phóng. Ki m soát l u l ng: Gi ng nh t ng liên k t d li u, t ng giao v n ch u trách nhi m ki m soát l u l ng. Tuy nhiên, vi c ki m soát l u ng t i t ng này c th c hi n u cu i ch không ph i trên ng truy n n. Ki m soát l i: C ng gi ng nh t ng hên k t d li u, t ng giao v n ch u trách nhi m ki m soát l i. Tuy nhiên vi c ki m soát l i t ng này c th c hi n t i các thi t b u cu i ch không ph i trên ng truy n trung gian. T ng giao v n phía g i m b o r ng toàn b thông p n t i t ng giao v n phía nh n là không b l i (h ng, m t, th a). Vi c kh c ph c l i th ng c th c hi n b ng cách yêu u truy n l i. Trang 28

36 A P Data j k Transport layer Data j k Data - 2 Data - 1 j k A P j k A P Network layer Data - 1 Data - 2 j k A P j k A P T2 Data - 2 j k A P H2 Datalink layer T2 Data - 1 j k A P H2 T2 Data - 1 j k A P H2 T2 Data - 2 j k A P H2 Internet Hình 1.20 Ví d v t ng giao v n Hình 1.20 a ra m t ví d v t ng giao v n. D li u n t các t ng trên có a ch c ng là j và k (j là a ch c ng c a ng d ng g i và k là a ch ng c a ng d ng nh n). Do kích th c d li u l n h n kh n ng x lý c a ng m ng, d li u c chia thành 2 gói d li u nh h n, m i gói d li u v n ch a a ch c ng j và k. Ti p theo, t i t ng m ng, a ch m ng (A và P) c thêm vào m i packet. Các gói d li u có th i theo các tuy n ng khác nhau, n n i nh n có th không theo úng th t. Hai gói d li u c chuy n n t ng m ng c a n i nh n, t i ây header c a t ng m ng c l y ra kh i gói d li u. Hai gói d li u ti p t c c chuy n n t ng giao v n, t i ây chúng c ghép l i chuy n lên t ng trên. th ng b u c c không có t ng giao v n. Trong ví d chuy n th, t ng giao v n s c tri n khai ng i g i và ng i nh n th. Gi s A g i th cho B m i ngày m t lá th. H th ng b u c c có th làm m t, hay g i tr m t lá th nào ó. B có th phát hi n ra u ó n u A ghi ngày tháng vi t th trong m i lá th. N u B không nh n th c a m t ngày nào ó trong m t kho ng th i gian t ng i dài, B có th cho r ng th ó b m t và yêu c u A i l i. Nói chung ây s là nh ng c ch ho t ng c a t ng giao v n T ng phiên Các d ch v c a ba t ng u (v t lý, liên k t d li u, và m ng) ch a hai ti n trình trên hai thi t b có th truy n thông. T ng phiên óng vai trò ki m soát viên" h i tho i (dialog) c a m ng v i nhi m v thi t l p, duy trì và ng b hóa tính liên tác gi a hai bên. Trang 29

37 L6 data L6 data Session layer H5 Session layer H5 syn syn syn syn syn syn L5 data L5 data Transport layer Transport layer ng phiên ch u trách nhi m v : Hình 1.21 Vai trò c a t ng phiên Ki m soát h i tho i: T ng phiên cho phép hai th c th (ti n trình) cùng tham gia vào m t cu c h i tho i. Nó cho phép truy n thông gi a hai ti n trình c th c hi n ho c theo ki u bán song công ho c theo ki u song công. Ví d, h i tho i gi a m t thi t b u cu i v i m t mainframe có th theo ki u bán song công. ng b hóa: T ng phiên cho phép m t ti n trình thêm các m c (trong thu t ng m ng g i là m ng b - synchronization point) vào lu ng d li u. Ví d, n u h th ng c n g i i m t file có 2000 trang, c sau 100 trang nên chèn thêm các m ng b m b o ng vi c nh n t ng c m 100 trang c th c hi n c l p. Trong tr ng h p này n u nh có l i khi ang truy n i trang 523, vi c truy n l i s c b t u t trang 501, không c n ph i truy n l i các trang t 1 n 500. Hình 1.21 minh h a m i quan h gi a t ng phiên và t ng trình di n. Trong m t công ty nào ó có hai th ký - m t ng i chuyên nh n th và t ng i chuyên g i th. Hai ng i th ký này óng vai trò t ng giao v n. Ng i th ký tr ng ph trách c hai th ký này óng vai trò t ng phiên T ng trình di n -Text -Data ASCII EBCDIC Encrypled -Sound -Video MIDI MPEG QuicTime -Graphics -Visual Images Pict TIff, JPEG, GIFF Hình 1.22 Nhi m v c a t ng trình di n Trang 30

38 ng trình di n th c hi n các nhi m v liên quan n cú pháp và ng ngh a c a các thông tin c trao i gi a hai h th ng. ng trình di n có nhi m v : Phiên d ch (Translation): Các ti n trình trên hai thi t b trao i các thông tin d i d ng chu i kí t, s, Các thông tin này sau ó c chuy n sang d ng bit truy n i. Do các h th ng máy tính khác nhau s d ng các h th ng mã hóa khác nhau, t ng trình di n ch u trách nhi m chuy n i gi a các cách mã hóa khác nhau. T ng trình di n t i phía g i chuy n thông tin theo khuôn d ng c a mình thành thông tin theo khuôn d ng chung. T ng trình di n t i máy nh n s chuy n thông tin trong khuôn d ng chung thành thông tin theo khuôn ng c a máy nh n. Mã hóa: H th ng ph i có kh n ng m b o tính bí m t khi chuy n nh ng thông tin quan tr ng. Do v y phía g i s bi n i thông tin ban u thành m t d ng khác và g i nó n phía nh n - ây là công vi c mã hóa. Phía nh n th c hi n quá trình ng c l i bi n thông p nh n c thành d ng ban u. Quá trình này c g i là gi i mã. Username: Admin Password: admin #@uij88%^$!lk *&677##Jnhkkjh Hình 1.23 Mã hóa d li u Nén: Nén d li u làm gi m s l ng bit trên ng truy n. Nén d li u ngày càng tr nên quan tr ng, c bi t trong vi c truy n các d li u a ph ng ti n âm thanh, hình nh T ng ng d ng ng ng d ng cho phép ng i dùng (con ng i hay ph n m m) truy p vào m ng b ng cách cung c p giao di n ng i s d ng, h tr các d ch v nh g i th n t, truy c p và chuy n file t xa, qu n lý CSDL dùng chung và m t s d ch v khác v thông tin. Hình 1.24 minh h a m i quan h gi a t ng ng d ng v i ng i dùng và i t ng trình di n. Có r t nhi u ng d ng có s n, ây ch c p n 3 ng ng: X.400 (d ch v x lý thông p), X.500 (d ch v th m c), và d ch v Trang 31

39 truy c p, chuy n và qu n lý file (FTAM). Ng i dùng trong ví d d i ây dùng X.400 g i i m t thông p n t. Chú ý r ng t ng ng d ng s t o ra d li u th c s ch không có các thông tin tiêu. User User x.500 FTAM X.400 Application layer x.500 FTAM X.400 Application layer Presentation layer Presentation layer Hình 1.24 T ng ng d ng ng ng d ng cung c p các d ch v : Thi t b u cu i o c a m ng: M t thi t b u cu i o c a m ng là phiên b n ph n m m c a m t thi t b u cu i v t lý, cho phép ng i ùng ng nh p vào m t máy t xa. Qu n lý, truy c p và chuy n file: ng d ng này cho phép ng i dùng truy c p file ( vi t ho c c d li u), l y file, qu n lý ho c ki m soát các file trên m t máy tính khác. Các D ch v khác: ng d ng th tín n t cho phép hai ng i trao i th n t v i nhau, ng d ng web cho phép ng i s d ng xem trang web c l u tr trên các server l ng các ng d ng m ng ng lên r t nhanh. Trang 32

40 3. B giao th c TCP/IP Mô hình Internet OSI TCP/IP NetWare Application Presentation Session Transport Network Data Link Physical Application TCP UDP IP, ARP, ICMP Network Interface SAP, NCP SPX IPX MAC Protocal Hình 1.25 i chi u mô hình OSI, mô hình Internet và NETWARE giao th c TCP/IP ( c s d ng trên Internet) ra i tr c khi có mô hình OSI. Do v y, các t ng trong b giao th c TCP/IP không gi ng h t nh các t ng trong mô hình OSI. B giao th c TCP/IP th c hi n phân chia theo 5 ph n: v t lý, liên k t d li u, m ng, giao v n và ng d ng. B n t ng u tiên cung c p các chu n v t lý, giao ti p m ng, liên m ng và ch c n ng giao v n ng ng v i 4 t ng u tiên trong mô hình OSI. Tuy nhiên 3 t ng trên cùng trong mô hình OSI c nh p thành t ng ng d ng trong mô hình Intemet (Hình 1.25) TCP/IP là m t giao th c phân c p, c t o thành b i các module c p, m i module cung c p m t ch c n ng nh t nh, các module này không nh t thi t ph i c l p v i nhau. Mô hình OSI xác nh rõ ch c n ng nào thu c v t ng nào; trong khi ó các t ng c a b giao th c TCP/IP ch a các giao th c t ng i c l p v i nhau, nh ng các giao th c này v n có th k t p v i nhau tùy thu c nhu c u h th ng. Thu t ng phân c mang ngh a i giao th c t ng trên c h tr b i m t ho c nhi u giao th c t ng i. i t ng giao v n, mô hình Internet có hai giao th c: Transmission Control Protocol (TCP) và User Datagram Protocol (UDP). T i t ng m ng là giao th c Internetworking Protocol, thông d ng h n v i tên g i IP. Trang 33

41 TCP Header Upper Layer Data Upper Layer Data Application Presentation Session Transport PDU Segment IP Header Data Network Packet LLC Header Data FCS Data Link Frame MAC Header Data FCS Physical Bits Hình 1.26 D li u i t trên xu ng trong mô hình INTERNET Trang 34

42 Ch ng 2: NG NG D NG I. GIAO TH C T NG NG D NG ng d ng m ng chính là ng l c phát tri n c a m ng máy tính. Có l u không có chúng thì c ng s không có các giao th c m ng. Có nhi u phát minh t phá trong vi c phát tri n các ng d ng m ng trong h n ba m i n m qua. B t u t th p niên 80, nh ng ng d ng n gi n t ng tác v i ng i dùng qua ch l nh (text-based) ã tr nên ph bi n nh truy c p máy tính xa (telnet), th n t ( , truy n file (ftp), nhóm thông tin (newsgroup), và trò chuy n t xa (chat). Hi n nay, nh ng ng d ng a ph ng ti n ph c t p h n nh World Wide Web, n tho i tr c tuy n, h i th o t xa, chia s file ã ngày càng tr nên quen thu c. c dù ch ng trình ng d ng m ng có nhi u lo i khác nhau, có th có nhi u thành ph n t ng tác v i nhau, nh ng "lõi" c a chúng là ph n m m. Ph n m m ng d ng m ng c cài t phân tán trên các thi t b u cu i (end-system) nh máy tính, n tho i di ng... Ví d, v i Web, có hai ph n m t ng tác v i nhau: ph n m m trình duy t trong máy tính c a ng i dùng (PC, Mac, hay tr m làm vi c) và ph n m m Web server. Trong thu t ng h u hành, vi c k t n i c th c hi n gi a các ti n trình (process) ch không ph i gi a các ch ng trình ph n m m. Ti n trình là t ch ng trình ch y trên thi t b u cu i. Khi các ti n trình ch y trên cùng t thi t b, chúng s k t n i, trao i d li u v i nhau thông qua c ch truy n thông liên ti n trình (interprocess communication). Chính h u hành a thi t b s ki m soát c ch này. Trong cu n sách này chúng ta không quan tâm n cách th c ti n trình trên cùng m t máy tính k t n i v i nhau nh th nào, mà ch quan tâm n vi c k t n i gi a các ti n trình trên nh ng thi t b khác nhau (và có th trên nh ng h u hành khác nhau). Vi c k t n i nh v y s c th c hi n b ng cách trao i thông p qua m ng máy tính. Ti n trình g i s t o và g i thông p qua m ng, ti n trình nh n s nh n thông p (message) và có th ph n h i l i b ng cách g i m t thông p tr i (xem hình 2.1). ng d ng m ng có các giao th c nh ngh a khuôn d ng, th t trao i các thông p c ng nh hành vi c a m i bên khi nh n c thông p. Trang 35

43 ng ng d ng là n i n gi n nh t b t u nghiên c u v giao th c. Chúng ta s làm quen v i m t vài ng d ng c ng nh các giao th c gi a chúng. u này giúp ch ng ta hi u rõ h n v giao th c. 1. Giao th c t ng ng d ng n phân bi t ng d ng m ng và giao th c t ng ng d ng. Giao th c ng ng d ng ch và m t ph n (cho dù là ph n quan tr ng) c a ng d ng ng. Ví d Web là ng d ng m ng cho phép ng i dùng l y các i t ng Web server. ng d ng m ng bao g m nhi u thành ph n, nh tiêu chu n cho nh d ng v n b n (HTML), trình duy t Web (Netscape Navigator hay Microsoft Internet Explorer), Web server (Apache, Microsoft, và Netscape server), và giao th c t ng ng d ng. Giao th c t ng ng d ng c a Web - HTTP (Hypertext Transfer Protocol [RFC 2616]), nh ngh a cách th c chuy n thông p gi a Web client (trình duy t) và Web server. Nh v y HTTP ch là m t ph n c a ng d ng Web. M t ví d khác là ng d ng th n t. Th n t c ng có nhi u thành ph n, bao g m mail server có ch c ng nh m t hòm th, mail reader cho phép ng i dùng c và g i th, chu n nh ngh a c u trúc c a th n t và giao th c t ng ng d ng nh ngh a cách th c chuy n thông p gi a mail server và mail reader, c ng nh ý ngh a c a m t s tr ng trong th (ví d các tiêu th : ng i nh n, ng i ). Giao th c t ng ng d ng cho th n t là SMTP (Simple Mail Transfer Protocol [RFC 821]). Do ó, SMTP ch là m t ph n (cho dù quan tr ng) c a ng d ng th n t. Nh ã nói trên, giao th c t ng ng d ng nh ngh a cách th c truy n thông p gi a các ti n trình ng d ng ch y trên các thi t b khác nhau. Nó xác nh: Ki u thông p trao i, ví d nh thông p yêu c u hay thông p tr l i. Cú pháp c a thông p, ví d các tr ng trong thông p c ng nh cách xác nh chúng. Ý ngh a c a các tr ng. Qui t c xác nh ti n trình g i và tr l i thông p khi nào và nh th nào. Trang 36

44 Hình 2.1 Các ng d ng trên m ng Nhi u giao th c t ng ng d ng c c t trong các RFC và do ó d dàng có th l y tham kh o. Ví d, c t c a HTTP là HTTP RFC. N u ng i thi t k trình duy t tuân theo các qui t c c a HTTP RFC, trình duy t s có th y c các trang WEB t b t k Web server nào tuân theo các qui t c c a HTTP RFC Mô hình Khách hàng /Ng i ph c v (Client/Server) Giao th c ng d ng m ng th ng chia ra hai ph n hay hai phía, phía client và phía server. Phía client trong thi t b liên l c v i phía server trong t thi t b khác. Ví d, trình duy t Web là phía client, và Web server là phía server c a HTTP. Trong ng d ng th n t, mail server g i th là phía client và mail server nh n th là phía server c a SMTP. Trang 37

45 Hình 2.2 T ng tác client/server Trong nhi u ng d ng, máy tính s th c hi n c ph n client và ph n server c a ng d ng. Ví d xét m t phiên làm vi c Telnet gi a máy A và máy B. (Telnet 1à ng d ng ng nh p t xa). N u máy A b t u tr c (có ngh a là ng i dùng máy A ng nh p vào máy B), khi ó máy A ch y phía client và máy B ch y phía server c a ng d ng. M t khác, n u máy B b t u tr c thì máy B ch y phía client c a ng d ng. FTP - c dùng truy n file gi a hai máy là ví d khác. Sau khi thi t l p phiên làm vi c FTP gi a hai máy tính, i máy u có th truy n file t i máy kia trong su t phiên làm vi c. Tuy nhiên gi ng nh h u h t các ng d ng m ng, máy nào b t u tr c c coi là client. H n n a, máy tính có th ch y c phía client và server t i cùng m t th i m. Ví d, mail server ch y phía client c a SMTP khi g i th và ch y phía server c a SMTP khi nh n th. Trang 38

46 1.2. Truy n thông gi a các ti n trình Nh ã nói trên, m t ng d ng bao g m hai ti n trình trên hai thi t b khác nhau liên l c v i nhau qua m ng. Hai ti n trình liên l c v i nhau b ng cách g i và nh n thông p qua các socket c a chúng. Socket có th xem nh c a ti n trình vì ti n trình nh n và g i thông p thông qua. Khi mu n g i thông p t i ti n trình khác, ti n trình y thông p c n g i qua "c a" v i gi nh r ng th c th giao v n n m bên kia "c a" s chuy n thông p n c a ti n trình nh n. Controlled by application developer Controlled by operating system Process socket TCP, with buffers, variables Internet Process socket TCP, with buffers, variables Controlled by application developer Controlled by operating system Host or Server Host or Server Hình 2.3 Ti n trình ng d ng, socket và giao th c giao v n Hình 2.3 minh ho truy n thông qua socket gi a hai ti n trình trên Internet. (T ng giao v n trên hình 2.3 là TCP, m c dù ây có th s d ng giao th c khác nh UDP). Qua hình v ta th y socket là giao di n gi a t ng ng d ng và t ng giao v n trong máy tính. Nó c xem là API (giao di n l p trình ng d ng) gi a ng d ng và ng. Ng i thi t k ng d ng ki m soát m i khía c nh phía bên trên socket - là t ng ng d ng - nh ng ch có kh n ng ki m soát r t ít t ng giao v n phía i socket. V i t ng giao v n, ng i l p trình ng d ng ch có th ki m soát c: (1) ch n giao th c giao v n và (2) xác nh m t vài tham s t ng giao n nh l n b m và kích th c t i a c a m t gói tin. Khi ng i l p trình l a ch n giao th c giao v n nào, ng d ng c t o r s d ng t ng giao n ng v i giao th c ó a ch ti n trình g i thông p cho ti n trình trên máy tính khác thì ti n trình g i ph i xác nh c ti n trình nh n. Ti n trình c xác nh qua hai ph n: (1) tên hay a ch c a máy tính, và (2) nh danh xác nh ti n trình trên máy tính. Trang 39

47 u tiên chúng ta hãy xem xét a ch máy tính. Trong ng d ng Internet, máy tính c xác nh qua a ch IP. a ch IP s c h c trong ch ng 4. Bây gi chúng ta ch c n bi t a ch IP là m t s 32 bit dùng xác nh duy nh t m t thi t b (chính xác h n, nó xác nh duy nh t giao di n (interface) c a thi t b k t n i vào Internet). Vì a ch IP c a thi t b mang tính xác nh duy nh t, nên vi c phân ph i a ch IP d c qu n lý ch t ch. ng ATM có m t chu n a ch khác. ITU-T nh danh s n tho i nh a ch, g i là a ch E.164 [ITU 1997] s d ng trên m ng ATM. Ngoài a ch thi t b nh n, phía g i ph i thêm vào thông tin giúp phía nh n chuy n ti p thông p cho ti n trình phù h p (vì trong thi t b nh n có th có nhi u ti n trình ng th i ho t ng). Thông tin này là c ng phía nh n (destination port). Các giao th c t ng ng d ng ph bi n u c gán s hi u c ng (port number). Ví d, ti n trình Web server (giao th c HTTP) s ng c ng 80. Ti n trình mail server (giao th c SMTP) s d ng c ng 25. Danh sách các c ng cho t t c giao th c th ng g p trên Internet c li t kê trong RFC Khi xây d ng ng d ng m ng m i thì ng d ng ó ph i c ng kí m t s hi u c ng m i Ch ng trình giao ti p ng i dùng (user agent) Tr c khi b t u h c chi ti t v các giao th c t ng ng d ng, chúng ta ph i nói t i khái ni m user agent. User agent là giao di n gi a ng i dùng và ng d ng m ng. Ví d trong ng d ng Web, user agent là ch ng trình trình duy t nh Netscape Navigator hay Microsoft Internet Explorer. Trình duy t cho phép ng i dùng xem trang Web, duy t trên Web, cung c p d li u vào các form, t ng tác v i Java... Trình duy t là phía client trong giao th c HTTP. Do ó khi kích ho t, trình duy t là ti n trình cung c p giao di n cho ng i dùng, thay m t ng i dùng nh n và g i thông p qua socket, hi n th thông p tr l i cho ng i dùng xem (ch ng h n di n d ch các mã HTML). Trong ng d ng th n t, user agent là mail reader, cho phép ng i dùng so n và c th. M t s ph n m m mail rea er (nh Eudora, Netscape Messenger, Microsoft Outlook) v i h giao ti p ho có th ch y trên PC, Mac. Mail rea er ch y trên PC là phía client c a giao th c t ng ng d ng SMTP khi g i th và phía client c a giao th c l y th (POP3 ho c IMAP (xem ph n 2.4)), khi nh n th t mail server. Trang 40

48 2. Các yêu c u c a ng d ng Socket là giao di n gi a ti n trình ng d ng và th c th giao v n. ng ng g i g i thông p qua "c a". phía bên kia, th c th giao v n có trách nhi m chuy n thông p qua m ng máy tính t i "c a" ti n trình nh n. Nhi u ki u m ng, k c Internet, có nhi u ki u giao th c giao v n. Khi thi t k ng ng, b n ph i l a ch n m t giao th c giao v n có s n. B n th c hi n l a ch n này nh th nào? u tiên c n nghiên c u các d ch v c các giao th c giao v n cung c p, và sau ó b n s ch n giao th c áp ng y nh t các yêu c u c a b n. u này t ng t nh vi c ch n tàu ho hay máy bay i chuy n gi a hai thành ph (nh Hà N i và Hu ). B n ph i ch n m t trong hai ph ng ti n và m i ph ng ti n cung c p m t d ch v khác nhau. (Ví d, tàu ho giá r trong khi máy bay ti t ki m th i gian). ng d ng òi h i d ch v gì c a giao th c giao v n? V i th chúng ta có th phân lo i theo ba nhóm: m t mát d li u, b ng thông, và th i gian M t mát d li u (Data loss) t s ng d ng nh th n t, truy n file, truy c p t xa, truy n các i t ng Web, và ng d ng tài chính òi h i d li u ph i c truy n chính xác và y, u ó có ngh a là không c m t d li u. c bi t, m t mát file d li u ho c d li u trong các giao d ch tài chính có th gây nên h u qu nghiêm tr ng. Tuy nhiên có m t s ng d ng nh các ng d ng a ph ng ti n (real-time audio/video hay stored audio/video) ch p nh n m t mát d li u. Trong các ng d ng ki u này, m t mát d li u có th gây nên m t s nhi u trong d li u a ph ng ti n nh ng u này có th ch p nh n c trong m t ph m vi cho phép. nh h ng c a s m t mát d li u nh v y t i ch t l ng c a ng d ng c ng nh s l ng cho phép các gói d li u b m t ph thu c vào chính ng d ng và ph ng pháp mã hoá B ng thông (bandwith) ho t ng hi u qu, m t s ng d ng ph i truy n d li u v i m t t c nh t nh. Ví d, ng d ng g i n tho i qua Intemet (Internet telephony) mã hoá âm thanh v i t c 32kbs, thì sau ó nó ph i có kh n ng g i d li u lên m ng và d li u ó c chuy n t i ng d ng nh n v i t c trên. N u không có b ng thông c n thi t, ng d ng c n ph i mã hoá âm thanh v i t c khác hay ph i k t thúc - b i vì n u không b ng thông thì ng d ng không th áp ng yêu c u c a ng i s d ng. Nh ng ng d ng a ph ng ti n hi n nay là ng d ng ph thu c vào b ng thông (bandwidth sensitive), Trang 41

49 nh ng trong t ng lai ng d ng a ph ng ti n s s d ng các k thu t mã hoá thích nghi mã hoá t c cho phù h p v i d i t n hi n có Th i gian (timing) Nh ng ng d ng th i gian th c (real-time) mang tính ch t t ng tác, nh Internet telephone, h i th o qua n tho i, hay các trò ch i nhi u ng i tham gia cùng m t lúc (multiplayer gam) yêu c u nh ng ràng bu c ch t ch th i gian trong vi c trao i d li u. Ví d, nh ng ng d ng này òi h i tr (delay) t ti n trình g i n ti n trình nh n không v t quá vài tr m ph n nghìn giây. (Xem ch ng 6, [Gauthier 1999; Ramjee 1994]). tr l n trong Intemet telephony gây ra s t n t m th i gi a cu c àm tho i. Trong trò ch i nhi u ng i cùng tham gia hay trong môi tr ng t ng tác o tr t lúc a ra yêu c u cho n khi nh n c k t qu ph n ng t môi tr ng (ví, t m t ng i ch i khác) l n s làm gi m tính chân th c c a ng d ng. i v i ng d ng không tính n y u t th i gian th c, ng i ta v n mong mu n có m t tr th p, song không có ràng bu c ch t ch i v i tr. Hình 2.4 tóm t t v tin c y, b ng thông, và các òi h i v th i gian a m t s ng d ng Intemet n i b t và ph bi n. Hình 2.4 ch phác ho m t vài u ki n t t y u c a nh ng ng d ng Intemet này. ây chúng ta không có y các phân lo i hoàn ch nh, nh ng c ng nh n bi t m t vài c tr ng quan tr ng nh t phân lo i các ng d ng. Application Dataloss Bandwidth Time sensitive File transfer No Loss Elastic No No Loss Elastic No Web Documents No Loss Elastic (few Kbps) No Real-time Audio/Video Loss-tolerant Audio: Few Kbps 1Mb Yes: 100s of msec Vi deo: 1 0kb - 5 Mb Real-time Audio/Video Loss-tolerant Sam as Above Yes: Few Seconds Interactive games Loss-tolerant Few Kbps - 10kb Yes: 100s of msec Financial Applications No Loss Elastic Yes and No Hình 2.4 Các yêu c u cho m t s ng d ng Trang 42

50 3. D ch v c a các giao th c giao v n Internet Intemet (và nói chung TCP/IP) cung c p hai giao th c giao v n cho ng ng : UDP và TCP. Khi xây d ng ng d ng cho Intemet, m t trong nh ng quy t nh u tiên mà nhà thi t k ph i a ra là s d ng UDP hay TCP. i giao th c cung c p m t ki u ph c v khác nhau cho ng d ng TCP c tr ng c a giao th c TCP là h ng n i và cung c p d ch v truy n li u tin c y. Khi s d ng giao th c giao v n là TCP, ng d ng s nh n c c hai lo i d ch v này D ch v h ng n i (connection oriented) TCP client và TCP server trao i các thông tin u khi n v i nhau tr c khi truy n d li u ng d ng. Quá trình "b t tay" gi a client và server nh v y cho phép c hai bên s n sàng x lý các gói d li u. Sau quá trình này, xu t hi n m t ng k t n i TCP (TCP connection) gi a hai socket c a hai ti n trình. ây là k t n i hai chi u (song công - full duplex) vì cho phép hai ti n trình có th ng th i g i và nh n thông p. Khi ng d ng k t thúc vi c i thông p, nó ph i óng k t n i. D ch v này ch là h ng k t n i ch không ph i m ch o (virtual circuit) b i vì hai ti n trình c k t n i m t cách l ng l o D ch v giao v n tin c y Ti n trình g i có th s d ng TCP truy n d li u chính xác và theo úng th t. Ti n trình g i i m t lu ng byte (byte stream) qua socket, nó có th tin t ng TCP s chuy n chính lu ng byte này n socket nh n, không b i hay trùng l p byte. TCP c ng có c ch ki m soát t c ngh n, c ch này áp ng cho c Internet ch không ph i cho hai ti n trình truy n thông v i nhau. K thu t ki m soát t c ngh n c a TCP là gi i h n t c g i d li u c a m i ti n trình (client hay server) khi m ng b t c ngh n. c bi t, nh chúng ta s th y ch ng 3, c ch ki m soát t c ngh n c a TCP c g ng gi i h n m i k t n i TCP chia s b ng thông m ng m t cách công b ng. Gi i h n t c truy n có th không tho mãn v i các ng d ng audio và video theo th i gian th c, nh ng ng d ng òi h i m t b ng thông t i thi u. n n a, ng d ng th i gian th c ch p nh n m t mát d li u và không th c Trang 43

51 c n n m t d ch v giao v n tin c y hoàn toàn. Vì các lý do ó, các ng ng th i gian th c th ng ch y trên n n UDP. y là m t s d ch v c a TCP, bây gi chúng ta nói t i m t s d ch v mà TCP không cung c p. Th nh t, TCP không b o m m t t c truy n i thi u. Ti n trình g i không c phép truy n v i b t k t c nào nó ngh, t c này c ki m soát b i c ch ki m soát t c ngh n c a TCP. ôi khi c ch này khi n ti n trình g i ph i g i v i t c trung bình t ng i th p. Th hai, TCP không a ra b t k s b o m nào v tr. Khi ti n trình g i chuy n d li u cho socket TCP, d li u cu i cùng s n c socket nh n nh ng TCP không b o m d li u sau bao lâu m i t i c ích. V i nh ng quan sát trên môi tr ng Intemet th c, có th ph i ch vài giây th m chí n vài phút TCP g i c m t thông p (ví d m t trang Web HTML) t Web server n Web client. Nói tóm l i, TCP b o m phân ph i t t c d li u m t cách chính xác, nh ng không b o m v t c truy n và tr D ch v UDP UDP là giao th c giao v n khá n gi n v i mô hình ph c v t i thi u. UDP không h ng n i, ngh a là không có giai n "b t tay" tr c khi hai ti n trình b t u trao i d li u UDP cung c p m t d ch v truy n không tin y. Khi ti n trình g i chuy n thông p qua c ng UDP, UDP không m o r ng thông p ó s n c c ng ti n trình nh n H n n a, các thông p n ích có th không úng th t. t khác, UDP không có c ch ki m soát t c ngh n, vì v y ti n trình i có th y d li u ra c ng UDP v i t c b t kì. M c dù không ph i t t d li u u t i c ích, nh ng ph n l n d li u có th t i c ng d ng th i gian th c th ng l a ch n UDP t ng giao v n. Gi ng TCP, UDP không o m v tr. Hình 2.5 trình bày các giao th c giao v n c s d ng b i các ng ng m ng ph bi n. Chúng ta th y r ng th n t, truy c p t xa, Web, và truy n file s d ng TCP. Nh ng ng d ng này ch n TCP vì TCP cung c p ch v truy n d li u tin c y, b o m r ng m i d li u s t i c ích. Applications Application-layer Protocol Underlying Transport Protocol Electronic SMTP [RFC 821] TCP Remote Terminal Access Telnet [RFC 854] TCP Web HTTP [2068] TCP Trang 44

52 Applications Application-layer Protocol Underlying Transport Protocol File Transfer FTP [RFC 959] TCP Remote File Server NFS [McKusil 1999] UDP or TCP Streaming Multimedia Internet Telephony Proprietary (for example, Real Network) Proprietary (for example, Vocaltec) UDP or TCP Typically UDP Hình 2. 5 Các ng d ng ph bi n và giao th c giao v n t ng ng. Chúng ta c ng th y r ng n tho i qua Internet ch y trên n n UDP. M i phía c a ng d ng này c n g i d li u qua m ng v i t c t i thi u nào ó (Xem hình 2.5). H n n a, ng d ng n tho i qua Internet ch p nh n m t mát d li u vì th chúng không c n d ch v truy n tin c y c a TCP. Nh ã l u ý tr c, TCP và UDP u không b o m v th i gian. Di u này có ngh a là ng d ng có ràng bu c v th i gian không th ch y trên m ng ngày nay? Câu tr l i ch c ch n là không - Intemet ã có m t k ho ch cho ng d ng ki u này trong nhi u n m t i. 4. M t s ng d ng ph bi n Các ki u ng d ng m ng ngày càng a d ng và phong phú. Chúng ta s p trung nghiên c u m t s ng d ng quan tr ng th ng g p. Trong ch ng này chúng ta ã th o lu n khá chi ti t v b n ng d ng ph bi n: Web, truy n fiie th n t và d ch v tên mi n (DNS). Web là ng d ng u tiên và vì Web c c k ph bi n và giao th c t ng ng d ng c a nó - HTTP, t ng i n gi n và minh ho nhi u c tr ng c b n c a giao th c. Sau ó là ng d ng truy n file, b i vì ng d ng này có nhi u c m trái ng c v i HTTP. Chúng ta c ng s nghiên c u th n t, m t trong nh ng ng d ng u tiên và thông d ng nh t c a Internet. Th n t ngày nay s d ng nhi u giao th c t ng ng d ng. Web, truy n file, và th n t u yêu c u m t d ch v truy n áng tin c y, không có yêu c u th i gian và yêu c u v b ng thông. Do v y ba ng d ng này s d ng TCP t ng giao n. ng d ng th t là DNS (Domain Nam System) cung c p d ch v ch n. Ng i dùng không t ng tác tr c ti p v i DNS mà yêu c u d ch v DNS gián ti p thông qua các ng d ng khác (ví d Web, truy n file và th n t ). DNS minh ho rõ vi c tri n khai m t c s d li u phân tán trên m ng nh th nào. Trang 45

53 ch s phát tri n c a trình duy t Tháng 4/1994, Mare Andreesen, chuyên viên máy tính (ng i sau này o ra trình duy t Mosaic t i tr ng i h c Illinois bang Urbana) cùng v i Jim Clark - ng i sáng l p công ty Silicon Graphic (và c u giáo s Stanford) sáng p t p oàn truy n thông Nestcape. Nestcape sau ó tuy n d ng nhi u ng i trong nhóm d án Mosaic tr ng i h c Illinois và cho ra i phiên b n Beta c a trình duy t Nivigator 1.0 vào tháng 10 n m Trong nh ng n m sau, Nestcape ã c i ti n áng k trình duy t c a mình, phát tri n ph n m m Web server, commerce server, mail server, proxy server, mail reader và nhi u n ph m ph n m ng d ng khác. Netscape và m t trong nh ng công ty kinh doanh trên Internet i m i và thành công nh t trong gi a th p niên 90. Tháng 1 m 1995, Barksdale tr thành t ng giám c c a Nestcape và vào tháng 8, Nestcape b t u bán c phi u c a mình trên th tr ng. Microsoft kh i u t ng i ch m trong l nh v c Intemet khi a ra trình duy t u tiên c a mình - Intemet Explorer 1.0 vào tháng 8 n m Internet Explorer c ng k nh và ch y ch m nh ng Microsoft ã u t l n vào ây n n m 1997, Microsoft và Nestcape tr thành "k phùng ch th nh tranh th tr ng trình duy t. Ngày 11 tháng 5 n m 1997, Nestcape công phiên b n trình duy t 4.0 và vào ngày 30 tháng 10 Microsoft a ra trình duy t phiên b n 4.0. T i th i m ó, khó có th xác nh ch t l ng c a trình duy t nào t t h n và Microsoft v i s th ng tr c a h u hành Windows liên t c giành thêm c nhi u th ph n. Vào n m 1997, Nestcape c ph i m t s sai m nghiêm tr ng trong ó có vi c u t r t l n vào trình duy t h tr Java. Trong su t n m 1998, Nescape ti p t c m t th ph n trình duy t web và c các s n ph m khác. Cu i n m 1998 American Online ã mua l i Netscape. Marc Andreesen và các c ng s ban u r i b Netscape. II. WORLD WIDE WEB: HTTP Cho n nh ng n m 1990, Internet ch c s d ng trong các c quan nghiên c u, các tr ng i h c v i các d ch v n gi n nh truy c p t xa, truy n file, nh n và g i th n t. M c dù các ng d ng này ã (và v n) c c ph bi n - nh ng Internet v c b n v n ch c bi t t i trong c ng ng nghiên c u. Vào u th p niên 90, ng d ng quan tr ng nh t c a Internet - World Wide Web xu t hi n, và nhanh chóng c m i ng i ch p nh n. Nó thay i cách th c t ng tác gi a con ng i và môi tr ng làm vi c. Chính u này ã giúp a Intemet t m t trong r t nhi u m ng thông tin (ví d m ng tr c tuy n Prodigy, American Onlie hay Compuserve, h Trang 46

54 th ng thông tin qu c gia : Minitee/Tranpac Pháp, Private X25, Rrame Relay) thành m t m ng th ng nh t duy nh t. ch s phát tri n c a ngành công ngh vi n thông nh h ng l n n xã i loài ng i. Công ngh u tiên là n tho i - c phát minh vào n m n tho i cho phép hai ng i nói chuy n tr c ti p mà không c n trong cùng m t vùng. Nó có nh ng nh h ng c t t l n x u n xã h i. Công ngh ti p theo là truy n thanh, truy n hình - ra i vào nh ng n m Nó giúp con ng i thu nh n m t t ng thông tin r t l n b ng âm thanh và hình nh, và tác ng l n n xã h i. Có l công ngh th ba làm thay i cu c s ng và công vi c c a con ng i là Web. S c lôi cu n c a Web i v i con ng i là ch Web ho t ng theo yêu c u (on demand). Ngh a là có th nh n c thông tin c n thi t vào các th i m c n thi t. u này khác so i công ngh qu ng bá (truy n thanh, truy n hình) ch phát i nh ng n i dung có s n t i nh ng th i m nh tr c. Ngoài ra Web có nhi u c m lý thú khác. Ai c ng có th d dàng tr thành các nhà xu t b n; các siêu liên t và các công c tìm ki m giúp ta tìm ki m qua nhi u trang web. Các hình nh ho và ho t hình khu y ng th giác. Các thành ph n khác nh : Form, Java applet, Active X cho phép t ng tác t i các website khác. 1. T ng quan v HTTP Hyper Text Transfer Protocol (HTTP) - giao th c t ng ng d ng c a Web - là trái tim c a Web. HTTP c tri n khai trên c hai phía client và server. Các ti n trình client và server trên các h th ng u cu i khác nhau giao ti p v i nhau thông qua vi c trao i các thông p HTTP. HTTP quy nh c u trúc thông p c ng nh cách th c trao i thông p gi a client và server. Tr c khi nói v HTTP, chúng ta hãy nói l i các thu t ng v web Trang Web (webpage - hay còn g i là m t t p tin) ch a các i t ng (Object). i t ng n gi n ch là m t file nh file HTML, file nh JPEG, file nh GIF file java applet, m t n âm thanh... i t ng c xác nh qua a ch URL. Trang Web ch a m t file HTML c s và tham chi u n các i t ng khác. Ví d m t trang web ch a m t file HTML v n b n và 5 i t ng nh JPEG khi ó trang web c 6 i t ng: 1 file v n b n HTML và 5 file nh. File HTML c s này tham chi u n các i t ng khác thông qua a ch URL. M i a ch URL có hai thành ph n là: tên c a máy ch và ng d n c a i t ng. ây là m t a ch URL Trang 47

55 là tên máy ch và somedepartment/picture.gif là ng n i t ng Trình duy t (Browser) - ch ng trình giao ti p ng i dùng c a ng d ng Web cho phép hi n th trang Web. Browser là phía client c a giao th c HTTP. Hi n nay có r t nhi u ph n m m trình duy t nh ng ph bi n nh t là Nestcape Communication và Microsoft Internet Explorer. Web server l u gi các i t ng web và c xác nh qua a ch URL. Ph n m m Web server là phía server c a giao th c HTTP. M t s ph n m m Web server ph bi n là Apache, Microsoft Internet Information Server và Nestcape Enterprise Server. HTTP request PC running Explorer HTTP response HTTP request HTTP response Server running NCSA Web server PC running Explorer Hình 2.6 T ng tác client/server HTTP xác nh cách th c trình duy t yêu c u trang web t web server ng nh cách th c server g i trang web c yêu c u t i trình duy t. D i ây chúng ta s nói rõ h n v quá trình trao i gi a client và server. Hình 2.6 minh ho quá trình này. Khi ng i dùng yêu c u m t i t ng (ví d kích vào m t siêu liên k t), browser s g i m t thông p HTTP t i server yêu u i t ng ó. Server nh n c yêu c u và tr l i b ng cách g i l i m t thông p tr l i ch a i t ng c yêu c u. Cho t i nh ng n m 1997, ph n l n các trình duy t Web và Web server tuân th phiên b n HTTP 1.0 c t trong RFC 1945). T n m 1998 m t s browser và web server s d ng phiên b n 1.1 theo khuy n ngh RFC Phiên b n m i này t ng thích i phiên b n 1.0, ngh a là Web server dùng phiên b n 1.1 có th "nói chuy n" c v i trình duy t s d ng phiên b n 1.0 và ng c l i phiên b n 1.0 và 1.1 u s d ng TCP làm giao th c t ng giao v n phía d i. HTTP client kh i t o m t k t n i TCP t i HTTP server. Sau khi Trang 48

56 thi t l p c k t n i, c ti n trình browser và web server u truy c p t i TCP thông qua socket. Nh ã nói ph n 2.1, socket là "c a" gi a ti n trình ng d ng và th c th TCP. Client g i thông p yêu c u qua socket. Server nh n thông p yêu c u này và g i thông p tr l i qua socket. Sau khi g i thông p qua socket thì thông p n m ngoài t m "ki m soát" c a client và chính th c th TCP ch u trách nhi m chuy n nó sang phía bên kia. Trong ph n tr c chúng ta th y r ng TCP cung c p d ch v truy n tin c y cho HTTP, nh v y thông p c a ti n trình ciient s c chuy n t i nguyên v n n server và ng c l i. n ây ta ã th y c u m c a ki n trúc phân ng. HTTP không gi i quy t vi c m t mát d li u mà vi c này là công vi c a TCP và các t ng bên d i. TCP s d ng c ch tránh t c ngh n, c ch này s c nghiên c u chi ti t ch ng 3. ây chúng ta ch c n bi t r ng c ch này òi h i t c truy n d li u khi k t n i TCP m i kh i t o t ng i th p nh ng s t ng nhanh khi trên m ng không có t c ngh n. Giai n b t u v i t c th p i là giai n b t u ch m (slow start). t chú ý quan tr ng là server g i các i t ng c yêu c u cho client mà không ghi l i b t k m t thông tin tr ng thái nào c a client. N u client nào ó yêu c u l i cùng m t i t ng thì server s không th tr l i cho client r ng i t ng ó v a c g i cho client, server s g i l i cho client i t ng ó nh th nó không bi t vi c g i l n tr c. HTTP server không nh các thông tin v client, vì th HTTP c g i là giao th c không tr ng thái. 2. K t n i liên t c và không liên t c (persistent/nonpersistent) HTTP h tr c hai cách k t n i liên t c và không liên t c. HTTP 1.0 s ng k t n i không liên t c. Ch m c nh c a HTTP 1.1 là k t n i liên t c 2.1. K t n i không liên t c-nonpersistent Ta hãy xét các b c client th c hi n yêu c u trang web t server trong tr ng h p s d ng k t n i không liên t c. Gi s trang web có ch a t file HTML c s và 10 file nh JPEG và ng th i c 11 i t ng này cùng trên m t server, a ch c a file HTML này là: Các b c th c hi n nh sau: Trang 49

57 1. HTTP client kh i t o m t k t n i TCP t i server có a ch là www. someschool.edu. C ng 80 là c ng c HTTP server s d ng ng nghe các yêu c u l y trang Web t client thông qua giao th c HTTP. 2. HTTP client g i thông p yêu c u qua socket t i th c th TCP ã c k t n i b c tr c. Thông p bao g m ng d n somedepartment/home.index (ý ngh a thông p s c gi i thích i) 3. HTTP server nh n c thông p yêu c u t socket, l y i t ng somedepartmentlhome.index trong b nh c a mình ( c ng ho c RAM), t i t ng này vào trong m t thông p tr l i và g i i qua socket 4. HTTP server yêu c u th c th TCP k t thúc k t n i (nh ng nó không óng l i th c s cho n khi client nh n c thông p) 5. HTTP client nh n c thông p tr l i, k t n i c óng l i. Thông p ch ra r ng nó ch a m t i t ng là file HTML. Client s y file ó ra t thông p tr l i. File HTML tham chi u n 10 i ng nh JPEG 6. 4 b c u c l p l i cho m i i t ng nh c tham chi u trong file HTML. Khi nh n c thông p tr l i có ch a trang Web, browser s hi n th trang web. Các browser khác nhau thì có th có các cách hi n th khác nhau i v i cùng m t trang web. HTTP không nh h ng gì i v i cách hi n th trang web c a client. Các c t trong HTTP ch nh ngh a giao th c truy n thông gi a ti n trình client và server mà thôi. Các b c trên s d ng cách k t n i không liên t c vì sau khi g i i t i t ng thì server s óng k t n i TCP l i, k t n i không c s d ng l y các i t ng khác. L u ý r ng m i k t n i TCP chuy n duy nh t m t thông p yêu c u và m t thông p tr l i, nh v y trong ví d trên, client yêu c u toàn b i t ng trên trang web thì s có th có t i 11 k t n i TCP c thi t l p. Trong ví d trên, chúng ta không h nói n vi c client nh n c 10 file nh JPEG qua 10 liên k t TCP riêng r hay m t s file c nh n qua cùng t k t n i. Trên th c t, ng i dùng có th c u hình cho trình duy t u khi n m c song song c a các k t n i. Ch m c nh c a trình duy t Trang 50

58 th ng là t 5 n 10 k t n i TCP song song và m i k t n i ki m soát m t p thông p yêu c u 1 tr l i. Nh ng n u ng i dùng không thích thì có th t s k t n i song song t i a là 1, trong tr ng h p này 10 k t n i c thi t l p riêng l. Trong ch ng sau chúng ta s th y r ng cách k t n i song song làm gi m th i gian tr l i K t n i liên t c Có m t vài nh c m trong k t n i không liên t c: Th nh t, khi liên t m i c t o ra, phía client và server ph i t o ra vùng m TCP (buffer) ng nh l u gi các bi n TCP. u này chính là gánh n ng cho server khi có nhi u client cùng yêu c u m t lúc. i cách k t n i liên t c, server không óng liên k t TCP sau khi g i thông p tr l i. Các thông p yêu c u và tr l i sau ó (gi a cùng m t client và server) c g i qua cùng m t k t n i. Trong ví d trên, toàn b i ng trong trang Web (m t file HTML và 10 file nh JPEG) c truy n n i ti p nhau trên cùng m t k t n i TCP. Ngoài ra, có th các trang web khác trên cùng server có th c truy n qua m t k t n i TCP. Thông th ng thì HTTP server óng liên k t khi liên k t không c s d ng trong m t kho ng th i gian nào ó. Ch làm vi c m c nh c a phiên b n HTTP 1.1 và g i liên t c. Trong tr ng h p này, HTTP client g i yêu c u khi nó nh n c m t tham chi u (ví d m t siêu liên k t, hay tham chi u n file nh) vì v y client có th g i các yêu c u liên ti p. Khi server nh n c yêu c u thì nó s g i các i t ng n i ti p nhau. 3. Khuôn d ng c a thông p HTTP Các c t HTTP 1.0 (RFC 1945) và HTTP 1.1 (RFC 2016) c t khuôn ng thông p HTTP. Có hai ki u khuôn d ng HTTP: thông p yêu c u và thông p tr l i Thông p yêu c u HTTP (HTTP request message) t thông p yêu c u th ng có d ng sau: GET /somedir. page. html HTTP/1.l Host: www. someschool. edu Connection :close User-agent :Mozzilla /4. 0 Trang 51

59 Accept- language:fr (extra carry return line feed) Tr c h t ta th y r ng thông p c vi t b ng mã ASCII - vì th b t máy tính thông th ng nào c ng có th c c. Th hai, thông p g m 5 dòng và m i dòng u k t thúc b i c p ký t c bi t Caniage Return (CR=13h) và Line Feed (LF-10h). Trên th c t m t thông p có th có nhi u dòng h n. Dòng u tiên c a thông p c g i là dòng yêu c u (request line), các dòng sau g i là tiêu (header). Dòng yêu c u có 3 tr ng: tr ng method, tr ng a ch URL và tr ng phiên b n HTTP. Tr ng method nh n m t trong ba giá tr : GET, POST và HEAD. Ph n l n các yêu u s d ng ph ng th c GET. Ph ng th c này c trình duy t s d ng yêu c u i t ng có a ch URL. Trong ví d trên thì trình duy t yêu c u i t ng somedir/page.html. Tr ng phiên b n xác nh phiên b n giao th c HTTP (trong ví d là 1.1 ). Bây gi hãy xét các tr ng trong tiêu. Host: là a ch c a máy tính có ch a i t ng c yêu c u. Ý ngh a c a tr ng Connection: close là trình duy t yêu c u server không s d ng cách k t n i liên t c và yêu c u server óng k t n i l i sau khi ã g i i ói t ng c yêu c u. M c ù client s d ng phiên b n HTTP 1.1 nh ng nó không s d ng t n i liên t c. Tr ng User-agent là ph n m m trình duy t c a ng i s ng. Ph n m m trình duy t ây là Mozzil1a, m t s n ph m c a hãng Nestcape. Tr ng này r t quan tr ng vì server có th g i các b n khác nhau a cùng m t i t ng n các trình duy t khác nhau (các b n i t ng này u c xác nh qua cùng m t a ch URL duy nh t). Cu i cùng là tr ng Accept language trong ví này ng i s d ng yêu c u b n ti ng Pháp c a i t ng - n u server có b n này. Trong tr ng h p không có thì server g i i b n m c nh. Khuôn d ng t ng quát c a thông p có thêm tr ng Entity Body sau các dòng tiêu. Tr ng này không c s d ng trong ph ng th c GET nh ng c s d ng trong ph ng th c POST. HTTP client s d ng ph ng th c POST khi ng i dùng n vào m t form - ví d khi mu n tìm ki m qua t máy tìm ki m nh Google. V i ph ng th c POST ng i dùng v n yêu u trang web nh ng n i dung c th ph thu c vào n i dung n trong form. u giá tr c a tr ng method là POST thì ph n entity body s ch a n i dung mà ng i dùng n vào form. Ph ng th c HEAD c ng t ng t nh ph ng th c POST. Khi nh n c yêu c u v i ph ng th c POST, server s Trang 52

60 i l i thông p HTTP tr l i nh ng không g i i t ng c yêu c u. Th ng ng i ta s d ng ph ng th c HEAD g l i. method sp URL sp Version cr If Request line header field name. value cr If... header field name. value cr If cr If Header lines Entity Body Hình 2.7 Khuôn d ng chung c a thông p yêu c u 3.2. Thông p tr l i ( HTTP response massage) Sau ây là m t ví d v thông p tr l i, thông p này có th là tr l i cho thông p yêu c u trên. HTTP/ OK Connection :close Date : Thu, 06 Ang :OO:15 GMT Server Apache/ (unix) Last modified :Mon, 22 Jun :23:24 GMT Connect lenght :6821 Connect type :text/html ( data data ) Thông p trên g m có 3 ph n : Dòng u tiên là dòng tr ng thái (status linh), 6 dòng tiêu và cu i cùng là ph n thân (Entity body) ch a i t ng c yêu c u (là ph n data data... ). Dòng tr ng thái có 3 tr ng : tr ng phiên b n c a giao th c, mã tr ng thái và tr ng tr ng thái thông p tr l i. Trong ví d này thì dòng tr ng thái cho bi t server s d ng phiên b n HTTP 1.1 và tr ng thái 1à s n sàng (server ã nh n c yêu c u và g i i t ng c yêu c u). Trang 53

61 version sp status sp phrase cr If Status line header field name. value cr If... header field name. value cr If cr If Header lines Entity Body Hình 2.8 Khuôn d ng thông p tr l i Tr ng Connection: close báo cho client bi t server s óng k t n i sau khi g i i thông p Tr ng Date: cho bi t th i gian khi server t o ra thông p và g i i, chú ý r ng ây không ph i là th i gian khi i t ng c t o ra hay l n cu i cùng i t ng c c p nh t. ó là th i m mà server tìm th y i t ng trong h th ng file c a mình, chèn i t ng vào thông p tr l i và g i i. Tr ng Server cho bi t thông p tr l i này c t o ra t ph n m m web server Apache, ý ngh a c a nó gi ng v i tr ng User agent trong thông p yêu c u. Tr ng Last modified là th i gian cu i cùng i ng c c p nh t. Ta s nghiên c u k h n v tr ng này nh ng chú ý ng nó có vai trò quan tr ng i v i c client và web cache (proxy server). Content lenght: cho bi t dài c a i t ng c g i. Content type xác nh ki u c a i t ng là file v n b n HTML ( ki u c a i t ng c t ây ch không ph i trong ph n m r ng c a tên file). Chú ý khi nh n c m t thông p yêu c u HTTP 1.0, server c ng s không s d ng k t n i liên t c ngay c khi server dùng phiên b n 1.1. Server óng k t n i ngay sau khi g i i t ng. u này c n thi t vì client s ng phiên b n HTTP 1.0 s ch server óng k t n i l i. Khuôn d ng chung c a m t thông p tr l i c minh ho trên hình 2.8. Khuôn d ng này t ng thích v i ví d trên. Tuy nhiên c n ph i nói thêm mã tr ng thái (status code) và ý ngh a c a chúng. Mã tr ng thái cùng v i m t i sau cho bi t k t qu c a yêu c u. Sau ây là m t vài giá tr thông d ng và ý ngh a c a chúng: 200 OK: Yêu c u c áp ng và d li u c yêu c u n m trong thông p Trang 54

62 301 Moved permanetly: cho bi t i t ng ã c chuy n và a ch URL m i c a i t ng c t trong tr ng Location: c a thông p tr l i, ph n m m t i client s t ng l y i t ng t i a ch URL m i ( ây là hi n t ng redirection th ng g p khi duy t web). 400 Bad Request: server không hi u c yêu c u t client 404 Not found: i t ng không c l u trên server 505 HTTP version not support: server không h tr giao th c c a client. Trong ph n này chúng ta ã th o lu n m t s tr ng trong tiêu c a thông p HTTP. HTTP ( c bi t là b n 1.1 ) nh ngh a r t nhi u tr ng có th c browser, web server và web cache chèn vào trong thông p. trên chúng ta m i c p n m t ph n nhô, chi ti t có th xem trong [Yeger 1996] Làm th nào trình duy t c ng nh server bi t c ph i chèn tr ng nào vào tiêu thông p? Thông p yêu c u ph thu c vào ch c n ng trình duy t c ng nh phiên b n HTTP (HTTP 1.0 không th t o ra thông p ki u HTTP 1.1). Ng i s d ng có th nh c u hình cho trình duy t. 4. T ng tác User-server : Authentication và cookies Nh ã nói trên, HTTP server không l u gi tr ng thái. u này n gi n hoá ki n trúc và làm t ng hi u su t ho t ng c a server. Tuy nhiên các server mu n phân bi t ng i dùng không ch vì mu n h n ch s truy c p mà còn vì server mu n ph c v theo nh danh ng i dùng. HTTP có 2 c ch server phân bi t ng i dùng: Authentication và cookies 4.1. Authentication (Ki m ch ng) Nhi u server yêu c u ng i dùng ph i cung c p tên (username) và m t kh u (password) có th truy c p vào tài nguyên trên máy ch. Yêu c u này c g i là ki m ch ng. HTTP có các mã tr ng thái và tr ng th c hi n quá trình ki m ch ng. Gi s client yêu c u m t i t ng t server và server yêu c u client cung c p tên và m t kh u. u tiên client v n g i m t thông p yêu c u thông th ng. Server s tr l i v i thông p có ph n thân r ng và tr ng mã tr ng thái là 401 Authentication required. Trong thông p tr i này có tr ng www-authenticate: xác nh ph ng th c ki m ch ng mà ng i ùng ph i th c hi n, thông th ng là a tên và m t kh u. Nh n c thông p này, client yêu c u ng i dùng cung c p tên và m t kh u. Sau ó, Trang 55

63 client s g i l i thông p yêu c u có tr ng Authoziration: trong tiêu, tr ng này ch a tên và m t kh u c a ng i dùng. Sau khi nh n c i t ng u tiên, client ti p t c g i tên và m t kh u trong các thông p k ti p (th ng thì cho n khi ng i dùng óng trình duy t l i. Khi trình duy t còn m, tên và m t kh u c l u l i trong ca che ng i dùng không ph i ánh l i n a). Theo cách này server có th phân bi t các ng i dùng. Trong ch ng 7 ta s th y r ng HTTP phân bi t ng i dùng khá l ng l o và không khó v t qua. Chúng ta s nghiên c u thêm v n b o m t và s xác nh n ng i dùng trong ch ng Cookies Cookie là k thu t khác c server s d ng ghi l i u v t c a ng i truy c p. Nó c c t trong RFC Ví d l n u tiên ng i dùng truy p vào m t server nào ó có s d ng cookie. Thông p tr i a server có tr ng Set-cookies: trong tiêu cùng v i m t chu i ký t do web server t o ra. Ví d Set-cookies : Khi nh n c thông p tr l i, client xác nh c tr ng Set-cookies và chu i ký t i kèm, Trình duy t s thêm m t dòng vào cu i file cookie (và m t file c bi t trên máy client). Dòng này th ng là dòng ch a tên máy ch và chu i ký t cookie. Gi s m t tu n sau, client g i thông p yêu c u n server, client s t ng chèn tr ng Cookies: trong tiêu c a thông p yêu c u v i giá tr là chu i giá tr cookie l u trong file cookie. Trong ví d trên, tiêu ch a tr ng cookies là Cookie: Theo cách này, server không xác nh c tên c a ng i dùng (user name) nh ng xác nh c user này chính là ng i ã truy c p t tu n tr c ó. Web server s d ng cookie cho nhi u m c ích: u server yêu c u ki m ch ng nh ng không mu n òi h i ng i dùng ng nh p qua tên và m t kh u thì có th s d ng cookie cho i l n ng i dùng truy c p vào server. Server s d ng cookie n u mu n ghi nh các ho t ng c a ng i dùng, ph c v m c ích qu ng cáo. u user mua hàng trên m ng (mua m t a CD ch ng h n) thì server d ng cookie ghi l i nh ng gì mà user ã mua. ó chính là các a hàng o. Trang 56

64 d ng cookie gây khó kh n cho ng i dùng không có máy c nh mà truy c p vào server t nhi u máy khác nhau. Server s coi ó là nh ng ng i dùng phân bi t. Chi ti t v cookie có th tìm th y trong [Cookie Central 2000]. 5. GET có u ki n (Conditional GET) u gi l i các i t ng ã t ng c l y, web cache có th làm gi m th i gian ch t khi g i yêu c u n khi nh n i t ng và làm gi m l u ng thông tin truy n trên Internet. Web cache c tri n khai trên trình duy t hay các cache server. Chúng ta s nghiên c u network cache ph n sau. Trong ph n này ta ch quan tâm n cache t i trình duy t. c dù web cache làm gi m th i gian ch nh n i t ng nh ng v n y sinh là b n sao c a i t ng c l u gi trên client có th ã "c ', nói cách khác i t ng trên server có th ã thay i t khi client l y i t ng ó v. Tuy nhiên HTTP có c ch cho phép s d ng cache trong khi v n m o i t ng trong cache ch a b c. C ch này chính là GET có u ki n (conditional GET). M t thông p HTTP c g i là có u ki n n u: (1) thông p s d ng ph ng th c GET và (2) thông p có tr ng Ifmodified- since trong tiêu. Ví d, trình duy t yêu c u m t i t ng t server mà trong cache c a nó ch a có: GET /fruit/banana.gif HTTP/1.0 User-agent :Mozilla/4.0 Sau ó server g i thông p tr l i kèm v i i t ng HTTP / OK Date : wed 12 ang :38:29 Server : Apache/1.3.0 (Unix) Last-modified: mon, 22 dun :23:24 Content-type :image/gif (data data.) Trình duy t hi n th i t ng ng th i l u l i i t ng trong cache c b cùng v i th i gian trong tr ng Last-modined kèm theo i t ng. t tu n sau, ng i s d ng l i yêu c u i t ng này trong khi i ng ã c l u trên cache. Nh ng i t ng có th ã b thay i trong th i gian 1 tu n nên trình duy t ph i th c hi n ki m tra b ng cách g i m t thông p GET có u ki n, c th browser g i i: Trang 57

65 GET /fruit/kiwi.gif HTTP/1.0 User-agent : Moz lla /4.0 If-modified-since : Mon, 22 Jun :23:24 Chú ý giá tr tr ng If-modified-since: là giá tr c a tr ng Lastmodified: trong tiêu mà server ã g i cho client tu n tr c. Thông p GET có u ki n yêu c u server ch g i i t ng cho client n u nh i ng ó c c p nh t sau th i gian c ch ra trên. Gi s i t ng ó không thay i gì t 9 gi 23 phút 24 giây ngày 22 tháng 6 n m 1998 thì server s g i cho client thông p: HTTP / Not modified Date : wed, 19 Ang :39:29 Server: Apache (Unix) (empty entity body) Thông p tr l i này không kèm theo i t ng. Vi c g i kèm i ng chi làm lãng phi ng truy n và làm ng th i gian client ph i ch nh n c i t ng, c bi t khi i t ng có kích th c l n. Giá tr tr ng tr ng thái là 304 Not modified báo cho client bi t i t ng mà client l u trong cache gi ng i t ng g c t i server, do ó client có th s d ng l i i ng này. Client HTTP response HTTP request HTTP request HTTP response Origin server Client HTTP request HTTP response Proxy server HTTP response HTTP request Origin server Hình 2.9 Client yêu c u i t ng thông qua cache 6. Web caches Web cache (proxy server) là th c th áp ng yêu c u t client. Máy tính làm nhi m v Web cache có a riêng l u tr b n sao các i t ng ã t ng c yêu c u. Nh minh ho trên hình 2.9, ng i s d ng có th c u hình cho Trang 58

66 trình duy t sao cho t t c các yêu c u u c g i n web cache tr c (vi c này t ng i n gi n v i các trình duy t c a Microsoft và Nescape). Khi ó t c yêu c u c a trình duy t v m t i t ng nào ó s c chuy n n webcache tr c. Gi s trình duy t yêu c u i t ng là m t file nh có a ch là Trình duy t kh i t o m t k t n i TCP t i webcache và g i yêu c u t i webeache Webcache s ki m tra và tìm i t ng, n u tìm c thì webcache s i i t ng cho client qua k t n i TCP ã c thi t l p. u webcache không có i t ng ó thì nó s kh i t o m t k t n i i server th t s ch a i t ng, ây là Sau ó webcache g i thông p yêu c u t i cho server này thông qua k t i TCP v a kh i t o. Sau khi nh n c yêu c u t webcache, server g i i i t ng cho webcache. Khi nh n c i t ng, webcache s l u l i b n sao c a i t ng và g i i t ng trong thông p HTTP tr l i cho máy client (thông qua k t n i TCP ã c thi t l p tr c ó). Nh v y webcache v a 1à client v a 1à server.webcache óng vai trò server khi nh n yêu c u và tr l i, óng vai trò client khi g i yêu c u và nh n thông p tr l i. Webcache c s d ng r ng rãi vì ba nguyên nhân sau: webcache làm gi m th i gian client ph i i. Trong tr ng h p cache có i t ng c yêu u thì i t ng này s ngay l p t c c chuy n t i client. Th hai, webcache làm gi m t i m ng. B ng cách gi m t i ng truy n ra m ng Intemet, c quan không c n ph i nâng c p ng truy n và gi m chi phí. Webcache làm gi m l ng thông tin Web trao i trên Internet, do ó t ng hi u su t ho t ng c a t t c các ng d ng. N m 1998, theo th ng kê h n 75% thông tin c truy n trên m ng là ng d ng web, vì v y gi m t i web i thi n áng k hi u su t toàn b Intemet. Th ba, m ng Internet v i nhi u webcache giúp cho vi c nhanh chóng phát tán thông tin - th m chí ngay cho nh ng nhà cung c p thông tin có t c server ch m hay t c k t n i ch m. u m t nhà cung c p có m t n i dung c n ph bi n thì n i dung này ngay p t c c chuy n n các webcache và yêu c u c a ng i dùng t m i n i c áp ng nhanh chóng. Trang 59

67 Cache liên h p (Cooperative caching) Có th k t h p nhi u webcache t các v trí khác nhau trên m ng nh m nâng cao hi u su t t ng th. Ví d, cache c a m t c quan có th c u hình sao cho các yêu c u c a nó c g i t i cache c a nhà cung c p d ch Intemet c p qu c gia (backbone ISP). Khi ó n u cache c a c quan không có i t ng c yêu c u thì nó s g i thông p yêu c u HTTP n cache a ISP. Cache ISP s tìm i t ng trong h th ng l u tr c a mình ho c i chính server có l u gi i t ng. Sau ó nó s g i i t ng trong thông p tr l i HTTP t i cache c a c quan. Cache c a c quan l i g i i t ng i trình duy t yêu c u. M i l n i t ng khi qua cache u c sao chép i trong cache. t ví d v h th ng cache liên h p là h th ng cache NLANR. H th ng này có nhi u máy làm nhi m v webcache M, cung c p d ch v cho các webcache c a các t ch c và các khu v c trên toàn th gi i [NLANR 1999]. Mô hình phân c p c a h th ng này c mô t trong hình 2.10 [Huffaker 1998]. Cache này l y i t ng t cache khác b ng cách k t h p s ng giao th c HTTP và ICP (Intemet Caching Protocol). ICP là giao th c ng ng d ng cho phép m t cache nhanh chóng xác nh m t cache khác có t i t ng nào ó hay không, và n u có thì cache có th s d ng giao th c HTTP l y i t ng v. ICP c s d ng r ng rãi trên r t nhi u h th ng cache liên h p. N u b n mu n tìm hi u thêm v ICP hãy tìm c [Loutonen 1998], [Ross 1998] và ICP RFC[RFC 2186]. Squid [Squid 2000] là ph n m cache thông d ng. Hình 2.10 NLANR caching t ki u liên h p khác là c m cache (cache cluster), th ng t trên cùng m t m ng LAN. Cache c thay th b i c m cache khi m t cache duy Trang 60

68 nh t không áp ng hi u qu khi có quá nhi u yêu c u hay khi dung l ng thi t b nh h n ch. Tuy nhiên khi trình duy t yêu c u m t i t ng thì v n n y sinh là yêu c u c g i n cache nào trong c m cache này. V n này có th c gi i quy t b ng cách tìm ki m theo hàm b m (hash routing). n gi n nh t, trình duy t th c hi n phép "b m" trên a ch URL, trình duy t c n c vào k t qu g i yêu c u n m t trong các cache trong c m. N u t c trình duy t dùng cùng m t thu t toán b m, i t ng không bao gi c l u trên các cache khác nhau trong c m. N u i t ng th c s c u tr trong c m thì trình duy t luôn có th g i yêu c u n cache thích h p; Tìm ki m theo hàm b m là c t lõi c a giao th c Cache Array Routing (CARP). B n có th tham kh o thêm các thông tin v CARP ho c hàm b m trong các tài li u: [Valloppillil 1997, Loutonen 1998; Ross 1997, 1998]. Webcache là v n l n và ph c t p. Trong vài n m g n ây có nhi u nghiên c u và s n ph m v cache. H ng nghiên c u là xây d ng cache có kh n ng x lý c lu ng âm thanh và hình nh. Cache s óng m t vai trò quan tr ng Internet tr thành c s h t ng cung c p các d ch v h tr a ph ng ti n theo yêu c u (on demand). III. TRUY N FILE (FILE TRANSFER) FTP FTP (File Transfer Protocol) là giao th c truy n file gi a các máy tính. Giao th c này xu t hi n t nh ng n m 1971 (khi Internet v n ch là m t d án th nghi m) nh ng v n còn c s d ng r ng rãi cho n t n ngày nay. FTP c c t trong RFC 959. Hình 2.13 minh ho các d ch v c a FTP. Hình 2.11 FTP cho phép trao i file gi a hai máy tính Trong phiên làm vi c c a FTP, ng i dùng làm vi c trên máy tính c a mình và trao i file v i m t máy tính ch khác. truy c p t i máy tính khác, ng i dùng ph i ng nh p thông qua vi c cung c p nh danh ng i dùng và m t kh u. Sau khi nh ng thông tin này c ki m ch ng thì công Trang 61

69 vi c truy n file t h th ng file trên máy tính c a mình n h th ng file u kia m i có th c th c hi n. Nh mô t trên hình 2.11, ng i dùng t ng tác v i FTP thông qua ch ng trình giao ti p ng i dùng c a FTP. u tiên ng i dùng ánh tên máy tính c n truy n file. Ti n trình FTP client kh i t o m t k t n i TCP t i ti n trình FTP server sau ó ng i dùng a các thông tin v tên và m t kh u server ki m ch ng. Sau khi c server xác nh, ng i ùng m i có th th c hi n vi c trao i file gi a hai h th ng file. Hình 2.12 FTP g m 2 ng: Ki m soát và d li u HTTP và FTP u là giao th c truy n file và có r t nhi u c m chung nh c hai u s d ng các d ch v c a TCP. Tuy v y hai giao th c này có nh ng m khác nhau c b n. m khác nhau n i b t nh t là FTP s ng hai k t n i TCP song song, m t ng truy n thông tin u khi n (control connection) và m t ng truy n d li u (data connection). Các thông tin u khi n nh thông tin nh danh ng i dùng, m t kh u truy nh p, nh thay i th m c, l nh "put" ho c "get" file gi a hai máy tính c trao i qua ng truy n thông tin u khi n. ng truy n d li u truy n file d li u th c s. Vì FTP phân bi t lu ng thông tin u khi n v i lu ng d li u nên nó d c g i là g i thông tin u khi n out-of-band. Trong ch ng 6 chúng ta s th y r ng giao th c RTSP dùng truy n âm thanh và hình nh liên t c c ng s d ng cách g i thông tin u khi n ki u out-of-band. Nh ã nói, HTTP g i tiêu c a thông p và file d li u trên cùng m t k t n i TCP. Vì v y mà HTTP c g i là g i thông tin u khi n in-band. Trong ph n ti p theo ta s th y r ng SMTP - giao th c g i th n t c ng s d ng truy n thông tin u khi n ki u in-band. ng truy n thông tin u khi n và ng truy n d li u c a giao th c FTP c minh ho trong hình Khi ng i dùng b t u m t phiên làm vi c FTP, u tiên FTP s thi t p m t ng k t n i thông tin u khi n TCP qua c ng 21. Phía client c a giao th c FTP truy n thông tin v nh danh ng i dùng và m t kh u c ng nh l nh thay i th m c qua k t n i này. Khi ng i dùng có m t yêu c u trao i file (truy n t n máy ng i dùng), FTP m m t k t n i TCP truy n d li u qua c ng 20. FTP truy n úng m t file qua k t n i này và ngay Trang 62

70 sau khi truy n xong thì óng k t n i l i. N u trong cùng phiên làm vi c ng i dùng có yêu c u truy n file thì FTP s m m t k t n i khác. Nh v y v i FTP, lu ng thông tin u khi n c m và t n t i trong su t phiên làm vi c a ng i dùng, nh ng m i k t n i d li u c t o ra cho m i m t yêu c u truy n file (k t n i d li u là không liên t c). Trong su t phiên làm vi c, FTP server ph i gi l i các thông tin v tr ng thái c a ng i dùng, c bi t nó ph i k t h p các thông tin u khi n v i tài kho n c a ng i dùng. Server c ng l u gi th m c hi n th i mà ng i dùng truy c p c ng nh cây th m c c a ng i dùng. Ghi l i các thông tin tr ng thái c a m i phiên làm vi c h n ch áng k t ng s phiên làm vi c ng th i. HTTP không l u gi tr ng thái nên nó không ghi l i b t kì thông tin nào tr ng thái c a ng i dùng. 1. Các l nh FTP (FTP Commands) nh (yêu c u) t client n server và k t qu (tr l i) t server t i client c g i thông qua k t n i u khi n và c mã hoá b ng b ng mã ASCII 7 bit. Do v y gi ng nh l nh HTTP, ng i ta có th c c l nh FTP. Tr ng h p các l nh vi t liên t c thì c p ký t CR (carriage return) và LF (line feed) c s d ng phân bi t các l nh (và tr l i) M i câu l nh ch a 4 kí t ASCII in hoa, m t s l nh có tham s. Sau ây là m t s câu l nh hay p: USER username: s d ng g i thông tin nh danh ng i dùng cho server PASS password: dùng g i password cho server LIST: dùng yêu c u server g i m t danh sách các file trong th c hi n th i. Danh sách này c g i thông qua m t k t n i d li u TCP RETR filename: dùng l y m t file t th m c hi n th i (trên máy xa) STOR filename: dùng t i m t file vào th m c hi n th i (trên máy xa) Thông th ng có quan h 1-1 gi a l nh c a ng i dùng và l nh c a FTP. ng v i m i l nh t client là m t tr l i c a server. Câu tr l i là m t mã 3 ch s và có th có m t thông báo kèm theo. u này t ng t nh tr ng mã tr ng thái trong thông p tr l i HTTP. D i ây là m t s câu tr l i th ng g p: Trang 63

71 331 username OK, password requiered 125 connection already open; Transfer staring 425 can't open data connection 452 error writing file Chi ti t v FTP có th tham kh o t i khuy n ngh RFC 959 IV. TH TÍN N T ( ) TRÊN INTERNET Mail server SMTP ` user agent SMTP ` user agent Mail server ` user agent ` user agent Mail server SMTP ` user agent ` user agent Outgoing message queue (Th i g i i) User mailbox (các hòm th c a ng i dùng) Hình 2.13 Mô hình h th ng n gi n Cùng v i Web, th n t 1à m t trong nh ng ng d ng Internet thông ng nh t. G n gi ng th tín thông th ng, là d ch v không òi h i ng b - ngh a là m i ng i g i và c th khi th y thu n ti n, không c n theo k ho ch tr c. Nh ng khác v i th tín th ng, nhanh, d g i và chi phí th p. H n n a nh ng thông p ngày nay có th ch a ng các hyperlink, v n b n nh d ng HTML, hình nh, âm thanh và c video. Trong ph n này, chúng ta s kh o sát các giao th c trao i th thu c t ng ng d ng trên Intemet Trang 64

72 Hình 2.13 minh ho h th ng mail trên Internet g m có 3 thành ph n ph n chính: user agent, mail server và SMTP (Simple Mail Transfer Protocol). ti n theo dõi, chúng ta s l y ví d ng i Alice g i cho Bop mô t 3 thành ph n trên. Ch ng trình giao ti p ng i dùng cho phép c, h i âm, g i, l u gi và so n th o các th (user agent dành cho còn c g i là mail reader - trình c th. M c dù v y, trong cu n sách này, chúng ta s tránh s d ng thu t ng ó). Khi Alice so n th o xong th, user agent c a Alice s g i th t i mail server c a Alice, t i ây th c t vào trong hàng i g i ra ngoài. Khi Bop mu n c th, user agent c a Bop s y th trên h p th (mail box) c a Bop t i mail server. Trong nh ng n m cu i th p k 90, các user agent có giao di n h a GUI (Graphic User Interface) khá thông d ng, chúng cho phép ng i dùng có th xem và so n th o các th có g n tài li u a ph ng ti n. Hi n nay, nh ng ph n m m so n thông d ng là Eudora, Microsoft Outlook và Nescape Messenger. Có nhi u ch ng trình user agent có giao di n d a trên n n v n b n gõ l nh nh là man, pine và elm. Trong l ch s : Hotmail Tháng 12/1995, Sabeer Bhatia và Jack Smith ngh Draper Fisher Jurvetson m t nhà u t m o hi m phát tri n m t h th ng mi n phí trên n n web. ý t ng nhà cung c p mi n phí tài kho n (hòm th ) và vi c truy c p t i hòm th có th th c hi n thông qua Web. Khi ó b t k ai truy c p c vào Internet dù nhà hay c quan- u có kh n ng c c th. H n th n a, hình th c này khá ti n d ng i v i các thuê bao hay ph i di chuy n. Draper Fisher Jurvetson tài tr cho Bhatia and Smith l p công ty Hotmail i y 15% giá tr công ty. V i 3 nhân viên làm y và 12 n 14 nhân viên làm vi c n a bu i tr l ng b ng c phi u c a chính công ty, Hotmail ã phát tri n và cung c p d ch v u tiên vào tháng 7 n m Sau m t tháng h có ng i s d ng d ch v. S l ng ng i s d ng t ng lên nhanh chóng- và t t c ng i s d ng u ph i c baner qu ng cáo trong . Tháng 12/1997, ch a y 18 tháng sau khi khai tr ng, Hotmail có 12 tri u ng i s d ng và ã c Microsoft mua l i v i giá 400 tri u ôla. Có hai y u t quan tr ng trong thành công c a Hotmail: S tiên phong và kh n ng t qu ng cáo. Hotmail là ng i tiên phong vì Hotmail là công ty u tiên cung c p d ch v Web mail. Các công ty khác, s ng ý t ng c a Hotmail- u i sau Hotmail 6 tháng. là m t ví n hình v s t qu ng cáo. Khi nh n c th t d ch v Yahoo, ng i nh n s bi t c v Yahoo. Trang 65

73 Máy ch ph c v th (Mail server) là thành ph n c t lõi trong h th ng . M i ng i có m t h p th t trên mail server. H p th c a Bop qu n lý, l u gi các th g i t i Bob. Th c t o ra t i user agent c a ng i g i, c g i t i mail server. H p th c a Bop qu n lý, l u gi các th g i t i Bob. Th c t o ra t i user agent c a ng i g i, c g i t i mail server a ng i g i, r i t i mail server c a ng i nh n - và cu i cùng c chuy n vào h p th c a ng i nh n. Khi Bop mu n truy c p vào h p th c a mình, mail server ch a h p th c a Bop s ki m ch ng Bob (thông qua username và password). Mail server c a Alice c n ph i x lý khi maii server c a Bop g p c. N u mail server c a Alice không th g i th cho mail server c a Bop, nó s gi nh ng th ó trong hàng i g i thông p và s c g ng g i l i các thông p. Quá trình g i l i c ti n hành th ng xuyên 30 phút m t n trong n m ngày. Và sau vài ngày, n u v n không thành công thì server s hu b th và g i th báo cho ng i g i (Alice). SMTP (Simple Mail Transfer Protocol) là giao th c g i th n t c a ng ng d ng. SMTP s d ng d ch v truy n d li u tin c y c a TCP truy n th t mail server c a ng i g i n mail server c a ng i nh n. Gi ng các giao th c khác t ng ng d ng, SMTP có 2 phía: phía client, trên mail server c a ng i g i và phía server trên mail server c a ng i nh n. T t các mail server u ch y c hai phía client và server c a SMTP. Mail server óng vai trò client khi g i th, và óng vai trò server khi nh n th. 1. SMTP SMTP là trái tim c a d ch v g i th trên Internet và c c t trong RFC 821. Nh ã nói trên, SMTP truy n các thông p (th ) t mail server a ng i g i n mail server c a ng i nh n. SMTP ra i tr c HTTP kh lâu (RFC c t SMTP có t n m và SMTP ã xu t hi n tr c ó m t th i gian dài). M c dù có nhi u u m nên c t t c mail server trên Internet s d ng, SMTP v n là m t k thu t c nên ch c ch n có nh ng c tính l c h u. Ví d SMTP òi h i ph n thân c a t t c các thông p ph i mã hoá theo b ng mã ASCII 7 bit. S h n ch này là do trong nh ng m u th p k 80, v i s ng truy n ít i, không ai g i th cùng v i nh ng ph n ính kèm l n, hay g i kèm các file hình nh, âm thanh có kích th c l n. Nh ng trong k nguyên a ph ng ti n ngày nay, vi c gi i h n mã ASCII 7 bit là m t h n ch l n vì d li u a ph ng ti n nh phân ph i c chuy n sang mã ASCII tr c khi c g i i qua SMTP và sau ó l i ph i gi i mã thành mã nh phân sau khi th n ích. Trong m c 2.3 ta ã bi t r ng Trang 66

74 HTTP không yêu c u d li u a ph ng ti n ph i mã hoá sang mã ASCII tr c khi truy n. minh ho ho t ng c b n c a SMTP, hãy xét ví d sau gi s Alice mu n g i cho Bop m t thông p ASCII n gi n: u tiên, Alice s d ng user agent c a mình, ánh a ch c a Bop (bop somechool.edu), so n và yêu c u user agent g i th i. User agent c a Alice g i th t i mail server c a Alice. T i ây th c t vào hàng th i g i. SMTP client ch y trên mail server c a Alice th y th trong hàng i. Nó t o k t n i TCP t i SMTP server trên mail server c a Bop. Sau giai n kh i t o 3 b c, SMTP client g i th c a Alice qua k t i TCP. i mail server c a Bop, SMTP server nh n th và t th vào mail box c a Bop. Cu i cùng, khi thu n ti n Bop s s d ng user agent c a mình c th. SMTP Internet Alice's mail server Bob's mail server Hình 2.14 Th c g i t mail server c a Alice n mail server c a Bob ch b n này c minh ho trên hình M t m quan tr ng c n chú ý là SMTP không s d ng mail server trung gian g i th - ngay c khi mail server g i và nh n xa nhau. Ví d n u mail server c a Alice t Hongkong và mali server c a Bop Mobile ti u bang Aiabama, thì gi a hai mail server Hong Kong và Mobile v n có ng k t n i TCP tr c ti p. c bi t n u mail server c a Bop b h ng thì th v n còn trong mail server c a Alice và i cho l n g i sau. Thông p không c g i qua mail server trung gian. Bây gi chúng ta có th xem chi ti t cách th c các mail server g i th ng SMTP. Chúng ta s th y r ng SMTP có nhi u c m t ng t nh Trang 67

75 nh ng quy t c trong giao ti p tr c di n c a con ng i. u tiên, SMTP client (ch y trên mail server g i) thi t l p k t n i TCP v i c ng 25 t i SMTP server (ch y trên mail server nh n). Trong tr ng h p server không làm vi c, client c g ng th l i l n sau. Ngay khi k t n i c thi t l p, server và client th c hi n m t vài th t c b t tay. Quá trình này t ng t nh hai ng i t gi i thi u v b n thân tr c khi ti n hành nói chuy n. Trong th t c trao i, SMTP client thông báo v i SMTP server a ch ng i g i và a ch mail ng i nh n. Ngay sau quá trình gi i thi u, client s g i th b ng d ch v truy n d li u tin c y c a TCP. Sau ó, client s l p l i các b c này khi v n còn thông p khác g i t i server, còn n u không, client yêu c u TCP óng k t n i l i. Ví d sau là n "h i tho i" gi a client (C) và server (S). Tên máy tính client là crepes.fr và server là hamburger.edu. Dòng h i tho i m u b ng ch C: là n h i tho i client g i qua socket TCP và dòng h i tho i b t u i ch S: là n h i tho i server g i i thông qua socket TCP. n h i tho i b t u ngay sau khi thi t l p c k t n i TCP: S: 220 hambuger.edu C: 250 Hello crepes.fr S: 250 Hello crepes. fr, pleased to meet you C: MAIL FROM: <alice@crepes. fr> S: 250 alice@crepes. fr... Sender ok C: RCPT TO: <bob@hamburger. edu> S: 250 bobhamburger.edu...recipient ok C : DATA S: 354 Enter mail, end with ". " Oa a line by itself C: Do you like ketchup? C: How about pickles? S: 250 Message accepted for delivery C : QUIT S: 221 hambuger. edu closing connection. Trong ví d trên, client g i m t thông p ("Do you like ketchup? How abou pickles?") t mail server crepes.fr t i mail server hamburger.edu. Client d ng 5 câu l nh : HELO (vi t t t c a HELLO), MAIL FROM, RCPT TO, DATA và QUIT. Ý ngh a c a nh ng câu l nh này có th oán c qua tên i c a nó. Server g i tr k t qu th c hi n m i l nh, m i câu tr l i g m m t Trang 68

76 mã tr ng thái và m t l i gi i thích ti ng Anh. ây SMTP s d ng k t n i liên t c: N u có nhi u th g i t i cùng m t mail server thì mail server g i g i t t c các th trên cùng m t k t n i TCP. V i m i thông p, client b t u ti n trình g i b ng l nh HELO crepes.fr và ch g i l nh QUIT sau khi g i t c th. c gi nên s d ng Telnet xem m t n h i tho i tr c ti p v i SMTP server. S d ng telnet servername 25 trong ó servername là tên mail server. Khi ó b n ã thi t l p k t n i TCP gi a máy tính c a b n và mail server. Sau khi ánh l nh này, b n s nh n c ngay l p t c mã tr l i 220 server. Sau ó hãy s d ng các l nh SMTP: HELO, MAIL FROM, RCPT TO, DATA, QUIT nh ng th i m t ng ng. N u b n telnet qua SMTP server c a ai ó, b n có th g i t i h theo cách này (không ph i dùng user agent). 2. So sánh v i HTTP. Chúng ta hãy cùng so sánh v n t t hai giao th c SMTP và HTTP. C 2 giao th c u c s d ng g i file gi a các máy tính. HTTP chuy n file ho c i t ng t Web server t i Web client (trình duy t Web), SMTP chuy n file (là thông p th n t ) gi a các mail server. Khi truy n file c 2 giao th c HTTP và SMTP cùng s d ng k t n i liên t c. m khác bi t c n gi a hai giao th c là HTTP là giao th c ki u kéo (Pull protocol) - client "kéo" thông tin t server v. Phía nh n (client) là phía thi t l p k t n i TCP. SMTP l i là giao th c theo ki u y (Push protocol) - client " y" thông tin lên server. Phía g i (client) là phía thi t l p k t n i TCP tr c. Ngoài d li u v n b n, thông p còn có th ch a các ki u d li u khác nh âm thanh hình nh. HTTP t các i t ng này trong các thông p riêng r g i. V i SMTP t t c các i t ng này c t trong cùng m t th n t. 3. Khuôn d ng th và chu n MIME Khi Alice g i th cho Bom, Alice s t th vào phong bì, ghi rõ a ch i và a ch nh n, nhân viên b u n s óng d u ngày tháng vào phong bì. Th n t c ng gi ng nh v y, bên c nh n i dung b c th (ph n thân) c ng n có a ch ng i g i, a ch ng i nh n. Nh ng thông tin ph tr này s c t trong các dòng tiêu. Các dòng tiêu và ph n thân c a th c tách bi t v i nhau b ng c p ký t CR-LF. RFC 822 c t y các dòng tiêu c ng nh ý ngh a c a chúng. Gi ng HTTP, tiêu g m t khoá, theo Trang 69

77 sau là d u hai ch m (":") và m t giá tr nào ó. V i SMTP có m t s tr ng t bu c, m t s tr ng không b t bu c. Tiêu ph i có tr ng From: và tr ng To: t s tr ng nh Subject: có th có ho c không. L u ý r ng nh ng tr ng này khác nh ng l nh SMTP mà ã c c p n (m c dù chúng c ng có from và To ). Các l nh. là m t ph n trong giai n kh i o c a SMTP trong khi các tr ng n m ngay trong th. t b c th th ng có tiêu nh sau : From: alice@crepes. fr To: bob@hamburger. edu Subject: Searching for the meaning of life Sau ph n tiêu thông p là m t dòng tr ng, ti p n là thân thông p (d ng mã ASCII). Nh ã nói trên, thông p k t thúc b ng m t dòng ch ch a m t d u ch m câu. B n nên s d ng Telnet g i t i mail server t thông p có ch a m t vài dòng tiêu, bao g m dòng tiêu Subject:. Có th th u này b ng cách telnet vào m t mai server: telnet servername 25 trong ó servername là tên (ho c a ch IP) c a máy tính M r ng MIME cho d li u không thu c d ng ASCII. Ph n tiêu thông p c c t trong RFC 822 phù h p cho vi c g i n b n nh ng l i không y g i th ch a n i dung a ph ng ti n (multimedia) - là th có ính kèm nh, audio, video ho c các th ch a các ký khác ti ng Anh. g i d li u không thu c d ng v n b n ASCII, user agent g i ph i g i thêm m t s tr ng trong tiêu c a th. Nh ng tr ng này c c t trong RFC 2045 và RFC 2046, là ph n m r ng MIME (Multipurpose Intemet Man Extension) cho RFC 822. Hai tr ng MIME h tr multimedia là Content-Type: và Content- Transfer-encoding. Tr ng Content-Type cho phép phía nh n th c hi n các thao tác thích h p trên th nh n c. Ví d, n u ch ra thân thông p ch a nh JPEG, user agent nh n có th g i thân thông p t i ch ng trình gi i nén JPG. g i thông p v n b n không mã hoá theo b ng mã ASCII (ví v n b n ti ng Trung Qu c, Nh t B n), ng i ta ph i mã hoá nó theo b ng mã ASCII mà không làm nh h ng t i SMTP. Tr ng Content-Transferencoding: xác nh ph n thân thông p ã c mã hoá theo b ng mã ASCII và ph ng pháp mã hoá c s d ng. Vì v y khi user agent nh n c m t thông p v i hai tiêu trên, u tiên nó s d ng giá tr c a tiêu Content-Transfer-encoding: chuy n i thân thông p v d ng ban Trang 70

78 u (không theo nh d ng ASCII) và sau ó s d ng tr ng Content-Type xác nh thao tác th c hi n k ti p. Xét ví d sau, gi s Alice mu n g i m t nh JPEG cho Bob. th c hi n u này, Alice s d ng ph n m m Eudora, ánh a ch mail c a Bob, ch c a và chèn nh JPEG vào thân thông p. Sau khi hoàn t t vi c so n th o, Alice nh n nút send. Sau ó, user agent c a Alice t o ra m t thông p MIME có n i dung sau : From: alice@crepes. fr To: bob@hamburger. edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-encoding: base64 Content-Type: Image/jpeg (base64 encoded data base64 encoded data) i thông p MIME trên, chúng ta th y r ng user agent c a Alice mã hoá nh JPEG s d ng k thu t mã hoá base64. ây là m t trong nh ng k thu t mã hoá chu n trong MIME [RFC 2045] bi n i sang nh d ng mã ASCII 7 bit. Khi Bob c th, user agent c a Bob x lý thông p MIME này. Th y tr ng Content- Transfer-endcoding: base64, nó th c hi n gi i mã thân thông p ã c mã hoá b ng k thu t base64. Tr ng Content-Type: image/jpeg giúp cho user agent c a Bob xác nh r ng thân c a thông p ph i c gi i nén theo chu n JPEG. Cu i cùng, thông p ch a tr ng MIME-Version: xác nh phiên b n MIME ang c s d ng. L u ý r ng, thông p c ng ph i tuân theo khuy n ngh RFC 822/SMTP. Theo c t MIME trong khuy n ngh RFC 2046, tr ng Content-Type: có khuôn d ng sau: Content-Type: type/subtype; parmeters Ph n tham s (parameters) i sau d u ch m ph y có th không b t bu c. Trong khuy n ngh RFC 2046, tr ng Content-Type c s d ng xác nh ki u d li u trong ph n thân c a thông p MIME, g m hai giá tr : ki u li u và ki u con. Sau ph n ki u và ki u con là ph n tham s. Nói chung, Trang 71

79 ki u cao nh t (top-level) c s d ng khai báo ki u d li u chung, ki u con (subtype) xác nh nh d ng c bi t trong ki u d li u chung. Các tham b ngh a cho ki u và không nh h ng t i b n ch t ki u d li u. T p h p tham s ph thu c vào ki u và ki u con. c thi t k có th m r ng, s l ng các c p type/subtype và nh ng tham s i kèm trong MIME ngày càng t ng. b o m là t p h p này phát tri n có trình t, c c t rõ ràng, MIME c n thi t l p quá trình ng ký v i IAAN (Internet Assigned Numbers Authority) là c quan ng ký trung tâm. Ti n trình ng ký ki u d li u c c t trong khuy n ngh RFC Hi n nay, m i có nh ngh a cho b y nhóm d li u chính. V i m i ki u i có m t danh sách các ki u con và danh sách này ang t ng lên hàng n m. i ây là 5 nhóm d li u chính: n b n (Text): Ki u v n b n c s d ng xác nh thân thông p ch a thông tin d ng v n b n m t ki u con th ng g p là plain (tr n). V n b n tr n không có l nh hay ch d n nh d ng khuôn d ng và do ó không c n ph n m m c bi t nào hi n th. N u nhìn tiêu MIME c a th trong h p th b n có th s th y trên tiêu có tr ng text/plain; charset-"us-ascii" hay text/plain; charset="iso ". Nh ng tham s này xác nh b mã mà thông p s d ng. t ki u con khác c ng r t thông d ng là text/html. Ki u con html yêu c u mail server thông d ch nh ng th HTML g n trong thông p. u này cho phép user agent nh n hi n th thông p d i d ng t trang Web (v i font, hyperlink, applet và v. v. v). nh (Image): Ki u nh c dùng xác nh thân thông p là nh. Hai ki u con thông d ng là image/gif và image/jpeg. V i ki u con image/gif, mu n hi n th nh, user agent ph i gi i nén nh GIF. Âm thanh (Audio): Ki u audio yêu c u n i dung c g i ra thi t b audio (speaker ho c telephone). Ki u con thông d ng là basic (mã theo lu t 8-bit c s ) và 32kadpcm ( nh d ng 32kps c c t trong RFC 1911). Video: Ki u video có ki u con là mpeg và quicktime. Ki u ng d ng (Application): Ki u ng d ng dành cho d li u không thu c b t k ki u nào khác. Nó th ng c áp d ng cho lo i li u ph i qua m t ng d ng khác x lý tr c khi ng i nh n có th d ng c. Ví d khì ng i g i g n m t tài li u MS Word vào Trang 72

80 thông p , user agent t giá tr application/msword vào tr ng type/subtype. Khi user agent th y giá tr application/msword trong tr ng type/subtype, nó kh i ng ng d ng MS Winword và chuy n ph n thân thông p MIME cho ng d ng Word. M t ki u con quan tr ng khác là là octerstream. Ki u con này th ng c dùng khi thân thông p ch a d li u nh phân tu ý. Khi nh n ki u con này, mail reader s yêu c u ng i nh n l a ch n l u thông p trên a x lý sau. Có m t ki u MIME c bi t quan tr ng là ki u multipart. Thông p e- mail c ng nh trang Web có th ch a nhi u i t ng (nh v n b n, nh, applet). Web g i m i i t ng trong m t thông p tr l i c l p nh ng th n t t t t c các i t ng trong cùng m t thông p. c bi t, khi thông p a ph ng ti n có nhi u i t ng thì thông p ó có ki u là multipart/mixed. Khi nh n c m t thông p mà tr ng content-type có giá tr multipart/mixed, user agent n i nh n bi t thông p nh n c ch a nhi u i t ng. Khi nh n c thông p nh v y, user agent ph i xác nh rõ: 1. m u và m cu i c a i t ng. 2. Cách mã hoá các i t ng không theo b ng mã ASCII. 3. Ki u c a m i i t ng. Công vi c này c th c hi n nh ký t phân cách gi a các i t ng và tr ng Content-type, Content-Transfer-Endcoding ng tr c m i i t ng trong thông p. Xét ví d sau: Gi s Alice mu n g i thông p bao g m m t n v n n ASCII, m t nh JPEG và cu i cùng là m t n v n b n ASCII cho Bom. d ng user agent c a mình, Alice ánh m t n v n b n, chèn nh JPEG sau ó ành ti p n v n b n còn l i. K t qu là user agent c a Alice t o ra t thông p nh sau: From: alice@crepes. fr To: bob@hamburger. edu Subject: Picture of yummy crepe with commentary MIME-Version: 1.0 Content-Type:mu/tipartlmixed; Boundary=StartOfNextPart --StartOfNextPart Dear Bob, Trang 73

81 Please find a picture of an absolutely scrumption crepe. - StartOfNextPart Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data...base64 encoded data --StartOfNextPart Let me know if you would like the recipe. Qua thông p trên chúng ta th y r ng tr ng Content-Type: trong tiêu xác nh cách th c phân cách các ph n khác nhau trong cùng m t thông p. Vi c phân cách c b t u b ng 2 d u g ch ngang (--) và k t thúc ng c p ký t CRLF 3.2. Nh n thông p Thông p bao g m nhi u ph n, lõi c a thông p là ph n thân ch a d li u th c s c chuy n t ng i g i n ng i nh n. V i thông p nhi u ph n, thân thông p g m nhi u ph n và tr c m i ph n có m t ho c vài tr ng xác nh ki u. ng tr c thân thông p là c p CRLF và t s tr ng. Nh ng tr ng nh From:, To:, và Subject: c c t trong RFC 822 và nh ng tr ng nh Content-type: và Content- Transferendcoding: là tiêu MIME. Nh ng chính mail server nh n thông p c ng chèn vào thông p m t s tr ng khác, ví d Received: u thông p. Tr ng này xác nh tên c a SMTP server g i thông p ("from"), tên c a SMTP server nh n thông p ("by") và th i gian khi thông p t i ích. Ng i c s c c thông p nh sau : Received: from crepes. fr by hamburger. edu; 12 Oct 98 15:27:39 GMT From: alice@crepes. fr To: Bob@hamburger. edu Subject: Picture of yummy crepe. MIME-Version:1.0 Content-Transfer-encoding: base64 Content-Type: image/jpeg Trang 74

82 base64 encoded data base64 encoded data Th c ra t t c m i ng i khi ùng u nhìn th y tr ng Received: ng tr c thông p (tr ng này có th nhìn th y tr c ti p trên màn hình ho c khi in th ). Có th có nh ng thông p có nhi u tr ng Received: và tr ng Return-Path: ph c t p. ó là vì thông p này có th c chuy n ti p (forward) qua nhi u mail server tr c khi n tay ng i nh n. Ví d n u Bob c u hình mail server c a mình (hamburger.edu) g i chuy n ti p t t c các th c a Bob t i sush.jp khi ó t t c các th c a Bob khi b y t sush.jp s có nh ng tr ng sau: Received: from hamburger.edu by sushi.jp; Oct 98 15:30:01 GMT Received: from crepes. fr by hamburger. edu; 12 Oct 98 15:27:39 GMT Nh ng tr ng này cho phép ng i nh n theo dõi v t ng i c a th qua nhi u SMTP server c ng nh th i gian th t i m i server. 4. Giao th c truy nh p mail. i khi SMTP g i th t mail server c a Alice t i mail server c a Bob, th c t trong mail bom c a Bob. T tr c t i gi, chúng ta ch p nh n gi thi t c th, Bob ph i ng nh p vào mail server và s d ng m t ch ng trình c th (mail reader) nào ó cài ngay trên mail server. T i t n u nh ng n m 90, m i ng i v n th c hi n nh v y. Nh ng ngày nay m i ng i th ng c th qua m t user agent ch y trên máy tính cá nhân c a mình. Ch y user agent trên máy tính cá nhân, ng i s d ng có c nhi u tính n ng cao c p, k c vi c g i và nh n nh ng thông p a ph ng ti n. Gi s Bob (ng i nh n) ch y user agent c a mình trên máy tính cá nhân. Có th cài t mail server ngay trên may tính cá nhân c a Bob. Tuy nhiên cách này có nhi u nh c m. Mail server qu n lý nhi u mailbox, th c hi n c ch c n ng client và server c a SMTP. N u cài mail server trên máy tính cá nhân c a Bob thì PC ó lúc nào c ng ph i b t và k t n i vào Intemet có th nh n th m i (mà th thì có th n b t c lúc nào). u này không th c t v i a s ng i s d ng Internet. Thông th ng, ng i s d ng ch y ch ng trình user agent trên máy tính cá nhân, truy c p vào h p th trên m t mail server dùng chung (mail server này luôn luôn k t n i t i Internet và c chia x gi a nhi u ng i dùng khác). Mail server th ng c ISP c a ng i dùng (và tr ng i h c ho c công ty) qu n lý. Trang 75

83 Do user agent ch y trên máy tính cá nhân và mail server c qu n lý i các ISP nên c n có m t giao th c cho phép user agent và mail server trao i v i nhau. u tiên chúng ta xét tr ng h p th c t o ra t i PC c a Alice c chuy n t i mail server c a Bob nh th nào. Công vi c này có th c th c hi n m t cách n gi n b ng vi c user agent c a Alice trao i tr c ti p v i mail server c a Bob b ng giao th c SMTP. User agent c a Alice s kh i t o m t k t n i TCP t i mail server c a Bob, g i nh ng l nh kh i t o SMTP, t i th lên b ng l nh DATA và sau ó óng k t i i. Cách ti p c n này hoàn toàn có th th c hi n c nh ng ít khi c ùng vì nó không h tr tr ng h p mail server phía nh n b tr c tr c. Trên th c t, user agent g i kh i t o SMTP t i th c a Alice t i chính maii server c a Alice (ch không ph i là mail server c a ng i nh n th ). Mail server c a Alice sau ó thi t l p m t phiên làm vi c SMTP t i mail server c a Bob g i ti p th i mail server c a Bob. N u mail server c a Bob ng ng làm vi c thì mail server c a Alice s gi th l i và sau ó c g ng g i l i. RFC SMTP có nh ng l nh g i ti p th qua nhi u SMTP server. y user agent ch y trên máy tính cá nhân c a Bob l y thông p trong p th trên mail server c a Bob nh th nào? Gi i pháp là ph i có m t giao th c l y th cho phép chuy n th t mail server c a Bob t i máy tính c c b. Hi n nay có 2 giao th c l y th thông d ng là POP3 (Post Omce Protocol - Versíon 3) và IMAP (Internet Mail Access Protocol). D i ây, chúng ta s th o lu n c 2 giao th c này. L u ý r ng user agent c a Bob không th s ng SMTP l y th b i vì l y th gi ng nh vi c kéo" trong khi SMTP là t giao th c " y". Hình minh ho v vi c g i và nh n th. SMTP c dùng chuy n th gi a các mail server hay gi a user agent c a ng i i và mail server c a ng i g i. POP3 hay IMAP c ùng chuy n th mail server t i user agent c a ng i nh n. Hình 2.15 Giao th c và các th c th truy n thông Trang 76

84 4.1. POP3 POP3 c c t trong RFC 1939 là giao th c l y th c c k n gi n và có r t ít ch c n ng. POP3 c kh i t o khi user agent (client) t o k t n i TCP t i mail server (server) qua c ng Sau khi thi t l p c k t n i TCP, POP3 g m 3 giai n: ki m ch ng, ti n hành x lý và c p nh t. Trong giai n ki m ch ng u tiên, user agent s d ng tên và m t kh u xác nh n ng i s d ng. Trong giai n ti n hành x lý th hai user agent ti n hành l y th. Nó có th ánh d u các th xoá hay h y b vi c ánh u xoá. Giai n ba - c p nh t, x y ra sau khi client ra l nh qu t k t thúc phiên làm vi c POP3. i th i m ó mail server xoá t t c th c ánh d u. Trong giai n x lý, user agent g i l nh và server tr l i k t qu th c hi n c a m i l nh ó. M i l nh có hai tr ng thái k t qu : +OK thông báo l nh v a g i c th c hi n úng và ERR thông báo l nh v a g i không th c hi n c. Giai n ki m chúng có 2 l nh là user (username) và pass (password). minh ho 2 l nh ó b n nên Telnet tr c ti p qua m t server POP3 s d ng ng 110 th c hành. Gi s mail server là tên mail server, b n có th làm nh sau: telnet mail server 110 +OK POP3 server ready user Alice +OK pass hungry +OK user successfully logged on u ánh sai 1 nh thì server POP3 s áp l i b ng thông p ERR Ng i s d ng có th c u hình user agent m t trong hai ch i và xoá ("download ang delete") hay "t i và gi " ( download và keep"). Chu i nh c user agent g i ph thu c vào c u hình này. Trong ch u, user agent s phát ra chu i l nh list, retr và dele. Gi s ng i dùng có 2 thông p trong h p th c a mình. Trong n h i tho i d i ây C: (client) là user agent và S: (server) là mail server. Khi ó giai n x lý công vi c s nh sau : C: list S: Trang 77

85 S: S:. C : retr 1 S : (blah blah... S: S:.blah) S:. C: dele 1 C: retr 2 S : (blah blah.... S: S:..blah) C: dele 2 C : quit S: +OK POP3 server signing off u tiên, user agent yêu c u mail server li t kê kích th c c a t t c th u tr trong h p th. Sau ó, user agent b y và xoá tìm th trong h p th. u ý r ng sau giai n ki m ch ng ng i ùng ch còn 4 câu l nh và list, retr, dele và quit. Cú pháp c a các l nh này c c t trong RFC Sau khi x lý l nh quit, server POP3 vào giai n c p nh t và xoá th 1, 2 trong mailbox. Trong ch này, khi Bob l y th t nh ng a m khác nhau, th c a Bob s n m r i rác trên nhi u máy. c bi t, n u Bob ã l y th t máy tính nhà thì sau ó s không th c l i th ó trên máy tính c quan. Trong ch th hai download and keep, user agent v n l i th trên mail server sau khi ã t i v. Khi ó Bob v n có th c th t nhi u máy khác nhau. Trong phiên làm vi c POP3 gi a user agent và mail server, server POP3 ghi nh m t vài thông tin tr ng thái - ví d các th ã b ánh d u xoá. Tuy nhiên server POP3 không chuy n thông tin tr ng thái gi a các phiên làm vi c khác nhau. Ví d không có th nào c ánh u xoá u m i phiên làm vi c. u này làm n gi n công vi c xây d ng m t server POP IMAP Sau khi t i th v t máy tính cá nhân, Bob có th t o nh ng th m c ch a th và chuy n th vào trong các th m c ó. Sau ó Bob có th xoá, Trang 78

86 chuy n th gi a các th m c hay tìm ki m th theo tên ng i g i và ch th. Ph ng th c nh v y b t ti n v i ng i s d ng mu n c th t nhi u i vì h thích duy trì phân c p th m c trên mail server có th truy c p c t b t k máy tính nào. POP3 không áp ng c yêu c u này. IMAP ( c t trong RFC 2060) có th gi i quy t v n này. Gi ng POP.), LMAP c ng là giao th c l y th. Nó có nhi u c tính và do ó ph c p h n POP3. IMAP c thi t k cho phép ng i dùng thao tác trên nh ng p th xa m t cách d dàng. IMAP cho phép Bob t o nh ng th m c th khác nhau trong mailbox. Bob có th t th vào trong th m c hay d ch chuy n th t th m c này n nh ng th m c khác. IMAP c ng có l nh cho phép tìm ki m trên th m c theo tiêu chí xác nh. IMAP ph c t p h n POP3 nhi u vì server IMAP ph i duy trì h th ng th m c cho m i ng i dùng. Nh ng thông tin tr ng thái nh th ph i c mail server l u gi cho t t c các phiên làm vi c. Nên nh r ng POP3 server không l u gi tr ng thái c a i ng i dùng sau khi phiên làm vi c k t thúc. IMAP có m t c tính quan tr ng là có nh ng l nh cho phép user agent ch l y m t s thành ph n trong th. Ví d : user agent có th l y ph n tiêu ho c m t ph n trong th có nhi u ph n. u này r t có ích khi k t n i gi a user agent và mail server ch m, ng i dùng có th không c n t i t t c th trong h p th c a mình. c bi t có th tránh t i nh ng th ch a n i dung âm thanh hay hình nh có kích th c l n. Phiên làm vi c IMAP g m 3 giai n: giai n thi t l p k t n i gi a client (user agent) và IMAP server, giai n server ch p nh n k t n i và giai n t ng tác client lserver. T ng tác client/server c a IMAP t ng t nh ng phong phú h n nhi u t ng tác trong POP3. Server luôn m t trong n tr ng thái. Trong tr ng thái ch a ki m ch ng (nonauthenticated) là tr ng thái kh i u, khi ó ng i dùng ph i ng nh p h th ng tr c khi th c hi n các l nh. Tr ng thái ã ki m ch ng (authenticated), ng i dùng ph i ch n t th m c tr c khi g i l nh. Trong tr ng thái l a ch n (selected), ng i dùng có th s d ng nh ng l nh có th tác ng t i thông p (nh l y, xoá, chuy n th ). Cu i cùng là tr ng thái thoát (logout), khi k t thúc phiên làm vi c. B n có th c t t c v IMAP t i [IMAP 1999] HTTP Ngày nay, nhi u ng i s d ng webmail - d ch v có th truy c p qua trình duy t (Hotmail hay Yahoomail). Khi ó, user agent là trình duy t Web thông th ng và m i ng i k t n i t i h p th c a mình trên mail server Trang 79

87 qua HTTP. Khi Bob mu n c th, th c g i t mail server c a Bob t i trình duy t nh giao th c HTTP ch không ph i là giao th c POP3 hay IMAP. Khi ng i g i (Alice) có m t tài kho n (account) trên mail server mu n g i th, th s c g i t trình duy t c a Alice t i mail server nh giao th c HTTP ch không s d ng SMTP. Tuy nhiên, mail server ó v n g i và nh n th v i nh ng mail server khác b ng giao th c SMTP. Gi i pháp truy p mail ki u nh v y vô cùng thu n ti n cho ng i s d ng hay ph i di chuy n. H ch c n s d ng m t trình duy t g i và nh n th. Trình duy t ó có th m t quán cafe Internet, nhà c a b n bè, khách s n v i Web TV... Gi ng IMAP ng i dùng có th t ch c th c a mình trong h th ng th m c trên mail server. S th t là, d a trên Web ngày càng thu n ti n và d n d n thay th POP3 và IMAP trong nh ng n m t i. Nh c m chính y u c a nó là ch m, b i vì server và client xa, giao ti p gi a chúng ph i thông qua CGI. V. D CH V TÊN MI N - DNS Cá nhân m i con ng i có th c xác nh theo nhi u cách. Ví d, chúng ta có th c nh n bi t qua tên trong gi y khai sinh, b ng s ch ng minh th nhân dân. Dù có nhi u cách nh n bi t phân bi t m i ng i nh ng ph ng th c nh n bi t nào ph thu c vào hoàn c nh. Ví d công an s d ng ch ng minh th nhân dân ch không s d ng tên. Bình th ng m i ng i thích nh tên nhau h n là s ch ng minh th. Gi ng nh con ng i, máy tính trên Internet c ng có th c xác nh ng nhi u cách. Tên máy tính (host name) và m t cách, ví d cnn.com, gais.umass.edu hay surf.eurecom.fr. Nh ng tên ó t ng i d nh i v i con ng i. Tuy nhiên tên máy tính cung c p ít thông tin v trí trên Internet c a máy tính (Tên máy tính surf.eurecom.fr ch cho chúng ta bi t máy tính ó n c Pháp vì k t thúc b ng uôi.fr, ngoài ra không còn thông tin nào khác). H n n a tên máy tính bao g m nhi u ký t - c ch cái và ch s - có dài thay i nên router khó có th x lý c. Vì lý do ó, máy tính c xác nh thông qua a ch IP. a ch IP c th o lu n chi ti t trong ch ng 4. a ch IP g m có 4 byte và có c u trúc phân c p, giá tr a m i byte s c i ra s th p phân (0-255) và cách nhau b ng d u ch m (ví d ). a ch IP phân c p vì khi duy t a ch t trái qua ph i, chúng ta nh n c thêm nhi u thông tin xác inh v v trí c a máy tính trên Internet (V trí trong m ng c a các m ng, trong m t m ng... ). u này t ng t khi xét a ch b u n t d i lên, chúng ta nh n c nhi u thông tin v a ch ó. Trang 80

88 1. Các d ch v c a DNS Có hai cách xác nh m t máy tính: d a vào tên máy tính ho c a ch IP. Con ng i thích s d ng tên máy d nh, trong khi router l i s d ng a ch IP có c u trúc phân c p và dài c nh (d x lý). dung hoà gi a hai cách, chúng ta c n m t d ch v ch d n chuy n i tên máy tính sang a ch IP và ây chính là nhi m v c a h th ng tên mi n trên Intemet (DNS). DNS là (1) C s d li u phân tán c t trên m t h th ng phân c p các máy ph c v tên (nameserver) và (2) Giao th c thu c t ng ng d ng cho phép máy tính và máy ch tên trao i thông tin ph c v m c ích xác nh a ch IP. Máy ch tên th ng là các máy UNIX s d ng ph n m m Berkely Internet Name Domain (BIND). Giao th c DNS ch y trên n n UDP v i s hi u c ng là 53. Thông th ng DNS c các giao th c t ng ng d ng khác nh HTTP, SMTP và FTP s d ng xác nh a ch IP t tên máy tính do ng i dùng a vào. Chuy n gì x y ra khi trình duy t (HTTP client) trên máy tính c a ng i s d ng yêu c u i t ng có a ch URL là g i c thông p HTTP yêu c u t i Web server thì máy tính c a ng i s d ng ph i xác nh c a ch lp c a www someschool.edu. u này c th c hi n nh sau: máy tính c a ng i d ng ch y phía client c a ng d ng DNS. Trình duy t s l y ra tên máy tính (www someschool.net) t a ch URL và chuy n nó cho ph n m m client c a DNS. DNS client g i m t truy v n (query) ch a tên máy tính t i DNS server. DNS client s nh n c m t thông p tr l i t DNS server ch a a chi IP c n xác nh. Sau ó trình duy t s m m t k t n i TCP t i ti n trình HTTP server trên máy tính có a ch IP v a c xác nh. Rõ ràng các ng d ng Internet s d ng DNS ho t ng ch m i. Tuy nhiên, a ch IP ã c xác nh th ng c ghi t m (cache) trong m t name server DNS g n và nh v y làm gi m t i cho h th ng DNS c ng nh tr c a ng d ng. Bên c nh d ch v xác nh a ch IP t tên máy, DNS cung c p m t s ch v quan tr ng sau: 1.1. D ch v t bí danh cho máy tính (Host aliasing) Máy tinh có tên ph c t p có th có m t ho c nhi u bí danh (alias). Ví d tên máy tính relay1.west-coast.enterprise.com có th có hai bí anh là và enterprise.com. Trong tr ng h p này, relay1.westcoast.enterprise.com là tên y (canonical name). Tên bí danh th ng d Trang 81

89 nh h n tên y. M t ng d ng có th yêu c u DNS xác nh tên y ng nh a ch IP c a m t tên bí danh D ch v t bí danh cho mail server (Mail server aliasing) Hi n nhiên a ch mail c n d nh. Ví d n u Bob có tài kho n trên Hotmail, a ch c a Bob có th ch n gi n là bob@hotmail.com. Tuy nhiên tên máy tính c a máy ph c v th t i Hotmail ph c t p và vì th khó nh h n so v i hotmail.com (Ví d tên y có th là relay1.westcoast.hotmail.com). ng d ng có th s d ng DNS xác nh tên y c a t bí danh c ng nh a ch IP c a máy tính ó. Trên th c t, DNS cho phép mail server và webserver c a các công ty có tên (bí danh) gi ng nhau, ví d : webserver và mail server c a m t công ty có th cùng là enterprise.com Phân tán t i (load distribution) DNS th c hi n vi c phân tán t i cho các server, c bi t là các web server nhân b n (replicated) (là các server có n i dung gi ng h t nhau). Nh ng site có nhi u ng i truy c p nh cnn.com c t trên nhi u server gi ng h t nhau. M i server là m t h th ng u cu i (end system) khác nhau, có a ch IP khác nhau. i v i các server gi ng h t nhau nh v y, m t nhóm a ch IP s g n v i tên y c a m t máy nào ó. C s d li u DNS ch a toàn b nhóm a ch IP ó. Khi client g i truy v n DNS xác nh a ch IP thì server s g i toàn b nhóm a ch IP ó nh ng server thay i th t các a ch IP trong nhóm. Thông th ng client g i thông p HTTP t i máy tính có a ch IP c li t kê u tiên trong nhóm. S hoán chuy n v trí các a ch IP mà DNS th c hi n ã phân t i cho các server. Vi c hoán v c a DNS c ng c d ng cho khi nhi u mail server có chung bí danh. DNS c c t trong RFC 1034 và RFC 1035 và c p nh t trong m t s RFC khác. DNS là h th ng ph c t p và chúng ta ch nghiên c u m t vài khía nh c a nó. Chi ti t v DNS có th c trong [Abitz 1993] DNS: M t d ch v m ng quan tr ng ho t ng trên mô hình client/server. Gi ng HTTP, FPT hay SMTP, giao th c DNS n m t ng ng d ng vì (1) nó ho t ng gi a hai th c th truy n thông u cu i s d ng mô hình client/server và (2) s d ng m t giao th c giao v n end-to-end t ng giao n phía d i trao i thông p DNS gi a hai phía u cu i. Tuy nhiên vai trò c a DNS khác các ng d ng Web, FTP hay nhi u. DNS không ph i ng d ng c ng i dùng tr c ti p s d ng mà DNS Trang 82

90 ch cung c p m t d ch v Internet c c k thi t y u cho các ng d ng: chuy n i tên máy tính sang a ch IP. Tr c ây trong m c 1.2 chúng ta th y r ng s ph c t p trong ki n trúc c a Internet c t t i p v a m ng. DNS c tri n khai trên các máy tính u cu i là m t minh ch ng rõ ràng cho nguyên lý thi t k này. 2. C ch ho t ng t ng quan c a DNS. Bây gi, chúng ta trình bày t ng quan cách th c ho t ng c a DNS, t p trung vào d ch v xác nh a ch IP t tên máy tính. V i client, DNS là m t "h p en". Client g i thông p truy v n DNS vào h p en ó, trong thông p ch a tên máy c n xác nh a ch IP. V i h u hành Unix, gethostname() là m t hàm mà ng d ng có th g i g i thông p truy v n. Sau m t kho ng th i gian nào ó - t vài ph n nghìn giây n vài ch c giây, client nh n c thông p tr l i c a DNS ch a a ch IP c n xác nh. Vì y, v i client thì DNS là m t d ch v xác nh IP n gi n và d hi u. Nh ng "h p en" tri n khai d ch v ó th c s ph c t p, bao g m nhi u máy ch tên (nameserver) t kh p n i trên th gi i và m t giao th c t ng ng ng xác nh cách th c trao i thông tin gi a các nameserver và gi a nameserver và máy tính.?.jp Local name server IP address user ac.jp keio keio.ac.jp Local Name Server Web browser program ac sfc sfc.keio.ac.jp Root Cache Resolving all CNAME then resolve A TCP IP Hình 2.16 ng d ng s d ng d ch v c a DNS tri n khai DNS, ng i ta có th a ra m t ki n trúc n gi n sau: có t nameserver ch a t t c các ánh x tên và a ch IP. Theo thi t k t p trung này, client ch c n g i t t c các truy v n t i nameserver duy nh t và nameserver này s tr c ti p tr l i m i truy v n. M c dù tính n gi n c a Trang 83

91 thi t k này r t h p d n nh ng nó hoàn toàn không thích h p cho Intemet v i l ng l n và ngày càng t ng các máy tính. Thi t k t p trung nh v y n y sinh m t s v n sau: m h ng duy nh t (A single point of failure) n u nameserver duy nh t ng ng làm vi c c ng có ngh a là toàn b Internet ng ng ho t ng. Kh i l ng (Traffic volume): M t nameserver duy nh t ph i x lý t c các truy v n DNS (cho t t c các thông p yêu c u t hàng tri u máy tính trên toàn c u) s d li u t p trung xa (distant centralized database): Nameserver duy nh t không th g n t t c các client. N u nameserver t NewYork thì t t c truy v n t Úc ph i chuy n t i phía bên kia trái t và có th qua m t ng k t n i ch m và t c ngh n. H u qu là các ng d ng ph i ch u tr l n. o trì (maintenance): Namserver ph i ghi nh thông tin v t t c các máy tính trên Intemet. Khi ó c s d li u s c c k l n và nameserver ph i c p nh t th ng xuyên thông tin cho m i máy tính i. C ng ph i gi i quy t các v n ki m ch ng và xác nh n khi ng i dùng s d ng c s d li u t p trung. Tóm l i, m t c s d li u t p trung trên m t nameserver duy nh t không phù h p khi quy mô h th ng l n. Do ó, DNS c thi t k phân tán. Trên th c t DNS là m t ví d tuy t v i v tri n khai c s d li u phân tán trên Internet. gi i quy t v n quy mô, DNS s d ng nhi u nameserver t ch c phân c p và phân tán trên toàn c u. Không có nameserver nào ch a t t tên và a ch IP các máy tính trên Internet nh ng thông tin này c phân tán trên nhi u nameserver. Có ba lo i nameserver : local nameserver, root nameserver và authoritative nameserver. Các nameserver ó trao i thông tin i nhau và v i các máy tính khác. Local nameserver: M i ISP nh tr ng i h c khoa thu c tr ng, công ty u có local nameserver (còn c g i là default name server). Khi máy tính trong c quan t o ra m t thông p truy v n DNS thì u tiên thông p ó c g i t i local name server c a t ch c. a ch IP c a local name server ph i c c u hình trong máy tính (Trong Win 95198, b n có th tìm th y a ch IP c a local name server b ng cách m Control Panel, sau ó ch n Network, ch n TCP/IP, r i ch n c u hình DNS). Lo i name server th ng v i Trang 84

92 client, trong tr ng h p t i c quan c a m t t ch c, nó có th trên cùng m ng LAN v i máy tính client. V i ISP ph c v k t n i t nhà thì kho ng cách gi a name server và các máy tính client ch là vài router. N u máy tính yêu c u xác nh a ch áp c a m t máy tính khác trong cùng m t ISP thì local name server có th ngay l p t c xác nh c a chi IP c n thi t. Ví d n u máy tính surf.eurecom.fr yêu u a ch áp c a baie.eurecom.fr thì local name server eurecom ngay l p t c có th a ra a ch IP c yêu c u mà không ph i liên v i b t k name server nào khác. Rootname server : Trên Intemet có 13 rootname server, h u h t t i B c M. V trí các root name server vào th i m tháng 02/1998 c minh ho trên hình Khi local name server không th tr l i truy v n c a m t máy tính (b i vì nó không có thông tin c a máy tính c yêu c u ) thì local name server s óng vai trò client DNS và g i câu h i truy v n t i m t trong s các root name server. N u root name server có thông tin c a máy tính c h i, nó s g i m t thông p i âm DNS t i local name server và sau ó thông tin này c local name server g i tr l i cho máy tính yêu c u. Nh ng root name server có th không có thông tin c a máy tính ó. Trong tr ng h p này, root name server bi t c a ch IP c a name server qu n lý máy tính ó. I-NORDO Stockholm E-NASA Moffel Fiel CA F-ISC Woodside CA M-WIDE Keio B-DISA-USA Marina del Ray CA L-DISA-USA Marina del Rey CA K-LINX/RIPE London A-NSF-NSI Herndon VA C-PSI-Herndon VA D-UMD College Pk MD G-DISA-Boeing Vienna VA H-USArmy Aberdeen MD J-NSF-NSI Herndon VA Hình 2.17 Các root name server trên th gi i Authoriative name server : M i máy tính ph i ng ký t i m t Authoritative name server. Thông th ng authoriative name server a m t máy tính là name server trong mi n ISP c a máy tính ó (th c t m i máy tính ph i có ít nh t hai authoritative name server, Trang 85

93 phòng tr ng h p m t name server b h ng). Có th nh ngh a, Authoriative name server c a m t máy tính là nameserver luôn l u tr n ghi DNS cho phép xác nh a ch IP c a máy tính ó t tên. Khi authoritative name server nh n c truy v n t root nameserver, nó g i m t thông p DNS tr l i ch a ánh x c yêu c u. Sau ó, root server g i ánh x ó t i local nameserver và local nameserver l i ti p t c g i ánh x ó t i máy tính yêu c u. Nhi u nameserver v a là local v a là authoriative nameserver. Xét ví d n gi n sau. Gi s máy tính surf.eurecom.fr mu n có a ch IP c a máy tính gaia.cs.umas.edu, gi s nameserver c a mi n Eurecom là dns.eurecom.com.fr và authoriative nameserver cho gaia.cs.umas.edu là dns.umass.edu. Nh ã trình bày trong hình 2.18, u tiên máy tính surf.eurecom.fr g i m t thông p truy v n t i local name server c a nó là dns.eurecom.fr. Thông p ó ch a tên máy tính c n xác nh a ch IP, là gaia.cs.umass.edu. Loal name server g i thông p t i root name server. Root nameserver g i ti p thông p t i nameserver có th xác nh t t c các máy tính trong mi n umass.edu, ví d là dns.umass.edu. Sau ó, authoriative name server này g i k t qu cho cho surf.eurecom.fr thông qua root name server và local name server. Trong ví d này, xác nh c a ch IP, có 6 thông p DNS c trao i : 3 thông p yêu c u và 3 thông p tr l i. Trang 86

94 Root name server Local name server dns.eurecom.fr Authoritative name server dns.umass.edu 1 6 gaia.cs.umass.edu Requesting host surf.eurecom.fr Hình 2.18 Các root name server trên th gi i Gi thi t root name server bi t a ch IP c a authoriative name server a m i máy tính nh trên có th không úng. V i tên m t máy tính, root nameserver có th ch bi t c a ch IP c a m t name server trung gian mà chính name server trung gian này m i bi t c a ch IP c a authoriative nameserver c a máy tính ó. minh ho u v n xét ví d trên máy tính surf.eurecom.fr c n xác nh a ch IP c a gai.cs.umass.edu. Gi s tr ng i h c Massachusets (Univ of Massachusets) có name server cho toàn b tr ng i h c, ó 1à dns.umass.edu. Ta c ng gi s ti p r ng m i khoa trong tr ng i h c này có name server riêng, qu n lý tên cho t t c các máy tính trong khoa ó. Khi root name server nh n c yêu c u xác nh a ch IP cho m t tên máy tính có t n cùng 1à umass.edu, nó s g i yêu c u t i name server dns.umass.edu. Name server này g i t t c các yêu c u có tên máy tính n cùng là cs.umass.edu cho authoritative name server qu n lý t t c máy tính có tên t n cùng là es.umass.edu. Authoriative name server này (dns.cs.umass.edu) g i k t qu t i name server trung gian (dns.umass.edu) và name server này s g i ti p k t qu t i root name server. Root name server s i ti p k t qu t i local name server c a máy tính yêu c u. Trong ví d này, 8 thông p DNS c g i (Hình 2.19). Th c ra có th có nhi u h n 8 thông Trang 87

95 p DNS c trao i vì có th có nhi u name server trung gian gi a root name server và authoriative name server. Trong ví d trên, t t c các truy v n c là quy (recursive query). Khi máy tính hay name server A g i thông p yêu c u t i name server B, name server B s thay m t A nh n thông p ch a k t qu và sau ó g i k t qu t i A. Tuy nhiên DNS cho phép các truy v n t ng tác (iterative query) t kì giai n nào trong quá trình t máy tính yêu c u n authoriative name server. Khi name sever A g i m t truy v n t ng tác t i name server B, u name server B không có ánh x c yêu c u, nó s g i cho A thông p tr l i ch a a ch IP c a name server k ti p trên chu i, gi s là name sever C. Sau ó name server A tr c ti p g i thông p yêu c u t i name server C. Root name server Local name server dns.eurecom.fr Intermediate name server dns.umass.edu Requesting host surf.eurecom.fr Authoritative name server dns.cs.umass.edu gaia.cs.umass.edu Hình 2.19 Các truy v n DNS Các truy v n trong dãy truy v n liên ti p có th là t ng tác ho c quy nh minh ho trên hình Thông th ng t t c các truy v n - ngo i tr truy v n t loal name server t i root name server là quy, truy v n t i root name server th ng là t ng tác (b i vì root name server ph i x lý m t Trang 88

96 ng l n các yêu c u nên c n làm gi m s l ng truy v n t i root name server). t c tính quan tr ng c a DNS là l u tr t m th i các b n ghi DNS (DNS caching). Trên th c t, DNS l u tr t m th i (cache) làm gi m tr c ng nh làm gi m s thông p DNS trao i trên m ng. Ý t ng này r t n gi n: Khi nh n c ánh x DNS c a máy tính nào ó, bên c nh vi c g i ti p thông p, name server s l u ánh x này vào b nh c c b ( a c ng hay RAM). V i ánh x tên máy - a ch IP c l u tr, n u có m t truy v n khác yêu c u a ch IP c a cùng tên máy mà name server v a l u tr, nameserver s xác nh c a ch áp mong mu n, ngay c khi nó không là authoritiative name server cho máy tính ó. kh c ph c tình tr ng b l c u, thông tin c l u tr t m th i s b xoá b sau m t kho ng th i gian (th ng là hai ngày). Root name server 2 Iterated Local name server dns.eurecom.fr Intermediate name server dns.umass.edu Requesting host surf.eurecom.fr Authoritative name server dns.cs.umass.edu gaia.cs.umass.edu Hình 2.20 Các truy v n quy và t ng tác Trang 89

97 3. B n ghi DNS. Name server c ng tri n khai c s d li u phân tán DNS, ghi l i các b n ghi tài nguyên (resource record) cho các ánh x Tên máy 1 a ch IP. M i thông p tr l i DNS ch a m t hay nhi u b n ghi tài nguyên. Trong ph n này chúng ta s nói qua v b n ghi tài nguyên và thông p DNS. V chi ti t, n có th xem trong DNS RFC [RFC l034, RFC l035]. n ghi tài nguyên g m 4 tr ng sau: (Name, Value, Type, TTL) TTL là th i gian t n t i c a b n ghi tài nguyên, dùng xác nh th i m có th xoá b n ghi tài nguyên kh i b nh l u tr. Trong các b n ghi ví d i ây, chúng ta b qua tr ng TTL. Ý ngh a c a tr ng Name và Value ph thu c vào tr ng Type: u Type = A thì Name là tên máy và Value là a ch IP c a máy ó. n ghi ki u A là ánh x Tên máy - a ch IP chu n. Ví d, (relay1.bar.foo.com, , A) là m t b n ghi Type A. u Type = NS thì Name là m t mi n (nh là foo.com) và Value là tên máy c a authoriative name server c a các máy tính trong mi n ó. n ghi này th ng c s d ng g i ti p các truy v n DNS. Ví d 1 b n ghi Type NS: (foo.com, dns.foo.com, NS) u Type = CNAME thì Value là tên y c a máy có tên bí danh t trong Name. n ghi ki u này cho phép xác nh tên y c a m t máy tính t tên bí danh. Ví d m t b n ghi CNAME: (foo.com, relay1.bar.foo.com, CNAME). u Type : MX thì Value là tên máy c a mail server có tên bí danh t trong Name. Ví d, b n ghi ki u MX (foo.com, mail.bar.foo.com, MX). B n ghi MN cho phép mail server có tên bí danh n gi n. u m t name server là authoritiative name server cho m t máy tính nào ó thì name server s ch a b n ghi ki u A c a máy tính ó (ngay c n u name server ó không là authoritiative name server thì có th nó ch a b n ghi ki u A trong b nh cache c a nó). N u name server không là authoritiative name server c a máy tính c h i thì nó s ch a m t b n ghi ki u NS cho mi n a máy tính này, và nó c ng có m t b n ghi ki u A xác nh a ch IP c a name server c a mi n này t trong tr ng Value c a b n ghi NS. Ví d, root name server không là authoritiative name server cho máy tính Trang 90

98 gai.cs.umass.edu, root server s có m t b n ghi cho mi n ch a cs.umass.edu ví d (umass.edu, dns.umass.edu, NS). Root server ó c ng có m t b n ghi ki u A cho phép xác nh a ch IP c a name server dns.umass.edu, ch ng n (dns.umass.edu, , A) 4. Thông p DNS: Có hai ho i thông p DNS: thông p yêu c u và thông p tr l i. hai ki u thông p này có chung khuôn d ng minh ho trên hình Identification Number of questions Number of authority RRs Flags Number of answer RRs Number of additional RRs 12 bytes Questions (variable number of questions) Answers (variable number of resource records) Authority (variable number of resource records) Additional information (variable number of resource records) Hình 2.21 Khuôn d ng thông p DNS Ý ngh a các tr ng trong thông p nh sau: 12 byte u tiên là ph n tiêu. Ph n tiêu có m t s tr ng. Tr ng u tiên là m t nh danh 16 bit cho m i thông p yêu c u. 16 bít nh anh này c ghi l i vào thông p tr l i, cho phép client xác nh c y là câu tr l i cho thông p yêu c u nào. Có nhi u c trong tr ng c (m i c ng v i m t bit).c truy v n (query/reply flag) xác nh thông p là yêu c u (0) hay là tr l i (1). C authoritiative c t trong thông p tr l i khi name server 1à authoriative name server c a tên máy tính c n xác nh a ch IP. C mong mu n quy (recursive-desired query) c t khi client (máy tính hay name server ) mong mu n name server th c hi n truy v n quy khi nó không có b n ghi ó. C ch p nh n quy (recursion-available flag) c t trong thông p tr l i n u name server ó h tr quy. Trong ph n tiêu Trang 91

99 c ng có 4 tr ng s l ng, các tr ng này xác nh s l ng các b n ghi trong 4 ph n d li u sau ph n tiêu Ph n câu h i (Question session) ch a thông tin v câu h i c t o ra. Nó bao g m (1) tr ng tên ch a tên ang c h i và (2) tr ng ki u xác nh ki u câu h i cho tên máy tính ó (Ki u A cho tên máy tính, ki u MX cho mail server). Trong thông p tr l i t server name, ph n tr l i (answer section) ch a các b n ghi tài nguyên cho tên c yêu c u tr c ó. Chú ý r ng m i n ghi tài nguyên có 4 tr ng: Type (A, NS, CNAME, MX), Name, Value, TTL. Thông p tr l i có th có nhi u b n ghi tài nguyên vì tên máy tính có th ng v i nhi u a ch IP. c th m quy n (authonty section) ch a các b n ghi c a các authoritative server. c ph tr (additional section) ch a các b n ghi "h u ích" khác. Ví d tr ng tr l i trong thông p tr l i m t truy v n MX s ch a tên y c a mail server có tên bí danh t trong Name. Ph n ph tr có th có m t b n ghi ki u A cung c p a ch IP cho chính mail server ó. Các ph n trên mô t cách th c l y d li u trong c s d li u DNS. V y làm th nào a c d li u vào c s d li u? Cho t i g n ây, n i dung a server DNS c c u hình t nh, ví d, thông qua file c u hình c ng i qu n tr h th ng t o ra G n ây, l a ch n UPDATE c a vào giao th c DNS cho phép d li u c t ng thêm vào hay xoá b kh i c s d li u thông qua thông p DNS. RFC 2136 c t quá trình c p nh t ng c a DNS. Có th xem thêm chi ti t trong [DNSNET 1999] hay [BIND 1999] Trang 92

100 Ch ng 3: NG GIAO V N I. D CH V VÀ NGUYÊN T C C A T NG GIAO V N m gi a t ng ng d ng và t ng m ng, t ng giao v n là t ng trung tâm trong ki n trúc phân t ng v i nhi m v cung c p d ch v truy n thông gi a các ti n trình ng d ng ch y trên các máy tính khác nhau. Ch ng này nghiên u t t c d ch v c a t ng giao v n c ng nh các nguyên t c c b n th c hi n u này theo nhi u cách ti p c n khác nhau. Chúng ta s xem các d ch này c tri n khai trong các giao th c nh th nào. T ng giao v n c a Internet có hai giao th c quan tr ng là TCP và UDP. Hai ch ng tr c ã nói v vai trò và nh ng d ch v mà t ng giao v n cung c p v y cho n bây gi, chúng ta ã bi t gì v t ng giao v n? Hình 3.1 T ng giao v n cung c p d ch v truy n thông logic cho các ti n trình ng ng Trang 93

101 Giao th c t ng giao v n cung c p m t kênh truy n logic ( o) gi a các ti n trình ng d ng ch y trên máy tính khác nhau. G i là logic vì không t n i m t ng truy n v t lý th c s gi a hai ti n trình. Các ti n trình ng ng s s d ng ng truy n o này trao i thông p mà không ph i n tâm v c s h t ng c a môi tr ng v t lý th c s. Hình 3.1 minh h a u này. Trên hình 3.1, t ng giao v n n m trên các thi t b u cu i ch không ph i các Router ho t ng t ng m ng. phía g i, th c th giao v n chèn thông p mà nó nh n c t ti n trình ng d ng vào các 4-PDU (là n v d li u c a giao th c t ng giao v n - Protocol Data Unit). Công vi c c th c hi n b ng cách chia thông p thành nhi u n nh, b sung vào u m i n tiêu c a t ng giao v n o ra gói d li u c a t ng giao v n (4-PDU). Sau ó t ng giao v n truy n gói li u (4-PDU) xu ng t ng m ng, t i ây m i gói này c t trong gói d li u c a t ng m ng (3-PDU). phía nh n, t ng giao v n nh n gói d li u t ng m ng, lo i b ph n tiêu c a gói d li u 4-PDU, ghép chúng l i thành t thông p hoàn ch nh và chuy n cho ti n trình ng d ng nh n. Trên m ng máy tính có th có nhi u giao th c ho t ng t ng giao v n. i giao th c có th cung c p các d ch v v i ch t l ng khác nhau cho ng ng. t c giao th c t ng giao v n u cung c p d ch v n kênh (multiplex) và phân kênh (demultiplex), u này s nói c th trong các ph n sau. Nh ã nói trong ph n 2.1, ngoài d ch v d n kênh/phân kênh, t ng giao v n còn có th cung c p các d ch v khác cho ti n trình ng d ng nh truy n d li u tin c y, m b o b ng thông hay gi i h n tr. 1. Quan h gi a t ng giao v n và t ng m ng. ng giao v n n m trên t ng m ng. N u giao th c t ng giao v n cung p ng truy n logic gi a các ti n trình ch y trên các máy tính khác nhau, thì giao th c t ng m ng cung c p ng truy n gi a các máy tính. m khác bi t nh này tuy khó nh n bi t nh ng r t quan tr ng, xét ví d d i ây. Gi s có hai nhà: m t b bi n phía ông, m t b bi n phía tây n c, trong m i nhà có 12 a tr là anh em h v i nhau. Hàng tu n chúng trao i th cho nhau, m i th c t trong m t phong bì riêng và c d ch v u chính g i i theo a ch ghi trên phong bì. Hàng tu n m i nhà s nh n 144 lá th t nhà bên kia (b n tr có th ti t ki m c ti n n u chúng s Trang 94

102 ng ). m i nhà có m t a tr ch u trách nhi m thu th p và phân phát th - Ann trong nhà phía tây, Bill trong nhà phía ông. M i tu n, Ann y th t b n tr trong nhà mình và chuy n cho nhân viên b u c c - ng i th ng xuyên ghé qua nhà l y và chuy n th. Khi nh n th t nhân viên u tá, Ann chuy n ti p th cho ng i nh n. Bill c ng s th c hi n công vi c ng t nh v y. Trong ví d trên, d ch v b u chính cung c p ng truy n logic gi a hai nhà - chuy n th t nhà này n nhà kia, ch không ph i t ng i này n ng i kia. Còn Ann và Bill cung c p ng truy n logic gi a t ng ng i trong hai nhà. i v i l tr, Ann và Bill là d ch v chuy n th m c dù Ann và Bill ch là m t ph n (ph n u mút) c a c h th ng chuy n th. Qua ví d này ta hi u c quan h gi a t ng giao v n và t ng m ng: Máy tính (hay thi t b u cu i) = Ngôi nhà. Ti n trình = T ng ng i trong ngôi nhà. Thông p ng d ng = Th trong phong bì. Giao th c t ng m ng = D ch v b u chính (g m nhân viên b u chính). Giao th c t ng giao v n = Ann và Bill. Trong ví d trên, Ann và Bill th c hi n công vi c phân phát th t i chính ngôi nhà c a chúng, nh ng không th c hi n nh ng vi c nh s p x p th t i các b u c c (và các tr m trung chuy n trên ng i) hay g i th t b u c c này t i b u c c khác. T ng t, giao th c t ng giao v n ch ho t ng các thi t b u cu i. T i thi t b u cu i, giao th c t ng giao v n chuy n d li u ti n trình ng d ng xu ng t ng m ng và ng c l i nh ng không bi t thông p c truy n i nh th nào trong t ng m ng. Trên hình 3.1, các router không x lý b t k thông tin tiêu nào mà t ng giao v n chèn vào bên c nh thông p ng d ng. Gi s Ann và Bill i v ng, Susan và Harvey làm thay. Nh ng th t áng ti c hai a tr này còn quá nh, không làm vi c c c n th n nh Ann và Bill. Chúng làm m t th. T ng t nh v y, m ng máy tính có th có nhi u giao th c giao v n, m i giao th c cung c p các d ch v v i ch t l ng khác nhau cho ch ng trình ng d ng. ch v mà Ann và Bill cung c p ph thu c vào d ch v c a b u n. Ví d n u b u n không m b o th i gian chuy n th gi a hai nhà thì Ann và Bill c ng s không m b o c th i gian chuy n th gi a hai ng i trong hai nhà. T ng t, d ch v c a giao th c t ng giao v n cung c p s ph Trang 95

103 thu c vào d ch v c a t ng m ng bên d i. N u giao th c t ng m ng không m b o th i gian tr hay m b o v b ng thông cho gói d li u 4-PDU trong quá trình g i gi a các máy tính, thì giao th c t ng giao v n c ng không th cung c p nh ng dich v ó khi g i thông p gi a các ti n trình ng ng. Tuy nhiên, t ng giao v n v n có th cung c p nh ng d ch v mà t ng ng không cung c p c. Nh ng dich v nh th c nghiên c u ngay trong ch ng này, ví d giao th c t ng giao v n cung c p d ch v truy n d li u tin c y cho t ng ng d ng ngay c khi t ng m ng không áng tin c y - làm m t, g i l i hay g i trùng l p d li u. M t d ch v khác s nghiên c u trong ch ng 7 (An ninh m ng) là kh n ng mã hoá thông p c a t ng giao n m b o thông p không b c tr m, trong khi t ng m ng không th c hi n c u này. 2. T ng quan v t ng giao v n trong Internet. Trong m ng Internet hay m ng TCP/IP nói chung có hai giao th c t ng giao v n: UDP và TCP. UDP (User Datagram Protocol) cung c p d ch v truy n không tin c y và không h ng n i và TCP (Transmission Control Protocol) cung c p d ch v tin c y và h ng n i cho ng d ng. Ng i thi t k ng d ng ph i l a ch n m t trong hai giao th c trên cho ng d ng c a mình. n gi n, trong mô hình Internet ta coi 4-PDU là m t segment. Tuy y, nh ng trong các khuy n ngh RFC thì 4-PDU c coi là segment i i TCP và datagram i v i UDP. Nói chung thu t ng datagram th ng s ng i cho PDU t ng m ng nh ng trong m t quy n sách nh p môn nh th này, nói chung ít x y ra nh m l n khi s d ng thu t ng segment cho c TCP PDU và UDP PDU. Tr c khi ti p t c, chúng ta nói qua v t ng m ng c a Internet (T ng ng s c nghiên c u chi ti t trong ch ng 4). Giao th c c a t ng m ng là IP (Internet Protocol). IP cung c p ng truy n 1ogic gi a các máy tính và mô hình d ch v c a nó theo ki u g ng t i a (best effort delivery service). Ngh a là IP c g ng g i các segment gi a các máy tính - hay thi t b u cu i khác nhau, nh ng không m b o u này. Nói c th h n, IP không m b o v th t truy n, v tính toàn v n c a d li u trong segment. Chính vì th ng i ta xem IP là d ch v không tin c y. M i máy tính có m t a ch IP xác nh. Trong ch ng này ta ch c n bi t r ng m i máy tính ph i có m t a ch IP xác nh duy nh t. Trang 96

104 Nhi m v chính c a UDP và TCP là m r ng d ch v IP - truy n d li u gi a hai thi t b u cu i - thành d ch v truy n d li u gi a hai ti n trình ch y trên thi t b u cu i. Vi c m r ng t truy n d li u gi a các máy tính (host-to-host) n truy n d li u gi a các ti n trình (process-to-process) c i là quá trình d n kênh (multipiex) và phân kênh (demuitip/ex). V n này nghiên c u ph n sau. UDP và TCP ki m soát tính toàn v n (hay tính úng n) c a d li u nh tr ng phát hi n l i t trong tiêu gói d li u. UDP ch cung c p d ch v phân ph i d li u gi a hai ti n trình và ki m tra i. T ng t IP, UDP là d ch v không tin c y, không m b o d li u c truy n i m t cách úng n gi a các ti n trình. UDP c th o lu n k trong ph n 3.1. Ngoài phân kênh, d n kênh, TCP còn cung c p m t s d ch v khác cho ng d ng. D ch v u tiên và quan tr ng nh t là truy n d li u tin c y (reliable data transfer). Các c ch u khi n l u l ng, ánh s th t, s th t biên nh n, b nh th i s giúp TCP m b o d li u c truy n t ti n trình g i n ti n trình nh n chính xác và úng th t. Nh v y giao th c TCP ã bi n d ch v truy n không tin c y gi a các thi t b u cu i (IP) thành ch v truy n d li u tin c y gi a các ti n trình. Giao th c cung c p d ch v truy n d li u tin c y và ki m soát t c ngh n t ph c t p. Các ph n t 3.4 n 3.8 trình bày nguyên t c chung c a các d ch trên và giao th c TCP. Cách ti p c n c a ch ng này là gi i thi u xen k các nguyên lý c b n v i giao th c TCP. Ví d chúng ta nói t ng quan cách th c cung c p d ch v truy n d li u tin c y sau ó m i nghiên c u TCP th c hi n u này nh th nào. Chúng ta s b t u b ng công vi c d n kênh/phân kênh v i d li u t t ng ng d ng. II. D CH V D N KÊNH, PHÂN KÊNH Ph n này chúng ta s nghiên c u v công vi c d n kênh và phân kênh trong m ng. n gi n, chung ta ch nói n các d ch v c a t ng giao v n trong mô hình Internet. Tuy nhiên c n nh n m nh r ng - ây là d ch v c n thi t i v i t t c các mô hình k t n i m ng. c dù d n kênh/phân kênh không ph i là m t trong nh ng d ch v quan tr ng nh t c a t ng giao v n, nh ng nó c c k c n thi t. hi u t i sao nh v y, ta th y r ng IP truy n d li u gi a hai thi t b u cu i, m i thi t b có m t a ch IP nh t nh. IP không truy n d li u gi a các ti n trình ng ng ch y trên các máy tính. M r ng vi c g i - t máy tính n máy tính - i t ti n trình n ti n trình là công vi c d n kênh và phân kênh. Trang 97

105 i máy tính nh n, t ng giao v n nh n gói d li u (hay còn g i là segment) t t ng m ng ngay phía d i và có trách nhi m g i d li u trong segment này t i ti n trình ng d ng thích h p trên máy tính. Gi s lúc nào ó máy tính c a b n ang t i trang Web xu ng, ch y m t phiên FTP và hai phiên Telnet cùng m t lúc. Nh v y b n ang ch y 4 ti n trình ng d ng: 2 ti n trình Telnet, 1 ti n trình FTP, và 1 ti n trình HTTP. Khi t ng giao v n trong máy tính c a b n nh n c d li u t t ng m ng chuy n lên, nó ph i i d li u trong ó t i 1 trong 4 ti n trình trên. Vi c ó di n ra nh th nào? i segment c a t ng giao v n có tr ng xác nh ti n trình nh n d li u. T ng giao v n bên nh n s s d ng tr ng này xác nh rõ ti n trình nh n và g i d li u trong segment t i ti n trình ó. Công vi c chuy n d li u trong segment t i úng ti n trình ng d ng c g i là phân kênh. T i thi t b i, t ng giao v n nh n d li u t nhi u ti n trình ng d ng khác nhau, t o segment ch a d li u cùng v i m t s thông tin tiêu và cu i cùng chuy n segment xu ng t ng m ng. Quá trình trên c g i là d n kênh. Hình 3.2 minh ho c hai quá trình. Application-layer data Segment header Hn Ht M segment P1 M Application Transport Network Reveive P3 P4 M M Application Transport Network P2 M Application Transport Network Hình 3.2 D ch v d n kênh, phân kênh hi u rõ h n v d ch v d n kênh, ta quay l i ví d tr c. M i a tr c xác nh qua tên. Khi Bill nh n c th t ng i a th, c u bé s th c hi n quá trình phân kênh b ng cách c tên trên phong bì th chuy n cho úng ng i nh n. Còn Ann th c hi n quá trình d n kênh khi thu th p th m i ng i và chuy n cho ng i a th. UDP và TCP th c hi n vi c d n kênh và phân kênh nh hai tr ng c bi t u segment: tr ng nh danh c ng ti n trình g i (ngu n - source port number) và tr ng nh danh c ng ti n trình nh n ( ích - destination port Trang 98

106 number). Hai tr ng này c minh h a trên hình 3.3. Chúng xác nh m t ti n trình ng d ng duy nh t ch y trên máy tính. T t nhiên UDP và TCP còn có nhi u tr ng khác mà chúng ta s nghiên c u sau. Khái ni m s hi u c ng ã c gi i thi u qua trong ph n Nó là m t con s 16 bit, nh n giá tr t 0 t i Các giá tr t 0 n 1023 là các giá tr c bi t và c s d ng h n ch, t c là ch cho các ng d ng thông d ng nh HTTP, FTP s d ng. HTTP s d ng c ng 80, FTP s d ng ng 21. Danh sách các c ng thông d ng có th tham kh o trong RFC Khi xây d ng m t ng d ng m i, ph i xác nh s hi u c ng cho ng d ng này. i ng d ng ch y trên thi t b u cu i có s hi u c ng nh t nh. B i y v n t ra là t i sao m i segment t ng giao v n u có tr ng s hi u ng ngu n và ích. M t thi t b u cu i có th ch y ng th i hai ti n trình cùng ki u, nh v y s hi u c ng ích ch a phân bi t các ti n trình. Gi Web server ch y ti n trình HTTP x lý các thông p yêu c u; khi Web server ph c v nhi u yêu c u cùng m t lúc ( u này h t s c thông th ng) thì server s ch y nhi u ti n trình trên c ng 80. g i d li u n ti n trình nh n, ph i xác nh s hi u c ng c a phía g i (c ng ngu n). source port# 32 bits dest port# Other header fields Application data (message) Hình 3.3 Tr ng a ch ti n trình g i, ti n trình nh n trong gói d li u segment ng ngu n c t o ra nh th nào? Nh n giá tr bao nhiêu? tr l i câu h i này hãy nh l i r ng ng d ng m ng s d ng ki n trúc khách hàng ng i ph c v. Thông th ng máy tính nào kh i u tr c óng vai trò client, máy tính kia óng vai trò server. Xét ví d m t ti n trình ng d ng có hi u c ng là 23 (s hi u c ng c a ng d ng Telnet server). Hãy quan sát segment t ng giao v n khi r i client (là máy tính ch y ch ng trình Telnet client) chuy n t i server. S hi u c ng ngu n và ích c a segment này là bao nhiêu? S hi u c ng ích chính là s hi u c ng ti n trình nh n Còn s hi u c ng ngu n - phía client - là m t giá tr ch a c s d ng b i ti n trình nào, c ph n m m giao v n ch y trên máy tính client xác nh t Trang 99

107 ng. Gi s phía client ch n s hi u c ng là x thì m i segment c g i t i ng d ng Telnet có c ng ngu n là x, c ng ích là 23. Khi segment t i, server n c vào s hi u c ng chuy n d li u trong segment t i úng ti n trình ng d ng nh n. C ng ích 23 xác nh ti n trình Telnet, c ng ngu n x xác nh m t ti n trình g i c th. Segment truy n t server t i client s ng c l i. C ng ngu n bây gi s là c ng c a ng d ng có giá tr 23, còn c ng ích s là x (là s hi u c ng ngu n trong segment g i t client t i server). Khi segment t i, client c ng s n c vào s hi u c ng ngu n và ích g i d li u trong segment t i úng ti n trình ng d ng. Hình 3.4 minh ho quá trình trên. Host A source port: x dest port: 23 Server B source port: 23 dest port: x Hình 3.4 S d ng s hi u c ng ngu n và c ng ích trong trình ng d ng khách/ch Chuy n gì x y ra n u có hai client khác nhau cùng thi t l p phiên làm vi c t i m t server và m i client u ch n c ng ngu n là x? u này r t d y ra v i nh ng Web server có nhi u ng i truy c p, ph i ph c v nhi u yêu u. Bên server ph i phân kênh segment nh th nào khi hai phiên làm vi c có cùng c p s hi u c ng? Khi ó server ph i s d ng a ch IP trong gói d li u IP (datagram) ch a segment. Trên hình 3.5, máy C có hai phiên làm vi c và máy A có m t phiên làm vi c HTTP t i cùng server B. C ba máy A, B, C u có a ch IP phân bi t l n l t là A, B, C. Máy C s d ng hai c ng ngu n (x,y) khác nhau cho hai k t n i HTTP t i B. A ch n s hi u c ng ngu n c l p v i C nên nó có th gán c ng ngu n x cho k t n i HTTP c a mình. Tuy nhiên máy ch B v n có th th c hi n phân kênh hai gói segement có c p c ng gi ng nhau do a ch IP ngu n khác nhau. Tóm l i, bên nh n s ng c ba giá tr ( a ch IP ngu n, s hi u c ng ngu n, s hi u c ng ích) xác nh ti n trình ng d ng nh n. Sau khi xem xét t ng giao v n th c hi n vi c d n kênh và phân kênh các ti n trình ng d ng nh th nào, chúng ta s nghiên c u m t trong các giao th c giao v n c a Internet - UDP. Trong ph n này chúng ta s th y ngoài hai Trang 100

108 ch v d n kênh và phân kênh, UDP g n nh không cung c p các d ch v khác. WWW Client Host C source IP: C dest IP: B source port: y dest port: 80 source IP: C dest IP: B source port: x dest port: 80 WWW Client Host A source IP: A dest IP: B source port: x dest port: 80 WWW Server B Hình 3.5 Hai client cùng s hi u c ng ích truy n thông v i cùng m t server II. UDP - GIAO TH C KHÔNG H NG N I Trong ph n này ta s nghiên c u c ch ho t ng c a UDP. c gi c n nh l i khái quát v d ch v UDP trình bày trong ph n 2.1, và quá trình t o socket UDP trong ph n 2.7. n s làm gì n u mu n xây d ng m t giao th c giao v n c c k n gi n - m t giao th c giao v n "r ng"? Khi ó, th c th giao v n phía g i nh n thông p t ti n trình ng d ng và chuy n xu ng t ng m ng; th c th giao n phía nh n chuy n thông p t ng m ng a lên t i ch ng trình ng ng t ng ng. T ng giao v n cung c p d ch v d n kênh/phân kênh chuy n li u n t t ng m ng t i úng ti n trình ng d ng nh n. UDP c t trong RFC 768 là giao th c giao v n c c k n gi n. Bên nh ch c n ng d n kênh/phân kênh, UDP có thêm c ch phát hi n l i n gi n.có th nói n u s d ng UDP thì g n nh ng d ng làm vi c tr c ti p v i ng m ng IP. UDP l y thông p t ti n trình ng d ng, chèn thêm m t s tr ng tiêu, trong ó có hai tr ng a ch c ng ngu n và ích cho d ch v n kênh/phân kênh t o nên gói d li u segment. Gói segment sau khi t o ra c a xu ng t ng m ng. T ng m ng t segment này trong gói d li u IP datagram và c g ng g i gói IP datagram t i máy tính nh n. N u segment i úng n i nh n UDP s d ng s hi u c ng và a ch IP c a ti n trình nh n Trang 101

109 truy n d li u trong segment t i úng ti n trình ng d ng nh n. Chú ý UDP không òi h i th c th bên g i và bên nh n ph i liên k t tr c khi trao i d li u. Vì th UDP c xem là d ch v không h ng n i hay không liên t tr c (connectionless). DNS là m t giao th c t ng ng d ng ch y trên n n UDP. Khi mu n t o ra m t truy v n, DNS xây d ng thông p truy v n DNS, chuy n thông p i socket (xem l i ph n 2.7). UDP b sung m t s tr ng vào u m i thông p t o nên UDP segment r i g i segment này xu ng t ng m ng. T ng ng s óng gói UDP segment này trong IP datagram và g i datagram t i ích (name server). Sau ó, DNS bên g i i tr l i. N u không nh n c câu tr l i ( u này có th x y ra khi các t ng d i làm m t thông p yêu u hay thông p tr l i) thì DNS g i l i yêu c u ho c báo cho ng d ng bi t là không nh n c câu tr l i. Các c t DNS cho phép DNS ch y trên n TCP nh ng trong th c t DNS th ng ch y trên UDP. So v i UDP, TCP có v có nhi u u m h n: TCP cung c p d ch v truy n d li u tin c y trong khi UDP không làm c. Tuy nhiên trên th c t nhi u ng d ng phù h p v i UDP h n. Không có giai n thi t l p k t n i: TCP s d ng c ch "b t tay" ba b c tr c khi b t u truy n d li u th c s. UDP không c n c ch này tr c khi truy n d li u. Vì th UDP s không ph i ch u th i gian tr thi t l p ng truy n. ây chính là nguyên nhân DNS ch y trên UDP ch không ph i là TCP. DNS s ch y ch m n u s ng TCP. HTTP s d ng TCP vì các i t ng Web c n c t i v chính xác - do ó yêu c u m t ng truy n tin c y. Nh ng nh ã trình bày trong ph n 2.2, giai n thi t l p ng truy n trong TCP gây nên m t th i gian tr cho HTTP (tình tr ng "world wide wait"). Không duy trì tr ng thái k t n i. TCP ghi nh tr ng thái k t n i trên th ng u cu i. Tr ng thái k t n i bao g m vùng m (buffer) c a bên nh n và bên g i, các tham s ki m soát t c ngh n, s tu n t phát và s biên nh n. Nó giúp TCP tri n khai d ch v truy n tin tin c y và ch ki m soát t c ngh n. Trong ph n 3.5 ta s hi u ý ngh a các tr ng thái này. UDP không ph i l u gi nh ng thông tin nh v y. Do ó n u phía server s d ng UDP thì có kh n ng ph c v ng th i nhi u client h n. Tiêu gói d li u nh : Tiêu c a TCP segment là 20 bytes trong khi UDP ch có 8 bytes. Trang 102

110 Không ki m soát t c g i. TCP có c ch ki m soát t c ngh n, u ch nh t c g i khi x y ra t c ngh n. C ch u ch nh này có th nh h ng t i nh ng ng d ng th i gian th c - là nh ng ng d ng ch p nh n m t mát d li u (trong ph m vi nào ó) nh ng l i òi h i ph i có m t t c truy n t i thi u. T c truy n d li u c a UDP ch gi i h n b i t c sinh d li u c a ng d ng, kh n ng máy tính ngu n (CPU, t c ng h ), và t c truy c p m ng. Chú ý r ng bên nh n không nh t thi t ph i nh n toàn b d li u. Khi m ng b t c ngh n, m t ph n d li u có th b m t do tràn vùng m router. T c nh n có th b gi i h n do t c ngh n ngay c khi t c g i không gi i h n. ng d ng Giao th c t ng ng d ng ng giao v n t ng ng Th n t SMTP TCP Truy c p t xa Telnet TCP Web HTTP TCP Truy n file FTP TCP File server NFS th ng là UDP a ph ng ti n Ph thu c hãng s n xu t th ng là UDP n tho i qua Internet Ph thu c hãng s n xu t th ng là UDP Qu n lý m ng SNMP th ng là UDP nh tuy n RIP th ng là UDP Tên mi n DNS th ng là UDP Hình 3.6 li t kê m t s ng d ng ph bi n và giao th c giao v n c a chúng. , truy c p t xa, Web và truy n file ch y trên n n TCP vì chúng n n d ch v truy n d li u tin c y. Tuy nhiên có m t s ng d ng khác thích h p v i UDP h n TCP. Giao th c c p nh t b ng nh tuy n RIP (s h c trong ch ng 4) s d ng UDP, b i vì vi c c p nh t c th c hi n nh k (th ng kho ng 5 phút m t l n), cho nên dù c p nh t b m t nh ng s có c p nh t m i sau m t kho ng th i gian ng n. UDP c s d ng g i d li u qu n tr m ng (SNMP; xem ch ng 8). Trong tr ng h p này UDP thích h p n TCP vì các ti n trình qu n tr m ng th ng ho t ng khi m ng có s c không th truy n d li u chính xác hay c ch ki m soát t c ngh n không làm vi c. DNS s d ng UDP, do ó có th tránh c th i gian tr c a giai n thi t l p k t n i. Trang 103

111 Ngày nay UDP th ng c các ng d ng a ph ng ti n nh n tho i Internet, h i th o t xa, các ng d ng th i gian th c s d ng. Nh ng ng d ng ó c th o lu n chi ti t trong ch ng 6. Các ng d ng nh th có th ch p nh n m t mát, l i trên m t ph n d li u, vì th truy n d li u tin c y không ph i là tiêu chí quan tr ng nh t ánh giá s thành công c a ng d ng. n n a các ng d ng th i gian th c nh n tho i Internet và h i th o t xa không thích ng c v i c ch ki m soát t c ngh n c a TCP. Do ó các ng d ng a ph ng ti n và th i gian th c th ng l a ch n UDP t ng giao n. Hi n nay m c dù ã tri n khai trong th c t, song vi c các ng d ng a ph ng ti n s d ng UDP gây ra nhi u tranh cãi. Nh nói trên, UDP không ki m soát c t c ngh n nên m ng r t d b t c ngh n - khi ó ch r t ít thông tin c chuy n. N u t t c m i ng i u xem phim tr c tuy n thì các gói tin s b tràn b m các router - và khi ó thì ch ng ai xem c gì c. Thi u c ch ki m soát t c ngh n có th s là m t vân nghiêm tr ng i i UDP. Ng i ta ã a ra nhi u c ch òi h i t t c các th c th - k c UDP - th c hi n m t c ch ki m soát l u l ng thích nghi [Mahdavi Floyd 2000]. Tr c khi trình bày v c u trúc UDP segment, c n chú ý r ng tuy s ng UDP nh ng ng d ng v n có th có m t ng truy n tin c y. u này c th c hi n b ng cách m b o tính tin c y ngay trong b n thân ng d ng (b ng các c ch ánh s th t, truy n l i). Công vi c này s làm ng d ng ng k nh và ph c t p. Tuy nhiên u m là ng d ng có th truy n thông tin c y v i t c không b c ch ki m soát t c ngh n c a TCP kh ng ch. Ngày nay m t s ph n m m chuyên d ng a ph ng ti n s d ng c ch ánh th t và truy n l i ngay trong ch ng trình ng d ng gi m b t vi c t d li u [Rhee 1998] 1. C u trúc c a UDP segment. u trúc UDP segment, c t trong RFC 768 c minh ho trên hình 3.7. D li u c a ng d ng n m trong tr ng d li u c a UDP datagram. Ví d i v i DNS, tr ng d li u ch a thông p yêu c u hay thông p tr l i. Tiêu UDP có b n tr ng, l n m i tr ng là hai byte. Nh ã nói phân tr c, s hi u c ng cho phép thi t b g i chuy n d li u t i úng ti n trình ch y trên thi t b nh n (ch c n ng phân kênh). Tr ng Checksum c bên nh n s d ng ki m tra trong segment có l i hay không. Trên th c t, k c tiêu c a gói d li u IP c ng c tính checksum. Nguyên t c c b n c a Trang 104

112 ch phát hi n và s a l i c trình bày trong ph n 5.1. Tr ng dài (Length) cho bi t dài (tính theo byte) c a toàn b gói d li u UDP segment - k c ph n tiêu. 32 bits source port# Length dest port# Checksum Application data (message) Hình 3.7 C u trúc gói UDP datagram 2. UDP checksum. UDP checksum c s d ng phát hi n l i. Checksum c tính nh sau: tính giá tr bù m t c a t ng các t 16 bit trong segment, giá tr nh n c c t vào tr ng checksum trong gói d li u UDP segment. Có th tìm hi u ph ng th c tri n khai trong RFC 1071 và hi u qu trên d li u th c trong [Stone 1998 và Stone 2000]. Gi s có ba t 16 bit sau ây: ng hai t u là; ng t th ba vào, ta có: Cách l y bù m t là o 0 thành 1 và 1 thành 0. Vì v y k t qu phép l y bù m t c a là và ó chính là giá tr Trang 105

113 checksum. i phía nh n, t t c b n t (k c checksum) c c ng l i. N u li u không có l i thì t ng nh n c là N u có m t b t nào ó b ng 0 thì ta bi t d li u nh n c có l i. n có th h i t i sao UDP tính checksum - trong khi m t vài giao th c ng liên k t d li u (k c giao th c Ethernet thông d ng) c ng có c ch ki m tra l i. Lý do là ch a ch c t t c các k t n i (link - ng truy n v t lý th c s ) gi a thi t b g i và thi t b nh n u có c ch ki m tra l i - có th t trong các k t n i ó s d ng giao th c không cung c p vi c ki m tra l i. c dù UDP có th phát hi n l i nh ng nó không làm gì khi phát hi n ra l i. Có th nó s lo i b segment b l i, có th nó s chuy n segment b l i cho ng d ng nh n cùng v i m t thông p c nh báo. TCP cung c p ng truy n tin c y - do ó hi n nhiên tri n khai nó ph c p h n UDP r t nhi u. Tr c khi tìm hi u v TCP, trong ph n sau chúng ta trình bày nguyên t c chung xây d ng m t ng truy n tin c y. TCP s áp d ng úng nh ng nguyên t c này khi tri n khai. IV. CÁC NGUYÊN T C TRUY N D LI U TIN CÂY Ph n này trình bày t ng quan d ch v truy n d li u tin c y. D ch v này không ch n m t ng giao v n mà còn có th n m t ng liên k t d li u hay ng ng d ng. Có th nói truy n d li u tin c y là m t trong nh ng v n quan tr ng nh t c a m ng. Trong ph n k ti p v TCP, chúng ta s nghiên u cách th c TCP áp d ng các nguyên t c chung c trình bày ây nh th nào. Hình 3.8 là s c u trúc c a quá trình truy n d li u tin c y. T ng d i cung c p m t d ch v truy n tin c y cho các th c th t ng trên. Trên ng truy n tin c y này, d li u không b l i (bit 0 bi n thành bit 1ho c ng c l i), không b m t và c nh n theo úng th t g i. ây chính là d ch v mà TCP cung c p cho các ng d ng Internet. Trang 106

114 Application layer Sending process Receiver process Data Transport layer Reliable channel rdt_send() Data Reliable data transfer protocol (sending side) Data Reliable data transfer protocol (receiveing side) deliver_data() udt_send() packet packet rdt_rcv() Unreliable channel (a) Provided service (b) Service implementation Hình 3.8 D ch v truy n d li u tin c y: Mô hình và Tri n khai th c hi n công vi c này, ng i ta c n n nh ng giao th c truy n d li u tin c y. Nguyên nhân là t ng phía d i c a giao th c tin c y là không tin y. Ví d TCP là giao th c truy n d li u tin c y n m phía trên giao th c truy n không tin c y (IP) gi a hai thi t b u cu i trên m ng. Trong tr ng p này, n gi n chúng ta coi t ng phía d i là m t ng truy n m i m (point-to-point) không tin c y. Trong ph n này, chúng ta s xây d ng d n giao th c truy n d li u tin y gi a phía g i và phía nh n theo ph c t p t ng d n c a kênh truy n bên i. Hình 3.8b minh ho u này. Th c th g i s nh n d li u t phía trên chuy n xu ng qua hàm rdt-send() ( ây rdt là vi t t t c a "reliable data transfer" và _sent ch rõ ây là phía g i c a giao th c rdt. B c u tiên khi xây d ng m t giao th c nào ó là ch n cho nó m t cái tên nh?) Phía nh n d ng hàm rdt_rcv() l y gói d li u t ng truy n. chuy n d li u lên t ng trên, phía nh n s d ng hàm deliver_data(). Trong ph n này, chúng ta s d ng thu t ng "packet" thay th "segment" v i ý ngh a là n v d li u giao th c - PDU. Ý t ng trình bày trong ph n này không ch áp d ng cho ng giao v n mà còn áp d ng chung cho toàn m ng máy tính, vì th s d ng thu t ng "packet" thích h p h n. Trong ph n này ch nghiên c u tr ng h p d li u truy n theo m t ng t n i g i n n i nh n. Tr ng h p d li u truy n theo hai h ng là t v n không khó v m t lý thuy t nh ng tri n khai c th t ng i ph c t p. M c dù d li u ch c truy n theo m t h ng nh ng các bên truy n thông trong giao th c rdt c n truy n d li u theo c hai h ng (xem Trang 107

115 hình 3.8) b i vì ngoài các gói d li u th c s, chúng còn ph i trao i các gói li u ch a thông tin u khi n. C bên g i và bên nh n u s d ng hàm udt_send() g i d li u n phía bên kia (udt là vi t t t c a unreliable data transfer). 1. Xây d ng giao th c truy n dù li u tin c y. Bây gi chúng ta s t ng b c nghiên c u các giao th c v i ph c t p ng d n cu i cùng i n giao th c truy n d li u không l i. Chúng ta s mô t tr ng thái c a phía nh n và phía g i b ng k thu t máy h u h n tr ng thái (finite state machine - FSM) 1.1. Truy n d li u tin cây trên kênh truy n tin c y hoàn toàn: giao th c rdt 1.0. Giao th c u tiên, n gi n nh t c a ra - rdt 1.0 s d ng kênh truy n tin c y phía d i. Giao th c rdt 1.0 c c k n gi n, FSM c a bên i và bên nh n u ch có m t tr ng thái (xem hình 3.9). M i tên trong s ch s chuy n tr ng thái c a giao th c (m c dù m i FSM trong hình 3.9 ch có t tr ng thái, v n c n n s chuy n tr ng thái quay v chính tr ng thái ). S ki n kích ho t vi c chuy n tr ng thái c t phía trên ng k m ngang, ó là nhãn s ki n. Phía bên d i ng k n m ngang là nh ng hành ng mà th c th ph i th c hi n ngay khi s ki n ó x y ra (th c hi n tr c khi th c th chuy n sang tr ng thái m i). i rdt 1.0, vi c g i n gi n ch là nh n d li u t t ng trên thông qua ki n rdt_send(data), t o ra gói d li u (b ng hành ng make_data (packet,data)) và g i gói d li u (packet) lên kênh truy n. Trên th c t, s ki n rdt_send(data) là k t qu c a m t th t c (ví d khi ng d ng phía trên d ng hàm rdt_send()). phía nh n, rdt nh n gói d li u (packet) t kênh truy n b ng s ki n rdt_rcv(packet), l y d li u ra kh i gói d li u (b ng hành ng extract (packet,data)) và a d li u lên t ng trên. Trên th c t, s ki n rdt_rcv(packet) là k t qu c a m t th t c (ví d khi ng d ng phía trên s ng hàm rdt_rcv()). Trong giao th c n gi n này, không có s khác bi t gi a d li u (data) i gói d li u (packet). Nh v y, t t c packet u c truy n t phía g i cho phía nh n. V i kênh truy n tin c y, phía nh n không c n thi t ph i ph n i cho phía g i vì nó ch c r ng không có chuy n gì x y ra. Chú ý r ng, Trang 108

116 chúng ta ã gi thi t phía nh n có th nh n d li u v i t c phía g i g i. Vì y, phía nh n không c n yêu c u phía g i g i ch m l i. Wait for call from above rdt_send(data) make_pkt(packet,data) udt_send(packet) Wait for call from below rdt_rcv(packet) extract(packet,data) deliver_data(data) (a) rdt1.0: Sending side (b) rdt1.0: Receiving side Hình 3.9 Giao th c cho kênh truy n tin c y hoàn toàn 1.2. Truy n d li u tin cây trên kênh truy n có l i bit: giao th c rdt 2.0. t d ng kênh truy n th c t h n là gói d li u trên kênh truy n có th l i. Th ng bit b l i trên ng truy n v t lý c a m ng. Tuy nhiên, chúng ta v n gi thi t r ng t t c các gói d li u truy n i u n c ích và theo úng th t g i m c dù các bit trong gói d li u có th b l i. Tr c khi ti p t c, hãy xem con ng i trao i v i nhau nh th nào? Gi s b n c m t bài chính t cho ai ó qua n tho i. Thông th ng ng i chép s nói OK sau khi ã nghe, hi u và ghi l i m t câu chính t. N u câu nói c a b n b nhi u, ng i kia nghe không rõ thì h s yêu c u b n nh c l i. Giao th c truy n tin này s d ng ph n h i tích c c (positive acknowledgement) ( OK ) hay ph n h i tiêu c c (negative acknowledgement) ( Please repeat that ). Nh ng thông p u khi n này cho phép bên nh n báo cho bên g i bi t d li u nào c nh n úng, d li u nào b l i và yêu c u truy n l i d li u b l i. Trong m ng máy tính, giao th c truy n tin c y d a trên c ch truy n l i nh v y c g i là các giao th c ARQ (Automatic Repeat request). Các giao th c ARQ c n ph i có ba kh n ng sau x lý trong tr ng p có l i bit: Phát hi n l i (error detection) : là c ch cho phép bên nh n phát hi n c khi nào trong gói d li u có bit b l i. Trong ph n tr c, ta th y UDP s d ng tr ng Internet checksum cho m c ích này. Trong ch ng V, chúng ta s xem xét chi ti t m t s k thu t phát hi n và th m chí có th s a c l i. Còn bây gi chúng ta ch c n bi t r ng nh ng k thu t nh v y yêu c u ngoài vi c g i d li u g c, bên g i còn ph i t o ra và g i kèm m t l ng d li u d th a (nh ng ph Trang 109

117 thu c vào d li u g c). Các bít d th a này c t trong tr ng checksum c a gói d li u rdt 2.0. Ph n h i t phía nh n (receiver feedback): Khi phía g i và phía nh n n m trên các thi t b u cu i khác nhau - có th cách nhau hàng nghìn km, cách duy nh t phía g i bi t c k t qu g i là phía nh n g i thông tin ph n h i thông báo tình tr ng nh n cho phía g i. Báo nh n úng ( ôi khi g i là báo nh n tích c c) ACK và báo nh n sai NAK trong ví d trên chính là các thông tin ph n h i. Giao th c rdt 2.0 yêu c u phía nh n g i ph n h i các thông p ACK hay NAK cho phía g i. Gói d li u ph n h i ch c n s d ng m t bit, ví d giá tr 0 ng v i NAK và giá tr 1 ng v i ACK. Truy n l i (retransmission): gói d li u b l i s c bên g i phát i. Hình 3.10 Giao th c cho kênh truy n có l i bit Trang 110

118 Trong giao th c rdt 2.0, phía g i có hai tr ng thái. tr ng thái th nh t, phía g i i d li u t t ng trên. Trong tr ng thái th hai, phía g i i ph n i ACK ho c NAK t phía nh n. N u nh n c ACK (rdt_rcv(rcvpkt ) && isack(rcvpkt) trong hình 3.10 t ng ng v i s ki n này), phía g i bi t c gói d li u chuy n n ích an toàn, vì v y nó tr v tr ng thái i d li u t ng trên chuy n ti p. N u nh n c NAK, phía g i g i l i gói d li u r i quay l i tr ng thái i ph n h i ACK ho c NAK cho gói d li u v a g i l i. Chú ý r ng khi phía g i trong tr ng thái ch ph n h i (ACK ho c NAK), nó không th nh n thêm d li u t t ng trên a xu ng. Nó ch ch p nh n d li u khi nh n c ACK và chuy n tr ng thái. Phía g i không g i d li u cho n khi nó ch c ch n r ng phía nh n ã nh n úng gói d li u ã g i. Giao th c rdt 2.0 v i hành vi nh v y thu c ki u ng và ch (stop and wait). FSM bên nh n trong giao th c rdt 2.0 ch có m t tr ng thái duy nh t. Khi nh n c gói d li u (packet), phía nh n g i thông p ph n h i ACK ho c NAK, ph thu c vào gói d li u ã nh n có l i hay không. Trong hình 3.10, rdt_rcv (rcvpkt) && corrups(rcvpkt) t ng ng v i s ki n gói d li u nh n c b l i. Giao th c rdt 2.0 v n còn nh c m: chúng ta ch a tính n kh n ng chính gói ACK ho c NAK có l i. (Tr c khi ti p t c b n hãy th ngh cách i ti n giao th c này). Chúng ta c n t o checksum cho chính gói ph n h i (ACK ho c NAK) bên g i (lúc này l i là bên nh n) có kh n ng phát hi n i trong chính gói ph n h i. V n ây là khi nh n c m t gói ph n h i l i - phía g i không th xác nh nó là ACK nay NAK, do ó không xác nh c gói d li u nó g i t i ích có b l i hay không. Trong tr ng h p này, bên g i s ph i làm gì? Có ba gi i pháp x lý ACK ho c NAK b l i: Gi i pháp th nh t, ng i c trong ví d c chính t lúc nãy s làm gì trong tr ng h p này? N u không hi u câu ph n h i "OK" hay Please repeat that thì h có th h i What did you say? (m t d ng thông p u khi n khác). N u nghe c, ng i bên kia s l p l i câu ph n h i. Nh ng chuy n gì x y ra n u chính câu What did you say? có l i. Khi ó phía nh n - do không xác nh c câu có l i ó là m t ph n trong bài chính t hay là yêu c u nh c l i câu ph n h i - nên có th ph n h i l i b ng câu "What did you say?". D nhiên, câu tr l i này c ng có th b l i. Rõ ràng gi i pháp này ã i vào ngõ c t. Trang 111

119 Gi i pháp th hai là thêm vào tr ng checksum m t s bit không nh ng cho phép phía nh n phát hi n mà còn s a c các bit l i. ây hoàn toàn có th là gi i pháp trung gian cho nh ng kênh truy n có l i - nh ng không x lý c tr ng h p toàn b gói d li u (packet) b t. Gi i pháp th ba, phía g i phát l i gói d li u nêu phát hi n l i trong gói ph n h i (ACK ho c NAK). Tuy nhiên, ph ng pháp này có th n n trùng l p d li u (duplicate packet). Phía nh n không bi t c ACK/NAK mà nó g i ph n h i có b l i trên ng truy n không. Vì th nó không xác nh c gói d li u v a nh n c là gói d li u m i hay gói c (s b trùng l p). Gi i pháp n gi n nh t cho v n này (s c áp d ng cho nhi u giao th c, k c TCP) là thêm m t tr ng s th t cho gói d li u (packet), phía i ánh s cho các gói d li u và t giá tr này vào tr ng s th t (sequence number). Phía nh n ch c n ki m tra s th t xác nh gói d li u nh n c là gói m i hay gói truy n l i. V i giao th c stop and wait n gi n, ch c n m t bit s th t. Bên nh n có th xác nh bên g i g i l i gói li u ã g i l n tr c (s th t c a gói d li u nh n c trùng v i s th v i gói d li u nh n c l n tr c) hay gói d li u m i (có s th t khác nhau, t ng lên theo module 2). Vì chúng ta v n gi nh toàn b gói d li u (packet) không b m t trên kênh truy n, nên trong gói ph n h i (ACK/NAK) không c n ch ra s th t c a gói d li u mà chúng biên nh n. Phía g i bi t ng gói ACK/NAK (có th b l i ho c không) là biên nh n cho gói d li u n nh t nó g i. Trang 112

120 Hình 3.11 FSM c a phía g i trong rdt 2.1 Hình 3.12 FSM c a phía nh n Trang 113

121 Hình 3.11 và 3.12 là FSM c a bên g i và nh n trong giao th c rdt 2.1. Trong rdt 2.1, FSM c a bên g i và nh n u có s tr ng thái t ng g p ôi. ó là vì tr ng thái giao th c ph i bi u di n gói d li u c g i (b i bên g i) và gói d li u c i (t i bên nh n) có s th t là 0 hay 1. Chú ý r ng các hành ng trong tr ng thái gói d li u có s th t 0 c g i (phía g i) ho c c mong i (phía nh n) ng c v i tr ng thái gói d li u có s th t 1 c g i hay c i. Giao th c rdt 2.1 s d ng c biên nh n úng (ACK) và biên nh n sai (NAK). NAK c g i khi nh n c gói d li u b l i hay không úng s th t. Chúng ta có th không c n s d ng NAK: thay vì vi c g i NAK, chúng ta g i ACK cho gói d li u cu i cùng ã c nh n úng. N u nh n hai ACK cho cùng m t gói d li u (hi n t ng trùng ACK - duplicate ACK) bên g i xác nh c bên nh n không nh n úng gói d li u sau gói li u ã biên nh n ACK hai l n. TCP s d ng s ki n 3 l n nh n c ACK trùng nhau ( tripie dupiicate ACKs ) kích ho t vi c g i l i rdt 2.2 là giao th c truy n d li u tin c y trên kênh truy n có b t l i không s d ng NAK. Hình 3.13 FSM c a phía g i trong rdt 2.1 Trang 114

122 rdt_send (data) && notcorrupt(rcvpkt) && has_seq0(rcvpkt) extract(rcvpkt, data) deliver_data(data) compute checksum make_pkt (sendpkt, ACK0, checksum) udt_send (sndpkt) rdt_rcv (rcvpkt) && (corrup(rcvpkt) has_seq1(rcvpkt)) udt_send (sndpkt) Wait for 0 from below Wait for 1 from below rdt_rcv (rcvpkt) && (corrup(rcvpkt) has_seq0(rcvpkt)) udt_send (sndpkt) rdt_send (data) && notcorrupt(rcvpkt) && has_seq1(rcvpkt) extract(rcvpkt, data) deliver_data(data) compute checksum make_pkt (sendpkt, ACK, checksum) udt_send (sndpkt) Hình 3.14 FSM c a phía nh n trong rdt Truy n d li u tin cây trên kênh truy n mà d li u bi m t, l i: rdt 3.0. li u trên kênh truy n không nh ng b l i mà còn có th b m t, ây là tình hu ng không ph i không ph bi n trong m ng máy tính ngày nay, k c Internet. Lúc này giao th c c n ph i gi i quy t hai v n : làm th nào phát hi n gói d li u b m t và làm gì khi m t gói d li u. S d ng c ch phát hi n l i nh checksum, s th t, biên nh n ACK và truy n l i gói d li u - ã c phát tri n trong giao th c rdt cho phép chúng ta gi i quy t c v n th hai. gi i quy t v n th nh t, chúng ta c n n m t c ch m i. Có nhi u gi i pháp x lý vi c m t mát d li u. ây chúng ta trình bày gi i pháp l a ch n bên g i là n i phát hi n và x lý vi c m t d li u. Gi s phía g i g i i gói d li u nh ng chính gói d li u ó ho c biên nh n ACK cho nó b m t trên ng truy n. Trong c hai tr ng h p, bên g i u không nh n c biên nh n cho gói d li u ã g i. Gi i pháp c a ra là sau khi i m t kho ng th i gian nào ó mà không nh n c biên nh n ACK (có th gói d li u b m t) thì bên g i s g i l i. Nh ng phía g i ph i i trong bao lâu ch c ch n r ng gói d li u ã m t? Ít nh t phía g i ph i i trong kho ng th i gian gói tin i n c phía nh n, phía nh n x lý gói tin và thông tin biên nh n quay l i. Trong Trang 115

123 nhi u m ng, r t khó d oán và c l c th i gian này. Lý t ng là ph i x lý vi c m t gói tin ngay khi có th, i m t kho ng th i gian dài ng ngh a i vi c ch m tr khi x lý gói tin b m t. Trên th c t, phía g i s ch n m t kho ng th i gian i nào ó, m c dù không m b o ch c ch n là gói tin b t. N u không nh n c ACK trong kho ng th i gian này, bên g i s g i i gói d li u Chú ý r ng, n u gói d li u n tr, phía g i s g i l i gói d li u - ngay c khi gói d li u ó và c ACK u không b m t. u này gây ra trùng l p d li u t i phía nh n. Tuy nhiên, giao th c rdt 2.2 ã có kh ng (nh s th t ) ng n ch n s trùng l p d li u. i v i phía g i, truy n l i là gi i pháp "v n n ng". Phía g i không bi t c gói d li u b m t, gói biên nh n ACK b m t hay ch n gi n là chúng tr. Trong t t c các tr ng h p, hành ng c a nó là gi ng nhau: truy n i. th c hi n c ch truy n l i theo th i gian, m t b nh th i m ng c (countdown timer) c s d ng nh c phía g i th i gian i ã h t. Do y, phía g i ph i có kh n ng (1) kh i t o timer m i khi g i gói d li u (gói li u g i l n u hay gói d li u c truy n l i), (2) ph n ng v i ng t c a timer ( a ra nh ng hành ng thích h p) và (3) d ng timer. trùng l p các gói d li u do phía g i t o ra, s m t mát các gói d li u (c gói d li u l n gói biên nh n) gây khó kh n cho phía g i khi x lý các gói biên nh n ACK. N u nh n c ACK, làm th nào phía g i bi t c ACK ó là biên nh n cho gói d li u g i i g n ây nh t, hay là ACK biên nh n cho gói d li u nào ó ã g i t tr c nh ng n tr? Gi i pháp là ta thêm vào gói ACK tr ng s th t biên nh n (acknowledge number). Giá tr a tr ng này - do phía nh n t o ra - là s th t c a chính gói d li u c n c biên nh n. B ng cách ki m tra giá tr tr ng biên nh n, phía g i có th xác nh c s th t c a gói d li u c biên nh n. Th i gian d ch chuy n theo chi u t trên xu ng. Th i m nh n gói d li u ch m h n th i m g i gói d li u vì tính n th i gian gói d li u lan to trên ng truy n. Trong hình 3.16b-d, ngo c vuông xác nh th i m timer c thi t p và th i m "timeout". Vì s th t c a gói d li u thay i l n l t gi a 0 và 1 nên ôi khi giao th c rdt 3.0 c g i là giao th c m t bit luân chuy n (alternate bit protocol). Chúng ta ã m qua các thành ph n chính cho m t giao th c truy n s li u. Checksum, s th t phát, b nh th i (timer), các gói biên nh n ACK và NAK u c c k c n thi t và óng vai trò quan tr ng trong quá trình ho t ng c a giao th c. n bây gi chúng ta ã có m t giao th c truy n d li u tin c y th c s ho t ng c. Trang 116

124 rdt_rcv (rcvpkt) rdt_rcv (rcvpkt) && notcorrup(rcvpkt) && isnak (rcvpkt, 1) timeout udt_send (sndpkt) start_timer rdt_send (data) compute checksum make_pkt (sndpkt, 0, data, checksum) udt_send (sndpkt) start_timer Wait for call 0 from above Wait for ACK or NAK 1 Wait for ACK or NAK 0 Wait for call 1 from above rdt_rcv (rcvpkt) && (corrup(rcvpkt) isack (rcvpkt,1)) timeout udt_send (sndpkt) start_timer rdt_rcv (rcvpkt) && notcorrup(rcvpkt) && isack (rcvpkt) rdt_rcv (rcvpkt) rdt_rcv (rcvpkt) && (corrup(rcvpkt) isack (rcvpkt, 0)) rdt_send (data) compute checksum make_pkt (sndpkt, 1, data, checksum) udt_send (sndpkt) start_timer Hình 3.15 FSM c a bên g i trong rdt Giao th c truy n d li u tin c y liên t c (Pipeline) c dù ho t ng úng nh ng không ph i ai c ng v a lòng v i hi u su t a rdt 3.0, c bi t trong các m ng cao t c ngày nay. C t lõi v n hi u su t a giao th c rdt 3.0 chính là hành vi d ng và ch (stop and wait). Nguyên c c a giao th c ki u ng và Ch nh sau: sau khi phát m t gói d li u, thi t b phát d ng phát (Stop) ch nh n thông báo tr l i c a thi t b nh n k t qu nh n s li u (wait). N u k t qu nh n t t (biên nh n ACK), bên phát c quy n phát ti p. N u k t qu nh n sai (biên nh n NAK), bên g i i l i gói d li u. Trang 117

125 Sender Receiver Sender Receiver send pkt0 rcv ACK0 send pkt1 rcv ACK1 send pkt0 pkt0 ACK0 pkt1 ACK1 pkt0 ACK0 rcv pkt0 send ACK0 rcv pkt1 send ACK1 rcv pkt0 send ACK0 send pkt0 rcv ACK0 send pkt1 timeout send pkt1 rcv ACK1 send pkt0 pkt0 ACK0 Pkt1 X(loss) pkt1 ACK1 pkt0 ACK0 rcv pkt0 send ACK0 rcv pkt1 send ACK1 rcv pkt0 send ACK0 (a) Operation with no loss (b) lost packet Sender send pkt0 rcv ACK0 send pkt1 timeout send pkt1 rcv ACK1 send pkt0 pkt0 ACK0 pkt1 ACK1 Loss X pkt1 ACK1 pkt0 ACK0 Receiver rcv pkt0 send ACK0 rcv pkt1 send ACK1 rcv pkt1 (Detect duplicate) send ACK1 rcv pkt0 send ACK0 Sender send pkt0 rcv ACK0 send pkt1 timeout resend pkt1 rcv ACK1 send pkt0 pkt0 ACK0 pkt1 pkt1 ACK1 pkt1 ACK1 ACK0 Receiver rcv pkt0 send ACK0 rcv pkt1 send ACK1 rcv pkt1 (Detect duplicate) send ACK1 rcv pkt0 send ACK0 (c) lost ACK (b) Premature timeout Hình 3.16 Ví d ho t ng c a giao th c rdt 3.0 c l c hi u su t c a giao th c stop ang wait, hãy xét tr ng h p lý t ng v i hai thi t b u cu i, m t b bi n phía ông, m t b bi n phía tây n c M. Th i gian tr gi a hai thi t b (dù tín hi u lan truy n v i c ánh sáng) là Pprop X p x 15 ms. Gi s r ng hai thi t b c k t n i ng ng truy n t c C (1 gigabit/s ). Kích th c c a gói d li u SP là 1Kbyte/packet, th i gian c n thi t truy n toàn b gói d li u trên kênh truy n t c 1 Gbps c tính b i công th c: T trans = SP C 8Kbit / packet = = 1Mbit / sec 8 microseconds Trang 118

126 i giao th c stop and wait, n u phía g i b t u g i gói d li u t i th i m t = 0 thì t i th i m t = 8 microsecond, bit cu i cùng m i c bên g i y ra ng truy n. Ti p theo ph i m t 15 ms c gói d li u i t phía g i sang phía nh n nh v y bit cu i cùng c a gói d li u n ích t i th i m t = ms. n gi n, ta gi thi t gói ACK có cùng dài v i gói d li u và phía nh n g i ngay gói ACK khi nh n c bit cu i cùng c a gói d li u. Khi v y bit cu i cùng c a gói ACK c truy n t i ích t i th i m t = ms. Trong kho ng th i gian ms, phía g i ch ho t ng (g i ho c nh n) trong ms. N u nh ngh a Hi u su t (utilization) c a phía g i (hay kênh truy n) là t l th i gian phía g i ho t ng (g i d li u trên kênh truy n), ch ng ta có hi u su t U sender c c th p: U sender = = Hình 3.17 u ó có ngh a là phía g i ch ho t ng trong kho ng 0.15 ph n nghìn th i gian. Theo cách tính khác, phía g i g i 1 Kbyte trong 30,016 milisecond ng ng v i t c truy n là 33 Kbyte/s th p h n nhi u so v i t c có th là 1 Gigabit/s. Ng i qu n tr m ng "b t h nh" này ph i tr m t s ti n kh ng l thuê ng truy n 1 Gigabit/s nh ng cu i cùng ch nh n c t ng truy n có t c 33 Kbyte/s. ây là m t ví d s ng ng minh ho vi c ph n m m có th gi i h n các kh n ng c a ph n c ng phía d i. Trong tr ng h p này ch ng ta ã b qua th i gian x lý c a các giao th c t ng i c phía g i và phía nh n c ng nh th i gian x lý và th i gian tr c a gói tin t i các router trung gian. N u tính c nh ng y u t này, hi u su t ho t ng th c s s còn th p h n n a. Gi i pháp cho v n hi u su t s là cho phép phía g i g i ng th i nhi u gói d li u mà không c n ph i i ACK. Có th hình dung các gói d li u n i ti p nhau trên ng truy n t phía g i n phía nh n gi ng nh c ch y trong m t ng ng. Vì th k thu t g i liên ti p này c g i là thu t ng ng (pipeline). K thu t này làm t ng hi u su t c a giao th c lên nhi u l n, tuy nhiên nó òi h i nh ng yêu c u sau: Trang 119

127 Kho ng s th t ph i t ng, b i vì m i gói d li u c truy n i (không tính các gói d li u truy n l i) ph i có m t s th t duy nh t. Trên ng truy n có th có ng th i nhi u gói d li u c g i ch a c biên nh n. Phía g i và phía nh n có th ph i có b m (buffer) cho nhi u gói d li u. Ít nh t phía g i có vùng m cho các gói d li u ã c truy n i nh ng ch a c biên nh n. Phía nh n c ng có th c n vùng m cho c các gói d li u ã nh n úng, nh s th o lu n d i ây. Yêu c u v kho ng s th t c n thi t c ng nh v vùng m ph thu c vào cách giao th c x lý vi c m t d li u, d li u b l i, b tr. Có hai cách ti p c n chính c trình bày ây: Quay l i N (Go-Back-N) và p l i có a ch n (SesectiveRepeat). 3. Go-Back-N (GBN) Trong giao th c Go-Back-N, phía g i cho phép truy n i ng th i nhi u gói d li u mà không ph i i biên nh n. Tuy nhiên t ng s gói d li u không ph i là vô h n mà b gi i h n b i giá tr N - t ng s gói d li u t i a ch a c biên nh n trong ng ng. Hình 3.18 là kho ng s th t trong giao th c Go-Back-N. nh ngh a base là s th t c a gói d li u ã c truy n i lâu nh t ch a c biên nh n và nextseqnum là s th t nh nh t ch a c s d ng (là s th t c a gói ti p theo s g i). Có b n kho ng s th t nh sau: Kho ng [0,base-1] ng v i s th t c a các gói d li u ã c truy n i và ã c biên nh n. Kho ng [base, nextseqnum-1] ng v i các gói d li u ã c g i i nh ng ch a c biên nh n. Kho ng [nextseqnum, base +N- 1] có th c s d ng làm s th t cho các gói s c g i n u nh có d li u t t ng trên chuy n xu ng. Kho ng t [base+n] tr lên ch a c s d ng cho n khi các gói tin i biên nh n c biên nh n. Trong hình 3.18, kho ng cho phép s th t c a nh ng gói d li u ã c g i nh ng ch a c biên nh n có th xem là m t a s kích th c N n m trong ph m vi s th t. Khi giao th c v n hành, c a s này có th tr trên toàn b kho ng s th t. Vì v y, N th ng c xem là l n a s (window size) và giao th c GBN là giao th c c a s tr t (slidingwindow). T i sao ngay t u chúng ta ph i gi i h n s l ng t i a các gói li u c g i mà ch a c n biên nh n b i giá tr N. T i sao không giá tr N này là vô h n. Chúng ta s th y trong ph n 3.5, ki m soát l u l ng là m t trong nh ng lý do b t bu c ta ph i t gi i h n phía g i. Trang 120

128 Hình 3.18 Kho ng s th t c a bên g i trong giao th c Go-Back-N Trên th c t, s th t c a gói d li u c t trong m t tr ng có dài c nh trong tiêu c a gói d li u. N u k là l n tr ng s th t (tính theo bit) c a gói d li u thì kho ng s th t s là [0,2 k - 1]. Vì kho ng th t b gi i h n, nên t t c các thao tác trên s th t s c th c hi n theo module 2 k (kho ng s th t có th xem là m t vòng tròn v i 2 k giá tr, sau giá tr 2 k -1 là giá tr 0). Giao th c rdt 3.0 ch s d ng 1 bit làm s th t nên kho ng s th t 1à [0,1]. Trong ph n 3.5 chúng ta s th y tr ng s th c a TCP là 32 bit, và TCP ánh s th t n t ng byte - ch không ph i cho các gói. Hình 3.19 FSM m r ng c a bên g i trong GBN Trang 121

129 Hình 3.20 FSM m r ng c a bên nh n trong GBN i là FSM m r ng (extended FSM) vì chúng ta thêm vào các bi n (base và nextseqnum - gi ng nh bi n trong ngôn ng l p trình), các thao tác và hành ng có u ki n liên quan n các bi n này. Trong giao th c GBN, phía g i ph i áp ng ba s ki n sau: Có d liêu t trên chuy n xu ng : khi rdt_send() c phía trên s ng chuy n d li u xu ng, phía g i ph i ki m tra xem c a s ã y ch a (t c là ã có N gói d li u g i i ch a c biên nh n không). N u c a s ch a y, phía g i t o ra và sau ó g i gói d li u ng th i c p nh t các bi n. N u c a s y, phía g i không ch p nh n d li u t t ng trên và thông báo c a s ã y. Khi ó, t ng trên ph i g i l i. Trên th c t, phía g i s a d li u vào vùng m (nh ng ch a g i ngay) ho c có c ch ng b (s d ng semaphore hay c ) ch cho phép t ng ng d ng s d ng rdt_send() khi c a s ch a y. Nhân c m t ACK: trong giao th c GBN, giá tr biên nh n gói tin có s th t n s mang giá tr tích lu, ngh a là toàn b gói d li u có th t nh h n ho c b ng n u ã c phía nh n nh n úng. Chúng ta s quay l i v n này khi xem xét phía nh n trong giao th c GBN. t th i gian i (timeout): tên giao th c - Go-Back-N b t ngu n hành vi c a phía g i khi d li u b m t hay b tr. Gi ng nh trong giao th c stop and wait, timer c s d ng x lý vi c m t gói d li u hay gói ph n h i. Khi h t th i gian i (timeout), phía g i s g i i t t c các gói d li u ã c g i i tr c ó nh ng ch a c biên nh n. Trong hình 3.19, phía g i ch s d ng duy nh t m t timer, có th xem là timer c a gói d li u ã c truy n i lâu nh t nh ng ch a c biên nh n. N u ACK nào ó c nh n nh ng v n còn gói li u g i i ch a c biên nh n thì timer s c kh i ng l i. Trang 122

130 u t t c các gói d li u ã g i u c biên nh n thì có th ng ng timer. Các hành ng c a phía nh n trong giao th c GBN n gi n. N u nh n c úng gói d li u và gói này úng th t thì phía nh n g i ACK cho gói nh n c và chuy n d li u trong gói d li u này bên trên. Trong t t c các tr ng h p còn l i, phía nh n lo i b gói d li u và g i l i ACK cho gói d li u úng th t cu i cùng nó nh n c. Chú ý r ng gói d li u c chuy n lên t ng trên m t l n duy nh t nên n u gói d li u th k c nh n và chuy n lên trên thì ngh a là t t c các gói d li u có s th t nh h n k c ng ã c chuy n lên. S d ng ACK tích lu là s l a ch n tuy t v i cho giao th c GBN. Trong giao th c GBN, bên nh n lo i b gói tin không theo th t. ng nh lãng phí khi lo i b gói tin ã nh n úng nh ng không úng th, nh ng có vài nguyên nhân cho ho t ng trên. Bên nh n ph i chuy n d li u lên t ng trên theo úng th t. Gi s gói tin N ang c i nh n nh ng gói tin th (N+1) l i n tr c. Trong tr ng h p y, d li u chuy n lên h p l, bên nh n có th l u t m gói tin (N+1) và ch chuy n gói tin này bên t ng trên sau khi ã nh n úng gói tin th N. Tuy nhiên theo quy c truy n l i c a bên g i, n u gói tin th N b m t thì gói tin này và c gói tin N+l s c truy n l i. Nh v y, bên nh n có th lo i b gói tin N+1. u m c a gi i pháp này là bên nh n tri n khai vùng m (buffer) n gi n b i không c n l u l i các gói tin không úng th t. N u bên g i ph i ghi nh các n c a c a s (base, base+n) và v trí nextseqnum trong c a s, thì bên nh n ch ph i nh s th t c a gói tin h p l ti p theo. Giá tr này c gi trong bi n expectedseqnum (s th t c mong i). T t nhiên, nh c m c a vi c lo i b gói tin ã nh n úng (nh ng không theo th t ) là khi truy n l i gói tin có th b m t hay l i, do ó ph i truy n i truy n l i nhi u l n. i l n gi i h n, bên g i s ch c g i các gói tin t 0 n 3 nh ng sau ó ph i i biên nh n cho các gói tin này tr c khi ti p t c g i ti p. Khi nh n c các ACK liên ti p nhau (ví d ACK0 và ACK1), c a s s tr t v phía tr c, bên g i có th truy n gói tin m i (l n l t là pkt4 và pkt5). phía bên nh n, gói tin s 2 b m t, do ó gói tin 3,4,5 g i n không theo úng th và b lo i b. i GBN, có m t chú ý quan tr ng là tri n khai GBN t ng t FSM m ng. Hình th c tri n khai bao g m nhi u th t c khác nhau, m i th t c th c hi n m t nhóm các hành ng nào ó áp l i các s ki n khác nhau có th y ra. V i l p trình h ng s ki n (event-based programming), các th t c s Trang 123

131 c các th t c khác g i hay là k t qu c a vi c g i ng t. phía bên g i, s ki n có th là: (1) th c th t ng trên truy n d li u xu ng qua th t c rdt_send() (2) ng t khi th i gian i h t và (3) t ng d i chuy n d li u bên qua hàm rdt_rcv(). Chú ý r ng giao th c GBN k t h p h u h t các k thu t mà chúng ta s p khi nghiên c u n TCP trong m c 3.5: s th t, s biên nh n tích lu, checksum, timeout và vi c truy n l i. Trong th c t, TCP là giao th c "t a" GBN. Tuy nhiên có s khác bi t gi a GBN và TCP. Nhi u phiên b n TCP l u i các segment không theo th t nh n úng [Stevens 1994]. Trong ph ng án nâng c p TCP, s d ng biên nh n có l a ch n [RFC 258] cho phép bên nh n có th biên nh n tu ý m t gói tin không theo th t (ch không s d ng giá tr biên nh n tích lu ). Biên nh n có l a ch n chính là l p giao th c g i liên ti p th hai mà chúng ta s nghiên c u d i ây : p l i có l a ch n (selective repeat - SR). Có th xem TCP là s k t h p c a c hai giao th c GBN và SR. Hình 3.21 Giao th c Go-Back-N trong quá trình ho t ng Trang 124

132 4. Giao th c l p l i có l a ch n (Selective Repeat) Giao th c GBN cho phép bên g i tràn ng truy b ng các gói tin nh trong hình 3.17 và o ó kh c ph c c hi u su t th p c a giao th c stop and wait. Tuy nhiên trong m t vài tình hu ng, chính hi u su t c a giao th c GBN c ng c c th p. Ví d khi kích th c c a s và th i gian truy n m t gói tin l n, có th có nhi u gói tin trên ng truy n. M t gói tin b l i có th khi n GBN ph i truy n l i nhi u gói tin, trong nhi u tr ng h p là không n thi t. N u trong ví d c chính t c a chúng ta, n u m i t b l i ph i c l i kho ng 1000 t ng tr c (kích th c c a s là 1000 t ) thì t c c s r t ch m. úng nh tên g i, giao th c l p l i có l a ch n (SR - Selective Repeat) tránh vi c truy n l i không c n thi t b ng cách bên g i ch g i l i các gói tin mà nó cho là có l i (ho c m t). truy n l i t ng gói tin khi c n thi t, bên nh n c n biên nh n cho t ng gói tin nh n úng. V n s d ng l i kích th c a s là N gi i h n t ng s gói tin ch a c biên nh n trên ng truy n. Tuy nhiên khác v i GBN, bên g i s nh n c biên nh n ACK cho t s gói tin trong c a s. Hình 3.22 Kho ng s th t c a bên g i và bên nh n Trang 125

133 Bên nh n Selective Repeat s biên nh n cho b t k gói tin nh n úng, cho dù không theo úng th t. Gói tin không úng th t v n c l u gi i cho n khi t t c các gói tin còn thi u (gói tin có s th t nh h n) c chuy n n, khi ó t t c các gói tin s c chuy n lên t ng trên theo úng th t. Hình 3.24 tóm t t các ho t ng khác nhau c a bên nh n trong SR. Hình 3.25 là m t ví d ho t ng c a SR trong tr ng h p m t gói tin. Trong hình 3.25, bên nh n s l u gi t m gói tin 3,4 và g i chúng chùng gói tin 2 lên t ng trên khi gói tin hai c chuy n n. 1. D li u nh n c t phía trên Khi nh n c d li u t phía trên, bên g i SR ki m tra s th t s i. N u s th t s g i n m trong c a s g i, d li u c óng gói và g i i, ng c l i thì d li u c l u gi trong b m ho c g i tr lên t ng trên g i sau, gi ng GBN. 2. H t th i gian i - Timeout Timer l i c s d ng phát hi n m t gói tin. Tuy nhiên, m i gói tin i i có m t timer riêng, b i vì ch có duy nh t m t gói tin c g i l i khi h t th i gian i. Có th s d ng ng h h th ng gi vai trò ng cho các timer. 3. Nh n c ACK u nh n c ACK, bên g i ánh d u gói tin ã c chuy n úng. u s th t c a gói tin v a c biên nh n b ng send_base, cánh a s s tr t t i gói tin có s th t nh nh t ch a c biên nh n. u c a s di chuy n và còn các gói tin ch a c truy n thì các gói tin ó s c g i. Hình 3.23 S ki n và ph n ng c a bên g i 1. Nh n úng gói tin v i s th t trong kho ng [rcv_base,rcv_base+n-1. Trong tr ng h p này, gói tin nh n c m trong c a s nh n. Bên nh n g i biên nh n cho gói tin này. N u gói tin ó ch a c nh n t tr c, nó s c ghi l i trong b m. u gói tin ó có s th t b ng v i c n d i c a c a s nh n (rcv_base trong hình 3.22) thì nó cùng các gói tin có s th t liên ti p ã l u gi t tr c (b t u t rcv_base) c chuy n lên t ng trên. a s nh n s tr t v phía tr c m t kho ng b ng v i kho ng s gói tin ã chuy n lên t ng trên. V i ví d trên hình 3.25 khi nh n c gói tin có s th t rcv_base 2 thì gói tin này cùng v i gói tin rcv_base+1 và gói tin rcv_base+2 c chuy n lên t ng trên. 2. Nh n c gói tin v i s th t trong [rcv_base-n,rcv_base- 1].Trong tr ng h p này, g i biên nh n l i cho gói tin (m c dù ã biên nh n t tr c). Trang 126

134 3. Các tr ng h p khác. qua gói tin ó i. Hình 3.24 S ki n và ph n ng c a bên nh n Chú ý r ng trong b c hai, bên nh n ph i biên nh n l i (ch không c b qua) cho gói tin n v i s th t nh h n giá tr biên c a c a s hi n th i. u này h t s c c n thi t. Ví d v i không gian s th t c a bên i và bên nh n trong hình 3.22, n u không nh n c ACK t bên nh n xác nh n gói tin send_base ã c nh n, bên g i s g i l i gói tin send_base, c dù rõ ràng r ng (v i chúng ta, ch không ph i bên g i) bên nh n ã nh n c gói tin ó. N u bên nh n không biên nh n gói tin này, c a s bên g i có th s không bao gi tr t t i phía tr c. Ví d này minh ho m t c m quan tr ng c a giao th c SR (và nhi u giao th c t ng t khác). S xác nh a bên g i và bên nh n v cái gì ã c nh n, cái gì ch a c nh n không ph i luôn luôn gi ng nhau. V i giao th c SR, u này có ngh a là c a s bên i và bên nh n không bao gi trùng kh p nhau. pkt0 sent pkt1 sent pkt2 sent pkt3 sent, widow full ACK0 rcvd, pkt4 sent ACK1 rcvd, pkt5 sent pkt2 TIMEOUT, pkt2 sent ACK3 rcvd, nothing sent X (loss) pkt0 rcvd, delivered, ACK0 sent pkt1 rcvd, delivered, ACK1 sent pkt3 rcvd, delivered, ACK3 sent pkt4 rcvd, buffered, ACK4 sent pkt5 rcvd, delivered, ACK5 sent pkt2 rcvd, pkt2, pkt3, pkt4, pkt5 delivered, ACK2 sent Hình 3.25 SR trong quá trình ho t ng Thi u s ng b gi a c a s bên g i và bên nh n có th gây h u qu nghiêm tr ng khi kho ng s th t nh. Ví d u gì có th x y ra v i Trang 127

135 kho ng s th t là 4, các gói tin c ánh s là 0, 1, 2 và 3, l n c a s là 3. Gi s các gói tin t 0, 1, 2 c truy n i và nh n chính xác t i phía bên nh n. Bên nh n g i biên nh n cho 3 gói tin này. Khi ó, c a s bên nh n ti n lên các gói tin th 4,5 và 6 v i s th t t ng ng là 3, 0, 1. Bây gi xem xét hai tr ng h p. Tr ng h p u tiên, hình 3.26(a), ACK c a 3 gói tin u tiên b m t, bên g i truy n l i các gói tin ó. Khi ó bên nh n nh n c ti p theo gói tin có s th t 0 - l i chính là gói tin 0 u tiên c g i ban u. Sender window (after receipt) pkt pkt pkt2 x Receiver window (after receipt) ACK ACK ACK Timeout x Retransmit pkt0 x pkt0 Receive packet with seq number 0 (a) Sender window (after receipt) pkt pkt pkt pkt pkt0 x (b) Receiver window (after receipt) ACK ACK ACK Receive packet with seq number 0 Hình 3.26 Khi kho ng th t nh : Truy n l i hay gói m i Trong tr ng h p th hai, hình 3.26(b), ACK cho ba gói tin c chuy n i thành công. Nh v y c a s bên g i s tr t v phía tr c và g i i các gói tin 4, 5, và 6 v i s th t t ng ng là 3, 0, 1. N u gói tin v i s th 3 b m t, lúc y gói tin có s th t 0 n, gói tin này ch a d li u m i Trang 128

136 (không ph i gói tin 0 truy n l i). Rõ ràng có m t b c màn ch gi a bên i và bên nh n vì bên nh n không th nhìn th y hành ng t bên g i. Bên nh n ch quan sát c gói tin nào nó nh n c hay g i i. Hai tr ng h p trong là t ng t nhau. Không có ph ng pháp nào phân bi t c gói 0 c truy n l i hay gói 5 c truy n l n u tiên. Rõ ràng n u kích th c c a s nh h n kho ng s th t m t n v thì h th ng không còn làm vi c úng n. Nh ng l n c a s nên là bao nhiêu? Ng i ta ch ng minh c r ng l n c a s ph i bé h n ho c b ng m t n a kho ng s th t v i giao th c SR. Chúng ta gi thi t môi tr ng truy n không tin c y d i d n n vi c các gói tin có th b gi l i trên ng truy n. ây là vi c ít khi x y ra khi kênh truy n gi a phía g i và phía nh n là m t môi tr ng v t lý th c s. Tuy nhiên khi kênh truy n này l i là m t m ng máy tính thì vi c m t gói tin b gi i trên kênh truy n hoàn toàn có th x y ra. H qu c a nó là xu t hi n m t gói tin v i s th t hay s biên nh n là x trong khi c c a s nh n và g i u không ch a x. Trong tr ng h p này, kênh truy n b coi là m t b m, có th tu ý phát m i gói tin b t c th i m nào. Vì s th t có th c s ng l i nên trong m t s tr ng h p s x y ra hi n t ng trùng l p gói tin. Gi i pháp trong th c t là b o m s th t không c s d ng l i cho n khi bên g i có th t ng i ch c ch n v gói tin v i s th t x c g i tr c ây không còn t n t i trong m ng. u này c th c hi n v i gi thi t t gói tin không th n t trong m ng trong m t kho ng th i gian l n n m t kho ng th i gian c nh nào y. Th i gian ng l n nh t c a gói tin x p x là 3 phút v i m ng TCP cao t c [RFC 1323]. [Sunshine 1978] mô ph ng th c s d ng s th t tránh vi c xu t hi n l i gói tin ã c p trên. Trang 129

137 V. TCP - GIAO V N H NG N I Sau khi ã nghiên c u nh ng nguyên lý c b n c a truy n d li u tin y, chúng ta s bàn n TCP - m t giao th c t ng giao v n c a Internet v i c tính h ng n i và tin c y.ch ng ta s th y r ng có th cung c p d ch truy n d li u tin c y, TCP s d ng r t nhi u nguyên lý mà chúng ta ã p n ph n tr c, bao g m c ch phát hi n l i, truy n l i, biên nh n tích lu, timer, tr ng tiêu cho s th t và s biên nh n. TCP c c t trong các khuy n ngh RFC 793, RFC 1122, RFC 1323, RFC 2018, RFC K t n i TCP Ch c n ng d n kênh, phân kênh và phát hi n l i c a TCP gi ng UDP. Tuy nhiên TCP và UDP có nhi u m khác bi t. m khác nhau c b n nh t là UDP không h ng n i còn TCP h ng n i. UDP không h ng n i vì nó có th g i d li u mà không c n ph i thi t l p tr c ng truy n. TCP h ng i vì tr c khi ti n trình ng d ng có th b t u g i d li u t i m t ti n trình khác, hai ti n trình này ph i có th t c t tay v i nhau, ngh a là chúng ph i g i m t s gói segment c bi t xác nh các tham s m b o cho quá trình truy n d li u. Trong giai n thi t l p k t n i TCP, hai bên s kh i t o nhi u bi n tr ng thái TCP cho k t n i. ch s phát tri n c a TCP/IP u nh ng n m 1970, m ng chuy n m ch gói b t u phát tri n nh m, và m ng ARPAnet, ti n thân c a m ng Internet ch la m t trong các ki u m ng nh v y. M i ki n trúc m ng u có giao th c riêng a mình. Hai nhà nghiên c u, Vinton Clef và Robert Kahn, nh n th y m quan tr ng c a vi c k t n i các m ng l i v i nhau, ã cùng nhau phát tri n giao th c liên m ng v i tên g i TCP/IP ( vi t t t c a Transmission Control Protocol/Internet Protocol). M c dù lúc u Vinton Clef, Robert Kahn xem giao th c này là m t th c th duy nh t, nh ng ngay sau ó nó c tách ra làm hai thành ph n riêng bi t, ho t ng c l p v i nhau là TCP và IP. Vinton Clef, Robert Kahn ã công b v TCP/IP vào 5/1974 trong IEEE transacsions on Communications Technology. Giao th c TCP/IP b x ng s ng c a Internet th i nay, c phát minh tr c máy tính cá nhân PC và tr m làm vi c, tr c c s th ng tr a Internet và các công ngh m ng c c b khác, tr c Web, tr c stream audio và h i tho i tr c tuy n. Vinton Clef, Robert Kahn ã nhìn th y s c n thi t c a giao th c m ng, m t m t h tr cho nhi u ki u Trang 130

138 ch ng trình ng d ng (th m chí k c nh ng cái ch a có), m t khác cho phép các máy tính và giao th c t ng liên k t b t k có th làm vi c cung nhau. t n TCP không ph i k t n i hai th c s gi a hai m u mút (end-to-end) gi ng nh m ch TDM hay FDM trong m ng chuy n m ch kênh. Nó c ng không ph i là m ch o b i vì tr ng thái k t n i hoàn toàn trên h th ng u cu i. Giao th c TCP ch ho t ng trên thi t b u cu i và không ho t ng trên các thi t b trung gian (switch, bridge, router). Trong th c t, các router trung gian ch có th th y các datagram, không nhìn th y các k t i. t n i TCP cung c p ng truy n d li u hai h ng (song công - full duplex). N u có k t n i TCP gi a ti n trình A ch y trên m t máy tính và ti n trình B ch y trên máy tính khác, khi ó d li u ng d ng có th truy n t A i B cùng lúc v i d li u truy n t B sang A. K t n i TCP luôn luôn thu c ki u m n i m, gi a m t bên g i và m t bên nh n (point to point). Ch truy n multicasting (ti n trình g i có th g i ng th i m t thông p i nhi u ti n trình nh n) không th c hi n c trong TCP. Bây gi ta hãy xem k t n i TCP c thi t l p nh th nào? Gi s có ti n trình ang ch y trên m t máy tính mu n kh i t o ng truy n v i ti n trình trong m t máy tính khác. Nh l i r ng ti n trình nào kh i t o k t n i là ti n trình khách (client) và ti n trình kia là ti n trình ph c v (server). u tiên ti n trình ng d ng client yêu c u th c th TCP c a nó thi t l p ng t n i t i ti n trình nào ó trên server. Trong ph n 2.6, ch ng trình java th c hi n u này b ng cách s d ng mã: Socket clientsocket = new Socket ( hostname,port number); Sau ó th c th giao v n trong máy client thi t l p k t n i TCP t i th c th TCP trên máy ph c v. Chúng ta s th o lu n chi ti t th t c thi t l p ng truy n cu i m c này. Bây gi chúng ta ch c n bi t là u tiên máy khách s g i m t gói tin TCP c bi t máy server tr l i b ng m t gói TCP c bi t th hai và cu i cùng client tr l i l i b ng m t gói TCP c bi t th ba. Hai gói TCP c bi t u tiên không t i, có ngh a là không có d li u th c t t ng ng d ng, ch b t u t gói th ba m i mang d li u. B i vì ba gói li u c bi t này c trao i gi a hai máy tính tr c khi k t n i, th t c thi t l p k t n i c xem là giai n t tay ba b c (three way handshake). Trang 131

139 Khi ng truy n TCP c thi t l p, hai ti n trình ng d ng có th trao i d li u v i nhau. TCP là kênh truy n song công nên máy tính có th g i và nh n ng th i. Xét quá trình g i d li u t ti n trình client t i ti n trình server. Ti n trình client s lu ng d li u qua socket ( c a ti n trình - xem m c 2.6). Khi ã qua c a, ti n trình g i s không ki m soát c d li u mà chính th c th TCP ch y trên máy client s ki m soát. Trong hình 3.27, TCP y d li u vào b m g i (send buffer), m t trong các b m c kh i t o trong quá trình thi t l p k t n i. Sau ó TCP s l y và g i d n li u trong b m g i. Tuy nhiên, c t TCP không xác nh rõ khi nào TCP ph i g i d li u trong b m. Th ng nó ch yêu c u TCP i khi thu n ti. L ng d li u ng d ng l n nh t có th t trong m t segment gi i h n b i MMS (maximum segement size). Giá tr MMS ph thu c vào chính ph n m m tri n khai TCP (th ng 1à h u hành) và có th c u hình c. Các giá tr MMS ph bi n th ng là 1500 byte, 536 byte hay 512 byte. l n c a segment th ng c gi i h n tránh hi n t ng phân m nh IP, t hi n t ng s c c p trong ch ng sau). Chú ý r ng MMS là l ng li u ng d ng l n nh t trong segment, ch không ph i là kích th c l n nh t c a segment TCP bao g m c tiêu (header). TCP gói m i nhóm d li u cùng v i TCP header t o nên TCP segment. TCP segment c chuy n xu ng t ng m ng và l i c t trong gói tin c a t ng m ng (IP datagram). Gói IP datagram c g i trong m ng. phía nh n, th c th TCP s t d li u vào b m nh n (receiver buffer) a k t n i TCP. ng d ng s c dòng d li u này t b m. M i k t n i u có m t b m g i và b m nh n. B m g i và nh n cho d li u i theo m t h ng c minh h a trên hình 3.27 Chúng ta c n chú ý r ng b m, các bi n tr ng thái, và socket t o thành t n i TCP ch n m trên hai thi t b u cu i ch không n m trên các thi t b trung gian (router, hub, switch... ) Trang 132

140 Hình 3.27 B m c a th c th TCP 2. C u trúc TCP Segment Sau khi ã nói qua v TCP, bây gi chúng ta s xem xét c u trúc gói d li u TCP (TCP segment). TCP segment bao g m các tr ng tiêu và tr ng li u. Tr ng d li u ch a m t ph n d li u ng d ng. Nh ã nói trên, giá tr MMS gi i h n l n tr ng d li u c a segment. Khi TCP g i m t file n - ví d file nh trong trang web, nó ph i chia file thành các n có kích th c MMS (ngo i tr n cu i cùng có l n bé h n ho c b ng MMS). Tuy nhiên l n d li u c a các ng d ng t ng tác th ng nh h n MMS. Ví d, v i ng d ng ng nh p t xa (Telnet), tr ng d li u trong TCP segment th ng ch là 1 byte. l n tr ng tiêu c a TCP là 20 byte (c a UDP là 12 byte). Segment c Telnet g i có th ch có 21 byte. Trang 133

141 Source port # Destination port # Sequence number Acknowledgement number Header lenght Unuserd U R G A C K P S H R S T S Y N F I N rcvr window size Internet checksum ptr to urgent data 32 bits Hình 3.28 C u trúc gói d li u TCP Hình 3.28 minh h a c u trúc c a TCP segment. T ng t UDP, tiêu TCP bao g m tr ng s hi u c ng ngu n, s hi u c ng ích th c hi n d ch d n, phân kênh d li u cho các ng d ng bên trên và tr ng checksum. Tuy nhiên tiêu c a TCP segment còn có các tr ng sau: Tr ng th t (sequence number) 32 bit và tr ng biên nh n (acknowledge number) 32 bit c bên g i và bên nh n s d ng trong vi c cung c p d ch v truy n d li u tin c y, s c c p k n trong ph n d i ây. Tr ng l n c a s (window size) 16 bit c s d ng ki m soát l u l ng. y chính là s l ng byte d li u t i a mà bên nh n có th ch p nh n c. Tr ng dài tiêu (length field) 4 bit xác nh dài c a tiêu TCP theo n v là các t 32 bit. Tiêu TCP có th có dài thay i ph thu c tr ng option (N u tr ng option r ng, thì chi u dài a tiêu TCP là 20 byte). Trang 134

142 Tr ng option là tu ch n, có th thay i tu ý. Tr ng này c s ng khi bên g i, bên nh n có th th ng l ng v giá tr MMS ho c giá tr gia t ng c a c a s trong m ng cao t c. L a ch n nhãn th i gian (timestamping) c ng c nh ngh a. Xem RFC 854 và RFC 1323 bi t thêm chi ti t. Tr ng (flag) g m 6 bit. Bit ACK c s d ng ch ra r ng giá tr t trong tr ng biên nh n là úng. Các bit RST, SYN và FIN c s d ng trong vi c thi t l p hay óng k t n i. Khi bit PSH c t, thì ây là d u hi u yêu c u bên nh n ph i chuy n d li u lên ng trên ngay l p t c. Cu i cùng, bit URG c dùng báo hi u d li u trong segment c th c th t ng trên phía g i t o ra là kh n. V trí byte cu i cùng c a d li u kh n c p c xác nh b i con tr d li u kh n 16 bit (ptr to urgent data). TCP ph i báo cho t ng trên bi t có d li u kh n và t con tr vào cu i d li u kh n (Trong th c, PSH, URG và con tr d li u kh n không c s d ng) 3. S th t và s biên nh n: Hai trong s nh ng tr ng quan tr ng nh t c a tiêu TCP segment là tr ng s th t và tr ng s biên nh n. Tr c khi nói n nh ng tr ng này c s d ng cung c p ng truy n d li u tin c y nh th nào, chúng ta n nói n nh ng tr ng này nh n giá tr gì. TCP xem d li u là dòng các byte không có c u trúc nh ng có tr t t và TCP s ánh s th t cho t ng byte c a dòng d li u này. M i segment c ng có m t s th t, là s th t c a byte u tiên c a segment. Xét ví d sau: Gi s có ti n trình trên máy A mu n g i dòng d li u t i ti n trình trên máy B thông qua k t n i TCP. Th c th TCP trên máy A s ánh s th t cho ng byte trong dòng d li u. N u dòng d li u này ch a file có l n byte và giá tr MMS ch có 1000 byte, và byte u tiên c a dòng d li u c ánh s th t 0. Xem hình 3.29, TCP s t o ra 500 segment trên dòng d li u này. Segment u tiên có s th t 0, segment th hai có s th là 1000, segment th ba có s th t là 2000,... M i s th t nh v y c chèn vào tr ng s th t trong tiêu c a TCP segment t ng ng. File , , ,999 Data for 1st segment Trang 135 Data for 2st segment Hình 3.29 Chia nh file d li u vào các TCP segment

143 biên nh n ph c t p h n s th t. Vì TCP là kênh truy n song công nên máy A có th nh n c d li u t máy B trong khi nó g i d li u t i máy B (trên cùng k t n i TCP). M i segment n t máy B có m t s th t cho dòng d li u i t B sang A. biên nh n mà máy A t trong segment c a nó s là s th t c a byte ti p theo mà máy A ang ch máy B g i t i. có th hi u rõ h n chúng ta xét ví d sau: Gi s r ng máy A ã nh n c t t c các byte t byte s 0 n byte s 535 máy B g i n và gi s máy A c ng g i m t segment t i máy B. Trong tr ng h p này, máy A i byte th 536 và toàn b các byte ti p theo trong dòng d li u c a máy B. Khi ó máy A t giá tr 536 vào tr ng s biên nh n c a segment mà nó g i i máy B. t ví d khác, gi s r ng máy A ã nh n c m t segment t máy B bao g m byte 0 n byte 535 và m t segment khác bao g m byte 900 n byte Vì lý do nào ó, máy A không nh n c byte th 536 n byte 899. Trong tr ng h p này, máy A s v n i byte th 536 (và các byte ti p theo) t o l i dòng d li u c a máy B. Do ó, trong segment ti p theo bên A i cho bên B, tr ng s biên nh n v n ch a giá tr 536. TCP biên nh n t t c các byte cho n byte u tiên ch a nh n c (còn thi u trong dòng d li u), cho nên có th nói TCP biên nh n ki u tích lu (cummulative acknowledgement). Ví d cu i cùng a ra v n quan tr ng nh ng n gi n. Bên A nh n c segment th ba (byte th 900 n 1.000) tr c khi nh n c segment th hai (byte th 536 n byte 899). Khi ó segment th ba n không theo úng th t. V n ây s là máy tính s làm gì khi nó nh n c m t segment không úng th t trong k t n i TCP? R t thú v, các c t RFC TCP không a ra b t c m t quy t c nào gi i quy t. Chính ng i l p trình ph n m m TCP s a ra cách gi i quy t. V c b n, có hai l a ch n: (1) Bên nh n ngay l p t c lo i b các byte không úng th t ho c (2) bên nh n gi i các byte không úng th t và ch n khi nh n c các byte thi u, t o thành dòng d li u liên t c. Rõ ràng gi i pháp sau có hi u qu h n n u ánh giá theo hi u su t m ng, trong khi ó gi i pháp th nh t làm mã TCP n gi n h n. Trong quy n sách nh p môn này, chúng ta s coi TCP phía nh n lo i b các segment không úng th t. Trong hình 3.29 chúng ta m c nh s th t kh i t o b t u t s 0. Trong th c t, c hai phía k t n i TCP u ch n ng u nhiên giá tr s th t kh i t o ban u. u này s gi m thi u xác su t có m t gói tin c a m t k t i ã k t thúc gi a hai máy tính t n t i quá lâu trên m ng và b hi u nh m là Trang 136

144 t segment h p l c a m t k t n i khác gi a chính hai máy tính y ([sunshire 1978]). 4. Telnet : M t ví d v s th t và s biên nh n Telnet c t trong khuy n ngh RFC 854 là giao th c ng nh p t xa ph bi n t ng ng d ng. Nó ch y trên n n TCP và c thi t k làm vi c gi a m t c p máy b t k. Không gi ng các ng d ng trao i d li u c p trong ch ng hai, Telnet là ng d ng mang tính t ng tác. Chúng ta th o lu n ví d Telnet ây có th hi u rõ h n s th t và s biên nh n c a TCP. Gi s máy A thi t l p m t phiên Telnet v i máy B. Vì máy A thi t l p phiên làm vi c, nó óng vai trò client, máy B óng vai trò server. M i ký t c ng i dùng gõ vào (t i phía client A) s c g i t i máy B; B s g i l i A b n sao c a kí t ó. Sau ó A s hi n th ký t ó trong màn hình Telnet a ng i s d ng. Tín hi u echo back c s d ng ch c ch n r ng kí mà ng i s d ng nhìn th y ã c nh n và x lý t i máy tính xa. Nh y m i kí t s c truy n qua m ng hai l n trong kho ng th i gian ng i dùng gõ phím t i khi ký t c hi n th trên màn hình c a ng i s d ng. Bây gi gi s r ng ng i s d ng gõ m t phím b t kì, ch ng h n là. Hãy ki m tra xem các TCP segment c trao i gi a client và server. Trên hình 3.30, chúng ta coi s th t b t u c a client là 42 và c a server là 79. Nh ã nói trên, s th t c a segment chính là s th t c a byte u tiên trong tr ng d li u. Khi ó, segment u tiên c g i t phía client s có s th t là 42; segment u tiên c g i t phía server s có s th t là 79. S biên nh n là s th t c a byte ti p theo trong dòng d li u ang i nh n. Nh v y, ngay sau khi k t n i TCP c thi t l p - nh ng tr c d li u th c c g i, bên client s i byte có s th t 79 và bên server s i byte có s th t 42. Segment u tiên c client g i t i server, ch a m t byte mã ASCII a ký t trong tr ng d li u. Tr ng s th t c a segment u tiên nh n giá tr 42. Vì client ch a nh n c b t k d li u nào t server, nên tr ng s biên nh n trong segment này nh n giá tr 79. Segment th hai c server g i cho client. Có hai m chú ý v i segment này, u tiên server biên nh n cho d li u v a nh n c. V i giá tr 43 trong tr ng s biên nh n, server báo cho client r ng nó nh n ng t t c các byte có s th t không v t 42 và bây gi ang ch nh n byte th 43. Th hai là segment này s ch a l i kí t (ph n h i l i) Lúc y tr ng d li u c a segment th hai ch a mã ASCII c a ký t. Giá tr tr ng s th Trang 137

145 c a segment th hai này là 79, là s th t c a byte u tiên trong dòng d li u chuy n t server sang client. Chú ý r ng biên nh n cho d li u t client i server c t ngay trong segment ch a d li u t server t i client. ây i là biên nh n ghép uôi (piggybacking). Segment th ba c g i t client t i server. M c ích duy nh t c a nó là biên nh n d li u nh n c t server (chú ý segment th hai ch a d li u là kí t t server t i client). Segment th ba có tr ng d li u r ng (biên nh n không i kèm v i d li u g i n server). Tr ng s biên nh n c a segment này nh n giá tr 80 vì client ã nh n c t t c các byte có s th t không v t 79 và ang i byte có s th t 80. Có l b n nghe th t không bình th ng khi segment này c ng có s th t khi nó ch ng ch a d li u. Nh ng tiêu TCP có tr ng s th t, nên ph i t giá tr nào ó vào trong tr ng này. Host A Host B ` ` User types Host ACKs receipt of echoes Seq=42, ACK=79, data- C Seq=79 ACK=43, data- C Seq=43, ACK=80 Host ACKs receipt of echoes back Time Hình 3.30 S th t và s biên nh n trong ví d Telnet 5. Truy n d li u tin c y ch v t ng m ng c a Intemet không tin c y: IP không m b o vi c chuy n datagram, không m b o g i datagram úng th t c ng nh không m b o tính toàn v n d li u. V i d ch v IP, datagram có th b tràn t i b m router và o ó không bao gi n c ích, d li u có th n không úng th t hay các bit trong datagram có th b l i. B i vì segment c a t ng Trang 138

146 giao v n c t trong IP datagram truy n qua m ng nên segment c a ng giao v n c ng có th ph i g p nh ng v n nêu trên. TCP t o ra m t ng truy n d li u tin c y trên dình v không tin c y a IP. D ch v truy n d li u tin c y c a TCP m b o dòng d li u t i ti n trình nh n không có l i, liên t c, không trùng g p d li u, ng th t. Có ngh a là dòng byte nh n c gi ng h t dòng byte g i i. M c này nghiên u cách th c cung c p d ch v truy n d li u tin c y c a TCP. Chúng ta s th y r ng d ch v truy n d li u tin c y c a TCP s d ng r t nhi u nguyên lý b n ã nghiên c u các m c trên. n gi n, chúng ta coi k t n i TCP gi a hai máy A và B chuy n d li u t máy A t i máy B. T i phía g i (máy A), th c th TCP l y d li u c a ng ng d ng, óng gói trong các segment và chuy n cho t ng m ng. Do ó nh n d li u t t ng ng d ng, óng gói d li u trong các segment và g i segment i chính là s ki n quan tr ng u tiên mà th c th TCP bên g i ph i lý. Ngay sau khi chuy n segment cho IP, TCP kh i ng timer cho segment ó. Th i gian i h t (timeout) gây ra m t ng t t i máy A. TCP ph n ng v i s ki n timeout, ây chính là s ki n th hai mà bên g i TCP ph i x lý b ng cách truy n l i segment gây ra ng t th i gian. ki n th ba mà bên g i TCP ph i x lý là nh n c m t segment biên nh n (ACK) t bên g i (chính xác h n là m t segment ch a giá tr tr ng biên nh n ACK h p l ) ây, th c th TCP phía g i ph i quy t nh ó là ACK l n u tiên nh n c (t c là biên nh n cho m t segment ã g i nh ng ch a c biên nh n) hay ch là ACK trùng l p (biên nh n l i m t gói tin ã t ng c biên nh n). Trong tr ng h p là ACK u tiên thì bên g i s bi t r ng t t c các byte có s th t không v t giá tr biên nh n v a nh n c ã c nh n úng t i phía bên nh n. Khi ó, bên g i có th c p nh t bi n tr ng thái TCP ki m soát s th t c a byte cu i cùng mà nó cho r ng ã c nh n chính xác và theo úng th t t i phía bên nh n. TCP cung c p ng truy n tin c y b ng cách s d ng ACK và timer. TCP biên nh n cho d li u ã c nh n chính xác, và truy n l i segment n u cho r ng segment hay biên nh n t ng ng c a nó b m t ho c có l i. Phiên b n hi n th i c a TCP c ng có c ch NAK n, y la ch truy n l i nhanh c a TCP khi nh n c 3 ACK cho cùng m t segment c g i. TCP s d ng s th t cho phép bên nh n xác nh segment b m t ho c trùng l p. Cái này t ng t nh tr ng h p giao th c truy n d li u tin c y c a chúng ta. TCP không ch c ch n c segment hay biên nh n c a nó b l i, b m t hay ch n tr, nó x lý Trang 139

147 gi ng nh nhau: truy n l i. TCP c ng th c hi n vi c g i liên t c (c ch ng ng), cho phép bên g i có th g i nhi u segment mà ch a c n nh n biên nh n ngay. ch nay cho phép nâng cao áng k hi u su t c a n truy n. S ng t i a các segment c g i ch a c n biên nh n ngay ph thu c vào c ch ki m soát l u l ng và ki m soát t c ngh n c a TCP. hi u v ph n ng c a bên g i khi nh n c ACK trùng l p, u tiên chúng ta ph i xét t i sao bên nh n g i ACK trùng l p. B ng 3.1 tóm t t các chính sách chung c a th c th TCP nh n. Khi bên nh n TCP nh n segment có th t l n h n s th t úng th t ang c mong i, nó phát hi n có n tr ng trong dòng d li u - ngh a là thi u segment. Vì TCP không s ng biên nh n ph nh (NAK) nên bên nh n không th g i biên nh n ph nh. Thay vào ó, nó biên nh n l i byte úng th t cu i cùng mà nó nh n c (t o ra ACK trùng l p). N u bên g i TCP nh n c 3 ACK trùng l p cho cùng m t segment, nó s cho r ng segment ngay sau segment c biên nh n ba l n b m t. Trong tr ng h p này, TCP th c hi n c ch truy n l i nhanh (fast retransmit) [RFC 258], g i l i segment b cho là m t tr c khi timer c a segment ó h t h n (k t thúc). /* assume sender is not contrained by TCP flow or congestion control, that data from above is less than MSS in size, and that data transfer is in one direction only */ sendbase = initial_sequence number nextseqnum = initial_sequence number loop (forever) { switch (event) event: data received from application above create TCP segment with sequence number nextseqnum start timer for segment nextseqnum pass segment to IP nextseqnum = nextseqnum + length(data) break; /* end of event data received from above */ event: timer timeout for segment with sequence number y retransmit segment with sequence number y compute new timeout interval for segment y break: /* end of timeout event */ Trang 140

148 event: ACK received with ACK field value of y if (y > sendbase) { /* cumulative ACK of all data up to y */ cancel all timers for segments with sequence numbers < y sendbase = y } else {/* a duplicate ACK for already ACKed segment */ Increment number of duplicate ACKs received for y If (number of duplicate ACKs received for y == 3) { /* TCP fast retransmit */ Resend segment with sequence number y Restart timer for segment y } } break; /* end of ACK received event */ } /* end of loop forever */ Hình 3.31 Bên g i c a TCP ki n Segment n có s th t là s th t mong mu n. T t c d li u n s th mong mu n ã c biên nh n. Không có kho ng tr ng trong d li u nh n c Segment n có s th t là s th t mong mu n. Segment n tr c ang i g i biên nh n. Không có kho ng tr ng trong d li u nh n c Segment không úng th t n, có th t cao h n s th t mong mu n nh n. Phát hi n có kho ng tr ng d li u. Segment n l p y m t ph n ho c toàn b tr ng trong d li u nh n c Hành ng ti p nh n c a TCP Trì hoãn ACK. i segment úng th ti p theo trong kho ng th i gian 500ms. N u segment này không xu t hi n m i g i ACK Ngay l p t c g i i ACK tích lu duy nh t biên nh n cho c hai segment úng th t. Ngay l p t c g i i ACK trùng l p và ch ra s th t c a byte mong mu n nh n ti p theo. Ngay l p t c g i i ACK biên nh n cho n d kho ng li u úng th t liên t c l n nh t nh n c Trang 141

149 timeout Hình 3.32 Truy n l i vi m t ACK Chúng ta k t thúc th o lu n ây xem xét vài tr ng h p n gi n. Gi s r ng segment này có s th t là 92 và có 8 byte d li u. Sau khi g i segment này, máy A ch m t segment ACK v i giá tr biên nh n 100 c a máy B. M c dù segment g i t máy A ã n máy B nh ng ACK g i t máy B n máy A b m t. Trong tr ng h p này, khi h t th i gian i, máy A truy n i m t segment gi ng h t cho B. D nhiên khi nh n c segment truy n l i, máy B s phát hi n s trùng l p nh tr ng s th t. Vì v y th c th TCP trên máy B s lo i b segment truy n l i. Trong tr ng h p th hai, máy A g i hai segment liên ti p. Segment u tiên có s th t là 92 và 8 byte d li u, segment th hai có s th t là 100 và 20 byte d li u. Gi s c hai segment này u n máy B nguyên v n và máy B g i biên nh n ACK riêng r cho t ng segment. ACK cho segment u tiên có s biên nh n là 100 và cho segment th hai là 120. L i gi s r ng c hai ACK u không n c máy A tr c khi h t th i gian i c a segment u tiên. Khi h t th i gian i, máy A g i l i segment u tiên có s th t 92. V y máy A có g i l i segment th hai không? Theo quy t c mô t trên, máy A ch g i l i segment th hai n u h t th i gian i tr c khi ACK có s biên nh n 120 ho c l n h n n. Vì v y, nh minh ho trên hình 3.33, n u ACK th hai không m t và n tr c timeout c a segment th hai thì máy A không ph i g i l i segment th hai. Trang 142

150 Trong tr ng h p th ba và c ng là tr ng h p cu i cùng, gi s máy tính A g i hai segment gi ng nh trong ví d hai. ACK c a segment u tiên m t, nh ng tr c khi h t th i gian i c a segment u tiên, máy A nh n c ACK có s biên nh n do ó máy A hi u r ng m y B ã nh n c t c các byte n t n byte th 119, vì v y máy A không ph i g i l i segment nào trong hai segment. Host A Host B ` ` Seq 100 timeout Seq 92 timeout Seq=92, 8 bytes data Seq=100, 20 bytes data ACK=100 Seq=92, 8 bytes data ACK=120 ACK=120 Hình 3.33 Segment không c n truy n l i vì ACK n tr c thi h t th i gian i c dù trong ph n tr c chúng ta ã nói TCP là giao th c ki u Go- Back-N vì các giá tr biên nh n mang tính tích lu và bên nh n không biên nh n cho các segment ã nh n úng nh ng không theo s th t. TCP bên g i ch c n ghi nh s th t nh nh t c a byte ã c g i nh ng ch a c biên nh n (sendbase) và s th t cho byte ti p theo s c g i i (nextseqnum). Tuy nhiên c n l u ý r ng m c dù thành ph n truy n d li u tin y c a TCP gi ng Go-Back-N, nh ng không ph i gi ng hoàn toàn. phân bi t m t s m khác nhau gi a TCP và Go-Back- N, chúng ta hãy xem u gì s x y ra khi bên g i g i các segment nên ti p 1, 2...N, t t c segment này u c nh n úng th t và không có l i. Gi s ACK c a segment n<n b m t nh ng ACK c a N- 1 segment còn l i n bên nh n tr c khi h t th i gian i c a t ng segment. Trong tr ng h p này, Go-Back-N s truy n i không ch packet n mà còn là t t c nh ng gói tin sau n+l, n+2,...,n. TCP truy n l i nhi u nh t là segment th n. Th m chí TCP s không truy n l i Trang 143

151 segment th n n u ACK cho segment th n+1 n tr c khi h t th i gian i (timeout) c a segment th n. timeout Hình 3.34 ACK tích l y tránh vi c truy n l i segment u tiên n ây có m t s xu t [RFC 2018; Fall 1996 ; Mathis 1996] m ng c ch biên nh n c a TCP cho gi ng ki u giao th c Selective Repeat. Ý ng chính trong nh ng xu t này là cung c p cho bên g i nh ng thông tin ng minh v segment nào ã c nh n úng và segment nào ch a nh n c. 6. Ki m soát l u l ng Nh c l i r ng, c p thi t b u cu i m i phía c a k t n i TCP u có m d li u (buffer). Khi k t n i TCP nh n c úng m t dòng byte liên c ( úng th t ), nó s t dòng byte này vào b m nh n (receive buffer). Ti n trình ng d ng nh n t ng ng s c d li u t b m này, nh ng không nh t thi t là ph i c ngay khi d li u n. Có th ti n trình ng d ng nh n ph i th c hi n nhi u tác v khác nên ch a c c d li u trong b m. N u ng d ng c d li u ch m thì bên g i có th làm tràn b m nh n do d li u c g i quá nhi u và quá nhanh. Chính vì lý do này TCP cung p d ch v ki m soát l u l ng (flow control) tránh hi n t ng bên g i làm tràn b m bên nh n. Ki m soát l u l ng là quá trình làm t ng thích (matching) v t c : t ng thích gi a t c bên g i g i v i t c nh n c a bên nh n. Nh ã l u ý ph n tr c, bên g i TCP c ng b gi i h n do t c Trang 144

152 ngh n trong m ng IP, ây chính là c ch ki m soát t c ngh n (congestion control) c a TCP. M c dù ki m soát l u l ng gi ng ki m soát t c ngh n (h n ch t c g i c a bên g i), tuy nhiên chúng c th c hi n v i nh ng c ích khác nhau. Nhi u ng i coi hai thu t ng này t ng ng nhau, vì y ng i c nên xem xét k phân bi t hai tr ng h p. Hình 3.35 Bi n receive window và b m nh n cung c p c ch ki m soát l u l ng, TCP bên g i s d ng bi n receive window. ây là giá tr mà bên nh n báo cho bên g i bi t l n vùng m còn r i c a nó. Trong k t n i hai h ng, m i phía k t n i có giá tr receive window phân bi t. Giá tr receive window ng, có ngh a 1à nó s thay i trong th i gian k t n i. Chúng ta hãy nghiên c u giá tr receive window trong ví d truy n file. Gi s máy A g i m t file l n t i máy B qua t n i TCP. Máy B s kh i t o b m cho k t n i này v i l n RcvBuffer. Ti n trình ng d ng trên B c d li u t b m. Chúng ta nh ngh a m t s bi n sau: LastByteread = s th t c a byte cu i cùng trong dòng d li u mà ti n trình ng d ng trong máy B c t buffer LastByteRcvd = s byte cu i cùng trong dòng d li u n t m ng và c trong receive buffer c a máy B Vì TCP không c phép tràn b m nên chúng ta ph i có : LastByteRcvd LastByteread < RcvBuffer Receive window là giá tr RcvWindow, là l n vùng m r i: RcvWindow = RcvBuffer - [LastByteRcvd LastByteread] Trang 145

153 i vì l n vùng m r i thay i theo th i gian nên giá tr RcvWindow ng. K t n i s d ng bi n RcvWindow cung c p d ch v ki m soát l u l ng nh th nào? máy B báo cho máy A l n vùng r i mà nó có trong b m là bao nhiêu b ng cách t giá tr RcvWindow hi n th i vào trong tr ng window c a t t c các segment g i t i A. Ban u máy B thi t l p RcvWindow RcvBuffer. Rõ ràng t c u này thì máy B ph i ki m soát vài bi n k t n i. Máy A c ng có hai bi n LastByteSent và LastByteAcked. l ch gi a hai bi n này, LastByteSent - LastByteAcked 1à s l ng d li u ch a c biên nh n mà A g i qua k t n i. B ng cách kh ng ch s l ng d li u ch a c biên nh n nh h n giá tr RcvWindow, A m b o không làm tràn b m t i B. Do v y trong su t th i gian k t n i, A ph i m b o: LastByteSent - LastByteAcked <= RcvWindow t v n k thu t nh n y sinh ây. Gi s b m máy B y, có ngh a là RcvWindow = 0. Sau khi thông báo t i máy A là RcvWindow = 0, máy B không có gì g i t i máy A. Khi ti n trình ng d ng máy B l y d li u lên làm cho b m r ng thì TCP không g i segment m i cùng v i giá tr RcvWindow m i t i máy A - TCP ch g i segment t i A khi có d li u ho c ACK g i. B i v y máy A s không bao gi c thông báo ã có thêm kho ng tr ng trong b m B. Máy A b khoá và không truy n thêm d li u. gi i quy t v n này, c t TCP yêu c u máy A ti p t c g i segment v i m t byte d li u khi receive window c a máy B b ng 0. Nh ng segment này s c B biên nh n. Khi b m b t u có vùng r ng thì trong gói biên nh n s có c giá tr khác không c a RcvWindow. Khác TCP, UDP không có c ch ki m soát l u l ng. hi u v n này, chúng ta hãy xem th c th UDP g i các segment t ti n trình trên máy A i ti n trình trên máy B. UDP s t các segment (chính xác h n là d li u trong segment) vào trong m t hàng i có l n h u h n ng v i socket nào ó ( c a ti n trình). Ti n trình c l n l t t ng segment trong hàng i. u t c c c a ti n trình không nhanh thì hàng i s tràn và các segment n sau s b m t. 7. Qu n lý k t n i TCP Trong ph n này chúng ta xem xét m t k t n i TCP c thi t l p và k t thúc nh th nào. Trang 146

154 c dù ây là v n không h p d n nh ng l i quan tr ng b i vì giai n thi t l p k t n i TCP nh h ng l n n tr (ch ng h n nh khi duy t Web). Bây gi chúng ta xem m t k t n i TCP c thi t l p nh th nào? Gi ti n trình ch y trên máy client mu n kh i t o m t k t n i t i m t ti n trình trên server. u tiên ti n trình ng d ng trên client yêu c u th c th TCP c a nó (client) thi t l p m t k t n i t i m t ti n trình trên server. Sau ó th c th TCP client kh i t o k t n i TCP t i th c th TCP trên server qua nh ng b c sau: c 1: u tiên phía TCP client g i m t segment c bi t t i TCP server. Segment c bi t này không ch a d li u c a t ng ng d ng nh ng c SYN (m t bit thu c tr ng c (flag)) trong ph n tiêu c t giá tr 1. Vì th ôi khi segment c bi t này c g i là SYN segment. Ngoài ra TCP client ch n s th t ban u (client_isn) và t giá tr này vào tr ng s th t c a SYN segment. Segment này c t trong l p datagram g i t i server. c 2: Khi IP datagram ch a TCP segment n server (n u n c) thì server l y SYN segment ra kh i datagram, phân ph i b m và các bi n TCP ph c v k t n i ng th i g i i m t segment c bi t thông báo ch p nh n k t n i t client. Segment này c ng không ch a d li u c a t ng ng d ng. Tuy nhiên nó ch a ba thông tin quan tr ng trong ph n tiêu. Th nh t bit SYN s c thi t l p giá tr 1. Th hai, tr ng biên nh n trong tiêu nh n giá tr client_isn + 1. Cu i cùng, server ch n s th t b t u c a mình (server_isn) và t giá tr này vào tr ng s th t trong tiêu c a segment. V i segment ch p nh n k t n i, server ng ý ã nh n c t client gói SYN yêu c u thi t l p k t n i v i s th t b t u t client_isn. Ch p nh n thi t l p k t n i này. S th t c a server b t u t server isn". ôi khi ây c g i là SYNACK segment. c 3: Khi nh n c segment ch p nh n k t n i, client c ng kh i o b m và các bi n ph c v k t n i. Client g i segment th ba biên nh n segment ch p nh n k t n i c a server (b ng cách t giá tr server_isn+1 vào tr ng s biên nh n trong tiêu c a TCP segment). Bit SYN c t giá tr 0 vì k t n i ã c thi t l p. Trang 147

155 Client host Server host ` ` Connection request (SYN=1 seq=client_isn) Connectiongranted (SYN=1seq=server_isn, ask=client_isn+1) ACK (SYN=0, seq=client_isn+1, ack=server_isn+1) Time Time Hình 3.36 Giai n b t tay ba b c trong thi t l p ng truy n c a TCP Sau khi ã th c hi n 3 b c này thì client và server có th trao i segment ch a d li u. Bit SYN trong các segment này c t giá tr 0. Nh y, thi t l p c k t n i hai máy ph i trao i 3 segment. Vì th th t c t n i c xem là quá trình b t tay ba b c (three tay handshacke). timed wait Hình 3.37 K t thúc k t n i TCP Trang 148

156 Bây gi chúng ta xét n vi c óng k t n i TCP. C hai ti n trình tham gia k t n i TCP u có th k t thúc k t n i. Khi k t n i k t thúc thì các tài nguyên (b m và các bi n TCP) trong máy c gi i phóng. Ví d client quy t nh óng k t n i. Ti n trình ng d ng client s a ra l nh óng. Khi ó TCP client g i m t segment TCP c bi t n ti n trình server. ây là FIN segment vì c FIN trong segment này c t giá tr 1. Khi server nh n c segment FIN, nó s g i l i cho client m t segment ACK biên nh n segment FIN c a client. K ti p server g i l i m t segment k t thúc FIN (có bit FIN c t giá tr 1). Cu i cùng client g i segment ACK biên nh n segment FIN t server. T i th i m này thì t t c tài nguyên c a hai máy u c gi i phóng. Trong su t th i gian k t n i TCP, giao th c TCP ch y trên m i máy chuy n qua các tr ng thái TCP (TCP state). Hình 3.39 minh ho quá trình thay i tr ng thái TCP x y ra bên phía client. TCP client b t u tr ng thái óng (CLOSED). ng d ng bên phía client kh i t o m t k t n i TCP. u này òi h i TCP client g i SYN segment t i TCP server. Sau khi g i SYN segment, TCP client chuy n sang tr ng thái SYN_SENT. Trong tr ng thái SYN_SENT, TCP client i SYNACK segment (biên nh n cho SYN segment a nó). Khi nh n c segment này, TCP client chuy n sang tr ng thái ESTABLISHED. tr ng thái ESTABLISHED, TCP client có th g i và nh n nh ng TCP segment ch a d li u (là d li u th c s do ng d ng t o ra) CLOSED Client application Initiates a TCP connection Wait 30 second Send SYN TIME_WAIT SYN_SENT Receive FIN, send ACK Receive SYN & ACK, send ACK FIN_WAIT_2 ESTABLISHED Receive ACK, send nothing FIN_WAIT_1 Send FIN Trang 149

157 Hình 3.38 Dòng tr ng thái c a TCP Gi s ng d ng client quy t nh óng k t n i (server t ng t ). Khi ó TCP client g i FIN segment và chuy n sang tr ng thái FIN-WAIT_1. Trong tr ng thái này, TCP client i segment biên nh n t phía server. Sau khi nh n c segment này, TCP client chuy n sang tr ng thái FIN_WAIT_2. Trong tr ng thái FIN_WAIT_2, TCP client i FIN segment t serv r. Sau khi nh n segment này, TCP client g i segment ACK biên nh n t i server và chuy n sang tr ng thái TIME_WAIT. Trong tr ng thái TIME_WAIT, TCP client có th g i l i biên nh n ACK trong tr ng h p ACK tr c b m t. Th i gian i tr ng thái TIME_WAIT ph thu c vào ph n m m tri n khai TCP, nh ng th ng nh n các giá tr 30 giây, m t phút, hai phút. Sau khi h t th i gian i, t n i chính th c c óng và t t c tài nguyên phía client (bao g m c s hi u c ng) c gi i phóng. Trong hai s bi n i tr ng thái v a nghiên c u, chúng ta ã tìm hi u c ch thi t l p và gi i phóng ng truy n c a TCP nh th nào. có th hi u sâu v chi ti t có th tìm c trong [Stevens 1994] Hình 3.39 Trang 150

158 VI. KI M SOÁT T C NGH N C A TCP Trong các ph n tr c, chúng ta ã nghiên c u cách th c cung c p d ch truy n tin tin c y gi a hai ti n trình ch y trên nh ng thi t b u cu i khác nhau c a TCP. M t d ch v c c k quan tr ng khác c a TCP là c ch ki m soát t c ngh n. C ch này c a TCP ch d a vào các thi t b u cu i ch không d a vào c ch ki m soát t c ngh n c a t ng m ng vì t ng IP không cung c p cho TCP các thông tin minh b ch khi có t c ngh n. Tr c khi i sâu vào chi ti t, chúng ta hãy xem xét chung v c ch ki m soát t c ngh n c a TCP và m c tiêu ki m soát t c ngh n c a TCP khi nhi u k t n i TCP cùng chia s m t ng truy n b t c ngh n. t n i TCP ki m soát t c truy n c a nó b ng cách gi i h n s l ng các segment ã g i nh ng ch a c biên nh n. nh ngh a w 1à s l ng cho phép các segment ch a c n c biên nh n, th ng coi nh kích th c a s c a TCP (TCP window). Lý t ng 1à k t n i TCP cho phép truy n i t c t i a có th (càng nhi u segment ch a c biên nh n) ch ng nào mà ch a x y ra hi n t ng m t segment do b t c ngh n. Nói chung k t n i TCP b t u v i giá tr w t ng i nh và sau ó th m dò kênh truy n còn i không b ng cách t ng d n giá tr w. K t n i TCP ti p t c c t ng w cho n khi x y ra m t d li u (s ki n h t th i gian i-timeout hay nh n c các biên nh n trùng l p). Khi ó TCP s gi m w t i m t giá tr an toàn và sau ó l i b t u th m dò kênh truy n r i b ng cách t ng d n giá tr w T ng quan v ki m soát t c ngh n c a TCP Trong m c 3.5 chúng ta ã th y m i k t n i c a TCP có b m g i, b m nh n và m t vài bi n (LastByteRead, RcvWin...). C ch ki m soát t c ngh n c a TCP b sung thêm hai bi n n a: congestion window (c a s t c ngh n) và threshold (ng ng). C a s t c ngh n, ký hi u là CongWin bi u th s l ng d li u t i a mà ng i g i có th g i qua k t n i. Nh v y kh i ng d li u c g i không c v t quá CongWin và RcvWin, t c là: LastByteSend LastByteAcked <= min {CongWin,RcvWin} Ng ng ký hi u là threshold s nh h ng t i quá trình t ng c a CongWin nh th o lu n. Chúng ta hãy xem giá tr CongWin t ng trong su t k t n i TCP nh th nào. t p trung vào c ch ki m soát t c ngh n (khác v i ki m soát l u ng), chúng ta gi thi t r ng b m nh n l n có th b qua các h n ch c a c a s nh n. Trong tr ng h p này s l ng d li u g i ch a c n Trang 151

159 c biên nh n ch b gi i h n b i CongWin. Chúng ta c ng gi thi t r ng phía g i c n g i nhi u d li u. Khi k t n i TCP ã c thi t l p gi a hai h th ng u cu i, ti n trình ng d ng g i chuy n d li u t i b m g i c a TCP. TCP chia d li u thành các kh i v i kích th c MMS, t các kh i d li u trong TCP segment, và chuy n segment t i t ng m ng g i i. C a s t c ngh n c a TCP u ti t l ng segment c g i. Ban u, CongWin nh n giá tr 1 MMS, TCP g i segment u tiên và c biên nh n. N u segment này c biên nh n tr c khi timeout, phía g i t ng CongWin lên MMS và g i i hai segment. N u nh ng segment này c biên nh n trong th i gian i c a chúng, CongWin i c t ng thêm 1 MMS cho m i segment c biên nh n. Khi ó CongWin m i là 4 MMS và phía g i g i i b n segment. Th t c này c th c hi n liên t c cho t i khi (1) CongWin v t ng ng (threshold) hay (2) không nh n c biên nh n trong th i gian ch biên nh n. Trong giai n này, c a s t c ngh n (CongWin) t ng theo hàm s m. Ban u nó nh n giá tr 1 MSS, sau ó t ng lên 2 MMS, 4 MMS, 8 MMS.... ây là giai n kh i u ch m (slow start) vì giá tr c a s kh i u v i giá tr nh (1 MMS). Tuy v y giá tr c a s t ng khá nhanh. Giai n slow-start k t thúc khi CongWin v t ng ng. Khi ó giá tr CongWin s t ng tuy n tính ch không còn t ng theo hàm s m. T c là n u CongWin = w, sau khi nh n c biên nh n cho w segment, giá tr CongWin t ng lên 1, CongWin = w+1. ây là giai n tránh t c ngh n (congestion avoidance). Giai n tránh t c ngh n ti p t c khi v n nh n c biên nh n trong th i gian i. Tuy nhiên giá tri c a s c ng nh t c g i d li u không th ng mãi. n lúc nào ó s x y ra s c m t gói d li u router. u này n n s ki n timeout phía g i. Lúc này giá tr ng ng (threshold) nh n giá tr b ng m t n a CongWin, CongWin c t b ng 1 MMS. Bên g i s ti p t c t ng nhanh giá tr CongWin theo hàm s m cho n khi nó v t ng ng. Tóm l i : Khi c a s t c ngh n ch a v t ng ng, c a s s t ng theo hàm m. Khi c a s t c ngh n v t ng i, c a s s t ng tuyên tính Khi h t th i gian i, giá tr ng ng b ng m t n a giá tr c a s t c ngh n hi n th i và c a s t c ngh n nh n giá tr 1. Trang 152

160 u b qua giai n slow-start, ch ng ta s th y TCP t ng l n c a theo c p s c ng khi m ng ch a b t c ngh n và gi m l n c a s theo p s nhân (chia 2) ngay khi m ng b t c ngh n. Vì v y, TCP c coi là thu t toán AIMD (additive-increase, multiplicative-decrease) Giá tr l n c a s t c ngh n c a TCP c minh ho trong hình Trong hình này, ng ng ban u b ng 8 MSS. C a s t c ngh n t ng nhanh theo lu th a 2 trong giai n slow start và t ng ng t i t=3. Giá tr c a s c ngh n t ng tuy n tính n khi xu t hi n m t mát d li u. Gi s khi d li u b m t, c a s t c ngh n có giá tr 12 MMS. Ng ng m i c t b ng 0.5 CongWin 6 MSS và c a s t c ngh n b ng 1 MMS. Quá trình l i c ti p t c. Thu t toán ki m soát t c ngh n này do V.Jacobson xu t [Jacobson 1988]. Hi n nay có nhi u bi n th c a thu t toán Jacobson (xem Stenven(1994) và RFC 2581) Threshold Threshold Hình 3.40 C a s ki m soát t c ngh n Trang 153

161 Tahoe, Reno và Vegas Thu t toán ki m soát t c ngh n c a TCP ây c g i là Tahoe. M t n v i thu t toán Tahoe là khi m t segment b m t, ng i g i có th ph i i trong m t kho ng th i gian dài g i l i. Vì v y m t bi n th c a Tahoe i là Reno ã c tri n khai trong ph n l n các h u hành. Gi ng Tahoe, Reno t l n c a s t c ngh n b ng 1 khi timeout (h t th i gian c a b nh th i). Tuy nhiên Reno có c ch truy n l i nhanh mà chúng ta ã kh o sát trong m c 3.5. Phía g i s g i l i gói tin ã nh n c biên nh n ba l n ngay c khi ch a h t th i gian i c a gói tin này. Reno c ng s d ng c ch khôi ph c nhanh (fast recovery). Hi n nay ph n l n th c th TCP s d ng thu t toán Reno.Tuy nhiên có nhi u thu t toán c i ti n hi u su t c a Reno - nh Vegas. Trang 154

162 Ch ng 4: NG M NG I. CÁC MÔ HÌNH D CH V C A T NG M NG Nh ã th y trong ch ng tr c, t ng giao v n cung c p d ch v truy n thông gi a hai ti n trình ang ch y trên hai máy tính khác nhau. có th cung c p c d ch v này, t ng giao v n ph i s d ng d ch v cung c p ng truy n gi a hai máy tính c a t ng m ng. Nói c th h n, t ng m ng chuy n gói tin (segment) c a t ng giao v n t máy tính này n máy tính khác. T i máy tính g i, t t c các segment c a t ng giao v n c chuy n xu ng t ng m ng. Nhi m v c a t ng m ng là chuy n nh ng segment này n máy tính ích và g i t i th c th nào ó t ng giao v n bên trên. Công vi c chuy n segment t t ng giao v n máy tính ngu n n t ng giao v n máy tính ích c a t ng m ng chính là n i dung c a ch ng này. Chúng ta s th y r ng không gi ng t ng giao v n, t ng m ng g m nhi u máy tính và các router trung gian. Vì th, giao th c t ng m ng là m t trong nh ng giao th c ph c t p nh t. Hình 4.1 minh h a m t m ng n gi n v i hai máy tính H1 và H2 và t s router trên ng truy n gi a H1 và H2. T ng m ng máy tính g i th c hi n b c g i u tiên trên toàn b hành trình c a gói tin. Ví d n u H1 i gói tin n H2 thì t ng m ng trên H1 s truy n gói tin này n router g n nh t: R2. T i máy tính nh n (ch ng h n H2), t ng m ng s nh n gói tin t router g n nó nh t (trong tr ng h p này là R2) và chuy n lên cho t ng giao n t i H2. Vai trò chính c a router là chuy n gói tin t m t u vào nào ó (input) t i m t u ra nào ó (output). Chú ý r ng các t ng trên c a t ng m ng (giao v n, ng d ng) không ho t ng t i các router trong hình 4.1 b i vì router không c n thi t ph i ch y các giao th c t ng giao v n hay t ng ng ng (ngo i tr các m c ích ki m soát). Vai trò c a t ng m ng n gi n chi là chuy n gói tin t máy tính g i n máy tính nh n. Vì th t ng m ng có ba ch c n ng quan tr ng sau ây: Xác nh ng i (Path determination) : T ng m ng ph i xác nh các router trung gian hay tuy n ng (path) mà gói tin c truy n n i g i n n i nh n. Thu t toán xác nh tuy n ng nh v y g i Trang 155

163 là thu t toán nh tuy n" (routing algorithm). Thu t toán nh tuy n s quy t nh ng i cua các g i tin t máy tính nh n n máy tính g i (trong ví d là máy tính H1 và máy tính H2). Tr ng tâm c a ch ng này là các thu t toán nh tuy n. Trong ph n 4.2, chúng ta s nghiên u lý thuy t c a thu t toán nh tuy n, t p trung vào nhóm: Link state và Distance vector. Chúng ta s th y ph c t p c a thu t toán nh tuy n t ng t l v i s l ng router trên ng truy n. u này n n nh tuy n phân c p. End system H1 Appliaction Transport Network Link Physical` ` Router R1 Network Data Link Physical Network Data Link Physical Network Data Link Physical Router Network Data Link Physical ` ` Network Data Link Physical ` ` Router R2 Network Data Link Physical End system H2 Appliaction Transport Network Link Physical Company network Hinh 4.1 M t s router trên ng truy n gi a H1 và H2 Chuy n m ch (Switching): Khi gói tin n u vào c a m t router, router ph i quy t nh g i gói tin n u ra thích h p nào. Ví d, gói tin t máy H1 n router R1 s ph i c chuy n n router k ti p trên ng t i H2. Trong ph n 4.6 chúng ta s nghiên c u ho t ng Trang 156

164 bên trong c a router và quá trình chuy n m t gói tin t u vào n u ra trong m t router di n ra nh thê nào. Thi t l p ng truy n (Call setup): Trong ph n tr c trình bày v TCP, chúng ta th y r ng hai th c th truy n thông ph i có m t giai n t tay tr c khi trao i d li u th c s. u này cho phép bên g i và bên nh n thi t l p các thông tin tr ng thái c n thi t (ví d, th t kh i u l n c a s ). V i m t s ki n trúc m ng khác (ví ATM) òi h i các router trên tuy n ng t ngu n n ích ph i t tay nhau tr c khi b t u truy n d li u th c s. Trong t ng ng, quá trình này c g i là thi t l p ng truy n (call setup). Chúng ta s th y t ng m ng trong ki n trúc Internet không òi h i công vi c này. Tuy nhiên, tr c khi i sâu vào chi ti t các khái ni m và tri n khai c a ng m ng, chúng ta s xem xét t ng quát nh ng ki u d ch v khác nhau c a ng m ng. 1. Mô hình d ch v m ng: Khi t ng giao v n thi t b g i chuy n các gói tin xu ng t ng m ng, li u ng giao v n có th tin c y t ng m ng chuy n gói tin này n n ích không? Li u khi g i nhi u gói tin chúng có c chuy n n t ng giao v n a thi t b nh n theo úng th t không? V n t c g i các gói tin có c xác nh tr c không? T ng m ng có ph n h i l i các thông tin nên quan n t c ngh n không? Mô hình d ch v m ng s tr l i nh ng câu h i này và nhi u n khác Chuy n mach gói (datagram) và chuy n mach o (virtual circuit) Có l m tr u t ng quan tr ng nh t mà t ng m ng che d u các t ng trên là vi c có s d ng m ch o (Virtual Circuit - VC) hay không. V khía nh nào ó m ch o t ng t m ng n tho i. truy n th ng (m c dù m ng n tho i s d ng m ch th c). Có ba giai n trong chuy n m ch o: Thi t L p VC: trong c giai n thi t l p, n i g i thông báo a ch nh n v i t ng m ng, yêu c u t ng m ng thi t l p VC. T ng m ng xác nh tuy n ng gi a bên g i và bên nh n, t c là chu i các cung ng (hay ng k t n i - link) và các thi t b chuy n m ch (switch - nút trung gian) mà t t c các gói d li u s i qua. u này yêu c u vi c c p nh t b ng nh tuy n và d tr tài nguyên trong m i thi t b chuy n m ch. Trang 157

165 Truy n d li u: Sau khi thi t l p c VC, d li u có th c chuy n trong VC. óng m ch o: Giai n này b t u khi phía g i (ho c phía nh n) báo cho t ng m ng yêu c u óng VC. T ng m ng s thông báo cho thi t b u cu i bên kia c ng nh các thi t b chuy n m ch trên VC c p nh t l i các b ng nh tuy n, gi i phóng tài nguyên. Có s khác bi t tuy nh - nh ng quan tr ng gi a thi t l p VC t ng ng và thi t l p k t n i t ng giao v n (giai n b t tay 3 b c c a TCP). Thi t l p k t n i t ng giao v n ch nên quan n các thi t b u cu i trên hai u mút. Hai thi t b ng ý thi t l p k t n i và tho thu n các thông s a k t n i (ví d s th t kh i t o, l n c a s ki m soát l u l ng). Hai thi t b u cu i này s nh n bi t c v s k t n i t ng giao v n, nh ng các thi t b chuy n m ch gi a thì không. Trái l i trong t ng m ng c a m ng chuy n m ch o, t t c các thi t b chuy n m ch gi a hai thi t b u cu i u tham gia vào quá trình thi t l p m ch o, và do ó u nh n bi t c t t c các VC i qua. Thông p trao i gi a các thi t b u cu i yêu c u kh i t o hay k t thúc m ch o, thông p trao i gi a các thi t b chuy n m ch yêu c u thi t p VC (c p nh t b ng chuy n m ch) c g i là thông p báo hi u (signaling message). Giao th c c s d ng trao i nh ng thông p này và giao th c báo hi u (signaling protocol). Quá trình thi t l p VC c minh ho trong hình 4.2. ATM, Frame Relay và X.25 (s c gi i thi u trong ch ng 5) là ba ki n trúc m ng s d ng chuy n m ch o. Trong m ng chuy n m ch gói, khi thi t b u cu i mu n g i gói tin, nó t vào gói tin a ch thi t b nh n và sau ó chuy n gói tin vào m ng. Nh minh ho trong hình 4.3, không có giai n thi t l p VC nào. Nh ng thi t b trung chuy n trong m ng chuy n m ch gói ( c g i là b nh tuy n - router trên Internet) không duy trì b t k tr ng thái nào v VC b i vì không có VC. Thi t b trung chuy n s nh tuy n gói tin n ích b ng cách xác nh a ch ích, tìm ki m trên b ng nh tuy n và chuy n ti p gói tin theo h ng n ích (gi ng vi c chuy n th bình th ng trong h th ng b u n). Vì b ng nh tuy n có th c c p nh t liên t c, nên các gói tin c g i t thi t b u cu i này n thi t b u cu i khác có th i theo nhi u tuy n ng khác nhau và n ích không theo th t. M ng Internet công c ng ngày nay s ng d ch v chuy n m ch gói. Trang 158

166 Appliaction Transport Network Link Physical ` Appliaction `Transport Network Link Physical 4. Call connected 5. Data flow begins 3. Accept call 6. Receive data 1. Initiate call 2. Incoming call Hình 4.1 Mô hình d ch v chuy n m ch o Appliaction Transport Network Link Physical ` Appliaction Transport ` Network Link Physical 1. Send data 2. Receive data Hình 4.2 Mô hình chuy n m ch gói chuy n gói tin c a t ng giao v n, t ng m ng th ng a ra d ch v chuy n m ch o ho c d ch v chuy n m ch gói nh ng không bao gi cung p c hai d ch v này. Ví d, d ch v c a m ng ATM 1à VC trong khi m ng Internet cung c p d ch v chuy n m ch gói. t thu t ng t ng ng c a m ch o (VC) và m ch gói (Datagram) ng ng là d ch v h ng n i (connection-oriented) và d ch v không ng n i (connectionless). D ch v chuy n m ch o c x p vào l p d ch h ng n i vì ph i thi t l p và k t thúc k t n i c ng nh vi c duy trì thông tin tr ng thái c a k t n i t i t t c thi t b chuy n m ch. D ch v chuy n m ch gói c x p vào l p d ch v không h ng n i. C hai nhóm thu t ng u có u m c ng nh nh c m và u c s d ng ph bi n trong các tài li u v m ng. Trong quy n sách này, chúng ta s d ng thu t ng ch v Trang 159

167 chuy n m ch và ch v chuy n m ch gói cho t ng m ng và s d ng thu t ng ch v h ng n và ch v không h ng n cho t ng giao n. m khác bi t này s giúp ng i c hi u c nh ng d ch v khác nhau c a 2 t ng này. ng 4.1 ng k t nh ng nét chính c a mô hình d ch v Internet và ki n trúc m ng ATM. Chúng ta không i sâu vào nh ng khía c nh chi ti t c a mô hình d ch v ây. Ki n trúc hi n nay c a Internet ch cung c p duy nh t d ch chuy n m ch gói, m t d ch v theo ki u c g ng t i a (best-effort). Nh minh ho trong b ng 4.1, d ch v này c ng gi ng v i vi c không cung c p b t d ch v nào c. Ki n trúc ng Mô hình ch v m b o b ng thông m b o không m t Th t tr Ki m soát c ngh n Internet g ng i a Không Không Không Không Không ATM CBR Có Có Có Có ATM VBR Có Có Có Có Không có c ngh n Không có c ngh n ATM ABR o m t c nh nh t Không Có Có Không có c ngh n ATM UBR Không Không Có Có Không ng 4.1Nh ng nét chính c a mô hình d ch v Internet và m ng ATM ng không m b o th i gian g i các gói tin gi ng nhau các gói tin không c m b o n ích theo úng th t, và th m chí không m b o gói tin n c ích. V i nh ngh a này, m t m ng không chuyên b t k gói tin nào n ích c ng c phân lo i theo ki u c g ng t i a. (ví d ng Internet công c ng hay b t c ngh n). Chúng ta hãy chuy n sang mô hình d ch v ATM. ây, chúng ta s t p trung vào mô hình d ch v ã c Di n àn ATM [ATM Forum 1997] chu n hoá. Ki n trúc ATM cung c p nhi u ki u d ch v khác nhau (t c là chu n ATM có nhi u mô hình d ch v ). Trong ph m vi cùng m t m ng nh ng k t i khác nhau có th c cung c p nh ng l p d ch v khác nhau. ch v truy n v i t c c nh - Constant bit rate (CBR): là mô hình d ch v ATM u tiên c chu n hoá có th th y c vai trò các công ty n tho i ng sau ATM. D ch v m ng CBR là s l a ch n lý t ng cho vi c truy n d li u a ph ng ti n (ví d n tho i s ) theo th i gian th c Trang 160

168 i t c truy n c nh. M c tiêu c a d ch v CBR là làm cho k t n i m ng trông gi ng nh m t ng k t n i th c s (b ng dây ng hay cáp quang) gi a bên g i và bên nh n. Trong d ch v CBR các gói tin ATM (trong thu t ng ATM là các t bào ATM - ATM cell) c truy n qua m ng v i m t tr nào ó ( c g i là cell transfer delay, CTD). Bi n thiên c a tr jitter hay cell - delay variation, CDV) t l các cell b m t hay n tr (cell - lost rate, CLR) c m b o không v t quá m t giá tr ng ng. T c truy n t i a c a m i k t n i c xác nh tr c (pick cell rate, PCR) và bên i có th g i d li u v i t c này. Các giá tr PCR, CTD, CDV và CLR ã c máy tính g i và m ng ATM tho thu n tr c trong giai n thi t t p t n i CBR. p d ch v ATM th hai là ch v truy n v i t c không xác nh (Unspecified bit rate - UBR). Không gi ng d ch v CBR ( m b o t c, tr m t mát d li u), UBR không m b o nh ng u này ngo i tr vi c i các cell theo úng th t. Nh v y d ch v UBR gi ng mô hình d ch v g ng t i a c a Internet. D ch v UBR không cung c p thông tin ph n h i cho bên g i v vi c các cell có n c ích hay không. V i m ng UBR, tính tin c y c a truy n d li u c tri n khai trong các giao th c t ng cao n. D ch v UBR phù h p v i nh ng ng d ng truy n d li u không c n t c truy n c nh nh mail, newsgroup. u UBR c xem nh m t d ch v theo ki u c g ng t i a thì ch truy n v i t c có s n (available rate bit - ABR) có th phân lo i vào nhóm d ch v theo ki u c g ng t i a nh ng u vi t h n. Hai tính n ng b sung quan tr ng nh t c a d ch v AER là: c truy n cell nh nh t (MRC) c m b o cho k t n i ABR. Tuy nhiên khi tài nguyên c a m ng r i, bên g i có th g i v i t c cao h n MCR. Có ph n h i v t c ngh n t t ng m ng. M ng ATM có th cung c p thông tin ph n h i cho bên g i (là bit thông báo t c ngh n hay t c i th p) bên g i u ch nh t c g i ABR không m b o m t b ng thông t i thi u, nh ng c g ng truy n d li u nhanh nh t có th. Nh v y, ABR phù h p v i các ng d ng truy n d li u yêu c u tr nh (ví d duy t Web). Mô hình ATM cu i cùng là ch v truy n v i t c bi n i (variable bit rate - VBR). Trong d ch v VBR th i gian th c, t l m t gói li u, tr có th ch p nh n c th a thu n tr c gi ng d ch v CBR. Trang 161

169 Tuy nhiên, t c g i th c s c phép thay i theo các tham s do ng i dùng a vào. u này cho phép s d ng tài nguyên có hi u qu h n, nh ng xét theo các tiêu chí v m t mát d li u, tr thì VBR t ng t CBR. Có th tìm hi u k h n v ATM trong ATM Forum's Traffic Management Specification 4.0 [ATM Forum 1996] và [Ganent 1996]. 2. Ngu n g c c a d ch v chuy n m ch gói và chuy n m ch o. ch s phát tri n c a mô hình d ch v m ng Internet và ATM ph n ánh ngu n g c c a chúng. V i khái ni m tr ng tâm là m ch o và d ch v CBR là ch v u tiên, ATM rõ ràng xu t phát t m ng n tho i truy n th ng (s ng ch th ). Các nh ngh a sau này v l p d ch v UBR và ABR ã ghi nh n t m quan tr ng c a vi c phát tri n các ng d ng truy n d li u. V i ki n trúc VC và tr ng tâm h tr truy n d li u theo th i gian th c cùng v i b o m v hi u n ng h th ng (th m chí k c v i d ch v ABR), t ng ng ph c t p h n r t nhi u so v i mô hình Internet theo ki u c g ng t i a. ng n tho i t tính ph c t p vào trong m ng vì m ng n i các thi t b u cu i câm (dump device), ví d các máy n tho i quay s. Ng c l i m ng toàn c u Internet n y sinh do nhu c u k t n i các máy tính ( c xem là thi t b u cu i thông minh) v i nhau. V i thi t b u cu i ph c t p, ki n trúc Internet l a ch n mô hình d ch v m ng n gi n nh t có th và t các ch c n ng ph tr (ví d nh truy n d li u tin c y), ng nh các ng d ng m ng t ng cao h n trên các thi t b u cu i. u này ng c v i mô hình m ng n tho i, và k t qu là: Mô hình d ch v m ng c a Internet không m b o b t k m t d ch v nào do v y có th d dàng k t n i các m ng s d ng nh ng công ngh t n i r t khác nhau (ví d v tinh, Ethernet, cáp quang, sóng vô tuy n). Các công ngh này có t c và t l m t mát d li u khác nhau. Nh chúng ta ã th y trong ch ng 2, nh ng ng d ng nh th n, Web, và th m chí c d ch v c a t ng m ng nh DNS c tri n khai trên các máy tính (và thi t b u cu i). Các d ch v m i có th nhanh chóng c s d ng r ng rãi thông qua các giao th c t ng ng ng. Tuy nhiên có s tranh cãi l n trong c ng ng Internet v vi c c i ti n ki n trúc c a t ng m ng h tr các ng d ng a ph ng ti n th i gian th c. Trang 162

170 II. CÁC NGUYÊN LÝ NH TUY N truy n gói d li u t máy tính g i n máy tính nh n, t ng m ng ph i quy t nh ng i ho c các router mà gói d li u ph i i qua. Dù m ng chuy n m ch gói (các gói tin khác nhau có th i theo các tuy n ng khác nhau) hay m ng m ch o (t t c các gói tin c truy n trên cùng m t tuy n ng nh tr c) thì t ng m ng u ph i xác nh ng i cho gói tin. ây là công vi c c a các giao th c nh tuy n t ng m ng. Trái tim c a giao th c nh tuy n là thu t toán xác nh ng i cho gói tin - thu t toán nh tuy n. M c tiêu c a thu t toán nh tuy n h t s c n gi n: v i m t t p h p router cùng v i liên k t gi a các router, thu t toán nh tuy n ph i xác nh ng i t t nh t t thi t b ngu n n thi t b ích. ng i t t n gi n có th là ng i có giá nh nh t. Tuy nhiên trong th c t chúng ta s th y các v n liên quan n chính sách (policy) - ví d router X thu c t ch c Y không c chuy n ti p các gói tin c t o ra t ng c a t ch c Z - có th làm ph c t p các thu t toán c a router lên nhi u. Ng i ta th ng s d ng th xây d ng các thu t toán nh tuy n nh minh ho trên hình 4.3[Dodge 1999] trình bày các k thu t bi u di n s m ng d i d ng th, [Zegura 1997] th o lu n cách th c mô hình hoá ng Internet b ng th. ây nút (node) c a th bi u di n router - m quy t nh vi c nh tuy n gói tin - và nh ng n th ng ( cung trong lý thuy t th ) n i các nút bi u di n ng truy n v t lý th c s gi a các router. Cung c c tr ng b i i l ng giá (cost) là chi phí c a vi c g i gói tin qua nó. Giá có th ph n ánh m c t c ngh n trên ng truy n (th i gian tr trung bình) ho c kho ng cách v t lý th c s gi a hai router (ví du, ng truy n xuyên i d ng s có giá cao h n ng truy n gi a các khu c trên t li n). n gi n chúng ta coi m i cung trên th có m t giá và không quan tâm n vi c xác nh giá ó b ng cách nào. A 2 5 B D 3 C E Hình 4.3 Mô hình m ng Trang F

171 i mô hình th, v n tìm ki m tuy n ng t ngu n n ích có chi phí th p nh t yêu c u xác nh chu i các cung sao cho: Cung u tiên trong tuy n ng xu t phát t ngu n. ích c a cung cu i cùng trong tuy n ng là ích. i m i i, cung th i và i-1 cùng k t n i vào m t nút. i ng i có giá nh nh t, t ng chi phí c a t t c các cung trên trên tuy n ng là nh nh t. Chú ý n u t t c các cung có giá nh nhau thì ng i có giá nh nh t c ng là ng i ng n nh t gi a ngu n và ích. Ví d nh trong hình 4.3, ng i có giá nh nh t gi a nút A (ngu n) và nút C ( ích) là ng ADEC. t bài t p n gi n: hãy trình bày cách tìm ng i có giá th p nh t t A n F. Ph n l n m i ng i s tìm b ng cách ki m tra trong hình 4.3, l n theo các router t A n F qua nhi u con ng và t thuy t ph c r ng ng i mà mình ch n có giá nh nh t so v i t t c các ng khác. (Có t t c 12 tuy n ng khác nhau n i A và F). Quá trình xác nh nh th là ví d c a thu t toán nh tuy n t p trung - ch y trong b não c a b n v i y thông tin v m ng. Nói chung, chúng ta có th phân lo i thu t toán nh tuy n vào hai ki u : toàn c c hay phân tán. Thu t toán nh tuy n toàn c c (global) xác nh ng i v i giá th p nh t gi a ngu n và ích b ng cách s d ng t t c thông tin v t ng th ng. u vào c a thu t toán là t t c các nút, cung và giá c a các cung. Rõ ràng router ph i b ng m t cách nào ó thu c các thông tin này tr c khi b c vào giai n tính toán th c s. Thu t toán có th c ch y t i m t n i (thu t toán nh tuy n t p trung) ho c ch y i nhi u n i. Tuy nhiên m phân bi t chính y u là thu t toán nh tuy n toàn c c ph i có tr c y thông tin v th m ng. Trong th c t, thu t toán nh v y c g i là thu t toán link state vì thu t toán ph i bi t c giá c a m i liên k t trên m ng. Trong thu t toán phân tán, xác nh ng i có giá th p nh t c th c hi n d n d n theo cách th c phân tán. Không nút nào có y thông tin v giá c a t t c các liên k t trên m ng. Ban u m i nút ch bi t v giá c a các cung có n i tr c ti p v i nó. Sau ó, thông qua các c tính toán và trao i thông tin v i các nút hàng xóm (hai nút c g i là hàng xóm n u gi a chúng có m t ng k t n i v t lý tr c ti p, trong thu t ng th g i là hai nh k nhau), nút d n d n xác Trang 164

172 nh c ng i có giá nh nh t n m t t p h p ích nào ó. Chúng ta s nghiên c u thu t toán nh tuy n phân tán - thu t toán distance vector trong m c 4.2.2; c g i là thu t toán distance vector b i vì nút không bi t c ng i c th n ích mà ch bi t n nút hàng xóm trên ng n ích và t ng giá c a ng i n ích. t ki u phân lo i thu t toán th hai là t nh hay ng. Trong thu t toán nh tuy n t nh, tuy n ng thay i r t ít theo th i gian, th ng là k t qu do con ng i tác ng (ví d t l i c u hình cho b ng nh tuy n trong router). Thu t toán nh tuy n ng cho phép thay i các tuy n ng khi u l ng m ng hay ki n trúc liên k t m ng b thay i. Thu t toán ng có th c ch y nh k ho c g i thông p tr c ti p khi c u trúc m ng hay giá các cung b thay i. Thu t toán ng có th x lý c khi m ng thay i nh ng l i n y sinh các v n m i nh nh tuy n l p. Thu t toán nh tuy n th ng c s d ng trong Internet g m hai ki u chính: thu t toán global link state ng và thu t toán distance vector ng. 1. Thu t toán nh tuyên link state. Trong thu t toán link state, c u trúc m ng và giá c a t t c các liên k t u ph i c xác nh tr c. ây là u vào c a thu t toán link state. Trong th c t, u này c th c hi n b ng cách m i nút s g i thông báo qu ng bá nh danh c a mình và giá các cung liên k t tr c ti p n nó t i t t c các router khác trên m ng. Vi c qu ng bá r ng rãi tr ng thái liên k t [Perlman 1999] có th c th c hi n ngay khi nút không bi t v y các nút khác trên m ng. Ban u nút ch bi t c thông tin v các hàng xóm c a mình ng nh giá các cung n các hàng xóm. Nh ng sau ó nó s xác nh c topo c a ph n còn l i c a m ng khi nh n nh ng thông báo qu ng bá t các nút khác. (Trong ch ng 5, chúng ta th y các router hàng xóm trao i thông tin v i nhau nh th nào). K t qu c a vi c qu ng bá tr ng thái liên k t là t t các nút có th y thông tin v t ng th m ng. Sau ó m i nút u có th ch y thu t toán Link state và xác nh ng i có giá th p nh t t i m i nút. Thu t toán Link state c trình bày ây là thu t toán Dijkstra ( t theo tên c a ng i phát minh ra). Thu t toán Dijkstra xác nh ng i có giá th p nh t t m t nút ngu n (không m t t ng quát, gi s là A) n t t c các nút khác trên m ng. Thu t toán Dijkstra có nhi u b c và sau k c s Trang 165

173 xác nh c ng i có giá th p nh p t i ít nút ích. Chúng ta nh ngh a t s ký hi u sau: c(i, j) : giá liên k t t nút i n nút j. u nút i và nút j không có ng k t n i tr c ti p thì c(i, j)=?. n gi n, chúng ta coi c(i, j) = c(j, i). D(v): giá hi n t i th p nh t c a tuy n ng i t nút ngu n n nút v. P(v) : nút phía tr c nút v (hàng xóm c a v) trên tuy n ng hi n có giá th p nh t t ngu n t i nút v. N: p h p c a các nút ã xác nh c ng i ng n nh t t i. Thu t toán Link state g m có b c kh i t o cho vòng l p. S các b c ng t ng s nút trên m ng. Khi k t thúc, thu t toán s xác nh c ng i ng n nh t t nút ngu n n t t c các nút khác trên m ng. Thu t toán Link state(ls) Kh i t o: N={A} For (t t c các nút v) Repeat if v k A else D(v)=? thì D(V)=c(A,v) Tìm w không trong N có D(w) nh nh t B sung w vào N C p nh t D(v) cho t t c v k v i w và không n m trong N: D(v)=min (D(v), D(w)+c(w,v)) /* giá m i n v khác c giá c n v ho c bi t c giá ng i ng n nh t n w c ng v i giá t w n v */ Until t t c các nút n m trong N c N D(b), p(b) D(c), p(c) D(D), p(d) D(E), p(e) D(F), p(f) 0 A 2, A 5, A 1, A?? 1 AD 2, A 4, D 2,D? 2 ADE 2, A 3, E 4, E 3 ADEB 3, E 4, E Trang 166

174 c N D(b), p(b) D(c), p(c) D(D), p(d) D(E), p(e) D(F), p(f) 4 ADEBC 4, E 5 ADEBCF ng 4. 2 B ng tr ng thái các b c cho m ng minh ho trên hình 4.3 Xét th m ng trong hình 4.3 và tính ng i có giá th p nh t t A n t t c các nút khác B ng 4.2 cho th y các k t qu tính c a thu t toán, m i dòng trong b ng ng v i tr ng thái c a thu t toán sau khi k t thúc m t b c. Sau ây chúng ta s phân tích m t s b c u tiên: Trong b c kh i t o, giá hi n t i th p nh t c a ng i t A n các nút hàng xóm B, C và D t ng ng là 2, 5, và 1. Chúng ta có m t chú ý nh ây, giá n C c t là 5 (ngay sau ây chúng ta s th y ây không ph i là ng i t t nh t) vì ây là giá c a ng nói tr c ti p t A n C. Giá n E và F c t là vô cùng vì gi a A và E, F không có ng k t n i tr c ti p. Trong b c u tiên chúng ta tìm ki m trên nh ng nút ch a c a vào t p N và xác nh nút có giá n th p nh t. ó là nút D v i giá là 1 và do ó D c b sung vào N. Dòng 12 c a thu t toán LS c th c hi n c p nh t D(v) cho t t c các nút v, k t qu nh n c c trình bày trong dòng th 2 (b c 1) trong b ng 4.2. Giá a ng i n B không i. Giá ng i n C (nh n giá tr 5 trong b c kh i t o tr c) qua D có giá tr nh h n là 4. ây là ng t h n c ch n và nút phía tr c c a C trên ng i ng n nh t t A s là D. T ng t v y, giá ng i n E (qua D) c tính là 2 và ng c c p nh t t ng ng. Trong b c th hai, ng i n nút B và E u có giá th p nh t và chúng ta b sung E vào t p N (Bây gi N ch a A, D và E). Giá n các nút ch a n m trong N (g m B, C và F) c c p nh t trong dòng 12 c a thu t toán LS, k t qu là dòng 3 c a b ng Khi thu t toán LS k t thúc, v i m i nút chúng ta xác nh c nút ngay tr c nó trên tuy n ng có giá th p nh t xu t phát t ngu n. V i m i nút phía tr c chúng ta l i có nút phía tr c n a... Cu i cùng chúng ta xác nh c toàn b ng i t ngu n n t t c các nút ích. Trang 167

175 ph c t p tính toán c a thu t toán này b ng bao nhiêu? V i n nút (không k nút ngu n), tìm ng i có giá th p nh t t ngu n n t t c các ích, kh i l ng tính toán là bao nhiêu trong tr ng h p x u nh t? Trong vòng l p u tiên chúng ta c n ki m tra qua t t c n nút xác nh nút w có giá nh nh t không n m trong N; trong vòng l p th hai, chúng ta c n ki m tra n - 1 nút xác nh giá th p nh t trong vòng l p th ba là n - 2 nút... ng s các nút mà chúng ta c n ph i ki m tra qua t t c các b c là n(n+l)/2 và theo ó chúng ta có th nói r ng thu t toán Link state có ph c t p là O(n2). (Thu t toán này có th c c i ti n b ng cách s d ng c u trúc d li u HEAP, ph c t p ch còn theo hàm logarit c a n). Tr c khi k t thúc v thu t toán LS, chúng ta hãy xét ví d minh h a t c u hình m ng gi ng nh trên hình 4.4. Giá c a m i liên k t (cung) b ng i hi n t i trên nó (nh th giá s là tr mà gói tin ph i ch u). Trong tr ng h p này giá không có tính ch t i x ng, ngh a là c(a, B) ch b ng c(b, A) n u t i trên c hai h ng AB là nh nhau. Gi s hai nút B và D g i t n v d li u, nút C g i kh i l ng d li u là e t i A. nh tuy n ban u c minh ho trên hình 4.4(a), giá c a m i cung ng v i t i trên cung ó. Trong b c ti p theo c a thu t toán LS, nút C (v i giá liên k t c b n ã c xác nh trong hình 4.4a) nh n th y ng i n A theo chi u kim ng h có giá là 1, trong khi theo chi u ng c l i có giá là 1+e. Do ó, ng i n A có giá th p nh t c a C bây gi là theo chi u kim ng h. ng t, B nh n th y ng i n A có giá th p nh t m i c ng theo chi u kim ng h, k t qu c trình bày trong hình 4.4b. Trong b c ti p theo, nút B, C và D nh n th y ng i n A ng c chi u kim ng h có giá là 0 và t t c các nút nh l i tuy n ng theo ng c chi u kim ng h. Trong c ti p theo B, C và D l i thay i vi c nh tuy n theo chi u kim ng h. A 1 1+e A 2+e 0 A 0 2+e A 2+e 0 D 1 C B e 1 D 1+e 0 C 1 0 B D 0 1 C 0 B 1+e D 1+e 0 C 1 0 B e (a) Initiate routing (b) B, C detect better path to A, clockwise (c) B, C D detect better path to A, counterclockwise (d) B, C D detect better path to A, clockwise Hình 4.4 Xung t nh tuy n Trang 168

176 u gì có th ng n ng a s dao ng nh trên ( u này luôn xu t hi n i nh ng thu t toán ch n t c ngh n ho c th i gian tr làm giá cho ng truy n). M t gi i pháp c a ra là nh giá cho ng truy n không ph thu c vào t i trên ng i - m t gi i pháp khó có kh n ng ch p nh n vì m c tiêu c a nh tuy n là tránh nh ng ng truy n hay t c ngh n (có tr cao). M t gi i pháp khác là làm th nào t t c các router không ch y thu t toán LS t i cùng m t th i m. Gi i pháp này d ng nh h p lý h n vì chúng ta hy v ng r ng th m chí n u các router có ch y thu t toán LS v i cùng chu k, thì thu t toán s a ra nh ng k t qu khác nhau t i m i nút. 2. Thu t toán Distance vector. u thu t toán LS s d ng thông tin v toàn b tr ng thái m ng, thu t toán Distance vector (DV) là thu t toán l p, không ng b và phân tán. Thu t toán c xem là phân toán vì m i nút nh n thông tin t nh ng nút hàng xóm có ng k t n i tr c ti p n nó, th c hi n các b c tính toán và phân tán k t qu tính toán t i t t c các nút hàng xóm. Tính l p c th hi n ch quá trình này c th c hi n liên t c cho n khi không còn thông tin c trao i gi a các c p hàng xóm. (chúng ta s th y ây là thu t toán t t thúc - nó t d ng ch không c n m t tín hi u k t thúc). Thu t toán không òi h i các nút không c ho t ng trong khi trao i v i nh ng nút khác - ây chính là c m không ng b. Chúng ta s th y thu t toán v i các c m d b, l p, t k t thúc, và phân tán thú v và áng quan tâm h n so v i thu t toán t p trung. u trúc d li u chính trong thu t toán DV là ng kho ng cách (Distance table) c t m i nút. Trong b ng kho ng cách, m i hàng ng i m t nút ích trên m ng và m i c t ng v i m t nút hàng xóm có ng t n i tr c ti p n. Gi s nút X mu n nh tuy n n ích Y qua nút hàng xóm Z. Trong b ng kho ng cách c a nút X, DX(Y, Z) là t ng c a giá ng liên k t tr c ti p gi a X và Z- c(x, Z) v i giá ng i bé nh t t Z n Y. ó là: D x (Y, Z) - c(x, Z) + min w {D z (Y,w)} Bi u th c min w trong ng th c trên c l y trên t t c các hàng xóm a Z (k c X, nh chúng ta s th y d i ây). ng th c giúp chúng ta hình dung ý t ng c a thu t toán DV - m i nút ph i bi t c giá nh nh t c a ng i t t t c các hàng xóm c a nó n t k ích nào. Và khi giá nh nh t n ích nào ó thay i, nút ph i báo cho t t c các hàng xóm bi t. Trang 169

177 Tr c khi trình bày thu t toán DV, xét ki n trúc m ng và b ng kho ng cách c a nút E trên hình 4.5. ây 1à b ng kho ng cách c a nút E sau khi thu t toán DV h i t. Hãy nhìn vào dòng u tiên v i ích n là A. Rõ ràng giá ng k t n i tr c ti p n A t E ph i là 1, do ó D E (A, A) = 1. Bây gi hãy chú ý n giá tr c a D E (A, D) - giá ng i t E n A qua D. Tr ng này trong b ng kho ng cách là giá c a ng i t E n D (2) c ng v i giá ng i nh nh t t D n E. Chú ý r ng giá th p nh t c a ng i t D n A là 3 - ng i qua E! Do v y giá th p nh t t E n A qua D là 5. Chúng ta không quan tâm - m c dù có th b n kho n ây - là ng i t E n A qua D l i quay l i E. ng t tr ng trong b ng kho ng cách v i ng i qua B: D E (A, B) = 14. Hãy chú ý r ng t i sao ây không ph i là 15? Các vòng tròn trong b ng kho ng cách là giá nh nh t c a ng i n các ích ( ng v i các hàng). C t ng v i vòng tròn xác nh nút ti p theo trên ng i n ích có giá th p nh t. T ó có th d dàng xây d ng b ng nh tuy n cho m i nút (v i gói tin g i n m t ích nào ó, c n g i nó ra theo ng ra nào). Trong khi trình bày b ng vector cho nút E trên, chúng ta v n có c t cái nhìn toàn c c bi t c giá c a t t c các liên k t trên m ng. Thu t toán DV phân tán c trình bày ây không s d ng n nh ng thông tin ng th nh v y. 7 B E C A D destination Hình 4.5 Thu t toán distance vector(dv) i m i nút X: 1:Kh i t o: 2: for (t t c các nút k v i v) 3: Dx(*, v) =?/* d u là ch cho t t c các hàng*/ Trang 170

178 4: Dx(v, v) = c(x, v) 5 : for (t t c các ích Y) 6: g i min W D(Y, w) n m i hàng xóm 7: /* w ch y trong t p các hàng xóm c a X*/ 8:L p 9: i cho n khi (th y giá liên k t n hàng xóm V thay i ho c nh n c s c p nh t c a hàng xóm V) if (c(x, V) thay i m t l ng d) /* thay i giá c a t t c các ng i n ích qua v b ng d*/ /* chú ý: d có th d ng ho c âm*/ for (t t c các ích y: D X (y, V) = D X (y, V) + d else if (nh n c c p nh t t V n Y) /* ng i ng n nh t t V n nút nào ó Y thay i*/ /* V ã g i giá tr m i c a min W D W (Y, w)*/ /* g i giá tr m i nh n c là newval */ for ( ích y): D X (y, V) = c(x, V) + newval if (chúng ta có min W D X (y, w) m i cho ích Y nào ó) i giá tr min W D X (y, w) m i n t t c các hàng xóm. Mãi mãi Th t v y, m i nút s ch bi t thông tin v giá ng liên k t t i nút hàng xóm c ng nh thông tin nó nh n c t nh ng hàng xóm này. Thu t toán Distance vector chúng t s nghiên c u còn c g i là thu t toán Bellman - Ford. Nó c áp d ng trong nhi u giao th c nh tuy n trong th c t, bao m: Internet BGP, ISO IDRP, Novell IPX và m ng ARPANET. c m u ch t n m t dòng 15 n 21, ó nút c p nh t b ng kho ng cách khi nh n c s thay i v giá c a liên k t n hàng xóm ho c nh n c thông tin c p nh t t hàng xóm c a nó. M t b c quan tr ng khác là dòng 24, ó nút g i c p nh t n t t c các hàng xóm n u ng i có giá nh nh t n ích nào ó b thay i. Hình 4.6 minh ho ho t ng c a thu t toán DV cho m ng n gi n g m có 3 nút. Ho t ng c a thu t toán c th c hi n m t cách ng b : t t c các nút ng th i nh n c thông p t hàng xóm c a chúng, tính toán ng kho ng cách m i và báo cho các hàng xóm v s thay i giá ng i ng n nh t. Sau khi nghiên c u ví d này, b n có th nghe r ng thu t toán ho t Trang 171

179 ng úng trong ch không ng b - vi c tính toán và c p nh t s thay i c a m i nút có th di n ra t i b t k th i m nào. X Y Z destination Cost via D X X Z Y 2 Z destination Cost via D X X Z Y 2 8 Z 3 7 destination Cost via D X X Z Y Z destination Cost via D X X Z Y 2 Z destination Cost via D X X Z Y 2 8 Z 9 1 destination Cost via D X X Z Y Z destination Cost via D X X Z Y 7 Z destination Cost via D X X Z Y 7 3 Z 9 1 destination Cost via D X X Z Y Z Hình 4.6 Các ô có khoanh tròn trong hình 4.6 ng v i giá nh nh t hi n t i n ích nào ó n m trong hàng t ng ng. Khoanh hai vòng tròn bi u di n giá nh nh t m i c xác nh (trong dòng 4 ho c dòng 21 c a thu t toán DV). Khi ó các thông tin c p nh t s c g i n các nút hàng xóm (dòng 24 c a thu t toán DV) - ng v i m i tên gi a các c t trong hình 4.6. t ngoài cùng bên trái trong hình 4.6 là các b ng kho ng cách c a nút X, Y và Z sau b c kh i t o. Bây gi hãy xem làm th nào nút X tính l i b ng kho ng cách (c t gi a c a hình 4.6) sau khi nh n c thông tin c p nh t t nút Y và Z. Khi nh n c c p nh t t Y và Z, X th c hi n dòng 21 a thu t toán DV: D X (Y,X)=c(X,Z)+min W D Z (Y,w) =7+1 Trang 172

180 =8 D X (Z,Y)=c(X,Y)+min W D Y (Z,w) =2+1 =3 X bi t giá tr min w D Z (Y, w) và min W D Y (Z, w) vì nút Z và Y g i nh ng giá tr này n X (và X c ng nh n c theo dòng 10 c a thu t toán DV). Vi c tính l i b ng kho ng cách c a Y và Z c t gi a trong hình 4.7 c th c hi n t ng t. Giá tr D X (Z, Y) = 3 có ngh a là giá nh nh t t X n Z gi m t 7 xu ng 3. Do ó, X g i c p nh t n Y và Z thông báo cho chúng giá th p nh t i n Z. Chú ý X không c n c p nh t cho Y, Z v giá c a nó n Y vì giá tr này không b thay i. Khi Y tính l i b ng kho ng cách không phát hi n ra thay i, o ó Y không g i c p nh t n X và Z. Quá trình nh n c p nh t t hàng xóm, tính l i b ng kho ng cách và c p nh t các thay i n hàng xóm c th c hi n cho n khi không còn thông p nào c trao i. Trong tr ng h p này vì không có thông tin c p nh t c g i nên các nút không ph i tính l i b ng kho ng cách và thu t toán tr ng thái không ho t ng: t t c các nút tr ng thái i trong dòng 9 c a thu t toán DV. Thu t toán DV s trong tr ng thái không ho t ng cho n khi giá c a m t nên k t nào ó thay i. III. NH TUY N PHÂN C P Trong các ph n tr c, chúng ta ã th y m ng là m t t p h p các router liên k t v i nhau. T t c các router s gi ng nhau n u nh u s d ng cùng t thu t toán nh tuy n xác nh ng i trên toàn b h th ng m ng. Trong th c t, mô hình m ng nh v y và vi c xem các router gi ng h t nhau cùng th c hi n cùng m t thu t toán nh tuy n quá n gi n v i hai lý do quan tr ng sau: Ph m vi (scale): Khi s l ng các router l n, kh i l ng thông tin ph i tính toán, l u tr và trao i gi a các b ng ch a thông tin nh tuy n trên m i router (ví d các c p nh t v ng i ng n nh t) c ng tr nên c c l n. M ng Internet ngày nay bao g m hàng tri u router liên k t v i nhau và h n 50 tri u máy tính. L u tr thông tin v t t c các máy tính c ng nh các router òi h i m t l ng b nh kh ng l. Các thông tin trao i c p nh t gi a các router s ng toàn b b ng Trang 173

181 thông c a ng truy n. Thu t toán distance vector trên hàng tri u router ch c ch n s không bao gi h i t. Do ó n y sinh ra nhu c u làm gi m ph c t p trong vi c xác nh ng i trên m t m ng l n nh Internet. Qu n tr (Administrative automomy) : M c dù các nhà thi t k th ng b qua yêu c u c a các tô ch c - ch ng h n kh n ng l a ch n thu t toán nh tuy n hay che d u c u trúc m ng bên trong c a t ch c i bên ngoài - nh ng trên th c t ây là nh ng v n quan tr ng. Lý ng mà nói, m t t ch c ph i gi kh n ng qu n tr và ki m soát ng máy tính c a mình nh ng v n có kh n ng k t n i v i các m ng bên ngoài. a C C.b b A.a a d A.c c B.a a B c b A b Inter-AS, intra- AS routing in gateway A.c Intra-AS routing algorithm Intra-AS routing algorithm Network layer Routing Table DL DL DL Link layer PHY PHY PHY Physical layer to/from A.b to/from B.a to/from A.d Hình 4.7 hai v n trên u có th gi i quy t b ng cách nhóm các router thành các vùng hay Mi n t qu n (Autonomous System - AS). Các router trong cùng AS s d ng cùng m t thu t toán nh tuy n (ví d nh thu t toán LS hay DV) và bi t y v nhau (gi ng tr ng h p ã trình bày tr c). Thu t toán nh tuy n ch y trong m i AS c g i là intraautonomous system routing protocol. D nhiên c n ph i k t n i các AS v i nhau - và vì th m t router trong AS ph i có thêm nhi m v nh tuy n gói tin ra phía ngoài AS ích n m trong m t AS khác). Các router nh tuy n gói tin ra phía ngoài nh v y c g i là gateway router. nh tuy n gói tin i gi a các AS (có th ph i i qua nhi u AS trên toàn b tuy n ng các gateway router ph i Trang 174

182 bi t cách xác nh ng i gi a các AS. Thu t toán nh tuy n c s d ng i các gateway router và interautonomous system routing protocol. Nói tóm l i, v n ph m vi và qu n tr c gi i quy t b ng cách s p p các router vào các mi n t qu n (AS). T t c router trong cùng AS s ng cùng m t thu t toán nh tuy n. Các gateway router trên m i AS s ng thu t toán interautonomous system routing nh tuy n gi a các AS. n ph m vi c gi i quy t ch m i router ch c n bi t v các router khác trong cùng AS và gateway router c a AS ó (ch không c n ph i bi t t t các router). V n qu n tr c gi i quy t vì t ch c có th l a ch n s ng b t k thu t toán nh tuy n intra-as nào - mi n là thu t toán inter-as mà nó s d ng có kh n ng liên k t v i các AS khác. C.b b a C Host h1 d A Inter-AS routing within AS A and B A.a a b intra-as routing within AS A A.c c B.a a B c b Host h2 intra-as routing within AS B Hình 4.8 Trên hình 4.8 có 3 có ba mi n AS: A, B và C. Mi n A có 4 router: A.a, A.b, A.c, và A.d, s d ng cùng m t thu t toán intra-as c a mi n A. C b n router này u có y các thông tin v nhau c ng nh các liên k t trong mi n A. T ng t mi n B có 3 và mi n C có 2 router. Các thu t toán intra-as trong các mi n A, B, C không nh t thi t gi ng nhau. Các gateway router là A.a, A.c, B.a, và C.b. Ngoài các thu t toán intra-as trao i v i các router trong mi n, b n gateway router này ph i s d ng thu t toán inter-as nh tuy n gi a các AS. V m t topo, chúng s d ng giao th c inter-as, c minh h a b ng các ng k t n i m u xanh m m c cao h n. Các ng t n i này có th là ng k t n i v t lý th c s (gi a A.c và B.a), có th là ng o (ví d gi a A.c và A.a). Trên hình v chúng ta c ng th y A.c s ng c intra-as nh tuy n v i A.b, A.d và inter-as nh tuy n v i B.a. Trang 175

183 Gi s máy tính h1 n i v i router A.d c n g i gói tin t i máy tính h2 trong AS B, nh trên hình 4.8. B ng nh tuy n t i A.d cho bi t, router A.e ch u trách nhi m g i gói tin ra bên ngoài AS. u tiên gói tin t A.d t i router u tiên A.c s d ng giao th c nh tuy n intra-as c a A. Có m t m c c quan tr ng c n chú ý là router A.d không c n bi t gì v c u trúc n i t i trong mi n B và C và c ng nh topo gi a ba mi n A, B và C. Router A.c nh n gói tin, xác nh ích c a gói tin ó n m ngoài mi n A (mi n B), b ng nh tuy n c a inter-as s xác nh r ng g i t i mi n B thì ph i chuy n t i B.a. Khi gói tin t i B.a, giao th c inter-as xác nh r ng gói tin này t i máy tính nào ó trong mi n B và chuy n cho giao th c intra-as c a B. Cu i cùng router B.a chuy n gói tin ó t i máy tính ích h2 s d ng giao th c intra-as a B. Trong hình 4.8: các giao th c intra-as c a A và B là các ng k t, giao th c inter-as gi a các mi n là ng k m. IV. INTERNET PROTOCOL Trong các ph n tr c, chúng ta ã th o lu n các nguyên lý chung c a ng m ng mà ch a nói n b t k m t ki n trúc m ng c th nào. Chúng ta ng nói t i các mô hình d ch v khác nhau c a t ng m ng, các thu t toán nh tuy n xác nh ng i gi a thi t b g i và thi t b nh n, phân c p h th ng m ng gi i quy t v n ph m vi. Trong ph n này, chúng ta s nói t i ng m ng c a Internet - mà m t ph n trong ó c xem là t ng IP. Chúng ta th y IP ch là m t ph n (dù là ph n quan tr ng) trong ki n trúc t ng m ng a Internet (xem hình 4.9). Transport layer: TCP, UDP Network layer Routing protocols - path selection - RIP, OSPF, BGP Routing table IP protocol - addressing conventions - datagram format - packet handing conventions ICMP protocol - error reporting - route "signaling" Link layer Physical layer Hình 4.9 Trang 176

184 Nh ã nói trong trong ph n trên, t ng m ng c a Internet s d ng d ch chuy n m ch gói (datagram) ch không ph i d ch v chuy n m ch o (VC). T i máy g i, khi nh n c m t segment t t ng giao v n, t ng m ng t segment trong gói d li u IP (IP datagram) v i các tr ng a ch g i, a ch nh n... và g i datagram này t i router u tiên trên ng t i ích. u này t ng t nh m t ng i vi t m t lá th : t lá th ó vào phong bì ghi a ch ng i nh n và th phong bì th vào h p th. C t ng m ng c a Internet và c ng nh h th ng b u n u không có b t k m t s liên h tr c nào v i bên nh n tr c khi chuy n u ki (datagram hay lá th ) t i phía nh n. H n n a, t ng m ng c a Internet và b u n s u ch cung c p t d ch v ki u g ng t i, ngh a và không có b t k m b o nào v gói tin s n ích, n trong m t kho ng th i gian xác nh tr c hay úng th t. Trong hình 4.9, t ng m ng trong ki u m ng chuy n m ch gói gi ng nh ng Internet có 3 thành ph n chính: Thành ph n th nh t là giao th c m ng: xác nh a ch t ng m ng; ý ngh a c a các tr ng trong datagram (và gói d li u - PDU c a t ng ng); các hành ng c a các router và thi t b u cu i khi nh n c các datagram. Giao th c m ng trong Internet g i là giao th c Internet hay ph bi n h n v i tên g i giao th c IP. Hi n nay có hai phiên b n giao th c IP c s d ng: IPV4 ( c s d ng ch y u hi n nay) và IPV6 ( c a ra thay th IPv4) Thành ph n th hai c a t ng m ng là b ph n xác nh ng i: xác nh tuy n ng c a datagram trên ng i t i ích. Thành ph n cu i cùng c a t ng m ng là ch c n ng báo cáo l i và kh ng tr l i m t s yêu c u v thông tin c a t ng m ng. Giao th c báo i c a Internet - ICMP. 1. a ch IPv4 u tiên chúng ta s nói v a ch IPv4. M c dù v n a ch t ng i n gi n song m i quan h gi a a ch và giao th c t ng m ng l i quan tr ng. Có th tìm hi u k v a ch IPv4 trong [Semeria 1996] và ch ng u tiên c a [Stewart 1999]. Tr c khi th o lu n v a ch IP, chúng ta hãy xem xét các máy tính và router n i vào m ng nh th nào. M t máy tính th ng có m t ng k t n i duy nh t vào h th ng m ng. Khi th c th IP trong máy máy tính mu n g i Trang 177

185 t datagram, nó s g i qua k t n i này. N m gi a máy tính và ng k t n i t lý là m t giao di n ghép n i (interface). Router thì ng c l i khác hoàn toàn máy tính. Công vi c c a router và chuy n m t datagram t m t k t n i (incoming link) t i m t k t n i khác (outgoing link). Router có th có nhi u t n i, và b ph n n m gi a router v i m t k t n i c ng c g i là giao di n. Nh v y router có nhi u giao di n, m i giao di n ng v i m t k t n i. Vì t t c các máy tính và router u ph i có kh n ng g i và nh n IP datagram nên m i giao di n ph i có m t a ch IP. Do ó a ch IP ng v i t giao di n ch không ph i v i máy tính hay router. a ch IP có dài 32 bit (4 byte) và nh v y không gian a ch có 2 32 a ch IP. a ch IP c vi t theo ký pháp u ch m th p phân (dotteddecimal notation). M i byte c a a ch c vi t d i d ng th p phân và phân cách v i các byte khác b ng ký t ch m (.). Xét a ch IP là s th p phân ng v i nhóm 8 bit u c a a ch, 32 là s th p phân ng v i nhóm 8 bit th hai c a a ch... B i v y a ch trong ký pháp nh phân s là: i giao di n ghép n i c a máy tính hay router trên m ng toàn c u Internet ph i có m t a ch IP xác nh duy nh t. Nh ng a ch ó không th ch n m t cách tùy ý mà ph thu c vào m ng mà nó k t n i vào. Trong ng nh này, thu t ng ng không có ý là m t c u trúc t ng th g m các máy tính, router và các liên k t gi a chúng. Hi n t i thu t ng này c s d ng i ý ngh a c th h n, có quan h ch t ch v i a ch IP. Hình 4.10 minh a m t router có 3 giao di n c s d ng k t n i 7 máy tính. Quan sát a ch IP c a m i giao di n ng v i m i máy tính và router. Giao di n c a 3 máy tính ph n trên bên trái trong hình 4.15 và router n i v i chúng u có a ch IP là xxx.: ngh a là 24 bit u c a a ch IP gi ng nhau. Chúng c ng c k t n i v i nhau b ng m t ng k t n i v t lý duy nh t (trong tr ng h p này là môi tr ng qu ng bá s d ng cáp Ethernet) mà không c n qua b t k router trung gian nào. Các giao di n c a nh ng máy tính này và giao di n phía trên bên trái c a router t o nên ng IP (IP network) hay n gi n là ng. 24 bit a ch u gi ng nhau là ph n m ng trong c u trúc a ch IP, 8 bit còn l i là ph n máy tính (host) c a a ch IP. Chính m ng này c ng có m t a ch là /24 trong ó kí hi u /24 là t n m ng (network mask) i ý ngh a 24 bit u tiên c a a ch 32 bit xác nh a ch m ng. Nh ng bit này c ng c xem là ti n t m ng (network prefix). M ng /24 g m giao di n c a 3 máy tính Trang 178

186 ( ; ; ) và m t giao di n c a router ( ). B t máy tính nào n i v i m ng /24 u ph i có a ch d i d ng xxx. trên hình 4.15 còn có hai m ng khác: /24 và /24. Hình 4.11 minh ho 3 a ch m ng hi n t i trong hình Hình 4.10 ` ` / /24 ` /24 ` ` ` ` Hình 4.11 nh ngh a IP v ng không ch v i phân n m ng Ethernet n i nhi u máy tính v i m t router. Trên hình 4.12 ba router ôi m t n i v i nhau qua các ng liên k t m t i m (point-to-point). M i router có ba giao di n, hai giao di n k t n i t i hai router kia và m t giao di n dành cho k t n i qu ng bá v i các máy tính. Có bao nhiêu m ng IP ây? Ba m ng /24, /24 và /24 t ng t các m ng nói t i trong hình Nh ng chú ý có thêm 3 m ng n a trong hình 4.12: m ng /24 cho hai giao di n n i router R1 và R2, m ng /24 cho Trang 179

187 hai giao di n n i router R2 và R3 và m ng /24 ng v i hai giao n i router R3 và R1. i m t h th ng liên m ng (interconnected network) g m nhi u router và máy tính, chúng ta có th s d ng m t công th c xác nh các m ng trong h th ng. Chúng ta lo i b t t c giao di n c a các máy tính và router. Khi ó s t o ra các m ng cô l p, m i m ng cô l p ó c g i là m t m ng. Áp d ng cách th c này trong ví d trên hình 4.12, chúng ta có 6 m ng IP tách bi t. M ng toàn c u Internet g m hàng tri u h th ng m ng nh v y. Ký pháp ng và a ch m ng có vai trò then ch t trong ki n trúc nh tuy n c a Intemet. Sau khi ã có nh ngh a v m ng, chúng ta ti p t c th o lu n chi ti t v a ch IP. Ki n trúc a ch Internet u tiên a ra 4 l p a ch minh h a trên hình p a ch th n m, b t u b ng c d tr cho vi c d ng sau này.v i l p a ch A, 8 bit u là a ch m ng và 24 bit cu i là a ch c a giao di n (máy tính) trong m ng ó. Do ó có 2 7 m ng l p A (bit u tiên trong 8 bit a ch m ng luôn nh n giá tr 0), m i m ng l p A l i có th có 2 24 giao di n. L p B có 2 14 m ng, m i m ng l i có 2 16 giao di n. L p a ch C dùng 24 bit làm a ch m ng và ch có 8 bit làm a ch máy. L p D tr làm a ch multicast. n l p a ch trình bày trên hi n t i không còn c áp d ng trong ki n trúc a ch IP n a. u ki n ph n m ng c a a ch l p có dài là t, hai ho c ba byte không h p lý khi s l ng các t ch c v i m ng c nh hay trung bình ngày càng t ng. M t m ng l p C (/24) ch có th có = 254 máy tính (2 trong s 2 8 a ch c d tr cho m t s m c ích khác) - t s l ng quá nh v i nhi u t ch c. Tuy nhiên m t m ng lo i B (/16) có th có t i máy tính l i là quá l n. M t t ch c v i 2000 máy tính ph i d ng a ch l p B (/16). V i ki u gán a ch nh v y thì không gian a ch l p B s nhanh chóng b c n ki t và không gian a ch không c s ng hi u qu. Ví d, t ch c ó s d ng a ch l p B cho 2000 máy tính và có kho ng a ch còn l i b lãng phí trong khi có th phân ph i cho các ch c khác. Trang 180

188 Hình 4.12 m 1993, LETF chu n hóa nh tuy n liên mi n không phân l p (Classless interdomain routing - CLDR- phát âm là cider ) [RFC1519]. i a ch m ng không phân l p, ph n m ng c a a ch IP có th có dài tùy ý không nh t thi t ph i là 8, 16 hay 24 bit. Khuôn d ng c a m t a ch không phân l p là a.b.c.d/x, trong ó x là s l ng bit dùng làm a ch ng. Trong ví d tr c, t ch c c n không gian a ch cho 2000 máy tính ch c n m t không gian a ch d i d ng a.b.c.d/21, cho phép kho ng a ch còn l i c phân ph i cho các t ch c khác. Trong tr ng h p này, 21 bit u tiên xác nh a ch m ng c a t ch c và t t c a ch l p c a máy tính trong t ch c u có a ch m ng gi ng nhau. 11 bit còn l i xác nh c th máy tính nào trong t ch c. Trên th c t, t ch c có th ti p t c chia 11 bit ó trong th t c t o m ng con (subnetting) [RFC 950] t o ra các ng con bên trong m ng a.b.c.d/21. Hình 4.13 Trang 181

189 Gán a ch (Assigning Addresses) Sau khi bi t c a ch IP, b n có th h i b ng cách nào máy tính nh n c a ch IP? a ch IP có hai ph n: Ph n m ng và ph n máy tính. Ph n máy tính c a a ch có th c gán theo nhi u cách nh sau: u hình b ng tay. a ch IP c ng i qu n tr h th ng c u hình vào máy tính (th ng trong file c u hình). Giao th c c u hình a ch ng (Dynamic ho t configuration protocol - DHCP) [RFC 2131]. DHCP là phiên b n m r ng c a giao th c BOOTP [RFC 1542]. V i DHCP, khi máy DHCP ph c v (server) trong m ng (m ng c c b ch ng h n) nh n yêu c u DHCP t t máy khách, nó s phân ph i (gán) m t a ch IP cho máy khách yêu c u. DHCP c s d ng r ng rãi trong m ng c c b hay truy c p Internet t nhà (k t n i modem v i ISP) có a ch m ng không n gi n. Ng i qu n tr m ng ph i liên l c i ISP c a mình. ISP ã c phân ph i m t không gian a ch t ng i n và s c p m t ph n trong không gian a ch này cho t ch c thuê bao. Ví ISP c phân ph i không gian a ch /20. n l t mình ISP chia không gian a ch này thành 8 không gian a ch nh h n b ng nhau và gán 8 không gian này cho các t ch c thuê bao nh d i ây ( ti n theo dõi, ph n m ng trong a ch c g ch chân). Không gian a ch c a ISP: /20 ch c /23 ch c /23 ch c /23 y làm th nào ISP nh n c không gian a ch? a ch IP c ch c ICANN (The Internet Corporation for Assigned Names ang Numbers) [ICANN 2000] qu n lý theo các nguyên t c ch o ghi trong RFC Vai trò c a t ch c phi l i nhu n ICANN [NTIA 1998] không ch là phân ph i a ch IP mà còn qu n tr các root DNS server. Nó c ng còn có nhi m v t tên mi n c ng nh gi i quy t các tranh ch p v tên mi n. Hi n nay vi c phân ph i a ch IP c c quan ng kí Internet c p vùng qu n lý. Gi a n m 2000, có 3 c quan ng kí nh v y: American Registry for Internet Number (ARIN) cho châu M và m t s ph n c a châu Phi. Reseaux IP Europeans Trang 182

190 (RIPE) cho châu Âu và m t s n c chung quanh và Asia Pacific Network lnformation Center (APNIC). Các máy tính có kh n ng di ng (mobile) có th thay i m ng theo cách ng (khi di chuy n) ho c t nh (theo th i gian). Khi nh tuy n, ph i xác nh m ng tr c và sau ó m i t i máy tính trong m ng, nên a ch IP c a máy tính di ng s ph i thay i khi máy tính thay i m ng. Các k thu t lý tr ng h p này ang d c phát tri n [RFC 2002, RFC 2131] Trên th c t Ví d trình bày vi c m t ISP k t n i 8 t ch c vào m ng Internet minh ho vi c phân ph i a ch không phân l p có th áp ng kh n ng nh tuy n phân c p nh th nào. Gi s nh trong hình 4.19, ISP Fly-by- Night-ISP qu ng bá v i th gi i bên ngoài c a nó có th g i các datagram n m c các máy có 20 bit a ch u trùng v i /20. Th gi i bên ngoài không c n bi t trong không gian a ch /20 th c t có 8 t ch c con, m i t ch c có h th ng m ng riêng. Kh n ng s d ng t ti n t m ng (prefix) qu n bá cho nhi u m ng c g i là nhóm ng (route aggregation hay route summarization). Nói chung liên k t ng ho t ng t t khi không gian a ch c phân ph i cho ISP và sau ó phân ph i t ISP t i t ch c khách hàng. Nh ng chuy n gì x y ra n u a ch không c phân ph i theo cách th c phân p? Ch ng h n t ch c 1 không ch p nh n d ch v v i ch t l ng th p a Fly-by-Night-ISP và quy t nh ISP m i, ví d, ISPs-R-Us? Nh minh ho trên hình 4.14, ISPs-R-Us có không gian a ch là /16, nh ng không gian a ch IP c a t ch c 1 l i n m bên ngoài không gian a ch này. S làm gì ây? Ch c ch n, t ch c 1 có th c u hình l i t t các router và máy tính có a ch IP trong mi n a ch c a ISPs-R- Us. Nh ng ây là gi i pháp t n kém, và trong t ng lai r t có th t ch c 1 l i l a ch n m t ISP m i. Gi i pháp ây là cho phép t ch c 1 gi l i a ch /23. Trong tr ng h p này, nh trong hình 4.15, Flyby-Night-ISP ti p t c qu ng cáo không gian a ch /20 và ISPs-R-Us ti p t c qu ng cáo không gian a ch /16. Tuy nhiên ISPs-R-Us bây gi c ng qu ng cáo a ch c a t ch c 1: /23. Khi nh ng router khác trong Internet nh n c qu ng cáo không gian a ch /20 (t Fly-by-Night-ISP) và /23 (t ISPs-R-Us) và mu n nh tuy n t i m t a ch nào ó trong /23 chúng s d ng quy t c a ch ti n t dài nh t (longest prefix rule) nh tuy n t i ISPs-R-Us, vì ISPs-r-Us qu ng cáo a ch có ti n t dài nh t ng v i a ch ích. Trang 183

191 Organization / 23 Organization / 23 Organization / 23 Fly-By-Night-ISP "Send me anything with address beginning /20" Internet Organization / 23 ISP's-R-Us "Send me anything with address beginning /16" Hình 4.14 Organization / 23 Organization / 23 Organization / 23 Fly-By-Night-ISP "Send me anything with address beginning /20" Internet Organization / 23 ISP's-R-Us Hình 4.15 "Send me anything with address beginning /16 or /23" Trang 184

192 2. Chuy n datagram t ngu n t i ích: v n a ch và nh tuy n Gi ây khi ã có nh ngh a v giao di n và m ng và c ng nh các hi u bi t c b n v a ch IP, chúng ta hãy th xem máy tính và các router chuy n t gói tin IP (IP datagram) t n i g i n n i nh n nh th nào. n gi n, ta coi khuôn d ng chung c a gói tin IP gi ng nh trong hình M i IP datagram có có tr ng a ch g i và tr ng a ch nh n. Máy tính g i s n vào tr ng a ch g i 32 bit a ch IP c a mình và n vào tr ng a ch nh n 32 bit a ch IP c a máy tính nh n (gi ng nh các tr ng FROM và TO trên phong bì th ). Tr ng d li u c a datagram th ng là gói TCP ho c UDP segement. Khuôn d ng gói d li u IP c th o lu n chi ti t trong các ph n sau. Misc fields Source IP Address Destination IP Address Data Hình 4.16 Khuôn d ng chung gói d li u t ng m ng Hình 4.17 Sau khi máy tính g i t o ra IP datagram, t ng m ng làm th nào g i datagram t máy tính ngu n t i máy tính ích? Câu tr l i ph thu c vào vi c máy tính ngu n và máy tính ích có n m trong cùng m t m ng hay không. u tiên gi s máy tính A mu n g i IP datagram t i máy tính B n m trong Trang 185

193 cùng m t m ng /24 v i A. u này c th c hi n nh sau: u tiên th c th IP trong máy A dò trong b ng nh tuy n c c b c a nó (xem hình 4.17) và tìm th y hàng /24 trùng v i các bit u ( a ch m ng) trong a ch IP c a máy B. B ng nh tuy n ch ra r ng s l ng các thi t b trung gian n m ng là 1, ngh a là B n m trong cùng m t m ng i A. Do ó máy A có th g i tr c ti p n B mà không c n qua các router trung gian. Sau ó máy A chuy n gói d li u IP cho t ng liên k t d li u chuy n gói d li u ó t i B. Tr ng h p k ti p c xét t i là máy A mu n g i gói d li u t i m t máy n m trong m ng khác, ch ng h n là E. Máy A dò trên b ng nh tuy n và tìm th y /24 có a ch m ng trùng v i ph n m ng trong a ch IP a E. Vì s l ng các thi t b trung gian là 2, nên máy A bi t máy ích n m trên m ng khác và do ó s ph i chuy n qua các router trung gian. Ngoài ra ng nh tuy n t i A c ng cho bi t g i t i E, u tiên máy A ph i g i gói li u t i a ch IP là a ch IP c a giao di n router k t n i vào cùng m t m ng v i A. Th c th IP trong máy A chuy n gói d li u xu ng ng liên k t d li u và yêu c u chuy n t i a ch IP M t chú ý r t quan tr ng ây là m c dù gói d li u IP c g i t i giao di n c a router (qua t ng liên k t d li u), a ch ích trong gói d li u v n là a ch ích cu i cùng ( a ch c a E) ch không ph i là a ch router trung gian. Routing table in A Dest. Network Next router Nhops Interface / / / A ` ` ` B ` ` E ` ` Hình 4.18 Trang 186

194 Khi gói d li u t i router thì công vi c c a router là chuy n gói d li u ng t i ích cu i cùng. Nh v y gói d li u ph i c chuy n n giao di n c a router có a ch IP là B i vì s l ng các thi t b trung gian t i ích là 1, nên router bi t r ng ích (E) n m trên cùng m t m ng v i giao di n ng v i a ch , do ó router chuy n gói d li u t i giao di n (c ng) này, và sau ó gói d li u c chuy n tr c ti p t i E. Chú ý r ng trong hình 4.18, các hàng trong c t next router là r ng vì i m ng ( /24, /24, và /24) c k t n i tr c ti p i router. Trong tr ng h p này, chúng không c n ph i i qua các router trung gian n ích. Tuy nhiên n u máy A và máy E cách nhau 2 router thì trong trong b ng nh tuy n c a router u tiên trên tuy n ng t A t i E, dòng t ng ng v i ích E s ch ra ph i qua 2 ch ng n a m i t i c ích và ph i ch ra a ch IP c a router th hai trên tuy n ng. Router u tiên chuy n gói d li u t i router th hai nh vào giao th c c a t ng liên k t d li u gi a hai router. Sau ó router th hai s chuy n gói d li u t i máy ích nh giao th c t ng liên k t d li u gi a router th hai và máy ích. nh tuy n cho gói d li u trên m ng Internet c ng t ng t nh ng i lái xe trên ng và h i ng các c nh sát giao thông t i m i bùng binh. Trên ng di chuy n t ngu n t i ích, gói d li u s i qua hàng lo t các router. T i m i router, gói tin d ng l i và h i router i ng nào t i ích. Tr khi router trên cùng m ng v i máy tính ích, v c b n, b ng nh tuy n trong router s nói v i gói d li u: Tôi không bi t chính xác i n ích cu i cùng nh th nào, nh ng tôi bi t h ng t i nó là d c theo ng này. Sau ó gói d li u s c g i i trên ng k t n i này n m t router khác và i h i ng ti p. Rõ ràng r ng b ng nh tuy n trong các router óng m t vai trò then ch t trong vi c nh tuy n gói tin qua m ng Internet. Nh ng làm th nào c u hình và b o trì nh ng b ng nh tuy n này trong m t m ng c c l n v i nhi u tuy n ng gi a ích và ngu n (nh trong m ng Internet). Rõ ràng các b ng nh tuy n này ph i c c u hình sao cho các gói d li u c i theo nh ng ng t t nh t t ngu n t i ích. 3. Khuôn d ng gói d li u IP (IP datagram format) Hình 4.19 minh h a khuôn d ng gói d li u IP Các tr ng khoá trong gói d li u IPv4 là nh sau: Trang 187

195 Phiên b n (version): Tr ng 4 bit này xác nh phiên b n giao th c IP c a gói d li u. Qua tr ng phiên b n, router m i xác nh c ý ngh a các tr ng còn l i trong gói d li u IP. Các phiên b n IP khác nhau s d ng các khuôn d ng d li u khác nhau. dài tiêu (Header length): Gói d li u IPv4 có th có nhi u tr ng mang tính l a ch n ( t trong tiêu gói d li u IPv4). 4 bit này c dùng xác nh v trí b t u c a d li u th c s trong gói li u IP. Tuy nhiên ph n l n gói d li u IP không ch a các tr ng a ch n nên tiêu c a gói d li u th ng c nh là 20 byte Ki u d ch v (Type of service - TOS): Tr ng ki u d ch v (TOS) giúp phân bi t các ki u khác nhau c a gói d li u IP, t ó có th lý theo nh ng cách khác nhau. Ví d khi m ng quá t i, c n phân bi t c gói d li u ch a thông tin ki m soát m ng (ICMP) v i gói li u th c s (thông p HTML) hay gi a datagram ch a d li u th i gian th c ( ng d ng n tho i qua Internet) v i datagram không ch a d li u th i gian th c ( ng d ng FTP). G n ây Cisco (công ty chi m th ph n router l n nh t) ã s d ng 3 bit u tiên c a tr ng TOS nh ngh a các m c d ch v khác nhau mà router có th cung p. Các m c d ch v c th c ng i qu n tr router thi t l p theo nh ng tiêu chí c a t ch c. Version Header Length Type of Service Datagram Length (bytes) 16-bit Identifier Flags 32-bit Fragmentation Offset Time-to-live Upper Layer Protocol Header Checksum 32-bit Source IP Address 32-bit Destination IP Address Option (if any) Data 32 bites Hình 4.19 Khuôn d ng gói d li u IP dài gói d li u (datagram length): ây là t ng dài tính theo byte c a gói d li u IP (c ph n tiêu l n ph n d li u). dài Trang 188

196 tr ng này là 16 bit nên v lý thuy t kích th c t i a c a gói d li u IP là byte. Tuy nhiên, hi m khi kích th c gói d li u v t quá 1500 byte và th ng gi i h n là 576 byte. nh danh, c và v trí phân n (Identifer, Flags, Fragmention Offset): 3 tr ng này c s d ng khi phân m nh gói IP (fragmentation), m t ch mà chúng ta s xem xét chi ti t d i ây. Chú ý phiên b n m i c a IP (IPv6) không cho phép phân m nh gói d li u t i các router. Th i gian t n t i (Time-To-live-TTL): Tr ng th i gian t n t i (TTL) c s d ng b o m gói d li u không c l u chuy n mãi mãi nh tuy n l p theo các ng vòng) trong m ng. Tr ng này c gi m i m t (- 1) m i l n gói tin i qua m t router. N u tr ng TTL ng 0 thì router s lo i b gói tin. Giao th c (Protocol): Tr ng này ch c s d ng khi gói d li u IP n c máy tính ích. Giá tr c a tr ng này xác nh giao th c ng giao v n máy tính ích s nh n c ph n d li u trong gói d li u IP. Ví d giá tr 6 có ý ngh a ph n d li u c n chuy n t i th c th TCP, giá tr 17 có ý ngh a ph n d li u ph i chuy n n th c th UDP. RFC 1700 li t kê các giá tr này. Chú ý r ng vai trò c a tr ng giao th c trong gói d li u IP t ng t vai trò tr ng s hi u c ng trong segment c a t ng giao v n. Tr ng giao th c c xem là m i gi a t ng m ng và t ng giao v n c ng nh tr ng s hi u c ng là m n i gi a t ng giao v n v i ng d ng c th. Trong ch ng 5 chúng ta c ng s th y trong frame c a t ng liên k t d li u c ng có t tr ng c bi t n i v i t ng m ng. Checksum c a tiêu (Header checksum): Tr ng checksum trong tiêu giúp router phát hi n l i trong tiêu gói d li u IP c g i n. Giá tr checksum c tính b ng cách xem ph n tiêu là m t chu i các t hai byte, c ng các t này l i và sau ó l y bù m t. Nh ã th o lu n trong ph n 3.3, s bù m t c a t ng này c g i là Internet checksum. Router tính l i Internet checksum cho m i gói d li u IP nh n c và có th phát hi n ra l i n u nh giá tr checksum tính l i khác giá tr checksum trong gói d li u. Router th ng lo i b nh ng gói d li u b l i. Chú ý r ng router ph i tính l i checksum, tr ng TTL và có th m t s tr ng khác. RFC 1071 trình bày ph ng th c tính checksum nhanh. M t v n th ng c t ra ây là t i sao TCP/IP th c hi n ki m tra l i c t ng giao v n l n t ng Trang 189

197 ng? Có nhi u nguyên nhân c a vi c này. Th nh t : Các router không b t bu c ph i ki m tra l i, vì v y t ng giao v n không th d a vào t ng m ng làm vi c này. Th hai: TCP/UDP và IP không nh t thi t n m trong cùng m t nhóm giao th c. TCP có th ch y trên giao th c khác (ví d ATM) và IP có th chuy n d li u không ph i là TCP hay UDP segment. ia ch IP ngu n và ích: Nh ng tr ng này là 32 bit a ch IP c a máy tính g i và máy tính nh n. T m quan tr ng c a a ch ích là rõ ràng. Trong ph n 3.2 chúng ta th y r ng a ch IP máy g i (cùng v i hi u c ng ngu n và ích) c máy nh n s d ng h ng d li u ng d ng t i socket phù h p. a ch n (Option): Các tr ng này cho phép m r ng tiêu IP. Ph n l a ch n trong tiêu hi m khi c s d ng. S t n t i c a ph n l a ch n trong tiêu làm ph c t p vi c x lý các gói tin vì tiêu c a gói d li u có ph n l a ch n không có dài c nh, do ó không xác nh c v trí b t u c a d li u th c s. Nh v y th i gian x lý gói d li u IP t i m i router có th khác nhau. ây là nh c m c a các m ng hi u su t cao. Vì th, IPv6 s lo i b các tr ng a ch n. li u (payload): Cu i cùng là tr ng quan tr ng nh t - tr ng d li u. Thông th ng tr ng d li u c a gói IP là gói d li u c a t ng giao v n (TCP hay UDP segment) chuy n n n i nh n. Tuy nhiên, tr ng d li u có th là các ki u d li u khác, ví d thông p ICMP. 4. Phân m nh (Fragmentation) và H p nh t (Reassembly) gói tin IP Trong ch ng 5 chúng ta s th y không ph i t t c các giao th c c a ng liên k t d li u u có kh n ng truy n các gói tin (packet) có cùng n. M t vài giao th c có th g i nh ng gói tin l n trong khi m t vài giao th c ch có th g i nh ng gói tin nh. Ví d, gói tin c a m ng Ethernet có n không quá 1500 byte, trong khi gói tin trên nh ng liên k t m ng di n ng có l n không v t quá 576 byte. S l ng d li u t i a c a m t gói tin trên m t ng truy n v t lý c nh ngh a là MTU (maximum transfer unit). Gói d li u IP c t trong gói d li u c a t ng liên k t d li u gi a hai router k ti p nhau trên ng truy n. Do v y giá tr MTU c a giao th c c a t ng hên k t d li u gi i h n dài c a gói tin IP. Gi i h n kích th c c a gói tin IP không ph i là v n l n. V n ây là các k t n i Trang 190

198 gi a các router d c theo tuy n ng t n i g i n n i nh n có th s d ng các giao th c liên k t d li u khác nhau v i nh ng giá tr MTU khác nhau. hi u v n c rõ h n, hãy th hình dung b n là m t router v i nhi u k t n i, m i k t n i có m t giao th c liên k t d li u khác nhau v i các giá tr MTU khác nhau. Gi s khi nh n c m t gói d li u n t m t liên t nào ó, b n c n c vào a ch ích ki m tra trong b ng nh tuy n xác nh c n g i gói tin i ra theo k t n i nào. Tuy nhiên ng k t n i ra ngoài này có giá tr MTU nh h n dài gói d li u IP. Làm th nào b n có th t gói tin IP l n trong gói tin c a t ng nên k t d li u có kích th c nh h n? Gi i pháp cho v n này là phân m nh (fragmentation) d li u trong gói d li u IP thành nhi u gói d li u IP nh h n và sau ó g i nh ng gói d li u nh h n này trên ng k t n i. M i gói d li u IP nh này c coi là m t nh (fragment). Các m nh tách r i này c n c ráp l i tr c khi chuy n lên t ng giao n t i máy tính nh n. Rõ ràng là c TCP và UDP u mong mu n nh n c t segment y, không b phân m nh t t ng m ng. Vi c h p nh t các gói d li u t i các router s làm giao th c ph c t p lên nhi u và làm gi m hi u su t c a router. Gi v ng nguyên t c thi t k t ng m ng n gi n nh t có th, IPv4 quy t nh vi c h p nh t các m nh d li u c th c hi n t i các thi t b u cu i ch không ph i là t i các router. Khi máy tính ích nh n c m t lo t các gói d li u t cùng m t ngu n, nó c n ph i xác nh li u y là nh ng gói d li u c l p hay là các nh c a m t gói d li u l n ban u. Trong tr ng h p th hai, nó ph i ti p c xác nh li u ã nh n c y các m nh ch a và làm sao ráp các nh này t i theo tr t t ban u t o ra gói d li u nguyên th y. Máy tính ích s s d ng các tr ng identifcation, flag và fragmentation th c hi n công vi c h p nh t này. Khi t o ra m t gói d li u IP, ngoài a ch g i và a ch nh n, máy tính g i s t vào tr ng identifcation t s nh danh. Giá tr c a s nh danh s t ng d n. Khi m t router c n chia chia nh m t gói d li u, thì t t c các gói d li u con c t o ra u có a ch ngu n, a ch ích và giá tr tr ng nh danh gi ng h t gói d li u ban u. Khi ích nh n c m t lo t các gói d li u t cùng m t n i g i n, nó có th ki m tra giá tr nh danh xác nh li u nh ng gói d li u ó có là các m nh c a m t gói d li u l n h n hay không. Vì d ch v IP không tin c y nên m t s m nh có th không n c ích. máy tính nh n có th ch c ch n là ã nh n c m nh cu i cùng c a gói d li u ban u, thì tr ng c c a m nh cu i cùng ph i có giá tr 0, trong khi tr ng c c a các m nh khác có giá tr là 1. Trang 191

199 ng t máy nh n xác nh c li u có m t m nh nào không (và ghép các m nh theo úng th t ), tr ng Offset c s d ng xác nh v trí c a m nh trong gói d li u IP ban u. Xét ví d trên hình M t gói d li u có l n 4000 byte n router và ph i g i qua gói d li u ban u ph i c tách ra thành ba m nh phân bi t (m i m nh tr thành m t gói d li u IP c l p). Gi s gói d li u ban u có tr ng nh danh nh n giá tr 777. Giá tr các tr ng trong ba m nh này c ch ra trong b ng 4.3. ` ` Fragmenttation: In: One large datagram (4000 bytes) Out: 3 smaller datagrams Reassembly: In: 3 smaller datagrams Out: 1 large datagram Link MUT: 1500 bytes ` ` Hình 4.20 Fragment Bytes ID Offset Flag byte trong tr ng li u identification=777 offset=0 (d li u t u t byte th 0) flag=1 (còn nh n a) byte trong tr ng li u identification=777 offset=1480 (d li u b t u t byte th 1480) flag=1 (còn nh n a) byte(= ) trong tr ng d li u identification=777 offset = 2960 (d li u b t u t byte th 2960) flag=0 ( ây là m nh cu i cùng) ng 4.3 Trang 192

200 li u c a gói IP ch c chuy n n t ng giao v n t i máy tính nh n khi t ng IP tái t o hoàn ch nh gói d li u IP ban u. N u m s m nh di u b t không n c ích, thì toàn b gói d li u s b lo i b và không c chuy n lên t ng giao v n. Nh ng nh ã nghiên c u trong ch ng tr c, n u d ng TCP t ng giao v n, thì th c th TCP s kh c ph c m t mát do phía i s g i l i gói d li u ban u. Phân n và h p nh t t thêm các nhi m v cho các router (t o ra các nh) và thi t b nh n (h p nh t các m nh). Vì th ng i ta c g ng gi m thi u vi c phân m nh d li u. u này th ng c th c hi n b ng cách gi i n l n gói d li u c a t ng giao v n (TCP hay UDP segment) b i m t giá tr t ng i nh. Khi ó vi c phân m nh tr nên không c n thi t. Vì ph n l n các giao th c liên k t d li u h tr IP có MTU t i thi u là 536 byte, có th lo i b hoàn toàn vi c phân m nh n u t giá tr MSS là 536 byte v i 20 byte tiêu c a gói TCP và 20 byte tiêu c a gói IP. ây chính là lý do h u h t các gói TCP khi truy n kh i l ng l n d li u (ch ng h n FTP) có dài t 512 n 536 byte (Khi duy t WEB, b n s th y th ng kho ng 500 byte d li u n cùng m t l n). u gói TCP c b ng trong gói IP và c hai gói TCP và IP u không có tr ng tùy ch n (option) thì gói d li u IP s có 40 byte tiêu, ph n còn i là d li u ng d ng. 5. Giao th c ki m soát l i ICMP (Internet Control Message Protocol) ICMP c các máy tính u cu i, router và các c ng (gateway) s d ng trao i các thông tin t ng m ng v i nhau. ICMP c c t trong RFC 792. ICMP c s d ng ch y u cho vi c báo l i. Ví d khi ch y m t phiên Telnet, FTP, ho c HTTP, b n có th g p m t thông p nh Destination network unreachable (Không n c m ng ích). Thông p này có do th c th ICMP router t o ra. Khi không tìm c ng d n n máy tính ích, router s t o ra và g i thông báo ICMP ki u 3 t i máy tính c a b n v i c ích thông báo l i. Máy tính nh n c thông báo l i ICMP s tr l i mã i cho th c th TCP ang c g ng k t n i t i máy tính ích. n l t l t mình, TCP tr l i mã l i cho ng d ng (là phiên làm vi c FTP, HTTP...). ICMP th ng c coi là m t ph n c a IP, nh ng v m t ki n trúc l i m trên IP, b i vì thông báo ICMP c t trong gói IP, gi ng nh TCP ho c UDP segment n m trong tr ng d li u (payload) c a gói d li u IP. ng t, khi nh n c m t gói tin IP v i tr ng protocol xác nh giao Trang 193

201 th c ICMP, t ng m ng c a máy tính nh n s chuy n ph n d li u (và thông p ICMP) lên th c th ICMP, gi ng nh ã làm v i TCP hay UDP. Thông báo ICMP có tr ng ki u (type) và tr ng mã (code), và ch a 8 byte u tiên c a gói d li u IP gây ra l i (nguyên nhân t o ra thông báo ICMP). Do ó phía g i có th xác nh c gói tin nào gây ra l i. M t s ki u thông p ICMP tiêu bi u c minh h a trên hình Chú ý r ng thông báo ICMP không ch c s d ng báo l i. Ch ng trình ping t thông d ng g i thông báo ICMP ki u 8, mã 0 t i máy tính nào ó, máy tính nh n c yêu c u ICMP s g i l i m t thông báo ICMP ph n h i v i ki u 0, mã 0. ICMP Type Code Description 0 0 echo reply (to ping) 3 0 destination network unreachable 3 1 destination host unreachable 3 2 destination protocol unreachable 3 3 destination port unreachable 3 6 destination network unknown 3 7 destination host unknown 4 0 source quench (congestin control) 8 0 echo request 9 0 route advertisement 10 0 route discovery 11 0 TTL expired 12 0 IP header bad Hình 4.21 Các ki u thông p ICMP hay g p Ch ng trình Traceroute cho phép b n xác nh t t c các router trên t tuy n ng gi a b t k hai thi t b u cu i nào. Ch ng trình Traceroute c ng s d ng các thông báo c a ICMP xác nh nh tên và a ch c a các router gi a ngu n và ích. Ch ng trình Traceroute trong máy tính ngu n s g i i m t lo t các gói d li u IP t i máy tính ích. Gói IP u tiên có tr ng TTL nh n giá tr 1, gói th hai là 2, gói th ba là 3,... Máy tính ngu n t timer cho m i gói IP g i i. Khi gói IP th n n router th n, router này th y tr ng TTL c a gói d li u nh n giá tr 0, nên theo nguyên t c a giao th c IP, router s lo i b gói d li u và g i thông p c nh báo Trang 194

202 ICMP (ki u 11 mã 0). Trong thông p c nh báo này có tên và i ch IP c a router. Khi nh n c thông báo ICMP, máy tính ngu n xác nh c th i gian kh h i n router th n (nh timer) c ng nh tên, và a ch IP c a router ó. V. NH TUY N TRÊN INTERNET Sau khi ã nghiên c u v a ch Internet và giao th c IP, bây gi chúng ta nói t i các giao th c nh tuy n c a Internet - là các giao th c xác nh tuy n ng i t ngu n t i ích. Chúng ta s th y r ng các giao th c nh tuy n c a Internet c tri n khai d a trên nh ng nguyên t c: link state, distance vector và mi n t tr (AS). Chúng ta bi t r ng m ng Internet toàn c u ngày nay là s k t h p l ng o c a nhi u m ng bao g m các ISP khu v c, qu c gia và qu c t. Chúng ta ã bi t r ng t p h p các router cùng n m d i m t m t s qu n tr - ít nh t v t k thu t - t o thành m t mi n (AS). M i AS l i có th bao g m nhi u ng. m phân bi t quan tr ng nh t gi a các giao th c nh tuy n c a Internet là li u chúng c s d ng nh tuy n trong m t mi n hay gi a các mi n v i nhau. 1. nh tuy n trong m t mi n (Intra-AS routing) ( nh tuy n n i mi n) Giao th c nh tuy n Intra-AS c s d ng c u hình và duy trì b ng nh tuy n trong t t c các router trong m t mi n. Nh ng giao th c nh tuy n ki u này c g i là giao th c nh tuy n n i mi n (interior gateway protocol). Trên Internet có 3 giao th c nh tuy n n i mi n c s d ng ng rãi: RIP (Routing lnformation Protocol), OSPF (Open Shortest Path First) và EIGRP (Cisco's propriety Enhanced Interior Gateway Routing Protocol) RIP (Routing Information Protocol) RIP là m t trong nh ng giao th c nh tuy n n i mi n u tiên. Nó c tri n khai trong m t ch ng trình c g i là routed trong ph n l n các h th ng UNIX. RIP có m t s c m sau: nh tuy n n i mi n: Cho phép trao i thông tin gi a các router trong m t mi n. o kho ng cách b ng ch ng: Giá ng i gi a hai thi t b u cu i c xác nh b ng s l ng các router trung gian trên ng i ó. Trang 195

203 dài t i a c a m t tuy n ng là 15, ngh a là ng kính t i a a m t mi n là 15 router. Truy n thông không tin c y: RIP s d ng UDP chuy n thông p. i qu ng bá (broadcast) và multicast: RIP c s d ng ch y u trên m ng c c b (LAN) h tr công ngh truy n qu ng bá (m ng Ethernet). RIP v1 s d ng cách truy n qu ng bá khi truy n gi a hai router. RIP v2 cho phép truy n theo ch multicast. Thu t toán distance vector. RIP s d ng thu t toán distance vector. Các router hàng xóm trao i b ng nh tuy n cho nhau 30s m t l n trong các thông p RIP (RIP response message, RIP advertisement), i thông p ch a t i a 25 a ch ích t i. Các máy tính có th th ng nh n thông tin t các router. RIP cho phép các thi t b u cu i (ch y u là máy tính) l ng nghe và c p nh t b ng nh tuy n. u này c bi t h u d ng v i các m ng có nhi u router. Khi ó máy tính trong m ng có th d dàng xác nh c router c n chuy n t i. Chú ý r ng router g i m t thông p RIP li t kê các m ng mà nó có th t n i v i. Khi nh n c m t qu ng cáo nh v y, th c th RIP (ph n m m) trên router nh n s d ng nh ng thông tin này c p nh t b ng nh tuy n c a nó. M i m t tr ng trong thông p qu ng cáo là m t c p: a ch m ng ích n, kho ng cách r) trong ó kho ng cách r là s l ng các router trung gian t router g i thông p t i ích có a ch m ng là n. Khi nh n c m t thông p, gi s router nh n không có ng i t i ích c qu ng cáo trong thông p ho c có ng i n ích nh ng giá l n h n, router s c p nh t b ng nh tuy n s d ng tuy n ng m i c qu ng cáo ( m u tiên trên tuy n ng này chính là router g i qu ng cáo). u m chính c a RIP là tính n gi n. RIP không òi h i c u hình nhi u. Ng i qu n tr ch c n b t máy lên, cho phép router trao i thông tin i nhau, sau m t th i gian ng n, router s t xây d ng c b ng nh tuy n a mình. ch c có th l a ch n m t router trong mi n làm router ng m nh, th ng là router n i v i ISP. Sau ó RIP s th c hi n vi c qu ng cáo cho router ng m nh này. Sau ó các gói tin g i ra phía ngoài s c g i qua Trang 196

204 router ng m nh t i ISP. Hình 4.22 minh h a khuôn d ng thông p c p nh t RIP. M i tr ng trong thông p ng v i m t a ch ích, m t n m ng a a ch ích ( o ó có th s d ng a ch không phân l p CIDR), kho ng cách t i ích và nút k ti p trên ng t i ích Command(1-5) Version(2) Must be zero Family of Net 1 IP address of Net 1 Subnet mask for Net 1 Next hop for Net 1 Distance to Net 1 Route tag for Net 1 Family of Net 2 Route tag for Net 2 IP address of Net 2 Subnet mask for Net 2 Next hop for Net 2 Distance to Net OSPF - Open Shortest Path First Hình Khuôn d ng gói d li u RIP RIP có m t s nh c m c a thu t toán distance vector. dài c a thông p có th l n do ph i li t kê toàn b danh sách các a ch ích và kho ng cách t i ó. Khi nh n c thông p, router nh n ph i l y ra tìm tr ng, so sánh trong b ng nh tuy n c a nó, nh v y th i gian x lý thông p trong m i router l n, gây ra m t tr nào ó. Do v y RIP ch phù h p i các m ng có kích c nh. Khi m t t ch c m ng t ng i l n, ng i ta c n ph i a ra giao th c phù h p h n. IETF ã a ra OSPF v i các c m sau: nh tuy n n i mi n: Cho phép trao i thông tin gi a các router trong m t mi n. tr phân m ng và CIDR. Bên c nh a ch IP 32 bit là m t n 32 bit. Do ó OSPF h tr vi c phân m ng, t o l p m ng con. Trang 197

205 Trao i các thông tin ã c ki m ch ng. Hai router trao i thông p OSPF v i nhau có th ti n hành th t c ki m tra xác nh mình nh n c thông p t úng phía bên kia. u này ng n ng a c tin t c ti n hành các cu c t n công b ng ph ng pháp gi o. d ng thu t toán Linh state. tr phân c p trong mi n. u m chính c a OSPF là cho phép ti p t c phân m t mi n thành nhi u mi n con. As External Links text ASB Area 1 IA text IA text OSPF Backbone text text text text AB Area 2 AB Area 4 Area 3 AB text ASB As External Links Hình 4.23 OSPF cho phép chia mi n con 2. nh tuy n gi a các mi n (INTER-AS routing) ( nh tuy n liên mi n) Giao th c BGP (Border Gateway Protocol v4) (xem c t RFC 1771, 1772, 1773) c xem là m t chu n ng m nh de facto trong nh tuy n nên mi n trên Internet ngày nay. Nhi m v c a nó là nh tuy n gi a các mi n c qu n tr c l p v i nhau. Trang 198

206 BGP (Border Gateway Protocol) BGP là giao th c liên mi n ch y u c s d ng hi n nay. BGP có nh ng c m sau: nh tuy n liên mi n. BGP cho phép cung c p các thông tin nh tuy n gi a các mi n. M i tuy n ng c xem là m t chu i các AS liên ti p nhau. tr vi c thi t l p chính sách (policy). Ng i qu n tr có th áp ng nh ng chính sách nào ó, ví d h n ch vi c qu ng cáo ra phía ngoài. Truy n thông tin c y. Hai th c th BGP s d ng k t n i TCP trao i thông p. VI. C U T O C A THI T B NH TUY N (ROUTER) Input Port Output Port Input Port Switching Fabric Output Port Routing Processor Hình 4.24 Ki n trúc b nh tuy n Các ph n tr c trình b y v các mô hình d ch v c a t ng m ng, các thu t toán nh tuy n xác nh ng i cho các gói tin trên m ng c ng nh các giao th c g n v i các thu t toán y. Trong ph n này, chúng ta s nói n t ch quan tr ng khác - ch c n ng chuy n m ch c a b nh tuy n - công vi c th c s chuy n m t datagram t nên k t này t i liên k t kia. Ch nghiên c u các khía c nh v m t ki m soát và d ch v c a t ng m ng c ng gi ng nh nghiên c u m t công ty mà ch tìm hi u c ch qu n lý c a công ty và các quan h v i bên ngoài. hi u rõ v công ty, ng i ta ph i xem xét n các công nhân. Trong t ng m ng, công vi c th c s c a vi c truy n gói tin chính là vi c chuy n gói tin t liên k t này t i nên k t kia c a router. Trong m c này chúng ta s nghiên c u router th c hi n công vi c này nh th nào. Trang 199

207 t cách t ng th, ki n trúc chung c a router c minh h a trong hình B n thành ph n chính có th c xác nh nh sau: ng vào (Input port). C ng vào c a router th c hi n m t s ch c ng: ch c n ng c a t ng v t lý (h p ngoài cùng c ng vào và c ng ra); ch c n ng c a t ng liên k t d li u (là các h p gi a i v i c ng vào và ng ra) c n thi t làm vi c c v i t ng liên k t li u u kia k t n i; ch c n ng tìm ki m và chuy n (h p trong cùng c a c ng vào và c ng ra). Gói tin t c ng vào s i qua k t c u chuy n t i c ng ra phù h p. Các gói tin ch a thông tin u khi n (ch a thông tin u khi n c a các giao th c RIP, OSPF, BGP) s c chuy n t c ng vào n b x lý c a router. t c u chuy n (Switching fabric). K t c u chuy n n i c ng vào c a router t i c ng ra. K t c u chuy n n m hoàn toàn trong router - là m t ng chuy n m ch n m bên trong router m ng. ng ra (output port) C ng ra nh n nh ng gói d li u g i t i nó qua t c u chuy n và sau ó truy n gói d li u này trên ng n i ra ngoài. Nó c ng th c hi n ch c n ng c a t ng liên k t d li u và t ng t lý. x lý (Routing Processor) x lý router th c hi n các giao th c nh tuy n, (ví d các giao th c ã nói trong ph n 4.5), duy trì b ng nh tuy n, và th c hi n m t s ch c n ng qu n tr m ng. i ây chúng ta s nghiên c u các thành ph n này m t cách k l ng n. Có th tìm hi u k ki n trúc c a router trong [Turner 1988 ; Giacopeth 1990 ; McKeown 1997a; Partridge 1998]. [Mckeown1997b] mô t t ng quan ki n trúc các router hi n i, s d ng router CISCO làm ví d minh a. 1. C ng vào (Input port) Hình 4.35 minh h a chi ti t các ch c n ng c a c ng vào. Nh ã nói trên, ch c n ng k t thúc tín hi u trên ng truy n (link termination) và x lý liên k t d li u ng v i t ng v t lý và t ng liên k t d li u c a m t ng truy n v t lý th c s v i router. Ch c n ng tìm ki m và chuy n ti p c a c ng vào óng vai trò trung tâm trong vi c chuy n c a b nh tuy n. Trong nhi u router, c ng vào chính là n i xác nh c ng ra cho m t gói d li u. C ng ra c xác nh nh các thông tin l u trong b ng nh tuy n. M c dù b ng nh tuy n c b x lý t o ra, song m i c ng vào u có m t b ng sao chép Trang 200

208 ng nh tuy n và c p nh t khi c n thi t. Nh v y, quy t nh chuy n n ng ra nào có th c th c hi n c c b t i c ng vào, mà không c n n x lý trung tâm. u này khi n b x lý s không tr thành m t nút c chai c a router. Line Termination Data Link Processing (Protocol, Decapsulation) Lookup Forwarding Queuing Switch Fabric Hình 4.25 i nh ng router mà kh n ng x lý c ng vào còn h n ch, c ng vào chuy n gói d li u t i b x lý. B x lý s tìm ki m trên b ng nh tuy n xác nh c ng ra thích h p. Ng i ta th ng áp d ng gi i pháp này trong tr ng h p router là m t tr m làm vi c hay m t máy tính. Khi ó, b x lý a router là b x lý c a tr m làm vi c hay c a máy tính. C ng vào s là card m ng (ví d card Ethernet). i b ng nh tuy n xác nh tr c, tìm ki m trên b ng nh tuy n ng i n gi n. Duy t toàn b b ng nh tuy n xác nh hàng nào có a ch phù h p nh t v i a ch ích c a gói d li u, trong tr ng h p không tìm th y thì s d ng c ng m c nh. Tuy nhiên tri n khai trong th c t l i không n gi n nh th. u ph c t p nh t là router trên các tr c chính (backbone router) ph i ho t ng t c cao, có kh n ng th c hi n hàng tri u phép tra c u m i giây.th c s ng i ta mong mu n t c x lý c ng vào ph i ngang v i t c ng truy n (link speed), có ngh a là t c x lý ph i nh h n t c n c a các gói tin. Nh v y gói tin có th c x lý xong tr c khi gói tin k ti p n. ho t ng t c cao không th s d ng ph ng pháp tìm ki m tuy n tính trên b ng nh tuy n. H p lý h n là l u gi giá tr c a b ng nh tuy n trong c u trúc d li u d ng cây. M i m c trong cây ng v i v trí m t bit trong a ch ích. tìm ki m m t a ch, b t u t c a cây. N u bit a ch u tiên là 0 thì a ch c n tìm n m trong cây con trái, ng c l i m trong cây con ph i. Ti p t c duy t cây con b ng cách s d ng các bit còn i. Bit k ti p b ng 0, tìm trên cây con trái, bit k ti p b ng 1 tìm trên cây con ph i. Ng i ta s tìm ki m b ng nh tuy n trong N b c, N là s l ng bit trong a ch. Có th c thêm các tài li u [Doeringer 1996] và [Srinivasan 1999] tìm hi u thêm v k thu t này c ng nh k thu t tìm ki m nh phân. Trang 201

209 Th m chí v i N = 32 ( a ch IP 32 bit), t c tìm ki m b ng k thu t duy t nh phân ch a nhanh áp ng yêu c u nh tuy n trên các ng tr c chính c a Internet. Ví d t c truy c p b nh là 40ns. ã có m t s k thu t nâng cao t c này. B nh ánh a ch theo n i dung (CAM - Content Addressable Addressing) cho phép a ch IP 32 bit c bi u di n trong CAM, và các tr ng t ng ng v i a ch ó c xác nh trong kho ng th i gian c nh. Dòng router CISCO 8500 [Cisco ] có 64K CAM cho m i c ng vào. K thu t khác làm t ng t ng t c tra c u là u gi các a ch v a c truy c p trong b nh truy c p nhanh cache [Feldmeir 1988]. V n c n quan tâm ây là l n c a cache. Khi xác nh c c ng ra, gói d li u s c chuy n n qua k t c u chuy n. Tuy nhiên, gói d li u t m th i có th b phong t ch a c chuy n qua k t c u (có th do các gói d li u khác ang s d ng k t c u chuy n). M t gói d li u b phong t a ph i x p hàng c ng vào và i c lên l ch chuy n qua k t c u t i m t th i m nào ó. Công ty Cisco: th ng tr th tr ng m ng Tháng giêng n m 2000, Công ty Cisco có công nhân và tr giá 360 t ôla. Cisco hi n th ng tr th tr ng router, và hi n nay ang nhanh chóng chi m l nh th tr ng n tho i qua Internet c nh tranh quy t li t cùng i các công ty thi t b n tho i n Lucent, Alcatel, Nothern Tel com và Siemens. Cisco c kh i u nh th này? B t u t n m 1984 trong phòng ti p khách c a m t c n h t i Silicon Valley. Khi làm vi c i h c Stanford, Len Bosak cùng v là Sandy Lerner y ra ý t ng s n xu t và bán router Internet cho các vi n nghiên c u và tr ng i h c. Sandy Lerner a ra tên goi c a công ty Cisco (vi t t t c a SanFrancisco) và bà c ng thi t k bi u t ng cho công ty. Ban u t ng hành dinh c a công ty t ngay t i phòng khách c a h. Hai v ch ng ph i d ng th tín d ng trong công vi c kinh doanh và ph i làm thêm công vi c v n vào ban êm. Cu i n m 1986, doanh thu c a Cisco lên t i USD/tháng m t k t qu không t i v i công ty c c p v n ch ng th tín d ng mà không có s hùn v n nào. Cu i n m 1987 Cisco huy ng c 2 tri u ô t Sequoia Capital i láy vi c ki m soát 1/3 công ty. Vài n m ti p theo Cisco ti p t c phát tri n và giành ngày càng nhi u th ph n. Cùng th i m ó, quan h v chông Bosak, Lener v i ôi ng qu n lý c a Cisco b t u tr c tr c. Cisco niêm y t trên th tr ng c phi u vào m Cùng n m ó, Cisco sa th i Lerner và Bosak v h u. Trang 202

210 2. K t c u chuy n (Switching fabric) t c u chuy n n m trung tâm c a router. Gói d li u chuy n t c ng vào n c ng ra qua k t c u chuy n. Vi c chuy n c th c hi n b ng nhi u cách nh minh h a trên hình Chuy n qua b nh : Các router u tiên n gi n nh t th ng chính là các máy tính truy n th ng, vi c chuy n t c ng vào t i c ng ra c th c hi n d i s u khi n tr c ti p c a CPU. C ng vào và ng ra ch là các thi t b vào ra truy n th ng trong h u hành. Khi nh n c m t gói d li u, c ng vào s s d ng ng t báo cho CPU. Sau ó gói d li u c sao chép vào b nh c a vi x lý. vi x lý l y a ch ích t tiêu gói tin, tìm c ng ra trong b ng nh tuy n và sao chép gói d li u vào b m c a c ng ra. Nhi u router hi n i c ng th c hi n vi c chuy n qua b nh. m khác bi t chính ch vi c xác nh a ch ích và vi c l u tr (chuy n) gói d li u vào v trí phù h p trong b nh c th c hi n i b x lý trên m ch c ng vào. Router chuy n qua b nh, theo m t cách nào ó gi ng h th ng nhi u b x lý v i b nh dùng chung, b lý trên c ng vào s t gói d li u vào b nh c a m t c ng ra thích h p. Dòng router Cisco Catalyst 8500 [Cisco ] và dòng Bay Network Acceiar 1200 chuy n gói d li u qua b nh dùng chung. Chuy n qua bus: C ng vào chuy n th ng gói tin t i c ng ra qua m t ng bus dùng chung mà không c n b x 1í c a router can thi p (chú ý là khi chuy n qua b nh, gói tin ph i qua bus h th ng n hay i kh i b nh ). M c dù b x lý c a router không liên quan n vi c chuy n trên bus, song do bus dùng chung, t i m t th i m ch cho phép m t gói tin c truy n d n trên bus. M t gói tin n c ng vào và th y bus ang b chi m d ng b i m t gói tin khác s t m th i ch n l i, a vào hàng i c ng vào. Vì t t c các gói tin u ph i truy n qua m t bus duy nh t, t c chuy n c a router b gi i h n b i c bus. i công ngh b ng thông c a bus v t qua 1 Gbit/s, chuy n m ch qua bus hi u qu v i các router ho t ng m c t ch c (ví d ng c c b ). Dòng Cissco 1900 [Cissco Switches 1999] chuy n ch các gói qua bus 1Gbps. Trang 203

211 A X A X B Memory Y B Y C Memory Z C Bus Z A B Crossbar C X Y Z Hình 4.26 Chuy n m ch qua m t liên m ng: M t cách kh c ph c h n ch c a bus dùng chung duy nh t là s d ng m t m ng liên k t ph c t p, gi ng các k thu t c s d ng k t n i nh ng b x lý trong h th ng a b x lý. Hình 4.26 minh h a m t m ng liên k t s d ng 2N bus n i N c ng vào v i N c ng ra. M t gói tin n t m t c ng vào c chuy n d c theo bus n m ngang g n v i c ng vào cho t i khi p giao m v i bus n m d c g n v i c ng ra t ng ng. N u bus m d c ó r i, gói tin s c chuy n trên bus d c ó t i c ng ra c n n. Trong tr ng h p ng c l i, gói tin t m th i b ch n l i và x p hàng t i c ng vào. Dòng Cisco Family [Cissco ] s ng công ngh này. 3. C ng ra (Output port). Quá trình x lý t i c ng ra nh minh h a trên hình 4.27 là l y gói d li u ã c l u tr trong b m c a c ng ra và truy n qua ng liên k t ra. Các ch c n ng x lý giao th c liên k t d li u và k t thúc ng truy n là ch c n ng t ng liên k t d li u và t ng v t lý làm vi c v i u vào bên kia a ng truy n v t lý. Ch c n ng qu n lý vùng m và hàng i c s Trang 204

212 ng khi t c d li u mà k t c u chuy n chuy n t i nhanh h n t c g i i a c ng ra. Hình Hàng i router u nhìn vào ch c n ng, c u hình c a c ng vào, c ng ra trong hình 4.36, rõ ràng r ng hàng i c a các gói tin có th c hình thành t i c c ng vào và c ng ra. Chúng ta s trình bày chi ti t v hàng i vì khi hàng i l n, b m c a router s y lên và x y ra hi n t ng m t gói tin (tràn b m). Trong các ph n th o lu n tr c, chúng ta ã nói m h r ng gói tin b m t âu ó trong m ng hay i router. Chính t i các hàng i c a router, gói tin b t. Trên th c t, v trí gói tin b m t (c ng vào hay c ng ra) ph thu c vào i c a m ng, t c t ng i gi a k t c u chuy n và ng truy n. Gi s t c ng truy n vào và ra b ng nhau, và có n ng vào, n ng ra. N u t c chuy n c a k t c u chuy n l n h n t c ng truy n n n thì ch c ch n không có hàng i t i c ng vào. B i trong tình hu ng x u nh t, t t c n ng vào cùng nh n c gói tin, k t c u chuy n có kh n ng truy n n gói tin t c ng vào t i c ng ra. Nh ng u gì có th x y ra t i c ng ra? Gi s t c k t c u chuy n v n nhanh h n t c ng truy n n l n. Trong tr ng h p x u nh t, t t c gói tin t n c ng vào cùng n m t c ng ra. i l n c ng ra ch có th g i i m t gói tin duy nh t, do ó n gói tin s ph i p hàng t i c ng ra i truy n. Khi s l ng gói tin x p hàng v t qua n b m, các gói tin n sau s b m t. Hàng i l i c ng ra c minh ho trong hình T i th i m t, t t các c ng vào u nh n c m t gói tin và ph i chuy n t i c ng ra trên cùng bên ph i. Gi s t c ba ng truy n là nh nhau và t c k t c u chuy n nhanh h n t c ng truy n ba c n. Sau m t n v th i gian (th i gian c n thi t nh n hay g i m t gói tin ), c 3 gói tin c chuy n t i c ng i ra và x p hàng i truy n. Trong m t n v th i gian ti p theo, m t Trang 205

213 gói tin c truy n i trên ng truy n ra. Cùng lúc y, l i có thêm hai gói tin khác chuy n t i c ng ra trên cùng và do ó l i ph i x p hàng. Hình 4.28 l p l ch (scheduler) t i c ng ra ph i ch n m t gói tin trong hàng i truy n i. Có th s d ng m t c ch n gi n nh First-Come-First- Served ( n tr c ph c v tr c- FCFS) hay c ch hàng i có tr ng s (WFQ - weighted fair queuing) ph c t p h n, cho phép chia s m t cách ng i công b ng ng truy n ra gi a các k t n i u cu i khác nhau. B p l ch có vai trò quy t nh trong trong vi c b o m ch t l ng d ch v (quality-of-service). Có th xem các chi n l c l p l ch cho c ng ra trong [CiscoQueue 1995]. Hình 4.29 u k t c u chuy n không nhanh (so v i t c c ng vào) chuy n ngay l p t c t t c các gói tin qua, hàng i s xu t hi n t i c ng vào, vì khi ó các gói tin s ph i x p hàng i n l t chuy n qua k t c u chuy n t i ng ra. minh ho xét chuy n m ch qua m t liên m ng trong hình 4.29 và gi s (1) t c c a t t c các liên k t là b ng nhau, (2) th i gian gói tin chuy n t c ng vào t i c ng ra b ng th i gian c ng vào nh n c m t gói tin và (3) các gói tin c chuy n t c ng vào t i c ng ra theo th t n (FCFS). Nhi u gói tin có th c truy n ng th i mi n là c ng ra c a chúng Trang 206

214 khác nhau. Tuy nhiên n u hai gói tin x p u hàng i trên hai c ng vào khác nhau cùng h ng t i m t c ng ra thì m t gói tin s b ch n l i t i c ng vào (ph i x p hàng trong hàng i) vì t i m t th i m k t c u chuy n ch có th chuy n i m t gói tin. Trong hình 4.29 ta th y hai hai gói tin (tô en) ng u hai hàng i cùng h ng t i c ng ra phía bên ph i. Gi s k t c u chuy n chuy n gói tin t hàng i phía trên bên trái truy n. Khi ó gói tin màu en hàng i phía i bên trái ph i i. Nh ng không ch có gói tin này ph i i mà còn gói tin màu tr ng x p hàng sau nó c ng ph i i - m c dù các gói tin này h ng i c ng ra khác. ây là hi n t ng head-of-the-line (HOL) blocking [Karol 1997] ã ch ng minh r ng hi n t ng HOL có th khi n hàng i t ng lên vô n ngay c khi t c n c a các gói tin trên c ng vào b ng 58% t c t i a. [Mckeown 1997b] a ra nhi u gi i pháp ng n ch n HOL. VII. IPV6 u nh ng n m 1990, Internet Engineering Task Force b t u n l c phát tri n giao th c m ng thay th IPv4. Nguyên nhân u tiên cho n l c này là không gian a ch IP 32-bit ã b t u c n ki t trong khi s l ng nh ng ng m i và nh ng nút m ng c k t n i vào Intemet (c n c p phát m t a ch IP duy nh t) t ng lên áng k. gi i quy t nhu c u có không gian a ch IP l n h n, giao th c m ng IPv6 ã c phát tri n. Nh ng ng i thi t k IPv6 c ng ch n l c các tính n ng, c i ti n nhi u c m khác c a IPv4 d a trên c s nh ng kinh nghi m th c t c a IPv4. Ng i ta ch a th ng nh t c khi nào a ch IPv4 c n ki t (khi ó không th k t n i thêm b t k máy tính nào vào m ng). C n c trên xu h ng p a ch IP hi n t i hai nhóm làm vi c trong IETF'S Address Life tim Expectations a ra hai th i m khác nhau là 2008 và 2018 [Solenky 1996]. Trong n m 1996, America Registry for Internet Number (ARIN) thông báo t t các a ch IPv4 l p A, 62% l p B và 37% l p C ã c phân ph i [ARIN 1996]. M c dù nh ng ánh giá và các con s d oán trên cho th y còn có nhi u th i gian cho t i khi không gian a ch IPv4 h t, song ã n lúc tri n khai m t công ngh m i trên m t quy mô r ng l n, và do ó Next Generation IP (th h IP m i) [Raden 1996:RFC 1752] ã b t u. Có th tham kh o thêm trong [Hidden 1997]. Trang 207

215 1. nh d ng gói tin IPV6 Khuôn d ng gói d li u IPv6 c minh h a trên hình Hình m thay i quan tr ng nh t c a IPv6 chính là khuôn d ng gói tin. r ng kh n ng ánh a ch : IPv6 t ng kích th c a ch IP t 32 bit lên 128 bit. Nó m b o kh n ng không b thi u a ch IP. V i không gian 128 bit, có th ánh a ch cho n t ng h t cát có trên trái t. Bên c nh a ch duy nh t (unicast) và a ch a ích (multicast), IPv6 còn có m t d ng a ch m i g i là anycast address, cho phép m t gói tin v i a ch ích thu c ki u anycast address có th c chuy n t i m t nhóm các máy tính ( c m này s c s d ng ví d khi g i thông p HTTP GET t i nhi u site ph (mirror site) ch a cùng m t tài li u nào y). Tiêu có dài c nh 40 byte: t s tr ng IPv4 mang tính ch t tùy ch n. T ng dài tiêu c nh cho phép x lý các gói d li u IPv6 nhanh h n. n nhãn lu ng (flow label) và u tiên (priority): IPv6 không có nh ngh a cho flow m t cách rõ ràng. Các khuy n ngh RFC 1752 và RFC 2460 cho phép g n nhãn cho các gói tin thu c v cùng m t flow. Các gói tin này òi h i c x lý m t cách c bi t, nh các ch v th i gian th c v i ch t l ng t t h n. Ví d, các d li u a ph ng ti n có th xem nh m t lu ng liên t c. D li u các ng d ng truy n th ng, nh truy n file, không c xem nh m t lu ng. Có th d li u c a nh ng ng i có u tiên cao (ví d ng i tr phí cao h n) c ng có th coi nh m t lu ng. Rõ ràng ây nh ng ng i thi t k IPv6 ã d oán c nhu c u phân bi t gi a các lu ng d li u ngay c khi ch a nh ngh a chính xác c lu ng 1à gì. Tiêu IPv6 c ng có tr ng Traffic Class 8 bit. Tr ng này gi ng tr ng TOS (Tyte of Service) trong IPv4 có th c s d ng cho nh ng gói tin có quy n u tiên trong m t lu ng, ho c cho nh ng ng d ng có u tiên cao (ví d gói tin ICMP). Trang 208

216 Version Traffic Class Flow Label Playload length Next Hdr Hop Limit Source Address (128 bites) Destination Address (128 bites) Data 32 bits Hình 4.30 So sánh khuôn d ng gói d li u IPv4 (Hình 4.24) và IPv6 (Hình 4.40), ta th y gói IPV6 có c u trúc n gi n h n. Sau ây là m t s tr ng trong gói li u IPV6: Phiên b n (version): Tr ng 4-bit này xác nh phiên b n IP c a gói li u. Rõ ràng gói IPv6 có giá tr trong tr ng này. Chú ý không ph i t giá tr trong tr ng này thì gói d li u là IPv4. Traffc class: Tr ng 8-bit này gi ng tr ng TOS trong IPv4 Nhãn lu ng (Flow label): Tr ng 20 bit này xác nh m t lu ng ch a gói d li u l n d li u (Payload length): l n (tính theo byte) c a ph n d li u không tính tiêu Next header: Tr ng này xác nh giao th c t ng phía trên s nh n li u (ví d t i TCP ho c UDP). Tr ng này gi ng tr ng Protocol a IPv4. Hop limit: Giá tr c a tr ng này s gi m i 1 khi i qua m i router. u giá tr này b ng 0, gói d li u b lo i b. a ch ngu n và ích (source ang destination addresss): Khuôn ng 128-bit a ch IPv6 c c t trong RFC li u (data): Khi gói tin IPv6 t i ích, các tiêu s b lo i b và ph n d li u này s c chuy n n th c th t ng phía trên. Có m t s tr ng trong IPv4 không xu t hi n trong IPv6 n a. Trang 209

217 Phân m nh, H p nh t gói tin: IPv6 không cho phép phân m nh và p nh t gói tin t i các router trung gian. N u m t gói d li u IPv6 quá l n có th g i i trên m t ng liên k t ra c a router, router lo i b gói tin này và g i m t thông báo l i ICMP Packet Too Big t i bên g i. Sau ó bên g i g i l i d li u, s d ng các gói d li u có kích th c nh h n. Vi c phân m nh và h p nh t các gói tin IP chi m nhi u th i gian x lý c a các router. Th c hi n nh ng công vi c này t i các thi t b u cu i s làm t ng t c truy n trên m ng. Checksum. Do t ng giao v n (ví d, TCP và UDP) và các giao th c liên k t d li u (ví d Ethenet) ã th c hi n ki m tra l i, ch c n ng này không c n thi t trong t ng m ng nên ã c b i. V n x lý nhanh các gói tin IP c c k quan tr ng. Giá tr tr ng TTL trong tiêu c a IPv4 gi m i m t khi i qua m i router, nên giá tr tr ng checksum trong tiêu IPv4 c n ph i c tính t i t i các router. Nh y, gi ng nh phân m nh và h p nh t, vi c này khi n th i gian x lý gói IPv4 lâu h n. ICMP cho IPV6 Giao th c ICMP c s d ng thông báo l i và cung c p m t s các thông tin h n ch t i thi t b u cu i (ví d l nh ping). M t phiên b n m i a ICMP c c t cho IPv6 trong khuy n ngh RFC Bên c nh các ki u và mã c, ICMPv6 c ng a thêm vào nhi u ki u và mã m i. Ví d ki u mã l i Packet Too Big hay Unrecognized IPv6 option. 2. Chuy n t IPv4 sang IPv6 Chúng ta ã xem xét các chi ti t k thu t c a IPv6, bây gi chúng ta s xét t i m t v n r t th c ti n: làm th nào chuy n m ng toàn c u Internet hi n t i - ang s d ng IPv4 sang s d ng IPv6? V n ch trong khi các th ng m i IPv6 có kh n ng t ng thích ng c t c là có th g i, chuy n, nh n các gói d li u IPv4 thì các h th ng c ang c s d ng l i không có kh n ng x lý gói d li u IPv6. Ng i ta ã a ra m t s gi i pháp. t gi i pháp là l a ch n m t th i m nào ó, t t t t c máy nâng p lên IPv6. Vi c chuy n i công ngh quan tr ng g n ây nh t (t NCP sang TCP cho giao th c giao v n tin c y) cách ây 20 n m. Ngay c th i m ó [RFC 801], khi Internet còn r t nh và v n còn c qu n tr b i m t nhóm nh các chuyên gia, ng i ta c ng không th ch n c m t th i m nh v y. Gi i pháp này ngày nay s òi h i s tham gia c a hàng tr m tri u máy tính và hàng tri u ng i qu n tr m ng - rõ ràng là không th. RFC 1933 Trang 210

218 a ra hai gi i pháp (có th s d ng ng th i hay dùng riêng r ) d n d n tích h p các thi t b s d ng IPv6 vào th gi i IPv4 (d nhiên m c tiêu dài h n n là chuy n t t c các thi t b s d ng IPv4 sang IPv6). Có th gi i pháp n gi n nh t a vào các thi t b h tr IPv6 là dual-stack. Các thi t b tri n khai c IPv4 và IPv6. Thi t b IPv61/IPv4 nh y c c t trong RFC 1933 có kh n ng nh n và g i c hai gói d li u IPv4 và IPv6. Khi trao i v i m t nút IPv4, nút IPv6/IPv4 s d ng gói d li u IPv4 và khi trao i v i nút IPv6, s s d ng gói IPv6. Nút IPv4/IPV6 n ph i có c hai a ch IPv6 và IPv4. Chúng c n ph i có kh n ng xác nh c m t nút có kh n ng IPv6 hay ch h tr IPv4. Có th gi i quy t v n này nh H th ng tên mi n DNS (Domain Nam Server). IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 A B C D E F Flow:X Source:A Dest: F Source:A Dest: F Source:A Dest: F Flow:?? Source:A Dest: F data data data data A to B: IPv6 B to C: IPv4 D to E: IPv4 E to F: IPv6 Hình 4.31 Trang 211

219 Ch ng 5: NG LIÊN K T D LI U I. CÁC KHÁI NI M CHUNG, D CH V C A T NG DATALINK ch ng tr c chúng ta ã bi t t ng m ng cung c p d ch v truy n thông gi a hai máy tính. Ví d trong hình 5.1 ng truy n thông này b t u máy ngu n qua l n l t các router và k t thúc máy ích. thu n ti n, chúng ta coi c máy tính và router là các nút (node) vì ây nút là router hay máy tính không ph i là v n quan tr ng và kênh truy n thông k t n i gi a hai nút li n k trên toàn b ng truy n thông là ng liên k t, ng truy n (link). gói d li u (datagram) i t máy tính ngu n t i máy tính ích, gói d li u ph i c chuy n trên m i ng liên k t. Hình 5.1 V trí c a t ng liên k t d li u Trang 212

220 Ch ng này t p trung vào t ng liên k t d li u v i nhi m v truy n gói li u trên m t ng liên k t ( ng truy n v t lý). Chúng ta s phân lo i và nghiên c u nh ng d ch v c a t ng liên k t d li u, các nguyên lý quan tr ng c a nh ng giao th c cung c p các d ch v này (ví d nh n l i và s a l i, giao th c ã truy c p c s d ng chia s ng truy n v t lý duy nh t gi a các nút và a ch m c liên k t d li u), các ki u công ngh k t n i khác nhau c s d ng n i hai nút và nghiên c u chi ti t ki n trúc và giao th c a các ki u k t n i. 1. Nh ng d ch v c a t ng liên k t d li u Giao th c t ng liên k t d li u c s d ng truy n gói d li u trên t môi tr ng v t lý. Giao th c t ng liên k t d li u nh ngh a khuôn d ng n v d li u trao i gi a các nút m i u c a ng truy n, c ng nh nh ng công vi c các nút th c hi n khi nh n và g i nh ng n v d li u này. Trong ch ng 1 chúng ta ã bi t r ng n v d li u c a t ng liên k t d li u là frame và m i frame t ng liên k t d li u ch a m t gói d li u t ng network. Chúng ta s th y r ng, nh ng công vi c c a giao th c t ng liên k t li u khi g i và nh n frame g m: phát hi n l i truy n l i, u khi n l u ng và truy c p ng u nhiên. Giao th c t ng liên k t d li u g m : Ethernet, token ring, FDDI và PPP; ôi khi ATM và frame relay có th c ng c coi là giao th c t ng liên k t d li u. Chúng ta s nghiên c u chi ti t nh ng giao th c này trong n a ch ng sau. u nhi m v c a t ng m ng là chuy n gói d li u c a t ng giao v n t máy g i t i máy nh n thì giao th c c a t ng liên k t d li u có nhi m v chuy n gói d li u t ng m ng gi a hai nút k ti p trên ng truy n. M t c m quan tr ng c a t ng liên k t d li u là gói d li u t ng m ng có th c lý b i các giao th c liên k t d li u khác nhau trên ng truy n. Ví d, gói d li u này có th c chuy n b i giao th c Ethernet trên ng truy n u tiên, b i PPP ng truy n cu i cùng và frame relay trên các ng truy n gi a. Chú ý quan tr ng và các giao th c liên k t d li u khác nhau có th cung c p nh ng d ch v khác nhau. Giao th c t ng liên k t d li u không nh t thi t ph i cung c p d ch v truy n tin c y. Vì v y t ng m ng ph i tính n kh n ng ho t ng trên nhi u ki u d ch v liên k t d li u khác nhau. hi u rõ t ng liên k t d li u c ng nh quan h c a nó v i t ng m ng nh th nào xét ví d sau. Gi s m t i lý du d ch ph i s p x p cho khách du l ch i t KS Hilton, Hà N i n Ng Môn, Hu. u tiên khách du l ch s i xe buýt n sân bay N i Bài, bay b ng máy bay c a Hàng không Vi t Nam Trang 213

221 n Hu và i tacxi t sân bay Ph Bài, Hu n Ng Môn. Sau khi i lý du ch ti n hành vi c t ch, thì chính công ty xe buýt ch u trách nhi m a khách du l ch t Hilton n N i Bài, Hàng không Vi t Nam ch u trách nhi m N i Bài n sân bay Phú Bài và hãng tacxi t sân bay Hu n Ng Môn. t m t trong ba ch ng này c xem là m t l n chuy n tr c ti p gi a các nút" k ti p. Rõ ràng ba ch ng s c các công ty khác nhau ph trách. Trong ví d này, có th xem khách du l ch là m t datagram (gói tin c a t ng ng), ch ng ng t ng ng v i m t k t n i v t lý, ph ng ti n i l i trên ch ng ó chính là giao th c ng v i k t n i v t lý ó và i lý du l ch chính là giao th c nh tuy n t ng m ng. c dù d ch v c b n c a b t kì t ng liên k t d li u nào là chuy n gói li u c a t ng m ng gi a hai nút k ti p, song c th d ch v này c th c hi n nh th nào l i ph thu c vào giao th c t ng liên k t d li u s d ng trên ng truy n ó. Nói chung giao th c t ng liên k t d li u có th cung c p nh ng d ch v sau: óng gói d li u (frame) và truy c p ng truy n (link access): Ph n l n các giao th c t ng liên k t d li u t gói d li u t ng m ng vào trong gói d li u t ng liên k t d li u (frame) tr c khi truy n lên trên ng truy n. Frame g m tr ng d li u là gói d li u c a t ng ng cùng v i m t s tr ng tiêu khác. Chú ý frame có th có c tr ng tiêu u và cu i (header và trailer). Giao th c t ng liên k t li u xác nh khuôn d ng c a frame c ng nh giao th c truy c p kênh truy n (cách th c truy n). V i ng truy n ki u point-to-point có m t phía g i và m t phía nh n thì giao th c truy c p ng truy n là n gi n (g n nh không t n t i) - bên g i có th g i frame b t c lúc nào ng truy n r i. Tr ng h p ph c t p h n x y" ra khi nhi u nút cùng chia s ng truy n duy nh t: ây là v n a truy c p. Chúng ta s th y các giao th c liên k t d li u khác nhau s có nh ng khuôn d ng d li u khác nhau (chú ý gói d li u c a t ng liên k t d li u c g i là frame). Chúng ta s th y r ng tiêu frame th ng ch a tr ng a ch v t lý c a nút, (khác a ch m ng c a nút). ch v truy n tin c y: N u cung c p d ch v truy n tin c y, giao th c t ng liên k t d li u b o m chuy n chinh xác gói d li u t ng ng trên m t ng truy n. Trong ch ng 3 chúng ta th y r ng giao th c t ng giao v n (TCP) c ng cung c p d ch v truy n tin c y. T ng nh trong t ng giao v n, truy n tin c y t ng liên k t d li u c th c hi n qua c ch báo nh n và truy n l i. D ch v truy n tin c y Trang 214

222 ng liên k t d li u th ng c s d ng trên ng truy n có t 1 i cao (ví d trên ng truy n không dây). M c ích là s a l i ngay trên ng truy n b l i ch không ph i truy n l i d li u t thi t b i t i thi t b nh n b i giao th c t ng giao v n ho c t ng ng d ng. Tuy nhiên t ng liên k t d li u không c n cung c p d ch v truy n tin y cho các ng truy n ít l i (ví d cáp quang). Vì v y ph n l n các giao th c t ng liên k t d li u ph bi n không cung c p d ch v t tin y. Ki m soát l u l ng: Kh n ng l u tr t m th i (buffer) các frame i các nút trên m i phía c a ng truy n không ph i là vô h n. ây là m t v n khi t c t i c a các frame nhanh h n t c mà nút nh n có th x lý c. N u không ki m soát l u l ng, b m phía nh n có th b tràn và frame s b m t. Gi ng nh t ng giao v n, t ng liên k t d li u cung c p c ch ki m soát l u l ng ng n ch n phía g i g i quá kh n ng nh n c a phía nh n. Phát hi n l i: Nút nh n có th nh n c bit 0 trong khi phía g i g i bit 1 hay ng c l i. Nguyên nhân bit b l i có th do tín hi u b suy hao hay nhi u n t. Rõ ràng không c n chuy n i gói d li u có l i, nhi u giao th c t ng liên k t d li u cung c p c ch phát hi n l i. u này c th c hi n thông qua phía g i thi t l p m t s bit phát hi n l i trong frame và phía nh n th c hi n vi c ki m tra l i. Phát hi n i và m t d ch v r t ph bi n trong nhi u giao th c t ng liên k t d li u. Trong ch ng 3 và ch ng 4 chúng ta th y r ng t ng giao v n và ng m ng trên Intemet c ng có kh n ng phát hi n l i. Tuy nhiên phát hi n l i trong t ng liên k t d li u th ng ph c t p h n r t nhi u và c tri n khai b ng ph n c ng. a l i: S a l i c ng t ng t phát hi n l i. Tuy nhiên không ch phát hi n c l i trong frame nh n c mà phía nh n còn có kh n ng xác nh chính xác n i l i xu t hi n trong frame (và do ó có th s a c nh ng l i này. Bán song công và song công (Half duplex, full duplex). Trong ch truy n song công, hai phía c a ng truy n có th ng th i truy n d li u. Trong ch truy n bán song công, t i m t th i m thi t b không th cùng truy n và nh n. Nh ã nói trên, có nhi u d ch v c a t ng liên k t d li u t ng ng i nhi u d ch v c a t ng giao v n, ví d c hai t ng u có d ch v truy n Trang 215

223 tin c y. M c dù c ch th c hi n d ch v truy n tin c y c hai t ng là nh nhau, nh ng hai d ch v truy n tin c y này không gi ng nhau. Giao th c t ng giao v n cung c p d ch v truy n tin c y gi a hai ti n trình trên c s u cu i (end-to-end). Giao th c t ng liên k t d li u cung c p d ch v truy n tin y gi a hai nút có m t k t n i v t lý tr c ti p. T ng t v i d ch v ki m soát l u l ng và phát hi n l i. 2. B u h p (Adapter) Hình 5.2 T ng liên k t d li u c tri n khai t i adapter i ph n l n ki u ng truy n, giao th c t ng liên k t d li u c tri n khai trên adapter. Adapter 1à bo m ch (ho c card PCMCIA) có RAM, chíp DSP, giao di n ghép n i (interface) v i bus máy tính và giao di n ghép i v i ng truy n. Adapter c ng th ng c coi là card giao ti p m ng hay g i t t là card m ng (NIC-M NG Interface Card). Nh ch ra trong hình 5.2, t ng m ng trong nút g i (máy tính ho c router) chuy n gói d li u t ng ng (datagram) n adapter g i sang phía bên kia c a ng truy n. Adapter t datagram trong frame và sau ó truy n frame trên ng truy n. Adapter phía bên kia (phía nh n) nh n c frame, l y và chuy n datagram lên t ng m ng. N u giao th c t ng liên k t d li u cung c p d ch v phát hi n l i thì adapter g i t thêm m t s bit phát hi n l i và adapter nh n th c hi n vi c ki m tra l i. N u giao th c t ng liên k t d li u cung c p d ch truy n tin c y thì nh ng k thu t cho d ch v truy n tin c y (ví d s th, b nh th i, s biên nh n) c tri n khai ngay trên adapter. N u giao th c t ng liên k t d li u cung c p d ch v truy c p ng u nhiên thì giao th c này c ng c tri n khai trên adapter. Adapter là n v bán t tr. Ví d, adapter có th nh n frame, xác nh li u frame có b l i không và n u có thì lo i b frame mà không thông báo cho thi t b k t n i. Khi nh n c frame n t môi tr ng v t lý (ch ng h n card m ng), adapter ch thông báo cho thi t b (chính xác là CPU c a thi t b ) Trang 216

224 khi adapter mu n chuy n gói d li u datagram t trong frame t i t ng m ng a thi t b. Vi c này s c th c hi n thông qua m t ng t ph n c ngg (interrupt). T ng t, khi nút g i gói d li u n adapter, có th coi adapter c u quy n chuy n gói d li u sang nút k ti p. M t khác, adapter không là n v t tr hoàn toàn. M c dù chúng ta coi adapter là "h p en" nh minh h a trên hình 5.3, adapter v n n m trong nút, dùng chung ngu n n và các bus - do ó v n n m d i s u khi n c a nút. Node I/O bus Hình 5.3 Adapter Thành ph n chính c a adapter là giao di n ghép n i bus và giao di n ghép n i ng truy n. Giao di n bus ch u trách nhi m truy n thông v i nút ch a adapter (chính xác h n là v i CPU). Nó truy n d li u và thông tin u khi n gi a nút và card m ng NIC. Giao di n ng truy n (linh interface) có trách nhi m tri n khai giao th c t ng liên k t d li u. Bên c nh ch c n ng óng gói (framing) và bóc tách (de-framing) gói d li u, nó có th cung c p ch v phát hi n l i, truy c p ng u nhiên và nh ng ch c n ng t ng hên k t li u khác. Nó ch a các m ch truy n và nh n (circuitry). V i nh ng công ngh ph bi n t ng liên k t d li u - ví d nh Ethernet, giao di n ng truy n c tri n khai trên các chíp. Chíp c s n xu t r ng rãi và d dàng mua c trên th tr ng. Vì th, adapter Ethemet r - th ng không quá 10 USD. II. K THU T PHÁT HI N VÀ S A L I t trong các d ch v mà t ng liên k t d li u cung c p là phát hi n (detection) và s a (correct) l i m c bit - cho phép phát hi n và trong m t s tr ng h p có th s a các bit b l i trong frame c a t ng liên k t d li u g i gi a hai nút k ti p. Trong ch ng 3 chúng ta ã th y d ch v phát hi n và a l i c ng c tri n khai t ng giao v n. Trong ph n này, chúng ta s nghiên c u m t vài k thu t n gi n nh t trong vi c phát hi n và s a l i bit. Có nhi u tài li u tham kh o (ví d, [Schwartz 1980]) th o lu n chi ti t v ch này, ây chúng ta ch trình bày h t s c s l c v i m c tiêu cho phép Trang 217

225 c gi hình dung ra m t vài k thu t c áp d ng trong m t s giao th c ng liên k t d li u thông d ng. Hình 5.4 minh ho ý t ng c a vi c tri n khai d ch v phát hi n i. i nút g i, d li u D c s d ng xác nh các bit phát hi n và s a l i EDC. li u c n b o v không ch g m gói d li u datagram t ng m ng chuy n xu ng mà còn các tr ng khác trong tiêu frame nh tr ng a ch, tr ng th... D và EDC cùng c g i n nút nh n trong cùng m t frame. Bên kia s nh n c chu i bit là D và EDC. Chú ý r ng, D và EDC có th không gi ng D và EDC vì trên kênh truy n có th có l i. Hình 5.4 Ki m tra và phát hi n l i Phía nh n ph i xác nh li u D có là D c phía bên kia g i hay không trong tr ng h p nó nh n c c D' và EDC'. T i phía nh n, k t qu ki m tra frame có l i không r t quan tr ng (xem hình 5.4). Chú ý r ng ây chúng ta xác nh có phát hi n c l i không ch không ph i là có l i hay không). Tuy nhiên không ph i k thu t phát hi n và s a l i luôn luôn cho phép phía nh n xác nh c có l i hay không: s có nh ng tr ng h p s d ng bit phát hi n l i nh ng không có kh n ng phát hi n khi xu t hi n l i, ngh a là phía nh n s không bi t r ng thông tin nh n c b l i. H u qu là phía nh n có th chuy n gói d li u b l i lên t ng m ng, ho c không bi t r ng n i dung a m t vài tr ng nào ó trong tiêu c a frame b l i. Vì th chúng ta mong mu n l a ch n ph ng pháp có xác su t không phát hi n c l i nh. Nói chung, các k thu t phát hi n và s a l i tinh vi (xác su t không phát hi n c l i khi có l i r t nh ) th ng òi h i nhi u th i gian tính toán (xác nh Trang 218

226 EDC t D), s l ng bit d th a l n (EDC l n) và t i phía nh n vi c ki m tra t nhi u th i gian. Bây gi chúng ta s xem xét m t s k thu t phát hi n và s a l i n gi n: bit ch n l ( minh h a ý t ng c a công vi c); tính t ng (checksum) - c s d ng t ng giao v n và bit d th a vòng - c s d ng t ng liên t d li u. 1. Ki m tra tính ch n l d data bits Parity bit Hình 5.5 Ki m tra tính ch n l ng n gi n nh t phát hi n l i là s d ng m t bit ch n l (parity bit). Gi s r ng thông tin D c gán trong hình 5.5 có d bit. N u s d ng bit ch n l ch n, bên g i b sung m t bit và giá tr bit này c ch n sao cho ng s s bit 1 trong d+1 bit (d bit thông tin g c D và m t bit ch n l ) là ch n. V i bit ch n l l, giá tr bit ch n l c ch n sao cho t ng s s bit 1 là m t s l. Hình 5.5 minh ho ví d bit ch n l ch n ch n, và bit ch n l (EDC) c t trong m t tr ng các v i tr ng d li u. Column parity d1.1 d1.j d1.2 d2.j di.1 di.j di+1.1 di+1.j Row parity d1.j+1 d2.j+1... di.j+1 di+1.j No errors Parity error Parity error Hình 5.6 Ki m tra tính ch n l hai chi u Trang 219

227 Vi c ki m tra t i phía nh n c ng t ng i n gi n. Phía nh n ch c n m s bit 1 trong d+l bit nh n c. N u t ng s m c là m t s l trong khi s d ng s ch n l ch n thì phía nh n bi t r ng ít nh t ã xu t hi n t bit b l i. Chính xác h n, t ng s các bit b l i là m t s l. u gì s x y n u s bit b l i là m t s ch n? Trong tr ng h p này rõ ràng r ng bên nh n không phát hi n c l i. N u xác su t bit b l i th p và gi nh các bit b l i xu t hi n c l p v i nhau thì kh n ng m t gói d li u có nhi u bit b l i s c c k th p. Trong tr ng h p này, s d ng m t bit ch n l có th v a. Tuy nhiên, các th c nghi m ã ch ra r ng l i không xu t hi n c l p mà th ng theo t ng "c m" (burst). Khi ó xác su t l i không b phát hi n trong frame s d ng m t bit ch n l là 50% [Spragins 1 991]. Rõ ràng r ng c n ph i có ph ng pháp khác m nh h n. Nh ng tr c khi nghiên c u các ph ng pháp phát hi n i c s d ng trong th c t, chúng ta hãy xem xét m t ph ng pháp khác d a trên bit ch n l có kh n ng a c l i. Hình 5.6 minh h a vi c c i ti n ph ng pháp bit ch n l thông qua m ng hai chi u. ây d bit trong D c s p x p vào b ng i dòng và j c t. Sau ó bên g i xác nh giá tr bit ch n l cho t t c các dòng và c t. (i+j+l) bit ch n c t o ra này s là các bit phát hi n và s a l i c a frame. Bây gi, gi s r ng trên ng truy n có m t bit duy nh t trong d bit thông tin g c b l i. V i ph ng pháp ch n l hai chi u, s xu t hi n mâu thu n trong c hàng và c t ch a bit b l i. Khi ó phía nh n không nh ng ch phát hi n có l i mà còn có th xác nh c v trí bit b l i (và do ó s a c) thông qua ch s hàng và c t c a bit ó. Hình 5.6 ch ra ví d, bit có giá tr 1 i v trí ( 1, 1 ) b l i và b chuy n thành 0. i mà s c phía nh n phát hi n và s a l i. M c dù, ây chúng ta ch quan tâm n d bit thông tin, nh ng m t bit l i trong các bit ch n l ki m tra c ng s b phát hi n. Ph ng pháp này c ng có th phát hi n c (nh ng không s a c) khi có 2 bit b i trong gói d li u. Kh n ng phía nh n v a phát hi n v a s a c l i c g i là FEC (Forward Error Conection). Nh ng k thu t này th ng c s d ng ph bi n trong các thi t b l u tr âm thanh nh a CD nh c. Trong môi tr ng ng, k thu t FEC có th c s d ng m t mình, ho c cùng v i k thu t ARQ ã c nghiên c u trong ch ng 3. u m c a k thu t FEC và cho phép phía g i không ph i truy n l i (do phía nh n s a c các thông tin b i). Có l quan tr ng h n là phía nh n s a c l i ngay khi nh n c. u này tránh th i gian i khi phía g i ph i truy n l i gói d li u. u m này c áp d ng trong các ng d ng th i gian th c [Rubenstein 1998]. Các Trang 220

228 nghiên c u g n ây s d ng FEC trong các giao th c ki m soát l i bao g m [Biersack 1992; Nonnenmacher 1998 ; Byers 1998 ; Shacham 1990 ]. 2. Ph ng pháp tính t ng ki m tra (checksum) Trong k thu t checksum, d bit d li u trong hình 5.4 c xem nh m t dãy liên ti p các s nguyên có dài k bit. Trong k thu t checksum n gi n, ng i ta tính t ng t t c các s nguyên k bit này và s d ng k t qu tính c làm các bit phát hi n l i. Ph ng pháp Intemet checksum d a trên ng ti p c n này - lu ng d li u c coi dãy liên ti p các s nguyên 16 bit và Internet checksum là giá tr bù m t c a t ng các s nguyên 16 bit. Phía nh n tính l i checksum trên d li u nh n c và ki m tra xem nó có trùng i checksum trong gói d li u nh n c hay không. RFC 1071 th o lu n chi ti t thu t toán Intemet checksum c ng nh ph ng th c tri n khai. Trong giao th c TCP/IP, Intemet checksum c tính toán trên t t c các tr ng (k tr ng tiêu và d li u). Trong nh ng giao th c khác, ví d nh XTP [Strayer 1992], có c checksum cho các tr ng tiêu và checksum cho toàn gói d li u. MeAuly [MeAuly 1994] và Feldmeier [Feldmeier 1995] mô t cách tri n khai b ng ph n m m vi c tính toán checksum. 3. Ki m tra d th a vòng (CRC) thu t phát hi n l i c s d ng r ng rãi trên m ng máy tính ngày nay d a trên mã CRC. Mã CRC c g i là mã a th c vì có th xem dãy các bit c g i nh m t a th c v i các h s nh n các giá tr 0 và 1 và các thao tác trên dãy bit này c ng gi ng nh th c hi n các phép toán trên a th c. d bits r bits D: Data bits to be sent R: CRC bits Bit pattern Mathematical formular Hình 5.7 Mã d th a vòng Mã CRC ho t ng nh sau. Gi s phía g i mu n g i d bit d li u D. u tiên hai bên ph i th ng nh t tr c a th c sinh (generator) ký hi u 1à G có (r+1) bit. Bit có tr ng s cao nh t c a G ph i nh n giá tr 1. Ý t ng chính a mã CRC c minh h a trên hình 5.7. C n c vào d li u nguyên th y D, bên g i s xác nh d li u d th a R g m r bit. Trang 221

229 Sau ó ghép R v i D thu c (d+r) bit. R c ch n sao cho a th c ng v i (d+r) bit này chia h t cho G. Phép chia ây c th c hi n theo module 2. Phía nh n th c hi n quá trình ki m tra l i CRC khá n gi n: chia d+r bit nh n c cho G. N u ph n d khác 0 thì phía nh n xác nh xu t hi n l i, n u không d li u c ch p nh n là úng. t c các tính toán trên CRC c th c hi n theo module 2 nh ng không nh trong phép c ng và không m n trong phép tr. u này có ngh a là phép c ng gi ng phép tr và c hai t ng ng v i vi c th c hi n phép XOR trên các toán h ng. Ví d : 1011 XOR 0101 = XOR 1101 =0100 ng t, chúng ta c ng có: = = 0100 Phép nhân và phép chia c ng gi ng nh thu t toán trên c s 2 nh ng các phép c ng và tr u không nh. Gi ng nh khi thao tác trên các s nh phân, phép nhân v i 2k là d ch sang trái k v trí. Do v y v i D và R, k t qu D*2r XOR R là d+r bit minh h a trên hình 5.7. Chúng ta s s d ng các c m i s c a m u d+r bit này trong ph n th o lu n d i ây. n quan tr ng là làm sao bên g i xác nh c R. Chúng ta mu n xác nh R sao cho t n t i n th a mãn: D * 2 r XOR R = ng Ngh a là, chúng ta mu n ch n R sao cho G chia cho D*2 r XOR R không có s d. N u chúng ta th c hi n phép XOR R (là phép c ng theo module 2 không nh ) c hai v c a ph ng trình trên, chúng ta nh n c: D * 2 r = ng XOR R ng th c này cho chúng ta bi t n u chúng ta chia D*2 r cho G, giá tr ph n d chính là R. Nói cách khác, có th xác nh R nh sau: R = s d D * 2 r / G Hình 5.8 minh ho k t qu tính toán cho tr ng h p D=101110, d=6, G= 1001, r=3. Chín bit c truy n trong tr ng h p này là Hình 5. 8 Ví d tính toán CRC Trang 222

230 Các chu n qu c t nh ngh a các a th c sinh (G) 8, 12, 16, 32 bit. CRC 8 bit c s d ng trong 5 byte tiêu c a t bào ATM. CRC-32 trong nhi u giao th c IEE m c linh s d ng a th c sinh sau: G CRC-32 = Các chu n CRC có th phát hi n l i c m v i l n nh h n r+1 bit hay các bit b l i là m t s. n n a v i m t s gi nh nào ó, l i c m l n n r+1 bit có th c phát hi n v i xác su t r. Lý thuy t ng sau mã CRC và th m chí nh ng mã có tính n ng m nh h n v t quá ph m vi c a v n này. Sách [Schwartz 1980] cung c p ch d n thú v v tài này. III. GIAO TH C A TRUY C P VÀ M NG C C B Trong ph n m u c a ch ng này, chúng ta ã th y r ng có hai ki u t n i m ng: ki u truy n point-to-point và ki u truy n qu ng bá (broadcast). ng truy n point-to-point có m t phía g i và m t phía nh n duy nh t hai u c a ng truy n. Nhi u giao th c t ng liên k t d li u ã c thi t k cho ng truy n point-to-point nh PPP (point-to-point Protocol) và HDLC. Ki u truy n th hai, ki u qu ng bá cho phép có nhi u nút g i và nút nh n cùng k t n i n m t kênh truy n dùng chung duy nh t. Thu t ng broadcast c s d ng ây vì khi b t k m t nút nào ó truy n i m t frame, kênh truy n s qu ng bá frame này và c các nút khác u nh n c m t b n sao a frame. Ethemet là công ngh broadcast c tri n khai r ng rãi nh t. Trong ph n này, chúng ta s nghiên c u m t trong nh ng v n quan tr ng nh t c a t ng liên k t d li u: làm th nào ph i h p vi c truy c p vào kênh truy n chung c a nhi u nút - v n a truy c p (multiple access problem). Kênh truy n qu ng bá th ng c s d ng trên m ng c c b - là m ng gi i n trong m t khu v c a lý. Chúng ta quá quen thu c v i khái ni m phát thanh truy n hình, vì ti vi ã d ng công ngh này ngay t khi xu t hi n. Nh ng ti vi truy n th ng ch là phát qu ng bá m t chi u (ngh a là m t nút c nh truy n n nhi u nút nh n), trong khi các nút trên kênh truy n qu ng bá trong m ng máy tính có th v a g i v a nh n. M t ví d t ng t trong xã h i loài ng i là t i m t a ti c, m i ng i cùng nhau t h p trong m t i s nh (không khí cung c p môi tr ng qu ng bá) nói chuy n v i nhau. Ví d th hai là m t l p h c - i giáo viên và sinh viên cùng nhau chia s môi tr ng qu ng bá duy nh t.v n trung tâm trong c hai tr ng h p này là vi c quy t nh ai s là ng i c nói (ngh a là c truy n trên kênh truy n). V i con ng i, Trang 223

231 chúng ta ã có nh ng quy t c giao ti p theo phép l ch s chia s kênh truy n chung: "M i ng i u có c h i nói" "Im l ng cho n khi b n c quy n nói" "Không c quy n nói su t" "Gi tay yêu c u n u mu n nói" ng ng t l i ai ó ang nói " ng ng khi ai ó ang nói" Hình 5.9 Chia s kênh truy n dùng chung ng t nh v y, m ng máy tính c ng có nh ng giao th c - g i là giao th c a truy c p (multiple access protocol) - cho phép các nút u ch nh vi c truy n thông c a chúng trên kênh truy n qu ng bá dùng chung. Nh minh h a trên hình 5.9, giao th c a truy c p r t c n thi t trong nhi u ki u môi tr ng ng: m ng không dây, m ng có dây và c m ng v tinh. Hình là m t ví c a kênh truy n qu ng bá chia s kênh truy n dùng chung. M c dù m i nút Trang 224

232 truy c p kênh truy n qua adapter, trong ph n này chúng ta s xem nút nh thi t b nh n và g i. Trên th c t, hàng tr m ho c th m chí hàng nghìn nút có th tr c ti p truy n thông trên m t kênh truy n qu ng bá. Vì t t c các nút u có kh n ng truy n frame nên có th có nhi u nút cùng truy n frame t i cùng m t th i m. Khi ó, t t c các nút cùng lúc nh n c nhi u frame, ngh a là các frame c truy n s xung t (collide) i nhau t i t t c các nút nh n. Thông th ng khi xung t x y ra, không nút nào có th nh n chính xác b t k frame nào vì tín hi u trong các frame an xen vào nhau hoàn toàn. Vì th t t c các frame liên quan n xung t u b t, và có th coi kênh truy n dùng chung không c s d ng trong kho ng th i gian x y ra xung t. Rõ ràng khi nhi u nút th ng) xuyên mu n truy n frame, xác su t x y ra xung t s l n và ph n l n b ng thông c a kênh truy n b lãng phí. Hình 5.10 M ng Ethernet qu ng bá b o m hi u su t c a kênh truy n qu ng bá t giá tr t i a khi nhi u nút mu n g i d li u, b ng cách nào ó ph i có c ch ph i h p gi a nh ng nút có nhu c u truy n. C ch ph i h p này là trách nhi m c a giao th c a truy c p. Trong ba m i n m qua, hàng nghìn bài báo và hàng tr m lu n án ti n s ã nghiên c u v giao th c a truy c p ([Rom 1990]). Nhi u ki u giao th c khác nhau ã c tri n khai trên các công ngh t ng liên k t li u. Tuy nhiên ng i ta có th phân lo i các giao th c a truy c p vào ba lo i: giao th c phân chia kênh truy n, giao th c truy c p ng u nhiên và giao th c truy c p l n l t. Chúng ta s xem xét các ki u này trong ph n d i ây. Giao th c a truy c p trên kênh truy n qu ng bá v i t c R b/s lý t ng s có nh ng c m sau: Khi ch có m t nút có d li u g i i, nút ó g i v i thông l ng R bps. Trang 225

233 Khi M nút có d li u g i i, m i nút g i v i thông l ng R/M bps. Yêu c u này không có ngh a r ng m i nút trong M nút luôn luôn truy n v i t c t c th i R/M mà ây ch là t c trung bình xác nh trong m t kho ng th i gian. Giao th c c tri n khai phân tán, ngh a là không có m t nút óng vai trò u ph i (n u không toàn b h th ng s s p n u nút u ph i b h ng). Giao th c ph i n gi n sao cho chi phí th c hi n không cao. 1. Giao th c phân chia kênh truy n (channel partitioning) Phân kênh theo th i gian (TDM) và theo t n s (FDM) là hai k thu t có th c s d ng phân chia b ng thông c a kênh truy n gi a t t c các nút dùng chung kênh truy n ó. Gi s kênh truy n h tr N nút và t c truy n a kênh là R bps. TMD chia th i gian thành các kho ng (time frame) ( c p v i n v d li u frame t ng data-link) và sau ó l i chia m i kho ng th i gian thành N khe th i gian (time slot). M i khe th i gian c gán cho t trong s N nút. B t c nút nào có frame g i i, nó truy n các bit d li u a nó trong khe th i gian c gán c a nó trong m i kho ng th i gian. Th ng kho ng th i gian c ch n sao cho m t frame d li u có th truy n tr n v n trong m t khe th i gian. Hình 5.11 minh ho m t ví d TDM n gi n cho 4 nút. Trong m t b a ti c cooktail u này t ng t nh quy nh i ng i ch c nói trong kho ng th i gian quy nh tr c và sau ó cho phép ng i khác nói trong kho ng th i gian t ng t. Và vì th ai c ng có c i nói. FDM: 4 KHz Link 4 KHz TDM: Slot All slots labeled 2 are dedicated to a specific sender-receiver pair Hình 5.11 Trang 226

234 m h p d n c a TDM là ã lo i tr c xung t và hoàn toàn công ng: m i nút có c t c truy n riêng R/N bps trong m i kho ng th i gian. Tuy nhiên, nó có hai nh c m: m i nút b gi i h n b i t c trung bình R/N bps và ph i i n th i gian truy n c a mình ngay c khi nó là nút duy nh t có nhu c u g i. (Trong ví d v b a ti c c a chúng ta m i ng i u mu n nghe m t v khách nào ó nói thì v khách ó ch c nói trong kho ng th i gian c a mình). Rõ ràng, TDM không ph i là m t giao th c a truy c p t t cho b a ti c ki u này. u TDM dùng chung các kênh truy n qu ng bá theo th i gian thì ph ng pháp FDM chia kênh truy n R bps thành các t n s khác nhau (m i n s có b ng thông R/N ) và gán m t t n s cho m i nút. Vì th, FDM t o ra N kênh truy n nh R/N bps t kênh truy n l n R bps. u m và nh c m c a FDM gi ng c a TDM. Nó lo i b c xung t và phân chia công ng d i t n gi a N nút. Tuy nhiên, nh c m là t c g i c a nút b gi i n ngay c khi ch có m t nút có nhu c u g i d li u. Giao th c phân chia kênh truy n th ba là chia mã (CDMA - Co de division multiple access). N u TDM và FDM gán kho ng th i gian và t n s cho các nút thì CDMA gán cho m i nút m t mã khác nhau. Sau ó nút s ng mã duy nh t này mã hoá d li u g i i. Chúng ta s th y CDMA cho phép nhi u nút g i ng th i và các nút nh n t ng ng nh n úng d li u i cho mình (mi n là nó bi t c mã c a nút g i). CDMA ã c s d ng tr ng h th ng qu c phòng nh c tính ch ng nhi u và bây gi b t u c áp d ng ph bi n cho m c ích dân s, c bi t trong a truy c p kênh truy n không dây. 2. Giao th c truy c p ng u nhiên (ran dom access) Ki u giao th c a truy c p th hai là truy c p ng u nhiên. Trong giao th c truy c p ng u nhiên, nút truy n luôn luôn truy n d li u v i t c cao nh t c a kênh truy n R bps. Khi có xung t, nút liên quan n xung t truy n l i frame cho n khi frame n ích an toàn. Nh ng khi bi t có xung t, nút không c n thi t truy n l i frame ngay l p t c mà i m t th i gian ng u nhiên nào ó tr c khi truy n l i. M i nút liên quan n xung t ch n th i gian i ng u nhiên m t cách c l p, vì th sau m i xung t xác su t hai nút cùng truy n l i cùng m t lúc (l i xây ra xung t) s gi m. Có r t nhi u n u không mu n nói là hàng tr m giao th c truy c p ng u nhiên c mô t trong [Rom 1990 ; Bertsekas 1991]. Trong ph n này chúng ta s miêu t m t vài giao th c truy c p ng u nhiên c s d ng ph bi n Trang 227

235 nh t - giao th c ALOHA [Abramson 1970; Abramson 1985] và giao th c a truy c p c m nh n sóng mang (CSMA) [Kleinrock 1975b]. Sau ó, chúng ta nghiên c u chi ti t v Ethemet [Metalfe 1976], m t công ngh s d ng CSMA c tri n khai r ng rãi và ph bi n Slotted ALOHA Chúng ta b t u nghiên c u v giao th c truy c p ng u nhiên v i m t trong s nh ng giao th c n gi n nh t: giao th c slotted ALOHA. Chúng ta gi nh nh sau: t c frame có chính xác L bit. Th i gian c chia thành các kho ng L/R s (là kho ng th i gian truy n m t frame). Nút b t u truy n frame t i u m i kho ng th i gian. t c các nút c ng b hoá sao cho m i nút u xác nh c khi nào là u c a kho ng th i gian. u có nhi u frame xung t trong kho ng th i gian nào ó thì t t c các nút u phát hi n s ki n xung t ngay trong kho ng th i gian ó. i p là xác su t (0<=p<=1). Ho t ng c a slotted ALOHA trong m i nút nh sau: Khi nút có frame m i g i i, nó s i n th i m u c a kho ng th i gian k ti p và g i toàn b frame trong kho ng th i gian ó. u không x y ra xung t, nút truy n thành công frame và vì v y không c n thi t ph i truy n l i (nút có th chu n b frame m i truy n, n u có). u có xung t, nút phát hi n xung t ngay trong kho ng th i gian và s truy n l i frame trong kho ng th i gian ti p theo v i xác su t p cho n khi frame c truy n thành công. Truy n l i v i xác su t p gi ng nh vi c tung ng xu: bi n c m t ng a ng v i vi c truy n l i x y ra v i xác su t p. Bi n c m t s p ng v i vi c "b qua kho ng th i gian này và tung l i ng xu trong kho ng th i gian k ti p" x y ra v i xác su t (1- p). M i nút ch a xung t tung ng xu m t cách c l p. Trang 228

236 Slotted ALOHA d ng nh có nhi u u m. Không gi ng phân chia kênh truy n, nó cho phép nút tích c c duy nh t (ngh a là nút có nhu c u g i li u) liên t c g i frame t c cao nh t c a kênh truy n. Slotted ALOHA là m t thu t toán phân tán vì m i nút khi phát hi n ra xung t s quy t nh khi nào truy n l i m t cách c l p. (Tuy nhiên slotted ALOHA òi h i ph i có c ch ng b trên t t c các nút). Node 1 Node 2 Node C E C S E C E S S Slots Hìh 5.12 Slotted ALOHA ho t ng t t khi ch có m t nút tr ng thái tích c c, nh ng hi u su t c a nó b ng bao nhiêu khi có nhi u nút tích c c? Có hai y u ph i tính n ây. Th nh t nh ã ch ra trong hình 5.12 khi có nhi u nút tr ng thái tích c c, m t s kho ng th i gian có xung t và do ó b lãng phí. Th hai là m t s kho ng th i gian "r ng" vì trong kho ng th i gian này t t c các nút tích c c u d ng l i i (k t qu c a chính sách truy n theo xác su t). Ch trong nh ng nh ng kho ng th i gian "không b lãng phí" có duy nh t m t nút truy n thành công. Kho ng th i gian này g i là kho ng th i gian thành công. Hi u su t c a giao th c c nh ngh a là t l các kho ng th i gian truy n thành công trong tr ng h p có nhi u nút tích c, m i nút c n g i i nhi u frame. Rõ ràng r ng n u không có c ch u khi n truy c p và nút truy n l i ngay sau m i l n xung t, hi u su t s b ng 0. Slotted ALOHA có hi u su t l n h n 0 nh ng b ng bao nhiêu? Bây gi ta s xác nh hi u su t t i a c a slotted ALOHA. n gi n chúng ta thay i giao th c m t chút và gi thi t r ng m i nút truy n frame trong m i kho ng th i gian v i xác su t p (t c là m i nút luôn có m t frame g i i và frame này c g i i v i xác su t p cho dù ây là frame m i hay frame ph i g i l i). u tiên gi s có N nút. Xác su t thành công c a t kho ng th i gian nào ó là xác su t ch có m t nút duy nh t truy n và N- 1 nút còn l i không truy n (trong kho ng th i gian y. Xác su t m t nút nào ó truy n là p; xác su t mà các nút còn l i không truy n là (1-p) N-1. Do v y xác su t m t nút náo ó truy n trong khi các nút khác không truy n là p(1 - Trang 229

237 p) N-l. Vì có N nút, nên xác su t có kho ng th i gian thành công b ng NP(1-P) N-1. Do ó khi có N nút tích c c, hi n su t c a slotted ALOHA là NP(1-P) N-1. t c hi u su t l n nh t, chúng ta ph i xác nh p* sao cho bi u th c này t giá tr l n nh t. Và t c hi u su t l n nh t khi có nhi u nút tích c c, chúng ta ph i tính gi i h n c a NP*(1-P*) N-1 khi N ti n t i vô cùng. Áp d ng các công c toán h c, chúng ta s xác nh c hi u su t l n nh t a giao th c là 1/e = Ngh a là, khi nhi u nút cùng tr ng thái tích c c thì trong u ki n t t nh t ch 37% th i gian ng truy n c s d ng có ích. Vì v y, t c truy n hi u qu c a kênh truy n không ph i là R bps mà ch là 0,37R bps. Phân tích t ng t ch ra r ng 37% th i gian ng truy n không c s d ng và 26% th i gian x y ra xung t trên ng truy n. Nh v y m t frame nào ó có th c truy n v i t c t i a R nh ng v ng th thông l ng truy n thành công c a toàn b kênh truy n không v t qua 0.37R ALOHA Giao th c slotted ALOHA òi h i t t c các nút ng b vi c truy n t i u m i kho ng th i gian. Giao th c ALOHA u tiên [Abramson 1970] th c là giao th c không chia kho ng th i gian, hoàn toàn phân tán. Trong giao th c ALOHA nh v y khi có d li u c n g i i, ngay l p t c nút truy n toàn frame vào kênh truy n dùng chung. N u frame c truy n xung t v i frame t các nút khác, thì ngay sau khi truy n cho xong frame này, nút s ngay l p t c truy n l i frame v i xác su t p. Ng c l i nút i trong m t kho ng th i gian truy n frame. Sau quá trình ch i này nút truy n frame i xác su t là p, ho c i (không làm gì c ) trong kho ng th i gian truy n frame v i xác su t (1-p). xác nh c hi u su t c c i c a ALOHA xét trên m t nút duy nh t. Chúng ta c ng gi nh nh trong tr ng h p slotted ALOHA th i gian truy n frame là m t n v th i gian. T i b t kì th i gian nào, xác su t nút truy n frame là p. Gi s frame này b t u truy n t i th i m to' Nh minh a trong hình 5.13, frame này c truy n thành công thì không nút nào c b t u truy n trong kho ng th i gian [t 0-1, t 0 ]. N u không tín hi u c a nh ng frame này s xung t v i các tín hi u u tiên c a frame ang xét. Xác su t t t c các nút khác không c b t u truy n trong kho ng th i gian này là (1-p) N-1. ng t không nút nào c b t u truy n trong khi nút ang xét ang truy n. Xác su t c a u này c ng là (1-p) N-1. Vì v y xác Trang 230

238 su t nút nào ó truy n thành công là p(1-p ) 2(N-1). B ng cách b y gi i h n nh trong tr ng h p slotted ALOHA, chúng ta th y r ng hi u su t l n nh t c a giao th c ALOHA là l/2e - b ng m t n a c a slotted ALOHA. ây là cái giá ph i tr cho giao th c ALOHA hoàn toàn phân tán. Will overlap with start of it's frame Will overlap with end of it's frame Node i frame to-1 to to+1 Hình 5.13 Các frame an xen vào nhau trong ALOHA 2.3. CSMA - a truy c p c m nh n sóng mang Trong c hai giao th c ALOHA và slotted ALOHA, quy t nh truy n a nút c a ra c l p v i các nút khác. C th h n, m t nút không ý i vi c li u có nút khác ang truy n khi nó b t u truy n hay không và nút truy n khi có nút khác b t u truy n (gây xung t). T ng t trong ví d bu i ti c, giao th c ALOHA gi ng nh hành vi c a v khách b t l ch s c liên t c nói b t ch p vi c có ng i ang nói hay không. Xã h i loài ng i có nh ng quy t c ng x cho phép x s m t cách l ch s và làm gi m "xung v i nh ng ng i khác trong cu c nói chuy n. c bi t, có hai quy t c quan tr ng cho m t cu c i tho i c a ng i l ch s : Nghe tr c khi nói: n u có ai ang nói, hãy i n khi h nói xong. Trong m ng máy tính, u này c g i là c m nh n sóng mang (carrier sense) - nút l ng nghe kênh truy n tr c khi truy n. N u có frame ang c truy n trên kênh truy n thì nút s ch (backs off) t kho ng th i gian ng u nhiên và l i ti p t c l ng nghe kênh truy n. Lúc này n u kênh truy n c c m nh n là r i thì nút b t u vi c truy n frame. N u không nút l i i m t kho ng th i gian ng u nhiên khác và l p l i quá trình này. u có ai ó b t u nói cùng lúc thì hãy t m ng ng (Nghe trong khi nói): Trong m ng máy tính u này c g i là phát hi n xung Trang 231

239 t (collision detection) - nút ang truy n ti p t c ng nghe kênh truy n trong khi ang truy n. N u phát hi n có nút khác truy n xen vào, nút s d ng truy n và s d ng giao th c nào ó quy t nh khi nào nó nên th truy n ti p. Hai quy t c này là ý t ng ch o c a giao th c CSMA (Can Sense Multuple Access) và CSMA/CD (CSMA with Collision Detection) [Kleinrock 1975b; Metcalfe 1976; Lam 1980; Rom 1990]. Có nhi u bi n th a CDMA và CDMALCD ã c a ra v i vi c th c hi n các chi n l c backoff khác nhau. S COMA/CD c s d ng trong m ng Ethemet. ây chúng ta xem xét m t s c tr ng c b n và quan tr ng nh t c a CSMA và CSMA/CD. Space A B C D to Time t1 Hình 5.14 Bi u th i gian c a 4 nút s d ng CSMA u t t c các nút th c hi n c m nh n sóng mang thì t i sao xung t có kh n ng xu t hi n? Xét cho cùng, m t nút s "t ki m ch " không truy n khi nó c m th y nút khác ang truy n. V n này c gi i quy t b ng u th i gian [Molle 1987]. Hình minh h a bi u th i gian c a 4 nút ( A, Trang 232

240 B C, và D) n i v i bus dùng chung. Tr c hoành bi u th v trí c a nút trong không gian, tr c tung mô t th i gian. i th i m t 0, nút B nh n th y kênh truy n r i t c là không có nút nào ang truy n. Do ó nút B b t u truy n, và tín hi u do B truy n lan t a theo hai h ng c a môi tr ng dùng chung. Hình 5.14 ch ra r ng trong th c t cho dù v n t c truy n x p x t c ánh sáng thì tín hi u t B lan truy n n t m nào ó c ng ph i m t m t kho ng th i gian nào ó. T i th i m t 1 ( t 1 > t 0 ) nút D có nhu c u g i d li u. M c dù t i th i m t 1, nút B ang truy n song các tín hi u t B ch a lan t a t i nút D và vì v y nút D c m th y kênh truy n r i vào th i m t 1. Do ó, theo úng giao th c CDMA, nút D t u truy n d li u. Ngay sau ó, tín hi u t B xung t v i tín hi u t D. Hi n nhiên r ng tr lan t a (propagation delay) gi a hai u mút c a kênh truy n dùng chung - th i gian tín hi u lan truy n t u này n u kia kênh truy n óng vai trò quy t nh trong hi u su t ho t ng c a nó. Th i gian tr này càng l n, xác su t m t nút không phát hi n c có nút khác ang truy n c ng càng l n. Hình Bi u th i gian c a 4 nút s d ng CSMA. Hình 5.15 CSMA có phát hi n xung t Trang 233

241 Trong hình 5.14 các nút không th c hi n phát hi n xung t, c nút B và D ti p t c truy n toàn b frame ngay c khi có xung t. N u th c hi n công vi c phát hi n xung t, nút s ng ng truy n ngay khi phát hi n xung t. Hình t ng t nh hình 5. 14, ch khác là c hai nút ng ng truy n ngay sau khi phát hi n có xung t. Rõ ràng a kh n ng phát hi n xung t vào giao th c a truy c p s làm t ng hi u su t c a giao th c do các nút không c ng ti p t c g i frame ã b l i. Giao th c Ethernet chúng ta s nghiên c u trong ph n 5.5 là giao th c CSMA có phát hi n xung t. 3. Giao th c truy c p l n l t (Taking - turns) Hai tính ch t mà t t c các giao th c a truy c p mu n có là (1) khi ch có m t nút tích c c, nút này có th chi m toàn b ng truy n ngh a là truy n v i b ng thông t i a R bps và (2) khi M nút tích c c, m i nút có b ng thông trung bình R/M bps. Giao th c ALOHA và CSMA có tính ch t u tiên nh ng không có tính ch t th hai. u này ã thúc y các nhà nghiên c u xây d ng m t l p các giao th c khác - ki u l n l t gi ng nh ki u truy c p ng u- nhiên, có r t nhi u giao th c ki u l n l t, và m i giao th c này l i có r t nhi u bi n th. ây, chúng ta s th o lu n hai giao th c quan tr ng nh t. u tiên là ki u h i vòng (polling). V i ki u giao th c này m t nút c ch n óng vai trò u ph i. Nút u ph i l n l t h i t ng nút theo th t vòng tròn. u tiên nút u ph i g i thông p t i nút th nh t thông báo nút th nh t có th truy n t l ng d li u nào y. Sau khi nút th nh t truy n, nút u ph i thông báo cho phép nút th hai có th truy n m t l ng d li u nào ó... Nút u ph i có th xác nh nút nào ó k t thúc quá trình d li u khi không có tín hi u lan truy n trên kênh truy n. Giao th c h i vòng lo i tr s xung t hay các kho ng th i gian không c s d ng nh trong ki u giao th c truy c p ng u nhiên. u này khi n hi u su t c a nó cao h n nhi u. Nh ng không ph i giao th c h i vòng không có nh c m. Nh c m u tiên, giao th c có tr vòng - l ng th i gian c n thi t nút u ph i báo cho nút nào ó có th truy n. Ví d n u ch có m t nút tích c c thì nút s truy n v i t c nh h n R bps, vì nút u ph i ph i l n l t h i vòng t t c các nút, trong m i vòng nút tích c c ch c phép g i m t l ng d li u h n ch. Nh c m th hai, nghiêm tr ng n nhi u, là n u nút u ph i g p s c thì toàn b h th ng c ng b s p. Ki u giao th c th hai là giao th c th bài (token-passing). Trong giao th c này không có nút u ph i. M t frame c bi t c g i là th bài Trang 234

242 (token) c trao i gi a các nút theo m t th t nh tr c. Ví d, nút th nh t g i th bài t i nút th hai, nút th hai g i th bài t i nút th ba... nút th N g i th bài t i nút th nh t. Khi nút nh n c th bài, nó ch gi th bài khi có d li u c n truy n, n u không nó s ngay l p t c chuy n th bài t i nút k ti p. N u nút có frame truy n, khi nh n c th bài, nó g i i ng d li u c phép và sau ó chuy n th bài t i nút k ti p. Giao th c th bài c tri n khai phân tán và có hi u su t cao. Nh ng nó c ng có nhi u n c n gi i quy t. Ví, m t nút g p s c có th làm toàn b h th ng p. Ho c n u m t nút tình c không chuy n ti p hay làm m t th bài thì n có c ch a th bài m i vào l u thông. 4. M ng c c b LAN (Local Area Network) Nh ng giao th c a truy c p c s d ng trên nhi u lo i kênh truy n qu ng bá khác nhau. Chúng c s d ng cho kênh truy n v tinh hay môi tr ng không dây (các nút truy n trên cùng m t d i t n s ). Hình 5.16 Máy tính ng i dùng truy c p máy d ch v Web Internet thông qua LAN. Kênh truy n qu ng bá gi a máy tính ng i dùng và router g m m t " ng truy n" ng c c b LAN là m ng máy tính gi i h n trong m t khu v c a lý, ví d trong m t toà nhà ho c trong khuôn viên tr ng i h c. Thông th ng khi truy c p Intemet t tr ng i h c hay c quan, h u h t m i ng i truy p thông qua m ng LAN. Khi ó máy tính c a ng i dùng là m t nút trong ng LAN và m ng LAN cung c p kh n ng truy c p t i Intemet thông qua router, nh minh ho trong hình M ng LAN là kênh truy n duy nh t gi a t t c các máy tính và router; do ó nó c n t i giao th c t ng liên k t d li u và giao th c a truy c p. T c truy n R c a h u h t các m ng LAN r t Trang 235

243 cao. T c m ng LAN ph bi n tr c n m 1980 là LOMBPS, ngày nay là LOOMBPS và trong t ng lai g n là 1 Gbps. Vào nh ng n m 80 và u nh ng n m 90, có hai ki u công ngh m ng LAN ph bi n trên th tr ng. Công ngh th nh t là m ng c c b Ethernet c bi t n là LAN [IEEE ; Spurgeon 1998]) s d ng giao th c truy c p ng u nhiên. Công ngh th hai d a trên công ngh th bài m công ngh token-ring và FDDI. Công ngh Ethemet là công ngh ch o ngày nay. Trong m ng token-ring, N nút c a m ng (máy tính ho c router) c k t i vào vòng (trong) b ng ng truy n tr c ti p. Topo m ng xác nh th t chuy n th bài. Khi nút nh n c th bài và có nhu c u g i d li u, d li u (frame) c g i i s lan t a trên toàn b vòng. Nút g i s ch u trách nhi m lo i b frame trên vòng. FDDI c thi t k cho m ng n i b cho m t khu c l n (vài km 2 ). Do v y s không hi u qu n u frame ph i lan t a ng c l i phía g i sau khi ã n ích. Trong công ngh FDDI chính nút nh n ph i lo i frame ra kh i vòng. (th c s FDDI không ph i là kênh truy n qu ng bá thu n tuý vì không ph i nút nào c ng nh n c b t kì frame nào c truy n). Có th c thêm v công ngh token-ring và FDDI trong [3com 1999]. IV. A CH LAN VÀ ARP Nh ã nói trong ph n tr c, các nút trong m ng LAN g i frame cho nhau trên kênh truy n qu ng bá dùng chung. u này ngh a là khi m t nút trong m ng LAN truy n frame, m i nút khác k t n i t i m ng LAN u có kh n ng nh n c frame ó. Nh ng nói chung m i nút trong m ng LAN không mu n g i frame t i t t c các nút khác mà ch mu n g i t i m t nút c th nào ó trong m ng LAN. th c hi n u này, các nút trong m ng LAN ph i có kh n ng xác nh a ch c a nhau khi g i frame, ngh a là các nút c n có m t a ch trong m ng LAN và gói tin t ng liên k t d li u (frame) c n có tr ng ch a a ch nút ích. Khi nh n c m t frame, nút có th xác nh li u frame ó có ph i c g i cho nó không. u a ch ích c a frame trùng v i a ch LAN c a nút nh n, khi ó nút l y ra gói d li u t ng m ng t frame t ng liên k t d li u và chuy n gói d li u này lên t ng phía trên. u a ch ích không trùng v i a ch nút nh n, n gi n nút s lo i frame nh n c Trang 236

244 1. a ch LAN Hình 5.17 M i adapter có m t a ch LAN duy nh t Th c s, không ph i nút (máy tính) có a ch LAN mà chính là adapter i có a ch LAN. u này c minh ho trong hình a ch LAN có nhi u tên g i khác nhau: a ch v t lý (physical address), a ch Ethernet, a ch MAC (media access control). i h u h t các m ng LAN (k c m ng Ethernet và th bài), a ch LAN có dài 6 byte (có th có 248 a ch ).6 byte a ch này c bi u di n d i d ng th p l c phân, m i byte ng v i m t c p s th p l c phân. a ch m ng LAN c a adapter mang giá tr c nh, khi adapter c s n xu t ra thì a ch c a nó c ghi vào ROM c a adapter. t m thú v là hai adapter b t k có a ch LAN khác nhau. u này d ng nh khó có th th c hi n vì các adapter c s n xu t trên nhi u qu c gia khác nhau trong các công ty khác nhau. Làm th nào adapter s n xu t ài Loan có a ch khác v i a ch adapter s n xu t t i B? u này có c là do IEEE qu n lý không gian a ch v t lý. Khi mu n s n xu t adapter, công ty ph i mua m t ph n không gian a ch g m 224 a ch v i t m c phí nào ó. IEEE c p t ng kh i 224 a ch b ng cách c nh 24 bit u c a a ch v t lý và công ty có th gán 24 bit sau cho b t k s n ph m nào c a mình m t cách tùy ý. a ch v t lý c a adapter có c u trúc ph ng ( i l p v i c u trúc phân p) và không thay i cho dù có mang i âu. M i máy tính xách tay v i t card Ethernet luôn có cùng m t a ch v t lý cho dù b t k âu. u Trang 237

245 này ng c v i a ch IP có c u trúc phân c p (g m a ch m ng và a ch máy tính). a ch IP c a nút s thay i khi chuy n sang m ng khác. a ch t lý c a Adapter gi ng nh s ch ng minh th nhân dân c a m t ng i - không phân c p và luôn luôn không thay i b t k ng i ó âu Nh ã nói t i trong ph n u ch ng, khi adapter mu n g i frame n adapter ích nào ó trên cùng m t m ng LAN, adapter g i s chèn a ch nh n vào frame. Khi nh n c frame, adapter ích lo i b các tiêu c a frame và g i d li u lên t ng phía trên. T t c b frame (không g i gói d li u lên trên). Nh v y các adapter y không c n làm gián n CPU trung tâm khi chúng nh n c d li u dành cho nút khác. Tuy nhiên, ôi khi adapter i mu n g i t i t t c các adapter khác trên m ng LAN. Khi ó adapter s ng m t a ch c bi t: a ch qu ng bá trong frame g i i. Dành cho LAN, s d ng a ch 6 byte (nh là LAN Ethernet và token-passing). a ch qu ng bá là chu i 48 bit 1 (FF- FF-FF-FF-FF-FF trong h 16). Nguyên lý: G i các t ng c l p v i nhau Có m t vài lý do vì sao m i nút u có a ch v t lý bên c nh a ch ng m ng. u tiên, LAN c thi t k cho b t k giao th c m ng nào ch không ch cho giao th c IP và Internet. Thay vì a ch v t lý trung tính, n u adapter c gán a ch IP thì nó không d dàng h tr các giao th c m ng khác (ví d IXP ho c DECNET). Th hai, n u adapter s d ng a ch t ng ng thay cho a ch v t lý thì a ch c a t ng m ng ph i c l u tr trong RAM c a adapter và ph i c u hình l i khi di chuy n (hay kh i ng) adapter. M t l a ch n khác là không s d ng a ch c a adapter và yêu c u adapter chuy n d li u có trùng v i a ch m ng c a nó. Tuy nhiên v n y sinh v i gi i pháp này là CPU s liên t c b gián n khi b t k frame nào lan truy n trên LAN. Tóm l i, các t ng là các kh i c l p v i nhau thì các t ng có th có nh ng ph ng pháp ánh giá a ch khác nhau. n ây chúng ta ã th y có t i 3 ki u ánh a ch : tên máy t ng ng d ng, a ch IP t ng m ng và a ch v t lý t ng liên k t d li u. 2. Giao th c gi i mã a ch (ARP) Do t n t i c hai ki u a ch : a ch t ng m ng (ví d a ch IP) và a ch t ng liên k t d li u ( a ch v t lý) nên ch c ch n c n ph i có m t ph ng th c bi n i gi a chúng. i v i Intemet, ây 1à công vi c c a giao th c gi i mã a ch ARP [RFC 826]. T t c máy tính và router trên LAN u có module ARP. Trang 238

246 hi u rõ h n v ARP, xét m ng minh h a trên hình Trong ví d n gi n này m i nút có a ch IP duy nh t và m i adapter c a nút có m t a ch v t lý. a ch IP c vi t d i d ng ký pháp d u ch m th p phân và a ch LAN c vi t d i d ng ký pháp th p l c phân. Bây gi, gi s r ng nút có a ch IP mu n g i gói d li u IP n nút có a ch IP th c hi n công vi c này, nút g i ph i chuy n cho adapter c a nó không ch gói d li u IP mà c a ch v t lý c a nút nh n ( ). Khi nh n c gói d li u IP và a ch LAN, adapter c a nút g i s t o ra frame c a t ng liên k t d li u ch a a ch v t lý c a nút nh n và g i frame ó trên LAN. Nh ng làm th nào nút g i xác nh a ch v t lý c a nút có a ch IP là ? Nó s cung c p cho module ARP a ch IP , sau ó module ARP tr l i a ch t lý t ng ng v i a ch IP c h i, là 49-DB-D2-C7-56-2A Hình 5.18 M i nút trong m ng LAN có m t a ch IP, m i adapter c a nút có m t a ch m ng LAN Do v y chúng ta th y r ng ARP ã xác nh a ch v t lý t a ch IP. Trong khía c nh nào ó, nó t ng t DNS, DNS xác nh a ch IP qua tên máy tính. Tuy nhiên s khác bi t r t l n gi a hai d ch v này là DNS chuy n i tên m i máy tính trên Intemet. Ng c l i ARP ch chuy n i a ch IP cho nh ng nút trên cùng m ng LAN. N u m t nút Hà N i c g ng dùng module ARP xác nh a ch v t ly c a m t nút Hu thì ch c ch n module ARP s tr l i m t mã l i. IP address LAN address TTL Trang 239

247 B2-2F-54-1A-0F 13:45: C-66-AB B1 13:52:00 Hình 5.19 B ng ARP c a nút Bây gi chúng ta xét module ARP làm vi c nh th nào. Module ARP trong m i nút ch a m t b ng ARP trong RAM c a nó. M i hàng c a b ng là t anh x gi a a ch IP và a ch v t lý. Hình 5.19 minh h a b ng ARP a nút V i m i ánh x trong b ng ARP có tr ng "th i gian s ng" (TTL) cho chính ánh x ó, xác nh th i gian t n t i c a ánh x trong b ng. Chú ý r ng b ng này không nh t thi t ph i ch a t t c các ánh x cho m i nút trên LAN, ánh x có th d n d n c thêm vào b ng. Th i gian ng c a m t ánh x th ng 1à 20 phút k t khi ánh x c a vào b ng ARP. Bây gi, gi s nút mu n g i gói d li u IP n m t nút trên LAN. Nút g i c n xác nh a ch v t lý t a ch IP c a nút nh n. Công vi c này n gi n n u b ng ARP c a nút g i ch a ánh x cho nút nh n. Nh ng n u b ng ARP ó không có ánh x t ng ng cho nút nh n thì sao? Gi s nút có a ch IP mu n g i gói d li u t i nút Khi ó nút g i ph i s d ng giao th c ARP gi i mã a ch. u tiên, nút g i t o ra m t gói c bi t g i là gói ARP (ARP packet). Trong gói ARP có tr ng ch a a ch IP và a ch v t lý c a nút g i, nút nh n. C gói truy v n và tr l i ARP u có chung khuôn d ng. M c ích c a gói truy v n ARP là h i t t c các nút khác trên LAN xác nh a ch v t lý ng v i a ch IP. Tr l i ví d trên, nút g i gói truy v n ARP n adapter và yêu c u adapter g i t i t t c các nút trên m ng LAN, có ngh a là s d ng a ch qu ng bá FF- FF-FF-FF-FF-FF. Adapter t gói ARP trong frame t ng liên k t d li u, v i a ch ích c a frame là a ch qu ng bá và g i frame vào m ng LAN. Nó c ng gi ng nh vi c giáo viên vào l p h i to "Sinh viên nào có tên là Tr n V n X hãy báo s th sinh viên". Câu nói này lan t a kh p p h c ( c qu ng bá), t t c các sinh viên u nghe th y nh ng ch có sinh viên Tr n V n X m i tr l i. Frame ch a truy v n ARP c t t c các adapter trên LAN nh n (do s d ng a ch qu ng bá) và m i adapter g i gói ARP trong frame tên b x lý trung tâm c a nó. Sau ó m i nút ki m tra xem a ch IP c a mình có gi ng v i a ch IP ích trong gói ARP không. Ch có nút duy nh t phù h p m i g i gói ARP tr l i ch a ánh x c yêu c u. Sau ó nút g i truy v n ( ) có th c p nh t b ng ARP và g i i gói li u IP. Trang 240

248 Có hai m c n chú ý trong giao th c ARP. Th nh t, thông p truy n ARP c g i qu ng bá trong khi thông p tr l i ARP c g i trong frame bình th ng. Th hai, ARP ho t ng theo ki u "c m vào là ch y" (plug ang phay) vì b ng ARP c a nút c xây d ng t ng, không c n ng i qu n tr thi t l p c u hình. Và n u m t nút b ng k t n i v i LAN thì ánh x t ng ng c a nó c ng b xoá kh i b ng trong m t kho ng th i gian nào y. i gói d li u n nút không n m trong LAN Chúng ta ã hình dung rõ ràng ho t ng c a ARP khi m t nút g i gói li u n m t nút khác n m trên cùng m ng LAN. Bây gi hãy xét tình hu ng ph c t p h n khi nút mu n g i d li u t i nút n m ngoài m ng LAN. Chúng ta xét ví d minh h a trên hình 5.20 g m hai m ng LAN k t n i v i nhau qua router. Có m t s m c n chú ý trong hình u tiên nút chia ra làm hai ki u: máy tính và router. M i máy tính có duy nh t m t a ch IP và m t adapter. Nh ã nói t i trong ph n 4.4, router có m t a ch IP cho i giao di n ghép n i c a mình. M i giao di n c a router c ng có module ARP (trong router) và adapter. Router trong hình 5.20 có hai giao di n nên có hai a ch IP, hai module ARP và hai adapter. D nhiên, m i adapter có m t a ch v t lý riêng. ng chú ý r ng t t c giao di n k t n i vào m ng LAN 1 có a ch ng xxx và k t n i vào m ng LAN 2 có a ch IP d ng xxx. Vì v y, trong ví d này, 3 byte u tiên c a a ch IP xác nh a ch m ng trong khi ó byte cu i cùng xác nh nút c th nào trong ng (chính xác h n là adapter). Hình 5.20 Hai m ng LAN k t n i v i nhau qua router Trang 241

249 Bây gi, gi s r ng máy tính mu n g i gói d li u IP n máy tính Nh th ng l, máy tính g i s chuy n gói d li u xu ng adapter c a nó. Nh ng máy tính g i c ng c n ph i ch cho adapter bi t a ch v t lý ích thích h p. Adapter s ùng a ch v t lý nào? Li u y có ph i là a ch v t lý a máy tính BD-D2-C7-56-2A không? Hi n nhiên n u adapter g i s d ng a ch v t lý này thì ch c ch n không m t adapter nào a LAN 1 g i gói d li u IP lên t ng m ng c a nó, vì a ch ích c a frame không phù h p v i a ch v t lý c a b t k adapter nào trên LAN 1, do ó gói d li u s m t. u quan sát trên hình 5.20, chúng ta th y r ng g i gói d li u t nút n nút khác trên LAN 2, u tiên gói d li u ph i c g i n giao di n router B ng nh tuy n c a máy tính s ch ra r ng i n máy tính , thì u tiên gói d li u c n c g i t i router (chính xác h n là adapter c a router) có a ch Nh v y, a ch v t lý ích c a frame là a ch t lý c a giao di n router có a ch t c là E6-E BB- 4B. Làm th nào máy tính g i xác nh c a ch v t lý c a ?. T t nhiên là b ng cách s d ng ARP. Sau khi xác nh c a ch v t lý, nút g i s t o ra frame và g i frame vào LAN 1. Adapter a router trên LAN 1 s nh n frame t ng liên k t d li u g i cho nó, và chuy n gói IP lên t ng m ng c a router. Gói d li u IP ã c chuy n t y tính ngu n n router. Bây gi, router ph i xác nh giao di n g i d li u i. Công vi c này c th c hi n b ng cách tra c u b ng nh tuy n c a router. B ng nh tuy n c a router cho bi t gói d li u c n g i qua giao di n Sau ó giao di n này s g i gói d li u n adapter c a nó, adapter này t gói d li u trong m t frame m i và g n vào LAN 2. Lúc này a ch v t lý ích trong frame g i i là a ch v t lý c a ích cu i cùng (nút ). Làm th nào router có c a ch v t lý ích này? T t nhiên là d a vào ARP. ARP cho Ethemet c c t trong RFC 826 và có th tham kh o thêm trong RFC V. ETHERNET Hi n nay Ethemet g n nh th ng tr th tr ng m ng c c b. M i ch u nh ng n m 1980 n u nh ng n m 1990, Ethemet còn ph i i u v i nhi u thách th c t nh ng công ngh LAN khác nh FDDI, token-ring, ATM. Trang 242

250 t s công ngh ã thành công trong vi c chi m l nh m t th ph n nào ó trong vài n m. Nh ng t khi ra i vào gi a nh ng n m 70, Ethemet liên t c phát tri n và tr ng thành, và chi m l nh ph n l n th ph n. Ngày nay, Ethemet là công ngh v t xa các công ngh LAN khác và kh n ng này khó có th b o l n trong t ng lai g n. Có r t nhi u lý do cho s thành công c a Ethemet. Th nh t, Ethernet là ng c c b t c cao c tri n khai r ng rãi u tiên. c tri n khai ng i s m nên các nhà qu n tr m ng l p t c tr nên quen thu c v i Ethemet ( u m, các c tính ) - và ng i chuy n sang nh ng công ngh LAN m i. Th hai token-ring, FDDI và ATM ph c t p và t h n Ethemet. Th ba, lý do chính áng nh t s d ng các công ngh LAN khác (FDDI hay ATM) là do công ngh m i có t c cao h n, tuy nhiên Ethernet luôn luôn "ph n công" l i b ng cách liên t c nâng c p t c. Ethemet d ng chuy n m ch c phát minh vào u nh ng n m 90 v i t c r t cao. Cu i cùng vì Ethernet quá ph bi n, nên ph n c ng Ethemet ( c bi t và card ng) c ng h t s c ph bi n và giá r. Giá c th p này là do giao th c a truy p c a Ethemet - CSMALCD hoàn toàn phân tán nên có thi t k n gi n. Ki n trúc Ethernet (hình 5.21) c Bom Metcalfvà David Boggs a ra vào kho ng gi a nh ng n m 70. Website [Spurgeon 1999] cung c p nhi u thông tin v Ethernet. Hình 5.21 Thi t k u tiên c a Ethernet Bob Metcalfe và Ethernet Khi còn là nghiên c u sinh tr ng i h c Harvard vào u nh ng m 1970, Bob Metcalfe làm vi c cho ARAnet t i MIT và ã th c s n ng v công trình c a Abramson v giao th c truy c p ng u nhiên. Sau khi hoàn thành lu n án ti n s và ngay tr c khi b t u công vi c m i Xero Palo Alto Research Center (Xerox PARC), Bob ã t i th m Abrasmon và các ng nghi p t i tr ng i h c Hawai trong 3 tháng và nhìn t n m t Alohanet. T i Xero PARC, Metcalfe ã làm quen v i máy tính Alto (v khía Trang 243

251 nh nó ó có th coi là ti n thân c a máy tính cá nhân PC vào u th p niên 80). Metcalfe ã nh n th c c nhu c u k t n i m ng cho các máy tính này v i m t chi phí không t. Nên v i nh ng ki n th c v ARPNet, Alohanet và giao th c truy c p ng u nhiên, Metcalfe và ng nghi p David Bogg ã phát minh ra Ethernet. Ki n trúc Ethernet u tiên c a Metcalfe và Bogg ho t ng v i t c 2.94Mbps và có th k t n i 256 máy trong ph m vi 1 d m. Metcalfe và Bogg ã thành công trong vi c k t n i các máy tính Alto. Sau ó Metcalfe i u trong vi c xây d ng liên minh gi a Xerox, Digital và Intel thi t l p chu n Ethernet v i t c 10Mbps và c IEEE thông qua. N m 1979 Metcalfe thành l p công ty riêng là 3Com, v i m c tiêu phát tri n th ng m i hóa các công ngh m ng, k c công ngh Ethernet. C th 3Com ã bán s n ph m card m ng Ethernet cho các máy tính IBM PC ngày càng tr nên ph bi n. Metcalfe r i 3Com khi 3Com có 2000 nhân viên, tr giá 400 triêu ô la thu nh p. Tháng 1 n m 2003, 3Com có v n lên t i 15 t USD và công nhân. 1. Nh ng khái ni m c b n v Ethernet Ngày nay Ethemet xu t hi n d i nhi u hình th c. M ng c c b Ethernet có th có topo d ng bus hay d ng sao. M ng c c b Ethernet có th s d ng cáp ng tr c hay cáp quang. H n n a, Ethernet có th truy n d li u v i các c khác nhau có th là LOMBPS, LOOMBPS hay gbps. Nh ng dù là Ethemet ki u nào, t t c các công ngh Ethemet u có m t s c tr ng quan tr ng sau ây: 1.1. C u trúc frame Ethernet Các công ngh Ethernet khác nhau có m t trên th tr ng hi n nay u có chung c u trúc frame. Cho dù công ngh Ethemet s d ng cáp ng tr c hay cáp quang, ch y v i t c 10 Mbps, 100 Mbps hay 1 Gbps thì c u trúc frame u nh nhau. Frame Ethernet c minh ho trong hình Ki n th c v khuôn ng frame Ethemet s giúp chúng ta hi u k v Ethemet. Chúng ta xét vi c i gói d li u IP gi a hai máy tính trên cùng m t m ng c c b Ethemet (Chú ý r ng Ethemet c ng có th mang các gói d li u t ng m ng khác IP). Gi s A 1à adapter g i có a ch v t lý AA-AA-AA-AA- AA-AA và adapter nh n B có a ch v t lý là BB-BB-BB-BB-BB-BB. Trang 244

252 Preamble Dest. Address Source Address Data CRC Type Hình 5.22 Khuôn d ng gói tin Ethernet Adapter g i t gói d li u (IP datagram) trong frame Ethernet và g i frame này xu ng t ng v t lý. Adapter nh n s nh n frame t t ng v t lý, l y ra gói d li u IP và chuy n lên t ng m ng phía trên. ây chúng ta ch nghiên u 6 tr ng trong frame Ethemet: Tr ng d li u (t 46 n 1500 byte): tr ng này ch a gói d li u IP, MTU (Maximum Transfer Unit) c a Ethemet là 1500 byte. u này có ngh a là n u gói d li u IP v t quá 1500 byte thì máy tính ph i chia nh gói d li u ra. Kích th c t i thi u c a tr ng này là 46 byte. u này có ngh a là n u gói d li u nh h n 46 byte, tr ng d li u ph i c "chèn" thêm m t s d li u gi cho 46 byte. Khi bên i chèn thêm d li u vào thì t ng m ng bên nh n c ng nh n c gói d li u IP d n d li u c chèn thêm vào, khi ó nó ph i s ng tr ng dài trong gói d li u IP lo i b ph n thêm vào. a ch ích (6 byte): Tr ng này ch a a ch v t lý c a adapter nh n, BB-BB- BB-BB-BB-BB. Khi adapter B nh n b t k frame nào, nó s ki m tra a ch ích c a frame. N u a ch ích là BB-BB-BB- BB-BB-BB ( a ch c a chính nó), ho c a ch qu ng bá LAN (FF- FF-FF-FF-FF-FF) thì adapter m i chuy n gói tin datagram trong tr ng d li u lên t ng m ng. N u không adapter s lo i b frame (trong tr ng h p này frame c g i t i m t adapter khác). a ch ngu n (6 byte): Tr ng này ch a a ch v t lý c a adapter i frame, trong ví d này là AA-AA-AA-AA-AA-AA. Tr ng ki u (2 byte): Tr ng này cho phép Ethernet h tr nhi u giao th c t ng m ng khác nhau. C n chú ý r ng máy tính có th s ng nhi u giao th c t ng m ng không ch là IP. Trên th c t, máy tính nào ó có th h tr nhi u giao th c t ng m ng và s d ng các giao th c khác nhau cho nh ng ng d ng khác nhau. Vì th khi nh n c m t frame Ethernet, adapter B c n xác nh giao th c t ng m ng nào s nh n n i dung c a tr ng d li u. Nh ng giao th c t ng m ng nh IP, Novell IPX ho c APPLETALK u có m t mã nh danh (là t s ) ã c chu n hóa. H n n a, giao th c ARP c ng có m t Trang 245

253 nh danh. L u ý r ng tr ng ki u t ng t v i tr ng protocol trong gói d li u IP hay tr ng s hi u c ng trong t ng giao v n; m c ích a t t c các tr ng này là k t h p giao th c t ng d i v i giao th c t ng trên nó. Mã ki m tra d th a vòng (Cyclic Redundancy Check -CRC) (4 byte): M c ích c a tr ng CRC là cho phép adapter phát hi n li u có i nào trong frame nó nh n hay không. Nguyên nhân l i bit là do hi n ng suy hao n ng l ng n t c a tín hi u hay t a nhi t trong card Ethernet hay cáp m ng. Vi c phát hi n l i c th c hi n nh sau. Khi t o ra frame Ethernet, máy tính A tính giá tr tr ng CRC d a trên tr ng d li u th c s Công vi c ki m tra t i B xem d li u th c và CRC có mâu thu n không c g i là CRC check. N u vi c ki m tra CRC th t b i (ngh a là n u giá tr trong CRC không phù h p i ph n d li u) thì máy tính B xác nh trong frame có l i. i m u (preamble) (8 byte): Frame Ethernet b t u v i tr ng preambie 8 byte, trong ó b y byte u tiên có giá tr là ; byte th tám có giá tr y byte u tiên c a ph n m u làm nhi m v " ánh th c" adapter nh n và ng b hoá ng h bên i v i ng h bên nh n. T i sao các ng h l i không ng b hoá? Chú ý r ng adapter A truy n frame v i t c 10 MBPS, 100 MBPS hay 1 Gbps ph thu c vào ki u Ethernet. Tuy nhiên, b i vì không có gì là tuy t i hoàn toàn nên adapter A ch a ch c ã truy n frame v i c xác nh mà v i t c nào ó. Adapter nh n có th ch t ng c a adapter A b ng cách ch t t t c các bit trong b y byte u tiên. Hai bit cu i cùng trong byte th 8 (hai bit 1 liên ti p nhau) báo cho adapter B bi t r ng "d li u quan tr ng" chu n b n. Khi máy tính B th y hai bit 1 liên ti p nhau, nó bi t r ng 6 byte ti p theo là a ch ích. Adapter có th phát hi n frame ã c truy n xong khi không th y dòng n D ch v không h ng n i, không tin c y t c công ngh Ethernet cung c p cho t ng m ng d ch v không h ng i. Ngh a là khi adapter A mu n g i gói d li u n adapter B, adapter A s t gói d li u trong frame và g i ftame ó vào LAN mà không ph i b t tay" tr c v i adapter B. D ch v không k t n i t ng 2 này t ng t v i d ch v IP t ng 3 và d ch v UDP t ng 4. Trang 246

254 Công ngh Ethernet cung c p d ch v không tin c y cho t ng m ng. C th, khi nh n c frame t adapter A, adapter B s không g i ph n h i cho A. Adapter A không th xác nh li u frame nó truy n i có c nh n úng hay không. N u phát hi n l i khi ki m tra CRC, adapter B s lo i b frame. Chính u này giúp Ethernet n gi n và r. Nh ng dòng d li u chuy n t i ng m ng có th b gián n. u có s gián n do m t s frame Ethemet b lo i b, giao th c t ng úng d ng t i máy B có phát hi n c s gián n ó không? Nh ã th o lu n trong ch ng 3, u này ph thu c vi c ng d ng s d ng UDP hay TCP. N u ng d ng dùng UDP thì giao th c t ng ng d ng trong máy B s không phát hi n c gián n trong d li u. M t khác, n u ng d ng dùng TCP thì th c th TCP trong máy B s không g i biên nh n cho nh ng d li u ã b lo i b, do v y th c th TCP trong máy A ph i g i l i. Chú ý r ng khi TCP g i l i d li u, thì cu i cùng d li u c ng s i qua các adapter Ethernet. Và nh v y Ethemet truy n l i d li u. Tuy nhiên Ethemet không bi t r ng nó ang truy n l i mà coi r ng ó là m t gói d li u m i Gi i t n c s và mã hoá Manchester Bit stream Binary encoding Manchester encoding Hình 5.23 Mã hoá Manchester Ethemet s d ng b ng t n c s (baseband) ngh a là adapter g i tín hi u tr c ti p vào kênh truy n dùng chung. Card giao di n không d ch chuy n tín hi u sang i t n s khác nh trong ASDL và các h th ng cáp modem. Ethernet s d ng mã hoá Manchester (Hình 5.23). Trong ph ng pháp mã hoá Manchester, m i bít ng v i m t quá trình chuy n tr ng thái (transition): bit 1 chuy n t trên xu ng d i, bit 0 chuy n t d i lên trên. Lý do s d ng mã hoá Manchester là ng h c a adapter g i và nh n không ng b hoàn toàn v i nhau. Khi xu t hi n s chuy n ngay trong ph n gi a m i bit, máy Trang 247

255 tính nh n có th ng b ng h c a nó v i ng h c a máy tính g i. Sau khi ng h c a adapter nh n c ng b hoá, phía nh n có th thu c tín hi u c a m i bit và xác nh nó là 0 hay 1. Mã hoá Manchester c s ng nhi u trong t ng v t lý ch không ph i trong t ng liên k t d li u. 2. CSMA/CD : Giao th c a truy c p c a Ethernet Các nút trên m ng c c b Ethernet c k t n i qua m t kênh truy n qu ng bá dùng chung, vì v y khi adapter g i i m t frame, t t c các adapter trên LAN u nh n c frame. Ethernet dùng thu t toán a truy c p CSMA/CD. Chú ý r ng CSMA/CD s d ng các c ch sau: Adapter có th b t u truy n t i b t kì th i m nào, ngh a là không chia kho ng th i gian. Adapter không bao gi truy n frame khi nó nh n th y adapter khác ang truy n, (c m nh n sóng mang). Adapter ang truy n ch m d t truy n ngay khi phát hi n ra adapter khác c ng ang truy n (phát hi n xung t). Tr c khi c g ng th truy n l i, adapter i m t kho ng th i gian ng u nhiên t ng i nh. Nh ng c ch này giúp hi u su t c a CSMA/CD c c i thi n áng k so v i slotted ALOHA khi v n hành trong môi tr ng LAN. Trong th c t, u th i gian tr tín hi u lan truy n gi a hai nút là r t nh thì hi u su t c a CSMA/CD có th t t i 100%. Nh ng chú ý r ng c ch th hai và th ba k trên yêu c u adapter Ethernet có kh n ng (1) c m nh n c khi nào thì có t adapter khác ang truy n và (2) phát hi n xung t trong khi truy n. Adapter Ethemet th c hi n hai nhi m v này b ng vi c o m c n áp tr c và trong khi truy n. Adapter dùng giao th c CSMA/CD không c n k t h p v i adapter khác trên Ethernet. Trên m t adapter, giao th c CSMA/CD làm vi c nh sau: 1. Adapter nh n PDU t ng m ng, t o ra frame Ethernet và t frame vào trong b m c a adapter. 2. N u adapter c m nh n kênh truy n r i (không có n ng l ng tín hi u trên kênh truy n) thì adapter b t u truy n. N u adapter th y kênh truy n b n, nó s i cho n khi không phát hi n c n ng l ng tín hi u và sau ó b t u truy n. Trang 248

256 3. Trong khi truy n, adapter ki m tra xem có n ng l ng tín hi u n t adapter khác hay không. N u không phát hi n c n ng l ng sau khi ã truy n xong frame thì frame ó c xem 1à truy n thành công. 4. N u adapter phát hi n n ng l ng tín hi u t adapter khác trong khi ang truy n thì l p t c nó d ng l i không truy n và g i i tín hi u báo nhi u 48 bit (jam signal). 5. Sau khi d ng phát và g i tín hi u báo nhi u, adapter s th c hi n thu t toán exponential backoff. Khi truy n frame nào ó, n u th y frame ó xung t n l n liên ti p, adapter ch n m t giá tr ng u nhiên K trong kho ng (0,1,2.2 m -1) v i m = min(n,10). Sau ó adapter s i K* 512 tr c khi quay l i b c 2. Sau ây chúng ta s gi i thích v giao th c CSMA/CD. M c ích c a tín hi u báo nhi u là b o m t t c các adapter ang truy n khác u phát hi n ra xung t. Xét ví d sau: gi s adapter A b t u truy n i m t frame và ngay tr c khi tín hi u t A t i c adapter B, adapter B b t u truy n. Do y B ch truy n c vài bit tr c khi d ng l i không truy n ti p; Vài bit này s lan t a c n A, nh ng chúng không t o n ng l ng A có th phát hi n xung t. m b o A phát hi n c xung t, B ph i truy n thêm tín hi u báo nhi u dài kho ng 48 bit. Ti p theo ta xét t i thu t toán exponetial backoff. C n chú ý r ng bit time - th i gian truy n i m t bít - r t nh : v i t c Ethernet LOMBPS, bit time 1à 0.1 microsecond. Xét ví d sau: gi s adapter l n u tiên truy n i m t frame và trong khi truy n phát hi n có xung t. Sau ó adapter s ch n K=0 v i xác su t 0,5 và ch n K=1 v i xác su t 0,5. N u adapter ch n K=0 thì ngay l p t c nó s nh y n b c 2 sau khi truy n i tín hi u báo nhi u. N u adapter ch n K=l thì nó s i 51,2 microsecond tr c khi quay i b c 2. Sau xung t l n th hai, K c ch n ng u nhiên gi a các giá tr (0,1,2,3) v i xác su t b ng nhau, sau ba xung t. K s c ch n ng u nhiên gi a các giá tr (0, 1, 2,...,7) v i xác su t b ng nhau, sau nhi u h n m i xung t K c ch n ng u nhiên gi a các giá tr (0, 1, 2,..., 1023 ) v i xác su t b ng nhau.. Nh v y t ng s giá tr mà K có th l a ch n t ng theo lu th a c s 2 v i s m là s l n xung t cho (cho n khi N=10). Chu n Ethernet n nh gi i h n kho ng cách gi a hai nút b t k. Gi i n này b o m r ng n u adapter A ch n giá tr K th p h n giá tr K c a t t Trang 249

257 các adapter khác liên quan n x ng t trong pha tr c thì A có th truy n i frame mà không b xung t n a. i sao l i s d ng thu t toán exponetial backoff? T i sao không ch n K trong kho ng {0, l,2,3,4,5,6,7} sau m i xung t. Lý do sau khi adapter g p xung t l n u tiên, nó không hình dung c có bao nhiêu adapter liên quan n xung t ó. N u ch có m t s l ng nh adapter thì ch c ch n K c ch n trong m t t p h p h n ch. Ng c l i, n u có nhi u adapter liên quan thì K c ch n trong m t t p h p l n h n. B ng cách t ng kích c c a p h p sau m i xung t, adapter s thích nghi c v i nhi u hoàn c nh. Chúng ta c n chú ý thêm r ng m i l n adapter chu n b frame m i g i i, nó s d ng thu t toán CSMA/CD nói trên. C th adapter không quan tâm i b t k xung t nào tr c ó. Do v y, r t có kh n ng adapter v i frame i có th truy n xen vào trong khi m t vài adapter khác ang trong tr ng thái exponetial backoff. Hi u su t Ethernet Khi ch có m t nút có frame truy n, nút ó có th truy n v i t c t i a (10 Mbps, 100Mbps ho c 1 Gbps). Tuy nhiên n u nhi u nút cùng truy n thì c truy n thành công (effective rate) c a kênh truy n có th gi m i áng. Chúng ta nh ngh a hi u su t (efficiency) c a Ethernet là t l th i gian không có xung t trên kênh truy n khi có nhi u nút tích c c, m i nút c n truy n nhi u frame trong m t kho ng th i gian dài. xác nh hi u su t g n úng c a Ethernet, gi s t prop là th i gian l n nh t n ng l ng tín hi u lan t a gi a hai adapter. Gi s t trans là th i gian truy n i m t frame Ethernet v i l n c c i (x p x 1,2 ms v i Ethernet 10 Mbps). Có th xem [Lam 1980] và [Bertsekas 1991 ] xác nh công th c tính. ây chúng ta s d ng công th c: Efficiency = t prop /t trans công th c này chúng ta th y n u tprop t t i 0 thì hi u su t t t i 1. u này c ng r t h p lý: n u th i gian tr là 0 thì các nút xung t s l p t c d mà không lãng phí kênh truy n. Khi t trans tr lên r t l n, hi u su t t i 1. u này c ng hi n nhiên vì khi frame có c kênh truy n nó s chi m ng kênh truy n trong kho ng th i gian dài, nh v y kênh truy n h u nh lúc nào c ng trong tr ng thái làm vi c. Trang 250

258 3. Nh ng công ngh Ethernet Ph n l n nh ng công ngh Ethernet ph bi n ngày nay là LOBASE2 s ng cáp ng tr c g y (thin coaxial cable) có topo d ng bus, t c truy n là 10 Mbps; 10BaseT s d ng cáp ng tr c, topo hình sao, t c truy n là 10 Mbps; 100BaseT s d ng dây ng xo n, topo hình sao, t c truy n là 100Mbps; Gigabyte Ethemet s d ng c s i quang hay dây ng xo n, truy n i t c 1 Gbps. Nh ng công ngh Ethernet này c chu n hoá b i IEEE Vì th LAN Ethernet th ng c g i là LAN. Tr c khi ti p c, chúng ta c n nói v b ti p s c (repeater) - c s d ng ph bi n trong ng LAN c ng nh các ng truy n trên kho ng cách xa. Repeater là thi t t ng v t lý x lý trên t ng bit riêng l ch không ph i trên frame v i s ng là hai ho c nhi u h n. Khi tín hi u (bi u di n bit 0 ho c 1) n t m t ng, repeater th ng tái t o l i tín hi u này b ng cách t ng c ng n ng ng c a tín hi u và g i tín hi u ó qua t t c các c ng còn l i. Repeater c s d ng r ng rãi trong LAN m r ng ph m vi a lý. C n chú ý r ng trong Ethernet, repeater không có kh n ng c m nh n sóng mang hay th c hi n b t k m t ch c n ng nào c a CSMA/CD, repeater ch tái t o và g i tín hi u n t m t c ng n t t c các c ng khác, k c trong tr ng h p các ng kia c ng ang có tín hi u truy n Ethernet 10BASE2 Hình 5.24 Ethernet 10Base2 10Base2 là m t công ngh Ethemet r t ph bi n. "10" trong 10base2 có ngh a là t c truy n trong công ngh này là 10 Mbps. "2" có ý ngh a kho ng cách t i a gi a hai tr m không có repeater gi a không v t quá 200m. Hình 5.24 minh h a m ng Ethernet 10BASE2 có topo d ng bus, các nút (chính xác h n là các adapter) c k t n i tr c ti p vào m t môi tr ng dùng chung - cáp ng tr c g y (là lo i cáp t ng t nh cáp truy n hình nh ng m ng và nh h n). Khi adapter g i i m t frame, frame s c truy n Trang 251

259 qua u n i ch T (T connector). Sau ó frame s lan t a theo hai h ng c a dây d n. Trên ng i, m i adapter s nh n c m t b n sao c a frame (chính xác h n là các adapter thu c các tín hi u c a frame). Khi n m cu i cùng c a dây d n, t t c các tín hi u s b terminator h p th (tri t tiêu). Chú ý r ng, do t t c adapter u có kh n ng nh n m i frame nên 10Base2 rõ ràng là môi tr ng qu ng bá. u không có repeater, dài t i a c a bus là 185m. N u bus có ài n h n, suy hao tín hi u s làm h th ng ho t ng không chính xác. Ngoài ra n u không có repeater, s l ng t i a các nút là 30. Ng i ta s d ng repeater n i các n 10base2 liên ti p nhau, m i n có th có 30 máy và dài 185m. Ch có th s d ng t i a 4 repeater - do ó có 5 n 10Base Ethernet 10BaseT và 100BaseT Hình 5.25 Topo d ng sao 10BaseT và 100 BaseT 10BaseT và 100BaseT là hai công ngh t ng t nhau. m khác bi t quan tr ng nh t là t c truy n c a 10BaseT là 10Mbps trong khi t c truy n c a Ethernet 100BaseT là 100Mbps. 10BaseT và 100BaseT là công ngh c s d ng r t ph bi n hi n nay. Chúng có topo d ng sao, nh minh a trên hình Trong topo hình sao có m t thi t b trung tâm c g i là hub ( ôi khi i là b t p trung - concentrator). Adapter trên m i nút có k t n i tr c ti p n hub. K t n i này g m hai c p dây ng xo n ôi, m t truy n và m t nh n. T i m i u c a k t nôi có m t connector (b n i) RJ-45 - gi ng nh Trang 252

260 connector RJ-45 c s d ng cho n tho i thông th ng. Ch "T" trong 10BaseT và 100BaseT là vi t t t c a "Twisted pair". i v i 10BaseT và 100BaseT, kho ng cách t i a gi a adapter và hub là 100M, vì v y dài l n nh t gi a hai nút là 200m. Chúng ta s th o lu n trong ph n sau, kho ng cách này có th c t ng n u s d ng các thi t b nh hub, bridge, switch. b n ch t, hub và repeater vì khi nh n c tín hi u t adapter) hub s i tín hi u ó n t t c các adapter khác. Theo cách này, m i adapter có th (1) c m nh n kênh truy n xác nh li u kênh truy n có r i không và (2) phát hi n xung t trong khi ang truy n d li u. Nh ng hub c dùng ph bi n do có kh n ng tr giúp vi c qu n tr m ng. Ví d, n u adapter tr c tr c và ti p t c g i frame Ethernet (g i làjabbering adapter) thì m ng 10Base2 Ethernet s s p vì không adapter nào có kh n ng truy n thông n a. Nh ng u này không xây ra v i m ng 10BaseT vì hub s phát hi n v n và ng ng k t n i t i adapter ang tr c tr c. Tính n ng này có tính ch t t ng, có ngh a là không c n s can thi p b ng tay c a ng i qu n tr m ng. n th n a, h u h t hub có th thu th p và báo cáo thông tin n máy tính có t n i tr c ti p n hub. Máy tính ki m tra này s s d ng giao di n ho hi n th các thông tin tr ng thái c a hub nh b ng thông, t l xung t, kích th c trung bình c a frame v.v. Ng i qu n tr m ng có th s d ng thông tin này không ch ki m tra và kh c ph c l i mà còn l p k ho ch phát tri n LAN trong t ng lai. Nhi u adapter Ethernet ngày nay là adapter 10/100 Mbps. T c là chúng ta có th s d ng c dùng c hai ki u Ethemet: 10BaseT và 100BaseT. 10BaseT, c tr ng c a nó là s d ng lo i cáp xo n ki u 5 (lo i cáp ch t ng cao v i nhi u v ). Khác 10Base2 và 10BaseT, 100BaseT không s ng ph ng pháp mã hoá Manchester s d ng ph ng pháp 4B5B có hi u su t cao h n: m i nhóm 5 chu k ng h c s d ng mã hóa 4 bit và cung c p thông tin cho phép ng b hoá ng h. Chú ý r ng c hai công ngh 10BaseT và 100BaseT u có th s d ng cáp quang, Cáp quang th ng c s d ng k t n i n hub. Cáp quang có giá thành cao do giá thành connector nh ng u m c a nó và s ch ng nhi u tuy t v i. Chu n IEEE 802 cho phép LAN có th tr i r ng trên vùng a lý l n n u s d ng cáp quang n i v i các nút n m trên tr c chính (backbone). Trang 253

261 3.3. Gigabit Ethernet Gigabit Ethernet là s m r ng c a chu n Ethernet 10BaseT và 100BaseT. V i t c truy n d li u d ng thô là 1000 Mbps, Gigabit Ethernet n duy trì kh n ng t ng thích hoàn toàn v i các thi t b Ethernet ki u c. Chu n Gigabit Ethernet (IEEE802.3x), th c hi n các công vi c sau: d ng khuôn d ng frame Ethernet chu n (Hình 5.24), t ng thích i công ngh 10BaseT và 100BaseT. u này cho phép d dàng tích h p Gigabit Ethernet vào các c s ã cài t các thi t b Ethernet. Cho phép ng truy n point-to-point c ng nh kênh truy n qu ng bá dùng chung. ng truy n poit-to-point dùng switch trong khi kênh truy n qu ng bá s d ng hub gi ng 10BaseT và 100BaseT. Trong thu t ng Gigabit Ethernet, hub c g i là buffered distributors. d ng CSMA/CD cho kênh truy n qu ng bá dùng chung. t c hi u su t mong mu n, kho ng cách l n nh t gi a các nút b h n ch ch t ch. Kênh truy n point-to-point có c tính song công, m i h ng truy n i t c 1 Gbps. Gi ng 10BaseT và 100BaseT, Ethernet Gigabit có topo d ng sao v i hub ho c switch trung tâm. Gigabit Ethernet th ng c s d ng trên các backbone (tr c chính) k t n i nhi u m ng c c b Ethernet 10BaseT và 100BaseT. Gigabit Ethemet có th s d ng lo i cáp 5UTP ho c cáp quang. Liên minh Gigabit Ethernet là di n àn m v i m c ích y m nh h p tác phát tri n công ngh Ethernet Gigabit. Website c a h cung c p ngu n thông tin r t phong phú v Ethernet Gigabit [Alliance 1999]. Phòng thí nghi m Interoperability c a tr ng i h c Neo Hamphire c ng có m t trang p d n v Ethernet Gigabit [Interoperability 1999]. VI. HUB, BRIDGE VÀ SWITCH quan các công ty, tr ng i h c - có c m g m nhi u b ph n, i b ph n có m ng c c b Ethernet riêng. T t nhiên, c quan mu n k t n i ng c c b c a các b ph n. Trong m c này chúng ta nghiên c u m t s ng ti p c n k t n i các LAN v i nhau. Chúng ta s nghiên c u ba ng ti p c n: s d ng hub, bridge và switch. Trang 254

262 1. Hub Cách n gi n nh t k t n i LAN là s d ng hub. Hub là m t thi t b n gi n sao chép tín hi u n t m t c ng ra t t c các c ng còn l i. B n ch t c a hub là repeater, thao tác trên bit, vì th chúng là thi t b t ng v t lý. Khi bit i vào m t c ng, hub s truy n bit này qua t t c các c ng khác. Hình 5.26 K t n i m ng LAN qua hub. Hình 5.26 minh h a k t n i m ng LAN c a ba khoa trong m t tr ng i h c qua hub. M i khoa có m t m ng Ethernet 10BaseT cán b và sinh viên c a khoa s d ng. M i máy tính c a khoa k t n i point-to-point n hub. Hub th t, c g i là backbone hub (hub tr c chính) có k t n i point-topoint n các hub c a khoa c s d ng hên k t LAN c a ba khoa. Thi t c ch ra trong hình 5.26 là thi t k hub nhi u t ng (multi-tier hub deslgn) vì các hub c s p x p trong h th ng phân c p. Có th t o thi t k nhi u t ng - ví d, m t t ng dành cho c p Khoa, m t tâng dành cho các tr ng trong tr ng i h c l n (ví d : Tr ng k thu t, tr ng kinh t ) và t t ng ng v i m c cao nh t c a tr ng. Trong thi t k nhi u t ng, chúng ta coi toàn b m ng liên k t v i nhau là ng c c b LAN và coi m i phân m ng c a LAN ng v i m t khoa (ngh a là hub c a khoa và các máy tính n i t i hub ó) là LAN segment. Chú ý r ng t c LAN segment trong hình 5.26 thu c v cùng m t vùng xung t, ngh a là b t c lúc nào nhi u nút trên LAN truy n d li u t i cùng m t th i m thì phát sinh xung t và t t c nh ng nút liên quan b t u quá trình exponential backoff. Trang 255

263 ng c c b c p khoa liên k t t i hub tr c chính có nhi u u m. u tiên và quan tr ng nh t, nó cung c p môi tr ng truy n thông gi a các khoa i nhau. Th hai, nó m r ng kho ng cách t i a gi a b t c c p nút nào trên LAN. Ví d, v i 10BaseT kho ng cách l n nh t gi a nút và hub là 100M; vì th trong LAN segment, kho ng cách l n nh t gi a hai nút là 200m. ng k t n i qua hub, kho ng cách t i a này có th c m r ng vì kho ng cách gi a các hub k t n i tr c ti p v i nhau có th là 100m khi s ng cáp xo n ôi (và nhi u h n khi dùng cáp quang). u m th ba là thi t nhi u t ng gi m nguy c s p c a toàn h th ng. Gi s n u b t k hub a khoa nào ó b tr c tr c, hub tr c chính có th phát hi n v n và phong a k t n i t i hub khoa ó, nh v y các khoa còn l i v n có th ti p t c ho t ng và truy n thông trong khi hub b l i không ho t ng. Tuy v y hub c ng có nh c m. u tiên và có l quan tr ng nh t là khi s d ng hub trung tâm, mi n xung t c a m ng c c b c a t ng khoa tr thành mi n xung t chung c a toàn b h th ng. Xét ví d minh h a trên hình Tr c khi k t n i ba khoa, m ng c c b m i khoa có b ng thông c i là 10mbps, vì v y thông l ng toàn b t i a c a 3 LAN là 30mbps. Nh ng khi m ng LAN c a ba khoa c k t n i vào hub trung tâm, t t c máy tính c a ba khoa thu c v cùng m t mi n xung t, và thông l ng b gi m xu ng 10Mbps. n ch th hai là n u các khoa khác nhau s d ng các công ngh Ethernet khác nhau thì không có kh n ng k t n i chúng vào hub trung tâm. Ví d, n u m t vài khoa s d ng 100BaseT, thì không th k t n i chúng i nhau vì hub v b n ch t là repeater. n ch th ba là m i công ngh Ethemet (l OBASE2, 1 OBASET, 1 OOBASET,... ) có gi i h n v s nút, kho ng cách t i a gi a hai máy tính trong mi n xung t và s t ng t i a trong thi t k nhi u t ng. Nh ng h n ch này h n ch t ng s máy tính có th k t n i n m ng c c b c ng nh ph m vi a lý c a m ng c c b nhi u t ng. 2. Bridge Khác v i hub (là thi t b t ng v t lý), bridge có th x lý trên frame Ethemet, vì v y nó là thi t b t ng 2. Th c t, bridge chính là thi t b chuy n ch gói th c hi n vi c chuy n và l c frame c n c trên a ch v t lý. Khi frame n t m t c ng nào ó c a bridge, bridge không g i frame n t t c các c ng khác. Bridge s xác nh a ch ích t ng 2 ( a ch v t lý) c a frame và chuy n frame n c ng duy nh t n v ích. Trang 256

264 Hình 5.27 minh h a ba khoa trong ví d tr c k t n i t i bridge. Ba ch bên c nh bridge là s th t các c ng c a bridge. Khi các khoa c k t i qua bridge nh trong hình 5.27 chúng ta v n coi m ng k t n i toàn b là LAN và m ng c a m i khoa là LAN segment gi ng nh ph n tr c. Nh ng khác v i thi t k hub nhi u t ng trong hình 5.26, m i LAN segment bây gi 1à m t mi n xung t ã c cô l p. Hình 5.27 K t n i m ng b ng Bridge Bridge có th kh c ph c nhi u v n c a hub. Th nh t, bri ge cho phép truy n thông gi a các khoa trong khi cô l p mi n xung t c a m i khoa. Th hai, bridge có th k t n i các công ngh LAN khác nhau (Ethemet 1 OMBPS và 1 OOMBPS ch ng h n). Th ba, không b gi i h n v kho ng cách t i a trong m ng c c b khi s d ng bridge k t n i các LAN segment. V lý thuy t mà nói s d ng bridge có th xây d ng m t m ng LAN tr i r ng trên toàn th gi i Bridge Fowarding và Filtering (chuy n ti p và l c) c (Filtering) là kh n ng xác nh li u s chuy n ti p frame n c ng nào ó hay lo i b luôn frame. Chuy n ti p (Fowarding) là kh n ng xác nh ng k ti p chuy n frame i. Bridge th c hi n hai ch c n ng này nh ng bridge (brìdge table). M i hàng trong b ng ímg v i m t nút ích trên ng LAN. Tuy v y b ng bridge không nh t thi t ph i ch a t t c các hàng cho m i nút trong m ng. M i hàng trong b ng bridge g m có (l) a ch v t lý a nút, (2).c ng bridge có th d n n nút ó, (3) th i m thi t l p hàng ó Trang 257

265 trong b ng. Ví d v b ng bridge cho LAN trong hình 5.27 c ch ra trong hình M c dù quá trình chuy n frame có v t ng t quá trình chuy n gói d li u datagram trong ch ng 4, nh ng chúng ta s th y ngay chúng hoàn toàn khác nhau. ây, chú ý r ng a ch bridge s d ng là a ch v t lý ch không ph i là a ch c a t ng m ng (IP). Chúng ta c ng th y ngay b ng bridge c xây dimg khác v i b ng nh tuyên. Address Interface Time 62-FE-F A3 1 9:32 7C-BA-B2-B :36.. Hình 5.28 M t ph n b ng bridge cho LAN trong hình 5.27 hi u ch c n ng l c và chuy n ti p làm vi c nh th nào, gi s frame i a ch ích DD-DD-DD-DD-DD-DD n bridge t c ng x. Bridge tìm ki m trên b ng l c hàng ng v i a ch v t lý DD-DD-DD-DD-DD-DD tìm ra c ng y t ng ng - là c ng s d n n nút có a ch ích DD-DD-DD- -DD-DD. Chúng ta s th y u gì s x y ra n u không có giao di n y nh th trong b ng: u x = y, thì frame n t segment ch a adapter DD-DD-DD-DD- DD-DD. Không c n chuy n frame n b t k c ng nào khác, bridge th c hi n ch c n ng l c b ng cách lo i b frame. u x # y thì frame c n c g i n segment nào ó qua c ng y. Bridge th c hi n ch c n ng chuy n ti p b ng cách t frame vào b m ra c a c ng y. Nh ng quy t c n gi n này cho phép bridge cô l p các mi n xung t a các LAN segment khác nhau k t n i t i các c ng c a nó. Nh ng quy t c này c ng cho phép hai c p thi t b trên hai segment khác nhau truy n ng th i mà không b xung t. Xét nh ng qui t c này cho m ng minh h a trên hình 5.27 và b ng bridge a nó trên hình Gi s frame v i a ch ích 62-EF-F A3 c i n bridge qua c ng 1. Bridge ki m tra b ng và th y r ng ích n m trên LAN segment c k t n i n c ng 1 (là m ng LAN c a khoa Electrical Engineering). u này có ngh a là frame th c s ã c qu ng bá trên LAN segment này. Do v y bridge ã l c frame (ngh a 1à, lo i b frame - vì th c s máy tính ích c ng ã nh n c frame này r i). Gi s frame v i a ch ích nh v y n t c ng 2. Bridge l i ki m tra b ng và th y r ng ích n m Trang 258

266 trên h ng ng v i c ng 1, do ó bridge chuy n frame ra c ng 1. Rõ ràng ng n u b ng bridge y và chính xác, bridge cho phép truy n thông gi a các khoa nh ng cô l p các mi n xung t. Khi có frame g i chuy n ti p, hub (ho c repeater) g i frame lên trên ng truy n mà không quan tâm xem có thi t b nào khác ang chi m d ng ng truy n không. Trái l i, bridge s s d ng thu t toán CSMA/CD trong ph n 5.3 khi c n g i i frame. T c là bridge s không truy n ngay n u nh có nút khác trên LAN segment c ng ang truy n; h n n a, bridge c ng s d ng thu t toán exponential backoff khi vi c truy n c a nó b xung t. Vì v y, ng c a bridge ho t ng gi ng nh adapter c a nút. Nh ng v m t k thu t mà nói, bridge không ph i là adapter vì chúng không có a ch v t lý. Chú ý ng adapter c a nút luôn luôn chèn a ch v t lý c a nó vào tr ng a ch ngu n trong t t c các frame nó g i i. u này c ng úng cho adapter c a router. Ng c l i bridge không thay i a ch ngu n c a frame. t tính n ng quan tr ng c a bridge là chúng có th c dùng n i các LAN segment s d ng nh ng công ngh Ethemet khác nhau. Ví d n u trong hình 5.27, khoa Electrical Engineering s d ng Ethernet 10BaseT, Khoa Computer Science s d ng Ethernet 100BaseT và khoa System Engineering d ng Ethemet 10BaseT thì bridge có th k t n i c 3 segment trên. V i bridge Ethemet Gigabit có th s d ng ng truy n 1 Gbps n i t i router. Nh chúng ta ã c p ban u, hub không có tính n ng có th k t n i các công ngh v i t c truy n khác nhau. Khi s d ng bridge làm thi t b k t n i, thì v lý thuy t LAN không b gi i h n b i ph m vi a lý. Trên lý thuy t chúng ta có th xây d ng m ng LAN tr i r ng toàn c u b ng k t n i các hub qua các bridge. Theo thi t k này, m i hub là m t mi n xung t và do ó LAN không b gi i h n. Tuy nhiên sau ây chúng ta s th y r ng trong m ng l n ng i ta s k t n i qua router, ch không s d ng bridge T h c (Self-Learning) t c tính tuy t v i (nh t là i v i nh ng ng i qu n tr m ng) c a bridge 1à kh n ng t h c. ó là b ng l c c a bridge c xây d ng t ng, ng, t tr - không c n b t c s can thi p nào t phía ng i qu n tr. Nói cách khác, bridge có kh n ng t h c. Kh n ng này c th c hi n nh sau: 1. B ng bridge kh i u là r ng. Trang 259

267 2. Khi frame n c ng nào ó và a ch ích c a frame không có trong ng, thì bridge s chuy n frame n b m ra c a t t c các c ng còn l i (t i m i c ng, frame c truy n lên LAN segment nh CSMA/CD) 3. Khi nh n c frame, bridge l u tr : (1) a ch v t lý trong tr ng a ch ngu n c a frame, (2) c ng nh n c frame, (3) th i gian hi n i. Nh v y bridge ghi nh c v trí LAN segment c a nút g i. N u nút nào ó trong LAN g i frame qua bridge thì bridge s xác nh c c ng i n nút ó. 4. Khi frame n m t trong các c ng và a ch ích c a frame có trong ng, thì bridge chuy n frame n c ng thích h p. 5. Bridge s xoá a ch nào ó trong b ng n u adapter có a ch ó không ti p t c g i frame trong kho ng th i gian nào ó. Theo cách này, n u PC c thay th b i PC khác (v i adapter kh c) thì a ch t lý c a PC tr c s b bridge xoá. Xét quá trình t h c c a bridge trong hình 5.27 và b ng bridge t ng ng trong hình Gi s r ng t i th i m 9:39 bridge nh n c m t ftame có a ch g i là n c ng 2. Gi s, a ch này ch a có trong b ng, bridge s b sung m t hàng m i trong b ng nh ch ra trên hình Address Interface Time :39 62-FE-F A3 1 9:32 7C-BA-B2-B :6 Hình 5.29 B ng l c c a bridge Ti p t c v i ví d này, gi s r ng "tu i th " c a m i hàng trong b ng là 60 phút và máy tính v i a ch 62-FE-F A3 không g i i b t k frame nào qua bridge trong kho ng th i gian t 9:32 n 10:32 thì lúc 10:32, bridge s xóa a ch này kh i b ng. Bridge là thi t b theo ki u "c m vào là ch y" (plug ang play) b i vì nó không c n s can thi p c a ng i qu n tr m ng. Ng i qu n tr m ng ch c n m các connector vào các công c a bridge. Ng i qu n tr m ng không c n thi t l p c u hình cho b ng bridge trong th i gian cài t hay khi máy tính tách kh i LAN segment. Do c tính này, bridge c xem là trong su t (transparent). Trang 260

268 2.3. Spanning tree t v n n u thi t k phân c p thu n túy cho k t n i các LAN segment là n u hu ho c bridge g n nh b h ng, thì m t ph n l n LAN s không c k t n i. Chính vì lý do này ng i ta th ng xây d ng m ng v i nhi u ng n i gi a các LAN segment. M t ví d v m ng nh th c minh ho trong hình Nhi u ng d th a gi a các LAN segment làm gi m kh n ng s p a toàn b h th ng. Nh ng vi c có nhi u ng d n gi a các segment c ng phát sinh ra nhi u v n - m t frames có th di chuy n vòng quanh hay c nhân b n lên nhi u l n trong m ng c c b [Perioman 1999]. hình dung ra u này, gi s b ng bridge trong hình 5.30 r ng và máy tính trong khoa Electrical Engineering g i frame n máy tính trong khoa Computer Science. Khi frame n hub Electrical Engineering, hub s sinh ra hai b n sao a frame và g i m i b n n hai bridge. Khi m i bridge nh n c frame, nó t o ra 2 b n sao c a frame, m t b n g i n hub c a khoa System Engineering và b n kia n hub c a khoa Computer Science. Vì c hai bridge cùng làm nh v y, s có 4 frame gi ng h t nhau trong LAN. Frame có th c nhân b n liên t c n u bridge không bi t nút nh n n m âu. (chú ý r ng a ch v t lý c a máy tính nh n có trong b ng l c, thì tr c ó máy tính nh n ph i g i i m t frame qua bridge ). Trong tr ng h p này, s b n sao a frame g c t ng theo hàm s m, hàm tràn ng p toàn b m ng. Hình 5.30 M ng spanning tree Trang 261

Google Apps Premier Edition

Google Apps Premier Edition Google Apps Premier Edition THÔNG TIN LIÊN H www.google.com/a/enterprise Email: apps-enterprise@google.com Nh ng gi i pháp m nh. i m i c a Google. Chi phí th p. i Google Apps Premier Edition, b n có th

More information

KHI X L T SÔNG H NG VÀO SÔNG ÁY

KHI X L T SÔNG H NG VÀO SÔNG ÁY XÂY D NG B N NG P L T KHU V C H DU TÓM T T T KHI X L T SÔNG H NG VÀO SÔNG ÁY Lê Vi t S n 1 Bài báo này trình bày k t qu nghiên c u, ánh giá r i ro ng p l vùng h du sông áy khi x l t sông H ng vào sông

More information

NG S VIÊN TRONG CH M SÓC

NG S VIÊN TRONG CH M SÓC Information Sheet INSERT HEADING / SPECIALTY If you have any English language difficulties, please ask staff to book an interpreter. From home contact the Telephone Interpreter Service on 9605 3056. Services

More information

Th vi n Trung Tâm HQG-HCM s u t m

Th vi n Trung Tâm HQG-HCM s u t m U N XIN VI C B NG TI NG VI T NG HÒA XÃ H I CH NGH A VI T NAM c l p T do H nh phúc N XIN VI C Kính g i:...... Tôi tên là:... Sinh ngày... tháng...n m...t i... Gi y ch ng minh nhân dân s :... p ngày... tháng...n

More information

PH NG PH P D¹Y HäC TÝCH CùC TRONG GI O DôC MÇM NON

PH NG PH P D¹Y HäC TÝCH CùC TRONG GI O DôC MÇM NON NGUYỄN THỊ CẨM BÍCH MODULE mn 20 PH NG PH P D¹Y HäC TÝCH CùC TRONG GI O DôC MÇM NON 69 A. GIỚI THIỆU TỔNG QUAN Ph ng pháp d y h c là m t trong nh ng y u t quan tr ng c a quá trình d y h c. quá trình d

More information

KH O SÁT D L NG THU C TR SÂU LÂN H U C TRONG M T S CH PH M TRÀ ACTISÔ

KH O SÁT D L NG THU C TR SÂU LÂN H U C TRONG M T S CH PH M TRÀ ACTISÔ TÓM T T KH O SÁT D L NG THU C TR SÂU LÂN H U C TRONG M T S CH PH M TRÀ ACTISÔ Nguy n Th Minh Thu n*, Tr n Thanh Nhãn*, Nguy n ng Ti n ** t v n : Thu c b o v th c v t làm ô nhi m môi tr ng và c bi t là

More information

Thông tin mang tính a lý trên m t vùng lãnh th bao g m r t nhi u l p d li u khác nhau (thu c n v hành chánh nào, trên lo i t nào, hi n tr ng s d ng

Thông tin mang tính a lý trên m t vùng lãnh th bao g m r t nhi u l p d li u khác nhau (thu c n v hành chánh nào, trên lo i t nào, hi n tr ng s d ng Ch ng 3 PHÁT TRI N D LI U Thông tin mang tính a lý trên m t vùng lãnh th bao g m r t nhi u l p d li u khác nhau (thu c n v hành chánh nào, trên lo i t nào, hi n tr ng s d ng t là gì,... ) và m i d li u

More information

À N. á trong giáo d. Mã s HÀ N NGHIÊN C ÊN NGÀNH TÓM T

À N. á trong giáo d. Mã s HÀ N NGHIÊN C ÊN NGÀNH TÓM T VI À N C K NGHIÊN C ÊN NGÀNH Mã s á trong giáo d TÓM T HÀ N - 2016 Công trình àn thành t Ph Ph Vi HQGHN c: 1. PGS.TS. Ngô Doãn ãi 2. TS. Nguy... Ph... Lu...... ti... vào h Có th ìm - - Trung tâm Thông

More information

CH NG IV TH C HI N PH NG PHÁP T NG H P CHO QUY HO CH S D NG B N V NG NGU N TÀI NGUYÊN T AI

CH NG IV TH C HI N PH NG PHÁP T NG H P CHO QUY HO CH S D NG B N V NG NGU N TÀI NGUYÊN T AI CH NG IV TH C HI N PH NG PHÁP T NG H P CHO QUY HO CH S D NG B N V NG NGU N TÀI NGUYÊN T AI I. M C ÍCH - Rà soát và phát tri n chính sách h tr cho nh ng s d ng t ai t t nh t và qu n lý b n v ng ngu n tài

More information

NGHIÊN C U XU T XÂY D NG H H TR RA QUY T NH KHÔNG GIAN CHO THOÁT N C Ô TH B NG CÁC GI I PHÁP CÔNG TRÌNH

NGHIÊN C U XU T XÂY D NG H H TR RA QUY T NH KHÔNG GIAN CHO THOÁT N C Ô TH B NG CÁC GI I PHÁP CÔNG TRÌNH NGHIÊN C U XU T XÂY D NG H H TR RA QUY T NH KHÔNG GIAN CHO THOÁT N C Ô TH B NG CÁC GI I PHÁP CÔNG TRÌNH Lê Trung Ch n 1, Kh u Minh C nh 1 TÓM T T T Vi c nâng ng/ ào kênh s nh h ng n tích l y dòng ch y.

More information

GIÁO H I PH T GIÁO VI T NAM TH NG NH T

GIÁO H I PH T GIÁO VI T NAM TH NG NH T BUREAU INTERNATIONAL D'INFORMATION BOUDDHISTE INTERNATIONAL BUDDHIST INFORMATION BUREAU PHÒNG THÔNG TIN PH T GIÁO QU C T C quan Thông tin và Phát ngôn c a Vi n Hóa Ð o, Giáo h i Ph t giáo Vi t Nam Th ng

More information

C M NANG AN TOÀN SINH H C PHÒNG THÍ NGHI M

C M NANG AN TOÀN SINH H C PHÒNG THÍ NGHI M C M NANG AN TOÀN SINH H C PHÒNG THÍ NGHI M Xu t b n l n th 3 T ch c Y t Th gi i Geneva 2004 Hi u ính Th c s Ph m V n H u, Vi n V sinh D ch t Tây Nguyên Th c s Nguy n Th Thu H ng, i h c Qu c gia Hà N i

More information

TH TR NG HÀNG KHÔNG, KHÔNG GIAN VI T NAM

TH TR NG HÀNG KHÔNG, KHÔNG GIAN VI T NAM TH TR NG HÀNG KHÔNG, KHÔNG GIAN VI T NAM Tr n B ng, (X2000-Supaéro 2004), Eurocopter. Th tr ng v n t i hàng không Vi t Nam N n kinh t Vi t Nam ã t c nh ng thành t u áng k sau khi chuy n sang n n kinh t

More information

Ngô Nh Khoa và cs T p chí KHOA H C & CÔNG NGH 58(10): 35-40

Ngô Nh Khoa và cs T p chí KHOA H C & CÔNG NGH 58(10): 35-40 XÂY DỰNG PHƯƠNG THỨC TRUYỀN THÔNG TRỰC TIẾP GIỮA PC VÀ PLC ỨNG DỤNG TRONG HỆ ĐIỀU KHIỂN GIÁM SÁT TRẠM TRỘN BÊ TÔNG Ngô Như Khoa 1*, Nguyễn Văn Huy 2 1 Đại học Thái Nguyên, 2 Trường Đại học KTCN - Đại học

More information

System AR.12_13VI 01/ with people in mind

System AR.12_13VI 01/ with people in mind System 2000 H ng d n S d ng 04.AR.12_13VI 01/2018...with people in mind C NH BÁO tránh th ng tích, hãy luôn c H ng d n S d ng này và các tài li u kèm theo tr c khi s d ng s n ph m. B t bu c ph i c H ng

More information

Thông Tin An Toàn V n Ph m AAM704 INTERGARD 345 DUSTY GREY PART A. 1.2 Cách dùng ng nh t có liên quan c a các ch t ho c h n h p và cách dùng ng c l i

Thông Tin An Toàn V n Ph m AAM704 INTERGARD 345 DUSTY GREY PART A. 1.2 Cách dùng ng nh t có liên quan c a các ch t ho c h n h p và cách dùng ng c l i International Paint Pte Ltd. Thông Tin An Toàn V n Ph m AAM704 INTERGARD 345 DUSTY GREY PART A S n d ch 2 S n hi u ch nh 04/08/15 1. Chi ti t v n ph m và công ty 1.1. Tên S n Ph m INTERGARD 345 DUSTY GREY

More information

M C L C. Thông tin chung. Ho t ng doanh nghi p. Báo cáo & ánh giá BÁO CÁO THƯỜNG NIÊN Thông tin công ty. 3 Quá trình phát tri n c a INVESTCO

M C L C. Thông tin chung. Ho t ng doanh nghi p. Báo cáo & ánh giá BÁO CÁO THƯỜNG NIÊN Thông tin công ty. 3 Quá trình phát tri n c a INVESTCO M C L C Thông tin chung 2 Thông tin công ty 3 Quá trình phát tri n c a INVESTCO Ho t ng doanh nghi p 4 C c u c ông & qu n tr INVESTCO 6 Công ty con & Công ty liên doanh, liên k t Báo cáo & ánh giá 14 Báo

More information

T i tr ng t p trung (tr t i tr ng t p trung trên Frame). riêng c a nút. Nút có các lo i h to riêng cho: liên k t, b c t do, l c t p trung, kh i

T i tr ng t p trung (tr t i tr ng t p trung trên Frame). riêng c a nút. Nút có các lo i h to riêng cho: liên k t, b c t do, l c t p trung, kh i TH C HÀNH PH N M M SAP 2000 A. CÁC V N C B N 1. Nh ng khái ni m c b n 1.1. S k t c u - s tính 1.1.1. Nút (Node) a/ V trí c a nút: i m liên k t các ph n t. i m thay i v c tr ng v t li u. i m c n xác nh

More information

KHÁM PHÁ CHI C CHEVROLET COLORADO DÀNH RIÊNG CHO NH NG CH NHÂN KHÔNG NG I B T PHÁ

KHÁM PHÁ CHI C CHEVROLET COLORADO DÀNH RIÊNG CHO NH NG CH NHÂN KHÔNG NG I B T PHÁ COLORADO M I KHÁM PHÁ CHI C CHEVROLET COLORADO DÀNH RIÊNG CHO NH NG CH NHÂN KHÔNG NG I B T PHÁ h danh bi u t ng bán t i M, Chevrolet Colorado m i v i đ ng c VGT Turbo diesel Duramax m nh m b t phá lên

More information

QCVN 19: 2009/BTNMT QUY CHUN K THUT QUC GIA V KHÍ THI CÔNG NGHIP I V I BI VÀ CÁC CHT VÔ C

QCVN 19: 2009/BTNMT QUY CHUN K THUT QUC GIA V KHÍ THI CÔNG NGHIP I V I BI VÀ CÁC CHT VÔ C CNG HÒA XÃ HI CH NGHA VIT NAM QUY CHUN K THUT QUC GIA V KHÍ THI CÔNG NGHIP I V I BI VÀ CÁC CHT VÔ C National Technical Regulation on Industrial Emission of Inorganic Substances and Dusts HÀ NI - 2009 Li

More information

L i m. v m ng, lá có hai th : m t lo i ph t lo i thô nhám. C hai lo u dài 4,5 t u nh ng

L i m. v m ng, lá có hai th : m t lo i ph t lo i thô nhám. C hai lo u dài 4,5 t u nh ng L i m Hoa u i hoa hi m, l không thu c lo i hoa qu, m c nh (Himalaya), cao nguyên Delcan thu c hay c Tích Lan v.v S i c c Ph t Thích Ca Mâu Ni c t i cung thành Ca T La v i chân dãy Hy Mã L c C ng Hòa Nepal.

More information

Thông Tin An Toàn V n Ph m

Thông Tin An Toàn V n Ph m 1. Chi ti t v n ph m và công ty Chi Nhánh T i TP.H Chí Minh c a CTY TNHH Akzo Nobel Coating Thông Tin An Toàn V n Ph m BEA774 INTERSMOOTH 7465HS SPC BROWN S n d ch 3 S n hi u ch nh 01/10/17 1.1. Tên S

More information

H íng DÉN Sö DôNG MéT Sè PHÇN MÒM VUI CH I, HäC TËP TH NG DôNG CHO TRÎ MÇM NON MODULE MN HOÀNG CÔNG DỤNG

H íng DÉN Sö DôNG MéT Sè PHÇN MÒM VUI CH I, HäC TËP TH NG DôNG CHO TRÎ MÇM NON MODULE MN HOÀNG CÔNG DỤNG HOÀNG CÔNG DỤNG MODULE MN 31 H íng DÉN Sö DôNG MéT Sè PHÇN MÒM VUI CH I, HäC TËP TH NG DôNG CHO TRÎ MÇM NON LÀ M Đ Ồ DÙN G D Ạ Y HỌ C, ĐỒ C HƠI TỰ T ẠO 163 A. GIỚI THIỆU TỔNG QUAN y m nh ng d ng công ngh

More information

Thông Tin An Toàn V n Ph m

Thông Tin An Toàn V n Ph m International Paint Pte Ltd. Thông Tin An Toàn V n Ph m BEA754 INTERSMOOTH 7460HS SPC BROWN S n d ch 3 S n hi u ch nh 04/08/15 1. Chi ti t v n ph m và công ty 1.1. Tên S n Ph m INTERSMOOTH 7460HS SPC BROWN

More information

AIR SLEEP MODE With the air sleep sensor, the air conditioner can monitor the activity/movement level in a room and adjust the temperature and humidit

AIR SLEEP MODE With the air sleep sensor, the air conditioner can monitor the activity/movement level in a room and adjust the temperature and humidit AIR SLEEP MODE With the air sleep sensor, the air conditioner can monitor the activity/movement level in a room and adjust the temperature and humidity automatically, thus achieving the purpose of comfortable

More information

22 Quy lu t b t bi n c a Marketing Al Ries & Jack Trout

22 Quy lu t b t bi n c a Marketing Al Ries & Jack Trout 22 Quy lu t b t bi n c a Marketing Al Ries & Jack Trout (Copy t TTVNol) u 1 : trí u tiên hay h n là v trí t t h n t nhi u ng i tin r ng v n c n b n trong ti p th ó là làm sao thuy t ph c khách hàng tin

More information

DANH T NG VI T NAM TI U S DANH T NG VI T NAM TH K XX - T P II

DANH T NG VI T NAM TI U S DANH T NG VI T NAM TH K XX - T P II Giáo H i Ph t Giáo Vi t Nam Ph t L ch 2546 2002 DANH T NG VI T NAM TI U S DANH T NG VI T NAM TH K XX - T P II - Nhà Xu t B n Tôn Giáo - Hà N i Ch biên: Thích ng B n (Word and PDF creator http://tuvienhuequang.com)

More information

Luâ t Chăm So c Sư c Kho e Mơ i va Medicare

Luâ t Chăm So c Sư c Kho e Mơ i va Medicare Luâ t Chăm So c Sư c Kho e Mơ i va Medicare Nê u quy vi cu ng như nhiê u ngươ i kha c co Medicare, quy vi co thê thă c mă c luâ t chăm so c sư c kho e mơ i co y nghi a gi vơ i quy vi. Mô t sô ca c thay

More information

I H C QU C GIA HÀ N I I H C KHOA H C XÃ H NGUY N TH THÚY H NG U TH K XX VÀ TI N TRÌNH HI

I H C QU C GIA HÀ N I I H C KHOA H C XÃ H NGUY N TH THÚY H NG U TH K XX VÀ TI N TRÌNH HI I H C QU C GIA HÀ N I I H C KHOA H C XÃ H ---------------------------- NGUY N TH THÚY H NG VÀ TI N TRÌNH HI U TH K XX C HÀ N I - 2015 I H C QU C GIA HÀ N I I H C KHOA H C XÃ H ----------------------------

More information

1. chapter G4 BA O CA O PHA T TRIÊ N BÊ N VƯ NG

1. chapter G4 BA O CA O PHA T TRIÊ N BÊ N VƯ NG 1. chapter G4 HƯƠ NG DÂ N BA O CA O PHA T TRIÊ N BÊ N VƯ NG 1 MU C LU C 1. GIƠ I THIÊ U 4 2. CA CH SƯ DU NG SA CH HƯƠ NG DÂ N THƯ C HIÊ N 6 3. NGUYÊN TĂ C BA O CA O 8 3.1 Nguyên tă c Xa c đi nh Nô i dung

More information

SÁNG TH T, NGÀY

SÁNG TH T, NGÀY 4 SÁNG TH T, NGÀY 23.4.2008 07h00 08h30 Xe a i bi u t Vi n Toán h c lên Ba Vì 8h30 09h00 ón ti p i bi u t i Ba Vì 09h00 09h15 Khai m c H i th o 09h15 10h15 Ch t a: Hoàng Xuân Phú Hoàng T y (Bài gi ng m

More information

Medi-Cal. S tay h i viên Medi-Cal

Medi-Cal. S tay h i viên Medi-Cal S tay h i viên Medi-Cal 2015-2016 Medi-Cal i viên ng d n h nh n các d ch v (T ng h p ch ng t b o hi m và b n đi u l ch ng trình) Quy n l -2016 Care1st Health Plan 601 Potrero Grande Drive Monterey Park,

More information

TÀI CHÍNH DOANH NGHIP

TÀI CHÍNH DOANH NGHIP TÀI CHÍNH DOANH NGHIP Chng 1: Tng quan v Tài chính DN Chng 2: Giá tr tin t theo thi gian Chng 3: Quan h li nhu n và ri ro Chng 4: Mô hình nh giá tài sn vn Chng 4: Mô hình nh giá tài sn vn I. Gii thiu và

More information

HỆ THỐNG BÁO CÁO VÀ HỌC HỎI VỀ SAI SÓT LIÊN QUAN ĐẾN THUỐC: VAI TRÒ CỦA CÁC TRUNG TÂM CẢNH GIÁC DƯỢC

HỆ THỐNG BÁO CÁO VÀ HỌC HỎI VỀ SAI SÓT LIÊN QUAN ĐẾN THUỐC: VAI TRÒ CỦA CÁC TRUNG TÂM CẢNH GIÁC DƯỢC HỆ THỐNG BÁO CÁO VÀ HỌC HỎI VỀ SAI SÓT LIÊN QUAN ĐẾN THUỐC: VAI TRÒ CỦA CÁC TRUNG TÂM CẢNH GIÁC DƯỢC NHÀ XUẤT BẢN THANH NIÊN Cu n tài li u này c T ch c Y t th gi i xu t b n n m 2014 d i tiêu Reporting

More information

i h c Tây Nguyên, 2 H i Khoa h t Vi t Nam 3 Vi n Quy ho ch và Thi t k Nông nghi p *:

i h c Tây Nguyên, 2 H i Khoa h t Vi t Nam 3 Vi n Quy ho ch và Thi t k Nông nghi p  *: Vietna J. Agri. ci. 2017, Vol. 15, No. 10: 1356-1364 T p chí Khoa h c Nông nghi p Vi t Na 2017, 15(10): 1356-1364 www.vnua.edu.vn 1* 2 3 1 i h c Tây Nguyên, 2 H i Khoa h t Vi t Na 3 Vi n Quy ho ch và Thi

More information

- n, H c vi n Nông nghi p Vi t Nam i h ; 3 B Giáo d o. Ngày g i bài: Ngày ch p nh n:

- n, H c vi n Nông nghi p Vi t Nam i h ; 3 B Giáo d o. Ngày g i bài: Ngày ch p nh n: Vietnam J. Agri. Sci. 017, Vol. 15, No. 10: 1437-1445 T p chí Khoa h c Nông nghi p Vi t Nam 017, 15(10): 1437-1445 www.vnua.edu.vn Tr 1* 1 3 1 - n, H c vi n Nông nghi p Vi t Nam i h ; 3 B Giáo d o Email

More information

HÀ N I - HÀ TÂY TT Tên làng ngh Tên ng i li n h

HÀ N I - HÀ TÂY TT Tên làng ngh Tên ng i li n h re Authorized Public Disclosure Authorized Public Disclosure Authorized Public Disclosure Authorized 1 C u Gi y District HÀ N I - HÀ ÂY ên h ên i 4. H NG KÊ V CÁC LÀNG NGH s S n ph m lao Cô ô 1 Là Vò 4

More information

Auld Lang Syne. Old Long Past. Tác gi bài hát Auld Lang Syne và dòng sông Afton

Auld Lang Syne. Old Long Past. Tác gi bài hát Auld Lang Syne và dòng sông Afton Tác gi bài hát Auld Lang Syne và dòng sông Afton Auld Lang Syne thu c lo i bài hát ph bi n nh t trên th gi i. Giai u m t mà, gi n d và sâu l ng th t di u k ã chinh ph c trái tim hàng tri u tri u ng i bao

More information

AMERICAN INTERNATIONAL SCHOOL IS A LIFE-LONG COMPANION IN YOUR POSITIVE FUTURE AND WE ALL BEGIN WITH A YES

AMERICAN INTERNATIONAL SCHOOL IS A LIFE-LONG COMPANION IN YOUR POSITIVE FUTURE AND WE ALL BEGIN WITH A YES AMERICAN INTERNATIONAL SCHOOL IS A LIFE-LONG COMPANION IN YOUR POSITIVE FUTURE AND WE ALL BEGIN WITH A YES HIGH SCHOOL A Quick Overview of the American International School 850 students, Pre-Kindergarten

More information

hoctoancapba.com Kho đ ề thi THPT quốc gia, đ ề kiểm tra có đáp án, tài liệu ôn thi đại học môn toán

hoctoancapba.com Kho đ ề thi THPT quốc gia, đ ề kiểm tra có đáp án, tài liệu ôn thi đại học môn toán hoctoncpb.com xin giới thiệu Tuyển chọn các bài ÌN Ọ KÔNG GIN trong 1 Đ Ề TI T Ử TÂY NIN 15 y vọng tài liệu này s ẽ giúp các em học sinh ôn tập tốt hơn chuyên đề ÌN Ọ KÔNG GIN trong k ỳ thi TPT QG sắp

More information

Bài 3: Mô phỏng Monte Carlo. Under construction.

Bài 3: Mô phỏng Monte Carlo. Under construction. Bài 3: Mô phỏng Monte Carlo Under contruction. Giới thiệu Monte Carlo (MC) là phương pháp dùng ố ngẫu nhiên để lấy mẫu (ampling) trong một tập hợp Thuật ngữ Monte Carlo được ử dụng lần đầu bởi Metropoli

More information

Mô hình lp trình SOA trin khai thc hin các dch v Web, Phn 6: Mô hình thàn...

Mô hình lp trình SOA trin khai thc hin các dch v Web, Phn 6: Mô hình thàn... Page 1 of 7 Mô hình lp trình SOA trin khai thc hin các dch v Web, Phn 6: Mô hình thành phn ti n hoá Mc : Trung bình Donald Ferguson, Kin trúc s trng SWG, IBM Corporation Marcia Stockton, K thut viên cao

More information

Tháng Giao d ch th an toàn. B n ã bi t v Vay 24 phút?

Tháng Giao d ch th an toàn. B n ã bi t v Vay 24 phút? Tháng 5-2009 Giao d ch th an toàn 4 B n ã bi t v Vay 24 phút? 18 TRONG S NÀY GIAO D CH TH AN TOÀN TI P S C NG I TH Y Tháng 5-2009 NGÂN HÀNG ÔNG Á VÌ TR NG SA THÂN YÊU Chõu traách nhiïåm xuêët baãn: TGÀ.

More information

BÁO CÁO THỰC HÀNH KINH TẾ LƯỢNG

BÁO CÁO THỰC HÀNH KINH TẾ LƯỢNG BÁO CÁO THỰC HÀNH KINH TẾ LƯỢNG THÀNH VIÊN : 1. Nguyễn Ngọc Linh Kha 08066K. Nguyễn Thị Hải Yến 080710K. Hồ Nữ Cẩm Thy 08069K 4. Phan Thị Ngọc Linh 080647K 5. Trần Mỹ Linh 080648K L p 08TT1D_KHOÁ 1 Page

More information

Danh s ch B o c o. H i th o T i u và Tính toán khoa h c l n th 8,

Danh s ch B o c o. H i th o T i u và Tính toán khoa h c l n th 8, 12 Danh s ch B o c o 1. Phan Thanh An, Dinh Thanh Giang, Nguyen Ngoc Hai Some Geometrical Properties of Geodesic Convex Sets in a Simple Polygon... 2. Nguyen Sinh Bay Stabilization of nonlinear nonautonomous

More information

Phâ n thông tin ba o ha nh cu a ASUS

Phâ n thông tin ba o ha nh cu a ASUS Phâ n thông tin ba o ha nh cu a ASUS VN13459 v7 Ông/ Bà: Sô điê n thoa i: Đi a chi : Address: E-mail: Nga y mua: / / (nga y/tha ng/năm) Tên đa i ly : Sô điê n thoa i đa i ly : Đi a chi đa i ly : Sô seri

More information

Why does the motion of the Pioneer Satellite differ from theory?

Why does the motion of the Pioneer Satellite differ from theory? Why does the motion of the Pioneer Satellite differ from theory? Le Van Cuong cuong_le_van@yahoo.com Information from Science journal shows that the motion of the Pioneer satellite, which was launched

More information

Làm vic vi XML trên Android

Làm vic vi XML trên Android Page 1 of 12 Làm vic vi XML trên Android Mc : Trung bình Michael Galpin, Kin trúc s phn mm, Ludi Labs 08 01 2010 Android là mt h iu hành ngu n m, hin i và là SDK cho các thit b di ng Vi h iu hành này,

More information

Năm 2015 O A O OB O MA MB = NA

Năm 2015 O A O OB O MA MB = NA hép vị tự quay Nguyễn Văn Linh Năm 2015 1 Giới thiệu hép vị tự và phép quay là những phép biến hình quen thuộc. Tuy nhiên phép vị tự quay còn ít được đề cập tới. Vì vậy trong bài viết này xin giới thiệu

More information

PHÂN TÍCH DỮ LIỆU BẰNG PHẦN MỀM SPSS 12.0 * PHẦN 4

PHÂN TÍCH DỮ LIỆU BẰNG PHẦN MỀM SPSS 12.0 * PHẦN 4 PHÂN TÍCH DỮ LIỆU BẰNG PHẦN MỀM SPSS 12.0 * PHẦN 4 Nội dung chính trong phần này: 1. Khai báo các thông số của biến 2. Tạo biến giả 3. Hồi quy OLS kết hợp với phương pháp Stepwise * SPSS 12.0 là sản phẩm

More information

NHẬT BÁO THẲNG TIẾN 11

NHẬT BÁO THẲNG TIẾN 11 NHẬT BÁO THẲNG TIẾN 11 Thứ Hai, ngày 02, Tháng Bẩy, Năm 2018 H i ng Trung ng / H ng o Vi t Nam và Soát Viên tài chánh, 2018 T Các c : T : Nhánh T T : -2018 H Sau p T / T 2018-2022 Soát Viên Tài chánh:

More information

NH NGH A C C THU T NG 4 PH N I NHI M HUẨN ỆNH VIỆN V VỆ SINH TAY 6 PH N II TH C H NH HU N UYỆN V GI M S T VỆ SINH TAY 9

NH NGH A C C THU T NG 4 PH N I NHI M HUẨN ỆNH VIỆN V VỆ SINH TAY 6 PH N II TH C H NH HU N UYỆN V GI M S T VỆ SINH TAY 9 Ẩ AG ƯỚG DẪ Ệ I AY G A U G 4 I I UẨ Ệ IỆ Ệ I AY 6 I.1 6 I.2 6 I.3? 6 I.4 6 I.5 7 I.5.1 8 II U UYỆ GI Ệ I AY 9 II.1 9 II.1.1 9 II.1.2 9 II.1.3 10 II.2 10 II.3 10 II.4 10 II.5 11 II.5.1 ( ) 1: 11 II.5.2

More information

Ngày g i bài: Ngày ch p nh n:

Ngày g i bài: Ngày ch p nh n: Vietnam J. Agri. Sci. 2017, Vol. 15, No. 7: 962-968 T p chí Khoa h c Nông nghi p Vi t Nam 2017, 15(7): 962-968 www.vnua.edu.vn 1 1 1, Hoàng Kim Giao 2* 1 Vi n nghiên c a TH 2 Hi p h n Email * : hoangkimgiao53@gmail.com

More information

CHƯƠNG TRÌNH DỊCH BÀI 14: THUẬT TOÁN PHÂN TÍCH EARLEY

CHƯƠNG TRÌNH DỊCH BÀI 14: THUẬT TOÁN PHÂN TÍCH EARLEY CHƯƠNG TRÌNH DỊCH BÀI 14: THUẬT TOÁN PHÂN TÍCH EARLEY Nội dung 1. Giới thiệu 2. Ý tưởng cơ bản 3. Mã minh họa 4. Ví dụ 5. Đánh giá thuật toán 6. Bài tập TRƯƠNG XUÂN NAM 2 Phần 1 Giới thiệu TRƯƠNG XUÂN

More information

NH NG I M CHÍNH CHO VI C XÁC NH CÁC TÁC NG C A DU KHÁCH

NH NG I M CHÍNH CHO VI C XÁC NH CÁC TÁC NG C A DU KHÁCH Tài li u: 3.1 NH NG I M CHÍNH CHO VI C XÁC NH CÁC TÁC NG C A DU KHÁCH m b o t t c các nhân viên bi t cách chào ón và x l du khách thông qua nh ng hu n luy n phù h p, c th là cho nh ng ng i có trách nhi

More information

Chào M ng Th y Cô và Các Em H c Sinh. gi ã h c xong m t ph n ba c a khóa, và tr c khi mình bi t t t c

Chào M ng Th y Cô và Các Em H c Sinh. gi ã h c xong m t ph n ba c a khóa, và tr c khi mình bi t t t c Bên L From The Sidelines T.A. VYEA Summer 2005 Chào M ng Th y Cô và Các Em H c Sinh M t mùa hè n a l i n, và c ng là m t s vui m ng c th y nhi u khuôn m t c a các b n h c c và m i n tham gia m t khóa h

More information

Saigon Oi Vinh Biet (Vietnamese Edition) By Duong Hieu Nghia chuyen dich READ ONLINE

Saigon Oi Vinh Biet (Vietnamese Edition) By Duong Hieu Nghia chuyen dich READ ONLINE Saigon Oi Vinh Biet (Vietnamese Edition) By Duong Hieu Nghia chuyen dich READ ONLINE If you are searching for the book Saigon oi Vinh Biet (Vietnamese Edition) by Duong Hieu Nghia chuyen dich in pdf format,

More information

Chapter#2 Tính chất của vật chất (Properties of Substances)

Chapter#2 Tính chất của vật chất (Properties of Substances) Chapter#2 Tính chất của vật chất (Properties o Substances) Mục đích của chương Làm quen với một số khái niệm về tính chất của vật chất, chất tinh khiết. Làm quen với các dạng năng lượng và sự biến đổi

More information

A10-55

A10-55 A10-55 A10-56 A10-57 A10-58 A10-59 A10-60 A10-61 A10-62 A10-63 A10-64 A10-65 ANNEX-11 Comments and Countermeasures on TSG (Draft) A11 ANNEX-11 (1) Comments from Cuu Long CIPM, VEC, VECO&M, and Countermeasures

More information

XÂY D NG CÔNG NGH TÍNH TOÁN VÀ THI T L P B N NG P L T T NH V NH PHÚC

XÂY D NG CÔNG NGH TÍNH TOÁN VÀ THI T L P B N NG P L T T NH V NH PHÚC XÂY D NG CÔNG NGH TÍNH TOÁN VÀ THI T L P B N NG P L T T NH V NH PHÚC TÓM T T T ào Ng c Tu n 1, V V Ph ng Nam 1, Bùi Quang Tu n 1, Nguy n Quang Quy n 1, Lê V n Tu n 1 V nh Phúc là m t trong nh ng t nh ng

More information

log23 (log 3)/(log 2) (ln 3)/(ln2) Attenuation = 10.log C = 2.B.log2M SNR db = 10.log10(SNR) = 10.log10 (db) C = B.log2(1+SNR) = B.

log23 (log 3)/(log 2) (ln 3)/(ln2) Attenuation = 10.log C = 2.B.log2M SNR db = 10.log10(SNR) = 10.log10 (db) C = B.log2(1+SNR) = B. Tính log 2 3, thì sẽ bấm như sau (log 3)/(log 2) hoặc (ln 3)/(ln2) Độ suy giảm tính hiệu: Attenuation = 10.log 10 ( ) (db) với - P signal là công suất tín hiệu nhận - công suất đầu vào (input signal power)

More information

ĐƠN KHIÊ U NA I/THAN PHIỀN CU A HÔ I VIÊN. Đi a chi Tha nh phô Tiê u bang Ma zip

ĐƠN KHIÊ U NA I/THAN PHIỀN CU A HÔ I VIÊN. Đi a chi Tha nh phô Tiê u bang Ma zip ĐƠN KHIÊ U NA I/THAN PHIỀN CU A HÔ I VIÊN Ngày: Xin vui lo ng viết in tâ t ca thông tin. Thông tin về người nộp đơn than phiền: ( ) ( ) Tên Sô điê n thoa i nơi la m viê c Sô điê n thoa i nha riêng Đi a

More information

VieTeX (21) Nguy ên Hũ, u Ðiê, n Khoa Toán - Co, - Tin học

VieTeX (21) Nguy ên Hũ, u Ðiê, n Khoa Toán - Co, - Tin học Câu h, oi và tr, a lò, i về s, u, dụng LaTeX và VieTeX (21) Nguy ên Hũ, u Ðiê, n Khoa Toán - Co, - Tin học ÐHKHTN Hà Nội, ÐHQGHN Mục lục 21.1. Lệnh nào trong LaTeX làm khô i công thú, c có thê, ng ăt dôi

More information

Ban Tô Chư c ĐH6 không ngưng ơ đo ma đa đăng pho ng a nh Passport cu a Tha i Văn Dung lên trang ma ng cu a ĐH6.

Ban Tô Chư c ĐH6 không ngưng ơ đo ma đa đăng pho ng a nh Passport cu a Tha i Văn Dung lên trang ma ng cu a ĐH6. Thông tin ma tôi nhâ n đươ c cho thâ y ră ng VOICE la tha nh phâ n chu lư c đư ng ra tô chư c Đa i Hô i Ky 6 cu a Ma ng Lươ i Tuô i Tre Lên Đươ ng. Ban tô chư c qua ng ca o râ m rô 3 yê u nhân ngươ i Viê

More information

5 Dùng R cho các phép tính đơn giản và ma trận

5 Dùng R cho các phép tính đơn giản và ma trận 5 Dùng R cho các phép tính đơn giản và ma trận Một trong những lợi thế của R là có thể sử dụng như một máy tính cầm tay. Thật ra, hơn thế nữa, R có thể sử dụng cho các phép tính ma trận và lập chương.

More information

Linux cho ngu ò i dùng. Tác gia : Kostromin V. A. Di ch bo i: Phan Vĩnh Thi nh

Linux cho ngu ò i dùng. Tác gia : Kostromin V. A. Di ch bo i: Phan Vĩnh Thi nh Linux cho ngu ò i dùng Tác gia : Kostromin V. A. Di ch bo i: Phan Vĩnh Thi nh Mu c lu c 1 HD H Linux: li ch su và các ba n phân phô i 2 2 Cài d ă t HD H Linux trên cùng máy tính vó i Windows 3 2.1 Chuaˆ

More information

TẠO PAN ĐỘNG CƠ Ô TÔ ĐIỀU KHIỂN BẰNG MÁY TÍNH

TẠO PAN ĐỘNG CƠ Ô TÔ ĐIỀU KHIỂN BẰNG MÁY TÍNH Kỷ yếu Hội nghị Khoa học Quốc gia lần thứ IX Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR'9) ; Cần Thơ, ngày 4-5/8/2016 DOI: 10.15625/vap.2016.00087 TẠO PAN ĐỘNG CƠ Ô TÔ ĐIỀU KHIỂN BẰNG MÁY

More information

CP PHA NHÔM SAMMOK SAMMOK HI-TECH FORM VINA CO., LTD

CP PHA NHÔM SAMMOK SAMMOK HI-TECH FORM VINA CO., LTD CP PHA NHÔM SAMMOK SAMMOK HI-TECH FORM VINA CO., LTD NI DUNG PHN I GII THIÊU V CÔNG TY SAMMOK PHN II CP PHA NHÔM VÀ NHNG C TÍNH U VI T 1. TNG QUAN V CP PHA NHÔM 2. NHNG C TÍNH U VI T PHN III QUI TRÌNH

More information

Đánh giá: ❶ Bài tập (Quiz, In-Class) : 20% - Quiz (15-30 phút): chiếm 80%; 5 bài chọn 4 max TB - In-Class : chiếm 20% ; gọi lên bảng TB

Đánh giá: ❶ Bài tập (Quiz, In-Class) : 20% - Quiz (15-30 phút): chiếm 80%; 5 bài chọn 4 max TB - In-Class : chiếm 20% ; gọi lên bảng TB 404001 - Tín hiệu và hệ thống CBGD: Trần Quang Việt Liên hệ : Bộ môn CSKTĐ P.104 nhà B3 Email : tqviethcmut@gmail.com ; tqviet@hcmut.edu.vn Tài liệu tham khảo [1] B. P. Lathi, Signal Processing and Linear

More information

Các Phương Pháp Phân Tích Định Lượng

Các Phương Pháp Phân Tích Định Lượng Năm học 013-014 Chương Trình Giảng Dạy Kinh tế Fulbright Học kỳ Thu năm 013 Các Phương Pháp Phân Tích Định Lượng Gợi ý giải Bài tập 7 HỒI QUY ĐƠN BIẾN (TIẾP THEO Ngày Phát: Thứ ba 6/11/013 Ngày Nộp: Thứ

More information

NGUỒN THÔNG TIN MIỄN PHÍ TRÊN INTERNET : ĐÁNH GIÁ VÀ SỬ DỤNG DƯƠNG THÚY HƯƠNG Phòng Tham khảo Thư viện ĐH Khoa học Tự nhiên TP.

NGUỒN THÔNG TIN MIỄN PHÍ TRÊN INTERNET : ĐÁNH GIÁ VÀ SỬ DỤNG DƯƠNG THÚY HƯƠNG Phòng Tham khảo Thư viện ĐH Khoa học Tự nhiên TP. NGUỒN THÔNG TIN MIỄN PHÍ TRÊN INTERNET : ĐÁNH GIÁ VÀ SỬ DỤNG DƯƠNG THÚY HƯƠNG Phòng Tham khảo Thư viện ĐH Khoa học Tự nhiên TP. HCM M ột trong những chức năng quan trọng hiện nay của thư viện đại học là

More information

LÝ LỊCH KHOA HỌC. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc BỘ Y TẾ TRƯỜNG ĐẠI HỌC DƯỢC HÀ NỘI. 1. Họ và tên: Vũ Đặng Hoàng

LÝ LỊCH KHOA HỌC. CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc BỘ Y TẾ TRƯỜNG ĐẠI HỌC DƯỢC HÀ NỘI. 1. Họ và tên: Vũ Đặng Hoàng BỘ Y TẾ TRƯỜNG ĐẠI HỌC DƯỢC HÀ NỘI CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc 1. Họ và tên: Vũ Đặng Hoàng LÝ LỊCH KHOA HỌC 2. Ngày tháng năm sinh: 07/01/1976 Nam Dân tộc: Kinh 3. Quê

More information

Giáo trình Autocad 2D

Giáo trình Autocad 2D 1 Tr ng i H c Qu c gia Hà N i - H c vi n vnskills Giáo trình Autocad 2D - 2007. Ng i so n th o:. CH NG I PH N I GI I THI U AUTOCAD 2007 (Computer-Aided Design [com puter aide de sign] ho c Computer-Aided

More information

KHÁI niệm chữ ký số mù lần đầu được đề xuất bởi D. Chaum [1] vào năm 1983, đây là

KHÁI niệm chữ ký số mù lần đầu được đề xuất bởi D. Chaum [1] vào năm 1983, đây là LƯỢC ĐỒ CHỮ KÝ SỐ MÙ XÂY DỰNG TRÊN BÀI TOÁN KHAI CĂN Nguyễn Tiền Giang 1, Nguyễn Vĩnh Thái 2, Lưu Hồng Dũng 3 Tóm tắt Bài báo đề xuất một lược đồ chữ ký số mù phát triển từ một dạng lược đồ chữ ký số được

More information

VÔ TUYẾN ĐIỆN ĐẠI CƯƠNG. TS. Ngô Văn Thanh Viện Vật Lý

VÔ TUYẾN ĐIỆN ĐẠI CƯƠNG. TS. Ngô Văn Thanh Viện Vật Lý Ô TUYẾN ĐỆN ĐẠ CƯƠNG TS. Ngô ăn Thanh iện ật Lý Hà Nội 2016 2 Tài liệu tham khảo [1] David B. Rutledge, The Electronics of Radio (Cambridge University Press 1999). [2] Dennis L. Eggleston, Basic Electronics

More information

- - máy tính. - Chính 15/2014/TT- 07/2015/TT- 16/4/2015;

- - máy tính. - Chính 15/2014/TT- 07/2015/TT- 16/4/2015; ... 02... 11... 15... 22... 24 M... 27 t nâng cao... 30... 33... 37... 41... 43 máy... 45... 48... 50... 52... 55... 57... 61... 64... 67... 69... 72... 76 1 máy tính Chính 15/2014/TT 07/2015/TT 16/4/2015;

More information

Kinh doanh. Báo cáo Phát trin Vit Nam Public Disclosure Authorized. Public Disclosure Authorized. Public Disclosure Authorized

Kinh doanh. Báo cáo Phát trin Vit Nam Public Disclosure Authorized. Public Disclosure Authorized. Public Disclosure Authorized Public Disclosure Authorized Public Disclosure Authorized Public Disclosure Authorized Public Disclosure Authorized Báo cáo Phát trin Vit Nam 2006 Kinh doanh Báo cáo chung ca các nhà tài tr ti Hi ngh Nhóm

More information

Mục tiêu. Hiểu được. Tại sao cần phải định thời Các tiêu chí định thời Một số giải thuật định thời

Mục tiêu. Hiểu được. Tại sao cần phải định thời Các tiêu chí định thời Một số giải thuật định thời ĐỊNH THỜI CPU Mục tiêu Hiểu được Tại sao cần phải định thời Các tiêu chí định thời Một số giải thuật định thời Ghi chú: những slide có dấu * ở tiêu đề là những slide dùng để diễn giải thêm Định thời CPU

More information

chuyên gia MAV (Machine Learning Approach to Anti-virus Expert System). Kê t qua thu.. c

chuyên gia MAV (Machine Learning Approach to Anti-virus Expert System). Kê t qua thu.. c Tạp chí Tin học và Diều khiê n học, T.24, S.1 (2008), 32 41 CO. CHÊ MÁY HỌC CHÂ N DOÁN VIRUS MÁY TÍNH HOÀNG KIÊ M 1, TRU. O. NG MINH NHẬT QUANG 2 1 Tru. ò. ng Dại học Công nghệ Thông tin, DHQG TP.HCM 2

More information

VIETNAMESE. Written examination. Day Date Reading time: *.** to *.** (15 minutes) Writing time: *.** to *.** (2 hours) QUESTION AND ANSWER BOOK

VIETNAMESE. Written examination. Day Date Reading time: *.** to *.** (15 minutes) Writing time: *.** to *.** (2 hours) QUESTION AND ANSWER BOOK Victorian Certificate of Education 2005 SUPERVISOR TO ATTACH PROCESSING LABEL HERE Section VIETNAMESE Written examination Day Date 2005 Reading time: *.** to *.** (15 minutes) Writing time: *.** to *.**

More information

Danh s ch B o c o. Lê Th Thanh An Mathematical modeling and simulation of drug resistance in infectious diseases...

Danh s ch B o c o. Lê Th Thanh An Mathematical modeling and simulation of drug resistance in infectious diseases... H i th o T i u và Tính toán khoa h c l n th sáu, 23-26.4.2008 11 Danh s ch B o c o 1. Lê Th Thanh An Mathematical modeling and simulation of drug resistance in infectious diseases... 15 2. Ph m K Anh,

More information

Xuân Hòa, ngày 29 tháng 9, 2018

Xuân Hòa, ngày 29 tháng 9, 2018 VIỆN TOÁN HỌC & ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 HỘI THẢO MỘT NGÀY HỆ ĐỘNG LỰC VÀ PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG Xuân Hòa, ngày 29 tháng 9, 2018 CHƯƠNG TRÌNH & TÓM TẮT BÁO CÁO XUÂN HÒA, 2018 Ban tổ chức Trần Văn

More information

1 st Conference on / H i Th o u Tiên v :

1 st Conference on / H i Th o u Tiên v : 1 st Conference on / H i Th o u Tiên v : Save Ti t ki m USD100 If you pay by Khi tr l l phí phí tr c tr c 07/10/2009 Additional 10% 10% Discount Discount for for Groups Groups of of 3 or or more! more!

More information

Cng hoà Xã hi Ch Ngha Vit Nam

Cng hoà Xã hi Ch Ngha Vit Nam Public Disclosure Authorized Public Disclosure Authorized Public Disclosure Authorized Public Disclosure Authorized Báo cáo s 29358-VN Cng hoà Xã hi Ch Ngha Vit Nam Báo cáo Nghiên cu Ngành Cà phê Tháng

More information

Intellasia launches first website for public tenders in Vietnam

Intellasia launches first website for public tenders in Vietnam Press Release Intellasia News Services 5 Dong Thai St. Hanoi Vietnam Tel: (84-4) 9283483 Fax:(84-4) 9283484 Email: info@intellasia.com Website: www.intellasia.com Intellasia launches first website for

More information

NH Y C M IN-VITRO C A S. PNEUMONIAE VÀ H. INFLUENZAE I V I LEVOFLOXACIN K T QU TRÊN CÁC CH NG VI KHU N PHÂN L P T B NH NHÂN T I VI T NAM

NH Y C M IN-VITRO C A S. PNEUMONIAE VÀ H. INFLUENZAE I V I LEVOFLOXACIN K T QU TRÊN CÁC CH NG VI KHU N PHÂN L P T B NH NHÂN T I VI T NAM Y H c TP. H Chí Minh * T p 13 * Ph b n S 2 * 29 Nghiên c u Y h c TÓM T T NH Y C M IN-VITRO C A S. PNEUMONIAE VÀ H. INFLUENZAE I V I LEVOFLOXACIN K T QU TRÊN CÁC CH NG VI KHU N PHÂN L P T B NH NHÂN T I

More information

KHÁM PHÁ NG D NG C A C C VÀ I

KHÁM PHÁ NG D NG C A C C VÀ I KHÁM PHÁ NG D NG C A C C VÀ I C C Hoàng Qu c Khánh C c và i c c là m t công c m nh và thú v c a hình h c.v i c c và i c c ta có th a ra cách nhìn khá nh t quán v i m t s d ng toán c tr ng (quan h vuông

More information

QUAN H I TÁC A LI THÀNH QU

QUAN H I TÁC A LI THÀNH QU Public Disclosure Authorized Public Disclosure Authorized Public Disclosure Authorized Public Disclosure Authorized QUAN H I TÁC A LI THÀNH QU BÁO CÁO CP NHT Báo cáo không chính thc H i ngh gia k Nhóm

More information

FINITE DIFFERENCE METHOD AND THE LAME'S EQUATION IN HEREDITARY SOLID MECHANICS.

FINITE DIFFERENCE METHOD AND THE LAME'S EQUATION IN HEREDITARY SOLID MECHANICS. FINITE DIFFERENCE METHOD AND THE LAME'S EQUATION IN HEREDITARY SOLID MECHANICS. by Co.H Tran & Phong. T. Ngo, University of Natural Sciences, HCMC Vietnam - - coth123@math.com, coth123@yahoo.com & ntphong_6@yahoo.com

More information

NHẬP MÔN HIỆN ĐẠI XÁC SUẤT & THỐNG KÊ

NHẬP MÔN HIỆN ĐẠI XÁC SUẤT & THỐNG KÊ Hanoi Center for Financial and Industrial Mathematics Trung Tâm Toán Tài Chính và Công Nghiệp Hà Nội NHẬP MÔN HIỆN ĐẠI XÁC SUẤT & THỐNG KÊ Đỗ Đức Thái và Nguyễn Tiến Dũng Hà Nội Toulouse, 2010 ii Bản thảo

More information

Phiên bản thử nghiệm Lưu hành nội bộ - Microsoft Vietnam

Phiên bản thử nghiệm Lưu hành nội bộ - Microsoft Vietnam 0 Mục lục Word 2010 I. Những điểm mới trong Microsoft Word 2010... 4 1. Tối ưu Ribbons... 4 2. H thống menu mới l... 5 3. Chức năng Backstage View... 6 4. Chức năng Paster Preview... 7 5. Chức năng Text

More information

GIÁO TRÌNH Mô phỏng và mô hình hóa (Bản nháp) Trịnh Xuân Hoàng Viện Vật lý, Viện Hàn lâm KHCN VN Hà Nội 2015

GIÁO TRÌNH Mô phỏng và mô hình hóa (Bản nháp) Trịnh Xuân Hoàng Viện Vật lý, Viện Hàn lâm KHCN VN Hà Nội 2015 GIÁO TRÌNH Mô phỏng và mô hình hóa (Bản nháp) Trịnh Xuân Hoàng Viện Vật lý, Viện Hàn lâm KHCN VN Hà Nội 2015 Mục lục 1 Giới thiệu 2 1.1 Một số khái niệm................................. 2 1.2 Phân loại

More information

PHÂN TÍCH PHÂN BỐ NHIỆT HYDRAT VÀ ỨNG SUẤT TRONG CẤU TRÚC BÊ TÔNG ĐỂ KIỂM SOÁT SỰ GÂY NỨT CỦA CÔNG TRÌNH BÊ TÔNG CỐT THÉP

PHÂN TÍCH PHÂN BỐ NHIỆT HYDRAT VÀ ỨNG SUẤT TRONG CẤU TRÚC BÊ TÔNG ĐỂ KIỂM SOÁT SỰ GÂY NỨT CỦA CÔNG TRÌNH BÊ TÔNG CỐT THÉP PHÂN TÍCH PHÂN BỐ NHIỆT HYDRAT VÀ ỨNG SUẤT TRONG CẤU TRÚC BÊ TÔNG ĐỂ KIỂM SOÁT SỰ GÂY NỨT CỦA CÔNG TRÌNH BÊ TÔNG CỐT THÉP THERMAL STRESS ANALYSIS OF EARLY- AGE CONCRETE STRUCTURES FOR CRACKING CONTROL

More information

THÔNG TIN LUẬN ÁN TIẾN SĨ

THÔNG TIN LUẬN ÁN TIẾN SĨ THÔNG TIN LUẬN ÁN TIẾN SĨ 1. Họ và tên nghiên cứu sinh: Trần Thanh Hà 2.Giới tính: Nữ 3. Ngày sinh: 20/02/1987 4. Nơi sinh: Thái Bình 5. Quyết định công nhận nghiên cứu sinh: 4050/QĐ-KHTN-CTSV ngày 19/09/2013

More information

PHAN DANH CHO CO QUAN QUAN LY PHIEU CONG BO SAN PHAM MY PHAM TEMPLATE FOR NOTIFICATION OF COSMETIC PRODUCT THONG TIN SAN PHAM PARTICULARS OF PRODUCT

PHAN DANH CHO CO QUAN QUAN LY PHIEU CONG BO SAN PHAM MY PHAM TEMPLATE FOR NOTIFICATION OF COSMETIC PRODUCT THONG TIN SAN PHAM PARTICULARS OF PRODUCT PHAN DANH CHO CO QUAN QUAN LY (FOR OFFICIALUSE) Phu luc s601-mp Ngay nhan (Date acknowledged): 0 8-01- 2015 So cong b6 (Product Notification No.): 000113/15/CBMP-HCM Phieu cong bo c6 gia trj 05 nam ke

More information

h ng Gi i thi u ower oint 010

h ng Gi i thi u ower oint 010 h ng Gi i thi u ower oint 010 Trang 1 h ng Gi i thi u ower oint 010 Chương 1 Giới thiệu PowerPoint 2010 Nội dung 1. P P 2. Khở ộng và thoát Microsoft PowerPoint 2010 3. T M P P 4. T 5. Tùy biến thanh lệnh

More information

15 tháng 06 năm 2014.

15 tháng 06 năm 2014. BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG NGUYỄN THỊ HOÀI THANH MỘT SỐ PHƯƠNG PHÁP GIẢI BÀI TOÁN BẤT ĐẲNG THỨC BIẾN PHÂN Chuyên ngành : Phương pháp Toán sơ cấp Mã số : 60 46 0113 TÓM TẮT LUẬN VĂN THẠC SĨ

More information

HƯỚNG DẪN SỬ DỤNG PHẦN MỀM DIỆT VIRUS AVIRA

HƯỚNG DẪN SỬ DỤNG PHẦN MỀM DIỆT VIRUS AVIRA HƯỚNG DẪN SỬ DỤNG PHẦN MỀM DIỆT VIRUS AVIRA A V I R A A N T O À N H Ơ N Trang 1 Mục lục 1. Mở chương trình... 3 2. Giao Diện Chính Của Chương Trình... 4 3. Quét Virus... 7 4. Theo dõi bảo mật cho kết nối

More information

- Cài đặt hệ số CT: 1/5-999 KA. - Nguồn cấp: AC: 240V AC ±20%, (50 / 60Hz) - 110V AC ±20%, (50 / 60Hz) - Mạng kết nối: 1 pha 2 dây hoặc 3 pha 3/4 dây

- Cài đặt hệ số CT: 1/5-999 KA. - Nguồn cấp: AC: 240V AC ±20%, (50 / 60Hz) - 110V AC ±20%, (50 / 60Hz) - Mạng kết nối: 1 pha 2 dây hoặc 3 pha 3/4 dây BẢNG GIÁ THIẾT BỊ SELEC ĐỒNG HỒ TỦ ĐIỆN DẠNG SỐ HIỂN THỊ DẠNG LED ÁP DỤNG TỪ NGÀY 01/10/2015 MA12 MA202 MA302 MA335 MV15 MV205 MV305 MV334 MF16 MF216 MF316 - Đồng hồ đo Dòng điện AC gián tiếp qua CT -

More information

NGHIÊN CỨU TIÊU CHUẨN VÀ PHƯƠNG PHÁP TỐI ƯU CÔNG SUẤT PHÁT CỦA HỆ THỐNG ĐIỆN MẶT TRỜI NỐI LƯỚI: XÉT CHO TRƯỜNG HỢP LƯỚI ĐIỆN HẠ THẾ 1 PHA

NGHIÊN CỨU TIÊU CHUẨN VÀ PHƯƠNG PHÁP TỐI ƯU CÔNG SUẤT PHÁT CỦA HỆ THỐNG ĐIỆN MẶT TRỜI NỐI LƯỚI: XÉT CHO TRƯỜNG HỢP LƯỚI ĐIỆN HẠ THẾ 1 PHA NGHIÊN CỨU TIÊU CHUẨN VÀ PHƯƠNG PHÁP TỐI ƯU CÔNG SUẤT PHÁT CỦA HỆ THỐNG ĐIỆN MẶT TRỜI NỐI ƯỚI: XÉT CHO TRƯỜNG HỢP ƯỚI ĐIỆN HẠ THẾ 1 PHA Xuan Truong Nguyen, Dinh Quang Nguyen, Tung Tran To cite this version:

More information