You are on page 1of 238

Mc lc

Chng 1: tNG QUAN GIAO V giao thc TCP/IP v CU TRC LIN MNG Internet .............................................................................................. 11 1.1. Gii thiu chung v lch s INTERNET................................................. 11 1.2. Kin trc ca Internet, tham chiu tcp/ip v m hnh osi. .................... 13 1.2.1. Gii thiu kin trc mng Internet...................................................... 13 1.2.2. Tng quan v giao thc tcp/ip ............................................................ 15 1.2.2.1. Gii thiu giao thc TCP/IP ....................................................... 15 1.2.2.2. M hnh OSI 7 tng .................................................................... 16 1.2.2.3. Tham chiu gia TCP/IP v m hnh OSI ................................... 24 1.2.2.4. M t cc thnh ph n c a Frame t ng v t l .............................. 27 Cu hi v bi tp .......................................................................................... 30 Chng 2: cu trc ip datagram .......................................................... 31 2.1. Cu trc ip datagram.............................................................................. 31 2.1.1. Khi nim chuyn pht phi kt ni (Connectionless) .......................... 31 2.1.2. Mc ch ca giao thc IP (Internet Protocol) .................................... 31 2.1.3. Cu trc gi d liu IP Datagram (Internet datagram)......................... 32 2.1.4. Thi gian sng (Time to Live TTL) ............................................... 35 2.1.5. ng gi datagram ............................................................................ 36 2.2. Kch thc v s phn mnh ip datagram ............................................. 37 2.2.1. Kch thc datagram, MTU mng...................................................... 37 2.2.2. Phn mnh IP Datagram (Fragment) .................................................. 38 2.2.3. Kt hp ti cc Fragment ................................................................... 40 2.2.4. iu khin vic phn on ................................................................. 41 2.3. Cc ip datagram c bit ........................................................................ 42 2.3.1. Chn la bn ghi nh tuyn (Record Route)...................................... 44 2.3.2. Cc chn la ngun nh tuyn (Source Route) .................................. 45 2.3.4. Chn la ghi nhn thi im (Timestamp).......................................... 46 2.3.5. X l cc chn la trong qu trnh phn on..................................... 48 Cu hi v bi tp .......................................................................................... 49

Chng 3: nh x cc a ch IP ln a ch vt l (arp & rarp) 50 3.1.1. Khi nim nh x a ch ................................................................... 50 3.1.2. Nguyn l hot ng ca giao thc ARP............................................ 51 3.1.2.1. Khi nim a ch vt l (MAC Address)..................................... 51 3.1.2.2. Nguyn tc tm a ch MAC khi bit a ch IP .......................... 51 3.1.2.3. Bng lu tr ARP Table.............................................................. 52 3.1.2.4. Cc tnh nng nng cao ca ARP................................................ 53 3.1.2.5. Ci t ARP ............................................................................... 54 3.1.2.6. ng gi v nh dng thng ip ARP....................................... 56 3.2. Giao thc gii a ch ngc (RARP) ..................................................... 58 Cu hi v bi tp .......................................................................................... 62

Chng 4: Phn lp cc a ch internet, k thut subnet ....... 63 4.1. Phn lp a ch ip (internet) .................................................................. 63 4.1.1. Khi nim a ch IP (internet) ........................................................... 63 4.1.2. Khun dng a ch IP........................................................................ 63 4.1.2.1.C u trc v khun d ng d ng c a 4.1.2.2. Cc l p a ch IP ............................... 63

a ch IP ...................................................................... 64 a ch c a cc l p ........................... 67

4.1.2.3. Kh o st chi ti t l c l ng

4.2. K thut mng con (IP subnetting) ........................................................ 71 4.2.1. Phng php phn chia 4.2.1.1. 4.2.1.2. a ch m ng con .......................................... 72 a ch l p C............................................ 74 a ch l p B............................................ 79

a ch m ng con c a a ch m ng con c a

4.2.2. Mt n mng con ............................................................................... 81 4.2.2.1. Ci t mng con vi mt n (mask)........................................... 81 4.2.2.2. Cch th hin mt n mng con.................................................. 81 4.3. Mt s vn lin quan n a ch IP Address .................................... 82 4.3.1. a ch IP v lin kt mng ................................................................ 82 4.3.2. Mng v a ch Qung b ................................................................. 83 4.3.3. Qung b gii hn.............................................................................. 84 4.3.4. Quy c tng quan v ngha bt v a ch ....................................... 84 4.3.5. a ch IP multicast (truyn ng thi nhiu hng) .......................... 85

4.3.6. Nhc im ca cch nh a ch IP................................................. 85 4.3.7. a ch lp ......................................................................................... 86 4.3.8. Th t cc byte trong a ch IP.......................................................... 86 4.3.9. Qung b n mng con..................................................................... 87 4.3.10. a ch khng phn lp (siu mng)................................................. 88 4.3.11. nh hng ca siu mng i vi vic nh tuyn ............................ 89 4.3.12. Nhng nhm mng c dnh cho nhng mng ring.................. 90 4.3.13. C quan qun l a ch Internet....................................................... 90

Chng 5: giao thc icmp ......................................................................... 93 5.1. ICMP v thng ip kim sot bo li ................................................... 93 5.1.1. Gii thiu v ICMP v thng ip kim sot ...................................... 93 5.1.2. Thng bo li v sa li ..................................................................... 94 5.2. Nguyn l hot ng ca giao thc ICMP.............................................. 96 5.2.1. Pht chuyn thng ip ICMP bng IP Datagram ............................... 96 5.2.2. Khun dng thng thng ip ICMP .................................................. 97 5.2.3. Cc thng ip ICMP quan trng ....................................................... 98 5.2.3.1. Thng ip ICMP kim tra kh nng n ch (Ping ICMP) ....... 98 5.2.3.3. Thng ip ICMP lm ngui ngun pht (Source Quench) ...... 101 5.2.3.4. Thng ip ICMP yu cu thay i nh tuyn t b nh tuyn 103 5.2.3.5. Thng ip ICMP nhn bit vng kn hoc nh tuyn qu di . 105 5.2.3.6. Thng ip ICMP bo li c vn tham s ca Datagram ..... 106 5.2.3.7. Thng ip ICMP ng b ng h & c lng thi gian........ 106 5.2.3.8. Thng ip ICMP tm mt n mng con.................................... 107 5.2.3.9. Thng ip ICMP tm ra b nh tuyn..................................... 108 5.2.3.10. Thng ip ICMP yu cu b nh tuyn cp thng tin tc th. 110 Cu hi v Bi tp........................................................................................ 111

Chng 6: giao thc udp ........................................................................ 112 6.1. Gii thiu giao thc UDP ...................................................................... 112 6.1.1. Gii thiu......................................................................................... 112 6.1.2. C ch xc nh ch n cui cng trong chuyn pht .................... 112

6.1.3. Chc nng ca giao thc User Datagram Protocol ............................ 113 6.2. Nguyn l hot ng.............................................................................. 114 6.2.1. nh dng thng ip UDP .............................................................. 114 6.2.2. ng gi UDP v vic phn lp Protocol ......................................... 116 6.2.3. S phn lp v tnh UDP checksum.................................................. 118 6.2.4. UDP Multiplexing, Demultiplexing, v cc cng.............................. 119 6.2.5. Cc gi tr cng hp l v dnh ring ............................................... 120 Cu hi v Bi tp........................................................................................ 122

Chng 7: giao thc tcp......................................................................... 123 7.1. Dch v vn chuyn c tin cy ......................................................... 123 7.1.1. Gii thiu dch v vn chuyn c tin cy ..................................... 123 7.1.1. S cn thit ca vic pht trin theo dng......................................... 123 7.1.3. Cc tnh cht ca dch v pht chuyn tin cy .................................. 124 7.1.4. Tnh tin cy ca dch v chuyn pht tin cy .................................... 126 7.1.5. tng k thut ca s trt ........................................................... 127 7.2. Nguyn l hot ng ca TCP .............................................................. 130 7.2.1. Giao thc iu khin truyn ............................................................. 130 7.2.2. Cng, Kt ni, v im cui ............................................................ 131 7.2.3. C ch m ch ng v m th ng ............................................... 134 7.2.4. Segment, stream, v s th t ........................................................... 135 7.2.5. Ca s vi kch thc v vic iu khin tc truyn..................... 136 7.2.6. nh dng TCP segment .................................................................. 137 7.2.7. D liu ngoi dng (out of band)...................................................... 139 7.2.8. Kch thc ti a ca segment ......................................................... 140 7.2.9. Tnh TCP Checksum ........................................................................ 141 7.2.10. Acknowledgement v vic truyn li.............................................. 142 7.2.11. Ht hn (Timeout) v vic truyn li .............................................. 143 7.2.12.X l khi gp nghn mng .............................................................. 145 7.2.12.1.K thut gim tht nhanh......................................................... 146 7.2.12.2. K thut khi u chm .......................................................... 147 7.2.12.3. K thut ct bt phn di khi nghn mng ............................ 149 7.2.12.4. K thut hu b sm ngu nhin (RED) .................................. 150

7.3. Thit lp, hu b, reset cc kt ni TCP .............................................. 153 7.3.1. Thit lp mt kt ni TCP ................................................................ 153 7.3.2. ng li mt kt ni TCP ................................................................ 155 7.3.3. Reset kt ni TCP ............................................................................ 156 7.3.4. My trng thi TCP.......................................................................... 156 7.3.5. p buc truyn d liu..................................................................... 158 7.3.6. Cc cng TCP c dnh ring ........................................................ 159 7.3.7. Vn Silly Window Syndrome ...................................................... 159 7.3.7.1. Silly Window Syndrome v nhng gi d liu nh ..................... 159 7.3.7.2. Cc li p c tr hon ......................................................... 161 7.3.7.3. Trnh vn Silly Window Syndrome ti ni gi ...................... 162 Cu hi v bi tp ........................................................................................ 165

Chng 8: nh tuyn IP........................................................................... 166 8.1. Khi nim nh tuyn IP....................................................................... 166 8.1.1. Khi nim nh tuyn trong mt lin mng Internet ......................... 166 8.1.2. nh tuyn IP................................................................................... 167 8.1.2.1. Nguyn tc hot ng............................................................... 167 8.1.2.2. Pht chuyn trc tip................................................................ 168 8.1.2.3. Pht chuyn khng trc tip ..................................................... 169 8.1.2.4. Bng nh tuyn........................................................................ 170 8.1.2.5. nh tuyn n trm k tip...................................................... 172 8.1.2.6. nh tuyn mc nh................................................................. 173 8.1.2.8. Thut ton nh tuyn IP .......................................................... 173 8.1.2.9. nh tuyn vi cc a ch IP.................................................... 176 8.1.2.10. X l cc datagram gi n..................................................... 177 8.1.2.11. Thit lp bng nh tuyn ....................................................... 179 8.2. Kin trc cc backbone ng ng ca internet.................................. 179 8.2.1. Gii thiu chung v cc giao thc nh tuyn ................................... 179 8.2.2. Kin trc cc backbone ng ng ca Internet, h t qun.............. 181 8.2.2.1.nh tuyn vi thng tin bn phn ............................................. 181 8.2.2.2. Kin trc nguyn thu ca Internet ........................................... 184

8.2.2.3. B nh tuyn ch cht ............................................................. 185 8.2.2.4. Kin trc ch cht v cc backbone ng ng ........................ 188 8.2.2.5. T ng nhn bn nh tuyn.................................................... 190 8.3. Thut gii nh tuyn c bn ................................................................ 191 8.3.1. nh tuyn theo Vector khong cch................................................ 191 8.3.1.1. Khi nim nh tuyn theo vector khong cch ......................... 191 8.3.1.2. Giao thc Gateway to Gateway (GGP) ...................................... 192 8.3.1.3. Tha s khong cch ................................................................ 193 8.3.2. nh tuyn theo trng thi lin kt (SPF).......................................... 193 8.3.3. m bo tnh tnh tin cy cho cc giao thc nh tuyn.................... 195 8.4. nh tuyn gia cc h t qun, giao thc BGP .................................. 195 8.4.1. Khi nim h t qun....................................................................... 195 8.4.2. T h ch cht n h t qun c lp.............................................. 196 8.4.3. Giao thc cng ngoi (Exterior Gateway Protocol)........................... 197 8.4.4. Giao thc BGP ................................................................................. 198 8.4.4.1. Gii thiu giao thc GBP .......................................................... 198 8.4.4.2. Tnh nng ca BGP................................................................... 199 8.4.4.3. Thut ton chn ng ca BGP .............................................. 201 8.4.4.4. Hot ng ca BGP .................................................................. 202 8.4.4.5. Cc dng thng ip c BGP dng........................................ 202 8.4.4.6. Cc mt n a ch nn li ........................................................ 207 8.4.4.7. Cc thuc tnh con ng ca BGP .......................................... 208 8.4.4.8. Hn ch chnh ca cc giao thc cng ngoi ............................ 208 8.5. nh tuyn trong mt h t qun, rip ospf hello.................................. 211 8.5.1. Giao thc cng ni IGP.................................................................... 211 8.5.2. Giao thc nh tuyn RIP................................................................. 214 8.5.2.1. Lch s ca RIP ........................................................................ 214 8.5.2.2. Hot ng ca RIP (version 1.0)............................................... 215 8.5.2.3. Cc hn ch ca RIP 1.0 .......................................................... 219 8.5.2.4. Gii quyt vn m n v hn ............................................ 221 8.5.2.5. Giao thc nh tuyn RIP version 2........................................... 223 8.5.2.6. Vic truyn cc thng ip RIP................................................. 224 8.5.2.7. Khuyt im ca bin m s trm trong RIP ........................... 224

8.5.3. Giao thc Hello................................................................................ 225 8.5.4. Kt hp RIP, Hello v BGP .............................................................. 226 8.5.5. nh tuyn bn trong h t qun ...................................................... 227 8.5.6. Giao thc nh tuyn OSPF .............................................................. 228 8.5.6.1. c im v hot ng ca OSPF ............................................ 228 8.5.6.2. nh dng thng ip OSPF ..................................................... 232 8.5.6.3. nh dng thng ip Hello ca OSPF ..................................... 233 8.5.6.4. nh dng thng ip Database description ca OSPF....... 234 8.5.6.5. nh dng thng ip Link Status Request ca OSPF.......... 236 8.5.6.6. nh dng thng ip Link Status Update ca OSPF........... 236 8.5.7. Mt s bin php bo m an ton khi nh tuyn............................ 237 phn ph lc: Ph l c 1: Danh m c cc c ng TCP v UDP............................................................ 242 Ph l c 2: T ng quan v giao th c IP6..................................................................... 256 Ph l c 1: M t s l nh c b n lin quan Ph l c 1: K thu t d ch chuy n n TCP/IP .............................................. 261

a ch NAT.......................................................... 267

10

Chng 1

TNG QUAN GIAO V GIAO THC TCP/IP v CU TRC LIN MNG Internet
1.1. Gii thiu chung V LCH S INTERNET Internet bt ngun t n ARPANET (Advanced Research Project Agency Network) khi s trong nm 1969 bi B Quc phng M (American Department of Defense). n ARPANET vi s tham gia ca mt s trung tm nghin cu, i hc ti M (UCLA, Stanford,...) nhm mc ch thit k mt mng WAN (Wide Area Network) c kh nng t bo tn chng li s ph hoi mt phn mng bng chin tranh nguyn t. n ny dn ti s ra i ca giao thc truyn IP (Internet Protocol). Theo giao thc ny, thng tin truyn s c ng thnh cc gi d liu v truyn trn mng theo nhiu ng khc nhau t ngi gi ti ni ngi nhn. Mt h thng my tnh ni trn mng gi l Router lm nhim v tm ng i ti u cho cc gi d liu, tt c cc my tnh trn mng u tham d vo vic truyn d liu, nh vy nu mt phn mng b ph hu cc Router c th tm ng khc truyn thng tin ti ngi nhn. Mng ARPANET c pht trin v s dng trc ht trong cc trng i hc, cc c quan nh nc M, tip theo , cc trung tm tnh ton ln, cc trung tm truyn v tuyn in v v tinh c ni vo mng,... trn c s ny, ARPANET c ni vi khp cc vng trn th gii. Ti nm 1983, trc s thnh cng ca vic trin khai mng ARPANET, B quc phng M tch mt phn mng ginh ring cho qun i M (MILNET). Phn cn li, gi l NSFnet, c qun l bi NSF (National Science Foundation) NSF dng 5 siu my tnh lm Router cho mng, v lp mt t chc khng chnh ph qun l mng, ch yu dng cho i hc v nghin cu c bn trn ton th gii. Ti nm 1987, NSFnet m ca cho c nhn v cho cc cng ty t nhn (BITnet), ti nm 1988 siu mng c mang tn INTERNET. Tuy nhin cho ti nm 1988, vic s dng INTERNET cn hn ch trong cc dch v truyn mng (FTP), th in t (E mail), truy nhp t xa (TELNET) khng thch ng vi nhu cu kinh t v i sng hng ngy. INTERNET ch yu c dng trong mi trng nghin cu khoa hc v ging dy i hc. Trong nm 1988, ti trung tm nghin cu nguyn t ca Php CERN(Centre Europen de Recherche Nuclaire) ra i n Mng nhn th gii WWW (World Wide Web). n ny, nhm xy dng mt

11

phng thc mi s dng INTERNET, gi l phng thc Siu vn bn (HyperText). Cc ti liu v hnh nh c trnh by bng ngn ng HTML (HyperText Markup Language) v c pht hnh trn INTERNET qua cc h ch lm vic vi giao thc HTTP (HyperText Transport Protocol). T nm 1992, phng thc lm vic ny c a ra th nghim trn INTERNET. Rt nhanh chng, cc cng ty t nhn tm thy qua phng thc ny cch s dng INTERNET trong kinh t v i sng. Vn u t vo INTERNET c nhn ln hng chc ln. T nm 1994 INTERNET tr thnh siu mng kinh doanh. S cc cng ty s dng INTERNET vo vic kinh doanh v qung co ln gp hng nghn ln k t nm 1995. Doanh s giao dch thng mi qua mng INTERNET ln hng trm t USD trong nhng nm gn y... Vi phng thc siu vn bn, ngi s dng, qua mt phn mm truy c (thng gi l Web browse hoc Navigator), c th tm c tt c cc ti liu siu vn bn cng b ti mi ni trn th gii (k c hnh nh v ting ni). Vi cng ngh WWW, chng ta bc vo giai on m mi thng tin c th c ngay trn bn lm vic ca mnh. Mi cng ty hoc ngi s dng, c phn phi mt trang ci ngun (Home Page) trn h ch HTTP. Trang ci ngun, l siu vn bn gc, t do c th tm ti tt c cc siu vn bn khc m ngi s dng mun pht hnh. a ch ca trang ci ngun c tm thy t khp mi ni trn th gii. V vy, i vi mt x nghip, trang ci ngun tr thnh mt vn phng i din in t trn INTERNET. T khp mi ni, khch hng c th xem cc qung co v lin h trc tip vi x nghip qua cc dng siu lin (HyperLink) trong siu vn bn. Ti nm 1994, mt im yu ca INTERNET l khng c kh nng lp trnh cc b, v cc my ni vo mng khng ng b v khng tng thch. Thiu kh nng ny, INTERNET ch c dng trong vic pht hnh v truyn thng tin ch khng dng x l thng tin c. Trong nm 1994, hng my tnh SUN Corporation cng b mt ngn ng mi, gi l JAVA(cafe), cho php lp trnh cc b trn INTERNET, cc chng trnh JAVA c gi thng t cc siu vn bn qua cc siu lin (Applet). Vo ma thu nm 1995, ngn ng JAVA chnh thc ra i, nh du mt bc tin quan trng trong vic s dng INTERNET. Trc ht, mt chng trnh JAVA, s c chy trn my khch (Workstation) ch khng phi trn my ch (server). iu ny cho php s dng cng sut ca tt c cc my khch vo vic x l s liu. Hng triu my tnh (hoc vi tnh) c th thc hin cng mt lc mt chng trnh ghi trn mt siu vn bn trong my ch. 12

Vic lp trnh trn INTERNET cho php truy nhp t mt trang siu vn bn vo cc chng trnh x l thng tin, c bit l cc chng trnh iu hnh v qun l thng tin ca mt x nghip. phng thc lm vic ny, c gi l INTRANET. Ch trong nm 1995-1996, hng trm nghn dch v phn mm INTRANET c pht trin. Nhiu hng my tnh v phn mm nh Microsoft, SUN, IBM, Oracle, Netscape,... pht trin v kinh doanh hng lot phn mm h thng v phn mm c bn pht trin cc ng dng INTERNET / INTRANET. 1.2. Kin trc ca MNG Internet, tham chiu GIA M HNH GIAO THC tcp/ip v osi. 1.2.1. Gii thiu kin trc mng Internet V mt kin trc kt ni Internet l mt siu mng da trn s lin ni trn nhiu lp mng khc nhau: Mng lin lc a: S dng trc cable qua cc i dng, hoc s dng cc v tinh. Mc ch l ni thng tin gia cc lc a. Mt s hng iu tit chnh (Operaters) trn th gii: MCInet, SPRINTlink, ANSnet AOL, CERFnet, Ebone, Eurpanet,... Mng lc a: Gm cc hng iu tit quc gia hay lin quc gia, cung cp phng tin truyn tin cho cc khch hng trn mt vng nht nh ca mt lc a: VIETPAC (Vit Nam), TRANSPAC (Php), AUSPAC (Australia), TELEPAC (Singapore),... Mng truy nhp a phng: Gm cc hng bn dch v cng vo cho khch hng qua mng li in thoi hay mng ring, v ni vo cc mng lc a bi cc ng truyn c bit (Specialized links): TRANSPAC France Tlcom, FranceNet, World Net, Imaginet,... Mng bit lp: Cc mng c xy dng ring bn dch v cho khch v c cng ni vi siu mng Internet (Computer Serve, IBM, Micronet, Microsoft Network,...)

13

Mng lin lc a

Mng lc a

Ngi s dng truy cp

Hnh 1.1: Kin trc cc lp mng Internet Cc nh cung cp dch v, bao gm: Cc hng iu tit Internet: Cc hng ny, c kh nng cung cp ng kt ni v lin tc vo siu mng (on line services), h tham gia vo vic qun l h Internet trn phm vi mt a phng hay mt quc gia: VIETPAC (VDC Vit Nam), AUSPAC, TRANSPAC, FPT, VIETEL, SPT... Cc hng cung cp dch v dial up: cho thu bao cng vo qua h thng in thoi. Cc dch v ny khng phi l dch v lin tc (off line services). Ti Vit Nam: VAREnet v Netnam Vin Cng ngh Thng tin, Vietnet Bu in Khnh Ho, Tr tu Vit Nam Cng ty FPT, Phng Nam Trung tm Hi ch Trin lm,... Cc hng cung cp dch v UUCP (Unix to Unix Copy), ch yu l truyn mng t xa (FTP) v th in t (e mail), chng hn VN mail ti Vit Nam. Cc hng thu bao cng vo thng kt hp vi vic lm cc dch v Internet nh: thu lm trang ci ngun (Home Page), thit k v xy dng cc siu vn bn, qun l cc nhm hi tho (NEWGROUPS), dch v INTRANET,... V mt thit b ba thnh phn chnh to nn Internet l: Cc trm ch (Hosts), cc trm lm vic (Workstation), PCs, my ch, my ln, v.v... trn chy cc chng trnh ng dng. Cc my tnh c th thuc cc loi khc nhau, ch cn hiu c 14

TCP/IP v c phn cng, phn mm tng ng truy cp v s dng cc dch v Internet. Cc mng din rng, mng cc b, ng thu bao im im (Point to Point), lin kt Dial Up (in thoi, ISDN, X.25) v.v... mang ti thng tin trao i gia cc my tnh. Cc b dn ng (ROUTER) phc v vic kt ni gia cc mng. V cng ngh mng Nhiu cng ngh mng khc nhau c kt hp nhm m bo khp mi ni dch v chuyn nhn cc gi d liu (IP packet n v cu thnh trao i thng tin) trn mng. Vn then cht l cn c chun truyn thng thng nht v c ch dn ng trn cc mng phn tn din rng. Internet da trn tp hp cc giao thc c tn chung l TCP/IP c xy dng nhm cho mc ch trn: Mi my tnh trn mng Internet u c 1 a ch IP duy nht. C ch dn ng c thc hin qua cc ROUTER. Ti c cc bng thng tin dn ng c cp nht lin tc ch cho bit im n tip theo trn mng. Khi c mt trm no b hng thng tin c th c li i qua mt s trm khc n a ch cui cng. 1.2.2. Tng quan v giao thc tcp/ip 1.2.2.1. Gii thiu giao thc TCP/IP S ra i ca h giao thc TCP/IP gn lin vi s ra i ca Internet m tin thn l mng ARPAnet (Advanced Research Projects Agency) do B Quc phng M to ra. y l b giao thc c dng rng ri nht v tnh m ca n. iu c ngha l bt c my no dng b giao thc TCP/IP u c th ni c vo Internet. Hai giao thc c dng ch yu y l TCP (Transmission Control Protocol) v IP (Internet Protocol). Chng nhanh chng c n nhn v pht trin bi nhiu nh nghin cu v cc hng cng nghip my tnh vi mc ch xy dng v pht trin mt mng truyn thng m rng khp th gii m ngy nay chng ta gi l Internet. Phm vi phc v ca Internet khng cn dnh cho qun s nh ARPAnet na m n m rng lnh vc cho mi loi i tng s dng, trong t l quan trng nht vn thuc v gii nghin cu khoa hc v gio dc.

15

V nh vy, b giao thc TCP/IP (Transmission Control Protocol/ Internet Protocol) ra i hnh thnh mt b giao thc cng lm vic vi nhau cung cp phng tin truyn thng lin mng t nhng nm 70. n nm 1981, TCP/IP phin bn 4 mi hon tt v c ph bin rng ri cho ton b nhng my tnh s dng h iu hnh UNIX. Sau ny Microsoft cng a TCP/IP tr thnh mt trong nhng giao thc cn bn ca h iu hnh Windows 9x m hin nay ang s dng, v hin nay khi ni n TCP/IP l ngi ta hiu l giao thc TCP/IP phin bn 4. n nm 1994, mt bn tho ca phin bn IPv6 c hnh thnh vi s cng tc ca nhiu nh khoa hc thuc cc t chc Internet trn th gii ci tin nhng hn ch ca IPv4. Khc vi m hnh ISO/OSI tng lin mng s dng giao thc kt ni mng "khng lin kt" (connectionless) IP, to thnh ht nhn hot ng ca Internet. Cng vi cc thut ton nh tuyn RIP, OSPF, BGP, tng lin mng IP cho php kt ni mt cch mm do v linh hot cc loi mng "vt l" khc nhau nh: Ethernet, Token Ring, X.25... Giao thc trao i d liu "c lin kt" (connection oriented) TCP c s dng tng vn chuyn m bo tnh chnh xc v tin cy vic trao i d liu da trn kin trc kt ni "khng lin kt" tng lin mng IP. Cc giao thc h tr ng dng ph bin nh truy nhp t xa (telnet), chuyn tp (FTP), dch v World Wide Web (HTTP), th in t (SMTP), dch v tn min (DNS) ngy cng c ci t ph bin nh nhng b phn cu thnh ca cc h iu hnh thng dng nh UNIX (v cc h iu hnh chuyn dng cng h ca cc nh cung cp thit b tnh ton nh AIX ca IBM, SINIX ca Siemens, Digital UNIX ca DEC), Windows/NT, Novell Netware, Linux... 1.2.2.2. M hnh OSI 7 tng T ng 1: V t l (Physical) T ng v t l (Physical layer) l t ng d i cng c a m hnh OSI l. N m t cc c trng v t l c a m ng: Cc lo i cp c dng n i cc thi t b , cc lo i u n i c dng, cc dy cp c th di bao nhiu v.v... M t khc cc t ng v t l cung c p cc c trng i n c a cc tn hi u c dng khi chuy n d li u trn cp t m t my ny n m t my khc c a m ng, k thu t n i m ch i n, t c cp truy n d n.

16

T ng v t l khng qui nh m t ngha no cho cc tn hi u ngoi cc gi tr nh phn 0 v 1. cc t ng cao hn c a m hnh OSI ngha c a cc bit c truy n t ng v t l s c xc nh. V d : Tiu chu n Ethernet cho cp xo n i 10 baseT nh r cc c trng i n c a cp xo n i, kch th c v d ng c a cc u n i, di t i a c a cp. Khc v i cc t ng khc, t ng v t l l khng c gi tin ring v do v y khng c ph n u (header) ch a thng tin i u khi n, d li u c truy n i theo dng bit. M t giao th c t ng v t l t n t i gi a cc t ng v t l quy nh v phng th c truy n ( ng b , phi ng b ), t c truy n.

Hnh1.2: M hnh OSI 7 t ng Cc giao th c c xy d ng cho t ng v t l c phn chia thnh phn chia thnh hai lo i giao th c s d ng phng th c truy n thng d b (asynchronous) v phng th c truy n thng ng b (synchronous). Phng th c truy n d b : khng c m t tn hi u quy nh cho s ng b gi a cc bit gi a my g i v my nh n, trong qu trnh g i tn hi u my g i s d ng cc bit c bi t START v STOP c dng tch cc xu bit bi u di n cc k t trong dng d li u c n truy n i. N cho php m t k t c truy n i b t k lc no m khng c n quan tm n cc tn hi u ng b tr c .yu c u ph c v , cc thng tin i u khi n v d li u.

17

Hnh 1.3: Phng th c xc l p cc gi tin trong m hnh OSI Phng th c truy n ng b : s d ng phng th c truy n c n c ng c bi t nh SYN b gi a my g i v my nh n, n chn cc k t (Synchronization), EOT (End Of Transmission) hay n gi n hn, m t ci bo hi u cho my nh n bi t "c " (flag) gi a cc d li u c a my g i c d li u ang n ho c n. T ng 2: Lin k t d li u (Data link) T ng lin k t d li u (data link layer) l t ng m ngha c gn cho cc bt c truy n trn m ng. T ng lin k t d li u ph i quy nh c cc d ng th c, kch th c, a ch my g i v nh n c a m i gi tin c g i i. N ph i xc nh c ch truy nh p thng tin trn m ng v phng ti n g i m i gi tin sao cho n c a n cho ng i nh n nh. T ng lin k t d li u c hai phng th c lin k t d a trn cch k t n i cc my tnh, l phng th c "m t i m m t i m" v phng th c "m t i m nhi u i m". V i phng th c "m t i m m t i m" cc ng truy n ring bi t c thi t lp n i cc c p my tnh l i v i nhau. Phng th c "m t i m nhi u i m " t t c cc my phn chia chung m t ng truy n v t l.

18

Hnh 1.4: Cc ng truy n k t n i ki u "m t i m m t i m" v "m t i m nhi u i m". T ng lin k t d li u cng cung c p cch pht hi n v s a l i c b n m b o cho d li u nh n c gi ng hon ton v i d li u g i i. N u m t gi tin c l i khng s a c, t ng lin k t d li u ph i ch ra c cch thng bo cho ni g i bi t gi tin c l i n g i l i. Cc giao th c t ng lin k t d li u chia lm 2 lo i chnh l cc giao th c h ng k t v cc giao th c h ng bit. Cc giao th c h ng k t c xy d ng d a trn cc k t c bi t c a m t b m chu n no (nh ASCII hay EBCDIC), trong khi cc giao th c h ng bit l i dng cc c u trc nh phn (xu bit) xy d ng cc ph n t c a giao th c ( n v d li u, cc th t c.) v khi nh n, d li u s c ti p nh n l n l t t ng bit m t. T ng 3: M ng (Network) T ng m ng (network layer) nh m n vi c k t n i cc m ng v i nhau b ng cch tm ng (routing) cho cc gi tin t m t m ng ny n m t m ng khc. N xc nh vi c chuy n h ng, v ch ng cc gi tin trong m ng, cc gi ny c th ph i i qua nhi u ch ng tr c khi n c ch cu i cng. N lun tm cc tuy n truy n thng khng t c ngh n a cc gi tin n ch. T ng m ng cung cc cc phng ti n truy n cc gi tin qua m ng, th m ch qua m t m ng c a m ng (network of network). B i v y n c n ph i p ng v i nhi u ki u m ng v nhi u ki u d ch v cung c p b i cc m ng khc nhau. hai ch c nng ch y u c a t ng m ng l ch n ng (routing) v chuy n ti p (relaying). T ng m ng l quan tr ng nh t khi lin k t hai lo i m ng khc nhau nh m ng Ethernet v i m ng Token Ring khi ph i dng m t b tm ng (quy nh b i t ng m ng) chuy n cc gi tin t m ng ny sang m ng khc v ng c l i.

19

i v i m t m ng chuy n m ch gi (packet switched network) g m t p h p cc nt chuy n m ch gi n i v i nhau b i cc lin k t d li u. Cc gi d li u c truy n t m t h th ng m t i m t h th ng m khc trn m ng ph i c chuy n qua m t chu i cc nt. M i nt nh n gi d li u t m t ng vo (incoming link) r i chuy n ti p n t i m t ng ra (outgoing link) h ng n ch c a d li u. Nh v y m i nt trung gian n ph i th c hi n cc ch c nng ch n ng v chuy n ti p. Vi c ch n ng l s l a ch n m t con ng truy n m t n v d li u (m t gi tin ch ng h n) t tr m ngu n t i tr m ch c a n. M t k thu t ch n ng ph i th c hi n hai ch c nng chnh sau y: Quy t nh ch n ng t i u d a trn cc thng tin c v m ng t i th i i m thng qua nh ng tiu chu n t i u nh t nh. C p nh t cc thng tin v m ng, t c l thng tin dng cho vi c ch n ng, trn m ng lun c s thay i th ng xuyn nn vi c c p nh t l vi c c n thi t.

Hnh 1.5: M hnh chuy n v n cc gi tin trong m ng chuy n m ch gi Ng i ta c hai phng th c p ng cho vi c ch n ng l phng th c x l t p trung v x l t i ch . Phng th c ch n ng x l t p trung c c trng b i s t n t i c a m t (ho c vi) trung tm i u khi n m ng, chng th c hi n vi c l p ra cc b ng ng i t i t ng th i i m cho cc nt v sau g i cc b ng ch n ng t i t ng nt d c theo con ng c ch n . Thng tin t ng th c a m ng c n dng cho vi c ch n ng ch c n c p nh p v c c t gi t i trung tm i u khi n m ng. Phng th c ch n ng x l t i ch c c trng b i vi c ch n ng c th c hi n t i m i nt c a m ng. Trong t ng th i i m, m i nt ph i duy tr cc thng tin c a m ng v t xy d ng b ng ch n ng cho

20

mnh. Nh v y cc thng tin t ng th c a m ng c n dng cho vi c ch n ng c n c p nh p v c c t gi t i m i nt. Thng th ng cc thng tin c o l ng v s d ng cho vi c ch n ng bao g m: Tr ng thi c a ng truy n. Th i gian tr khi truy n trn m i ng d n. M c lu thng trn m i ng. Cc ti nguyn kh d ng c a m ng. Khi c s thay i trn m ng (v d thay i v c u trc c a m ng do s c t i m t vi nt, ph c h i c a m t nt m ng, n i thm m t nt m i... ho c thay i v m c lu thng) cc thng tin trn c n c c p nh t vo cc c s d li u v tr ng thi c a m ng. Hi n nay khi nhu c u truy n thng a phng ti n (tch h p d li u vn b n, ho , hnh nh, m thanh) ngy cng pht tri n i h i cc cng ngh truy n d n t c cao nn vi c pht tri n cc h th ng ch n ng t c cao ang r t c quan tm. T ng 4: V n chuy n (Transport) T ng v n chuy n cung c p cc ch c nng c n thi t gi a t ng m ng v cc t ng trn. n l t ng cao nh t c lin quan n cc giao th c trao i d li u gi a cc h th ng m . N cng cc t ng d i cung c p cho ng i s d ng cc ph c v v n chuy n. T ng v n chuy n (transport layer) l t ng c s m m t my tnh c a m ng chia s thng tin v i m t my khc. T ng v n chuy n ng nh t m i tr m b ng m t a ch duy nh t v qu n l s k t n i gi a cc tr m. T ng v n chuy n cng chia cc gi tin l n thnh cc gi tin nh hn tr c khi g i i. Thng th ng t ng v n chuy n nh s cc gi tin v m b o chng chuy n theo ng th t . T ng v n chuy n l t ng cu i cng ch u trch nhi m v m c an ton trong truy n d li u nn giao th c t ng v n chuy n ph thu c r t nhi u vo b n ch t c a t ng m ng. Ng i ta chia giao th c t ng m ng thnh cc lo i sau: M ng lo i A: C t su t l i v s c c bo hi u ch p nh n c (t c l ch t l ng ch p nh n c). Cc gi tin c gi thi t l khng b m t.

21

T ng v n chuy n khng c n cung c p cc d ch v ph c h i ho c s p x p th t l i. M ng lo i B: C t su t l i ch p nh n c nhng t su t s c c bo hi u l i khng ch p nh n c. T ng giao v n ph i c kh nng ph c h i l i khi x y ra s c . M ng lo i C: C t su t l i khng ch p nh n c (khng tin c y) hay l giao th c khng lin k t. T ng giao v n ph i c kh nng ph c h i l i khi x y ra l i v s p x p l i th t cc gi tin. Trn c s lo i giao th c t ng m ng chng ta c 5 l p giao th c t ng v n chuy n l: Giao th c l p 0 (Simple Class l p n gi n): cung c p cc kh nng r t n gi n thi t l p lin k t, truy n d li u v h y b lin k t trn m ng "c lin k t" lo i A. N c kh nng pht hi n v bo hi u cc l i nhng khng c kh nng ph c h i. Giao th c l p 1 (Basic Error Recovery Class L p ph c h i l i c b n) y cc gi tin (TPDU) c nh s . Ngoi ra dng v i cc lo i m ng B, giao th c cn c kh nng bo nh n cho ni g i v truy n d li u kh n. So v i giao th c l p 0 giao th c l p 1 c thm kh nng ph c h i l i. l p0 nh t, l p2 m tt Giao th c l p 2 (Multiplexing Class l p d n knh) l m t c i ti n c a cho php d n m t s lin k t chuy n v n vo m t lin k t m ng duy ng th i c th ki m sot lu ng d li u trnh t c ngh n. Giao th c khng c kh nng pht hi n v ph c h i l i. Do v y n c n t trn ng m ng lo i A.

Giao th c l p 3 (Error Recovery and Multiplexing Class l p ph c h i l i c b n v d n knh) l s m r ng giao th c l p 2 v i kh nng pht hi n v ph c h i l i, n c n t trn m t t ng m ng lo i B. Giao th c l p 4 (Error Detection and Recovery Class L p pht hi n v ph c h i l i) l l p c h u h t cc ch c nng c a cc l p tr c v cn b sung thm m t s kh nng khc ki m sot vi c truy n d li u. T ng 5: Giao d ch (Session) T ng giao d ch (session layer) thi t l p "cc giao d ch" gi a cc tr m trn m ng, n t tn nh t qun cho m i thnh ph n mu n i tho i v i nhau v l p nh xa gi a cc tn v i a ch c a chng. M t giao d ch ph i c thi t l p tr c khi d li u c truy n trn m ng, t ng giao d ch m b o cho cc giao d ch c thi t l p v duy tr theo ng qui nh.

22

T ng giao d ch cn cung c p cho ng i s d ng cc ch c nng c n thi t qu n tr cc giao d nh ng d ng c a h , c th l: i u ph i vi c trao i d li u gi a cc ng d ng b ng cch thi t l p v gi i phng (m t cch lgic) cc phin (hay cn g i l cc h i tho i dialogues) Cung c p cc i m p d ng. Cung c p c ch "l y l t" (n m quy n) trong qu trnh trao li u. id ng b ki m sot vi c trao i d li u. t cc qui t c cho cc tng tc gi a cc ng d ng c a ng i s

Trong tr ng h p m ng l hai chi u lun phin th n y sinh v n : truy n d li u. T ng giao hai ng i s d ng lun phin ph i "l y l t" d ch duy tr tng tc lun phin b ng cch bo cho m i ng i s d ng khi n l t h c truy n d li u. V n ng b ha trong t ng giao d ch cng c th c hi n nh c ch ki m tra/ph c h i, d ch v ny cho php ng i s d ng xc nh cc i m ng b ha trong dng d li u ang chuy n v n v khi c n thi t c th khi ph c vi c h i tho i b t u t m t trong cc i m m t th i i m ch c m t ng i s d ng quy n c bi t c g i cc d ch v nh t nh c a t ng giao d ch, vi c phn b cc quy n ny thng qua trao i th bi (token). V d : Ai c c token s c quy n truy n d li u, v khi ng i gi token trao token cho ng i khc thi cng c ngha trao quy n truy n d li u cho ng i . T ng giao d ch c cc hm c b n sau: Give Token cho php ng i s d ng chuy n m t token cho m t ng i s d ng khc c a m t lin k t giao d ch. Please Token cho php m t ng i s d ng cha c token c th yu c u token . chuy n t t c cc token t m t ng i s d ng Give Control dng sang m t ng i s d ng khc. T ng 6: Trnh by (Presentation) Trong giao ti p gi a cc ng d ng thng qua m ng v i cng m t d li u c th c nhi u cch bi u di n khc nhau. Thng th ng d ng bi u di n dng b i ng d ng ngu n v d ng bi u di n dng b i ng d ng ch c th

23

khc nhau do cc ng d ng c ch y trn cc h th ng hon ton khc nhau (nh h my Intel v h my Motorola). T ng trnh by (Presentation layer) ph i ch u trch nhi m chuy n i d li u g i i trn m ng t m t lo i bi u di n ny sang m t lo i khc. t c i u n cung c p m t d ng bi u di n chung dng truy n thng v cho php chuy n i t d ng bi u di n c c b sang bi u di n chung v ng c l i. T ng trnh by cng c th c dng k thu t m ha xo tr n cc d li u tr c khi c truy n i v gi i m u n b o m t. Ngoi ra t ng bi u di n cng c th dng cc k thu t nn sao cho ch c n m t t byte d li u th hi n thng tin khi n c truy n trn m ng, u nh n, t ng trnh by bung tr l i c d li u ban u. T ng 7: ng d ng (Application) T ng ng d ng (Application layer) l t ng cao nh t c a m hnh OSI, n xc nh giao di n gi a ng i s d ng v mi tr ng OSI v gi i quy t cc k thu t m cc chng trnh ng d ng dng giao ti p v i m ng. cung c p phng ti n truy nh p mi tr ng OSI cho cc ti n trnh ng d ng, Ng i ta thi t l p cc th c th ng d ng (AE), cc th c th ng d ng s g i n cc ph n t d ch v ng d ng (Application Service Element vi t t t l ASE) c a chng. M i th c th ng d ng c th g m m t ho c nhi u cc ph n t d ch v ng d ng. Cc ph n t d ch v ng d ng c ph i h p trong mi tr ng c a th c th ng d ng thng qua cc lin k t (association) g i l i t ng lin k t n (Single Association Object vi t t t l SAO). SAO i u khi n vi c truy n thng trong su t vng i c a lin k t cho php tu n t ha cc s ki n n t cc ASE thnh t c a n. 1.2.2.3. Tham chiu gia TCP/IP v m hnh OSI 7 tng

Hnh 1.6: M hnh TCP/IP v cc lp tng ng trong OSI 7 lp Nh vy, theo m hnh tham chiu vi OSI 7 tng th TCP tng ng vi lp 4 cng thm mt s chc nng ca lp 5 trong h giao thc chun ISO/OSI. Cn IP tng ng vi lp 3 ca m hnh OSI. 24

Trong cu trc bn lp ca TCP/IP, khi d liu truyn t lp ng dng cho n lp vt l, mi lp u cng thm vo phn iu khin ca mnh m bo cho vic truyn d liu c chnh xc. Mi thng tin iu khin ny c gi l mt header v c t trc phn d liu c truyn. Mi lp xem tt c cc thng tin m n nhn c t lp trn l d liu, v t phn thng tin iu khin header ca n vo trc phn thng tin ny. Vic cng thm vo cc header mi lp trong qu trnh truyn tin c gi l encapsulation. Qu trnh nhn d liu din ra theo chiu ngc li: mi lp s tch ra phn header trc khi truyn d liu ln lp trn. Mi lp c mt cu trc d liu ring, c lp vi cu trc d liu c dng lp trn hay lp di ca n. Sau y l gii thch mt s khi nim thng gp. Stream l dng s liu c truyn trn c s n v s liu l Byte. S liu c trao i gia cc ng dng dng TCP c gi l stream, trong khi dng UDP, chng c gi l message. Mi gi s liu TCP c gi l segment cn UDP nh ngha cu trc d liu ca n l packet. Lp Internet xem tt c cc d liu nh l cc khi v gi l datagram. B giao thc TCP/IP c th dng nhiu kiu khc nhau ca lp mng di cng, mi loi c th c mt thut ng khc nhau truyn d liu. Phn ln cc mng kt cu phn d liu truyn i di dng cc packets hay l cc frames.

Application Transport Internet Network Access

Stream Segment/datagram Datagram Frame

Hnh 1.7: Cu trc d liu ti cc lp ca TCP/IP


Lp truy nhp mng (Network Access)

Network Access Layer l lp thp nht trong cu trc phn bc ca TCP/IP. Nhng giao thc lp ny cung cp cho h thng phng thc

25

truyn d liu trn cc tng vt l khc nhau ca mng. N nh ngha cch thc truyn cc khi d liu (datagram) IP. Cc giao thc lp ny phi bit chi tit cc phn cu trc vt l mng di n (bao gm cu trc gi s liu, cu trc a ch...) nh dng c chnh xc cc gi d liu s c truyn trong tng loi mng c th. So snh vi cu trc OSI/OSI, lp ny ca TCP/IP tng ng vi hai lp Datalink, v Physical. Chc nng nh dng d liu s c truyn lp ny bao gm vic nhng cc gi d liu IP vo cc frame s c truyn trn mng v vic nh x cc a ch IP vo a ch vt l c dng cho mng.
Lp lin mng (Internet)

Internet Layer l lp ngay trn lp Network Access trong cu trc phn lp ca TCP/IP. Internet Protocol l giao thc trung tm ca TCP/IP v l phn quan trng nht ca lp Internet, c th cc chc nng ca n nh sau nh ngha cu trc cc gi d liu l n v c s cho vic truyn d liu trn Internet. nh ngha phng thc nh a ch IP. Truyn d liu gia tng vn chuyn v tng mng. nh tuyn chuyn cc gi d liu trong mng. Thc hin vic phn mnh v hp nht (fragmentation reassembly) cc gi d liu v nhng/tch chng trong cc gi d liu tng lin kt. Lp vn chuyn TCP cung cp kh nng truyn d liu mt cch an ton gia cc my trm trong h thng cc mng. N cung cp thm cc chc nng nhm kim tra tnh chnh xc ca d liu khi n v bao gm c vic gi li d liu khi c li xy ra. TCP cung cp cc chc nng chnh sau: Thit lp, duy tr, kt thc lin kt gia hai qu trnh. Phn pht gi tin mt cch tin cy. nh th t cc gi d liu nhm truyn d liu mt cch tin cy. Cho php iu khin li. Cung cp kh nng a kt ni vi cc qu trnh khc nhau gia trm ngun v trm ch nht nh thng qua vic s dng cc cng.

26

Truyn d liu s dng c ch song cng (full duplex). Lp ng dng Bao gm cc ng dng chy trn nn giao thc TCP/IP, cc giao thc ng dng ph bin l: http: dch v web smtp, pop: dch v email ftp: dch v truyn tp telnet: dch v truy cp t xa rtp: dch v truyn voice v video qua mng internet ...v cng vi s pht trin rt mnh m ca Internet, cc giao thc ng dng mi lin tc ra i 1.2.2.4. M t cc thnh ph n c a khun d li u (Frame) t ng v t l Nh ta th y ph n trn, d li u khi truy n ngang qua m ng c phn tch thnh nh ng kh i nh , c kch th c ph thu c vo hnh tr ng lgc c a m ng . Nh i v i m ng Ethernet khng th s d ng cc kh i d li u l n hn 1500 byte. Cc kh i d li u nh ny c g i l cc frame (khung ho c khun d ng). C hai lo i frame: Ethernet v Token Ring tng ng v i tn hai lo i m ng c s d ng thng th ng nh t. Cng ty Xerox Corporation b t u pht tri n Ethernet vo nm 1970. Sau do lin k t gi a Xerox Corp. v i DEC v Intel, Ethernet c c i ti n v hi n gi c 4 cng ngh Ethernet ch y u ang c s d ng 10Base2, 10Base5, 10BaseT v 100BaseT. Token Ring c pht tri n b i IBM vo nm 1980 v d a trn lin k t gi a cc nt v i cng ngh vng (ring): m t th bi (token) c truy n quanh cc nt. M t nt ch c th truy n d li u trn m ng sau khi n nh n c th bi. Cp n i m ng hnh thnh m t vng (ring ho c circle) v cc tn hi u d li u c truy n ch theo m t h ng quanh vng. M c d v l thuy t c th truy n c hai frame Ethernet v Token Ring trn cng m t m ng, nhng i u ny khng th c hi n trong th c t . Giao ti p Ethernet khng th phin d ch cc frame Token Ring v tri l i. M t m ng lun ch l Ethernet ho c Token Ring ch khng th ng th i c hai. Tuy nhin c th k t h p cc giao th c trn cng trn m t m ng. Ch ng

27

h n, c th s d ng c hai b giao th c TCP/IP v IPX/SPX trn m ng m ng Ethernet, v c hai giao th c ny cng s d ng m t ki u frame d li u. 1.2.2.4.1. Khun d li u Etherne
Header Trailer

Preamble

SFD Start of Frame Delimiter

Destination Address

Source Address

Length

Data

Pad

Frame Check Sequence (Error Checking Information)

Control

Hnh 1.8: Cu trc Frame d liu Ethernet Cc thnh ph n c a frame Ethernet 802.3 bao g m:

Preamble (Ph n m u) nh d u b t u c a ton b frame, l tn hi u thng bo t i m ng r ng d li u ang truy n. (V tr ng ny l m t ph n c a qu trnh giao ti p, nn n khng c tnh vo kch th c c a frame) Start of Frame Delimiter (SFD) Ch a thnng tin kh i vi c nh a ch frame. Destination Address Ch a a ch c a nt ch. Source Address Ch a a ch c a nt ngu n. Length (LEN) Ch a chi u di c a gi. Data Ch a d li u c truy n t nt ngu n. Pad c s d ng tng kch th c c a frame t i kch th c yu c u nh nh t l 46 byte. Frame Check Sequence (FCS) Cung c p m t gi i thu t xc nh xem d li u nh n c c chnh xc hay khng. Gi i thu t c s d ng thng th ng nh t l Cyclic Redundancy Check (CRC). uc a

1.2.2.4.2. Khun d li u Token Ring

28

Hnh 1.9: Cu trc Frame d liu Token Ring Cc thnh ph n c a frame Token ring 802.5 bao g m:

Start Delimiter (SD) Bo hi u b t u gi. N l m t trong ba tr ng t o thnh khun d ng Token Ring. Access Control (AC) Ch a thng tin v u tin c a frame. N l tr ng th hai t o thnh khun d ng Token Ring. Frame Control (FC) nh ngha ki u c a frame, c dng trong Frame Check Sequence. Destination Address Ch a a ch c a nt ch. Source Address Ch a a ch c a nt ngu n. Data Ch a d li u c truy n t nt ngu n, cng c th ch a thng tin qu n l v tm ng. Frame Check Sequence (FCS) ton v n c a frame. c s d ng ki m tra tnh

End Delimiter (ED) Bo hi u k t thc frame. N l tr ng th ba c a khun d ng Token Ring. Frame Status (FS) Bo hi u nt ch nh n d ng v sao chp ng frame hay khng.

29

Cu hi v bi tp 1.1. Cu trc lin mng Internet ? 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. Lch s ra i ca giao thc TCP/IP, vai tr ca giao thc ny ? Tnh nng ca cc Router trong lin mng Internet Vai tr ca cc Router trn mng Internet ? Tham chiu gia m hnh TCP/IP v m hnh OSI 7 tng ? Chc nng tng tng trong m hnh OSI 7 tng Cu trc cc Frame d liu lp vt l ca mng Ethernet v Token Ring

30

Chng 2

cu trc ip datagram
2.1. Cu trc ip datagram 2.1.1. Khi nim chuyn pht phi kt ni (Connectionless) Dch v Internet c bn nht bao gm mt h chuyn pht gi d liu. V mt k thut, dch v ny c nh ngha nh l dch v khng c tin cy (unreliable), h pht chuyn Connectionless tng t nh dch v cung cp bi phn cng mng m hot ng trn m hnh n lc ti a (best effort). Dch v ny c gi l khng c tin cy v vic pht chuyn khng c bo m. Gi d liu c th b tht lc, b trng lp, b chuyn chm, hoc chuyn i khng theo ng th t, nhng dch v ny khng nhn ra c nhng s vic ny, v cng khng thng bo ni gi hoc ni nhn. Dch v ny c gi l connectionless v mi gi d liu c x l c lp vi gi khc. Mt chui cc gi d liu gi t mt my ti my khc c th di chuyn theo nhng con ng khc nhau, hoc mt s b mt trong khi mt s khc vn n ch c. Dch v ny cn c c gi l pht chuyn n lc ti a l v phn mm Internet thc hin mt c gng ln nht pht chuyn cc gi. Ngha l, Internet khng b st/lm mt cc gi d liu mt cch bt thng; khng c tin cy y ch xut hin khi cc ti nguyn qu ti hoc mng (c s h tng) b hng. 2.1.2. Mc ch ca giao thc IP (Internet Protocol) Giao thc m xc nh c ch pht chuyn Connectionless, khng c tin cy, c gi l Internet Protocol v thng c gi tt l IP. Nhi m v chnh c a giao th c IP l cung c p kh nng k t n i cc truy n d li u, vai tr c a IP l vai tr c a m ng con thnh lin k t m ng giao th c t ng m ng trong m hnh OSI. Giao th c IP l m t giao th c ki u khng lin k t (connectionless) c ngha l khng c n c giai o n thi t l p lin k t tr c khi truy n d li u. IP cung cp ba quy tc quan trng: - Trc ht, giao thc IP nh ngha n v c s ca vic truyn d liu c s dng thng qua mt TCP/IP Internet. Nh th, n xc nh nh dng chnh xc ca tt c d liu khi n i qua Internet. - Th hai phn mm IP thc hin chc nng nh tuyn (routing), chn mt con ng m d liu s c gi i.

31

- Th ba, cc quy tc v kim tra chnh xc, c t chnh thc ca nh dng d liu v vic nh tuyn, ngoi ra IP cn bao gm mt tp hp cc quy tc m th hin tng ca h pht chuyn d liu khng c tin cy. Cc quy tc ny c trng cho cch m my tnh v b nh tuyn x l truyn cc gi d liu, x l khi gp li lm th no v khi no cc thng ip li c pht sinh, cng nh nh ngha di nhng iu kin no th cc gi d liu c hu b. IP l mt phn rt c bn v quan trng nht ca thit k n ni TCP/IP Internet i khi c gi l mt k thut da trn IP. 2.1.3. Cu trc gi d liu IP Datagram (Internet datagram) C s tng ng ln gia mt mng vt l v mt mng TCP/IP Internet. Trn mt mng vt l, n v truyn d liu l mt frame bao gm phn u v d liu, vi phn u cung cp cc thng tin nh a ch ngun v a ch ch (vt l). Internet gi n v truyn d liu ca n l mt Internet datagram, v thng c gi l IP datagram, hoc n gin l datagram. Cng ging nh mt frame trong mng vt l, mt datagram bao gm hai phn, phn u v phn d liu. Phn u ca datagram bao gm a ch ngun v ch v mt vng kiu xc nh ni dung ca datagram bao gm cc a ch IP trong khi phn u ca frame bao gm cc a ch vt l. Dng tng qut ca datagram c trnh by trong hnh 2.1 1 4 8 16 19 32

Hnh 2.1: Cu trc IP Datagram

32

ngha c a thng s nh sau: VER (4 bits): ch version hi n hnh c a giao th c IP hi n c ci t, vi c c ch s version cho php c cc trao i gi a cc h th ng s d ng version c v h th ng s d ng version m i, version ph bi n hi n nay l version 4. HLEN (4 bits): ch di ph n u (Internet header Length) c a gi tin datagram, tnh theo n v t (32 bits). Tr ng ny b t bu t ph i c v ph n u IP c th c di thay i ty . di t i thi u l 5 t (20 bytes), di t i a l 15 t hay l 60 bytes. Type of service (8 bits): c t cc tham s v d ch v nh m thng bo cho m ng bi t d ch v no m gi tin mu n c s d ng, ch ng h n u tin, th i h n ch m tr , nng su t truy n v tin c y. Hnh sau cho bi t ngh c a tr ng 8 bits ny. Precedence Trong : Precedence (3 bits): ch th v quyn u tin gi datagram, c th l: 111 110 101 100 Network Control (cao nht) Internetwork Control CRITIC/ECP Flas Override 011 flash 010 001 000 Immediate Priority Routine (thp nht) D T R Unused

D (delay) (1 bit): ch tr yu cu D=0 tr bnh thng D=1 tr thp T (Throughput) (1 bit): ch s thng lng yu cu T=1 thng lng bnh thng T=1 thng lng cao R (Reliability): (1 bit): ch tin cy yu cu R=0 tin cy bnh thng R=1 tin cy cao

33

Total Length (16 bits): ch di ton b gi tin, k c ph n u tnh theo n v byte v i chi u di t i a l 65535 bytes. Hi n nay gi i h n trn l r t l n nhng trong tng lai v i nh ng m ng Gigabit th cc gi tin c kch th c l n l c n thi t. Identification (16 bits): cng v i cc tham s khc (nh Source Address v Destination Address) tham s ny dng nh danh duy nh t cho m t datagram trong kho ng th i gian n v n cn trn lin m ng. Flags (3 bits): lin quan n s phn o n (fragment) cc datagram, Cc gi tin khi i trn ng i c th b phn thnh nhi u gi tin nh , trong tr ng h p b phn o n th tr ng Flags c dng i u khi n phn o n v ti l p ghp b d li u. Ty theo gi tr c a Flags s c ngha l gi tin s khng phn o n, c th phn o n hay l gi tin phn o n cu i cng. Tr ng Fragment Offset cho bi t v tr d li u thu c phn o n tng ng v i o n b t u c a gi d li u g c. ngha c th c a tr ng Flags l: O DF MF

bit 0: reserved cha s d ng, lun l y gi tr 0. bit 1: (DF) = 0 (May Fragment) = 1 (Don't Fragment) bit 2: (MF) = 0 (Last Fragment) = 1 (More Fragments) Fragment Offset (13 bits): ch v tr c a o n (fragment) trong datagram tnh theo n v 8 bytes, c ngha l ph n d li u m i gi tin (tr gi tin cu i cng) ph i ch a m t vng d li u c di l b i s c a 8 bytes. i u ny c ngha l ph i nhn gi tr c a Fragment offset v i 8 tnh ra l ch byte. Time to Live (8 bits): qui nh th i gian t n t i (tnh b ng giy) c a gi tin trong m ng trnh tnh tr ng m t gi tin b qu n trn m ng. Th i gian ny c cho b i tr m g i v c gi m i (th ng qui c l 1 n v ) khi datagram i qua m i router c a lin m ng. Th i l ng ny gi m xu ng t i m i router v i m c ch gi i h n th i gian t n t i c a cc gi tin v k t thc nh ng l n l p l i v h n trn m ng. Sau y l 1 s i u c n lu v tr ng Time To Live: Nt trung gian c a m ng khng c g i 1 gi tin m tr ng ny c gi tr = 0. M t giao th c c th n nh Time To Live ti nguyn trn m ng trong ph m vi m r ng. 34 th c hi n cu c ra tm

Protocol (8 bits): ch giao thc tng k tip s nhn vng d liu trm ch (hin ti thng l TCP hoc UDP c ci t trn IP). Header checksum (16 bits): m kim sot li s dng phng php CRC (Cyclic Redundancy Check) dng m bo thng tin v gi d liu c truyn i mt cch chnh xc (mc d d liu c th b li). Nu nh vic kim tra ny tht bi, gi d liu s b hu b ti ni xc nh c li. Cn ch l IP khng cung cp mt phng tin truyn tin cy bi n khng cung cp cho ta mt c ch xc nhn d liu truyn ti im nhn hoc ti nhng im trung gian. Giao thc IP khng c c ch Error Control cho d liu truyn i, khng c c ch kim sot lung d liu (flow control). Source Address (32 bits): a ch ca trm ngun. Destination Address (32 bits): a ch ca trm ch. Option (c di thay i): s dng trong mt s trng hp, nhng thc t chng rt t dng. Trng option s dng trong mt s chc nng nh tuyn c bit. Padding ( di thay i): vng m, c dng m bo cho phn header lun kt thc mt mc 32 bits Data ( di thay i): vng d liu c di l bi ca 8 bits, ti a l 65535 bytes. 2.1.4. Thi gian sng (Time to Live TTL) V nguyn l, vng TIME TO LIVE xc nh khong thi gian, tnh bng giy m datagram c php lu li trn h thng mng. tng ny va n gin va quan trng: bt c khi no mt my tnh a mt datagram vo Internet, n thit lp thi gian ti a m datagram c tn ti. B nh tuyn v my tnh datagram ny phi gim gi tr vng TIME TO LIVE khi thi gian tri qua v hu b n khi Internet khi ht hn. Vic nh gi chnh xc thi gian l kh v b nh tuyn thng khng bit thi gian truyn trong cc mng vt l. Mt vi quy tt lm n gin tin trnh v d dng hn trong vic x l datagram m khng cn s ng b cc ng h. Trc ht, mi nh tuyn dc theo con ng t ngun n ch c yu cu gim gi tr vng TIME TO LIVE bt i 1 khi n x l phn u datagram. Hn na, x l trng hp cc b nh tuyn b qu ti, gy ra tnh trng tr hon, mi b nh tuyn ghi nhn thi im (theo ng h ca n) khi datagram, n v gim gi tr ca TIME TO LIVE

35

theo s giy m datagram cn nm trong b nh tuyn (trong thc t, nhng b nh tuyn hin i ch gi datagram ti a trong vi giy). Bt c khi no vng t n gi tr zero, b nh tuyn s hu b datagram v gi thng bo li tr v ni xut pht. tng v b m thi gian cho mi datagram l rt quan trng bi v n bo m rng datagram khng th di chuyn trn Internet mi mi, ngay c trong trng hp bng d liu trong b nh tuyn b hng cng nh trng hp chng to thnh vng lp v hn. Mc d vy, nim v vic b nh tuyn tr hon datagram mt khong thi gian nhiu giy by gi lc hu nhng b nh tuyn v mng hin ti c thit k chuyn datagram i trong mt khong thi gian hp l. Nu vic tr hon vt qu mt thi hn, b nh tuyn s hu b datagram. Nh vy, trong thc t, TIME TO LIVE c vai tr nh b m ngc ch khng phi tnh thi gian tr hon. Mt b nh tuyn ch gim gi tr i 1 n v khi datagram i qua n. 2.1.5. ng gi datagram Mt iu quan trng trc khi chng ta c th hiu cc vng k tip trong mt datagram, l xem xt lm cch no cc datagram lin h vi cc frame mng vt l. Chng ta bt u vi cu hi: ln ti a ca mt datagram l bao nhiu? Khng nh cc frame mng vt l m phi c nhn din bi phn cng, datagram c x l bng phn mm. Chng ta c th c di bt k vo chn la ca ngi thit k giao thc. nh dng datagram IP v4 dnh ra 16 bits cho vng di do vy gii hn di ca datagram l 65,535 bytes. Trong thc t, xut hin nhiu gii hn c bn hn v kch thc datagram. Chng ta bit rng khi datagram di chuyn t my ny sang my khc, chng phi lun lun c chuyn i bi mng vt l c s. cho vic pht chuyn trn Internet c hiu qu, cn bo m rng mi datagram c chuyn ti trong mt frame vt l ring bit. tng v vic chuyn ti mt datagram trong mt frame mng c gi l s ng gi (encapsulation). i vi mng c s, mt datagram ging nh bt k mt thng ip khc gi t mt my ti my khc. Phn cng khng nhn bit nh dng datagram, cng nh khng bit a ch IP datagram ti my khc, ton b datagram di chuyn trong phn d liu ca frame mng (mt vng trong phn u frame thng xc nh d liu c

36

chuyn ti; Ethernet s dng kiu d liu 0800 (h hexa), xc nh rng vng d liu cha mt IP datagram c ng gi).

Hnh 2.2: ng gi IP Datagram vo trong Frame vt l 2.2. Kch thc v s phn mnh ip datagram 2.2.1. Kch thc datagram, MTU mng Trong trng hp l tng, ton b IP datagram nm va vn trong mt frame vt l, lm cho vic truyn trn mng vt l c hiu qu. t c hiu qu ny, ngi thit k IP c th chn mt kch thc ti a ca datagram sao cho mt datagram lun lun nm va trong mt frame. Nhng kch thc no ca frame s c chn ? Hn na, mt datagram c th phi di chuyn qua nhiu loi mng vt l khi n di chuyn trn Internet ti ch. hiu c vn , cn mt yu t v phn cng mng: mi k thut chuyn gi t mt mc chn trn c nh i vi tng s d liu c th c truyn trong mt frame vt l. V d, Ethernet gii hn ny l 1500 bytes d liu, trong khi FDDI cho php khong 4470 bytes d liu mi frame (gii hn 1500 l t c tnh ca Ethernet; khi s dng vi phn u SNA chun IEEE 802.3 gii hn l 1492 bytes. Cng c mt s nh sn xut cho gii hn ln hn mt cht). Ngi ta m t cc gii hn ny l mt n v truyn ti a ca mng (Maximum Transfer Unit MTU). Kch thc MTU cng c th rt nh: mt vi k thut phn cng gii hn vic truyn xung 128 bytes,

37

thm ch cn t hn na. Vit gii hn datagram va MTU nh nht trong Internet lm cho vic truyn khng c hiu qu khi datagram i qua mt mng c th chuyn ti frame c kch thc ln hn. Tuy nhin, vic cho php datagram c kch thc ln hn MTU ti thiu ca mng trong Internet c ngha l mt datagram c th khng lun lun va vi mt frame mng. Hin nhin s chn la s l: tiu ch ca thit k Internet l che du k thut mng c s v lm cho vic thng tin lin lc c tin li cho ngi s dng. Nh th, thay v thit k cc datagram tun theo cc rng buc ca mng vt l, phn mm TCP/IP chn mt kch thc khi u v b tr mt cch chia cc datagram ln thnh nhng phn nh hn khi datagram cn chia cc datagram ln tnh nhng phn nh hn khi datagram cn i qua mt mng m c MTU nh. Nhng phn nh ca mt datagram c gi l fragments, v tin trnh chia mt datagram thnh cc fragments c gi l qu trnh phn on (fragmentation). 2.2.2. Phn mnh IP Datagram (Fragment) Nh minh ho trong hnh 2.3, vic phn on thng xy ra ti b nh tuyn trn ng i t ngun n ch cui cng. B nh tuyn nhn mt datagram t mt mng c MTU ln v phi gi n trn mt mng c MTU nh hn kch thc datagram.
Host

Host B

A NET 1
MTU=1500

NET 3
MTU=1500

R1

NET 2
MTU=620

R2

Hnh 2.3: Cc mng c MTU khc nhau Trong hnh ny, c hai my tnh ni trc tip vo Ethernet c MTU 1500 bytes. Nh th, c hai my u c th gi cc datagram di n 1500 bytes. Tuy nhin, con ng ni chng, l mt mng c MTU l 620. Nu my A gi cho my B mt datagram ln hn 620 bytes, b nh tuyn R1 s phn on datagram . Tng t, nu my B gi mt datagram ln cho my, b nh tuyn R2 s phn on datagram ny.

38

Kch thc fragmet c chn sao cho mi fragment c th c gi qua mng c s trong mt frame. Hn na, v IP th hin v tr tng i ca d liu trong nhm l bi ca tm bytes, nn kch thc fragment phi c chn l bi s ca tm. D nhin, vic chn bi s ca tm m gn nht vi MTU mng khng phi lun lun chia datagram thnh nhng phn bng nhau; thng thng mnh cui s nh hn. Cc fragment phi c kt hp li c c ng bn sao c datagram ban u trc khi n c x l ti ch cui cng. Giao thc IP khng gii hn datagram c kch thc nh, v cng khng bo m rng cc datagram ln s c chuy m khng b phn on. My ngun c th chn kch thc datagram bt k m n ngh l thch hp; vic phn on v kt hp li s t ng xy ra, m khng c tc ng c bit g t my ngun. c t ca IP pht biu rng b nh tuyn phi chp nhn datagram c kch thc cho ti kch thc ln hn nht ca cc MTU ca cc mng m n c ni vo. Hn na, mt b nh tuyn phi lun lun x l cc datagram c th t n kch thc 576 bytes (my tnh cng phi chp nhn, v kt hp li nu cn, cc datagram vi t nht 576 bytes). Vic phn on mt datagram c ngha l chia n thnh nhng phn nh. V mi phn ny cng c cng nh dng nh datagram ban u.

Hnh 2.4: V d vic phn mnh IP dng c MF (3 bit thp ca trng Flags trong phn u ca gi IP) v trng Flagment offset ca gi IP ( b phn on) nh danh gi IP 39

l mt phn on v v tr ca phn on ny trong gi IP gc. Cc gi cng trong chui phn mnh u c trng ny ging nhau. C MF bng 1 nu l gi u ca chui phn mnh v 0 nu l gi cui ca gi c phn mnh. Mi fragment ban u datagram ging hu ht vi phn u ca datagram ban u (ngoi tr bit trong vng FLAGS ch rng n l mt fragment), k tip l phn d liu c th chuyn ti trong mt fragment m vn duy tr tng di nh hn MTU ca mng m n di chuyn trn .

Hnh 2.5: V d v vic phn mnh 1:3 2.2.3. Kt hp ti cc Fragment Mt cu hi l: Cc fragment nn c kt ni hp li sau khi i qua mt mng, hay cc fragment nn c chuyn n my cui cng trc khi kt hp li? Trong mt TCP/IP Internet, mt khi mt datagram c phn on, cc fragment s di chuyn nh nhng datagram ring bit cho n ch cui cng ni m chng phi c kt hp li. Gi nguyn c fragment sut c on ng cho n ch cui cng c hai khuyt im chnh nh sau: Trc ht, v cc datagram khng c tp hp li ngay sau khi i qua mt mng c MTU nh, cc fragment nh phi c chuyn ti t lc phn on cho ti ch cui cng. Vic kt hp li datagram ti ch cui cng c th khng hiu qu: k t sau ni phn on, cc fragment nh c th s i qua nhng mng c kh nng MTU ln. Th hai, nu c mt fragment b tht lc, datagram khng th kt hp li c. My nhn s bt u khi ng b m kt hp khi n nhn 40

fragment khi u. Nu thi hn n ht trc khi tt c cc fragment n c, my nhn s hu b tt c cc fragment ( nhn) m khng x l g datagram. Nh th, xc sut mt datagram tng ln khi vic phn on xy ra bi v vic mt mt fragment s lm mt ton b datagram. Mc cho nhng nhc im nh ny, thc hin vic kt hp li ti ch cui cng vn lm vic tt. N cho php mi fragment c chuyn ti mt cch c lp, v khng i hi b nh tuyn trung gian phi lm phn vic l ly li v kt hp cc fragment. 2.2.4. iu khin vic phn on Ba vng trong phn u datagram, IDENTIFICATION, FLAGS, v FRAGMENT OFFSET, iu khin vic phn on v kt hp li ca datagram. Vng IDENTIFICATION cha mt s nguyn duy nht xc nh datagram. Chng ta nh li rng khi mt b nh tuyn phn on mt datagram, n sao chp hu ht cc trng d liu ca datagram nguyn thy ban u, c bit l trng IDENTIFICATION. Mc ch chnh yu ca n l my ch bit cc fragment n thuc v datagram no. Khi fragment n, my ch s dng vng IDENTIFICATION cng vi a ch ngun datagram xc nh datagram. My tnh gi datagram phi gn mt gi tr duy nht cho vng IDENTIFICATION cho mi datagram (Trong l thuyt, vic chuyn li mt gi d liu c th ly li cng vng IDENTIFICATION nh ban u; trong thc t, giao thc cp cao thc hin vic chuyn li nn datagram mi c ring IDENTIFICATION ca n). Mt k thut c s dng l phn mm iu khin IP s lu tr mt b m trong b nh, tng n ln mt mi khi c mt datagram mi c to ra, v gn kt qu cho vng IDENTIFICATION ca datagram. Chng ta nh li rng mi fragment c chnh xc cng nh dng nh datagram u . i vi mt fragment, vng FRAGMENT OFFSET xc nh v tr tng i trong datagram ban u ca d liu c chuyn ti trong fragment, c tnh theo n v 8 bytes ( gim kch thc trong phn u, n c xc nh l bi s ca 8 bytes) bt u t zero. kt hp li datagram, my ch phi c c tt c cc fragment, bt u t fragment c offset l 0 cho n fragment khng nht thit phi n theo th t, v khng c thng tin lin lc g gia b nh tuyn phn on datagram vi my ch s kt hp chng li. Hai bit th t thp trong s 3 bits ca vng FLAGS iu khin vic phn on. Thng thng, phn mm ng dng s dng TCP/IP khng quan tm v vic phn on v c hai vic phn on v kt hp li l nhng th 41

tc t ng xy ra ti cp thp nht trong h iu hnh, m ngi s dng khng thy c. Tuy nhin kim tra phn mm Internet hay bt li (debug) cc vn hot ng, cng l iu quan trng khi kim tra kch thc ca datagram m vic phn on xy ra. Bit iu khin u tin h tr vic kim tra bng cch xc nh rng datagram c th phn on khng. N c gi l bit khng phn on v thit lp n ln 1 ch rng khng nn phn on datagram ny. Mt ng dng c th chn gii php cm vic phn on khi m vic truyn d liu ch c ngha nu bo ton datagram trong sut chng. V d, xt mt quy trnh bootstrap trong mt h thng nhng nh thc hin mt chng trnh trong ROM gi mt yu cu qua Internet m qua mt my khc s p li bng cch gi li mt hnh nh b nh. Nu h thng nhng c thit k sao cho n cn ton b hnh nh b nh hoc khng c g ht, th khng nn thit lp bit khng phn on trong datagram. Bt c khi no mt b nh tuyn cn phn on mt datagram c bit khng phn on c lp, b nh tuyn s hu b datagram v gi mt thng bo li tr v ni xut pht. Bit th t thp trong vng FLAGS xc nh rng fragment cha d liu t gia ca datagram gc hay t cui. Ni c gi l bit vn cn phn on. hiu c v sao chng ta cn n bit ny, hay xt phn mm IP ti ch cui cng ang c gng kt hp li mt datagram. N s nhn cc fragment ca mt datagram. Khi mt fragment n, vng TOTAL LENGTHT trong phn u ch kch thc ca fragment ch khng phi kch thc ca datagram ban u, nn my ch khng th s dng vng TOTAL LENGTHT bit n nhn cc fragment cha. Bit vn cn phn on gii quyt vn ny d dng. mt khi my ch nhn mt fragment vi bit vn cn phn on c tt; n bit rng fragment ny chuyn ti d liu thuc phn ui ca datagram. T cc vng fragment OFFSET v TOTAL LENGTHT, n c th tnh di ca datagram gc. Bng cch kim tra fragment OFFSET v TOTAL LENGTH ca tt c cc fragment n, my nhn c th bit cc fragment nhn c kt hp li datagram ban u. 2.3. Cc ip datagram c bit Vng IP OPTIONS ngay sau a ch ch khng bt buc c trong mi datagram. cc chn la a thm vo ch yu cho vic kim tra v bt li trn mng. Tuy nhin, vic x l cc chn la li l mt phn ca giao thc IP, nn tt c cc ci t chun u c n.

42

di ca vng IP OPTIONS thay i tu theo cc chn la c ly. Mt vi chn la c di mt byte, chng bao gm m chn la (option code) mt byte. Cc chn la khc c di khc nhau. Khi cc chn la c mt trong mt datagram, chng nm k tip nhau, v khng c k hiu phn cch c bit g. Mi chn la bao gm mt m chn la mt byte, c th theo sau l mt byte di v cc byte d liu cho chn la . M chn la (mt byte) c chia thnh ba vng nh trong hnh 2.6.

Hnh 2.6: Cc trng ca phn IP Option Cc vng ca OPION CODE bao gm 1 bit c COPY, 2 bit OPTION CLASS, v 5 bit OPTION NUMBER. * C COPY kim sot cch m b nh tuyn lm vic vi cc chn la trong qu trnh phn on. Khi c COPY c lp (1), n xc nh rng chn la phi c sao chp chuyn tt c cc fragment u tin m thi.
0 = not copied 1 = copied

* OPTIONS CLASS xc nh lp tng qut ca chn la


0 = control 1 = reserved for future use 2 = debugging and measurement 3 = reserved for future use

* Cc bit OPTION CLASS kt hp OPTION NUMBER xc nh lp tng qut ca chn la v mt chn la c bit trong lp . Danh sch trn y trnh by cch gn cc lp chn la. 43

Bng sau lit k cc v d ca cc chn la cho mt IP datagram v trnh by cc gi tr OPTION CLASS v OPTION NUMBER ca chng. Qua bng ny ta thy, hu ht cc chn la c s dng cho mc ch iu khin.

CLASS NUMBER LENGTH DESCRIPTION ----- ------ ------ ----------0 0 End of Option list. This option occupies only 1 octet; it has no length octet. 0 1 No Operation. This option occupies only 1 octet; it has no length octet. 0 2 11 Security. Used to carry Security, Compartmentation, User Group (TCC), and Handling Restriction Codes compatible with DOD requirements. 0 3 var. Loose Source Routing. Used to route the internet datagram based on information supplied by the source. 0 9 var. Strict Source Routing. Used to route the internet datagram based on information supplied by the source. 0 7 var. Record Route. Used to trace the route an internet datagram takes. 0 8 4 Stream ID. Used to carry the stream identifier. 2 4 var. Internet Timestamp.

2.3.1. Chn la bn ghi nh tuyn (Record Route) Cc chn la nh tuyn v ghi nhn thi im (timestamp) l hu ch nht, bi v chng cung cp mt cch kim tra hoc iu khin cch m cc b nh tuyn Internet chuyn datagram. Chn la record route cho php ni gi to ra mt danh sch trng cc a ch IP v sp xp mi b nh tuyn m x l datagram s thm a ch IP ca n vo danh sch. Hnh sau trnh by nh dng ca chn la bn ghi nh tuyn.

Nh m t trn, vng CODE cha lp chn la v s chn la (0 v 7) dnh cho bn ghi nh tuyn. Vng LENGTH xc nh tng di ca phn d liu chn la khi n xut hin trong IP datagram, bao gm c ba bytes u tin.

44

ROUTE DATA: cc vng bt u vi nhn FIRST IP ADDRESS, SECOND IP ADDRESS... bao gm nhng vng dnh ring cho vic lu tr a cc a ch IP. Vng POINTER xc nh v tr tng i trong chn la ca vng trng k tip. Cch hot ng ca my tnh khi gp bn ghi ny nh sau: bt c khi no mt my (host) x l mt datagram m c chn la bn ghi nh tuyn c lp, my s thm a ch ca n vo danh sch bn ghi nh tuyn (ni gi phi cp vng trng trong chn la c th lu tr c tt c cc a ch m n s cn n). thm bn thn n vo danh sch, trc ht my tnh so snh cc vng POINTER v LENGTH. Nu POINTER ln hn LENGTH, tc l danh sch ni tip ny y, my s chuyn datagram i m khng chn a ch ca n vo danh sch ny. Cn nu danh dch cha y, my s chn 4 bytes a ch IP ca n vo danh sch v tr xc nh bi POINTER, v tng POINTER thm 4 n v. Khi datagram n, my ch c th trch v x l l danh sch cc a ch IP. Thng thng, khi my tnh nhn mt datagram, n khng n danh sch bn ghi nh tuyn. S dng chn la bn ghi nh tuyn ch khi no hai my cng ng hp tc; mt my s khng t ng nhn c danh sch bn ghi nh tuyn trong datagram gi i sau khi n m chn la bn ghi nh tuyn trong datagram gi ra. 2.3.2. Chn la bn ghi ngun nh tuyn (Source Route) Mt tng khc m nhng ngi xy dng cho rng ng quan tm, l chn la ngun nh tuyn (source route). tng nm trong chn la ny l n cung cp mt cch cho my gi tm ra ng i trn Internet. V d, kim tra tc truyn trn mt mng vt l c th N, ngi qun tr h thng c th s dng source route buc cc IP datagram di chuyn trn mng N ngay c nu b nh tuyn thng chn mt con ng m khng bao gm mng N. Kh nng thc hin cc kim tra ny l c bit quan trng trong mi trng ang c khai thc (khc vi mi trng ang th nghim), bi v ngi qun tr mang c t do chuyn datagram ca ngi s dng trn cc mng m h bit rng hot ng chnh xc ng thi c th kim tra nhng mng khc. D nhin, source route ch hu dng i vi nhng ngi hiu cu trc kt ni mng; . IP h tr hai dng source route:

45

* Mt dng, c gi l strict source route, xc nh mt con ng nh tuyn bng cch ch ra mt chui cc a ch IP trong chn la, nh trong hnh sau.

S d c tn l strict l v cc a ch xc nh chnh xc con ng m datagram phi i qua n ch cui cng. Con ng gia hai a ch k tip nhau trong danh sch phi bao gm mt mng vt l; nu b nh tuyn khng th tun theo strict source route n s gi thng bo li. * Mt dng khc, c gi l loose source route, cng bao gm mt chui cc a ch IP. N xc nh rng datagram phi i theo chui cc a ch IP ny, nhng cho php c nhiu con ng mng gia hai a ch k tip nhau trong danh sch. C hai chn la source route u i hi cc b nh tuyn dc theo con ng phi ghi chng ln cc mc trong danh sch a ch bng cc a ch mng cc b ca n. Nh th, khi datagram n ch ca n, n xc nh l danh sch lin tip c to r abi chn la source route. nh dng ca chn la source route cng tng t nh ca chn la bn ghi nh tuyn trn. Mi b nh tuyn kim tra cc vng POINTER v LENGTH xem danh sch b y cha, vng ROUTE DATA: l cc vng bt u vi nhn FIRST IP ADDRESS, SECOND IP ADDRESS... bao gm nhng vng dnh ring cho vic ghi nhn cc a ch Internet. Nu POITNER ln hn LENGTH, danh sch y, th b nh tuyn s chuyn datagram n ch ca n nh thng l. Nu danh sch cha y, b nh tuyn i theo POINTER, ly ra a ch IP, thay th n bi a ch IP ca b nh tuyn (mt nh tuyn c mt a ch IP cho mi b giao tip; n ghi nhn a ch m tng ng vi mng m n s chuyn datagram), v chuyn datagram i thng qua a ch ly ra t danh sch a ch. 2.3.4. Chn la ghi nhn thi im (Timestamp) Chn la timestamp lm vic ging nh chn la bn ghi nh tuyn. Khi u n bao gm mt danh sch trng, v mi b nh tuyn dc theo con ng t ngun n ch s in mt mc vo danh sch. Mi mc trong danh sch bao gm hai phn 32 bit; a ch IP ca b nh dng ca chn la timestamp. 46

Hnh ny, cc vng LENGTH v POINTER c s dng xc nh di ca vng trng c dnh ring cho chn la v v tr ca mc k tip cha s dng (chnh xc nh chn la bn ghi nh tuyn). Vng 4 bit OFLOW cha mt s nguyn m s b nh tuyn m khng th cung cp timestamp bi v chn la qu nh. Gi tr trong vng 4 bit FLAGS iu khin nh dng chnh xc ca chn la v cho bit m nh tuyn phi cung cp timestamp. Cc gi tr l:
0 -- time stamps only, stored in consecutive 32-bit words, 1 -- each timestamp is preceded with internet address of the registering entity, 3 -- the internet address fields are prespecified. An IP module only registers its timestamp if it matches its own address with the next specified internet address.

Timestamp ghi nhn ngy v thi gian m b nh tuyn x l datagram, c tnh theo millisecond k t na m, theo gi GMT. Nu th hin chun ca thi gian khng c, b nh tuyn c th s dng th hin bt k ca thi gian a phng min sao n bt ln bit th t cao trong vng timestamp. D nhin, timestamp a ra t nhng my tnh c lp khng lun lun thng nht vi nhau c c trnh by theo gi GMT; mi my tnh th hin thi gian theo ng h ring ca n, v cc ng h c th khc nhau. Nh th, cc mc timestamp lun lun c xem l c lng, c lp vi cch th hin. Thot nhn, n c v k quc khi chn la timestamp bao gm mt c ch b nh tuyn ghi li a ch IP ca n cng vi timestamp bi v chn la bn ghi nh tuyn lm vic ny. Tuy nhin, vic ghi nhn a ch IP cng vi timestamp tr loi tr s nhm ln. Hn na, ghi nhn a ch cng vi mi timestamp cng hu ch bi v n cho php ni nhn bit chnh xc con ng m datagram di qua.

47

2.3.5. X l cc chn la trong qu trnh phn on By gi, chng ta s thy c tng rng trong bit COPY ca vng CODE. Khi phn on mt datagram, b nh tuyn sao chp mt s chn la IP vo tt c cc fragment trong khi li sao chp nhng ch khc vo ch mt fragment. V d, xt chn la c ghi li ng i ca datagram. Chng ta ni rng mi fragment s c x l nh mt datagram c lp, v th khng c g bo m rng tt c cc fragment s i tho cng mt cong ng n ch. Nu tt c cc fragment cha chn la record route, ch n c th nhn mt danh sch khc nhau ca cc b nh tuyn t mi fragment. N khng th to ra duy nht mt danh sch ca cc b nh tuyn cho datagram ( kt hp li). Hn na, chun IP m t rng chn la record route ch c sao chp vo mt fragment. Khng phi tt c chn la IP c th c gii hn vo mt fragment. V d, xt chn la record route, xc nh cch m mt datagram phi di chuyn qua Internet. Thng tin v record route s khng tun theo con ng xc nh. Nh th, vng m ca record route xc nh rng chn la phi c sao chp vo tt c cc fragment.

48

Cu hi v bi tp 2.1. Khi nim chuyn pht phi kt ni. 2.1. Vai tr ca giao thc IP. 2.3. Cu trc gi d liu IP Datagram. 2.4. Nguyn l phn mnh v hp nht IP Datagram. 2.5. MTU, cho bit MTU ca cc mng ph bin. 2.6. Tm hiu lnh IP CONFIG. 2.7. Cc IP Datagram c bit. 2.8. Nguyn l hot ng ca Firewall lc gi

49

Chng 3

nh x cc a ch IP ln a ch vt l (ARP & RARP)


3.1. Giao thc phn gii a ch (address resolution protocol) 3.1.1. Khi nim nh x a ch Chng ta m t m hnh a ch TCP/IP, trong mi my tnh (host) c gn mt a ch 32 bit, v m t cch c x ca internet nh mt mng o, ch s dng a ch c gn chi khi gi v nhn cc gi. Chng ta cng xem xt mt s k thut phn cng ca mng, v nhn mnh rng hai my trn cng mt mng vt l ch c th lin lc nu bit c a ch vt l ca nhau. iu m chng ta cha trnh by l lm th no mt my tnh hay mt b nh tuyn c th nh x mt a ch IP thnh chnh xc a ch vt l khi gi cc gi qua mt mng (vt l). Chng ny s a ch vt nh x . Xt hai my A v B c ni vo cng mt mng vt l. Mi my c gn mt a ch IP l IA v IB v a ch vt l PA v PB. Mc ch l tm ra phn mm cp thp che du a ch phn cng v cho php nhng chng trnh mc cao hn ch phi lm vic vi a ch internet. Tuy nhin, cui cng th vic lin lc phi c thc hin bi cc mng vt l vi bt k m hnh a ch vt l no do phn cng mng cung cp. Gi s my A mun gi d liu cho my ny ni vo, nhng A ch c a ch Internet IB ca B. Cu hi t ra l: lm sao A nh x a ch vo a ch vt l PB ca B ? Vic nh x a ch phi c thc hin ti mi bc dc theo con ng t ni xut pht u tin ti ch cui cng. C th, c hai trng hp: Ti bc cui cng ca vic pht chuyn d liu, gi d liu phi c gi qua mt mng vt l ti ch cui cng ca n. My tnh gi d liu (trung gian), phi nh x a ch IP ca ch cui cng thnh a ch vt l ca n. Ti im bt k dc theo con ng t ngun n ch tyn trung gian. Nh th, ni gi phi nh x a ch IP ca b nh tuyn trung gian thnh a ch vt l (ca b nh tuyn).

50

3.1.2. Nguyn l hot ng ca giao thc ARP 3.1.2.1. Khi nim a ch vt l (MAC Address) Mi b giao tip Ethenet c gn mt a ch vt l 48 bit khi sn xut. H qu l, khi phn cng b hng v phi thay mt b giao tip Ethenet khc, th a ch vt l ca my thay i. Hn na, v a ch Ethenet di 48 bit, khng th c phng php m ho n thnh a ch IP 32 bit (bi v nh x trc tip l tin li v hiu qu hn lin kt ng nn th h k tip ca IP c thit k m a ch phn cng 48 bit c th c m ho thnh a ch IP). Nhng ngi thit k giao thc TCP/IP tm ra mt li gii tt v sng to cho bi ton gii a ch cho nhng mng nh Ethenet m c c kh nng qung b. Gii php ny cho php ta thm vo mng nhng my mi v b nh tuyn mi m khng phi thay i a ch ca nguyn c mng, v cng khng i hi vic bo tr c s d liu trung tm. trnh vic bo tr bng nh x, nhng nh thit k chn gii php s dng mt giao thc cp thp kt hp cc a ch. c gi l giao thc gii a ch (Address Resoluion Protocol ARP), giao thc ny c mt c ch va d bo tr va c hiu qu chp nhn c.

Hnh 3.1: Gi qung b trn mng yu cu tm a ch MAC 3.1.2.2. Nguyn tc tm a ch MAC khi bit a ch IP Nh trnh by trong hnh 3.1, tng v gii a ch ng ca ARP n gin nh sau: Khi my A (129.1.1.1) mun gii a ch IP (129.1.1.4) l IB, n pht i n mi my khc mt gi d liu c bit hi xem my no c a ch IP l IB, th tr li bng a ch vt l, PB.

51

Tt c cc my, bao gm c B (129.1.1.4) u nhn c yu cu ny, nhng ch c my B nhn ra a ch ca n v gi li li p c bao gm a ch vt l ca n. Khi A nhn c li p, n s dng a ch vt l ny (PB) gi d liu trc tip ti B. 3.1.2.3. Bng lu tr ARP Table Vic qung b (qung b) rt tn km ti nguyn, khng th lun lun dng n khi mt my cn gi d liu i, v mi my trn mng u phi nhn v x l gi d liu qung b. gim chi ph truyn tin, cc my tnh s dng ARP c duy tr mt kho cha (cache) nhng yu cu kt hp a ch IP thnh a ch vt l, mi nht. C ngha l, bt c khi no mt my tnh gi mt yu cu ARP v nhn mt li p ARP, n ct thng tin v a ch IP v a ch phn cng tng ng vo kho cha, ln sau ly ra dng li. Khi truyn mt gi d liu, my tnh lun lun tm thng tin a ch trong kho ca n trc khi gi mt yu cu ARP. Nu n tm thy a ch kt hp nh mong mun trong kho cha ARP ca n, my tnh s khng cn qung b trn mng. Nh th, khi hai my tnh trn mt mng mun lin lc vi nhau, chng s bt u vi mt yu cu v li p ARP, v sau ch vic gi d liu m khng cn n ARP na, v hu ht cc trao i thng tin trn mng u c vic gi d liu, nn ch cn mt kho cha nh cng .

Hnh 3.2: V d mt bng ARP Cache Table Kho cha ARP cho ta mt v d v trng thi mm (soft state), mt k thut thng c s dng trong cc giao thc mng. Tn ca n m t cho mt trng thi m kho thng tin c th tr nn lc hu m li khng thng bo trc. Trong trng hp ca ARP, ta hy xt hai my tnh A v B c ni vo mng Ethernet. Gi s my A gi mt yu cu ARP, v my B 52

p li. Gi s rng sau my B b hng. My A s khng nhn c thng tin g v vic my B b hng. Hn na, v n s khng nhn c thng tin v a ch ca my B trong kho cha ARP, my A s tip tc gi d liu cho B. Phn cng Ethernet cng khng cung cp bt k du hiu g v vic my B khng cn trn mng v k thut Ethernet khng c s pht chuyn c bo m. V th, A khng c cch no bit c c s pht chuyn c bo m. V th, A khng c cch no bit c khi no th thng tin trong kho cha ARP ca n ht gi tr. khc phc tnh trng trn, trch nhim cho tnh chnh xc thuc v ngi qun l thng tin. Thng thng, cc giao thc m ci t trng thi mm s dng cc b m thi gian, v thng tin trng thi b xo b sau khi ht thi hn. V d, bt c khi no thng tin v a ch lin kt c t vo kho cha ARP, giao thc s yu cu b m thi gian bt u m, thng thng l 20 pht. Khi ht hn (sau 20 pht), thng tin phi c xo b. S c hai kh nng xy ra sau khi xo b. Nu khng cn d liu phi c gi ti my ch ny, khng c g xy ra na. Nu khng cn d liu phi c gi ti my ch ny v khng cn thng tin v a ch ny trong kho cha, my ch s phi lp li th tc thng thng l qung b mt yu cu ARP v ly li thng tin a ch. Nu my ch vn cn , thng tin a ch li c t vo kho cha ARP. Nu khng, ni gi s pht hin c rng my ch khng cn ni mng na. Hin nhin vic s dng k thut trng thi mm trong ARP va c u im va c nhc im. u im ln nht l tnh t ng, trc ht, mt my tnh c th xc nh khi no thng tin trong kho cha ca n phi c lm mi tr li c lp vi cc my nhn hay ni th ba xc nh rng thng tin v lin kt a ch khng cn gi tr s dng na: nu my ch khng p li mt yu cu ARP, my gi s xem nh my ch khng cn na. Th ba, m hnh ny khng ph thuc vo phn cng mng xc nh s tin cy ca vi truyn d liu Nhc im ln nht ca trng thi mm l tin trnh b chm, nu thi gian m l N giy, my gi s ch nhn bit c rng my nhn b hng sau N giy. 3.1.2.4. Cc tnh nng nng cao ca ARP Khi A sp s dng ARP tm a ch vt l ca B v n cn gi d liu n B, th s c xc xut kh cao l my B s gi d liu cho A trong

53

tng lai gn. li dng iu ny v trnh bt giao dch trn mng, A khi gi cho B mt yu cu tm a ch IP ca B, n s gi km c cp thng tin v a ch vt l a ch IP ca A. B s trch thng tin lin kt ca A ra v lu vo kho cha ARP ca n, v sau gi li p n A. Khi A gi qung b yu cu tm a ch vt l ca B ti mi my trn mng (yu cu ny mang cp thng tin PA IA), my tnh no cha c cp thng tin (PA, IA) th n s tranh th lu tr ngay thng tin ny vo ARP Cache Table ca n. Khi A khi ng li trong mng, n lun thng bo cho cc my tnh khc thng tin v (PA, IA) qung b cho mi my tnh khc bit v thng tin ca n, iu ny gip x l vic cp nht thng tin thay i khi c s c v phn cng my tnh (thay th phn cng mi, thay th card mng). Mi lin h ca ARP vi nhng giao thc khc ARP cung cp mt c ch kh d nh x t a ch IP thnh a ch vt l; chng ta cng thy tng mt s k thut mng khng cn n n. Vn l, ARP s l hon ton khng cn thit nu chng ta c th lm cho mi phn cng mng nhn bit c a ch IP. Nh th ARP ch n gin l p t mt m hnh a ch mi ln trn bt k m hnh a ch cp thp no m phn cng s dng. tng ny c th c tm tt nh sau: ARP l mt giao thc cp thp che du a ch vt l ca mng c s, cho php ta gn a ch IP bt k cho mi my. Chng ta xem ARP nh mt phn ca h thng mng vt l, ch khng phi l mt phn ca cc giao thc l internet. 3.1.2.5. Ci t ARP V tnh nng, phn mm ARP c chia thnh hai phn x l nh sau. * Phn u: nh x mt a ch IP ra mt a ch vt l khi gi gi d liu, v phn hai p li nhng yu cu t my khc. Vic gii a ch cho d liu c gi c dng nh l chuyn khng kh khn, tuy nhin, c nhng chi tit nh lm phc tp vic ci t. Khi c cung cp thng tin v mt a ch IP ca my ch, phn mm s kim tra trong kho c cha ARP ca n xem c mt nh x t a ch IP ra a ch vt l. Nu c, phn mm s trch ra phn a ch vt l, a d liu v a ch ny vo mt Frame, v gi Frame i. Nu n khng bit c anh x ny, phn mm phi qung b mt yu cu ARP mt li p li.

54

Vic qung b mt yu cu ARP tm nh x ca mt a ch c th l cng vic phc tp. My ch c th b tt hoc qu bn nn khng p li li yu cu c. Nu vy, my gi s khng nhn c li p hoc nhn c nhng chm hn nhiu. Bi v tnh cht ca Ethernet, li yu cu ca qung b ARP ban u c th b mt i (trong trng hp , my gi phi a ra yu cu, t nht mt ln na). Trong lc , my tnh ny phi lu tr gi d liu sp gi m gi n i mt khi a ch c gii xong. Nu qu trnh ny lm chm mt khong thi gian ng k, th my s quyt nh hu b cc gi d liu sp c gi. Thc ra, my tnh phi quyt nh c cho php cc chng trnh khc c thc hin trong khi n x l mt yu cu ARP. Nu vy, phn mm phi x l trng hp khi mt chng trnh a ra thm mt yu cu ARP cho cng mt a ch, khng cn qung b thm cho a ch ch . Cui cng xt trng hp khi my A ly c thng tin a ch ca my B, nhng khi phn cng ca B b hng v c thay th. Mc d a ch ca B b thay i nhng thng tin trong kho cha ca A vn cha cp nht, v vy A s dng a ch phn cng khng dng cho B do khng th gi d liu n ch c. Trng hp ny cho thy tm quan trng ca vic phn mm ARP xem bng thng tin a ch nh mt kho cha v loi b thng tin trong bng sau mt thi gian nh k nht nh. D nhin, b m thi gian cho mt mc (bn ghi) trong kho cha phi c khi ng li bt c khi no my nhn c mt qung b ARP m c cha thng tin a ch ca mc . *Phn th hai: ARP x l cc gi d liu ARP n t mng. Khi mt gi d liu ARP n, trc tin phn mm s trch ra mt cp a ch phn cng v a ch IP ca my gi, ri kim tra kho cha ca mnh xem c mc tng ng vi my ny khng. Nu c mt mc (bn ghi) tng ng vi a ch IP ny, phn mm s cp nht thng tin ca mc ny bng cch ghi a ch phn cng mi (va c tch ra t gi ARP) chng ln a ch phn cng hin ti. Sau , my ny x l phn cn li ca gi d liu ARP. My nhn s phi x l hai loi d liu ARP. Khi mt yu cu ARP n, my nhn phi kim tra xem n c phi l ch n ca yu cu ny (ngha l mt my no qung b mt yu cu v a ch vt l ca my nhn). Nu ng, phn mm ARP s p li bng vic cung cp a ch phn cng ca n, v gi li p trc tip v ni yu cu. My nhn cng thm a ch ca my cha tn ti. Nu a ch IP trong yu cu ARP khng trng vi

55

a ch IP ca my nhn, ngha l n ang tm mt nh x ca my no khc trn mng, nn c th b qua. Mt trng hp khc l khi mt li p ARP n. Tu vo vic ci t, phn mm x l c th cn to ra mt mc trong kho cha, hoc mc ny c th c to khi pht sinh yu cu ARP. Cho d l trng hp no, mt khi kho cha c cp nhp, my nhn s th so snh s ging nhau gia li p vi li yu cn a ra trc . Thng thng, li p n p ng li yu cu, yu cu ny c a ra v my tnh cn gi gi d liu. Gia thi gian mt my qung b yu cu ARP ca n v nhn c li p, cc chng trnh ng dng v nhng giao thc cp cao c th a ra thm nhng yu cu (vi cng mt a ch); phn mm phi nh rng n gi i mt yu cu v khng gi na. Thng thng, phn mm ARP nhng gi d liu k tip trong mt hng i. Mt khi nhn c li p v bit thng tin a ch, phn mm ARP ln lt ly cc gi d liu ra khi hng i, t mi gi vo mt frame, v s dng thng tin a ch c c cho vo vng a ch ch (vt l). Nu trc y n khng c li yu cu v a ch IP cha trong li p, my tnh s cp nht mc ny trong kho cha ca n. ri ch n gin ngng x l gi d liu. 3.1.2.6. ng gi v nh dng thng ip ARP 3.1.2.6.1. ng gi thng ip ARP Khi mt thng ip ARP di chuyn t my ny ti my kia, n c chuyn ti trong cc frame, (vt l). Hnh 3.3 trnh by thng ip ARP c chuyn ti trong phn d liu ca frame.
ARP Message Frame
Header Data Header Data

Hnh 3.3: ng gi thng ip ARP xc nh frame khi n chuyn ti thng ip ARP, ni gi s gn mt gi tr c bit cho vng kiu trong phn u (header) ca frame, v t thng ip ARP vo vng d liu ca frame. Khi mt frame n c mt my tnh, phn mm mng s dng kiu frame xc nh ni dung ca n. Trong hu ht cc k thut, ch mt kiu gi tr c s dng cho tt c frame chuyn ti thng ip ARP phn mm mng ca my nhn cng phi kim tra cc thng ip ARP phn bit gia yu cu ARP v li p ARP. V d, trong mng Ethernet, cc frame chuyn ti thng ip ARP c

56

vng kiu l 080616. y l mt gi tr chun c gn bi chun Ethernet; v d nhin nhng k thut phn cng mng khc s s dng nhng gi tr khc. 3.1.2.6.2. nh dng thng ip ARP

Hnh 3.4: nh dng thng ip ARP Khng ging nh hu ht cc giao thc, d liu trong cc gi ARP khng c phn u (header) c nh dng c nh. Thay v th, cho ARP c ch i vi cc k thut mng khc nhau, di ca cc vng a ch tu thuc vo kiu mng. Tuy nhin, c th hiu c mt thng ip ARP bt k, trong phn u c nhng vng c nh nm gn ni xc nh di ca a ch trong cc vng tip theo sau. Thc ra dng ca thng ip ARP rt l tng qut sao cho n c th c s dng vi nhng a ch vt l bt k v cc giao thc a ch bt k. V d trong hnh 3.4 l mt dng thng ip ARP 28 bytes c s dng trong phn cng Ethernet (trong a ch vt l di 48 bit hay 6 bytes), khi gii cc a ch IP (ch di 4 bytes). Hinh 3.4 trnh by mt thng ip ARP trn cc mng Ethernet, t chc thnh 4 bytes trn mi hng, v y l dng chun c dng trong ton b gio trnh ny. Khng nh hu ht cc giao thc khc, cc vng c di thay i trong cc gi ARP khng phi lc no cng l 32 bit, lm cho cng vic thm kh khn. V d, a ch phn cng ca my gi, c nhn l SENDER Ha, chim 6 bytes lin tc, v th n c trnh by trn hai dng. 57

Cc vng (trng) c ngha nh sau: + HARDWARE TYPE xc nh kiu ca b giao tip phn cng m my gi ang cn bit; vi gi tr 1 dnh cho Ethernet. + PROTOCOL TYPE xc nh kiu ca giao thc a ch cpcao m my gi cung cp, n c gi tr 080016 dnh chi a ch IP. + OPERATION xc nh kiu ca thng ip, l mt trong cc loi sau: Thng ip ny l mt yu cu ARP Thng ip ny l mt li p ARP Thng ip ny l mt yu cu RARP (l mt giao thc khc s dng cng dng thng ip, s c trnh by tip sau) Thng ip ny l mt li p RARP (4). + HLEN v PLEN cho php c s dng vi cc mng bt k v chng xc nh di ca a ch phn cng (vt l) v di ca a ch logic (IP) ca n, + SENDER HA: a ch vt l ca trm gi thng ip ARP (MAC Address) + SENDER IP: a ch logic (IP Address) ca trm gi. + TARGET HA: a ch vt l ca trm nhn thng ip ARP + TARGET: a ch logic (IP Address) ca trm nhn. Khi thc hin mt yu cu, ni gi cng cung cp a ch phn cng ca my ch (RARP) hay a ch IP ca my ch (ARP), thng qua cc vng TARGET HA hay TARGET IP. Trc khi my ch p li, n s in vo cc a ch cn thiu, hon i cp gi v nhn, v thay i thao tc tr thnh li p. Nh th, mt li p s chuyn ti a ch IP v a ch phn cng ca ni yu cu ban u, cng nh a ch IP v a ch phn cng my p li. 3.2. Giao thc Gii a ch ngc (RARP: Reverse Address Resolution Protocol) Thng thng, a ch IP ca mt my c lu trn b tr (a cng), m h iu hnh c th ly c khi khi ng. Cu hi c t ra l, nu mt my khng c gn a cng, th lm th no n c th xc nh c a ch IP ca n?

58

Nu phn mm h iu hnh c gn (lp trnh) mt a ch IP nht nh, th khng th s dng chng cho nhiu my tnh, v th ngi thit k thng trnh vic ny. C th l phn mm bootstrap, hay c ghi vo ROM, thng c lp trnh sao cho chng c th chy c trn nhiu my. Khi cc chng trnh bt u chy, n s dng mng lin lc vi my ch v nhn c a ch IP t my ch cp cho n. Thot tin, th tc bootstrap c v ngc i: mt my tnh lin lc vi my ch t xa ly mt a ch cn cho vic thng tin lin lc. Tuy nhin khng phi th, v my tnh bit cch lin lc. N c th s dng a ch phn cng ca n lin trn mt mng n. V vy, my tnh phi tm thi vin n a ch mng vt l lin h vi my ch nhn c a ch IP. Mt khi my tnh bit a ch IP ca n, n c th lin lc qua ton b mng internet. tng nm sau vic tm mt a ch IP tht n gin: mt my khi cn bit a ch ca n s gi mt yu cu n mt b phn phc v cp a ch IP trn mt my khc, tm gi l my ch, v i li p. Chng ta gi s rng my ch c mt a lu tr c s d liu v a ch IP. Trong li yu cu, my tnh m ang cn cp a ch IP phi phi c xc nh duy nht, my ch gi li li p chnh xc, c my yu cu v my ch cng s dng a ch mng vt l trong qu trnh trao i ca chng. Cc nh thit k giao thc TCP/IP nhn ra rng c sn mt loi thng tin nh danh duy nht, l a ch mng vt l ca my. C hai u im khi s dng a ch vt l l nh danh duy nht. V mt my ly a ch vt l ca n t b giao tip mng (phn cng), cc a ch lun lun c sn v khng phi a a ch vo chng trnh bootstrap. V thng tin nh danh tu thuc vo mng ch khng phi b vi x l, tt c cc my trn cng mt mng s cung cp cc nh danh duy nht v cng mt dng. Nh th, y l bi ton ngc ca vic gii a ch: cho mt a ch mng vt l, tm ra mt m hnh s cho php my ch nh x n vo mt a ch internet. Giao thc TCP/IP m cho php mt my tnh tm ra a ch IP ca n t mt my ch c gi l Reverse Address Resolution Protocol (RARP). RARP c chuyn th t giao thc ARP trong chng trc v s dng cng dng thng ip nh trong hnh 3.4. Trong thc t, thng ip RARP gi i yu cu mt a ch IP l tng qut hn nhng g chng ta va trnh by: n cho php mt my gi yu cu tm a ch IP ca mt n v th ba. N cng cho php nhiu loi mng vt l.

59

Ging nh giao thc ARP, mt thng ip RARP c gi t my ny n my khc c gi vo trong phn d liu ca mt frame. V d, mt frame Ethernet chuyn ti mt yu cu RARP s c phn m u nh thng thng, gm a ch ngun v ch Ethernet, v vng kiu d liu. Kiu frame c gi tr 8035 (h16) ch rng y l mt thng ip RARP. Phn d liu ca frame cha thng ip RARP di 28 bytes.

Hnh 3.5: My ch RARP tr li yu cu c cp a ch IP ca my trm Hnh 3.5 cho ta thy cch m mt my s dng RARP. My gi qung b mt yu cu RARP m xc nh n va l my gi va l my ch, v cung cp a ch mng vt l ca n trong vng a ch phn cng ca my ch. Tt c my trn mng u nhn c li yu cu ny, nhng ch my c thm quyn cung cp dch v RARP s x l li yu cu v gi li p; cc my ny c gi l (mt cch khng chnh thc) my ch RARP. lm c iu ny, trn mng phi c t nht mt my ch RARP. My ch tr li yu cu bng cch in vo vng a ch ch, thay i kiu thng ip t yu cu tr thnh li p, v gi li p trc tip tr li my no yu cu. My yu cu ban u s nhn li p t tt c my ch RARP, mc d ch cn mt li p u tin. Cng nn lu rng, mi thng tin lin lc ch trn mng vt l. Hn na, giao thc cho php mt my tnh gi li yu cu ti mt ch bt k. V th, ni gi s cung cp a ch phn cng ca n tch bit vi a ch phn cng ca ni gi. Trn Ethernet, vic c mt cng dnh cho a ch phn cng ca my ch, v my ch s cn thn gi li p tr v a ch phn cng ca my dng nh tha v thng tin ny cng c trong phn u frame

60

Ethernet. Tuy nhin, khng phi tt c phn cng Ethernet u cho php h iu hnh truy xut phn u frame.

61

Cu hi v bi tp 3.1. Khi nim a ch vt l MAC Address 3.2. ARP thng b ch trch l c tnh bo mt km. Ti sao? 3.3. Bt k ci t no ca ARP m s dng vng cache c kch thc c nh u c th khng lm vic khi c s dng trn mt mng m c nhiu my v lng giao thng ln. Ti sao? 3.4. Gi s my C nhn c mt yu cu ARP gi i t A tm kim ch B, v gi s C c s phi hp a ch t IB v PB trong cache ca n. Liu rng C c p li khng ? Ti sao? 3.5. Hy gii thch ti sao vic gi cc packet IP i n nhng a ch khng tn ti trn mt Ethernet xa c th lm pht sinh lng ln giao thng trn mng. 3.6. Tm hiu nguyn l hot ng ca lnh ARP trn cc h iu hnh Windows v Linux 3.7. Cch hot ng ca RARP Server 3.8. Khun dng ca thng ip ARP 3.9. Khi mun tm mt a ch vt l, my tnh s gi cho mi my trn mng thng ip hi a ch, lm th no thng ip hi ny n c mi my tnh khi m my gi cha bit a ch vt l ca cc my nhn

62

chng 4

Phn lp cc a ch iP, k thut subnet


4.1. Phn lp a ch ip (internet) 4.1.1. Khi nim a ch IP (internet) Nh chng ta bi t Internet l m t m ng my tnh ton c u, do hng nghn m ng my tnh t kh p m i ni n i l i t o nn. Khc v i cch t ch c theo cc c p: n i h t, lin t nh, qu c t c a m t m ng vi n thng nh m ng tho i ch ng h n, m ng Internet t ch c ch c m t c p, cc m ng my tnh d nh , d to khi n i vo Internet u bnh ng v i nhau. Do cch t ch c nh v y nn trn Internet c c u trc a ch , cch nh a ch c bi t, trong khi cch nh a ch i v i m ng vi n thng l i n gi n hn nhi u. i v i m ng vi n thng nh m ng tho i ch ng h n, khch hng cc vng khc nhau hon ton c th c cng s i n tho i, phn bi t v i nhau b ng m vng, m t nh hay m qu c t . i v i m ng Internet, do cch t ch c ch c m t c p nn m i m t khch hng hay m t host (Host) ho c Router u c m t a ch internet duy nh t m khng c php trng v i b t k ai. Do v y m a ch trn Internet th c s l m t ti nguyn. a ch khng Hng ch c tri u host trn hng trm nghn m ng. c trng nhau c n ph i c c u trc a ch c bi t qu n l th ng nh t v m t T ch c c a Internet g i l Trung tm thng tin m ng Internet Network Information Center (NIC) ch tr phn ph i, NIC ch phn a ch m ng (Net ID) cn a ch host trn m ng (Host ID) do cc T ch c qu n l Internet c th nh tuy n c a t ng qu c gia m t t phn ph i. (Trong th c t (routing) trn m ng Internet ngoi a ch IP cn c n n tn ring c a cc host (Host) Domain Name). Cc ph n ti p theo chng ta hy nghin c u c u trc c bi t c a a ch Internet. 4.1.2. Khun dng a ch IP 4.1.2.1.C u trc v khun d ng d ng c a a ch IP a ch IP ang c s d ng hi n t i (IPv4) c 32 bit chia thnh 4 Byte (m i Byte c 8 bit, tng ng 1 byte) cch m u t tri qua ph i bt 1 cho n bt 32, cc Byte tch bi t nhau b ng d u ch m (.), bao g m c 3 thnh ph n chnh.

Bit 1.................................................................... 32

63

Bit nh n d ng l p (Class bit, l cc bt a ch c a m ng (Net ID) a ch c a host (Host ID).

u tin c a byte1)

Ghi ch: Tn l a ch host nhng th c t khng ch c host m t t c cc my con (Workstation), cc c ng truy nh p v.v.. u c n c a ch . Bit nh n d ng l p (Class bit) i) a ch Internet bi u hi n x, y = 0 ho c 1. V d : 0 0 1 0 1 1 0 0. 0 1 1 1 1 0 1 1. 0 1 1 0 1 1 1 0. 1 1 1 0 0 0 0 0 bit nh n d ng Byte 1 Byte 2 Byte 3 Byte 4 phn bi t a ch l p no. d ng bit nh phn:

x y x y x y x y. x y x y x y x y. x y x y x y x y. x y x y x y x y

ii)

a ch Internet bi u hi n
xxx.xxx.xxx.xxx

d ng th p phn: n9

x l s th p phn t 0

V d : 146. 123. 110. 224 D ng vi t y c a a ch IP l 3 con s trong t ng Byte. V d : a ch IP th ng th y trn th c t c th l 53.143.10.2 nhng d ng y l 053.143.010.002. 4.1.2.2. Cc l p a ch IP a ch IP chia ra 5 l p A,B,C, D, E. Hi n t i dng h t l p A,B v g n h t l p C, cn l p D v E T ch c internet ang dnh cho m c ch khc khng phn, nn chng ta ch nghin c u 3 l p u.

64

Hnh 4.1: Cc l p Qua c u trc cc l p Bit nh n d ng l nh ng bit c a l p C l 110.

a ch IP

a ch IP chng ta c nh n xt sau: u tin c a l p A l 0, c a l p B l 10, u

L p D c 4 bit u tin nh n d ng l 1110, cn l p E c 5 bt tin nh n d ng l 11110. a ch l p A: a ch l p B: v a ph i. a ch l p C: V d m t s a ch IP a ch m ng t v a ch m ng v a ph i v a ch m ng nhi u,

a ch host trn t ng m ng nhi u. a ch host trn t ng m ng

a ch host trn t ng m ng t.

192.1.1.1 a ch lp C c a ch mng 192.1.1.0, a ch host l 1 200.6.5.4 a ch lp C c a ch mng 200.6.5.0, a ch host l 4 65

150.150.5.6 a ch lp B c a ch mng 150.150.0.0, a ch host l 5.6 9.6.7.8 a ch lp A c a ch mng 9.0.0.0, a ch host l 6.7.8 128.1.0.1 a ch lp B c a ch mng 128.1.0.0, a ch host l 0.1 i) B ng th ng k s m ng t i a v s my t i a trong m i m ng c a m i l p: a ch l p A B C D E Vng a ch l thuy t S m ng S my t i a t i a s d ng trn t ng m ng 126 16777214 16382 2097150 Khng phn Khng phn u: S bit dng phn cho m ng 7 65534 254

T 0.0.0.0 n 127.0.0.0 T 128.0.0.0 n 191.255.0.0 T 192.0.0.0 n 223.255.255.0 T 224.0.0.0 n 240.0.0.0 T 241.0.0.0 n 255.0.0.0

ii) B ng th ng k cc bt nh n d ng ban a ch l p Vng a ch s d ng

Cc bt u tin c a byte u tin (b)it nh n d ng 0xxxxxxx

T 1

n 127

T 128.1

n 191.254

10xxxxxx

14

T 192.0.1

n 223.255.254

110xxxxx

21

D E

1110xxxx 11110xxx

66

Nh v y n u chng ta th y 1 a ch IP c 4 nhm s cch nhau b ng d u ch m, n u th y nhm s th nh t nh hn 126 bi t a ch ny l p A, n m trong kho ng 128 n 191 bi t a ch ny l p B v t 192 n 223 bi t a ch ny l p C. Ghi ch: a ch th c t khng phn trong tr ng h p t t c cc bit trong m t hay nhi u Byte s d ng cho a ch m ng hay a ch host u b ng 0 hay u b ng 1. i u ny ng cho t t c cc l p a ch . 4.1.2.3. Kh o st chi ti t l c l ng T ng qut chung: Bit th nh t l bit nh n d ng l p A = 0. 7 bit cn l i trong Byte th nh t dnh cho 3 Byte cn l i c 24 bit dnh cho Class A: (0 126) a ch m ng. a ch c a host. a ch c a cc l p Chng ta cng nhau kh o st l p A, cc l p B,C hon ton tng t

Hnh 4.2: C u trc i ch IP l p A net id: 126 m ng host id:16.777.214 host trn m t m ng
i) a ch m ng (Net ID) c a l p A

* Kh nng phn

a ch

Khi m s bit chng ta m t tri qua ph i, nhng khi tnh gi tr th p phn 2n c a bit l i tnh t ph i qua tri, b t u t bit 0. Byte th nh t dnh cho a ch m ng, bit 7 = 0 l bit nh n d ng l p A. 7 bit cn l i t bit 0 n bit 6 dnh cho a ch m ng (2 7) = 128. Nhng trn th c t a ch khi t t c cc bit b ng 0 ho c b ng 1 u khng phn cho m ng. Khi gi tr cc bit u b ng 0, gi tr th p phn 0 l khng c ngha, cn a ch l 127 khi cc bit u b ng 1 dng thng bo n i b , nn trn th c t cn l i 126 m ng.

67

Byte 1

Cch tnh

a ch m ng l p A.

S th t Bit (n) tnh t ph i qua tri: 6 5 4 3 2 1 0 Gi tr nh phn (0 hay 1) c a Bit: x x x x x x x Gi tr th p phn tng ng khi gi tr bit = 1 s l 2 n Gi tr th p phn tng ng khi gi tr bit = 0 khng tnh. Gi tr th p phn l n nh t khi gi tr c a 7 bit Nh v y kh nng phn * Bi u hi u u b ng 1 l 127. Xin xem b ng tnh tr n v n gi tr c a t t c cc Bit a ch c a l p A cho 126 m ng n 126 a ch trn th c t : T 001 a ch n bit 23 dnh cho a ch host

ii) a ch c a cc my trn m t m ng c a l p A * Kh nng phn Ba Byte sau g m 24 bit c tnh t bit 0 trn t ng m ng.

V i cch tnh nh trn,

c t ng s host trn m t m ng ta c.

Ga tr tng ng v i Bit n Gi tr a ch 23.22.21.20.19.18.16.|15.14.13.12.11.10.9.8.|7.6.5.4.3.2.1.0 2n ..0...0...0...0...0...0...0.|.0...0...0...0...0...0..0.0.|0.0.0.0.0.0.0.0 000 ..0...0...0...0...0...0...0.|.0...0...0...0...0...0..0.0.|0.0.0.0.0.0.0.0 20 001 1 ..0...0...0...0...0...0...0.|.0...0...0...0...0...0..0.0.|0.0.0.0.0.0.0.0 2 002 ................................... ...... ...... ................................... ...... ...... 23 1 ..1...1...1...1...1...1...1.|.1...1...1...1...1...1..1.1.|1.1.1.1.1.1.1.0 2 +...+2 16777214 ..1...1...1...1...1...1...1.|.1...1...1...1...1...1..1.1.|1.1.1.1.1.1.1.1 16777215 < Byte2 > < Byte3 > < Byte4 >

68

a ch khi cc bit u b ng 0 hay b ng 1 b ra khng dng quy c. Trn th c t cn l i 224 2 = 16 777 214 Nh v y kh nng phn * Bi u hi n a ch trn th c t Byte 2 Byte 3 Byte 4 a ch cho 16 777 214 host.

n theo

Byte 2

Ga tr tng ng v i th t bit (n) Gi tr 2n 76543210 00000000 00000001 20 00000010 21 00000011 21+20 ................ ........... ................ ........... 11111111 27+26+25+24+23+22+21+20 Nh v y gi tr th p phn Byte 3

a ch host 000 001 002 003 ...... ...... 255

Byte 2 tnh t 000 t i 255.

Ga tr tng ng v i th t bit (n) 76543210 00000000 00000001 00000010 00000011 ................

Gi tr 2n

a ch host 000 001 002 003 ......

20 21 21+20 ...........

69

................ 11111111

........... 27+26+25+24+23+22+21+20

...... 255

Nh v y gi tr th p phn Byte 4

Byte 3 tnh t 000 t i 255.

Ga tr tng ng v i th t bit (n) 76543210 00000000 00000001 00000010 00000011 ................ ................ 11111110 11111111

Gi tr 2n
0

a ch host

000 Khng phn 2 001 1 2 002 1 0 2 +2 003 ........... ...... ........... ...... 27+26+25+24+23+22+21 254 7 6 5 4 3 2 1 0 2 +2 +2 +2 +2 +2 +2 +2 255 Khng phn Byte 4 tnh t 001 t i 254.

Nh v y gi tr th p phn

* T ng qut l i t i a ch c a m t m ng, khi l n l t thay i cc gi tr c a cc Byte 2, 3, 4.ta s c 16 777 216 kh nng thay i m cc con s khng trng l p nhau (Combinations) c nghi l 16 777 216 a ch c a host trn m ng, nhng th c t phn ch l (256 x 256 x 256) 2 =16 777 214 Bi u hi n trn th c t l ba s th p phn trong 3 Byte cch nhau d u. T 000. 000. 0001 n 255. 255. 254

K t lu n: a ch l p A c th phn cho 126 m ng v m i m t m ng c 16 777 214 host. Ni cch khc a ch th c t s t 001.000.000.001 n 126.255.255.254 V d : M t a ch y c a l p A: 124. 234. 200. 254. Trong : a ch m ng: 124 a ch host: 234.200.254

70

4.2. K thut mng con (IP subnetting) Nh nu trn a ch trn Internet th c s l m t ti nguyn, m t m ng khi gia nh p Internet c Trung tm thng tin m ng Internet (NIC) phn cho m t s a ch v a dng v i yu c u lc , sau ny n u m ng pht tri n thm l i ph i xin NIC thm, l i u khng thu n ti n cho cc nh khai thc m ng. M hnh a ch IP phn lp ban u dng nh x l c tt c mi tnh hung, nhng n c mt im yu nh. im yu ny xut hin nh th no? nhng ngi thit k thiu st ch no? Cu tr li l: s pht trin qu nhanh ca mng Internet. Bi v ban u h (nhng ngi thit k) lm vic trong mt th gii cc my tnh ln (mainframe) t tin, nhng ngi thit ch thy c mt internet vi hng trm mng v hng ngn my. H khng tin liu c c chc ngn mng nh vi cc my tnh c nhn bng dng xut hin trong vng mt thp nim sau khi TCP/IP c thit k. Internet v ang pht trin rt nhanh, c khong chn ti mi lm thng th ln (s my, mng) ca n tng ln gp i. mt s lng ln cc mng vi kch thc trung bnh lm cng thng ton b thit k internet bi v: Ch n thun cc yu cu qu l cc a ch mng cng l cng vic hnh chnh khng l, Cc lp a ch mau chng b can kit (mc d trc y c nhiu s on rng khng gian a ch IPv4 s b cn kit trc nm 2000, tuy nhin vi s cp pht cn thn v cc k thut c m t trong chng ny, cc a ch IPv4 s vn cho n khong nm 2019). iu quan trng l vn th hai bi v n c ngha rng khi cc b nh tuyn trao i thng tin t cc b nh tuyn ca chng, lng giao dch trn internet rt cao, cng nh cc yu cu tnh ton ca cc b nh tuyn tham gia. Vn th ba l ct t bi v m hnh a ch ban u khng th dung np c s lng mng hin ti trn internet. C th, lp a ch B hin ti khng dung np tt c cc mng kch thc trung bnh. V th cu hi t ra l: Lm sao chng ta c th gim thiu s lng a ch mng c gn, c bit l lp B, m khng t b m hnh a ch 32 bit?

71

Hn n a cc l p a ch c a Internet khng ph i hon ton ph h p v i yu c u th c t , a ch l p B ch ng h n, m i m t a ch m ng c th c p cho 65534 host, Th c t c m ng nh ch c vi ch c host th s lng ph r t nhi u a ch cn l i m khng ai dng c. kh c ph c v n ny v t n d ng t i a a ch c NIC phn, b t u t nm 1985 ng i ta ngh n a ch m ng con. Nh v y phn a ch m ng con l m r ng a ch cho nhi u m ng trn c s m t a ch m ng m NIC phn cho, ph h p v i s l ng th c t host c trn t ng m ng. 4.2.1. Phng php phn chia a ch m ng con Tr c khi nghin c u ph n ny chng ta c n ph i hi u qua m t s khi ni m lin quan t i vi c phn a ch cc m ng con. Default Mask: (Gi tr tr n a ch m ng) c nh ngha tr c cho t ng l p a ch A,B,C. Th c ch t l gi tr th p phn cao nh t (khi t t c 8 bit u b ng 1) trong cc Byte dnh cho a ch m ng Net ID. Default Mask: L p A 255.0.0.0 L p B 255.255.0.0 L p C 255.255.255.0 Subnet Mask: (gi tr tr n c a t ng m ng con) Subnet Mask l k t h p c a Default Mask v i gi tr th p phn cao nh t c a cc bit l y t cc Byte c a a ch host sang ph n a ch m ng t o a ch m ng con. Subnet Mask bao gi cng i km v i a ch m ng tiu chu n cho ng i c bi t a ch m ng tiu chu n ny dng c cho 254 host hay chia ra thnh cc m ng con. M t khc n cn gip Router trong vi c nh tuy n cu c g i. Nguyn t c chung: L y b t m t s bit c a ph n a ch host t o a ch m ng con. L y i bao nhiu bit ph thu c vo s m ng con c n thi t (Subnet mask) m nh khai thc m ng quy t nh s t o ra.

72

Hnh 4.3: L y m t s bt cao nh t t ph n HostID l subnet nng phn chia m ng con V d

tng kh

hiu chi tit chng ta cng nhau kho st vic phn chia mng con ca mt mng lp C c th nh sau: Mng lp C: 205.131.175.0 / 255.255.255.0 Ly 3 bt cao nht ca phn HostID lm subnet, nh vy s mng con ti a phn gii ra thnh: 8 mng

Tuy nhin trong thc t th khng dng ht c 8 subnet ny, bi v quy c khng s dng phn a ch khi tt c cc bt cng bng 1 hoc cng bng 0, sau y chng ta i vo c th vic phn gii subnet tng lp i ch. 73

4.2.1.1. Class c:

a ch m ng con c a

a ch l p C

a ch l p C c 3 byte cho a ch m ng v 1 byte cu i cho a ch host v v y ch c 8 bit l thuy t t o m ng con, th c t n u dng 1 bit m m ng con v 7 bit cho a ch host th v n ch l m t m ng v ng c l i 7 bit cho m ng v 1 bit cho a ch host th m t m ng ch c m t my (do khng s d ng t t c cc bit=0 ho c t t c cc bit=1), nh v y khng logic, t m r ng a ch v 2 bit cho a ch host trn t ng nh t ph i dng 2 bit m ng. Do v y trn th c t ch dng nh b ng sau. Default Mask c a l p C: 255.255.255.0
a ch host < >

255.255.255.1 1 0 0 0 0 0 0; 192 (2 bit / ch m ng con 6 bit /ch host) 255.255.255.1 1 1 0 0 0 0 0; 224 (3 bit /ch m ng con 5 bit /ch host) 255.255.255.1 1 1 1 0 0 0 0; 240 (4 bit /ch m ng con 4 bit /ch host) 255.255.255.1 1 1 1 1 0 0 0; 248 (5 bit /ch m ng con 3 bit /ch host) 255.255.255.1 1 1 1 1 1 0 0; 252 (6 bit /ch m ng con 2 bit /ch host) < >< > a ch m ng con

Default Mask

Th ng k cc kh nng chia m ng con c a l p C Tr ng Subnetmask S l ng S host trn h p m ng con t ng m ng 1 255.255.255.192 2 62 2 255.255.255.224 6 30 3 255.255.255.240 14 14 4 255.255.255.248 30 6

74

5 255.255.255.252 62 2 Nh v y m t a ch m ng l p C ch c 5 tr ng h p l a ch n trn (Hay 5 Subnet Mask khc nhau), tu t ng tr ng h p c th quy t nh s m ng con. i) Tr ng h p 1 Hai m ng con Subnet Mask 255.255.255.192. T m t a ch tiu chu n t o c m t m ng c 62 host. a ch cho hai m ng con, m i t o m ng con.

S d ng hai bit (bit 7 v 6) c a ph n a ch host Nh v y cn l i 6 bit phn cho host. Tnh 3 Byte a ch m ng u
Byte 4

a ch m ng cc m ng con

Bt 7 6 5 4 3 2 1 0 xxx.xxx.xxx. xxx.xxx.xxx. xxx.xxx.xxx. xxx.xxx.xxx. 00 000000 01 000000 10 000000 11 000000 = xxx.xxx.xxx.0 = xxx.xxx.xxx.64 = xxx.xxx.xxx.128 = xxx.xxx.xxx.192

Ghi ch: xxx.xxx.xxx l

a ch m ng tiu chu n c a l p C.

a ch c a m ng l gi tr c a bit 7 v 6 l n l t b ng 0 v 1. Trong tr ng h p chia a ch m ng con khng bao gi c dng a ch khi cc bit u b ng 0 hay b ng 1. Do v y tr ng h p 2 m ng con ni trn, a ch m ng con s l: M ng con 1: M ng con 2: Tnh a ch m ng xxx.xxx.xxx.64 a ch m ng xxx.xxx.xxx.128 a ch host trn t ng m ng.

a ch cho host cho m ng con 1

Chng ta ch cn 6 bit cho

75

Byte 4 Bit 7 6 5 4 3 2 1 0 xxx.xxx.xxx. 0 1 0 0 0 0 0 0 xxx.xxx.xxx. 0 1 0 0 0 0 0 1 xxx.xxx.xxx. 0 1 0 0 0 0 1 0 ............. ......... xxx.xxx.xxx. 0 1 1 1 1 1 1 0 xxx.xxx.xxx. 0 1 1 1 1 1 1 1 Cn l i 62 Tnh a ch cho host. n xxx.xxx.xxx.126 = xxx.xxx.xxx.64 = xxx.xxx.xxx.65 = xxx.xxx.xxx.66 ............. = xxx.xxx.xxx.126 =xxx.xxx.xxx.127 Khng phn a ch m ng

M ng 1: T xxx.xxx.xxx. 065

a ch cho host cho m ng con 2 Byte 4 Bit 7 6 5 4 3 2 1 0

Tng t nh cch tnh trn ta c

xxx.xxx.xxx. 1 0 0 0 0 0 0 0 xxx.xxx.xxx. 1 0 0 0 0 0 0 1 xxx.xxx.xxx. 1 0 0 0 0 0 1 0 ............. .......... xxx.xxx.xxx. 1 0 1 1 1 1 1 0 xxx.xxx.xxx. 1 0 1 1 1 1 1 1 T xxx.xxx.xxx.129 n xxx.xxx.xxx.190.

= xxx.xxx.xxx.128 = xxx.xxx.xxx.129 = xxx.xxx.xxx.130 ............. = xxx.xxx.xxx.190

a ch m ng

= xxx.xxx.xxx.191 Khng phn

V d : T

a ch tiu chu n l p C l 196. 200. 123

Subnetmask 255.255.255.192 a ch ny ta c 2 m ng con l: a ch m ng 196.200.123.064 a ch Host trn m ng ny. 76 * M ng 1:

T 196.200.123.065 * M ng 2:

n 196. 200. 123. 126.

a ch m ng 196.200.123.128 n 196.200.123. 190

a ch host trn m ng ny. T 196.200.123.129

ii) Tr ng h p 2 Su m ng con Tnh Subnetmask: 255.255.255.224. T o c 6 m ng con, m i m ng con c 30 host a ch M ng con

Trng h p ny s d ng 3 bit (bit 7,6,5) c a a ch host (Byte 4) b sung cho a ch m ng tiu chu n t o m ng con. Byte 4 Bit 7 6 5 4 3 2 1 0 xxx.xxx.xxx. xxx.xxx.xxx. xxx.xxx.xxx. xxx.xxx.xxx. xxx.xxx.xxx. xxx.xxx.xxx. xxx.xxx.xxx. xxx.xxx.xxx. 000 00000 001 00000 010 00000 011 00000 100 00000 101 00000 110 00000 111 00000 = xxx.xxx.xxx.0 = xxx.xxx.xxx.32 = xxx.xxx.xxx.64 = xxx.xxx.xxx.96 = xxx.xxx.xxx.128 = xxx.xxx.xxx.160 = xxx.xxx.xxx.192 = xxx.xxx.xxx.224 a ch c a 6 m ng a ch cc m ng con

B tr ng h p cc bit con sau.

u b ng 0 hay 1, chng ta cn l i

xxx.xxx.xxx.32; M ng con 1 xxx.xxx.xxx.64; M ng con 2 xxx.xxx.xxx.96; M ng con 3 xxx.xxx.xxx.128; M ng con 4 xxx.xxx.xxx.160; M ng con 5

77

xxx.xxx.xxx.192; M ng con 6 Tnh a ch host cho m ng con 1 Byte 4 Bit 7 6 5 4 3 2 1 0 xxx.xxx.xxx. xxx.xxx.xxx. xxx.xxx.xxx. xxx.xxx.xxx. xxx.xxx.xxx. ......... xxx.xxx.xxx. xxx.xxx.xxx. Nh v y 001 00000 001 00011 001 00000 001 00011 001 00100 .... .... 001 11110 001 11111 = xxx.xxx.xxx. 32 = xxx.xxx.xxx.33 = xxx.xxx.xxx.34 = xxx.xxx.xxx.35 = xxx.xxx.xxx.36 ............... = xxx.xxx.xxx.62 = xxx.xxx.xxx.63 Khng phn n 62. a ch m ng a ch cc m ng con

a ch host c a m ng con 1 s t 33

Tng t nh cch tnh nu trn chng ta c th tnh c cho t t c cc tr ng h p cn l i. T ng h p l i cc tr ng h p nh sau: 1/ Tr ng h p 1: Subnetmask 255.255.255.192

2 m ng con. 62 host m i m ng. 6 m ng con. 30 host m i m ng. 14 m ng con. 14 hostm i m ng 30 m ng con. 6 host m i m ng.

2/ Tr ng h p 2: Subnetmask 255.255.255.224

3/ Tr ng h p 3: Subnetmask 255.255.255.240

4/ Tr ng h p 4: Subnetmask 255.255.255.248

78

5/ Tr ng h p 5: Subnetmask 255.255.255.252.

62 m ng con. 2 host m i m ng. a ch cho cc tr ng h p trn a

Xem b ng tnh

V d : a ch m ng l p C m NIC phn cho VDC l 203.162.4.0. Trn ch ny phn ra 2 m ng con th a ch s l. M ng 1: M ng 2: a ch m ng 203.162.4.64. n 203.162.4.126 n 203.162.4.190 a ch m ng 203.162.4.128. a ch host trn m ng t 203.162.4.65 a ch host trn m ng t 203.162.4.129 4.2.1.2. Class b: a ch m ng con c a a ch l p B

Default Mask c a l p B l 255.255.0.0 Net ID Khi phn a ch m ng con s d ng Byte 3 a ch l p B c 2 Byte th 3 v th 4 dnh cho a ch host nn v t o a ch m ng. N u t m t a ch nguyn l c th l y c c 16 bit m ng c NIC phn chng ta nh m r ng ln 254 m ng v m i m ng s c 254 host. Tr ng h p ny s l y h t 8 bit c a byte th 3 b sung vo a ch m ng v ch cn l i 8 bit th c t cho a ch host, theo cch tnh s th p phn 2n gi tr c a 8 bit nh nu ph n l p C, chng ta s c: B ng phn chia Class B Subnetting (Default Subnet Subnet Mask mask) 255.255.0.0 S d ng Byte 3 255.255.192.0 a ch m ng con l pB

#of hosts per #of subnets subnet S m ng con S host trn m i m ng con 2 16382

79

m r ng con

m ng 255.255.224.0 255.255.240.0 255.255.248.0 255.255.252.0 255.255.254.0 255.255..255.0 255.255.255.128 255.255.255.192

6 14 30 62 126 254 510 1022 2046 4094 8190 16382

8190 4094 2460 1022 510 254 126 62 30 14 6 2

S d ng c Byte 4 255.255.255.224 m r ng m ng 255.255.255.240 con 255.255.255.248 255.255.255.252

a ch l p B v l thuy t c 2 byte u cho a ch m ng, khi chia m ng con theo phng php s d ng t t c 8 bit trong 3 byte cho a ch m ng, trn th c tng ng v i l p C, nh v y v a ch NIC phn l l p B nhng cch t ch c a ch l i l p C V d : Tr ng h p Subnetmask 255.255.240.0. Chia c 14 m ng con, m i m ng con c 4094 host, kho ng cch gi a hai m ng con l 16.0 c ngha l.

a ch

M ng con 1 c a ch l xxx.yyy.16.0; M ng con 2 s c a ch l xxx.yyy.16.0 + 16.0 = xxx.yyy.32.0 c ti p t c nh v y ta s tnh c a ch c a t ng m ng con v m ng con 14 l xxx.yyy. 224.0. a ch host u tin trn m ng con 1 l xxx.yyy.16.1; a ch host u tin trn m ng con 2 s l xxx.yyy.16.1 + 16.0 = xxx.yyy.32.1. Ti p t c nh v y ta s tnh a ch c host u tin c a m ng con 14 l xxx.yyy.224.1 v.v.. Tng t chng ta bi t c m ng con. a ch cu i cng c a cc host trn m t

Theo h ng d n ny chng ta s tm c cc tr ng h p khc. 80

Tm l i chia a ch m ng con cng ph i theo m t quy lu t nh t nh ngoi mu n c a chng ta, khi chia m ng con cng b m t kh nhi u a ch , m t t hay nhi u tu thu c vo cc tr ng h p c th . 4.2.2. Mt n mng con 4.2.2.1. Ci t mng con vi mt n (mask) K thut mng con lm cho vic cu hnh d dng hn, i vi c hai trng hp di c nh bin i. Mt mt n 32 bit c dng xc nh s phn chia. V th mt n v s dng mng con phi chn mt mt n mng con 32 bit cho mi mng. Cc bt trong mt n mng con c gi tr bng 1 nu cc my trn mng xem bt tng ng trong a ch IP nh mt phn ca tin t mng con, c gi tr bng 0 nu chng xem bt ny nh mt phn ca a ch my. V d, xt mt n mng con 32 bt: 11111111 11111111 11111111 00000000 M t rng ba byte u tin xc nh mng v bytes th t xc nh my tnh trn mng . Mt mt n mng con phi c tt c cc bit l mt trong phn tng ng vi phn mng ca a ch (v d, mt n mng con cho mt mng lp B s c cc bit l mt trong 2 bytes u tin cng vi 1 hay nhiu bit trong hai bytes cui cng). Mt im quan trng trong vic a ch mng con l chun khng rng buc mt n mng con phi l cc bit lin tc nhau trong a ch. V d, c th gn mt n sau y cho mng: 11111111 11111111 00011000 01000000 bao gm hai byte u tin, hai bit trong byte th ba v mt bt trong byte cui cng. Mc d s uyn chuyn trn cho php ta sp xp cc php gn a ch c bit cho mt, nhng n lm cho vic gn a ch v hiu bng nh tuyn tr thnh cng vic chi li lt lo.V vy, cc n v c khuyn nn s dng mt n mng con lin tc v nn s dng cng mt n trn ton b cc mng vt l c cng chung mt a ch IP.

4.2.2.2. Cch th hin mt n mng con Vic m t mt n mng con di dng nh phn va kh din t v d bi li. V vy, hu ht phn mm u c cch th hin khc. Hu ht phn

81

mm IP s dng cch th hin du chm thp phn cho mt n mng con; n thch hp nht cho nhng n v chn mng con theo tng bytes. V t, nhiu t chc chn lp mng con cc a ch lp B bng cch s dng bytes th ba xc nh mng vt l v bytes th t xc nh my tnh nh c trnh by trong phn trc. Trong trng hp , mng con c cch th hin du chm thp phn 255.255.255.0, gip d hiu v d vit. Cng c mt cch th hin khc cho a ch mng con v mt n mng con, dng nhm 3 trong ngoc nhn. {<s ca mng>, <s mng con>, s ca my>} theo cch th hin ny, gi tr 1 c ngha l tt c u l 1. V d, nu mt n mng con camt mng lp B l 255.255.255.0, th ta c th vit li l { 1, 1, 0}. Nhc im chnh ca cch th hin nhm 3 l n khng m t chnh xc bao nhiu bit c dng cho mi phn ca a ch; u im l n tch b ho i nhng chi tit v cc bit v nhn mnh gi tr ca ba phn ca a ch. thy c ti sao i khi cc gi tr a ch quan trng hn cc vng bit, xt nhm 3 sau y: {128.10, 1. 0} m t a ch vi s ca mng l 128.10, vng mng con gm tt c l bt 1, v vng my tnh gn tt c cc bt 0. nu th hin a ch ny bng cch khc s i hi mt mt n mng con 32 bit cng vi mt a ch 32 bit, v ngi c phi gii m cc vng bit c c gi tr ca tng vng. Hn na, cch th hin tp hp cc a ch hoc cc tng tru tng. V d, nhm 3: {<s ca mng>, 1, 1} ch cc a ch vi mt s ca mng hp l, mt vng mng con gm tt c cc bit 1, v mt vng my tnh gm tt c cc bit 1. 4.3. Mt s vn lin quan n a ch IP Address 4.3.1. a ch IP v lin kt mng n gin vic tm hiu, chng ta ni rng mt a ch IP xc nh mt my, nhng iu ny khng hon ton chnh xc. Xt mt b nh tuyn c ni vi hai mng vt l. Lm sao c th gn ch mt a ch IP duy nht nu a ch bao gm mt phn xc nh mng v mt phn xc nh my? Thc ra, iu l khng th c. Khi nhng my c hai hay nhiu lin kt vt l, th chng c gi l cc my multi homed. Nhng my Multi 82

homed v cc b nh tuyn c nhiu a ch IP. Mi a ch tng ng vi mt lin kt mng ca my. Cc my Multi homed dn chng ta n mt tng quan trng. V cc a ch IP bao gm c hai phn, phn mng v phn my trn mng chng khng xc nh mt my n. m xc nh mt lin kt vi mt mng. Nh vy, mt b nh tuyn lin kt n mng s c n a ch IP khc nhau, mi a ch cho mt lin kt mng. 4.3.2. Mng v a ch qung b Chng ta trnh by nhng u im chnh ca vic a thng tin v mng vo a ch internet. n gip chi vic nh tuyn c hiu qu. Mt u im khc l cc a ch internet c th dng ch ra mng cng nh ch ra cc a ch internet c th dng ch ta mng cng nh ch ra cc my. Theo quy c, hostid 0 s khng bao gi c gn cho mt my no. Mt a ch IP vi phn hostid bng zero c dng ch bn thn mng. Tm li: Cc a ch IP c th c dng ch cc mng cng nh tng my trong mng. Theo quy c, mt a ch c tt c cc bt trong phn hostid bng 0 c dng ch bn thn mng. Mt u im ng k khc ca m hnh a ch internet l n bao gm mt a ch qung b ch tt c cc my trong mng. Theo chun, mt a ch c tt c cc bt trong phn hostid bng 1 c dnh ring cho vic qung b. Khi mt gi c gi ti mt a nh th, ch c mt phin bn c chuyn gi trn mng internet (t ni gi). Cc b nh tuyn trong internet s s dng phn netid ca a ch khi chn con ng; chng khng xem xt n phn hostid. Mt khi gi d liu n c b nh tuyn m ni vi mng ch n, b nh tuyn ny s kim tra phn hostid ca a ch xc nh cch gi d liu i. Nu thy tt c cc bit l 1, b nh tuyn s gi (qung b) gi d liu n tt c cc my trong mng. Trong nhiu k thut mng (v d Ethernet), vic qung b cng hiu qu nh vic chuyn n mt my n; cng c nhng h, vic qung b c h tr bi phn mm mng, nhng b chm hn nhiu so vi gi n mt my n. Cng c mt vi phn cng mng khng h tr vic qung b. Nh th, vic c mt a ch qung b IP khng bo m c tnh kh thi hoc hiu qu ca pht chuyn qung b. Tm li:

83

Cc a ch IP c th c dng xc nh qung b, m qua d liu c gi ti tt c cc my trn mt mng; nhng a ch nh x vo qung b phn cng, nu hin hu. Theo quy c, mt a ch qung b s gm mt phn netid v phn hostid vi tt v cc bit bng 1. 4.3.3. Qung b gii hn a ch qung b m chng ta va m t c gi l trc tip (directed) v n bao gm c phn ID mng v phn hostid qung b. Mt a ch qung b trc tip c th c hiu mt cch khng m h trn mi ni trong internet v n xc nh mt mng duynht cng vi vic qung b trn mng . a ch qung b trc tip cho ta mt c ch hu hiu (v i khi hi nguy him) cho php mt h t xa c th gi ch mt gi d liu nhng n c mi my ca mt mng. Di quan im v a ch, bt li chnh ca qung b trc tip l n i hi kin thc v a ch mng. Mt dng khc ca a ch qung b c gi l a ch qung b gii hn hay a ch qung b cc b, cung cp mt a ch qung b cho mng cc b c lp vi a ch IP. a ch qung b cc b bao gm 32 bit 1 (nn i khi c gi l a ch qung b ton l 1). Mt my c th s dng a ch qung b cc b trong phn khi ng trc khi bit c a ch IP ca n hay phn tin t (preix) a ch IP ca mng cc b. Tuy nhin, mt khi my tnh bit c chnh xc a ch IP ca mng cc b, n s s dng qung b trc tip. Mt nguyn tc chung, giao thc TCP/IP gii hn vic qung b trong nhm c t my. Chng xem xt quy tc ny nh hng nh th no n nhiu mng c chung a ch trong cc phn trc v a ch mng con. 4.3.4. Quy c tng quan v ngha bt v a ch Chng ta thy rng mt vng bao gm tt c cc bit l 1 c hiu l tt c, nh l tt c cc my trn mt mng. Ni chung, phn mm internet din dch cc vng gm cc bit 0 c ngha l ti y. Cch din dch ny s xuyn sut ton b gio trnh. Nh th, mt a ch IP c phn hostid l 0 c ngha l mng ny. D nhin, din dch ny ch c ngha trong nhng bi cnh no khng th c s nhm ln. V d, nu mt my nhn mt gi m trong phn netid ca a ch ch l 0 v phn hostid ca a ch ch ng vi a ch ca n, th my ny s hiu vng netid c ngha l my ny (ngha l mng m gi ny n). 84

S dng netid bng 0 c bit quan trng trong nhng trng hp khi m mt my mun lin lc trn mng nhng cha bit a ch IP ca mng. My ny s tm thi s dng mng ID l 0, v nhng my khc trn mng s hiu rng a ch ny c ngha l mng ny. 4.3.5. a ch IP multicast (truyn ng thi nhiu hng) Cng vi vic pht chuyn duy nht (unicast), trong mt gi c pht chuyn n ch mt my tnh, v pht chuyn qung b, trong mt gi c pht chuyn ti tt c cc my tnh trong mt mng c th, m hnh a ch IP h tr mt dng c bit ca vic pht chuyn nhiu im, c tn l multicasting c bit hu dng cho nhng mng m k thut phn cng h tr vic pht chuyn truyn cng mt lc i nhiu hng. a ch lp D c dnh ring cho vic truyn cng mt lc i nhiu hng. 4.3.6. Nhc im ca cch nh a ch IP Vic kt hp thng tin mng vo a ch internet c mt vi bt li. Bt li hin nhin nht l cc a ch tham chiu n cc lin kt mng, Ch khng phi n my tnh: Nu mt my tnh chuyn t mng ny sang mng khc, a ch IP ca n phi thay i. hiu hu qu ca n, gi s mt ngi i du lch mun mang my tnh c nhn khng th c gn mt a ch IP vnh vin v mt a ch IP xc nh lun c mng m my ny c ni vo. im yu khc ca m hnh a ch phn lp xut hin khi mt mng thuc lp C pht trin ln vi nhiu hn 255 my, lc n phi i cc a ch ca n thnh a ch lp B. Thot nhn, iu ny dng nh ch l vn nh, vic thay i cc a ch mng l mt cng vic v cng mt thi gian v kho truy tm li. V hu ht phn mm khng c thit k h tr cho vic mt mng vt l c nhiu a ch mng, thay i a ch ca tt c cc my, v ri cho mng hot ng li vi a ch mng mi. Nhc im quan trng nht ca m hnh a ch internet vn cha l din cho n khi chng ta xem xt vic nh tuyn. V tm quan trng ca n, chng ta s trnh by tht tm tt ngay by gi. Chng ta ni rng vic nh tuyn s a vo a ch internet, vi phn netid ca a ch c dng ra cc quyt nh v vic nh tuyn. Hy th xt mt my c hai lin kt internet. Chng ta bit rng mt my nh vy phi c nhiu hn mt a ch IP. Do ta suy ra mt iu.

85

V vic nh tuyn s dng phn mng ca a ch IP, con ng m mt gi i qua n mt my c nhiu a ch IP tu thuc vo a ch c s dng. 4.3.7. a ch lp Tin t mng 127.0.0.0, mt gi tr ca lp A, c dnh ring cho a ch lp (loopback), v thc ra c s dng trong vic kim tra TCP/IP v cho cc tin trnh lin lc bn trong ca mt my tnh. Khi mt chng trnh c a ch ch l a ch lp, phn mm. Hn th na, mt my tnh hay b nh tuyn s khng gi n qua mng. Ngoi ra, mt my tnh hay b nh tuyn s khng bao gi nhn bn thng tin v vic nh tuyn cho mng s 127; v n khng phi l a ch mt mang. 4.3.8. Th t cc byte trong a ch IP xy dng mt internet c lp vi kin trc my v phn cng mng ca mt cng ty bt k, phn mm phi nh ngha cch th hin chun cho d liu. V d, hy th xem chuyn g xy ra khi phn mm trn mt my tnh gi d liu 32 bit nh phn cho my khc. Thit b nhp xut (phn cng) chuyn tun t tng bit mt t my xut pht n my th hai m khng thy i th t tng ca chng. Tuy nhin, khng phi mi kin trc (phn cng) u c cch lu tr s nguyn 32 bit nh nhau. Trn mt s kin trc (gi l endian nh), b nh a ch thp nht cha byte th t thp ca s nguyn. Trn mt s kin trc khc (gi l endian ln), b nh a ch thp nht cha byte th t cao ca s nguyn. Cng c nhng h khc lu tr s nguyn trong nhng nhm gm cc t 16 bit, vi a ch thp nht lu tr t th t thp, nhng cc bytes t my ny sang my kia c th lm thay i gi tr ca s . Vic chun ho th t byte ca s nguyn l c bit quan trng trong mt internet v d liu internet chuyn ti cc s nguyn nh phn m t nhng thng tin nh a ch ch n v di ca gi d liu. Nhng i lng nh th phi c hiu ging nhau i vi c hai ni gi v ni nhn. Cc giao thc TCP/IP gii quyt vn th t byte bng vic nh ngha mt th t byte chun mng m mi my phi s dng cho cc vng s nh phn trong nhng gi d liu internet. Mi my tnh hoc b nh tuyn s chuyn i cc thnh phn nh phn t cch th hin a phng thnh th t byte chun mng trc khi gi gi d liu i, v chuyn i t th t chun mng thnh th t c th ring my tnh khi nhn gi d liu. Hin nhin, vng d liu cho ngi s dng trong gi d liu c min tr i vi chun ny v giao thc TCP/IP khng bit c d liu g ang c chuyn ti trong 86

ngi lp trnh ng dng c t do nh dng cch th hin v chuyn i d liu. Khi gi cc gi tr s nguyn, nhiu ngi lp trnh ng dng chn la l tun theo cc chun TCP/IP v th t byte. D nhin, i vi ngi s dng, ch n gin l gi cc chng trnh ng dng m khng cn bit chi tit v th t byte. Chun internet v th t byte m t rng cc s nguyn c gi vi byte th t cao trc (theo kiu endian ln). Nu ta xem xt cc byte trong mt gi d liu khi n di chuyn t mt my ny sang my khc, mt s nguyn nh phn trong gi d liu s c byte cui cng nm gn phn u ca gi d liu v byte u tin s nm gn phn cui ca gi d liu. c nhiu lp lun c a ra v cch biu din d liu no nn c s dng. C th, nhng ngi ng h vic thay i lp lun rng mc d hu ht cc my tnh l endian ln khi chun ny c xc lp, nhng hu ht nhng my tnh by gi li l endian nh. Tuy nhin, mi ngi ng rng vic c c mt chun l iu ct yu, cn dng chnh xc ca chun li t quan trng hn. 4.3.9. Qung b n mng con Vic qung b gp nhiu kh khn hn trong kin trc mng con. Chng ta nh li trong m hnh a ch IP ban u, mt a ch vi phn my tnh gm tt c cc bit 1 ch vic qung b n tt c cc my thng. Nh vy, mt a ch. {mng, 1, 1} c ngha l pht chuyn mt bn sao n tt c cc ny m c mng l a ch mng ca n, ngay c nu chng thuc v cc mng vt l ring bit V mt hot ng, vic qung b n mt a ch nh th ch hp l nu cc b nh tuyn ni cc mng con cng ng nhn bn qung b n tt c cc mng vt l. D nhin, phi rt cn thn trnh nh tuyn b lp. C th, mt b nh tuyn khng th no ch n gin nhn bn mt d liu (qung b) t mt b giao tip n tt c nhng b giao tip khc c cng tin t mng con. ngn chn cc vng lp ny, b nh tuyn s dng cch chuyn theo con ng ngc. B nh tuyn trch ra ngun ca datagram (c qung b), v tm kim ngun by trong bng nh tuyn ca n. Sau b nh tuyn hu b datagram tr khi n n b giao tip c dng chuyn n ngun (ngha l, n t con ng ngn nht). Bn trong cc mng c lp mng con. Th c th qung b n mt mng con c th (ngha l, qung b n tt c cc my trn mt mng vt l

87

m c gn mt a ch mng con). Chun a ch mng con s dng mt vng my tnh vi tt c cc bit 1 ch vic qung b mng con. Nh vy, mt a ch qung b mng con c dng. { mng, mng con, 1} Xem xt cc a ch qung b mng con ta hiu r hn li khuyn co nn s dng mt mt n mng con thng nht trn b cc mng c cng mt a ch IP mng con. Mt khi mng con v cc vng my tnh ging nhau, th cc a ch qung b l r rng khng b m h. Cc php gn a ch mng con phc tp hn c th cho php hoc khng cho php vic qung b n mt nhm mng con c chn ca nhng mng vt l c mng con. 4.3.10. a ch khng phn lp (siu mng) a ch mng con c pht minh u nhng nm 1980 gip bn v khng gian a ch Ip; v sau l k thut mng khng nh s. n nm 1993, ngi ta nhn thy rng ch nhng k thut ny thi th khng ngn chn vic cn kit khng gian a ch khi internet pht trin. Nhng ngi thit k lm vic li xc nh mt phin bn IP hon ton mi vi cc a ch ln hn. tuy nhin, p ng c vi s pht trin cho ti khi phin bn ca IP c chun ho v lu hnh, ngi ta a ra mt gii php tm thi. Gii php c gi l a ch khng phn lp (Classless addressing), a ch diu mng. hoc siu mng (supernetting). M hnh ny chn mt cch tip cn l phn b sung ca a ch mng con. Thay v s dng phn u Ip mng n cho nhiu mng vt l ca mt t chc, siu mng cho php cc a ch c gn cho mt t chc c th tri ra trn nhiu tin t c phn lp. hiu c ti sao ngi ta a ra m hnh a ch khng phn lp, chng ta cn bit ba s vic. Trc ht, m hnh phn lp khng phn chia cc a ch mng thnh nhng lp bng nhau. Mc d c t hn mi by ngn a ch cho lp B, nhng li c hn hai triu a ch cho lp C. th hai, mc yu cu cp pht a ch cho lp C chm hn; ch mt phn nh a ch thuc lp C c cp pht. Th ba, thng k cho thy rng vi mc cp pht a ch cho lp B, th tin t lp B s mau chng cn kit. Tnh hung ny c bit di tn cn kit khng gian a ch (Running Out of Address Space ROADS). hiu c siu mng lm vic nh th no, hy xt mt t chc c tm c (ca mng) trung bnh tham gia vo internet. Mt t chc nh th s

88

mun s dng mt a ch lp B v hay l do: mt a ch lp B khng dung np c nhiu hn 254 my tnh v mt a ch lp B c d s bit thit lp mng con d dng v tin li. gi gn a ch lp B, m hnh siu mng cp pht cho mt t chc mt nhm cc a ch lp C thay v ch mt a ch lp B. Nhm ny phi ln gn cho tt c cc mng m t chc ny s ni vo internet. V d, gi s mt t chc yu cu mt a ch lp B v d nh lp mng con lp bytes th ba lm vng mng con. Thay cho mt s duy nht thuc l B, siu mng cp pht cho t chc ny mt nhm 256 a ch lin tc nhau thuc lp C, t chc ny c th s dng sau gn cho cc mng vt l. Mc d siu mng l d hiu khi c xem nh mt cch tho mn cho mt t chc, nhng ngi thit k c nh s dng n trong mt bi cnh rng hn. H tin liu mt internet phn cp m trong nh cung cp dch v internet thng mi (Internet Service Provides ISPS) cung cp mi lin kt vi internet. ni cc mng ca n vo internet, mt t chc hp ng vi mt ISP; nh cung cp dch v s lo liu cc chi tit v vic gn cc a ch IP cho t chc ny cng nh vic thit lp cc lin kt vt l. Nhng ngi thit k siu mng ngh rng mt nh cung cp dch v internet c cp pht cho mt lng ln khng gian a ch (ngha l, mt tp hp cc a ch m tri ra trn nhiu mng lp C). Sau , ISP c th cp pht mt hoc nhiu a ch t tp hp ny cho nhng khch hng ca n. 4.3.11. nh hng ca siu mng i vi vic nh tuyn Vic cp pht nhiu a ch lp C thay cho mt a ch lp B gi gn c cc s thuc lp B v gii quyt c vn trc mt v vic cn kit khng gian a ch. Tuy nhin, n gy ra vn khc: thng tin m cc b nh tuyn lu tr v trao i tng ln ng k. v d, vic gn cho mt t chc 256 a ch lp C thay v ch mt a ch lp B, i hi n 256 con ng nh tuyn thay v mt. Mt k thut c tn l inh tuyn Vng Trong Khng Phn Lp (Classless Inter Domain Routing CIDR, tn ca n khng c chnh xc lm bi v m hnh ny xc nh a ch cng nh vic nh tuyn) gii quyt c vn ny. V tng, CIDR, tp hp mt nhm cc a ch lin tc nhau thuc lp C mt dng (trong bng) c th hin bi mt cp: {a ch mng, b m} vi a ch mng l a ch nh nht trong nhm ny, v b m xc nh s lng ca cc a ch mng trong nhm. V d, mt cp:

89

{192.5.48.0,3} c dng xc nh ba a ch mng 192.5.48.0, 192.5.49.0, 192.5.50.0. Nu mt vi nh cung cp dch v internet hnh thnh nn nhng nh cung cp chnh ca internet v mi ISP chim gi mt nhm ln cc s IP mng lin tc, th ta thy rt r li ch ca siu mng: cc bng nh tuyn s nh hn rt nhiu. Hy xt bng nh tuyn trong b nh tuyn thuc v nh cung cp dch v P. Bng ny phi c mt con ng nh tuyn chnh xc cho mi khch hng ca P, nhng bng ny khng cn lu tr con ng nh tuyn cho khch hng ca nhng nh cung cp dch v khc, vi mi dng xc nh nhm cc a ch thuc v nh cung cp dch v. 4.3.12. Nhng nhm a ch c dnh cho nhng mng ring IETF ch nh mt tp cc tin t c dnh ring s dng vi cc mng ring. Nh l mt s bo v, cc tin t dnh ring s khng bao gi c gn cho cc mng trong internet ton cu. Cc tin t dnh ring thng c bit di tn cc a ch ring hay cc a ch khng nh tuyn c (nonroutable address). S d c tn a ch khng nh tuyn c l bi v cc b nh tuyn trong internet ton cu hiu rng cc a ch ny c dnh ring; nu mt datagram (c a ch l thuc nhm nhng a ch ring) tnh c b chuyn ln internet ton cu, b nh tuyn trong internet s c th nhn bit n v khng chuyn tip n ln mng Internet ton cu. Cc nhm a ch dnh ring bao gm: 10.0.0.0 -> 10.255.255.255 172.16.0.0 ->172.31.255.255 192.168.0.0 - >192.168.255.255 169.254.0.0 - >169.254.255.255 Trong nhng a ch ny, a ch cui cng 169.254/16 l khng bnh thng bi v n c s dng bi cc h thng t cu hnh a ch IP. 4.3.13. C quan qun l a ch Internet Mi a ch tin t mng c s dng TCP/IP internet phi l duy nht. Mt t chc s dng k thut TCP/IP xy dng ring mt mng internet (ngha l, khng c ni vo mng internet ton cu) c th gn a ch bt k m khng lu n nhng tin t ca nhng t chc khc. Tuy

90

nhin, nu c ni vo mng ton cu, th n khng c s dng tin t c gn cho t chc khc. bo m rng phn mng ca mt a ch l duy nht trong ton b mng internet ton cu cn c m t chc lo vic kim sot v cp pht. Cui nm 1998, mt t chc mi c thnh lp iu hnh vic ny. c t tn l Internet Copration For Assigned Names and Numbers (ICANN), t chc ny thit lp chnh sch v gn gi tr cho cc tn v nhng tham s khc c s dng trong nhng giao thc cng nh cc a ch. Trong m hnh phn lp ban u, c quan iu hnh internet chn a ch thch hp vi kch thc ca mng. Mt s thuc lp C c gn cho mng c t my tnh (t hn 255); s thuc lp B c dnh ring cho nhng mng ln hn. V cui cng, nu mng c th c nhiu hn 65535 my th s c dnh ring cho mng lp A. Khng gian a ch b lch, mt cn i v hu ht l nhng mng nh, mt s nh l mng c trung, v rt t lm mng c ln. Hu ht cc t chc khng bao gi lin lc trc tip vi c quan qun l, ni mng ca h vo internet ton cu, mt t chc thng hp ng vi n v cung cp dch v internet (Internet Service Provider ISP) a phng. Cng vi vic cung cp mi lin kt gia mt t chc v phn cn li ca internet, mt ISP cng nhn c mt a ch tin t hp l cho mi mng ca khch hng. Thc ra, nhiu ISP a phng li l khch hng ca nhng ISP ln hn. Khi khch hng yu cu mt a ch tin t, ISP a phng ch n thun ly mt tin t t ISP ln hn. Nh vy, ch nhng ISP ln cn lin h trc tip vi ICANN. Lu rng c quan qun l trung tm ch cp php phn mng ca mt a ch; mt khi t chc c c tin t cho mng, t chc ny c th tu chn vic gn duy nht cho mi my trn mng ca n. Hn na, cn nh rng c quan qun l trung tm ch c nhim v cp pht a ch IP cho nhng mng no ni vo internet ton cu.

91

Cu hi v Bi tp 4.1. Mt cch chnh xc, th c bao nhiu mng thuc tng lp A,B v C c th tn ti? V mt cch chnh xc th c bao nhiu my thuc mi lp c th tn ti trong mt mng? 4.2. Nhc im ca cch nh a ch IP. 4.3. K thut subnet v cch tnh mng con tng lp mng c th 4.4. Cc a ch dnh ring cho mng cc b 4.5. Khi nim a ch qung b v a ch Loopback, a ch multicast

92

Chng 5

Giao thc ICMP (internet control message Protocol)


5.1. ICMP v thng ip kim sot bo li 5.1.1. Gii thiu v ICMP v thng ip kim sot Cc chng trc trnh by cch m phn mm IP cung cp a ch unreliable, chuyn d liu connectionless bng cch dn xp cho mi b nh tuyn chuyn d liu. Mi datagram s di chuyn t b nh tuyn ny n b nh tuyn khc cho ti khi n b nh tuyn m c th chuyn datagram trc tip n ch cui cng ca n. Nu mt b nh tuyn khng th gi i mt datagram, hay nu n pht hin mt du hiu khng bnh thng c nh hng n vic chuyn d liu (v d, nghn mch trn mng), b nh tuyn cn phi thng bo cho ni xut pht ca datagram, trnh li hoc khc phc li. Chng ny s trnh by mt c ch m cc my v b my nh tuyn internet s dng thng bo cho nhau nhng thng tin v li v vic kim sot. Chng ta s thy rng cc b nh tuyn s dng c ch ny thng bo cc vn v cc my (host) s dng chng kim tra xem d liu liu th n ch hay khng. Trong h thng kt ni connectionless m chng ta m t trc y, mi b nh tuyn hot ng mt cch t qun, chuyn tuyn hoc gi datagram i n ni m khng cn s phi hp vi ni gi ban u. H ny lm vic tt nu tt c cc my hot ng mt cch chnh xc v thng nht vi nhau v vic nh tuyn. Tic thay, khng mt h thng tin lin lc tm c ln no lun lun lm vic mt cch chnh xc. Bn cnh s hng hc ca nh tuyn v b x l, cn c trng hp IP khng pht chuyn datagram c khi my ch b tch ra khi mng (tm thi hoc vnh vin) v trng time to live ca datagram tr v zero, hay khi b nh tuyn trung gian b nghn mch (qu ti) nn khng th x l cc datagram n. S khc bit quan trng, gia vic c mt mng n c ci t vi phn cng nht nh v mt internet c ci t vi phn mm, chnh l ch i vi trng hp u, ngi thit k c th thm phn cng c bit thng bo cho cc my ni mng khi c li. Trong mt internet, khng c c ch phn cng ny ni gi khng th bit vic pht chuyn khng c l do cc my a phng hay cc my xa. Vic bt li tr thnh cng vic v

93

cng kh khn. Bn thn giao thc IP khng cha g gip ni gi kim tra mi lin kt hoc bit v cc li ny. cho php cc b nh tuyn trong mt internet thng bo li hoc cung cp thng tin v ngi tnh hung khng mong i, nhng nh thit k thm mt c ch thng bo c mc ch c bit cho cc giao thc TCP/IP. C ch ny, c bit di tn Internet Control Message Protocol (ICMP), c xem nh mt phn bt buc ca IP v phi c trong mi ci t IP. Ging nh cc giao dch khc, cc thng ip ICMP di chuyn qua internet trong phn d liu ca IP datagram. Tuy nhin, ch n cui cng ca mt thng ip ICMP khng phi l mt chng trnh ng dng hay ngi s dng trong my ch, m li l phn mm internet protocol trn my . Ngha l, khi mt thng bo li ICMP n, module phn mm ICMP s x l n. D nhin, nu ICMP xc nh rng c th mt giao thc cp cao hn hay mt chng trnh ng dng gy ra li ny, n s thng bo module tng ng. Internet Control Message Protocol cho php b nh tuyn gi thng bo li v thng bo iu khin n cc b nh tuyn khc hoc cc my khc; ICMP cung cp phng tin thng tin lin lc gia phn mm internet Protocol trn mt my v phn mm internet Protocol trn my khc. Ban u, ICMP c thit k cho php cc b nh tuyn thng bo n cc my tnh nguyn nhn ca cc li pht chuyn, ICMP khng b gii hn cho cc b nh tuyn. Mc d cc hng dn gii hn vic s dng ca mt vi thng ip ICMP, mt my bt k c th gi thng ip ICMP ti bt k my khc. Nh th, mt my tnh c th s dng ICMP trao i thng bo vi b nh tuyn hoc my khc. u im chnh ca vic cho php my tnh s dng ICMP l n cung cp ch mt c ch c dng cho tt c cc thng bo thng tin v iu khin. 5.1.2. Thng bo li v sa li V mt k thut, ICMP l mt c ch thng bo li. N cung cp cho b nh tuyn mt phng php khi gp li th s thng bo li cho ngun u tin. Mc d c t giao thc ch ra mc ch s dng ca ICMP v ngh cc thao tc cn thit p li cc thng bo li, ICMP khng xc nh mt cch y thao tc phi thc hin cho mi li. Tm li: Khi mt datagram gy ra mt li. ICMP ch c th thng bo iu kin li tr v ngun ban u ca datagram; ngun ny phi lin h li ny vi

94

chng trnh ng dng, hoc thc hin thao tc khc sa li, ICMP khng c kh nng sa li. Hu ht cc li c nguyn nhn t ngun ban u. Tuy nhin, bi v ICMP thng bo cc vn cho ngun ban u, n khng th thng bo cc vn ny cho b nh tuyn trung gian. V d, gi s mt datagram i theo con ng qua mt dy cc b nh tuyn, R1, R2, Rk. Nu Rk c thng tin nh tuyn khng chnh xc nn chuyn sai datagram n b nh tuyn Re, th Re khng th s dng ICMP thng bo li ngc tr v b nh tuyn Rk; ICMP ch c th gi bo co tr v ngun ban u. Tic thay, ngun ban u khng c trch nhim cho vn ny v cng khng c quyn i vi b nh tuyn ny (Re). thc t, ngun ban u ny khng c kh nng xc nh c b nh tuyn no gy ra li. Ti sao li gii hn ICMP ch lin lc vi ngun ban u? Da vo nhng tm hiu ca chng ta trong cc chng trc v nh dng datagram v vic nh tuyn, chng ta c c cu tr li. Mt datagram ch gm nhng vng xc nh ngun ban u v ch cui cng; n khng cha mt h s y v ng i ca n qua internet (ngoi tr hp c bit khi chn la record ruote c s dng). Hn na, bi v cc b nh tuyn c th thit lp v thay i bng nh tuyn ca chng, nn khng c nh tuyn ton b. Nu b nh tuyn nhn ra mt vn , n khng th bit cc my trung gian x l datagram, nn khng th thng bo chng v vn ny. Thay v hu b datagram mt cch im lng, b nh tuyn s dng ICMP thng bo ngun ban u rng vn xy ra, v tin tng rng cc qun tr vin my s hp tc vi qun tr vin mng xc nh v sa li. Nh vy ICMP ((Internet Control Message Protocol) l mt giao thc iu khin ca mc IP, c dng trao i cc thng tin iu khin dng s liu, thng bo li v cc thng tin trng thi khc ca b giao thc TCP/IP, mt s chc nng tiu biu ca n l: - iu khin lu lng d liu (Flow control): khi cc gi d liu n qu nhanh, thit b ch hoc thit b nh tuyn gia s gi mt thng ip ICMP tr li thit b gi, yu cu thit b gi tm thi ngng vic gi d liu. - Thng bo li: trong trng hp a ch ch khng ti c th h thng s gi mt thng bo li "Destination Unreachable". - nh hng li cc tuyn ng: mt thit b nh tuyn s gi mt thng ip ICMP "nh tuyn li" (Redirect Router) thng bo vi

95

mt trm l nn dng thit b nh tuyn khc ti thit b ch. Thng ip ny c th ch c dng khi trm ngun trn cng mt mng vi c hai thit b nh tuyn. - Kim tra cc trm xa: mt trm c th gi mt thng ip ICMP "Echo" kim tra xem mt trm c hot ng hay khng. 5.2. Nguyn l hot ng ca giao thc ICMP 5.2.1. Pht chuyn thng ip ICMP bng IP Datagram Cc thng ip cn c hai mc ng gi nh trong hnh 5.1. Mi thng ip ICMP di chuyn qua internet trong phn d liu ca mt IP datagram, m bn thn n li di chuyn qua mi mng vt l trong phn d liu ca mt frame. Nhng datagram chuyn ti thng ip ICMP c chuyn i y ht nh nhng datagram chuyn ti thng tin cho ngi s dng; khng h c thm tin cy hay quyn u tin. Nh th bn thn cc thng bo li cng c th b tht lc hoc b hu b. Hn na, trong mt mng vn b giao thng qu ti, thng bo li c th lm tnh hnh xu hn. C mt ngoi l i vi th tc x l li nu mt mt IP datagram chuyn ti mt thng ip ICMP gy nn li. Ngoi l ny, c thit lp trnh vn to ra thng bo li v thng bo li khc, xc nh rng thng ip ICMP khng c to ra cho nhng li gy ra t nhng datagram chuyn ti thng bo li ICMP.

Hnh 5.1: Thng ip ICMP c ng gi trong IP Datagram Chng ta cn lu mt iu quan trng rng mc d cc thng ip ICMP c gi v gi i bng IP datagram, ICMP khng c xem l mt giao thc cp cao hn, n l mt phn bt buc ca IP. L do s dng IP 96

pht chuyn thng ip ICMP l v chng c th phi di chuyn qua mt s mng vt l n ch cui cng ca n. V th, chng khng th c pht chuyn ch bng phng tin vt l. 5.2.2. Khun dng thng thng ip ICMP

Hnh 5.2: Khung dng thng ip ICMP Mc d mi thng ip ICMP c dng ring ca n, chng u bt u vi ba vng; - Mt vng s nguyn 8 bit TYPE xc nh kiu thng ip ICMP. - Mt vng 8 bit CODE cung cp thm thng tin v kiu thng ip. - Mt vng CHECKSUM 16 bit (ICMP s dng cng thut gii checksum nh IP, nhng ICMP checksum ch tnh n thng ip ICMP). Hn na, cc thng ip ICMP thng bo li lun lun bao gm phn u v 64 bt d liu u tin ca datagram gy nn li. L do c thm phn u ny cng vi phn u datagram l cho php ni nhn xc nh chnh xc hn nhng giao thc no v chng trnh ng dng no c trch nhim i vi datagram. Chng ta s thy cc chng sau ny v vic cc giao thc cp cao hn trong b TCP/IP c thit k sao cho cc thng tin ct yu c m ho trong 64 bit u tin. Vng TYPE ca ICMP xc nh ngha ca thng ip cng nh nh dng ca n. Cc kiu bao gm:

97

Cc phn tip theo s m t tng loi thng ip ny, trnh by chi tit v dng thng ip v ngha ca chng 5.2.3. Cc thng ip ICMP quan trng 5.2.3.1. Thng ip ICMP kim tra kh nng n ch v cc trng thi ca ch (Ping ICMP) Giao thc TCP/IP cung cp cc phng tin gip ngi qun l mng hay ngi s dng xc nh cc vn ca mng. Mt trong nhng cng c tm li thng c s dng nht lin quan n cc thng ip echo request v echo reply ca ICMP. Mt my tnh hoc b nh tuyn gi mt thng ip ICMP echo request ti mt ch c th. My no nhn c mt echo request s to ra mtecho reply v tr n v ni gi ban u. Li yu cu (echo request) c bao gm mt vng d liu, tuy chn; li p (echo reply) bao gm mt phin bn ca d liu c gi trong li yu cu. Echo request v echo reply tng ng c th c dng kim tra xem mt my ch l c th n c hay khng v c p li khng. V c hai, li yu cu v li p, u di chuyn trong cc IP datagram, vic nhn c y li p chng minh rng nhng phn chnh ca h thng tin lm vic tt. Trc ht, phn mm IP trn my ngun phi chuyn datagram i. Th hai cc b nh tuyn trung gian gia ngun v ch phi ang hot ng

98

v phi nh tuyn datagram mt cch chnh xc. th ba, my ch phi ang chy, v c hai phn mm IP v ICMP phi ang lm vic. Cui cng, tt c cc b nh tuyn dc theo con ng tr v phi c thng tin nh tuyn chnh xc. Trn nhiu h thng, lnh thc hin vic gi thng ip ICMP. echo request c tn l ping (Dave Mills tng ngh rng PING l ch vit tt ca Packet Internet Groper). Cc phin bn phc tp ca ping gi mt lot cc echo request ghi nhn cc echo reply, v cho ta thng k v cc datagram b mt, thm ch c thi gian p ng. Chng ta cho php ngi s dng xc nh di ca d liu c gi v khong thi gian gia cc ln gi. Cc phin bn n gin hn ch n thun gi i mt echo request v i echo reply.

Hnh 5.3: Hot ng ca lnh PING Khun dng ca thng ip ICMP Echo Request v Echo Reply bao gm cc phn Header chun ban u v cng thm vng c tn OPTIONAL DATA l mt vng c di thay i cha d liu s c tr v cho ni gi. Mt echo reply lun lun tr v mt cch chnh xc cng mt d liu nh n nhn c t echo requerst. Cc vng IDENTIFIER v SEQUENCE NUMBER c ni gi s dng so snh gia li yu cu v li p. Gi tr ca vng gi TYPE xc nh thng ip l mt yu cu (8) hay li p (0).

99

5.2.3.2. Thng ip ICMP bo li cc ch khng n c Khi mt b nh tuyn khng th truyn hay pht chuyn mt IP datagram, n gi mt thng bo ch khng th n ngc tr v ngun ban u, thng qua nh dng ca phn Data Option nh hnh sau:

Vng CODE trong mt thng ip ch khng th n cha mt s nguyn m t thm v vn . Cc gi tr l:

Mc d IP l c ch pht chuyn n lc ti da (best effort), khng c xem nh vic hu b datagram. Bt c khi no mt li ngn cn b nh tuyn lm vic nh tuyn hoc pht chuyn datagram, b nh tuyn s gi mt thng ip ch c th n ngc tr v ngun v sau hu b

100

datagram. Cc li my khng th n thng l v vic pht nh tuyn b hng (mt ngoi l i vi b nh tuyn s dng m hnh a ch mng con. chng thng bo li nh tuyn mng con b hng vi mt thng ip ICMP my khng th n ). Bi v cc thng bo li ICMP cha ng mt tin t ngn ca datagram gy nn vn , my ngun s bit chnh xc a ch no l khng th n. Cc ch c th l khng n c bi v phn cng khng hot ng (v d tm ngng bo tr), bi v my gi xc nh mt a ch ch khng tn ti, hay bi v b nh tuyn khng c thng tin v ng i n mng ch (trng hp ny him khi xy ra). Lu rng, mc d b nh tuyn bo co hng hc chng gp phi, chng c th khng bit v tt c cc vn pht chuyn (b hng). V d, nu my ch ni vo mt mng Ethernet, phn cng mng khng cung cp li p. V th, b nh tuyn c th tip tc gi d liu n mt ch sau khi ch tt m khng nhn c bt k du hiu g. Tm li: Mc d mt b nh tuyn gi mt thng bo li: ch khng th n khi n gp mt datagram m khng th truyn hoc pht chuyn, b nh tuyn khng th nhn bit tt c cc li . ngha ca giao thc v cc thng bo ch khng th n s c thy r hn khi chng ta tm hiu cch m giao thc cp cao hn s dng cc im ch tru tng gi l cng (port). Hu ht cc thng ip cn li t ni ln ngha ca n. Nu datagram bao gm chn la rource route vi mt thng tin nh tuyn khng chnh xc, n c th to nn mt thng ip route b li. Nu b nh tuyn cn phn on mt datagram nhng bit ng phn on c lp, b nh tuyn s gi mt thng bo li cn phn on tr v ngun. 5.2.3.3. Thng ip ICMP lm ngui ngun pht (Source Quench) khi c s c nghn mng Bi v IP l connectionless, mt b nh tuyn khng th dnh ring sn b nh hay ti nguyn thng tin lin lc cho vic nhn cc datagram. Kt qu l, b nh tuyn c th b qu ti, mt trng thi gi l nghn mch. Cn phi hiu mt iu quan trng rng vic nghn mch c th xut hin bi hai l do hon ton khc nhau. Trc ht, cc my tnh tc cao c th to ra cc giao dch nhanh hn tc mt mng chuyn d liu i. V d, th hnh dung mt siu my tnh gi d liu ln internet. Cc datagram c th phi i

101

qua mt mng din rng (WAN) tc thp mc d siu my tnh c ni vi mt mng cc b (LAN) tc cao. Vic nghn mch s xy ra ti b nh tuyn ni WAN vi LAN bi v cc datagram n nhanh hn lc chuyn chng i. Th hai, nu nhiu my tnh ng thi cn gi datagram qua mt b nh tuyn, s nghn mch c th xy ra. Khi datagram n qu nhanh m my tnh hoc b nh tuyn khng x l kp, chng s c sp vo hng i (b nh tm thi). Nu cc datagram ny l mt phn mt on d liu nh, vng m ny c th gii quyt c vn . Nhng nu d liu vn c gi lin tc, s lm cn kit vn nh m, my tnh hoc b nh tuyn s phi hu b nhng datagram n sau. Mt my s dng thng ip ICMP source quench thng bo s nghn mch cho ngun ban u. Mt thng ip source quench l mt yu cu i vi ngun ban u gim bt cng truyn datagram. Thng thng, khi b nghn mch, b nh tuyn s gi mt thng ip source quench cho mi datagram b chng hu. B nh tuyn cng c th s dng cc k thut kim sot nghn mch phc tp hn. Mt s k thut kim sot d liu n v lm ngui nhng ngun no c cng truyn datagram cao nht. Cng c nhng k thut khc c gng trnh tnh trng nghn mch bng cch gi cc yu cu lm ngui: khi hng i ca n bt u di ra, trc khi n tht s y. Khng c thng ip ICMP o ngc tc dng ca mt source quench. Thay v vy, khi mt my nhn c thng ip source quench cho my ch D, n s gim dn cng gi datagram n my D cho ti khi n ht nhn c thng ip source quench, sau n s li tng dn cng gi min sao khng cn nhn c cc yu cu source quench. Ngoi cc vng thng thng nh TYPE, CODE, CHECKSUM, v mt vng 32 bit khng s dng, cc thng ip source quench cn c mt vng cha tin t cu datagram. nh dng phn Data Option ca thng ip ICMP source quench c trnh by trong hnh sau

102

5.2.3.4. Thng ip ICMP yu cu thay i vic nh tuyn t b nh tuyn Cc bng nh tuyn internet thng n nh trong mt thi gian di. Cc my tnh khi ng chng t mt tp tin cu hnh khi khi ng h thng, v ngi qun tr h thng him khi thc hin cc thay i v vic nh tuyn trong sut qu trnh hot ng. Nu cu hnh mng thay i, cc bng dnh tuyn trong my tnh v b nh tuyn v b nh tuyn c th khng cn chnh xc. Mt thay i c th l tm thi (v d khi sa cha phn cng) hoc vnh vin (v d khi c mt mng mi thm vo internet). Chng ta s thy trong cc chng sau, cc b nh tuyn trao i thng tin nh tuyn theo nh k cp nht nhng thay i trn mng v gi cho thng tin nh tuyn ca chng c cp nht. Nh th, nguyn tc tng qut l: Cc b nh tuyn c ga nh l bit chnh xc cc knh; cc my tnh bt u vi thng tin nh tuyn ti thiu v bit cc knh mi t cc b nh tuyn. tun theo ng quy tt ny v trnh s trng lp thng tin nh tuyn trong cc tp tin cu hnh trn mi my, cu hnh nh tuyn ban u ca my tnh xc nh thng tin sr ti thiu c th dng lin lc (v d a ch ca mt b nh tuyn). V th, cc my tnh bt u vi thng tin ti thiu v a vo cc b nh tuyn cp nht bng nh tuyn ca n. Trong mt trng hp c bit, khi b nh tuyn nhn thy mt my tnh ang s dng con ng khng ti u, n gi cho my tnh thay i i n ch cui cng ca n. u im ca m hnh i hng ICMP l tnh n gin ca n: n cho php my tnh khi khi ng ch cn bit a ch ca mt b nh tuyn trn mng cc b. B nh tuyn s gi v cc thng ip i hng ICMP bt c khi no my tnh gi mt datagram i theo mt con ng nhng li tn ti mt con ng tt hn. bng nh tuyn ca my tnh c gi c kch thc nh nhng vn cha ng cc con ng ti u cho tt c cc ch ang s dng. Tuy nhin, cc thng ip i hng khng gii quyt vn nhn bn cc knh bi v chng b gii hn trong cc tng tc gia b nh tuyn v my tnh trn mt mng m chng c ni trc tip vo; nh c minh ho trong hnh 5.4 Trong hnh ny, gi s ngun S gi mt datagram ti ch D. Gi s rng b nh tuyn R1 chuyn datagram theo knh i quab nh tuyn R2 thay v qua b nh tuyn R4 (ngha l, R1 chn sai mt ng 103

di hn). Khi b nh tuyn R5 nhn datagram, n khng th gi mt thng ip ICMP i hng ti R1 c bi v n khng bit a ch ca R1. Trong cc chng sau chng ta s tm hiu bi ton; lm th no nhn bn thng tin nh tuyn qua nhiu mng.
R2 S R1 R4

R3 R5 D

Hnh 5.4: nh tuyn bng tuyn ng tt hn Cng vi cc vng bt buc TYPE, CODE, v CHECKSUM. Mi thng ip i hng cn c mt vng 32 bit ROUTER INTERNET ADDRESS v mt vng INTERNET HEADER, phn Data Option ca n nh trong hnh sau.

Vng ROUTER IP ADDRESS cha a ch ca mt b nh tuyn m thy my tnh s dng n c my ch c ghi trong phn u datagram. Vng IP header cha phn u IP v 64 bit u tin ca datagram m to ra thng ip. Nh th, khi nhn mt thng ip ICMP i hng, my tnh s kim tra tin t ca datagram xc a ch ch ca datagram. Vng CODE ca mt thng ip ICMP i hng s xc nh thm cch din dch a ch ch, da vo cc gi tr c gn nh sau: Code 0 1 2 3 Description Redirect cho mng Redirect cho host Redirect cho loi dch v (TOS) v mng Redirect cho loi dch v v host

Mt quy tt tng qut l, b nh tuyn ch gi yu cu ICMP i hng n mytnh ch khng gi n b nh tuyn. Chng ta s thy trong 104

cc chng sau rng b nh tuyn s dng cc giao thc khc trao i thng tin nh tuyn. 5.2.3.5. Thng ip ICMP nhn bit vng kn hoc nh tuyn qu di Bi v b nh tuyn internet tnh trm tip thng qua cc bng cc b, cc li trong bng nh tuyn c th to nn mt vng kn nh tuyn cho mt ch D no . Mt vng kn nh tuyn c th bao gm hai b nh tuyn, mi ci chuyn datagram cho ch D n ci kia, hoc c th bao gm nhiu b nh tuyn. Khi cc b nh tuyn hnh thnh nn vng kn, mi ci chuyn datagram cho ch D n b nh tuyn k tip trong vn kn. Nu mt datagram ri vo mt vng kn nh tuyn, n s di chuyn quanh vng mi mi. Tuy nhin, chng ta bit trc y, ngn chn tnh hung khi cc datagram di chuyn mi trn TCP/IP internet, trong mi IP datagram c mt b m thi gian sng, i khi cn gi l m s trm. Mi b nh tuyn s gim bt mt gi tr ca thi gian sng bt c khi no n x l datagram v hu b datagram i khi gi tr ny zero. Bt c khi no b nh tuyn hu b mt datagram v b m thi gian sng ca n v zero hoc bi v ht thi gian i cc fragment c mt datagram, n s gi mt thng ip ICMP qu thi hn (time exceeded) ngc tr v ngun ca datagram, s dng nh danh nh phn Data Option trong hnh sau:

ICMP s dng vng CODE trong mi thng ip qu thi hn (c gi tr 0 hoc 1) gii thch l do hu b datagram. Gi tr CODE 0 1 ngha B m thi gian sng bng zero Qu thi hn i kt hp cc fragment

Kt hp fragment ch cng vic tp hp tt c cc fragment ca mt datagram. Khi fragment u tin ca mt datagram n my tnh s khi ng mt b m thi gian v xem nh l c li nu qu thi hn m cha 105

nhn mi fragment ca mt datagram. Gi tr 1 ca CODE c dng bo co li ny cho ngun gi. 5.2.3.6. Thng ip ICMP bo li c vn tham s ca Datagram Khi b nh tuyn hoc nhn thy c vn vi datagram, nhng khc vi nhng loi li trnh by (v d, phn u datagram khng chnh xc), n gi mt thng bo vn tham s v ngun ban u. Mt nguyn nhn c th c cho nhng vn , xy ra khi cc tham s ca mt chn la khng chnh xc. Thng bo ny, phn Data Option c nh dng nh trong hnh sau, ch c gi khi vn qu nghim trng n ni phi hu b datagram.

cho thng ip khng b m h kh hiu, ni gi s dng vng POINTER trong phn u thng ip xc nh byte trong datagram gy ra li. Gi tr tr m 1 c dng cho bit rng cn thiu mt chn la. 5.2.3.7. Thng ip ICMP ng b ng h v c lng thi gian truyn Mc d my trn mt internet c th thng tin lin lc, chng thng hot ng mt cch c lp, v mi my duy tr nim v thi gian hin hnh ca ring n. Nu cc ng h qu khc nhau c th lm bi ri ngi s dng nhng h phn mm c phn b. B giao thc TCP/IP bao gm mt s giao thc c s dng ng b cc ng h. Mt trong nhng k thut n gin nht s dng mt thng ip ICMP ly thi gian t mt my khc. Mt my c yu cu, s gi mt thng ip ICMP yu cu ghi nhn thi gian (timestamp) n mt my khc, yu cu my th hai ny. p li, my th hai ny s gi mt thng ip ICMP li p ghi nhn thi gian cho my th nht. Hnh sau trnh by nh dng phn Data Option ca cc thng ip yu cu v li p ghi nhn thi gian.

106

Vng TYPE xc nh thng ip l yu cu (13) hay li p (14); cc vng IDENTIFIER v SEQUENCE NUMBER c dng bi my ngun phi hp li p vi yu cu. Cc vng cn li xc nh thi gian, dng millisecond k t na m, gi quc t GMT. Vng ORIGINATE TIESTAMP c in vo bi my gi ban u, ngy trc khi d liu c truyn i; vng RECEIVE TIMESTAMP c in vo tc khc ngay khi nhn c yu cu, v vng TRANSMIT TIMESTAMP c in vo tc khc trc khi li p c chuyn i. Cc my tnh s dng ba vng du thi gian tnh c lng thi gian tr hon gia chng v ng b cc ng h ca chng. Bi v trong li p cng bao gm vng ORIGINATE TIMESTAMP, mt my c th tnh tng thi gian cn cho mt yu cu di chuyn n mt ch, c chuyn dng thnh li p, v tr v. Bi v li p mang theo c thi im m li yu cu n c my th hai, cng nh thi im m p c chuyn i, my tnh c th tnh thi gian truyn trn mng, v t c lng s khc bit gia hai ng h. Trong thc t, c lng chnh xc thi gian tr hon hai chiu c th l cng vic kh khn. D nhin, c c mt c lng chnh xc thi gian tr hon hai chiu, phi tnh nhiu th v ly trung bnh. Tuy nhin, thi gian tr hon hai chiu gia mt cp my tnh ni vo mt internet ln c th thay i rt ln, ngay c trong mt khong thi gian ngn. Hn na chng ta nh rng bi v IP l k thut n lc ti a, cc datagram c th b mt, b hon, hoc pht chuyn khng theo th t. 5.2.3.8. Thng ip ICMP tm mt n mng con Trong chng trc chng ta s tm hiu ng lc cho a ch mng con cng nh cc chi tit v cch hot ng ca cc mng con. Tm thi lc ny, iu quan trng ch l hiu c khi no th ny tnh s dng a ch mng con, mt s bit trong phn hostid ca a ch IP ca chng xc nh

107

mt mng vt l. tham gia vo a ch mng con, mt my tnh cn phi bit nhng bit no ca a ch mng internet 32 bit tng ng vi mng vt l v nhng bit no tng ng vi nh danh my. Thng tin cn din dch a ch c th hin trong mt i lng 32 bit, c gi l mt n mng con (subnet mask). bit subnet mask c s dng cho mng cc b, mt my c th gi mt thng ip yu cu a ch mt n n mt b nh tuyn v nhn mt li p a ch mt n. My tnh thc hin yu cu c th gi thng ip mt cch trc tip, nu ni bit a ch ca b nh tuyn, hoc qung b thng ip nu khng bit. Hnh sau trnh by nh dng phn Data Option ca thng ip tm a ch mt n.

Vng TYPE trong mt thng ip a ch mt n xc nh thng ip l yu cu (17) hay li p (18). Mt li p cha ng a ch mt n mng con ca mng trong vng ADDRESS MASK. Kt qu l, cc vng INDENTIFIER V SEQUENCE NUMBER cho php mt my phi hp li p vi yu cu. 5.2.3.9. Thng ip ICMP tm ra b nh tuyn Sau khi my tnh khi ng, n phi bit a ch ca t nht mt b nh tuyn trn mng cc b trc khi c th gi datagram ti cc ch trn mng khc. ICMP cung cp mt m hnh tm ra b nh tuyn m cho php mt my tm ra mt a ch b nh tuyn Tm ra b nh tuyn ICMP khng pha l c ch duy nht m my tnh c th s dng tm mt a ch b nh tuyn. Cc giao thc BOOTP v DHCP mi giao thc ny cung cp mt cch mt my ly c a ch ca b nh tuyn mc cng vi cc thng tin bootstrap khc. Tuy nhin, BOOT v DHCP c mt nhc im nghim trng: thng tin m chng tr v n t mt c s d liu m ngi qun tr mng thit lp mt cch th cng. V th, thng tin khng th thay i nhanh chng.

108

D nhin, vic cu hnh b nh tuyn lm vic tt trong mt s tnh hung. V d, xt mt mng m ch c mt b nh tuyn ni n vo internet. S khng cn thit cc my tnh trong mng i tm b nh tuyn hoc thay i con ng mt cch t ng. Tuy nhin, nu mt mng c nhiu b nh tuyn ni n vo internet, mt my tnh ly thng tin nh tuyn mc nh (v d t b nh tuyn mc nh) khi khi ng, c th s b mt lin lc nu b nh tuyn b hng. Quan trng hn na, my tnh khng th nhn ra vic hng hc ny. M hnh ICMP tm ra b nh tuyn gip theo hai cch. Thay v cung cp a ch b nh tuyn c cu hnh thng qua giao thc bootstrap, m hnhny cho php my tnh ly thng tin trc tip t chnh b nh tuyn. Th hai, c ch ny s dng k thut trng thi mm vi b m thi gian trnh tnh trng my tnh gi li mt con ng sau khi b nh tuyn b hng b nh tuyn qung b thng tin ca n mt cch nh k, v my tnh hu b mt con ng nu b m thi gian cho ng ht hn. Hnh sau trnh by nh dng phn Data Option ca thng ip qung b m b nh tuyn gi i.

Bn cnh cc vng TYPE, COE, v CHECKSUM, thng ip cn bao gm mt vng c tn NUMBER xc nh s lng cc a ch s dng (thng l 1), mt vng ENTRY LENGTH xc nh kch thc ca mt vng TTL xc nh thi gian tnh bng giy m mt my tnh c th s dng cc a ch c qung b. gi tr mc nh ca TTL l 30 pht, v gi tr mc nh cho mi nh k truyn li l 10 pht, c ngha l my tnh s khng hu b mt con ng nu my tnh mt mt thng ip qung b n.

109

Phn cn li ca thng ip bao gm cc cp thng tin , vi mi cp cho mt con ng, bao gm ROUTER ADDRESS v mt s nguyn PRECEDENCE LEVEL. Gi tr u tin l mt s nguyn phn b ca 2; my tnh chn con ng c u tin cao nht. Nu b nh tuyn v mng h tr vic truyn cng mt lc i nhiu hng (multicasting, b nh tuyn s cng mt lc truyn i nhiu hng cc thng ip ICMP qun b b nh tuyn n tt c cc h thng a ch truyn nhiu hng (ngha l 224.0.0.1). nu khng, b nh tuyn gi cc thng ip n a ch qung b gii hn (ngha l tt c a ch 1). D nhin, my tnh khng bao gi c gi mt thng ip qung b b nh tuyn. 5.2.3.10. Thng ip ICMP khn khon b nh tuyn Mc d nhng ngi thit k cung cp mt khong cc gi tr c s dng lm thi gian ch gia hai ln qung bn k tip, h chn gi tr mc nh l 10 pht. Gi tr c chn nh mt s tho hip gia vic nhn bit li nhanh v tng chi ph thp.mt gi tr nh hn s cho php nhn bit nhanh hn v vic b nh tuyn hng,nhng l gia tng lng giao thng trn mng; mt gi tr ln hn s gim bt giao thng, nhng lm chm vic nhn bit hn hc. Mt trong nhng vn nhng ngi thit k xem xt l lm cch no ho hp mt s lng nhiu b nh tuyn trn cng mt mng. T quan im ca mt my tnh. Thi gian ch mc nh c nhc im ln: mt my tnh khng th ch nhiu pht cho mt qung b khi n khi ng ln u. trnh cc tr hon ny,nhng nh thit k thm mt ICMP thng ip khn khon b nh tuyn, cho php my tnh yu cu mt qung b tc th. Hnh sau trnh by nh dng phn Data Option ca thng ip ny

Nu mt my tnh h tr vic truyn cng mt lc i nhiu hng, my tnh ny s gi li khn khon ti tt c cac a ch multicast(ngha l 224.0.0.2), nu khng th my tnh gi li khn khon ti a ch qung b gii hn (ngha l tt c a ch 1). Khi nhn c mt thng ip khn khon b nh tuyn s gi mt qung b b nh tuyn. Nh hnh v khun dng ch ra li khn khon khng cn chuyn ti nhiu thng tin hn l TYPE,CODE,v CHECKSUM.

110

Cu hi v Bi tp 5.1. Hy th bng thc nghim xem c th gi cc packet i qua b nh tuyn nhanh kch hot ng mt thng ip lm ngui ngun ICMP. 5.2. Nguyn l hot ng ca ICMP. 5.3. Khun dng ca cc ICMP quan trng? 5.4. Gi s rng tt c cc b nh tuyn u gi i thng ip ICMP tim exceeded, v phn mm TCP/IP cc b ca ta s tr v cc thng ip cho chng trnh ng dng. Hy th s dng kh nng ny xy dng mt lnh traceroute thng bo danh sch cc b nh tuyn gia ngun v mt nh c th. 5.5. Hy th ping ti my 203.162.0.11. (mt my ch rt quan trng ti VN). 5.6. Trnh by nguyn l v c php hot ng ca cc lnh PING, TRACERT (TraceRoute), hylit k ng i t my tnh ca bn ti my ch 203.162.131.1

111

Chng 6

giao thc udp (User Datagram Protocol)


6.1. Gii thiu giao thc UDP 6.1.1. Gii thiu Cc chng trc m t kh nng ca internet trong vic gi datagram gia cc my tnh, trong mi datagram c gi qua internet da vo a ch IP ca ch n. Ti lp internet Protocol, mt a ch ch xc nh mt my tnh; khng cm mt phn bit no na cho d ngi s dng no hoc chng trnh ng dng no s nhn datagram ny. Chng ny s m rng b Giao thc TCP/IP bng vic thm vo mt c ch phn bit cc ch n trong mt my tnh (host), cho php nhiu chng trnh ng dng trn mt my c th cng mt lc gi v nhn datagram mt cch c lp. Giao thc UDP (User Datagram Protocol) l giao thc tng giao vn, khng kt ni (connectionless). Do UDP l giao thc giao vn khng tin cy: UDP khng c c ch kim tra s tun t pht, s tun t thu v kim tra li. u im ca UDP l thc hin n gin. Mt phn dch v th in t v dch v tn min s dng giao thc UDP trong vic trao i d liu ca mnh. Mc d khng tin cy nhng theo thng k vn hnh khai thc mng, 99% cc gi d liu UDP vn c chuyn ng. 6.1.2. C ch xc nh ch n cui cng trong chuyn pht Cc h iu hnh trong hu ht cc my tnh u h tr vic lp trnh song song, ngha l chng cho php nhiu chng trnh ng dng c thc hin cng mt lc. S dng thut ng h iu hnh; chng ta mun m ch mt phin bn ang chy ca mt chng trnh l mt tin trnh (process), cng vic (task), chng trnh ng dng (application program), hay mt x l mc ngi s dng (user level process); cc h thng ny c gi l h thng a nhim (multitasking). V th c v rt t nhin khi ni rng mt tin trnh l ch cui cng ca mt thng ip. Tuy nhin, vic xc nh rng mt tin trnh c th trn mt my c th l ch cui cng cho mt datagram th li hi sai lch v: - Trc ht, bi v cc tin trnh c to ra v hu i mt cch t ng, my gi him khi bit thng tin xc nh mt tin trnh trn my khc.

112

- Th hai, chng ta mong mun c th thay i tin trnh nhn datagram m khng phi thng bo tt c cc my gi (v d, khi ng li mt my c th thay i tt c cc tin trnh, nhng cc my gi khng c yu cu bit v cc tin trnh mi). - Th ba, chng ta cn xc nh cc ch n t cc chc nng chng ci t m khng bit chng trnh m ci t chc nng ny (v d, cho php my gi lin lc vi my ch m khng bit tin trnh no trn my ch ci t chc nng my ch). Quan trng hn na, trong nhng h cho php mt tin trnh x l hai hay nhiu chc nng, mt iu ct t l chng ta phi b tr mt cch cho mt tin trnh quyt nh mt cch chnh xc chc nng no my gi cn c. Thay v suy ngh v mt tin trnh nh l ch cui cng, chng ta s hnh dung rng mi my bao gm mt tp hp cc im ch tru tng gi l cng giao thc. Mi cng giao thc c xc nh bng mt s nguyn dng. H iu hnh a phng cung cp mt c ch giao tip m cc tin trnh dng xc nh mt cng hay truy xut chng. Hu ht cc h iu hnh u cung cp s truy xut ng b n cc cng. T quan im ca mt tin trnh c th, s truy xut ng b c ngha l s tnh ton s dng li trong qu trnh mt cng truy xut cc hot ng. Ly v d, nu mt tin trnh mun trch d liu ra t mt cng trc khi mt d liu bt k no n, h iu hnh s tm thi ngng (kho li) tin trnh cho n khi d liu n. Mt khi d liu n ri, h iu hnh s chuyn d liu n tin trnh v khi ng n tr li. Mt cch tng qut, cng l vng m, sao cho nu d liu n trc khi mt tin trnh sn sng nhn n, d liu s khng b mt. thc hin vng m, phn mm giao thc bn trong h iu hnh s t cc gi d liu gi n cho mt giao thc c th vo mt hng i (hu hn) cho n khi tin trnh trch n ra. lin lc vi cng bn ngoi, my gi cn phi bit c hai a ch IP ca my ch v gi tr cng giao thc ca ch n trong my . Mi thng ip phi mang theo gi tr ca cng ch trn my m thng ip c gi n, cng nh l gi tr ca cng ngun trn my ngun, ni m li p s c gi n. iu ny cho php tin trnh bt k khi nhn thng ip c th p li cho ni gi. 6.1.3. Chc nng ca giao thc User Datagram Protocol

113

Trong b giao thc TCP/IP User Datagram Protocol hay UDP cung cp c ch chnh yu m cc chng trnh ng dng s dng gi datagram n cc chng trnh ng dng khc. UDP cung cp cc cng giao thc c dng phn bit cc chng trnh ang thc hin trn mt my n. Ngha l, cng vi d liu gi i, mi thng ip UDP cn bao gm mt gi tr cng ch v gi tr cng ngun, gip cho phn mm UDP ti ch c th pht chuyn thng ip ti ng ni nhn v cho php ni nhn gi li li p. UDP da trn c s Internet Protocol chuyn cho thng ip t mt my n mt my khc, nn cng cung cp dch v pht chuyn datagram khng nh hng, khng c tin cy nh IP. N khng s dng c ch acknowledgement bo m rng thng ip i n ch, n khng sp th t cc thng ip gi n, v n khng cung cp thng tin phn hi kim sot mc truyn thng tin gia cc my. Nh th, cc thng ip UDP c th b mt, b trng lp. Hoc n ch khng theo ng th t. Hn th na, cc gi d liu c th n nhanh hn kh nng x l ca my nhn. Chng ta c th tm tt nh sau: User Datagram Protocol (UDP) cng cung cp dch v pht chuyn datagram khng nh hng, khng c tin cy, s dng IP chuyn thng ip gia cc my. N s dng IP chuyn ti thng ip, nhng thm vo kh nng phn bit nhiu ch n bn trong mt my tnh. Mt chng trnh ng dng m s dng UDP chp nhn hon ton trch nhim cho vic x l cc vn v tin cy, bao gm vic cc thng ip b mt, b trng lp, b tr hon, n ch khng theo ng th t, v b mt lin lc. Tic thay, ngi lp trnh ng dng thng b qua cc vn ny khi thit k phn mm. Hn na, bi v ngi lp trnh thng kim tra phn mm mng qua vic s dng cc mng cc b c tin cy cao, tr hon t, v cc d liu kim tra c th khng khai thc cc li tim n. V th, nhiu chng trnh ng dng m da vo UDP hot ng tt trong mi trng cc b nhng li c nhiu hng hc khi c khai thc trong mi trng TCP/IP internet ln hn. 6.2. Nguyn l hot ng 6.2.1. nh dng thng ip UDP Mi thng ip UDP c gi l user datagram. V mt khi nim, mt user datagram bao gm hai phn: mt phn u UDP v mt vng d liu UDP. Nh trnh by trong hnh 6.1, phn u c chia thnh bn vng 16

114

bit xc nh cng m thng ip c gi i t , cng m thng ip c d kin gi n, di thng ip, v UDP checksum.

Hnh 6.1: Cu trc thng ip UDP Cc vng source port v destination port cha cc gi tr 16 bit cho cng giao thc UDP c dng demultiplex cc datagram trong cc tin trnh ang i nhn chng. source port l vng tu chn. Khi c dng, n xc nh cng m li p s c gi n; nu khng c dng, n s c gi tr zero. Vng length cha di ca UDP datagram tnh theo Byte, bao gm c phn u UDP v d liu ca ngi s dng. Nh th gi tr ti thiu ca length l 8, chnh l di ca phn u UDP. UDP checksum l vng tu chn v chng cn dng n; mt gi tr zero trong vng checksum c ngha l checksum cha c tnh. L do ngi thit k vng checksum l tu chn cho php vic ci t c thc hin vi t bc tnh ton khi phi s dng UDP trn mt mng cc b c tin cy cao. Tuy nhin, chng ta nh li rng IP khng c tnh checksum cho phn d liu ca mt IP datagram. Nh th, UDP checksum cung cp cch duy nht bo m rng d liu nhn c nguyn vn v nn c s dng. C iu g s xy ra cho cc thng ip UDP khi m gi tr vng checksum l zero. Gi tr tnh cho checksum hon ton c th l zero bi v UDP s dng cng mt thut gii checksum nh IP: n chia d liu thnh cc i lng 16 bit v tnh phn b ca mt ca tng cc phn b ca mt ca chng. Tht ngc nhin, zero khng phi l vn bi v php tnh s hc phn b ca mt s c hai th hin cho zero: tt c cc bit c lp l 1 hoc tt c cc bit c lp l zero. Khi checksum tnh c l zero, UDP s dng cch th hin c tt c cc bt l 1.

Phn u gi UDP
Checksum UDP bao hm nhiu thng tin hn l ch c mt trong UDP datagram. tnh checksum, UDP gn mt phn u gi vo UDP datagram,

115

thm vo mt byte cc gi tr zero vo datagram c c gn bi s ca 16 bit, v tnh checksum cho ton b. Byte c dng ni vo phn u gi s khng c truyn i vi UDP datagram v chng cng khng c k trong phn di. tnh checksum, trc tin phn mm ghi gi tr zero vo vng checksum, ri tch lu tng 16 bit phn b ca mt ca ton b i tng, bao gm phn u gi, phn u UDP, v d liu ca ngi s dng. Mc ch ca vic s dng mt phn u gi l kim chng rng UDP datagram n c ch chnh xc ca n. im mu cht hiu phn u gi chnh l vic nhn thc rng ch chnh xc bao gm mt my c th v mt cng giao thc xc nh trong my . Bn thn phn u UDP ch xc nh gi tr cng giao thc. Nh th, kim chng ch n, UDP trn my gi s tnh mt checksum m bao gm c a ch IP ch cng nh l UDP datagram. Ti ch n cui cng, phn mm UDP kim chng checksum bng cch s dng a ch IP ch c c t phn u ca IP datagram m chuyn ti thng ip UDP. Nu checksum trng khp, c ngha l datagram n c ch cui cng ca n v cng n c ng cng giao thc trong my .

Hnh 6.2: Phn u gi ca thng ip UDP Phn u gi c dng trong vic tnh UDP checksum bao gm 12 byte d liu c b tr nh trong hnh 6.2. Cc vng ca phn u gi c nh nhn SOURCE IP ADDRESS v DESTINATION IP ADDRESS cha a ch IP ngun v a ch IP ch m s c dng khi gi thng ip UDP. Vng PROTOCOL cha m kiu ca giao thc IP (17 cho UDP), v vng UDP LENGTH cha di ca UDP datagram (khng bao gm phn u gi). kim chng checksum, ni nhn phi trch ra cc vng ny t phn u IP, lp rp chng thnh hnh dng phn u gi, v tnh li checksum. 6.2.2. ng gi UDP v vic phn lp Protocol

116

UDP cung cp cho ta v d u tin v giao thc chuyn ch. Trong m hnh phn lp di, UDP thuc v lp trn lp internet Protocol. V mt khi nim, cc chng trnh ng dng s truy xut UDP, v UDP li s dng IP gi v nhn datagram.

Hnh 6.3:V tr ca UDP trong giao thc TCP Vic phn lp UDP trn IP c ngha l mt thng ip UDP hon chnh, bao gm phn u UDP v d liu, dc ng gi trong mt IP datagram khi n di chuyn qua internet nh trong hnh:
UDP ID Datagram Data Header Data MAC Frame Header Data Message

Header Data

Hnh 6.4:ng gi thng ip UDP i vi nhng giao thc chng ta xem xt, vic ng gi c ngha l UDP thm mt phn u vo phn d liu m ngi s dng gi v chuyn chng n IP. Lp IP li thm mt phn u vo gi d liu c nhn c t UDP. Cui cng, lp giao tip mng nhng datagram vo mt frame trc khi gi n t my ny n my khc. nh dng ca frame tu thuc vo k thut ca mng c s. Thng thng, frame mng bao gm thm mt phn u. V pha nhn d liu, gi d liu n ti lp thp nht ca phn mm mng v bt u con ng i ln tun t qua cc lp cao hn. Mi lp s loi b mt phn u trc khi chuyn thng ip n lp trn, sao cho n

117

khi lp cao nht chuyn d liu n tin trnh nhn, tt c phn u c loi b. Nh th, phn u nm ngoi cng nht tng ng vi lp thp nht ca giao thc, trong khi phn u nm trong cng nht tng ng vi lp cao nht ca giao thc. Khi xem xt cch m cc phn u a thm vo v loi ra, iu quan trng cn lu l nguyn l phn lp. C th, chng ta nhn thy rng nguyn l phn lp p dng cho UDP, v vy UDP datagram nhn c t IP trn my ch ging chnh xc vi datagram m UDP chuyn n IP trn my ngun. Tng t d liu m UDP pht chuyn ti mt tin trnh ca ngi s dng trn my nhn cng s ging chnh xc d liu m mt tin trnh ca ngi s dng chuyn n UDP trn my ghi. Vic phn chia nhim v trong s cc lp giao thc l nghim ngt v r rng: Lp IP ch c trch nhim cho vic truyn d liu gia mt cp my trn internet, trong khi lp UDP ch c trch nhim trong vic phn bit gia cc ngun hay cc ch bn trong mt my. Nh th, ch c phn u IP xc nh cc my ngun v my ch; ch c lp UDP xc nh cc cng ngun hay cng ch bn trong mt my. 6.2.3. S phn lp v tnh UDP checksum Nu ta quan st k th s nhn thy rng dng nh c mt s mu thun gia quy tc phn lp v vic tnh UDP checksum. Chng ta cng nh li rng UDP checksum bao gm mt phn u gi, trong c cc vng a ch IP ngun v a ch IP ch. C th lp lun rng ngi s dng phi bit a ch IP ch khi gi i mt UDP datagram, v ngi s dng phi chuyn n n lp UDP. Nh th, lp UDP c th ly c a ch IP ch m khng cn lin lc vi lp IP. Tuy nhin, a ch IP ngun tu thuc vo nh tuyn IP chn cho datagram, bi v a ch ngun IP xc nh giao tip mng m datagram c truyn ttrn . Nh th, UDP khng th bit a ch IP ngun tr khi n giao tip vi lp IP. Chng ta gi nh rng phn mm UDP yu cu lp IP tnh ra a ch IP ngun v (c th) a ch IP ch, s dng chng xy dng phn u gi, tnh checksum, loi b phn u gi, v ri chuyn UDP datagram n IP truyn i. Cng c mt cch tip cn khc, to ra mt cch b tr c hiu qu ln hn cho lp UDP ng gi UDP datagram vo trong IP datagram, ly c a ch ngun t IP, lu tr a ch ngun v a ch ch vo cc vng thch hp trong phn u datagram, tnh UDP checksum, v ri chuyn IP

118

datagram n lp IP, v n ch cn in vo cc vng cn li trong phn u IP. Liu rng qua nhiu tng tc gia UDP v IP c vi phm tin c bn ca chng ta v nguyn l phn cp: s phn lp th hin s tch bit ca chc nng? Cu tr li l, ng vy. UDP c phi hp cht ch vi Giao thc IP. y r rng l dung ho vi vic tch ri thun tu, v c thc hin hon ton v l do thc t. Chng ta sn lng b qua vic vi phm nguyn l phn lp ny bi v chng ta khng th no ch ra mt cch y chng trnh ng dng ch m khng xc nh my ch, v chng ta mun thc hin mt cch hiu qu php nh x gia cc a ch c s dng bi UDP v cc a ch c s dng bi IP. Mt trong nhng bi tp kim tra vn ny theo mt quan im khc, yu cu chng ta xt xem liu UDP c nn c tch ri khi IP hay khng. 6.2.4. UDP Multiplexing, Demultiplexing, v cc cng Chng ta bit rng phn mm i qua cc lp ca mt giao thc phn cp phi multiplex hay demultiplex trong s cc i tng t lp kt. Phn mm UDP cung cp mt v d khc v vic multiplexing v demultiplexing. N chp nhn UDP datagram t nhiu chng trnh ng dng v chuyn chng n IP truyn i, v n chp nhn cc UDP datagram n t IP v chuyn mi datagram n chng trnh ng dng thch hp. V mt khi nim, tt c vic multiplexing v demultiplexing gia phn mm UDP v chng trnh ng dng xy ra thng qua c ch cng. Trong thc t, mi chng trnh ng dng phi thng tho vi h iu hnh c c mt cng giao thc v mt gi tr cng tng ng trc khi n c th gi UDP datagram i. Mt khi cng c gn, bt k datagram no m chng trnh ng dng gi qua cng s lu gi tr cng vo vng UDP SOURCE PORT ca n. Trong khi x l d liu nhp vo, UDP chp nhn cc datagram n t phn mm IP v demultiplex a vo cng ch UDP, nh trnh by nh hnh sau:

119

Hnh 6.5:Cng TCP Mt cch d hiu nht l hnh dung cng UDP nh mt hng i. Trong hu ht cc ci t, khi chng trnh ng dng thng tho vi h iu hnh s dng mt cng no , h iu hnh s to ra mt hng i bn trong c th gi li cc thng ip gi n. Thng thng, chng trnh ng dng c th xc nh hoc thay i kch thc ca hng i. Khi UDP nhn datagram, n kim tra xem gi tr cng ch c ph hp vi mt trong nhng cung hin ang s dng khng. Nu khng, n gi mt thng ip li ICMP port unreachable v hu b datagram. Nu c cng ph hp, UDP t datagram mi vo hng i (cng) ni m chng trnh ng dng c th truy xut n. D nhin, li c th xy ra khi cng b y, UDP s hu b nhng datagram gi n. 6.2.5. Cc gi tr cng hp l v dnh ring Cc gi tr cng giao thc sc gn nh th no ? y l vn quan trng bi v hai my tnh cn phi thng nht vi nhau v cc gi tr tng trc khi chng c th lm vic vi nhau. Ly v d, khi my tnh A mun ly mt tp tin t my B, n cn bit cng m chng trnh truyn tp tin trn my B s dng. C hai cch tip cn c bn cho vic gn cng. Cch tip cn u tin s dng n v iu hnh trung tm. Mi ngi u ng cho php n v iu hnh trung tm gn cc gi cng khi cn v ph bin danh sch ca tt c cc gi tr gn. Sau tt c phn mm c xy dng theo danh sch ny. i khi, cch tip cn ny c gi l php gn ton cu, v vic

120

gn cc cng c xc nh bi n v iu hnh c gi l php gn cng well know n (r rng). Cch tip cn th hai cho vic gn cng s dng lin kt ng. Trong cch tip cn lin kt ng, cc cng khng c bit mt cch ton cc. Thay v vy, bt c khi no mt chng trnh cn mt cng, phn mm mng s gn cho mt cng. bit v vic gn cng hin ti trn my tnh khc, th phi gi mt yu cu hi my tnh v vic gn cng hin ti (v d, dch v truyn tp tin ang s dng cng g). My ch s p li bng cch cho bit chnh xc gi tr cng. Ngi thit k TCP/IP a ra mt cch tip cn pha trn. l gn cho mt vi gi tr cng gi tr cho trc, v nhiu gi tr khc c th s dng cho n v a phng hoc chng trnh ng dng. Cc gi tr cng c gn bt u t gi tr thp ri m rng ln, dnh ra cc gi tr s nguyn ln cho vic cp pht ng. Bng trong phn ph lc 1 cui sch s lit k mt s gi tr cng UDP c gn ph bin.

121

Cu hi v Bi tp
6.1 Ti sao UDP checksum tch bit vi IP checksum? 6.2 Liu rng nim v nhiu ch n c xc nh bi cc cng giao thc c nn c xy dng trong IP ? ti sao? Ti sao khng? 6.3 u l u im chnh ca vic s dng cc gi tr cng UDP c gn trc ? v u l khuyt im ? 6.4 u l u im ca vic s dng cc cng giao thc thay v x l cc nh danh xc nh ch trong mt my ? 6.5 Hy th gi UDP datagram qua mng din rng bng mt chng trnh tin ch no v o xc xut b mt. Kt qu ny c ph thuc vo thi im ? lng giao dch trn mng ? 6.6. Cu trc gi tin UDP v ngha c th ca cc trng ?

122

Chng 7

giao thc tcp


7.1. Dch v vn chuyn c tin cy 7.1.1. Gii thiu dch v vn chuyn c tin cy Cc chng trc trnh by dch v pht chuyn d liu theo kiu connectionless, khng ng tin cy hnh thnh nn c s cho mi thng tin lin lc trn internet v giao thc IP xc nh n. Chng ny trnh by dch v quan trng th hai ni ting mc mng, dch v pht chuyn c tin cy, v Giao thc iu khin vic truyn Trasmission Control Protocol (TCP) xc nh n. Chng ta s thy rng TCP thm vo tnh nng ng k cho giao thc m chng ta tm hiu, nhng vic ci t n cng rt phc tp. Mc d TCP c trnh by y nh mt phn ca b giao thcTCP/IP, thc ra n l mt giao thc c lp, mt giao thc tng qut m c th c iu chnh s dng vi cc h pht trin khc. Ly v d, bi v TCP c rt t gi nh v mng c s, nn c th s dng n trn mt mng n gin nh Ethernet, cng nh trn mt internet phc tp. Thc ra, TCP ht sc ph bin n mc mt trong nhng giao thc h thng m ca t chc Chun ho quc t c to ra t . 7.1.1. S cn thit ca vic pht trin theo dng Ti mc thp nht, cc mng truyn thng my tnh cung cp dch v pht chuyn khng tin cy. Cc gi d liuc th b mt hay b hng khi cc li ng truyn tc ng ln d liu, hoc khi phn cng mng b hng, hay khi mng b qu ti bi v lng giao dch vt qu kh nng ca mng. Nhng mng no chuyn gi d liu t ng cng c th pht trin chng khng theo ng th t, pht chuyn chng vi tr hon ln, hay pht chuyn b trng lp. Hn th na, k thut mng c s c th a ra mt kch thc gi d liu ti u hay p t nhng rng buc khccn c t c mc truyn hiu qu. Ti mc cao nht, cc chng trnh ng dng thng cn gi mt khi lng ln d liu t my ny n my khc. S tr nn rt phin phc v mt mi khi s dng h pht chuyn connectionless khng tin cy truyn mt khi lng ln d liu, v n i hi ngi lp trnh phi xy dng th tc nhn bit v phc hi li trong mi chng trnh ng dng. Bi v rt kh thit k, hiu, v sa i phn mm cung cp tin cy mt cch chnh

123

xc, rt t ngi lp trnh ng dng c c nn tng k thut cn thit. H qu l, mt trong nhng mc ch ca vic nghin c giao thc mng l tm ra cc li gii chung cho vn cung cp dch v pht chuyn stream ng tin cy, gip cho cc chuyn gia c th xy dng duy nht mt phin bn c phn mm giao thc stream m tt c cc chng trnh ng dng c th s dng c. Vic c c duy nht mt giao thc chung cng gip tch bit cc chng trnh ng dng khi cc chi tit ca mng, v ta cng c th nh ngha mt giao thc thng nht cho dch v truyn stream. 7.1.3. Cc tnh cht ca dch v pht chuyn tin cy S giao tip gia cc chng trnh ng dng v dch v pht chuyn tin cy TCP/IP c th c trng ho bi 5 kha cnh: * nh hng stream. Khi hai chng trnh ng dng (cc tin trnh ca ngi s dng) truyn nhng khi lng ln d liu, chng ta xem d liu nh mt chui cc bit, c chia thnh cc byte 8 bit, m chng ta thng gi l byte. Dch v pht chuyn stream trn my ch chuyn n ni nhn mt cch chnh xc cng mt chui cc byte m my gi chuyn n i. * Kt ni mch o. Thc hin vic truyn stream cng tng t nh thc hin mt cuc gi in thoi. Trc khi vic truyn c th bt u, c hai chng trnh ng dng gi v chng trnh ng dng nhn tng tc vi cc h iu hnh ca chng, thng bo chng v mong mun c c vic truyn stream. V mt khi nim, mt chng trnh ng dng s thc hin mt "cuc gi" m phi c u kia chp nhn. Cc module phn mm giao thc trong hai h iu hnh thng tin lin lc vi nhau bng cch gi cc thng ip qua internet, kim tra xem vic truyn c cho php cha. Mt khi tt c mi chi tit c thit lp, cc module giao thc thng bo cho cc chng trnh ng dng rng kt ni c thit lp v c th bt u vic truyn. Trong sut qu trnh truyn, phn mm giao thc trn hai my lin tc lin lc vi nhau kim tra rng d liu nhn c mt cch chnh xc. Nu vic thng tin lin lc b hng v bt c l do g (v d, phn cng mng trn con ng ni hai my b hng), c hai my u nhn ra li v thng bo cho chng trnh ng dng tng ng. Chng ta s dng thut ng mch o m t cc kt ni ny bi v mc d cc chng trnh ng dng xem kt ni ny nh mch phn cng c dnh ring, tnh tin cy l mt s o gic c cung cp bi dch v pht chuyn stream. * Vic truyn c vng m. Cc chng trnh ng dng gi mt dng d liu qua mch o bng cch lp li vic chuyn cc byte d liu n phn mm giao thc. Khi truyn d liu, mi chng trnh ng dng s dng bt 124

k kch thc n v truyn no n thy thun tin, m c th ch bng mt byte. Ti u nhn, phn mm giao thc pht chuyn t ng d liu theo ng chnh xc th t m chng c gi i, lm cho chng sn sng c s dng i vi chng trnh ng dng nhn, ngay sau khi chng c nhn v kim tra. Phn mm giao thc c t do phn chia dng d liu thnh nhng gi d liu c lp vi n v m chng trnh ng dng truyn i. lm cho vic truyn hiu qu hn v ti thiu giao thng trn mng, cc ci t thng tp hp cho d liu t dng d liu t vo datagram c ln thch hp trc khi truyn n qua internet. Nh th, ngay c khi chng trnh ng dng pht sinh dng d liu gm mt byte mi ln, vic truyn qua internet vn c th hon ton hiu qu. Tng t nh vy, nu chng trnh ng dng quyt nh pht chuyn nhng khi d liu v cng ln, phn mm giao thc c th quyt nh chia khi ny thnh nhng mnh nh hn trc khi truyn i. i vi nhng chng trnh ng dng m d liu phi c pht chuyn ngay c khi n khng y mt vng m, dch v stream cung cp mt c ch y (push) m cc chng trnh ng dng s dng bt buc truyn i. Ti ni gi lnh, lnh y bt buc TCP lm cho d liu c sn sng i vi chng trnh ng dng m khng tr hon g c. Tuy nhin, chng ta cn lu rng, chc nng y ch m bo rng tt c d liu s c truyn i; n khng h cung cp thng tin v ng bin ca d liu. Nh th, ngay c khi vic pht chuyn b bt buc, phn mm giao thc c th quyt nh chia dng d liu. * Stream khng c cu trc. Mt iu quan trng cn hiu l dch v TCP/IP stream khng xc nh cc dng d liu c cu trc. Ly v d, chng trnh tr lng nhn vin, khng c cch no m dch v stream nh du bin gii gia cc bn ghi nhn vin, hay xc nh ni dng ca dng d liu l d liu nhn vin. Cc chng trnh ng dng s dng dch v stream phi hiu ni dngtream v thng nht vi nhau v nh dng stream trc khi khi ng vic kt ni. * Kt ni hai chiu. Cc kt ni c cung cp bi dch v TCP/IP stream cho php truyn d liu ng thi t c hai chiu. Cch kt ni ny c gi l full-duplex (song cng). T quan im ca mt tin trnh ng dng, mt kt ni hai chiu bao gm hai dng d liu c lp "chy" theo hai chiu ngc nhau, v khng c tng tc hay va chm. Dch v stream cho php mt tin trnh ng dng chm dt "dng chy" theo mt chiu trong khi d liu vn tip tc chy theo chiu kia, lm cho kt ni tr thnh mt chiu

125

(half duplex-bn song cng). u im chnh ca kt ni hai chiu l phn mm giao thc c s c th gi thng tin iu khin cho mt stream ngc tr v ngun trong nhng datagram ang truyn ti d liu theo chiu ngc li. iu ny gip gim bt giao thng trn mng. 7.1.4. Tnh tin cy ca dch v chuyn pht tin cy Chng ta ni rng dch v pht chuyn stream ng tin cy bo m pht chuyn mt dng d liu c gi t mt my n my khc m khng b trng lp hay mt d liu. Cu hi t ra l: "lm th no phn mm giao thc c th cung cp vic truyn ng tin cy khi m h thng thng tin lin lc c s cung cp vic pht chuyn d liu khng ng tin cy ?" cu tr li tht l phc tp, nhng hu ht cc giao thc ng tin cy u s dng mt k thut c bn c tn l p li tch cc v truyn li (positive acknowledgement with retransmission). K thut ny i hi ni nhn phi lin lc vi ngun, gi ngc tr li thng ip acknowledgement (ACK) khi n nhn c d liu. Ni gi lu li thng tin (bn ghi) ca mi gi d liu n gi i v i thng ip acknowledgement trc khi gi gi d liu k. Ni gi cng khi ng mt b m ht hn trc khi nhn thng ip acknowledgement.
TCP_A TCP_B Send Packet1 Receive Packet1 Send ACK 1 Receive ACK1 Send Packet 2 Receive Packet 2 Send ACK 2

Hnh 7.1: Trnh by cch n gin nht m giao thc p li tch cc truyn d liu. Trong hnh ny, nhng s kin xy ra ti ni gi v ni nhn c th hin ln lt ti bn tri v bn phi. Mi ng cho i t bn ny qua bn kia th hin vic truyn mt thng ip qua mng.

126

Khi mt gi d liu b mt hoc b hng. Ni gi khi ng mt b m thi gian ngay sau khi truyn mt gi d liu. Khi b m ht hn, ni gi gi nh rng gi d liu b mt v phi truyn li. Vn cui cng v tnh tin cy xut hin khi h pht chuyn d liu c s lm trng lp d liu. S trng lp cng c th xut hin khi xy ra s tr hon lu trn mng, m gy ra vic truyn li sm. Gii quyt vn trng lp i hi phi tht cn thn bi v c gi d liu v acknowledgement u c th b trng lp. Thng thng, cc giao thc ang tin cy nhn bit s trng lp d liu bng cch gn cho mi gi d liu mt s th t v yu cu ni nhn ghi nh li nhng s th t no n nhn c. trnh s nhm ln gy ra bi s tr hon hay trng lp cc acknowledgement, cc giao thc p li tch cc cng gi s th t ngc tr li trong mi acknowledgement, cho ni nhn c th phi hp mt cch chnh xc cc acknowledgement vi cc gi d liu. 7.1.5. tng k thut ca s trt Trc khi xem xt dch v stream TCP, chng ta cn tm hiu thm mt khi nim to nn c s ca vic truyn stream. Khi nim ny, c tn l ca s trt (sliding window), lm cho vic truyn stream c hiu qu. hiu c ng lc thc y s ra i ca khi nim ca s trt, chng ta tham kho li chui s kin xy ra trong hnh 7.1. t c tnh tin cy, ni gi truyn mt gi d liu v sau i acknowledgement trc khi truyn gi d liu khc. Nh trnh by trong hnh 7.1, ti mi thi im d liu ch lu chuyn gia cc my theo 1 chiu, ngay c nu mng c kh nng thng tin ng thi theo hai chiu. Mng s hon ton trng thai nhn ri trong khong thi gian my tinh tr hon vic p li (v du, trong khi my tnh phi tnh checksum hay chn nh tuyn). Nu chng ta hnh dung mt mng c tr hon truyn rt ln, vn tr nn r rng hn: Mt giao thc p li tch cc n gin s b ph mt lng ng k bng thng ca mng bi v n phi tr hon vic gi gi d liu mi cho n khi n nhn c acknowledgement ca gi d liu trc . K thut ca s trt l mt dng phc tp hn ca p li tch cc v truyn li so vi phng php n gin c trnh by. Cc giao thc ca s trt s dng bng thng ca mng tt hn bi v chng cho php ni gi truyn nhiu gi d liu trc khi qua trng thi i acknowledgement. Cch d dng nht tng tng hot ng ca ca s trt l xt mt dy cc gi d liu sp c truyn nh trong hnh 7.2. Giao thc ny t mt ca s

127

nh c kch thc c nh ln dy ny v truyn i tt c nhng gi d liu no nm trong ca s.

Hnh 7.2: Ca s trt Chung ta nh rng mt gi d liu khng c p li nu n c truyn i nhng ni gi khng nhn c acknowledgement. V mt k thut, s lng ca gi d liu m c th khng c p li ti mt thi im bt k b rng buc bi kch thc ca ca s v b gii hn l mt gi tr nh v c nh. Ly v d, trong mt giao thc ca s trc c kch thc ca s l 8, ni gi c php truyn i 8 gi d liu trc khi n nhn mt acknowledgement. Nh trnh by trong hnh 7.2, mt khi ni gi nhn mt acknowledgement ca gi d liu u tin bn trong ca s, n "trt" ca s qua bn phi v gi gi d liu k tip. Ca s tip tc trt khi ni gi vn cn nhn c acknowledgement. Hiu sut ca giao thc ca s trt tu thuc vo kch thc ca s v tc nhn d liu ca mng. Hnh 7.3 trnh by mt v d v cch hot ng ca giao thc ca s trt khi gi ba gi d liu. Lu rng ni gi truyn tt c ba gi d liu trc khi nhn c bt k acknowledgement no.

128

Hnh 7.3: Gi 1 ln nhiu gi trong khi ch nhn ACK Khi kch thc ca ca s l 1, giao thc ca s trt s tr thnh n gin ging y ht giao thc p li tch cc. Bng vic tng kch thc ca s, h thng c th loi b hon ton thi gian nhn ri ca mng. Ngha l, trong trng thi n nh, ni gi c th truyn gi d liu i vi tc nhanh nh tc truyn ca mng. im chnh yu l: Bi v mt giao thc ca s trt c iu chnh tt (theo kch thc ca s v tc mng) lm cho mng lun lun trng thi bn rn (truyn d liu), kt qu l mt mng c hiu sut cao hn nhiu so vi giao thc ch n gin l p li tch cc). V mt khi nim, giao thc ca s trt lun lun ghi nh nhng gi d liu no c p li (nhn c acknowledgement) v duy tr mt b m thi gian ring cho mi gi d liu khng c p li. Nu mt gi d liu b mt, b m thi gian b ht hn v ni gi phi truyn li gi d liu . Khi ni gi trt ca s ca n ti, n i qua tt c nhng gi d liu c p li. Ti ni nhn, phn mm giao thc duy tr mt ca s tng t, chp nhn cc gi d liu gi n v gi tr v p li (acknowledgement). Nh th ca s phn chia dy cc gi d liu thnh ba tp hp: - Bn tri ca ca s l nhng gi d liu c truyn i thnh cng, u kia nhn c, u ny nhn c li p; - Bn phi ca ca s l nhng gi d liu cha c truyn i; - Bn trong ca s l nhng gi d liu ang c truyn i. Gi d liu c nh s thp nht trong ca s l gi d liu u tin trong dy ny m cha nhn c li p.

129

7.2. Nguyn l hot ng ca TCP 7.2.1. Giao thc iu khin truyn By gi, chng ta hiu c nguyn l ca ca s trt, chng ta c th xem xt dch v stream ng tin cy c cung cp bi b giao thc TCP/IP internet. Dch v ny c xc nh bi giao thc iu khin vic truyn (Transmission Control Protocol TCP). Dch v stream ng tin cy quan trng n ni m tng th b giao thc c gi l TCP/IP. iu quan trng cn phi hiu l: TCP l mt giao thc thng tin lin lc, khng phi l thnh phn ca phn mm. S khc bit gia mt giao thc v phn mm ci t n th cng tng t nh s khc bit gia nh ngha ca mt ngn ng lp trnh v mt trnh bin dch. Bi v trong th gii ngn ng lp trnh, i khi s phn bit gia nh ngha v ci t l khng r rng. Chng ta thng gp v lm vic vi phn mm TCP nhiu hn l vi cc nh ngha c t giao thc, v th cng l "t nhin" khi ngi ta xem mt ci t c th nh mt chun. V vy, chng ta nn c gng phn bit s khc nhau gia chng. Mt cch chnh xc th TCP cung cp nhng g? TCP rt phc tp, v vy khng c cu tr li n gin. Giao thc ny c t nh dng ca d liu v li p (acknowledgement) m hai my tnh trao i t c vic truyn ng tin cy, cng nh l nhng th tc m cc my tnh s dng m bo rng d liu n c mt cch chnh xc. N c t cch m phn mm TCP phn bit trong s cc ch trn mt my c th, v cch ny m cc my thng tin lin lc vi nhau phc hi cc li nh mt gi d liu hay d liu b trng lp. Giao thc ny cng xc nh phng thc hai my tnh khi ng qua trnh truyn stream TCP v cch m chng thng nht vi nhau khi no th hon tt vic truyn. Mt iu quan trng khc cng cn phi bit l nhng g giao thc ny khng cung cp. Mc d c t TCP c m t mt cch tng qut v cch m cc chng trnh ng dng s dng TCP, n khng ch ra chi tit v s giao tip gia mt chng trnh ng dng v TCP. Ngha l giao thc ch trnh by nhng hot ng m TCP cung cp; n khng c t chnh xc th tc m chng trnh ng dng gi n truy xut cc hot ng ny. Mt l do m TCP khng c t chi tit v giao tip vi chng trnh ng dng l v

130

tnh uyn chuyn trong ci t nu trn, TCP c th s dng xy dng phn mm cho nhiu loi my khc nhau. Bi v TCP c rt t gi nh v h thng thng tin lin lc c s, TCP c th c s dng vi nhiu h pht chuyn d liu khc nhau, bao gm c dch v pht chuyn IP datagram. Ly v d, TCP c th c ci t s dng vi ng in thoi dialup, vi mng cc b, vi mng cp quang tc cao, hay mng ng di tc chm. Thc ra, vic c nhiu h thng pht chuyn khc nhau m TCP c th s dng l mt trong nhng im mnh ca TCP. 7.2.2. Cng, Kt ni, v im cui Ging nh User Datagram Protocol (UDP) trnh by trong chng trc, TCP nm trn IP trong m hnh phn lp giao thc. Hnh 7.5 trnh by t chc khi nim ca m hnh phn cp. TCP cho php nhiu chng trnh ng dng trn mt my c php thng tin lin lc ng thi, v demultiplex nhng d liu TCP gi n trong s cc chng trnh ng dng. Cng ging nh UDP, TCP s dng gi tr cng giao thc xc nh ch cui cngtrong mt my. Mi cng c gn cho mt gi tr s nguyn nh, v y l nh danh ca n (mc d c hai TCP v UDP s dng cc nh danh cng l s nguyn bt u t 1 xc nh cng, khng c s nhm ln gia chng bi v mt IP datagram gi n s xc nh c gi tr cng cng nh giao thc c s dng).

131

Hnh 7.4: V tr TCP trong m hnh TCP/IP Khi chng ta tm hiu v cng UDP, chng ta ni rng hy xem mi cng nh mt hng i m trong phn mm giao thc s lu tr cc datagram gi n. Cc cng TCP th phc tp hn rt nhiu bi v mt gi tr cng cho trc khng tng ng vi mt i tng n. Thay v vy, TCP c xy dng trn kt ni tru tng, m trong cc i tng c xc nh, l nhng lin kt mch o, khng phi tng cng. iu ct yu l phi hiu c rng TCP s dng nim v cc kt ni bi v n gip chng ta gii thch ngha v vic s dng cc gi tr cng TCP:

132

TCP s dng kt ni, khng phi cng giao thc, l s tru tng c s ca n; cc kt ni c xc nh bi mt cp cc im cui. Mt cch chnh xc th cc "im cui" ca mt kt ni l g? Chng ta ni rng mt kt ni bao gm mt mch o gia hai chng trnh ng dng, v vy c v t nhin khi gi nh rng chng trnh ng dng phc v lm "im cui" ca kt ni. Nhng khng phi th. Thay v vy, TCP nh ngha mt im cui l mt cp s nguyn (my, cng), vi my l a ch IP ca mt my v cng l mt cng TCP trn my . V d, im cui (128.10.2.3, 25) xc nh cng TCP 25 trn my c a ch 128.10.2.3. By gi, khi chng ta nh ngha im cui, th s d dng hn hiu c kt ni. Nh th, v d nu c mt kt ni t my (18.26.0.36) ti vin i hc MIT n my (128.10.2.3) ti vin i hc Purdue, n c th c xc nh bi cc im cui: (18.26.0.36, 1069) v (128.10.2.3, 25) Trong khi , c th ang c mt kt ni khc t my (128.9.0.32) ti Vin Khoa hc thng tin (CMU) ti cng my tnh trn Vin i hc Purdue, c xc nh bi cc im cui ca n: (128.9.0.32, 1184) v (128.10.2.3, 53) Cho ti by gi, cc v d ca chng ta v kt ni n gin v d hiu bi v cc cng c s dng ti tt c cc im cui l duy nht. Tuy nhin, kt ni tru tng cho php nhiu kt ni cng chia x mt im cui. Ly v

133

d, chng ta c th thm kt ni khc vo hai cng trn t my (128.2.254.139) ti CMU ti my ti Vin i hc Purdue: (128.2.254.139, 1184) v (128.10.2.3, 53) Thot nhn, c v hi l khi hai kt ni c th ng thi s dng cng TCP s 53 trn my 128.10.2.3, nhng khng c g nhm ln c. Bi v TCP phi hp cc thng ip gi n vi mt kt ni thay v vi cng giao thc, n s dng c hai im cui xc nh kt ni thch hp. tng quan trng cn nh l: Bi v TCP xc nh kt ni bng mt cp cc im cui, mt cng TCP cho trc c th c dng chung bi nhiu kt ni trn cng mt my. Di quan im ca ngi lp trnh, s kt ni tru tng rt c ngha. N c ngha l ngi lp trnh c th to ra mt chng trnh cung cp dch v song song cho kt ni ng thi m khng cn mt cng (cc b) duy nht cho mi kt ni. Ly v d, hu ht cc h thng cung cp vic truy xut song song vo h thng th in t ca chng, cho php nhiu my tnh gi th in t cho chng cng mt lc. Bi v chng trnh nhn th in t s dng TCP thng tin lin lc, n ch cn s dng mt cng TCP cc b mc d n cho php nhiu kt ni x l ng thi. 7.2.3. C ch m ch ng v m th ng Khng ging nh UDP, TCP l giao thc kt ni c nh hng (connecttion oriented), i hi c hai im cui cng ng tham gia. Ngha l, trc khi mt giao dch TCP c th chuyn qua internet, cc chng trnh ng dng hai u ca kt ni phi cng ng rng chng mong mun c kt ni. lm vic , chng trnh ng dng bn ny thc hin mt chc nng m th ng (passive open) bng cch lin h vi h iu hnh ca n v ch ra rng n s chp nhn mt yu cu kt ni (n t u kia). Vo lc , h iu hnh s gn mt gi tr cng TCP cho kt ni ti u ca n. Chng trnh ng dng bn kia phi lin h vi h iu hnh ca n s dng mt yu cu m ch ng (active open) thit lp kt ni. Hai module phn mm TCP s thng tin lin lc vi nhau thit lp v kim tra kt ni. Mt khi kt ni c to xong, cc chng trnh ng dng c th truyn d liu; cc module phn mm TCP ti mi u trao i thng ip vi nhau bo m vic pht chuyn ng tin cy. Chng ta s quay tr li trong phn sau tm hiu chi tit vic thit lp cc kt ni sau khi xem nh dng thng ip TCP.

134

7.2.4. Segment, stream, v s th t TCP xem mt dng d liu nh mt dy cc byte hay byte m n chia thnh nhng on (segment) truyn i. Thng thng, mi segment di chuyn qua internet trong mt IP datagram. TCP s dng mt c ch ca s trt c bit gii quyt hai vn quan trng: hiu qu vic truyn v iu khin tc dng d liu. Ging nh giao thc ca s trt m t trc y, c ch ca s trt cho TCP cho php n gi i nhiu segment trc khi nhn c mt li p (acknowledgement). Lm nh vy s tng c ton b hiu sut v gim thi gian "nhn ri" ca mng. Dng TCP ca giao thc ca s trt cng gii quyt vn iu khin tc dng chuyn end to end, bng cch cho php ni nhn gii hn li vic truyn cho n khi n c khng gian vng m chp nhn thm d liu. C ch ca s trt TCP hot ng theo byte, khng phi theo segment hay theo gi d liu. Cc byte ca dng d liu c nh s tun t, v ni gi duy tr ba con tr phi hp vi mi kt ni. Cc con tr ny nh ngha ca s trt nh minh ho trong hnh 7.5. Con tr u tin nh du bin bn tri ca s trt, tch bit nhng byte c gi v nhn c li p ra khi nhng byte cn cha c p li. Con tr th hai nh du bin bn phi ca s trt v xc nh byte cao nht trong dy ny m c th c gi i trc khi nhn c thm li p. Con tr th ba nh du bin bn trong ca s tch bit nhng byte c gi i v nhng byte cha c gi i. Phn mm giao thc gi i tt c cc byte trong ca s m khng h tr hon, v vy ng bin bn trong ca s trt lun lun di chuyn nhanh chng t tri sang phi.

Hnh 7.5: Ca s trt

135

Chng ta m t cch m ca s TCP ca my gi trt i v cng lu rng my nhn cng phi duy tr mt ca s tng t rp d liu li. Tuy nhin, mt iu quan trng phi hiu l, bi v cc kt ni TCP l hai chiu, hai qu trnh truyn xy ra ng thi trn mi kt ni, mi qu trnh theo mt chiu. Chng ta xem vic truyn l hon ton c lp bi v ti thi im bt k d liu c th di chuyn qua kt ni theo mt chiu, hay theo c hai chiu. Nh th, phn mm TCP ti mi u duy tr hai ca s cho mi kt ni (tng cng l bn), mt ca s trt theo dng d liu c gi i, cn ca s kia trt theo d liu c nhn vo. 7.2.5. Ca s vi kch thc v vic iu khin tc truyn C mt khc bit ln gia giao thc ca s trt ca TCP v giao thc ca s trt c n gin ho trnh by trc y, l TCP cho php kch thc ca s c th thay i qua tu thi im. Vi mi li p xc nh c bao nhiu byte c nhn, c cha mt thng co ca s xc nh c thm bao nhiu byte (d liu) m my nhn c chun b nhn. Chng ta c th xem thng co ca s nh mt cch xc nh kch vng m hin ti ca my nhn. p li vic gia tng kch thc thng co ca s, my gi s tng kch thc ca s trt ca n v tin hnh gi cc byte ca n cn cha c p li. V p li vic gim bt kch thc thng co ca s, my gi s gim kch thc ca s trt ca n v thi gi cc byte vt qua bin ca s. Phn mm TCP khng c ph nhn cc gi tr thng co trc bng cch thu hp ca s li vt qua cc v tr chp nhn c trc trong chui cc bytes. u im ca vic s dng ca s c kch thc thay i l n h tr vic iu khin tc truyn d liu cng nh l vic truyn ng tin cy. trnh vic nhn nhiu d liu hn kh nng lu tr, ni nhn s gi i thng co ca s c kch thc l zero ngng tt c vic truyn. Sau , khi khng gian vng m c gii phng bt, ni nhn li gi i thng co ca s c kch thc khc zero kch hot tr li vic truyn d liu (c hai ngoi l trong vic truyn khi kch thc ca s l zero. Trc ht, ni gi c php truyn mt segment vi bit URGENT lp thng bo ni nhn rng c d liu quan trng. Th hai, trnh nguy c nghn mch c th xut hin trong tnh hung khi mt thng co ca s c kch thc khc zero b tht lc sau khi n c kch thc zero, ni ni gi thm d theo nh k ca s c kch thc zero). Vic c mt c ch kim sot tc truyn d liu l ct t trong mi trng internet, trong c nhiu my tnh khc kch c v khc tc

136

thng tin lin lc vi nhau qua cc mng v b nh tuyn, m li c li c kh nng v tc khc nhau. C hai vn c lp nhau v tc truyn. Trc ht, cc giao thc internet cn c s kim sot tc truyn end to end gia ngun v ch cui cng. Ly v d, khi mt my tnh c trung lin lc vi mt my mainframe ln, my tnh c trung cn phi iu chnh lng d liu, nn khng phn mm giao thc s nhanh chng b qu ti. Nh th TCP phi ci t vic kim sot tc truyn end to end bo m vic pht chuyn ng tin cy. Th hai, cc giao thc internet cn phi c mt c ch kim sot tc truyn cho php cc h thng trung gian (v d, b nh tuyn) kim sot mt ngun m gi i nhiu d liu hn kh nng nhn ca mt my. Khi cc my trung gian b qu ti, th tnh hung ny in t gi l nghn mch (congestion), v c ch gii quyt vn ny c gi l c ch kim sot s nghn mch (congestion control). TCP s dng m hnh ca s trt ca n gii quyt vn kim sot tc truyn end to end. Tuy nhin, chng ta s thy sau ny, mt ci t nghn mch d mt m hnh truyn li c chn cn thn c th gip trnh khi s nghn mch, c mt m hnh la chn ti c th lm n trm trng hn. 7.2.6. nh dng TCP segment n v truyn gia phn mm TCP trn hai my c gi segment. Cc segment c trao i thit lp cc kt ni, truyn d liu, gi acknowledgement, thng bo kch thc ca s, v ng kt ni. Trong TCP, mt acknowledgement chuyn t my A n my B c th di chuyn trong cng mt segment nh l d liu truyn t my A n my B, mc d acknowledgement ch d liu gi t B n A (trong thc t, vic ny khng thng xuyn xy ra bi v hu ht cc ng dng khng ng thi gi d liu theo c hai chiu). Hnh 7.6 Trnh by nh dng ca segment.

137

Hnh 7.6: TCP Segment Mi segment c chia thnh hai phn, phn u v d liu. Phn u, c phn u TCP, chuyn ti thng tin iu khin v cc nh danh cn thit khc. Cc vng SOURCE PORT v DESTINATION PORT cha cc gi tr cng TCP xc nh cc chng trnh ng dng ti hai u ca kt ni. Vng SEQUENCE NUMBER xc nh v t trong chui cc byte d liu trong segment ca ni gi. Vng acknowledgement NUMBER xc nh s lng byte m ngun ang i nhn k tip. Lu rng SEQUENCE NUMBER ch n lng d liu theo cng chiu vi segment, trong khi gi tr acknowledgement NUMBER ch n lng d liu theo chiu ngc li vi segment. Vng HLEN cha mt s nguyn xc nh di ca phng u segment, in t tnh theo bi s ca 32 bit (t t giao thc m t vng HLEN l v tr tng i ca ng d liu bn trong segment). Cn c gi tr ca HLEN bi v vng OPTIONS c di thay i, tu thuc vo nhng chn thay i tuy vo cc chn la c ly. Vng RESERVED c dnh ring s dng trong tng lai.

138

C nhng segment ch chuyn ti acknowledgement, cn nhng segment khc chuyn ti d liu. Cng c nhng segment chuyn ti nhng yu cu thit lp hoc ng li mt kt ni. Phn mm TCP s dng vng 16 bit c tn CODE BITS xc nh mc ch v ni dung ca segment. Sau bit nycng cho bit cch din dch cc vng khc trong phn u, da vo ni dung ca bng trong hnh 7.7

Hnh 7.7: Cc bt xc nh dch v Phn mm TCP cng thng bo cho bit bao nhiu d liu n sn sng nhn mi khi n gi mt segment cch xc nh kch thc vng m ca n trong vng WINDOW. Vng ny cha mt s nguyn khng du theo th t byte mng chun. 7.2.7. D liu ngoi dng (out of band) Mc d TCP l giao thc nh hng dng d liu, i khi cng cn thit cho mt chng trnh mt u ca kt ni gi d liu ngoi dng (out of band), m khng phi n khi chng trnh u kia ca kt ni "x l" ht cc byte trong dng d liu. V d, khi TCP c s dng cho vic truy xut t xa (remote login), ngi s dng c th quyt nh gi mt lot cc tn hiu t bn phm ngt hay hu b mt chng trnh ti u kia. Thng thng, cc tn hiu nh th rt cn thit khi m chng trnh trn my xa khng hot ng chnh xc. Cc tn hiu ny phi c gi i m khng cn i n khi chng trnh ( u kia) c ht cc byte trong dng d liu TCP. (Nu khng th khng th hu b in t chng trnh m ang c d liu). dung np in t tn hiu out of band, TCP cho php ni gi xc nh loi d liu no l khn cp, c ngha l chng trnh nhn phi c thng bo tc th ngay khi d liu n, cho d n c nm u trong dng d liu. Giao thc ny m t rng khi thy c d liu khn cp, TCP (ni nhn)

139

phi thng bo cho bt c chng trnh no ang phi hp vi kt ni ny chuyn sang "trng thi khn cp". Sau khi x l tt c d liu khn cp, TCP thng bo cho chng trnh ng dng tr v trng thi thng thng. D nhin chi tit c th v cch m TCP thng bo cho chng trnh ng dng v d liu khn cp tu thuc vo h iu hnh ca my tnh. C ch c s dng nh du loi d liu khn cp khi truyn n trong mt segment bao gm m bit URG trong vng CODE BITS v vng URGENT POINTER. Khi bit URG c lp, vng URGENT POINTER xc nh v tr cui cng ca d liu khn trong segment. 7.2.8. Kch thc ti a ca segment Khng phi tt c cc segment gi qua mt kt ni s c cng mt kch thc. Tuy nhin, c hai u phi thng nht vi nhau v kch thc ti a ca segment m chng s truyn. Phn mm TCP ti u ny s dng vng OPTIONS thng tho vi phn mm ti u kia ca kt ni; mt trong nhng la chn ny cho php phn mm TCP xc nh kch thc ti a ca segment (maximum segment size MSS), m hai bn sn lng nhn. Ly v d, mt h thng nhng vi ch vi trm byte cng m ni vo mt siu my tnh ln, chng c th thng tho vi nhau c mt MSS sao cho cc segment khng vt qu ln ca vng m. Mt iu c bit quan trng cho cc my tnh c ni vi mng cc b tc cao l vic chn kch thc ti a ca segment cha gi d liu. Nh th nu hai u cng thuc mt mng vt l, TCP thng tnh kch thc ti a ca segment sao cho c c IP datagram m va khp vi MTU mng. Nu hai u khng cng nm trn mt mng vt l, chng c th tm cch bit c MTU nh nht ca mng nm trn con ng gia hai im, hoc chn kch thc ti a ca segment l 536 ( l kch thc mc nh ca mt IP datagram, 576, tr i kch thc chun ca phn u IP v phn u TCP). Trong mi trng internet tng qut, vic chn kch thc ti a tt cho segment l mt vic kh bi v hiu sut c th rt km i vi nhng kch thc segment rt nh hoc l nhng kch thc segment rt ln. Trong trng hp u, khi segment c kch thc nh, mc s dng mng s rt thp. thy c l do, chng ta nh li rng cc segment TCP khi di chuyn c ng gi trong cc IP datagram, m li c ng gi tong cc frame mng vt l. Nh th, ngoi phn d liu ra mi segment c thm t nht 40 byte phn u TCP v phn u IP. V vy, nhng datagram ch chuyn ti mt byte d liu s dng nhiu nht 1/41 ca bng thng mng c s dnh cho d liu ca ngi s dng.

140

Trong trng hp th hai, nhng kch thc segment qu ln cng c th gy nn hiu qu km. Nhng segment ln s to ra nhng IP datagram ln. Khi cc datagram di chuyn qua mng c MTU nh, IP phi phn on chng ra. Khng ging nh TCP segment, mt phn on (fragment) khng th c p li (acknowledge) cng khng th c truyn li mt cch c lp; tt c cc phn on phi n c nu khng th ton b datagram phi c truyn li. Bi v xc sut ca vic tht lc mt fragment l khc zero, nn khi gia tng kch thc segment ln hn mc phn on s lm gim hiu sut ca mng. Trn l thuyt, kch thc ti u ca segment S rt cn thit khi cc IP datagram chuyn ti nhng segment ln m vn cha phi phn on trong sut l trnh t ngun ti ch cui cng. Trong thc t, tm ra S l cng vic y kh khn v mt s l do. Trc ht, hu ht cc ci t ca TCP khng bao gm mt c ch lm vic ny. Th hai, bi v cc b nh tuyn trong internet c th thay i nh tuyn bt c lc no, con ng m datagram i qua gia mt cp my tnh ang thng tin lin lc vi nhau cng c th b thay i bt c lc no v nh th lm cho datagram c th b phn on (do i qua mng c MTU nh). Th ba, kch thc ti u ph thuc vo phn u ca giao thc cp thp (v d, kch thc segment phi b gim bt dung np c cc la chn IP). Nn vic nghin cu tm ra kch thc segment ti u vn cn tip tc. 7.2.9. Tnh TCP Checksum Vng CHECKSUM trong phn u TCP bao gm mt checksum s nguyn 16 bit c s dng kim chng tnh ton vnca d liu cng nh l phn u TCP. tnh checksum, phn mm TCP trn my gi tun theo mt th tc nh m t trong chng 6 cho UDP. N gn vo segment mt phn u gi, thm vo mt s bit zero sao cho ln ca segment l bi s ca 16 bit, v tnh checksum 16 bit trn ton b segment (mi). TCP khng m phn u gi, cng khng thm vo dim, v cng khng truyn n i. Tng t, n gi nh bn thn vng checksum l zero cho mc ch tnh checksum. Cng nh vi nhng checksum khc, TCP s dng php tnh s hc 16 bit v ly phn b ca mt ca tng cc phn b ca mt. Ti ni nhn, phn mm TCP cng thc hin tnh ton tng t kim chng rng segment n c nguyn vn. Mc ch ca vic s dng phn u gi cng y ht nh i vi UDP. N cho php ni nhn kim chng rng segment n ng chnh xc ch ca n, bao gm c a ch IP ca my cng nh gi tr cng giao thc. C

141

hai a ch Ip ngun v ch u quan trng i vi TCP bi v n phi s dng chng xc nh kt ni m segment c truyn trn . Nh th, bt c khi no mt datagram n mng theo mt segment TCP, th IP phi chuyn ti TCP a ch IP ngun, a ch IP ch ly c t datagram, v bn thn segment. Hnh 7.8 trnh by nh dng ca phn u gi c s dng trong vic tnh checksum.

Hnh 7.8: Phn u gi ca TCP Segment Trong TCP gi i, vng PROTOCOL s c gn gi tr m h thng pht chuyn c s s s dng trong vng kiu giao thc ca n. i vi IP datagram ang chuyn ti TCP, gi tr ny l 6. Vng TCP LENGTH xc nh tng di ca segment TCP bao gm c phn u TCP. Ti ni nhn, thng tin c s dng trong phn u gi c trich ra t IP datagram m chuyn ti segment v c a vo trong vic tnh checksum kim chng rng segment n ng chnh xc ch ca n mt cch nguyn vn. 7.2.10. Acknowledgement v vic truyn li Bi v TCP gi d liu i trong nhng segment c di thay i v bi v cc segment c truyn li c th bao gm nhiu hn d liu gc, cc p li (acknowledgement) khng th d dng tham chiu ti datagram hay segment. Thay v vy, chng ch ti v tr trong dng d liu, c anh theo s th t. Ni nhn tp hp cc byte d liu t nhng segment gi n v xy dng li mt phin bn ging y nh dng d liu gi i. Bi v cc segment di chuyn trong IP datagram, chng c th b mt hoc pht chuyn khng ng th t; ni nhn s dng s th t ny sp li th t cc segment. Ti thi im bt k, ni nhn s xy dng li zero hoc nhiu byte lin tc nhau t u ca dng d liu, nhng c th thm mt s d liu va n t cc datagram khng theo ng th t. Ni nhn lun lun p li cho tin t di nht lin tc nhau ca dng d liu m n nhn c mt cch chnh xc. Mi li p xc nh mt s th t c gi tr ln hn mt so vi v tr byte cao nht trong tin t lin tc nhau m n nhn. Nh th, ni gi s nhn c thng tin phn hi lin tc t ni nhn trong qu trnh x l dng d liu. Chng ta c th tm tt tng quan trng ny nh sau:

142

Mt p li (acknowledgement) TCP xc nh s th t ca byte k tip m ni nhn ch i nhn. M hnh p li TCP c gi l tch lu bi v n cho bit bao nhiu d liu ca dng d liu c tch lu. C c u im v nhc im trong m hnh p li tch lu. Mt u im l vic tht lc p li khng nht thit phi truyn li d liu. Nhc im chnh l ni gi khng nhn c thng tin v tt c cuc truyn thnh cng, m ch l mt v tr trong dng d liu m ni nhn c nhn. hiu ti sao vic thiu thng tin v tt c cc cuc truyn thnh cng lm cho m hnh p li tch lu km hiu qu, chng ta hy hnh dung mt ca s tri ra trn 5000 byte bt u ti v tr 101 trong dng d liu, v gi s ni gi truyn i tt c d liu trong ca s bng cch gi i nm segment. Gi s thm rng segment u tin b mt, nhng cc segment khc n c nguyn vn. Khi mi segment n c, ni nhng li mt p li, nhng mi p li m t byte th 101, byte lin tc cao nht k tip m n ch i nhn. Khng c cch no ni nhn thng bo cho ni gi rng hu ht d liu ca ca s hin hnh n c. Khi b m thi gian ti ni gi ht hn, ni gi phi quyt nh gia hai m hnh m u c th khng hiu qu. N c th quyt nh truyn li mt segment hoc tt c nm segment. Trong trng hp ny vic truyn li tt c nm segment s khng hiu qu. Khi segment u tin n, ni nhn s c c tt c d liu trong ca s, v s p li l 5101. Nu ni gi thc hin theo chun c chp nhn v ch truyn li segment u tin khng c p li, n phi i li p trc khi c th bit d liu g v bao nhiu phi gi i. Nh th, n li tr v giao thc p li tch cc v nh mt u im ca vic c ca s ln. 7.2.11. Ht hn (Timeout) v vic truyn li Mt trong nhng tng quan trng v phc tp nht trong TCP c gn su vo cch n x l vic ht hn v truyn li. Cng ging nhng giao thc ng tin cy khc, TCP mong i my ch gi li li p bt c khi no n nhn thnh cng nhng byte mi t dng d liu. Mi khi n gi mt segment, TCP khi ng mt b m thi gian v i li p gi v. Nu b m thi gian ht hn trc khi d liu trong segment c p li, TCP gi nh rng segment b mt hay b hng, nn truyn li. hiu c ti sao thut gii truyn li ca TCP khc vi thut gii c s dng trong nhiu giao thc mng, chng ta cn nh li rng TCP nhm mc ch s dng trong mi trng internet, mt segment di chuyn gia mt cp my c 143

th i qua mt mng n c tr hon thp (v d, mng cc b tc cao), hay n c th di chuyn qua nhiu mng trung gian thng qua cc b nh tuyn. Nh th, khng th no bit c mt tiu chun v thi gian (mc nhanh) m cc li p c gi v ngun. Hn na, tr hon ti mi b nh tuyn cn tu thuc vo mc giao thng, v vy ton b thi gian cn thit mt segment di chuyn ti ch v mt p li i tr v ngun v cng khc bit tu vo tng thi im. Dung np tr hon khc nhau trn internet bng cch s dng mt thut gii truyn li c tnh nng hiu chnh. V bn cht, TCP kim tra hiu sut ca mi kt ni v iu chnh gi tr ca b m thi gian mt cch hp l. Khi hiu sut ca mt kt ni thay i. TCP s xem xt li gi tr b m thi gian ca n (ngha l, n cp nht, TCP ghi nhn thi im khi mi segment c gi i v thi im khi nhn c li p gi tr v i vi d liu trong segment . Da vo hai thi im ny, TCP tnh thi gian cch bit c bit di tn mu thi gian i trn mt vng. Bt c khi no n c c mt mu thi gian i trn mt vng mi, TCP iu chnh li nim ca n v thi gian trung bnh i trn mt vng cho kt ni ny. Thng thng, phn mm TCP lu tr mt c lng thi gian i trn mt vng, RTT, s dng lm gi tr trng s trung bnh v ly cc mu thi gian i trn mt vng mi t t thay i gi tr trng s trung bnh. Ly v d, khi tnh gi tr trng s trung bnh mi, mt k thut tnh gi tr trung bnh trc y s dng mt hng s lm h s, vi 0< <1, tnh gi tr trng s trung bnh c i vi mu thi gian i trn mt vng mi: RTT = ( * old RTT) + ((1 ) * mu thi gian i trn 1 vng mi) Vic chn gi tr cho gn vi 1 lm cho gi tr trng s trung bnh khng b nh hng bi nhng thay i trong mt thi gian ngn (v d, khi ch c mt segment b tr hon lu). Ngc li, vic chn gi tr cho gn vi 0 lm cho gi tr trung bnh thay i tc th theo nhng thay i ca s tr hon. Khi n gi mt gi d liu, TCP tnh gi tr cho b m thi gian theo mt hm ca c lng thi gian i trn mt vng hin ti. Cc ci t trc y ca TCP s dng mt hng s ( > 1) lm h s, gn cho b m thi gian gi tr ln hn c lng thi gian i trn mt vng hin ti: Time = * RTT Chn gi tr cho l mt cng vic kh khn. Mt mt, nhanh chng nhn bit vic mt gi d liu, gi tr ca b m thi gian phi gn

144

vi thi gian i trn mt vng hin ti (ngha l, phi gn bng 1). Vic nhn bit nhanh chng gi d liu b mt s hon thin hiu sut mng v TCP s khng phi i mt thi gian di mt cch khng cn thit trc khi truyn li d liu mt. Mt khc, nu = 1, TCP li tr nn nng n qu mc ch mt tr hon nh cng gy ra s truyn li khng cn thit, v nh th ph phm bng thng ca mng. c t ban u ngh gn cho = 2. Trong phn sau, chng ta s trnh by nhng nghin cu gn y, a ra nhng k thut tt hn cho vic iu chnhb m thi gian. Chng ta c th tm tt nhng tng va c trnh by: dung np c nhng tr hon khc nhau gp phi trong mi trng internet, TCP s dng thut gii truyn li c tnh nng hiuh chnh theo di nhng tr hon trn mi kt ni v iu chnh gi tr b m thi gian ca n mt cch tng ng. 7.2.12.X l khi gp nghn mng Dng nh rng phn mm TCP c th c thit k xem xt s tng tc gia hai u ca mt kt ni v s tr hon thng tin lin lc gia hai u ny. Tuy nhin, trong thc t TCP cng phi p ng vi s nghn mch trong internet. S nghn mch l mt trng thi m s tr hon l rt cao gy ra bi s qu ti cc datagram ti mt hay nhiu im (v d, ti cc b nh tuyn). Khi s nghn mch xy ra, tr hon gia tng v b nh tuyn bt u xp hng cc datagram cho n khi n c th chuyn chng i. Chng ta nh li rng my c kh nng lu tr gii hn (b nh gii hn) v cc datagram phi cnh tranh vo . Trong trng hp xu nht, tng s datagram gi n b nh tuyn (b nghn mch) tng ln cho n khi b nh tuyn t n kh nng (lu tr) ti a v bt u hu b nhng datagram n sau. Cc im u cui thng khng bit cc chi tit v ni xy ra s nghn mch hoc ti sao n xy ra. i vi chng, s nghn mch ch n gin c ngha l tr hon b gia tng. Tic thay, hu ht cc giao thc chuyn ch s dng b m thi gian v s truyn li, v vy chng phn ng li vi s tng tr hon bng vic truyn li cc datagram. Vic truyn cn lm ti t thm s nghn mch ch khng gii quyt c vn . Nu khng c kim tra, s gia tng giao thng s gy ra s tng tr hon, m nh th li lm gia tng giao thng, v.v.. cho n khi mng tr nn v dng. Tnh hung ny c gi l s sp do nghn mch.

145

7.2.12.1.K thut gim tht nhanh trnh s sp do nghn mch, TCP phi gim mt truyn khi xy ra nghn mch. Cc b nh tuyn theo di di hng i v s dng nhng k thut ging nh lm ngui ngun ICMP thng bo cc my tnh rng xy ra s nghn mch, nhng cc giao thc chuyn ch nh TCP c th gip trnh khi s nghn mch bng cch gim cng truyn mt cch t ng bt c khi no xy ra s tr hon. D nhin, cc thut gii trnh s nghn mch phi c xy dng cn thn bi v ngay c trong nhng iu khin hot ng bnh thng, mt internet cng s gp nhng bin i ln trong s tr hon ca thi gian i trn mt vng. trnh s sp do nghn mch, chun TCP hin ti ngh s dng hai k thut: khi u chm v gim tht nhanh theo cp s nhn. Chng c lin h vi nhau v c th c ci t mt cch d dng. Chng ta ni rng vi mi kt ni, TCP phi nh kch thc ca ca s ca ni nhn (ngha l, kch thc vng m c thng bo trong li p). kim sot vic nghn mch TCP duy tr mt gi tr gii hn th hai, c gi l gii hn ca s nghn mch hay n gin l ca s nghn mch, c s dng gii hn lng d liu mc t hn kch thc vng m ca ni nhn khi xy ra s nghn mch. C ngha l, ti thi im bt k, TCP duy tr mt ca s c kch thc: Kch thc c php = min (kch thc thng bo, kch thc ca s nghn mch) Trong trng thi n nh ca mt kt ni khng b nghn mch, ca s nghn mch c cng kch thc vi ca s ca ni nhn. Vic gim bt kch thc ca s nghn mch s lm gim bt giao thng m TCP s thc hin trn kt ni. c lng kch thc ca s nghn mch, TCP gi nh rng hu ht cc datagram b mt l do s nghn mch gy nn v s dng chin lc sau y: Trnh nghn mch bng cch gim theo cp s nhn: khi b mt mt segment, gim kch thc ca s nghn mch i mt na (cho ti khi ch cn kch thc ca mt segment). Vi nhng segment vn cn nm trong ca s c php, nhng b bng cch gia tng b m thi gian truyn li theo hm m.

146

Hnh 7.10: K thut gim tht nhanh ca TCP Bi v TCP gim bt kch thc ca s nghn mch i mt na cho mi ln b mt, n gim kch thc ca s i theo mt hm m nu cn tip tc mt. Ni mt cch khc, nu c hin tng nghn mch, TCP s gim lng giao thng theo hm m v c tc truyn li cng theo hm m. Nu vn tip tc b mt, th cui cng TCP gii hn dung lng truyn xung ch cn l mt datagram v tip tc nhn i gi tr b m thi gian trc khi truyn li. tng ca vic ny nhanh chng gim bt tht ng k lng giao thng cho php b m thi gian c thi gian x l cc datagram nm trong hng i. 7.2.12.2. K thut khi u chm Lm th no m TCP c th phc hi li sau khi khng cn nghn mch? Ta c th ngh rng TCP s phc hi vic gim theo cp s nhn v nhn i kch thc ca s nghn mch khi bt u truyn d liu. Tuy nhin, lm nh vy s to ra mt h thng khng n nh, b giao ng rt ln gia trng thi nghn mch v khng c giao thng. Thay v th, TCP s dng mt k thut c gi l khi ng chm (thut ng khi ng chm l do Jonh Nagle a ra; ban u k thut ny c gi l khi ng mm) gia tng t t vic truyn d liu: Phc hi theo cch khi ng chm (thm vo t t): bt c khi no khi ng giao dch (truyn d liu) trn mt kt ni mi hay gia tng lng 147

giao dch sau mt giai on b nghn mch, hay bt u vi kch thc ca s nghn mch bng mt segment v gia tng kch thc ca s nghn mch thm mt segment mi ln nhn c mt li p.

Hnh 7.10: K thut bt u chm ca TCP Vic khi ng chm s trnh cho internet b trn bi lng giao dch thm vo t ngt sau khi ht nghn mch hay khi mt kt ni mi t nhin khi ng. Thut ng khi ng chm c th khng chnh xc bi v di nhng iu kin l tng, vic khi ng khng phi l chm. TCP bt u vi kch thc ca s nghn mch l 1, gi mt segment u tin v i. Khi nhn c hiu tr li u tin, n tng kch thc ca s nghn mch thnh 2, n gi 2 segment v i. Khi nhn c hai tn hiu tr li k tip, mi ci tng kch thc ca s nghn mch thm 1 nn TCP c th gi 4 segment. Nhng tn hiu tr li cho cc segment ny s tng kch thc ca s nghn mch thnh 8. Ch trong 4 vng TCP c th gi i 16 segment, v y l kch thc gii hn ca ni nhn. Ngay c i vi nhng ca s tht ln ch cn sau log2N vng l TCP c th gi i N segment. trnh vic tng kch thc ca s qu nhanh v gy thm nghn mch, TCP b sung thm mt rng buc. Khi ca s nghn mch t n mt na kch thc ban u ca n

148

so vi trc khi xy ra nghn mch, TCP chuyn qua giai on trnh nghn mch v lm chm li mc tng. Trong sut giai on trnh s nghn mch, n ch tng kch thc ca s nghn mch thm 1 sau khi tt c cc segment trong ca s nhn c tn hiu tr li. Kt hp cc k thut ny li vi nhau tng chm kt hp khi ng, gim theo cp s nhn, trnh c s nghn mch, theo di s bin i, v tng b m thi gian theo hm m, s tng hiu sut ca TCP tht ng k m khng phi b sung thm nhng php tnh ton phc tp vo phn mm giao thc. Cc phin bn ca TCP s dng cc k thut ny tng hiu sut t 2 n 10 ln so vi cc phin bn trc. 7.2.12.3. K thut ct bt phn di khi nghn mng Nh chng ta bit, cc giao thc thng tin lin lc thng c chia thnh cc mc gip cho nhng ngi thit k ti mi thi im ch tp trung vo mt vn . Vic tch ri cc chc nng mc cn thit v hu dng iu ny c ngha l mt mc c th b thay i m khng nh hng n nhng mc khc. iu c ngha l cc mc hot ng mt cch ring bit. Ly v d, v TCP hot ng theo nguyn tc end to end, TCP vn gi nguyn khng i khi ng i gia hai u thay i (v d, nh tuyn thay i hoc c thm cc b nh tuyn). Tuy nhin, vic tch bit cc mc cng gii hn s trao i thng tin lin lc gia cc lp. C th l, mc d TCP ngun ban u tng tc vi TCP ti ch cui cng, n khng th tng tc vi cc thnh phn mc thp hn dc theo con ng gia hai u. Nh th, c TCP ni nhn ln TCP ni gi u khng nhn c cc bo co v nhng trng thi v iu kin trn mng, cng nh l c hai u u khng thng bo cho cc mc thp hn dc theo con ng trc khi truyn d liu. Nhng nh nghin cu quan st c rng vic thiu thng tin lin lc gia cc mc c ngha l nhng quyt nh v chnh sch v ci t ti mt mc c th c nh hng rt ln n hiu qu ca nhng mc cao hn. Trong trng hp ca TCP, nhng chin lc m cc b nh tuyn s dng x l datagram c th nh hng ng k n c hiu qu ca mt kt ni TCP cng nh lan truyn ra tt c cc kt ni. Nu b nh tuyn tr hon mt vi datagram lu hn nhng ci khc, TCP s gia tng gi tr ca b m thi gian cho ln truyn li. Nu tr hon vt qu thi gian ht hn ca ln truyn li, TCP s gi nh rng xy ra s nghn mch. Nh th, mc d mi lp c nh ngha mt cch c lp, nhng nh nghin cu c gng c c nhng c ch v s ci t lm vic tt vi nhng giao thc trong cc mc khc.

149

S giao tip quan trng nht gia cc chnh sch ci t IP v TCP xut hin khi b nh tuyn b qu ti v loi b bt nhng datagram pha sau. Bi v b nh tuyn lu trcc datagram gi n trong mt hng i ca b m nh cho n khi n c th c x l, chnh sch ny phi tp trung vo vic qun l hng i. Khi cc datagram c gi n nhanh hn l chng c chuyn i, th hng e di ra; khi cc datagram c gi n chm hn l chng c chuyn i, hng i c thu ngn li. Tuy nhin, bi v b nh l hu hn, hng i khng th di ra qu gii hn. Phn mm ca b nh tuyn trc y s dng chnh sch "ct bt phn ui" qun l vic hng i b trn: Chnh sch ct bt phn ui ca cc b nh tuyn: nu hng i ca d liu n b y, hu b nhng datagram gi tip theo sau. Tn ca n, "ct bt phn ui", phn nh nh hng chnh sch ny i vi cc datagram gi tip theo sau. Mt khi hng i b y, b nh tuyn d hu b tt c nhng datagram sau . Ngha l, b nh tuyn hu b "phn ui" ca chui d liu. Vic ct bt phn ui c nh hng ng k vi TCP, trong trng hp n gin khi cc datagram di chuyn qua b nh tuyn mang theo cc segment ca ch mt kt ni TCP, vic mt ny lm cho TCP i vo trng thi khi ng chm, ngha l gim bt tc truyn cho ti khi TCP bt u nhn c li p v gia tng kch thc ca s nghn mch. Tuy nhin, mt vn nghim trng hn c th xy ra, khi cc datagram di chuyn qua b nh tuyn mng theo cc segment ca nhiu kt ni TCP vic "ct bt phn ui" c th nh hng n ton b internet. thy c ti sao, cn lu rng cc datagram thng c mutiplex, trong cc datagram k tip nhau c th n t nhiu ngun khc nhau. Nh th, chnh sch "ct bt phn ui" c th gy ra kh nng b nh tuyn s hu b mt segment t N kt ni hn l N segment t mt kt ni. S mt datagram cng mt lc ny s lm cho N phin bn ca TCP chuyn sang trng thi khi ng chm cng mt lc. 7.2.12.4. K thut hu b sm ngu nhin (RED) Lm th no b nh tuyn trnh gy nh hng n ton b internet. Cu tr li chnh l mt m hnh thng minh hn trnh vic "ct bt phn ui" bt c khi no c th c. c t ten l hu b sm ngu nhin (Random Early Discard), m hnh ny thng c gi tt l RED. B nh tuyn ci t RED s dng hai gi tr chn trn v di nh du cc

150

v tr trong hng i: Tmin v Tmax. Mt cch tng qut, hot ng ca RED c th c m t bi ba quy tc: * Nu hin ti, hng di cha t hn Tmin datagram, thm datagram mi vo hng i. * Nu hng i cha nhiu hn Tmax datagram, hu b nhng datagram mi. * Nu hng i cha trong khong Tmin v Tmax datagram, hu b datagram mt cch ngu nhin tu theo 1 hm xc sut P. Tnh ngu nhin ca RED c ngha l thay v i n khi hng i b y v ri buc nhiu kt ni TCP phi chuyn qua trng thi khi ng chm, b nh tuyn hu b cc datagram mt cch ngu nhin v theo s gia tng ca s nghn mch. Chng ta c th tm tt: Chnh sch ca RED trong cc b nh tuyn: nu hng i ca d liu n b y khi c mt datagram gi n th s hu b datagram; nu hng i ca d liu n cha y nhng vt qua kch thc gii hn trn, trnh lm nh hng n ton b internet th phi hu b datagram mt cch ngu nhin theo mt hm xc sut P. im mu cht cho RED hot ng tt chnh l vic chn cc gi tr chn Tmin v Tmax, v hm xc sut P. Tmin phi ln m bo rng ng lin kt gi d liu i c s dng vi hiu sut cao. Hn na, bi v RED hot ng ging nh "ct bt phn ui" khi kch thc vt qu Tmax, nn Tmax phi ln hn Tmin mt lng c vo khong s gia tng kch thc hng i trong sut qu trnh i trn mt vng (v d, Tmax phi t nht ln gp i Tmin). Nu khng th RED cng gy ra cng nh hng nh l "ct bt phn ui". Vic tnh hm xc sut P l kha cnh phc tp nht ca RED. Thay v s dng mt hng s, mt gi tr mi ca P c tnh cho mi datagram; gi tr ny ph thuc vo mi quan h gia kch thc hng i hin ti v cc gi tr gii hn trn v gii hn di. hiu c m hnh ny, hy lu rng tt c tin trnh RED c th nhn di gc xc sut. Khi kch thc hng i nh hn Tmin, RED khng hu b bt k datagram no, th cho xc sut hu b l 0. Tng t, khi kch thc hng i nh hn Tmax, RED hu b tt c cc datagram n sau, th cho xc sut hu b l 1. i vi nhng gi tr trung gian khc ca kch thc hng i (ngha l nhng gi tr gia Tmin v Tmax), xc sut c th thay i t 0 n 1 mt cch tuyn tnh.

151

Mc d m hnh tuyn tnh hnh thnh nn c s ca php tnh xc sut cho RED, nhng cn phi c nhng hiu chnh trnh tnh trng phn ng "qu vi". S d cn c nhng thay i ny l v giao thng trn mng l theo tng "t", v gy ra nhng thay i qu nhanh ca hng tuyn tnh n gin, nhng datagram n sau trong mi t s c xc sut cao b loi b (bi v chng n khi hng i c nhiu datagram). Tuy nhin, b nh tuyn khng nn hu b nhng datagram ny mt cch khng cn thit, bi v lm nh th s tc ng xu n hiu sut ca TCP. Nu gp mt t (cc datagram) ngn, t c kh nng b loi bt datagram bi v hng i cha b y. D nhin, RED khng th tm hon vic hu b v thi hn bi v mt t di s lm y hng i, kt qu chng khc no chin lc "ct bt phn ui' v s gy ra nh hng n ton b internet. Lm th no RED c th gn mt xc sut hu b cao hn khi hng i b y m khng phi hu b datagram ca mi t? Cu tr li thuc v k thut c vay mn t TCP: thay v s dng kch thc tht ca hng i ti thi im , RED tnh kch thc hng i trung bnh c trng s avg v s dng kch thc trung bnh ny xc nh xc sut. Gi tr ca avg c cp nht mi khi c datagram gi n, theo phng trnh sau: Avg = (1 ) * Old_avg + * kch_thc_hng_i_hin_ti Vi c gi tr trong khong t 0 n 1. Nu gi tr ca nh, th gi tr trung bnh s co khuynh hng t thay di, v s t b nh hng i vi nhng t ngn (v d, gi tr l 0,002). Cng vi nhng phng trnh xc nh , RED cn bao gm nhng chi tit khc m chng ta pht l i. Ly v d, cc php tnh c th thc hin v cng hiu qu vi vic chn cc hng s l lu tha ca hai v s dng cc php tnh s hc trn s nguyn. Mt chi tit quan trng khc lin quan n vic o di ca hng i, m c nh hng n c vic tnh RED cng nh tc ng ca chng n TCP. C th, bi v thi gian cn chuyn datagram i l t l thun vi kch thc ca n, nn s hp l hn khi o hng i theo byte thay v theo datagram; lm nh th s ch i hi nhng thay i nh n nhng phng trnh cho v . Vic o kch thc hng i theo byte nh hng n kiu d liu b loi b bi v n tnh xc sut hu b t l thun vi tng s d liu m c chuyn i thay v s lng ca segment. Nhng datagram nh (v d, nhng datagram chuyn ti d liu cho vic kt ni t xa) s c xc sut b loi b thp hn nhng datagram ln (v d, nhng datagram chuyn ti d liu ca dch v truyn tp tin). Mt kt qu tch cc ca vic s dng kch thc l khi nhng li p di chuyn

152

trn mt con ng b nghn mch, chng s c xc sut b loi b thp hn. V kt qu l, nu mt segment d liu (ln) n c, th TCP ni gi s nhn c li p v s trnh c vic truyn li khng cn thit. C vic phn tch ln s nghn mch, trnh c nh hng n ton b internet gy ra bi "ct bt phn ui", v cho php gi i nhng t d liu ngn m khng b b nhng datagram. Hin ti IETF khuyn khch ci t RED trong cc b nh tuyn. 7.3. Thit lp, hu b, reset cc kt ni TCP 7.3.1. Thit lp mt kt ni TCP thit lp mt kt ni, TCP s dng m hnh bt tay ba bc. Hnh 7.11 trnh by tin trnh bt tay trong trng hp n gin nht.

Hnh 7.11: Qu trnh bt tay 3 bc kt ni TCP Segment u tin ca tin trnh bt tay c th c xc nh bi bit SYN ca n c lp (SYN l ch vit tt ca Synchronization) trong vng "CODE". Trong tn hiu th hai, c hai bit SYN v ACK u c lp, ch ra rng n c d liu segment, SYN u tin v tip tc vic bt tay. Tn hiu bt tay cui cng ch l mt li p v n gin dng thng bo cho ch rng c hai bn cng ng kt ni. Thng thng, phn mm TCP trn mt my i mt cch th ng cho vic bt tay cn phn mm TCP trn my khc th khi to n. Tuy

153

nhin, vic bt tay c thit k mt cch cn thn c th lm vic ngay trong trng hp c hai my u thc hin kt ni cng mt lc. Nh th, mt kt ni c th c thit lp t mi bn hoc ng thi t hai bn. Mt khi kt ni c thit lp, d liu c th di chuyn theo hai chiu. Khng phn bit chnh hay ph. Vic bt tay ba bc l iu kin cn v c s ng b chnh xc gia hai u kt ni. hiu c ti sao, chng ta hy nh li rng TCP xy dng trn dch v pht chuyn khng tin cy, v th cc thng ip c th b mt. Vn kh khn xut hin nu cc yu cu ban u v yu cu c truyn li n trong khi kt ni ang c thit lp, hay cc yu cu c truyn li b tr hon cho n sau khi mt kt ni c thit lp, ang s dng v kt thc. Vic bt tay ba bc s gii quyt cc vn ny (cngvi quy tc TCP b qua nhng yu cu tip theo cho mt kt ni sau khi kt ni c thit lp). Khi to s th t Vic bt tay ba bc t c hai chc nng quan trng, n bo m rng c hai pha u sn sng truyn d liu (v chng ta cng bit c hai pha u sn sng), n cho php c hai pha ng vi nhau v vic khi xng s th t. Cc s th t ny c gi i v lu li trong qu trnh bt tay. Mi my phi chn ngu nhin s th t ban u m s s dng xc nh cc bytes trong dng d liu n ang gi i. cc s th t c th khng lun bt u vi cng mt gi tr. C th, TCP khng th n gin ch chn s th t 1 mi khi n to mt kt ni. D nhin, iu quan trng l c hai pha u ng vi con s khi u, cho s lng byte c s dng trong tn hiu tr li ging vi s c s dng trong segment d liu. thy c cc my tnh c th thng nht vi nhau v cc s th t cho hai dng d liu ch vi ba thng ip (sau ba bc), chng ta hy nh li rng mi segment bao gm c vng s th t v vng li p. My tnh khi xng vic bt tay, gi l my A, gi i s th t khi u ca n, x, trong vng s th t ca segment SYN u tin trong qu trnh bt tay ba bc. My tnh th hai, B, nhn SYN, ghi nhn s th t, v tr li bng cch gi i s th t khi u ca n trong vng s th t cng li p xc nh rng B ch i byte th x+1. Trong thng ip cui cng ca vic bt tay, A p li vic nhn t B tt c cc byte k t y. Trong mi trng hp, nhng li p u tun theo quy c v vic s dng con s ca byte k tip. Chng ta m t cch m TCP thng thc hin vic bt tay ba bc bng vic trao i cc segment cha ng lng thng tin ti thiu. Bi v 154

cch thit k giao thc, cng c th gi d liu i cng vi cc s th t khi u trong cc segment bt tay. Trong nhng trng hp , phn mm TCP phi gi li d liu cho n khi hon tt vic bt tay. Mt khi kt ni c thit lp, phn mm TCP c th gii phng d liu c gi trc y v nhanh chng pht chuyn n ti chng trnh ng dng ang i. Chng ta c th tham kho cc chi tit trong c t ca giao thc. 7.3.2. ng li mt kt ni TCP Hai chng trnh s dng TCP trnh by lin lc c th kt thc cuc trao i cch m p bng cch s dng thao tc "ng". Xt trong ni b ca n, TCP s dng kiu bt tay ba bc c sa i ng cc kt ni. Chng ta hy nh li rng cc kt ni TCP l hai chiu (d liu c th lu chuyn ng thi theo hai chiu) v chng ta xem nh chng cha hai dng truyn d liu c lp, mi dng theo mt chiu. Khi mt chng trnh ng dng thng bo cho TCP rng n khng cn d liu gi i na, TCP s ng kt ni theo mt chiu. ng mt na ca kt ni, v ri gi i mt segment c bit FIN c lp. TCP ni nhn d liu segment FIN ny v thng bo cho chng trnh ng dng ti pha n rng khng cn d liu no na (v d, s dng c ch end of file ca h iu hnh). Mt khi kt ni c ng li theo mt chiu no , TCP s t ch nhnthm d liu cho chiu . Trong lc , d liu vn c th tip tc di chuyn theo chiu ngc li cho n khi ni gi ong n li. D nhin, nhng li p vn tip tc di chuyn tr lini gi ngay c sau khi kt ni ng li. Khi c hai chiu c ng li, phn mm TCP ti mi bn s xo b nhng ghi nhn ca n v kt ni ny. Nhng chi tit v vic ng mt kt ni c nhiu im tinh t hn nhiu so vi nhng g va trnh by bi v TCP s dng mt kiu bt tay ba bc c sa i ng li mt kt ni. Hnh 7.12 trnh by cc th tc ny. S khc bit gia hai bt tay ba bc c s dng thit lp kt ni v ng kt ni xut hin sau khi mt my nhn c segment khi ng FIN. Thay v pht sinh ngay tc khc segment FIN th hai, TCP gi i mt li p v sau thng bo cho chng trnh ng dng (ca li yu cu) chm dt. Vic thng bo cho chng trnh ng dng v ly c s p li c th mt mt khong thi gian ng k (v d, n c th lin quan n s giao tip vi con ngi). Li p s ngn chn vic truyn li segment FIN khi ng trong sut qu trnh ch i. Cui cng, khi chng trnh ng dng ch th cho TCP chm dt hon ton kt ni, TCP gi i segment

155

FIN th hai v pha bn kia p li bng thng ip th ba, chnh l mt li p ACK.

Hnh 7.12: Kt thc kt ni TCP

7.3.3. Reset kt ni TCP Thng thng, mt chng trnh ng dng s dng thao tc ng kt thc mt kt ni khi n s dng chng xong. Nh th, vic ng cc kt ni c xem nh mt phn thng thng khi s dng, tng t nh vic ng tp tin. i khi, xut hin iu kin khng bnh thng lm cho mt chng trnh hay phn mm mng ph v i mt kt ni. TCP cung cp mt chc nng reset i vi nhng trng hp ngt kt ni khng bnh thng ny. reset mt kt ni, mt bn s khi xng vic kt thc bng cch gi i mt segment vi bit RST trong vng CODE c lp. Bn kia lp tc p li vi segment reset bng vic hu b kt ni. TCP cng thng bo cho chng trnh ng dng rng xy ra vic reset. Reset l thao tc hu b ngay tc thi, c ngha l vic truyn theo c hai chiu phi kt thc ngay lp tc, v cc ti nguyn nh vng m c gii phng. 7.3.4. My trng thi TCP Ging nh hu ht cc giao thc, hot ng ca TCP c th c gii thch tt nht thng qua mt m hnh l thuyt c gi l my trng thi hu hn (finite state machine). Hnh 7.13 trnh by my trng thi hu hn TCP, vi vng trn th hin trng thi v mi tn th hin vic chuyn i t trng thi ny sang trng thi khc. Nhn ghi trn mi trng thi cho thy nhng g TCP nhn c gy nn vic chuyn trng thi v nhng g n 156

gi i p li. Ly v d, phn mm TCP ti mi u c bt u trng thi CLOSE. Cc chng trnh ng dng phi a ra lnh "Passive open" ( i mt kt ni t my khc), hoc l lnh "active open" ( khi xng mt kt ni). Lnh "active open" lm cho mt trng thi chuyn t CLOSE sang SYN SENT. Khi TCP tun theo vic chuyn trng thi, n gi ra mt segment SYN. Khi u kia tr v mt segment c cha SYN cng vi ACK, TCP chuyn sang trng thi ESTABLISHED v bt u truyn d liu i.

Hnh 7.13: My trng thi TCP Trng thi TIME WAIT cho ta bit cch m TCP x l mt s vn xy ra vi vic pht chuyn khng c tin cy. TCP duy tr mt khi nim maximum segment lifetime (MSL), thi gian ti a mt segment c c th cn sng trong mt internet. trnh tnh trng c nhiu segment t cc kt ni trc nh hng n kt ni hin ti, TCP chuyn sang trng thi TIME WAIT sau khi ng li mt kt ni. N vn gi nguyn trng thi trong 157

khong thi gian gp i thi gian sng ti a ca mt segment trc khi xo b nhng ghi nhn ca n v kt ni ny. Nu c bt k segment trng lp n c kt ni ny trong thi hn ny. TCP s t chi x l chng. Tuy nhin, x l cc trng hp khi m li p cui cng b mt, TCP s p li cho nhng segment hp l v khi ng li b m thi gian. Bi v b m thi gian cho php TCP phn bit nhng kt ni c vi kt ni mi, n ngn nga vic TCP p li lnh RST nu u kia truyn li mt yu cu FIN. 7.3.5. Bt buc truyn d liu Chng ta ni rng TCP c t do phn chia dng d liu thnh cc segment truyn i m khng xt n kch thc ca n v truyn m chng trnh ng dng s dng. u im ln nht khi cho php TCP phn chia l s hiu qu. N c th tch lu lng byte trong vng m hnh thnh nn nhng segment c di hp l, lm gim bt vic truyn nhng d liu "qun l" trong phn u khi segment ch cha c vi byte d liu. Mc d s dng vng m hon thin c hiu sut ca mng, n c th nh hng n mt s ng dng. Chng ta hy th xem xt vic s dng kt ni TCP truyn nhng character t mt trm lm vic ti mt my xa. Ngi s dng mong mun c li p tc thi cho mi k t nhp vo. Nu TCP ti ni gi tm thi lu d liu trong vng m, li p c th b tr hon, c th ln n c trm k t. Tng t, bi v TCP ti ni nhn c th tm thi lu d liu trong vng m trc khi gi chng n cho chng trnh ng dng, vic bt buc ni gi truyn d liu i c th cha bo m cho vic pht chuyn. p ng c vi nhng ng dng tng tc nh trn, TCP cung cp mt thao tc push m chng trnh ng dng c th s dng p buc pht chuyn cc byte hin ang c trong dng d liu m khng phi i n lc y vng m. Thao tc push thc hin nhiu vic hn l buc TCP gi segment i. N cng yu cu TCP thit lp bit PSH trong vng code ca segment ny, cho d liu s c chuyn n chng trnh ng dng ni nhn. Nh th, khi gi d liu t mt trm lm vic, chng trnh ng dng s dng hm push sau mi ln nhp t bn phm. Tng t, cc chng trnh ng dng c th buc d liu xut c gi i v th hin tc thi trn trm lm vic bng cch gi hm push sau khi c d liu xut.

158

7.3.6. Cc cng TCP c dnh ring Ging nh UDP, TCP kt hp vic lin kt cng tnh v cng ng, s dng mt tp hp cc php gn cng well known cho cc chng trnh thng dng (v d, th in t), nhng cng dnh ra rt nhiu cng cho h iu hnh cp pht khi chng trnh cn n. Mc d chun ban u dnh ring cc cng nh hn 256 lm cc cng well known, by gi th cc gi tr ln hn 1024 c gn. Ph lc cui gio trnh ny lit k mt s cng TCP hin ti c gn. Chng ta cng cn lu rng mc d cc gi tr cng TCP v UDP l c lp, nhng ngi thit k quyt nh s dng cng mt gi tr cng cho bt k dch v tn min (domain name) c th c truy xut vi TCP hoc UDP. Trong cc giao thc ny, gi tr cng 53 c dnh ring. 7.3.7. Vn Silly Window Syndrome 7.3.7.1. Silly Window Syndrome v nhng gi d liu nh Nhng nh nghin cu tham gia trong vic pht trin TCP nhn thy mt vn nghim trng v hiu qu m ta c th gp phi khi cc chng trnh gi v nhn hot ng nhng tc khc nhau. hiu c vn , chng ta hy nh li rng TCP lu tr d liu gi n trong vng m, v xem xt chuyn g c th xy ra nu chng trnh nhn quyt nh phi c d liu mi ln mt byte. Khi mt kt ni c thit lp ln u tin, TCP ni nhn cp pht mt vng m K byte, v s dng vng Window trong nhng segment p li thng bo cho ni gi bit kch thc hin ti vng m. Nu chng trnh ng dng ni gi pht sinh d liu qu nhanh, TCP ni gi s truyn cc segment vi d liu cho ton b ca s. Cui cng th, ni gi s nhn c ls thng bo rng ton b ca s cha y d liu, khng c vng trng no cn li trong vng m. Khi chng trnh ng dng ni nhn c mt byte d liu t vng m y, th s c c mt vng vng trng (mt byte). Chng ta ni rng khi c c vng trng trong vng m ca n, TCP ni my nhn s pht sinh mt li p c s dng vng Window thng bo cho ni gi. Trong v d ny, ni nhn s thng bo mt ca s ln 1 byte. Khi bit c rng c vng trng, TCP ni gi s p li bng cch truyn i mt segment c cha mt byte d liu. Mc d vic thng bo ca s mt byte hot ng tht chnh xc gi cho vng m ca ni nhn lun lun y, nhng kt qu l to ra nhiu segment nh. TCP ni gi phi hnh thnh mt segment c cha mt byte d

159

liu, t segment ny vo mt IP datagram ri truyn n i. Khi chng trnh ng dng ni nhn c thm byte khc, TCP pht sinh li p khc, m lm cho ni gi s truyn i mt segment khc cha mt byte d liu. Vic truyn cc segment c kch thc nh chim dng bng thng ca mng mt cch khng cn thit v cng to thm nhng php tnh khng cn thit. Vc truyn cc segment c kch thc nh chim dng bng thng ca mng bi v mi datagram ch chuyn ti m byte d liu; t l gia phn u v d liu l rt ln. Cc tnh ton cng gia tng bi v TCP ti my tnh gi v my tnh nhn u phi x l mi segment. Phn mm TCP ti ni gi phi cp pht khong trng lm vng m, hnh thnh phn u ca segment, v tnh checksum cho segment ny. Tng t nh vy, phn mm IP trn my gi phi ng gi segment ny vo mt datagram, tnh checksum phn u, v truyn n n b giao tip mng thch hp. Ti my nhn, IP phi kim tra checksum ca segment, xem xt s th t, trch ra phn d liu, v t n vo vng m. Mc d chng ta m t kt qu gy ra nhng segment nh khi ni nhn thng bo kch thc ca s nh, ni gi cng c th lm cho ghi bn trong v ca s hin hnh, nhng s tr hon vic thng bo vic gia tng kch thc ca s cho ni gi, cho n khi ca s c th gia tng mt kch thc ng k. Vic xc nh bao nhiu l ng k cn tu thuc vo kch thc vng m ca ni nhn v kch thc ti a ca segment. TCP nh ngha n l gi tr ti thiu ca mt ca ca kch thc vng m ni my nhn hay s lng cc byte d liu trong mt segment c kch thc ti a. C ch trnh vn Silly Window Syndrome ca ni nhn ngn chn vic thng bo ca s c kch thc nh trong trng hp m chng trnh ng dng ni nhn trch cc byte d liu ra mt cch chm chp. Ly v d, khi vng m ca ni nhn hon ton y, n s gi i mt li p trong thng bo mt ca s c kch thc zero. Khi chng trnh ng dng ni nhn trch cc byte ra t vng m, TCP ni nhn s tnh s lng khong trng trong vng m. Tuy nhin, thay v gi i tc th mt thng bo v kch thc ca s, ni nhn s i cho n khi lng khong trng t n mt na ca kch thc vng m hay l kch thc ti a ca segment. Nh th, ni gi lun nhn c mt lng gia tng ln trong ca s hin hnh;iu ny cho php n truyn i nhng segment ln. Chng ta c th tm tt c ch ny nh sau: Trnh vn Silly Window Syndrome ti ni nhn: trc khi gi thng bo v kch thc cp nht ca ca s sau khi thng bo ca s vi

160

kch thc zero, i n khi c vng trng t nht 50% ca kch thc vng m hay bng vi kch thc ti a ca segment. 7.3.7.2. Cc li p c tr hon C hai cch tip cn c chn ci t k thut trnh vn Silly Window Syndrome ti ni nhn. Trong cch tip cn u tin, TCP p li cho mi segment gi n, nhng khng thng bo vic gia tng kch thc ca s ca n cho n khi kch thc ny t n gii hn c xc nh bi c ch trnh vn Silly Window Syndrome. Trong cch tip cn th hai, TCP tr hon vic gi li p khi m kch thc ca ca s cha ln nh xc nh bi c ch trnh vn Silly Window Syndrome. Cc chun thng khuyn khch s dng cch tip cn th hai. Vic tr hon gi li p c c u im v nhc im. u im ln nht l: bi v vic tr hon gi li p c th lm gim lu lng v nh vy tng hiu sut. Ly v d, nu c thm d liu n trong sut thi gian tr hon, ch cn mt li p li cho tt c d liu gi n. Nu chng trnh ng dng ti ni nhn tr li ngay tc khc sau khi nhn c d liu(v d, k t th hin trn mn hnh ca my truy xut t xa), vic tr hon mt thi gian ngn cng trnh vn Silly Window Syndrome. Hn th na, TCP khng th dch chuyn ca s n cho n khi chng trnh ng dng ni nhn trch d liu ra khi vng m. Trong nhng trng hp m chng trnh ng dng ni nhn c d liu ra ngay khi n c gi n, mt thi gian tr hon ngn s cho php TCP gi i ch mt segment p li v er thng bo v kch thc ca s mi cp nht. Nu khng tr hon li p, TCP s gi li p tc th ngay khi d liu n, v sau li gi i mt li p na thng bo kch thc ca s mi cp nht. Nhc imng ca vic tr hon li p cng tht r rng. Quan trng nht l: nu ni nhn tr hon vic gi li p qu lu, TCP ni gi s truyn li segment ny. Vic truyn li khng cn thit ny s lm gim hiu sut bi v s dng phung ph bng thng ca mng. ng thi, vic truyn li cng i hi nhng bc tnh ton to my gi v my nhn. Hn na TCP s dng thi im n ca li p uc lng thi gian i trn mt vng; vic tr hon li p c th lm sai lch gi tr c lng v lm cho vic truyn li ko ra qu di. trnh nhng vn ny, chun TCP a ra mt gii hn v thi gian TCP tr hon gi li p. Cc ci t khng th tr hon mt li p lu hn 500 miliseconds. Hn th na, bo m rng TCP nhn s lng ca

161

cc c lng thi gian i trn mt vng, chun ngh rng ni nhn khng c b qua vic p li cho hai segment d liu lin nhau. 7.3.7.3. Trnh vn Silly Window Syndrome ti ni gi C ch m TCP ni gi s dng trnh vn Silly Window Syndrome tht l p v lm ta ngc nhin. Chng ta nh li rng mc ch l trnh vic gi i nhng segment nh. Lu rng chng trnh ng dng ni gi c th pht sinh d liu theo nhng khi c ln bt k (v d, mt ln byte). Nh th, t c mc ch ny, TCP ni gi phi cho php chng trnh ng dng ni gi thc hin nhiu cuc gi ghi chp, v phi tp hp d liu c truyn i trong mi ln gi trc khi truyn n i trong mt segment ln. Ngha l, TCP ni gi phi tr hon vic gi mt segment cho n khi n c th tch lu mt lng d liu ng k. K thut ny c gi l to nhm. Cu hi t ra l, "TCP nn i trong bao lu trc khi truyn d liu ti?" Trong trng hp, nu TCP i qu lu, chng trnh ng dng s b tr hon lu. Quan trng hn na, TCP khng th bit c nn i hay khng bi v n khng th bit chng trnh ng dng s cn pht sinh thm d liu trong tng lai gn hay khng. Nhng ngc li, nu TCP khng i lu, s to ra nhng segment nh v s to ra hiu sut thp. Cc giao thc c thit k u tin cho TCP gii quyt vn ny v s dng cc k thut to nhm d liu thnh nhng packet ln. Ly v d, t c vic truyn hiu qu qua mng, cc giao thc ti trm xa trc y tr hon vic truyn mi k t bn phm vi trm milisecond xc nh xem ngi s dng c cn tip tc g phm na khng. Tuy nhin, bi v TCP c thit k tng qut, n c th c s dng bi rt nhiu ng dng khc nhau. Cc k t c th di chuyn qua mt kt ni TCP bi v ngi s dng ang g vo bn phm hay bi v mt chng trnh ang truyn mt tp tin. Vic c nh thi hn tr hon l khng ti u cho mi chng trnh ng dng. Ging nh thut gii TCP s dng cho vic truyn li v thut gii khi ng chm c s dng trnh vic nghn mch, k thut m TCP ni gi s dng trnh nhng gi d liu nh c kh nng iu chnh tr hon tu thuc vo hiu sut hin ti ca internet. Ging nh khi ng chm, vic trnh vn Silly Window Syndrome ti ni gi c gi l t tnh thi gian bi v n khng tnh tr hon. Thay v th, TCP s dng s gi tr v ca mt li p kch hot vic truyn thm nhng gi d liu. C ch ny c th tm tt nh sau: 162

Trnh vn Silly Window Syndrome ti ni gi: khi chng trnh ng dng ti ni gi pht sinh thm d liu gi qua mt kt ni m d liu trc c truyn nhng cha nhn c li p, t d liu mi vo vng m dnh cho d liu xut nh thng thng, nhng khng gi thm cc segment cho n khi c d liu in vo segment c ln ti a. nu nhn li p n trong khi ang i, th gi i tt c d liu c tch lu trong vng m. p dng quy tc ny ngay c khi ngi s dng yu cu thao tc push. Nu mt chng trnh ng dng pht sinh mi ln mt byte d liu, TCP s tc thi gi i byte u tin. Tuy nhin, cho n khi nhn c li p, TCP s tch lu thm cc byte vo vng m ca n. Nh th, chng trnh ng dng nhanh so vi mng (ngha l, vic truyn tp tin), mi segment tip theo s cha nhiu byte. Nu chng trnh ng dng l tng i chm so vi mng (v d, ngi s dng a vo t bn phm), nhng segment nh s c gi i m khng b tr hon lu. c bit di tn thut gii Nagle, k thut ny tng i hiu qu, bi v n i hi t bc tnh ton. Mt my tnh khng cn phi duy tr ring mt b m thi gian cho mi kt ni, my tnh cng khng cn kim tra ng h khi mt chng trnh ng dng pht sinh d liu. Quan trng hn, mc d k thut ny chp nhn nhng kt hp bt k ca vic tr hon trn mng, kch thc ti a ca segment, tc ca chng trnh ng dng, n vn khng lm gim hiu sut mng trong nhng trng hp thng thng. hiu c ti sao hiu sut vn c duy tr mc cao trong nhng trng hp bnh thng, chng ta cn rng cc chng trnh ng dng c ti u ho c hiu sut cao s khng pht sinh mi ln mt byte d liu (nh th cng s lm gia tng thm nhng bc tnh ton ca h iu hnh). Thay v vy, n to ra mi ln mt khi d liu ln. Nh th, vng m dnh cho d liu xut ca TCP s bt u vi y d liu cho t nht mt segment c kch thc ti a. Hn na, bi v chng trnh ng dng to ra d liu nhanh hn kh nng truyn d liu ca TCP, vng m dnh cho d liu xut thng xuyn y, v TCP s khng tr hon vic truyn i. Kt qu l, TCP tip tc gi i cc segment theo bt k tc no m internet c th chp nhn, trong khi chng trnh ng dng vn tip tc a d liu vo vng m. Chng ta c th tm tt: Hin gi TCP i hi ni gi v ni nhn cn ci t nhng c ch trnh vn Silly Window Syndrome. Ni nhn cn trnh thng bo mt ca

163

s nh, v ni gi s dng mt m hnh c th hiu chnh tr hon vic truyn sao cho n c th nhm d liu li trong nhng segment ln.

164

Cu hi v Bi tp 7.1. TCP s dng mt vng hn cha cc s th t segment. Hy tm hiu c t giao thc bit cch m n cho php mt segment c di bt k chuyn t my ny sang my kia. 7.2. Di nhng tnh hung no ca s tr hon, bng thng, ti v vic mt packet lm cho TCP truyn li mt lng d liu ng k mt cch khng cn thit. 7.3. u l nhng lp lun cho vic ng li nhng kt ni trng thi khng ti? u l nhng lp lun chng i? 7.4. Cu trc c th ca TCP segment ? 7.5. Chi tit hot ng ca giao thc ca s trt ? 7.6. Quy trnh bt tay ba bc ca TCP 7.7. X l khi nghn mng ca TCP ?

165

Chng 8

nh tuyn IP
8.1. Khi nim nh tuyn IP 8.1.1. Khi nim nh tuyn trong mt lin mng Internet Trong mt h chuyn gi, vic nh tuyn (routing) tham chiu ti tin trnh chn la ng gi gi d liu qua, v b nh tuyn (router) tham chiu ti my tnh s thc hin chn la ny. Vic nh tuyn xy ra mt s mc. V d, trong mt mng din rng c nhiu lin kt vt l gia cc b chuyn gi (packet switches), bn thn mng c trch nhim cho vic nh tuyn cc gi d liu t khi chng n cho n khi chng i. Vic nh tuyn ni b l hon ton t bao hm trong mng ton cc. Cc my tnh bn ngoi khng th tham gia vo nhng quyt nh; chng n thun xem mng nh mt thc th pht chuyn gi d liu. Chng ta nn nh rng mc ch ca IP l to ra mt mng o bao gm nhiu mng vt l v cung cp dch v pht chuyn datagram theo ni kt khng trc tip. V th, chng ta s tp trung vo vic pht chuyn IP, cn c gi l nh tuyn Internet (Internet routing) hay nh tuyn IP. Thng tin c s dng thc hin cc quyt nh nh tuyn c bit di tn thng tin nh tuyn IP (IP routing information). Ging nh vic nh tuyn trong mt mng vt l, nh tuyn IP chn mt con ng m datagram phi c gi qua . Khng ging nh vic nh tuyn trong mt mng n, thut gii nh tuyn IP phi chn cch gi mt datagram i qua i qua nhiu mng vt l. Vic nh tuyn trong mt Internet c th l mt vic kh khn, c bit l gia cc my tnh c nhiu lin kt mng vt l. Mt cch l tng, phn mm nh tuyn s xem xt mc giao thng trn mng, di ca datagram, hay kiu ca dch v c xc nh trong phn u datagram khi chn con ng ngn nht. hiu y v vic nh tuyn IP, chng ta phi xem li kin trc ca TCP/IP Internet. Trc ht chng ta nh li rng mt Internet bao gm nhiu mng vt l c ni trong (Internet) bi cc my tnh gi l b nh tuyn (ruoters). Mi b nh tuyn c nhng lin kt trc tip vi hai hay nhiu mng. Ngc li, mi my tnh thng ni trc tip ti mt mng vt l. Tuy nhin, chng ta bit rng cng c kh nng mt my c ni trc tip vo nhiu mng (gi l multi homed).

166

C my tnh ln b nh tuyn u tham gia vo vic nh tuyn mt IP datagram ti ch ca n. Kch mt chng trnh ng dng trn my tnh thc hin vic lin lc, th cc giao thc TCP/IP pht sinh mt hay nhiu IP datagram. My tnh phi thc hin mt quyt nh nh tuyn khi u khi n chn ni gi datagram Vn nh tuyn trn Internet c thc hin da trn cc bng nh tuyn (routing table) c lu ti cc trm (host) hay trn cc thit b nh tuyn (router). Thng tin trong cc bng nh tuyn c cp nht t ng hoc do ngi dng cp nht. Cc phm tr dng trong nh tuyn l: Tnh c th tm c (reachability) dng cho EGP (Exterior Gateway Protocol) Vect khong cch (Vector Distance) gia ngun v ch dng cho RIP Trng thi kt ni (link state) nh thng tin v kt ni (di thng, ti) dng cho OSPF Khng c giao thc nh tuyn no l ton din, tu vo c tnh, kch thc ca mng chn ph hp. Mng nh, ng nht nn dng RIP, i vi cc mng ln c topo phc tp nn dng OSPF... 8.1.2. nh tuyn IP 8.1.2.1. Nguyn tc hot ng Trong vn nh tuyn, ngi ta phn bit hai loi, l nh tuyn trc tip v nh tuyn gin tip. Vic truyn gia hai my c gi l trc tip khi hai my c ni vi nhau vo cng mt mng vt l. Cn nh tuyn khng trc tip xy ra khi c my ngun v my ch khng cng ni vo mng vt l, v vy vic truyn tn hiu gia chng phi c thc hin thng qua cc Gateway. kim tra xem my ch c nm trn cng mt mng vt l vi my ngun hay khng th ngi gi phi tch ly phn a ch mng ca my ch trong phn a ch ch ca gi d liu (datagram), v so snh vi phn a ch mng trong phn a ch IP ca n. Nu hai a ch ny l ging nhau th datagram s c truyn trc tip, nu khng th trm gi phi xc nh mt gateway truyn cc datagram thng qua gateway. Gateway ny s hng v mng ch ca gi d liu

167

V d: khi c mt mng ln bao gm nhiu mng cc b ni vi nhau bi cc gateway, ch c hai trm cch xa nhau v hai pha. Khi mt trm ngun mun gi cc gi d liu n mt trm khc th n phi ng gi d liu vo mt khung (Frame) v gi n n gateway gn nht. Khi mt frame n mt gateway, modul IP s cn c vo a ch ch xc nh Gateway tip theo m gi i qua, sau s gi gi tin n gateway ,...cho n khi gi tin n ch.

Hnh 8.1: nh tuyn trc tip v gin tip 8.1.2.2. nh tuyn trc tip Chng ta bit rng mt my trn mng vt l c th gi mt frame vt l trc tip ti my khc trn cng mng. truyn mt IP datagram, ni gi s ng gi datagram trong frame vt l, nh x a ch IP ch vo a ch vt l, v s dng phn cng mng truyn n i. Trong chng 5 chng ta trnh by hai c ch cho vic gii a ch, bao gm vic s dng giao thc ARP cho vic kt hp a ch ng trn cc mng ging Ethernet. Trong chng 7 chng ta tm hiu vic ng gi datagram. Nh th, chng ta xem qua tt c cc phn cn thit hiu vic pht chuyn trc tip. Vic truyn mt IP datagram gia hai my trn cng mt mng vt l s khng c s tham d ca b nh tuyn. My gi s ng gi datagram trong frame vt l, kt hp a ch IP vi a ch phn cng, v gi frame kt qu trc tip n my ch.

168

Lm th no m my gi bit my ch c c ni trc tip vi mng hay khng? Khng kh khn lm kim tra vic ny. Chng ta bit rng cc a ch IP c chia thnh hai phn, tin xc nh mng v hu xc nh my tnh. xem my ch c ni trc tip vo cng mng khng, my gi s trch ra phn mng ca a ch IP ch v so snh n vi phn mng ca a ch IP ca n. Nu chng ging nhau, ngha l c th gi datagram i trc tip. Cho ti y, chng ta thy mt trng nhng u im ca m hnh a ch Internet: V cc a ch Internet ca tt c cc my trn cng mt mng c phn tin t mng ging nhau v vic trch ra phn tin t ch i hi vi ch th my, nn n rt hiu qu trong vic kim tra xem mt my c c ni trc tip vo mng khng. T gc Internet, c th xem pht chuyn trc tip l bc cui cng trong vic truyn mt datagram bt k, ngay c khi datagram di chuyn qu nhiu mng v cc b nh tuyn trung gian. B nh tuyn cui cng ca datagram s ni trc tip vo cng mng vt l nh my ch. Nh th, b nh tuyn cui cng s pht chuyn datagram theo cch pht chuyn trc tip. Chng ta c th xem vic pht chuyn trc tip gia ngun v ch nh mt trng hp c bit ca vic nh tuyn trong nh tuyn trc tip datagram khng phi i qua bt k mt b nh tuyn no. 8.1.2.3. Pht chuyn gin tip Pht chuyn gin tip s kh khn hn pht chuyn trc tip bi v my gi phi xc nh tuyn ny phi truyn datagram ny i n mng cui cng ca n. hnh dung xem vic nh tuyn gin tip lm vic nh th no, hy tng tng mt Internet ln c nhiu mng ni vi nhau thng qua cc b nh tuyn nhng ch c hai my hai u. Khi mt my mun gi cho my khc, n ng gi datagram v gi n b nh tuyn gn nht. Chng ta bit rng datagram c th n c mt b nh tuyn v tt c cc mng vt l c ni (interconnetct) vi nhau, nn phi c mt b nh tuyn ni vo mi IP s chn b nh tuyn k tip dc theo con ng hng ti ch. datagram li c t vo trong frame v gi qua mng vt l phn mm l k tip n c nh tuyn th hai; qu trnh tip tc, cho n khi n c th c pht chuyn trc tip. Chng ta c th tm tt tng ny nh sau:

169

Cc b nh tuyn trong mt TCP/IP Internet hnh thnh nn mt cu trc cng hp tc v lin kt (Internet). Cc datagram i t b nh tuyn ny n b nh tuyn m c th pht chuyn datagram mt cc trc tip. Lm sao mt b nh tuyn bit ni no gi mt datagram n? Lm th no mt my tnh bit c b nh tuyn no c s dng cho mt ch n cho trc? hai cu hi ny c lin h vi nhau bi v chng lin quan n vic nh tuyn IP. Chg ta s tr li nhng cu hi ny trong hai bc, tm hiu thut gii nh tuyn da trn bng v tm gc li vic tm hiu v cch m b nh tuyn hc ng cc tuyn ng mi. 8.1.2.4. Bng nh tuyn Bng nh tuyn (hay cn gi l bng thng tin chn ng) l ni lu thng tin v cc ch c th ti c v cch thc ti ch . Khi phn mm nh tuyn IP ti mt trm hay mt cng truyn nhn c yu cu truyn mt gi d liu, trc ht n phi tm trong bng nh tuyn, quyt nh xem s phi gi datagram n u. Tuy nhin, khng phi bng thng tin chn ng ca mi trm (hay cng) u cha tt c cc thng tin v cc tuyn ng c th ti c. Mt bng thng tin chn ng bao gm cc cp (N,G). Trong : - N: a ch ca IP mng ch - G: a ch cng tip theo dc trn ng truyn ti mng N. Nh vy, mi cng truyn khng bit c ng truyn y i n ch. Trong bng nh tuyn cn c nhng thng tin v cc cng c th ti nhng khng nm trn cng mng vt l. Phn thng tin ny c che khut i v c gi l mc nh (default). Khi khng tm thy cc thng tin v a ch ch cn tm, cc gi d liu s c gi ti cng truyn mc nh

Hnh 8.2: V d v bng nh tuyn trn trm lm vic Windows 170

ngha ca cc trng: Destination: a ch ch ca mng hay trm. Gateway: cng dng ti ch c ch nh. Interface: tn giao din mng c dng ca tuyn ng ny. Hnh 8.3 l mt v d v bng nh tuyn ch trc tip v ch gin tip.
12.0.0.3 Gateway Network 12.0.0.0 12.0.0.1
3 4 1

14.0.0.2 Network 14.0.0.0


2

Gateway

12.0.0.2 14.0.0.1 13.0.0.1 Network 13.0.0.0

15.0.0.1

11.0.0.2

13.0.0.2 13.0.0.3
5

Network 15.0.0.0
6

15.0.0.2

16.0.0.1 Network 16.0.0.0

Network 11.0.0.0

Port 1
8

16.0.0.2

Port 3

10.0.0.1

11.0.0.1 Port 2

Network 10.0.0.0
7

16.0.0.3 10.0.0.2

Hnh 8.3: S mng v nh tuyn


Bng nh tuyn gateway 8 To host on network 10.0.0.0 11.0.0.0 12.0.0.0 13.0.0.0 14.0.0.0 Route the datagram Direct Direct 11.0.0.2 Direct 13.0.0.2 Across this physical port 2 1 1 3 3

171

15.0.0.0 16.0.0.0

10.0.0.2 10.0.0.2

2 2

8.1.2.5. nh tuyn n trm k tip S dng phn mng ca a ch ch thay v ton b a ch ca my lm cho vic nh tuyn hiu qu v gi cho bng nh tuyn c kch thc nh. Quan trng hn na, n gip cho vic che giu thng tin, gi cho cc chi tit thng tin c th ca my ch c bit trong mi trng cc b m cc my ny hot ng trong . V c bn, mt bng nh tuyn bao gm cc cp (N, G), vi N l a ch IP ca mng ch, v G l a ch IP ca b nh tuyn k tip trn con ng ti mng N. B nh tuyn G c gi l trm k, v tng ca vic s dng mt bng nh tuyn lu tr chng k cho mi ch c gi l nh tuyn trm k. Nh th, bng nh tuyn trong mt b nh tuyn G ch xc nh mt bc k tip trn con ng t G n mt mng ch b nh tuyn khng bit ton b con ng n ch. iu quan trng cn hiu l mi dng trong mt bng nh tuyn tr ti mt b nh tuyn m c th i n c thng qua mt mng n. Ngha l, tt c cc b nh tuyn c lit k trong bng nh tuyn ca my M phi nm trong mng (c th nhiu hn mt mng) m my M c ni trc tip vo. Khi mt datagram sn sng i ra khi my M, phn mm IP xc nh a ch IP ch v trch ra phn mng M, phn mm IP xc nh a ch IP ch v trch ra phn mng. Sau M s dng phn mng thc hin quyt nh nh tuyn, chn ra mt b nh tuyn m c th n c trc tip. Trong thc t, chng ta cng p dng nguyn l che du thng tin i vi cc my tnh. Chng ta lp lun rng mc d my tnh c bng nh tuyn IP, chng cng ch gi thng tin ti thiu trong bng. tng l buc my tnh da vo b nh tuyn cho hu ht vic nh tuyn. Vic la chn nh tuyn ch da trn ID mng ch cng c mt vi h qu. Trc ht, trong hu ht cc ci t, n c ngha rng tt c cc giao dch i n mt mng cho trc, s i theo cng mt con ng. Kt qu l, ngay c khi tn ti nhiu con ng, chng c th khng c s dng cng lc. Hn na, tt c cc loi giao dch u tun theo cng mt con ng m khng cn n tr hon, hay tc ca cc mng vt l. Th hai, bi v ch c b nh tuyn cui cng trn con ng s lin lc vi my ch, ch n c th xc nh rng my tnh ny ti hay hot ng khng. V th, chng ta cn sp xp mt cch b nh tuyn gi bo co v cc vn pht 172

chuyn ngc tr v ngun ban u. Th ba, bi v mi b nh tuyn thc hin (chuyn) giao dch mt cch c lp, datagram di chuyn t my A n my B c th i theo mt con ng hon ton khc vi datagram di chuyn t my B n my A. Chng ta cn m bo rng cc b nh tuyn cng hp tc bo m lun lun c c lin lc hai chiu. 8.1.2.6. nh tuyn mc nh Mt k thut khc c dng che du thng tin v gi cho bng nh tuyn c kch thc nh hp nht nhiu thng tin (ng) v mt trng hp mc nh. tng ny nhm mc ch cho phn mm nh tuyn IP trc ht tm kim mng ch trong bng nh tuyn. Nu khng tm ra, th tc nh tuyn s gi datagram ti b nh tuyn mc nh. nh tuyn mc nh c bit hu dng khi mt ni ch c mt lng nh cc a ch cc b v ch c mt ci ni vo phn cn li ca Internet. V d, nh tuyn mc nh lm vic rt tt trong cc my tnh c ni vo mng vt l n v ch c mt b nh tuyn dn ti phn cn li ca Internet. Quyt nh nh tuyn bao gm hai bc kim tra: mt cho mng cc b v mt mc nh tr ti ch c mt b nh tuyn. Ngay c khi ni ny c mt vi mng cc b, vic chuyn knh cng n gin bi v n bao gm ch vi bc kim tra cho cc mng cc b cng vi mt mt c cho cc ch khc. 8.1.2.7. nh tuyn xc nh my Mc d chng ta ni rng mi vic nh tuyn da trn mng m khng da trn nhng my n, hu ht phn mm nh tuyn IP cho php vic nh tuyn theo my, c xc nh nh l mt trng hp c bit. Vi vic nh tuyn theo my, ngi qun tr mng cc b c quyn iu khin vic s dng mng, c php kim tra, v cng c th c dng kim sot vic truy xut cho cc mc ch an ton v bo mt. Khi bt li cc lin kt mng cng nh bng nh tuyn, kh xc nh mt ng i c th ti tng my l c bit hu dng. 8.1.2.8. Thut ton nh tuyn IP Thut ton nh tuyn c m t nh sau:

173

Hnh 8.4: Thut ton nh tuyn IP - Gim trng TTL ca gi IP. - Nu TTL=0 th: + Hu gi d liu + Gi thng ip ICMP bo li cho thit b gi. - Nu a ch ch l mt trong cc a ch IP ca cc kt ni mng trn h thng, ngha l gi d liu IP c gi chnh cho h thng ny, th x l gi d liu IP ti ch. - Xc nh a ch mng ch bng cch nhn logic (AND) mt n mng (network mask) vi ch IP ch. - Nu a ch mng ch khng tm thy trong bng nh tuyn th tm tip trong tuyn ng mc nh, sau khi tm trong tuyn ng mc nh m khng tm thy cc thng tin v a ch ch th hu b gi d liu ny v gi thng ip ICMP bo li "mng ch khng n c" cho thit b gi. - Nu a ch mng ch bng a ch mng ca h thng, ngha l thit b ch c kt ni trong cng mng vi h thng, th tm a ch mc lin kt tng ng trong bng thch ng a ch IP MAC (bng giao thc APR), nhng gi IP trong gi d liu mc lin kt v chuyn tip gi IP trong mng. - Trong trng hp a ch mng ch khng bng a ch mng ca h thng th chuyn tip n thit b nh tuyn cng mng.

174

Thng thng, khi kt ni cc mng cc b LAN mc lin mng IP, s dng cc b nh tuyn IP, ngi ta gn mt a ch (phn) mng IP thuc mt lp a ch IP no cho mt mng LAN, tu theo ln ca mng LAN . Nh vy, s a ch mng IP s tng nhanh chng, ph thuc vo nhu cu kt ni cc mng cc b, lm cn dn ngun ti nguyn a ch mng. gii quyt vn ny, ngi ta s dng mt phn a ch mng IP c. Cu trc mng IP trn c s phn mng IP cn c gi l cu trc phn mng IP (subnet topology). a ch phn mng IP s c gn cho cc mng cc b cn c kt ni. i vi "bn ngoi" ta vn ch c mt mng IP. Thc cht, cc mng cc b "bn trong" c kt ni trn c s phn mng IP, s dng cc b nh tuyn cc b. xc nh a ch phn mng, c th dng mt n phn mng (subnet mask), tng t nh mt n mng. Mt n phn mng khng nht thit phi bt u v kt thc danh gii byte. Thng thng, ngi ta chn phn a ch thit b cui lm a ch phn mng sao cho a ch mng v a ch phn mng to thnh a ch lin tc. V d: nu a ch phn mng thuc lp B th byte cao ca phn a ch thit b cui c chn lm a ch phn mng. Mt n mng v mt n phn mng, v vy, cng to thnh mt mt n lin tc. Tt c cc trm lm vic trong cng mt phn mng IP s c cng gi tr mt n phn mng.
E 192.10.1..2 192.10.1..2 R1 132.12.1.1 R2 192.10.1..2 R1 132.12.2.1 132.12.1.1 132.12.2.1 E 192.10.1..2 192.10.1..2

192.10.1..1

A 132.12.2.2

D 132.12.2.3 132.12.1..2

A 132.12.1.3

C 132.12.2..1

D 132.12.2.3

132.12.1.3 132.12.2.1

a) cu hnh phn mng sai

b) cu hnh phn mng ng

Hnh 8.5: V d v cu hnh phn mng Khi kt ni cc mng cc b trn c s phn mng IP, cc phn mng IP ny phi c kt ni ton phn (fully interconnected) m bo nh tuyn hot ng ng. Trong hnh a) trn, E mun chuyn d liu cho C m

175

khng bit mng 132.12.0.0 c cu hnh thnh cc phn mng 132.12.1.0 v 132.12.2.0. y cng chnh l c trng cu trc phn mng IP: i vi cc mng IP "bn ngoi" th ch tn ti mng 132.12.0.0. E s chuyn gi d liu cho C qua R1 da trn nguyn tc nh tuyn phn mng IP (tng t nh nh tuyn IP) s dng mt n phn mng IP. 8.1.2.9. nh tuyn vi cc a ch IP Chng ta cn hiu mt iu quan trng l ngoi tr vic gim bt thi gian sng v tnh li checksum, nh tuyn IP khng lm thay i datagram ban u. C th, cc a ch datagram ngun v ch s khng b thay i, chng lun lun m t a ch IP ca ngun ban u v a ch IP ca ch cui cng (ch mt ngoi l xy ra khi datagram cha mt chn la record route). Khi IP thc hin thut gii nh tuyn, n chn mt a ch IP mi, a ch IP ca my m datagram s c gi tip. Tuy nhin, nu datagram c th c pht chuyn trc tip, a ch mi s ging nh a ch ca ch cui cng. Chng ta ni rng a ch IP c chn bi thut gii nh tuyn IP c bit di tn a ch trm k tip bi v c bit ni no m datagram s c gi n trong bc kt tip. IP lu tr a ch trm k tip u? Khng phi trong datagram; khng c ch dnh ring cho n. Thc ra, IP khng h lu tr a ch trm k tip. Sau khi thc hin thut gii nh tuyn, IP truyn datagram v a ch trm k tip n phn mm giao tip mng m trch cho mng phn cng m datagram phi c gi trn . Phn mm giao tip mng lin kt a ch trm k tip vi a ch vt l, to nn mt frame vi a ch vt l , t datagram vo phn d liu ca frame, v gi kt qu i. Sau khi s dng a ch trm k tip tm ra a ch vt l, phn mm giao tip mang s hu b a ch trm k tip. Thot nhn c v hi k quc khi cc bng nh tuyn li lu tr a ch IP ca trm k tip cho mi mng ch trong khi cc a ch phi c din dch thnh a ch vt l tng ng trc khi datagram c gi i. nu chng ta hnh dung khi mt my tnh gi mt chui cc datagram ti cng mt a ch ch, vic s dng cc a ch IP s v cng km hiu qu. IP lm trn bn phn trch ra a ch ch trong mi datagram v s dng bngnh tuyn c c a ch trm k tip. Sau n truyn datagram v a ch trm k tip tib giao tip mng, m n s tnh li lin kt a ch vi a ch vt l. Nu bng nh tuyn s dng a ch vt l, vic lin kt gia a ch IP ca trm k tip v a ch vt l c th c thc hin ch mt ln, gim c thi gian tnh ton khng cn thit.

176

Nhng ti sao phn mm IP trnh s dng cc a ch vt l khi lu tr v thut ton nh tuyn? C hai l do quan trng. - Trc ht, bng nh tuyn cung cp mt giao tip c bit r rng gia phn mm IP pht chuyn cc datagram v phn mm cp cao s dng vic nh tuyn. truy tm li cho cc vn nh tuyn, ngi qun tr mng thng cn kim tra cc bng nh tuyn. Ch s dng a ch IP trong bng nh tuyn lm cho ngi qun tr d hiu hn v d hn trong vic xc nh phn mm c cp nht thng tin nh tuyn mt cch chnh xc khng. - Th hai, mc ch ca Internet Protocol l xy dng mt s tru tng m che du cc chi tit ca mng c s h tng.

Hnh 8.7: nh tuyn IP 8.1.2.10. X l cc datagram gi n Trong nhng phn trc, chng ta tm hiu vic nh tuyn IP bng vic m t cch thc hin cc quyt nh nh tuyn i vi cc gi d liu c gi i. Tuy nhin, chng ta bit rng phn mm IP cng phi x l cc datagram c gi n. Khi mt datagram n mt my, phn mm giao tip mng chuyn n ti module IP x l. Nu a ch ch ca datagram ging vi n v chuyn n n phn mm giao thc cp cao hn chuyn tip. Nu a ch IP khng ging, my tnh phi hu b datagram (ngha l my tnh khng c php chuyn i nhng datagram m n tnh c nhn c). Khng ging nh my tnh, b nh tuyn thc hin nhim v nh tuyn. Khi mt IP datagram n mt b nh tuyn, n c chuyn n 177

phn mm IP. V li c hai trng hp: datagram c th n c ch cui cng ca n, hoc n c th phi c chuyn n trm k tip. Cng nh vi my tnh, nu a ch IP ca datagram ging vi a ch IP ca b nh tuyn, phn mm IP chuyn datagram n phn mm giao thc cp cao hn x l (thng thng, nhng datagram c xc nh gi n cho b nh tuyn l nhng ci c dng kim tra ng truyn hoc nhng datagram chuyn ti cc lnh qun tr b nh tuyn, nhng b nh tuyn cng phi cng phi gi cha n ch cui cng tin trong bng nh tuyn ca n. Vic xc nh xem mt IP datagram n c ch cui cng ca n hay cha, khng hon ton l mt vic tm thng nh ta tng. Chng ta nh li rng ngay c mt my tnh cng c th c nhiu lin kt mng (vt l), mi ci c a ch IP ring. Khi mt IP datagram n, my tnh phi so snh a ch Internet ch vi a ch IP ca mi lin kt mng ca n. Nu c trng hp ging, n s gi datagram v x l. My tnh cng phi nhn nhng datagram c qung b trn mng vt l nu a ch IP ch ca chng l a ch IP qung b trn hoc a ch IP qung b trc tip cho mng , cc a ch khng phn lp, mng con, v truyn nhiu hng cng lc (multicast) lm cho vic nhn bit a ch phc tp hn na. Trong trng no i na, nu a ch khng ging bt k a ch no ca my, IP s gim bt vng thi gian sng trong phn u datagram, hu b datagram nu gi tr vng ny l zero, hay tnh checksum mi v chuyn datagram i nu gi tr cn ln hn zero. Liu rng mi my s chuyn i nhng IP datagram m n nhn ? D nhin, b nh tuyn phi chuyn cc datagram i v l chc nng chnh ca n. Chng ta ni rng mt s my tnh multi homed hot ng nh b nh tuyn mc d ch l nhng h my tnh thng thng. Thng thng, s dng my tnh l b nh tuyn khng phi tng hay, nhng nu chn nh th, my tnh phi c cu hnh chuyn datagram nh l b nh tuyn. Cn i vi nhng my khc th sao, nhng my m khng s dng cho mc ch nh tuyn? Cu tr li l nhng my tnh khng c thit k lm b nh tuyn khng c chuyn i cc datagram m n nhn; chng phi hu b cc datagram . C bn l do ti sao mt khi my tnh khng c thit k lm b nh tuyn th khng nn thc hin cc chc nng nh tuyn. Trc ht, khi nhng my ny nhn c datagram d nh gi cho my khc, c nhiu iu g sai trong vic nh a ch Internet, vic nh tuyn, hoc pht

178

chuyn. Sai st ny c th khng c pht hin nu my tnh ny li chuyn datagram i. Th hai, vic chuyn i s to nn vic hot ng khng cn thit trn mng. Th ba, nhng li n gin cng c th gy nn s khng hong. Gi s mi my tnh u hot ng nh b nh tuyn, ta hy th hnh dung chuyn g s xy ra nu mt my tnh c qung b mt datagram m d nh cho my tnh H. V n c qung b, mi my tnh trn mng u nhn c datagram ny. Tt c cc my li chuyn datagram ny ti H, lm cho my H ny cht v nhn c qu nhiu datagram. Th t, s c trnh by trong chng sau, b nh tuyn lm nhiu vic hn l n thun chuyn datagram i. B nh tuyn s dng mt giao thc c bit thng bo cng mt li, cn my tnh th khng (mt ln na, trnh vic nhiu thng bo cng mt li dn ln mt my). B nh tuyn cng nhn bn thng tin nh tuyn bo m rng cc bng nh tuyn ca chng c nht qun. 8.1.2.11. Thit lp bng nh tuyn Chng ta tm hiu cch IP chuyn cc datagram da vo ni dung ca cc bng nh tuyn, m khng bn n cch m h thng khi ng cc bng nh tuyn ca chng hay cp nht chng khi mng thay i. Cc chng sau c dnh cho vn ny v tm hiu cc giao thc m cho php cc b nh tuyn c c thng tin nh tuyn nht qun. Vo lc ny, iu quan trng i vi chng ta l hiu rng phn mm IP s dng bng nh tuyn bt c khi no cn tm ng chuyn datagram i, v th vic thay i trong bng nh tuyn s lm thay i con ng m datagram s i qua. 8.2. kin trc cc backbone ng ng ca internet 8.2.1. Gii thiu chung v cc giao thc nh tuyn Mc d chng ta thy c s ca vic chuyn datagram, chng ta cha cp n cch m cc my tnh v b nh tuyn ly c thng tin cho cc bng nh tuyn ca chng. C hai kha cnh trong vn ny: nhng gi tr g phi c np vo bng, v lm th no m b nh tuyn ly t ng cc gi tr . C hai chn la u tu thuc phc tp ca kin trc v thc ca internet cng nh cc chnh sch qun tr. Ni chung, vic thit lp cc nh tuyn bao gm vic khi ng v cp nht. Mi b nh tuyn phi thit lp mt tp hp cc tuyn ng ban u khi khi ng (bt my), v n phi cp nht bng ny khi tuyn ng thay i (v d, khi b giao tip mng b hng). Vic khi ng tu thuc vo h iu hnh. Trong mt s h iu hnh, b nh tuyn c bng nh tuyn

179

ban u t b nh ph (a cng, ROM) khi khi ng, v duy tr n trong b nh chng (RAM). Vi mt s h khc, h iu hnh bt u vi mt bng trng, sau t ng in vo cc tuyn ng bng cch thc hin cc lnh c th (v d, cc lnh c trong tp tin lnh khi ng). Cui cng cng c nhng h iu hnh bt u bi mt tp hp cc tuyn ng c c t a ch ca cc mng cc b m ni vo b nh tuyn ri sau lin lc vi cc b nh tuyn ln cn c thm v cp nht tuyn ng. Mt khi xy dng xong bng nh tuyn ban u, b nh tuyn phi cp nht nhng thay i trong nhng tuyn ng. Trong nhng internet nh, thay i chm, ngi qun l c th thit lp v sa i tuyn ng mt cch th cng. Tuy nhin, trong mi thng tin ln v thay i nhanh, khng th no cp nht mt cch th cng c v d b sai st do con ngi). Cn c phng php t ng cp nht. Cc giao thc nh tuyn ng c cc Router dng lin lc vi nhau nh cc giao thc RIP (Routing Information Protocol), OSPF (Open Shortest Path First) v BGP (Border Gateway Protocol). Router dng phng php nh tuyn ng thng bo cho cc Router lng ging l hin thi n ang lin kt ti mng no. Tin trnh Router ang chy mt giao thc nh tuyn lin lc vi cc Router lng ging gi l Routing Daemon. Routing Daemon cp nht bng nh tuyn ca nhn (kernel) h thng vi thng tin n nhn c t cc Router lng ging. nh tuyn ng khng lm thay i cch h thng thc hin nh tuyn ti tng IP, gi l c ch nh tuyn (routing mechanism). Kernel vn tm kim bng nh tuyn ca n theo cch tng t, trc ht n tm cc tuyn cho host, cc tuyn cho mng v cui cng nu khng c a ch mng no tng ng th n s dng cc tuyn mc nh (default route). Cc tuyn trong bng nh tuyn c thm bt mt cch t ng bng mt tin trnh Routing Daemon khi cc tuyn thay i theo thi gian. Mt tin trnh Routing Daemon s thm mt chnh sch nh tuyn (routing policy) vo h thng, chn cc tuyn no t vo bng nh tuyn ca Kernel. Nu mt Daemon tm c nhiu tuyn ti mt ch, n s chn tuyn no tt nht chn vo bng nh tuyn. Nu Daemon tm thy mt tuyn hng (c th do router hng hoc do ng thoi hng), n c th xo cc tuyn b nh hng hoc thm vo cc tuyn thay th sa li. Trong mt h thng nh Internet, nhiu giao thc nh tuyn khc c dng. Mng xng sng NSFNET ca Internet thit lp mt h thng khi tt c cc router trong backbone nm di mt s iu khin qun tr n. Mi 180

h thng c th chn giao thc nh tuyn ring cho n lin lc gia cc router trong h thng , c gi l IGP (Interior Gateway Protocol) hoc giao thc nh tuyn lin min (Interdomain Routing Protocol). IGP thng dng nht l RIP. Hin nay dng IGP mi hn l OSPF (Open Shortest Path First).

Hnh 8.8: Hai h giao thc nh tuyn IGP & EGP Cc giao thc nh tuyn ngoi gi l EGP (Exterior Gateway Protocol) hoc l giao thc nh tuyn lin min (Interdomain Routing Protocol) c dng gia cc router trong cc h thng khc nhau. Mt EGP mi l BGP c dng gia cc mng xng sng NSF NET. 8.2.2. Kin trc cc backbone ng ng ca Internet, h t qun 8.2.2.1.nh tuyn vi thng tin bn phn S khc bit v nguyn l gia b nh tuyn v cc my tnh thng thng l im cc my tnh thng bit rt t v cu trc ca internet m chng kt ni, cc my tnh khng c y kin thc v tt c cc a ch ch c th c, thm ch khng bit c y kin thc v tt c cc a ch mng c th c. Thc ra, nhiu my tnh ch c hai tuyn ng trong bng nh tuyn ca chng: mt con ng cho mng cc b v mt con ng mc nh cho b nh tuyn gn . My tnh gi tt c nhng datagram

181

khng dnh cho my cc b n b nh tuyn cc b chuyn i. Nh vy im mu cht l: Mt my tnh c th chuyn datagram mt thnh cng ngay c khi n ch c mt phn thng tin nh tuyn bi v n c th da vo b nh tuyn. Liu b nh tuyn cng c th chuyn datagram i khi ch c mt phn thng tin. Cu tr li c th, nhng ch trong nhng tnh hung nht nh. hiu cc tnh hung ny, hnh dung mt internet l h thng ng x mc ngoi vi nhng con ng c du hiu ch ng t ti giao l. Hy tng tng rng ta khng c bn , cng khng th hi ngi hng dn bi v ta khng th ni ting a phng, ta cng khng bit g v cc a danh c trong du hiu ch ng, nhng ta cn i ti ngi lng c tn Sussex. Ta tip tc cuc hnh tnh ca mnh, i theo con ng duy nht ra khi thnh ph v bt u xem cc hiu ch dn. Du hiu u tin l: Norflok r tri; hammod phi; cn li th i thng (gi s rng du hiu ch dn c quc th ho, nn ta hiu c). Bi v ch n ca ta khng c trong hng dn c th, nn ta tip tc i thng. theo thut ng nh tuyn, chng ta ni rng ta i theo tuyn ng nh tuyn mc nh. Sau khi i qua mt s du hiu ch dn, cui cng ta thy mt du hiu l: Essese r tri; Sussex phi; cn li th i thng. Ta s phi, i theo mt s ch dn na, v tm thy con ng dm n Sussex. Chuyn i tng tng ca chng ta cng tng t nh mt datagram di chuyn trn internet, cc du hiu ch ng th tng t nh bng nh tuyn trong cc b nh tuyn dc theo ng i. Khi khng c bn hay nhng hng dn khc (hng dn vin chng hn) th vic di chuyn hon ton ph thuc vo du hiu ch ng, cng nh vic nh tuyn datagram trong internet ph thuc hon ton vo bng nh tuyn. R rng, hon ton c th i n ch mc d mi du hiu ch ng ch cha mt phn thng tin. Trung tm ca vn l tnh chnh xc. ly v d ngi du lch, ta c th t hi. "lm sao c th c bo m rng cc du hiu ch ng s dn n ch cui cng ca ti?" Ta cng c th hi "lm sao ti c th bo m rng cc du hiu ch ng s dn n ch cui cng ca ti theo con 182

ng ngn nht?" nhng cu hi ny s tr tr nn mi lo lng nu ta qua nhiu du hiu ch ng nhng vn cha thy du hiu n ch ca mnh. D nhin, cu tr li tu thuc vo m hnh ca h thng ng x v ni dung ca cc du hiu ch ng, nhng tng nn tng l khi xt trong bi cnh tng th, thng tin trn cc du hiu ch ng phi y v nht qun. Hy xem xt vic ny theo cch khc, chng ra s thy rng khng cn thit m mi giao l c du hiu cho mi ch n. Cc du hiu c th ch ra nhng con ng mc nh min sao tt c nhng du hiu ch ng c th ch ra con ng ngn nht, v r nhnh cho con ng ngn nht ti cc ch in t nh du. ch cn mt vi v d s gii thch cho ta nhng cch t c s nht qun. Trong thng tin hp cc oan nht, hy xt m hnh cc con ng c hnh dng sao m trong ch c duy nht mt con ng dn n mi lng, v tt c cc con ng ny gp nhau ti mt im. bo m s nht qun, du hiu ti giao l trung tm phi cha thng tin v tt c cc ch c th c. Trong thng tin cc oan khc, hy hnh dung mt nhm bt k cc con ng c cc du hiu ch ng ti tt c cc giao l lit k tt c cc ch c th c. bo m s nht qun, th ti giao l bt k nu du hiu cho ch D ch n con ng R, th khng th con ng no khc R li l con ng ngn nht i n D. C hai kin trc cc oan ny u khng lm vic tt i vi h nh tuyn internet. i vi thng tin hp u, cch tip cn giao l trung tm khng ph hp bi v khng c my no nhanh lm b nh tuyn trung tm cho mi giao thng i quan n. Trong thng tin hp th hai, trong thc t, khng c in t thng tin v tt c cc ch c th c trong tt c cc b nh tuyn bi v n i hi phi nhn bn nhng khi lng ln thng tin bt c khi no c thay i xy ra hay bt c khi no ngi qun tr cn kim tra s nht qun. V th, chng ta cn tm ra mt gii php m cho php cc nhm qun l b nh tuyn a phng mt cch t qun, c th thm vo mng mi v b nh tuyn mi m khng phi thay i nhng b nh tuyn xa. h tr cho vic gii thch mt s kin trc in t m t sau ny, hy xt mt m hnh th ba trong mt na s cc thnh ph nm v pha ng ca t nc v na cn li thuc v pha ty. Gi s c mt cy cu duy nht bc ngang con sng chia cch ng v ty. Gi s rng nhng ngi sng pha ng khng thch nhng ngi pha ty, v vy h vui lng cho php cc du hiu ch ng lit k cc ch n pha ng nhng khng 183

h c cc ch n pha ty. Gi s rng nhng ngi pha ty cng khng thch ngi pha ng (v cng khng c du hiu cho ng pha ng). Vic ch ng i s l nht qun nu mi du hiu ch ng pha ng lit k ra tt c cc ch pha ng mt cch tng minh v ch ra con ng mc nh i n cu, trong khi mi du hiu ch ng pha ty lit k ra mi ch n pha ty v ch ra con ng mc nh i n cu. 8.2.2.2. Kin trc nguyn thu ca Internet Hu ht kin thc ca chng ta v vic nh tuyn v cc giao thc nhn bn tuyn ng u c c t khi nghim v internet ton cu. Trc y, khi TCP/IP c pht trin ln u, cc n v tham gia nghin cu in t ni vo mng ARPANET, y l backbone ca internet. Trong qu trnh th nghim ban u, mi n v qun l cc bng nh tuyn v thit lp cc tuyn ng ti cc ch khc mt cch th cng. Khi internet bt u pht trin rng ln hn, th r rng l vic duy tr cc tuyn ng mt cch th cng l khng thc t; cn c nhng c ch t ng. Nhng ngi thit k in chn mt kin trc cho b nh tuyn bao gm mt tp hp nh cc b nh tuyn trung tm lu tr y thc thng tin v tt c cc ch c th c, v mt tp hp ln hn gm cc b nh tuyn bn ngoi lu tr thng tin bn phn. So snh tng t vi v d va ri, iu ny ging nh dnh ring mt tp hp nh cc giao l trung tm, ni y cc du hiu ch ng lit k ra tt c cc ch trung tm mng, v cho php cc giao l bn ngoi ch lit k cc ch a phng. Min sao con ng mc nh ti mi giao l bn ngoi ch ti mt trong nhng giao l trung tm, ngi du lch cng s c th n ch ca h. u im ca vic s dng thng tin bn phn trong cc b nh tuyn bn ngoi l n cho php ngi qun tr a phng c th qun l cc thay i cu trc a phng m khng nh hng n nhng phn khc ca internet. Khuyt im chnh ca n l c th dn n s khng nht qun (trong cc bng nh tuyn). Trong thng tin hp xu nht, mt li trong b nh tuyn bn ngoi c th dn n vic khng i n ch c. Chng ta c th tm tt cc tng ny nh sau: Bng nh tuyn trong mt b nh tuyn cha mt phn thng tin cc ch n. Vic nh tuyn s dng thng tin bn phn cho php n v t qun trong vic thc hin cc thay i nh tuyn a phng, nhng cng c th gy nn khng nht qun m c th lm cho mt s ch khng cn con ng i n. 184

S khng nht qun trong s cc bng nh tuyn thng xuyn hin t cc li trong nhng thut gii tnh cc bng nh tuyn, t cc d liu khng chnh xc cho nhng thut gii ny, hay t cc li xy ra trong khi truyn kt qu n cc b nh tuyn khc. Ngi thit k giao thc ang tm kim cc cch gii hn nh hng ca cc li, m ch ch l duy tr sao cho tt c cc tuyn nh tuyn u thng nht trong mi lc. Nu v l do no , cc tuyn ng tr nn khng nht qun, giao thc cng phi mnh nhn ra v sa cha cc li ny mt cch nhanh chng. Quan trng nht l, cc giao thc phi c thit k gii hn nh hng ca cc li. 8.2.2.3. B nh tuyn ch cht Ni mt cch n gin, cc b nh tuyn internet ban u c th c phn thnh hai nhm, mt tp hp nh cc b nh tuyn ch cht c iu khin bi trung tm iu hnh mng Internet (Internet Network Operation Center INOC) v mt tp hp ln hn gm cc b nh tuyn khng ch cht c iu hnh bi cc nhm ring l. H thng ch cht c thit k cung cp s tin cy, nht qun, cc tuyn ng nh tuyn hp thc cho tt c cc ch c th; n l cht kt dnh gi li vi nhau v m cho s kt ni ton cu tr thnh iu khin thc. Mi n v c gn cho mt a ch mng phi sp xp thng bo a ch cho h thng ch cht. Cc b nh tuyn ch cht thng tin lin lc ln nhau, v vy chng ta th bo m rng thng tin chng chia x vi nhau l nht qun. Bi v cc thnh vin trung tm gim st v iu khin cc b nh tuyn ch cht, chng rt ng tin cy. hiu c y h thng cc b nh tuyn ch cht, chng ta cn nh l rng internet php trin cng vi mng din rng, ARPANET, tn ti ri. Khi c mt s kinh nghim v internet, nhng ngi thit k ly ARPANET l backbone chnh xy dng. Nh th mt phn ln ng lc cho s ra i ca h cc b nh tuyn ch cht n t mong mun kt ni mng cc b v ARPANET. Hnh 8.9. Minh ho tng ny.

185

Hnh 8.9: Cc router ch cht hiu c ti sao mt kin trc nh th khng a bn thn n ti s nh tuyn vi bn phn thng tin, hy gi s rng mt internet ln bao gm hon ton nhng mng cc b, mi mng c ni vo mt mng backbone thng qua b nh tuyn. Chng ta cng hy hnh dung rng mt s b nh tuyn da vo tuyn ng mc nh. By gi chng ta hy xt con ng m datagram i qua. Ti n v ngun, b nh tuyn a phng kim tra xem c cha con ng i c th n ch khng; nu khng c, n gi datagram i theo con ng c xc nh bi tuyn ng mc nh. i vi tt c cc datagram m b nh tuyn khng c con ng i c th cho n, th u i theo cng mt nh tuyn mc nh bt k ch n cui cng ca chng. Tng t nh vy i vi b nh tuyn k tip trn ng i ca datagram, n chuyn datagram n ch hoc li gi theo tuyn ng mc nh. bo m s nht qun ton cu, giy chuyn ca cc tuyn ng mc nh phi i qua mi b nh tuyn theo mt chu trnh, nh trong hnh 8.10. Nh th, kin trc ny i hi tt c cc n v a phng cng phi hp tuyn ng mc nh ca chng. Hn th na, s ph thuc vo cc nh tuyn mc c c th khng hiu qu ngay c khi chng nht qun. Nh trnh by trong hnh 8.10, trong trng hp xu nht datagram s i qua tt c n b nh tuyn khi n di chuyn t ngun n ch thay v i trc tip qua backbone.

186

Cc tuyn ng mc Hnh 8.10: Cc tuyn ng mc nh trnh s km hiu qu do cc tuyn ng mc nh gy ra, nhng ngi thit k internet b tr tt c cc b nh tuyn ch cht trao i vi nhau, thng tin nh tuyn cho mi ci s c y v cc nh tuyn ti u i n tt c cc ch. Bi v mi b nh tuyn ch cht bit ng i n tt c cc ch, n khng cn n tuyn ng mc nh. Nu a ch ch trn datagram khng c trong bng nh tuyn ca b nh tuyn ch cht, th b nh tuyn s pht sinh mt thng ip "khng th n ICMP" v hu b datagram. Nh vy, cch thit k ny b nh tuyn ch cht trnh in t s km hiu qu bng cch loi b tuyn ng mc nh.

Hnh 8.11: Cc h t qun ni vo ht nhn ca Internet Hnh 8.11 trnh by khi nim c s ca kin trc nh tuyn ch cht. Hnh ny cho thy h thng ch cht tp trung bao gm mt hay nhiu b 187

nh tuyn, v mt tp hp cc b nh tuyn bn ngoi ti mi n v. Cc b nh tuyn bn ngoi lu tr thng tin v cc ch a phng v s dng tuyn ng mc nh gi cc datagram, dnh cho cc n v khc, n b nh tuyn ch cht. Mc d kin trc c n gin ho minh ho trong hnh 8.11 l d hiu, nhng li khng thc t v ba l do. Trc ht, internet vt ra khi mt backbone duy nht, c qun l tp trung. Cu hnh ca n tr nn phc tp v cc giao thc cn duy tr tnh nht qun gia cc b nh tuyn ch cht khng cn bnh thng na. Th hai, khng phi mi n v u c th c mt b nh tuyn ch cht kt ni vi backbone, v vy cn c thm nhng giao thc v cu trc nh tuyn. Th ba, bi v cc b nh tuyn ch cht u giao tip ln nhau bo m s nht qun ca thng tin nh tuyn, kin trc ch cht khng t l vi kch thc bt k. 8.2.2.4. Kin trc ch cht v cc backbone ng ng S ra i ca backbone NSFNET trong internet to thm s phc tp i vi cu trc nh tuyn. T quan im ca h nh tuyn ch cht, s kt ni vo NSFNET khng khc bit g hn kt ni vo nhng n v khc. NSFNET ni vo backbone ARPANET thng qua mt b nh tuyn duy nht ti Pittsbirgh. Cc b nh tuyn trong NSFNET bit v cc ch cc b v s dng tuyn ng mc nh gi i tt c cc d liu khng phi NSFNET n h thng nh tuyn ch cht thng qua b nh tuyn Pittsburgh. Khi NSFNET pht trin v tr thnh phn chnh yu ca Internet, th r rng rng kin trc nh tuyn ch cht khng cn p ng. S thay i khi nim quan trng nht xut hin khi nhiu kt ni c thm vo gia cc backbone ARPANET v NSFNET. Chng ta ni rng c hai tr nn cc mng backbone ng ng, hay gi tt l ng ng. Hnh 8.12. minh ho kt qu ca cu hnh ng ng.
Host 1
ARPANET BACKBONE

Host 3

R1

R2

R3

Host 2

NSFNET BACKBONE

Host 4

188

Hnh 8.12: Cc backbone ng ng

hiu nhng kh khn ca vic nh tuyn IP gia cc backbone ng ng, chng t hy xt tuyn ng t my 3 n my 2 trong hnh 8.12. hy gi s v mt a l, my 3 min ty ni vo backbone NSFNET, cn my 2 min ng ni vo backbone ARPANET. Khi thit lp cc tuyn ng gia my 3 v my 2, nhng nh qun l phi quyt nh hoc l (a) chuyn d liu t my 3 thng qua b nh tuyn min ty. R1, v ri i qua backbone ARPANET, hoc l (b) chuyn d liu t my 3 i qua backbone NSFNET, thng qua b nh tuyn min trung ty, R2, v ri i qua backbone ARPANET n my 2, hoc l (c) chuyn d liu i qua backbone NSFNET, thng qua b nh tuyn min ty, R3, v ri n my 2. Cng c con ng khc vng vo hn, d liu c th di chuyn t my 3 i qua b nh tuyn min ty, i qua backbone ARPANET n my 2. Tuyn ng nh th c th in t v cng c th khng in t khuyn khch s dng, tu vo cc chnh sch s dng mng v kh nng ca mt s b nh tuyn. i vi hu ht cc cu hnh backbone ng ng, ng i gia mt cp my tnh gn nhau v mt a l s i theo tuyn ng ngn nht. c lp vi nhng tuyn ng c chn cho cc giao dch xuyn quc gia. Ly v d, giao dch t my 3 n my 1 s i qua b nh tuyn min ty bi v n gim thiu khong cch trn c hai backbone. Tt c nhng g va trnh by nghe c v n gin, nhng li rt phc tp khi ci t bi v hai l do. Trc ht, mc d thut gii nh tuyn IP chun s dng phn mng ca mt a ch IP chn con ng, khi vic nh tuyn ti u trong mt kin trc backbone ng ng i hi nhng tuyn ng ring cho tng my. Vi v d ca chng ta trn bng nh tuyn trong my 3 cn c nhng con ng khc nhau i vi my 1 v my 2, mc d c hai my 1 v 2 u ni vo backbone ARPANET. Th hai, ngi qun l ca hai backbone phi thng nht vi nhau duy tr nhng

189

tuyn ng nht qun trong tt c cc b stream hoc xy ra khi cc tuyn ng trong mt nhm cc b nh tuyn to thnh mt vng trn. Chng ta c th tm tt nh sau: Kin trc nh tuyn ch cht quy nh mt tp hp ch cht b nh tuyn trung tm phc v nh kho lu tr thng tin v tt c ch cht ch trong internet. H ch cht hot ng tt nht trong nhng internet ch c mt backbone c qun l tp trung. Vic m rng cu hnh ra nhiu backbone lm phc tp thm vic nh tuyn; vic phn chia kin trc ch cht sao cho tt c b nh ch cht tuyn s dng tuyn ng mc nh c th dn n ch cht vng lp nh tuyn. 8.2.2.5. T ng nhn bn nh tuyn Chng ta ni rng cc h internet ch cht ban u trnh c cc tuyn ng mc nh bi v n nhn bn thng tin y v tt c cc ch n mi b nh tuyn ch cht. Nhiu c quan by gi cng s dng m hnh tng t cc b nh tuyn trong c quan chy nhng chng trnh trao i vi nhau thng tin nh tuyn. Cc on tip theo s tm hiu hai loi thut gii c bn tnh v nhn bn thng tin nh tuyn, v s dng giao thc nh tuyn ch cht ban u minh ho mt trong nhng thut gii ny. Phn tip theo m t mt giao thc s dng kiu khc ca thut gii. Thot nhn, dng nh cc c ch t ng nhn bn nh tuyn l khng cn thit, c bit i vi cc internet nh. Tuy nhin, internet khng phi lun lun c nh. Cc kt ni c th b hng v c thay th sau . Cc mng c th b qu ti ti thi im no v c th sau li t c s dng. Mc ch ca cc c ch nhn bn tuyn ng khng ch n thun l tm mt tp hp cc tuyn ng, nhng lin tc cp nht thng tin. Con ngi khng th nhanh chng p ng vi nhng thay i; phi s dng cc chng trnh my tnh. Nh th, khi chng ta ngh v vic nhn bn tuyn ng, iu quan trng cn lu l cch p ng nng ng ca cc giao thc v cc thut gii.

190

8.3. thut gii nh tuyn c bn 8.3.1. nh tuyn theo Vector khong cch (Pellman Ford) 8.3.1.1. Khi nim nh tuyn theo vector khong cch Thut gii vector khong cch (cn c gi l khong cch vector, Ford Fulkeson, bellman Ford, hay Bellman, vi cc tn sau cng chnh l tn ca nhng nh nhin cu tm ra thut gii) ch mt cc thut gii m b nh tuyn s dng nhn bn thng tin nh tuyn. tng trong thut gii vector khong cch rt l n gin. B nh tuyn duy tr mt danh sch ca tt c cc tuyn ng bit trong mt bng. Khi bt u hot ng, b nh tuyn khi ng bng nh tuyn ca n trong mi dng dnh cho mt mng c kt ni trc tip. Mi dng trong bng xc nh mt mng ch v thng tin v khong cch n mng , thng c theo s trm (s c nh ngha mt cch chnh xc sau ny) Mt cch nh k, mi b nh tuyn gi i mt bn sao ca bng nh tuyn ca n n b nh tuyn bt k no khc m n c th n c trc tip. Thut ng vector khong cch c c t thng tin c gi trong cc thng dip theo nh k. Mt thng ip cha danh sch cc cp (V, D), vi V xc nh mt ch (c gi l vector), v D l khong cch i n ch . Lu rng thut gii vector khong cch cho bit cc tuyn ng ca "ngi u tin" (ngha l, chng ta xem nh l b nh tuyn ra thng bo ti c th i n ch V vi khong cch l D"). Trong cch thit k , tt c cc b nh tuyn phi tham gia trong vic trao i vector khong cch c c cc tuyn ng c nht qun v hiu qu. Mc d thut gii vector khong cch d ci t, chng cng c nhng nhc im ln. Trong mi trng hon ton tnh, t thay i, thut gii vector khong cch nhn bn cc tuyn ng chuyn n tt c cc ch. Tuy nhin mt khi cc tuyn ng thay i nhanh chng cc php tnh ton c th khng n nh. Khi mt tuyn ng thay i (ngha l, mt kt ni mi xut hin hay mt ci c b hng), thng tin s nhn bn t b nh tuyn ny n b nh tuyn khc mt cch chm chp. trong khong thi gian , c nhng b nh tuyn cha ng thng tin nh tuyn khng chnh xc.

191

8.3.1.2. Giao thc Gateway to Gateway (GGP) Cc b nh tuyn ch cht ban u s dng giao thc vector khong cch c tn Gateway Protocol (GGP lu rng, mc d nhng nh sn xut a ra thut ng b nh tuyn IP, cc nh khoa hc trc y s dng thut ng IP gateway). Mc d GGP ch x l cc tuyn ng phn lp v khng cn l mt phn ca chun TCP/IP, n cung cp cho ta mt v d c th v vic nh tuyn theo vector khong cch. GGP c thit k di chuyn thng ip GGP c mt phn u c nh dng c nh xc nh kiu thng ip v nh dng ca cc vng cn li. Bi v, ch c cc b nh tuyn ch cht tham gia trongGGP, v bi v cc b nh tuyn cung cp c iu hnh bi n v ch huy trung ng, nhng b nh tuyn khc khng th can thip vo s thay i. H ch cht ban u c b tr cho php nhng b nh tuyn mi c thm vo m khng phi iu chnh cc b nh tuyn c sn. Khi mt b nh tuyn mi, c thm vo h ch cht, n c gn mt hay nhiu ngi lng ging ch cht, m n s thng tin lin lc. Nhng "ngi lng ging" ch cht, nhn bn thng tin nh tuyn ln nhau. V th, b nh tuyn mi ch cn thng bo cho "ngi lng ging" v th, b nh tuyn mi ch cn thng bo cho "ngi lng ging" v cc mng m n c th n c; chng ta s cp nht bng nh tuyn ca chng v nhn bn thng tin mi ny i n cc b nh tuyn khc. GGP ng l mt giao thc vector khong cch. Thng tin m cc b nh tuyn trao i vi GGP bao gm mt tp hp cc cp (N,D), vi N l mt a ch mng IP, v D l khong cch c tnh theo s trm. Chng ta ni rng b nh tuyn s dng GGP qung b nhng mng m n c th n c v chi phi i n . GGP o khong cch theo s trm cc b nh tuyn, trong mt b nh tuyn in t nh ngha l zero trm t nhng mng ni trc tip, mt trm t cc mng c th c thng qua mt b nh tuyn khc, nh th, s lng trm dc theo con ng t mt ngun ti mt ch chnh l s lng b nh tuyn m mt datagram i qua trn con ng . Mt s tht hin nhin l vic s dng s lng trm tnh con ng ngn nht khng phi lc no cng cho ra kt qu nh mong mun. Ly v d, mt con ng c ba trm i qua ba LAN c th nhanh hn nhiu so vi con ng c hai trm m i qua hai nh tuyn tun t tc chm. Nhiu b nh tuyn s dng s lng trm gi to kh ln dnh cho nhng mng tc chm

192

8.3.1.3. Tha s khong cch Ging nh hu ht cc giao thc nh tuyn. GGP s dng nhiu kiu thng ip, mi ci c nh dng v mc ch ring bit. Mt vng trong phn u thng ip cha mt m xc nh kiu thng ip c th ni nhn m ny quyt nh cch x l thng ip. Ly v d, trc khi hai b nh tuyn c th trao i thng tin nh tuyn, chng phi thit lp vic thng tin lin lc, v mt vi kiu thng ip c s dng cho mc ch ny. Kiu thng ip c bn nht trong GGP cng l c bn i vi bt k giao thc vector khong cch no l: s cp nht vic nh tuyn m c s dng trao i thng tin nh tuyn. V mt khi nim, cp nht s nh tuyn bao gm danh sch cc cp, vi mi cp cha mt a ch mng IP v khong cch n mng . Tuy nhin, trong thc t, nhiu giao thc nh tuyn sp xp li thng tin cho cc thng ip c kch thc nh. C th, c mt vi kin trc bao gm vic b tr tuyn tnh cc mng v b nh tuyn. Thay v th, hu ht li c cu trc, cc gi tr khong cch trong mt ln cp nht l nhng s nh v cng mt agv thng c khuynh hng c lp li. gim bt kch thc thng ip, cc giao thc nh tuyn thng s dng k thut ny trnh vic gi cc bn sao ca cng mt gi tr khong cch, mi gi tr khong cch cc cp c sp xp theo th t khong cch. Thay v th, danh sch cc cp c sp xp theo th t khong cch, mi gi tr khong cch ch c th hin mt ln, v theo sau l cc mng c i n c vi khong cch . 8.3.2. nh tuyn theo trng thi lin kt (SPF) Khuyt im chnh ca thut gii vector khong cch l n khng chn lc c thng tin. Bn cnh vn p ng chm i vi nhng thay i cp trc y, thut gii ny cn i hi phi trao i thng ip ln. Bi v mi cp nht cho vic nh tuyn cha mt dng cho mi mng, nn kch thc ca thng ip t l thun vi tng s mng trong internet. Hn na, bi v giao thc vector khong cch cch yu cu mi b nh tuyn u tham d, lng thng tin trao i c th rt ln. Mt gii php khc i vi thut gii vector khong cch l mt lp cc thut gii c tn l trng thi lin kt, hay con ng ngn nht trc tin (Shortesst Path First SPF). Cch gi tn ny khng c ng lm bi v tt c mi thut gii nh tuyn u i tm con ng ngn nht). Thut gii SPF i hi mi b nh tuyn tham d phi c y thng tin v cu hnh. Cch d nht xem xt thng tin v cu hnh l hy tng tng rng mi 193

b nh tuyn c mt bn trnh by tt c nhng b nh tuyn v nhng mng m chng kt ni vo. Ni mt cch hnh tng, cc b nh tuyn tng ng vi cc nt (node) trong th v cc mng ni cc b nh tuyn tng ng vi cc cnh. C mt cnh (lin kt) gia hai nt nu v ch nu cc b nh tuyn tng ng c th trc tip thng tin lin lc. Thay v gi i cc thng ip c cha danh sch cc ch n, mt b nh tuyn tham gia trong thut gii SPF thc hin hai cng vic ln cn. Ni theo thut ng th, hai b nh tuyn c gi l ln cn nu chng cng chia s mt cnh chung. Th hai, n nh k nhn bn thng tin trng thi ca lin kt n tt c cc b nh tuyn khc. kim tra trng thi ca b nh tuyn ln cn (c kt ni trc tip), mt b nh tuyn s trao i nh k cc thng ip ngn hi xem b nh tuyn ln cn c cn hot ng v c th i n c khng. Nu cc ni ln cn p li, ngha l ng ni gia chng vn cn hot ng. Nu khng, ng ni c xem nh b ngt. thng bo cho tt c cc b nh tuyn khc, mi b nh tuyn s nh k pht i mt thng ip lit k ra trng thi ca mi ng ni ca n. Mt thng ip trng thi khng xc nh tuyn i n ch n gin cho bit xem c th thng tin lin lc gia cc cp b nh tuyn hay khng. Phn mm giao thc trong cc b nh tuyn s b tr pht chuyn mt bn sao ca mi thng ip v trng thi lin kt n tt c cc b nh tuyn tham gia. Bt c khi no c thng ip v trng thi lin kt gi n, b nh tuyn s dng thng tin ny cp nht bn ca n v tin, bng cch nh du nhng lin kt no cn hot ng hay ht hot ng. Bt c khi no trng thi lin kt thay i, b nh tuyn tnh li cc tuyn i bng cch p thut gii ni ting v ng i ngn nht ca Dijkstra c c hnh nh mi ca th. Thut gii ca Dijkstra tnh cc ng i ngn nht n tt c cc ch k t mt im xut pht. Mt tron nhng u im chnh ca cc thut gii SPF l mi b nh tuyn tnh cc tuyn ng mt cch c lp, cng s dng d liu trng thi ban u; chng khng ph thuc vo vic tnh ton ca cc my trung gian. Bi v cc thng ip trng thi lin kt c gi nguyn khi nhn bn, ngi ta d dng tm ra cc vn li. Cui cng, bi v cc thng ip v trng thi lin kt ch chuyn ti thng tin v cc kt ni trc tip t mt b nh tuyn, kch thc ca n khng ph thuc vo s lng ca mng trong

194

internet. Nh th, cc thut gii SPF tt hn cc thut gii vector khong cch. 8.3.3. m bo tnh tin cy cho cc giao thc nh tuyn Hu ht cc giao thc s dng vic chuyn ti theo kiu connectionles. Lu v d, GGP ng gi vo UDP (cng c nhng, ngoi l). C hai IP v UDP u h tr cng mt loi dch v: cc thng ip c th b mt, tr hon trng lp, h hng, v pht chuyn khng ng th t. Nh th, mt giao thc nh tuyn m s dng chng phi c cch b p cc sai st ny. Cc giao thc nh tuyn s dng mt s k thut x l cc vn pht chuyn. Checksum c s dng cht lng vic d liu b h hng. Vic mt d liu c x l bi trng thi mm (chng ta nh li rng trng thi mm da vo b m thi gian loi b thng tin c thay v i thng ip t ngun) hay thng qua k thut li p v truyn li. Ly v d, trong GGP s dng mt m hnh li p m rng, trong ni nhn c th gi tr li mt li p tch cc hay tiu cc. x l vic pht chuyn khng theo th t v s tng ng, xy ra khi mt thng ip c n ch, nhng giao thc nh tuyn thng s dng cc s th t khi u khi bt u vic thng tin lin lc. Sau , u kia phi p li theo s th t ny. Sau khi khi ng vic trao i, mi trm ch s cha s th t k tip, cho php ni nhn bit cc thng ip s cha s th t ny. Sau khi khi ng vic trao i. Mi thng ip s cha s th t ny. Sau khi khi ng vic bit cc thng ip s cha s th t k tip, cho php ni nhn bit cc thng ip c c gi n theo th t khng. Trong chng sau, chng ta s xt mt v d v giao thc nh tuyn c s dng thng tin trng thi mm. 8.4. nh tuyn gia cc h t qun, giao thc BGP 8.4.1. Khi nim h t qun Vi cc mc ch v nh tuyn, mt nhm cc mng v cc b nh tuyn c kim sot bi mt n v qun tr c gi l mt h t qun. cc b nh tuyn bn trong mt h t qun c t do chn trc c ch ca ring n trong vic pht hin, nhn bn, kim nh, v kim tra tnh nht qun ca cc tuyn ng. Lu rng, theo nh ngha ny, cc b nh tuyn ch cht ban u ca internet hnh thnh nn mt h t qun. Mi thay i ca cc giao thc nh tuyn bn trong h t qun ch cht c thc hin m khng gy nh hng n cc b nh tuyn trong cc h t qun 195

khc. Trong chng trc, chng ta ni rng h internet ch cht ban u s dng GGP thng tin lin lc, v th h sau ny s dng SPREAD. Cui cng th, cc ISP pht trin mng backbone ca ring chng v s dng cc giao thc mi hn. 8.4.2. T h ch cht n h t qun c lp V mt khi nim, tng v h t qun l n gin v l s tng qut ho t nhin ca kin trc internet ban u, nh trnh by trong hnh 8.13, vi cc h t qun thay cho cc mng cc b. Hnh 8.13. Minh ho tng ny.

Hnh 8.13: Cc h t qun ni vo ht nhn ca Internet c th i n c cc mng b che khut bn trong nhng h t qun thng qua internet, mi h t qun phi thng bo cho cc h t qun khc v nhng mng ca mnh. Thng bo ny c th c gi n mt h t qun bt k. Tuy nhin, trong mt kin trc tp trung (h ch cht), iu ct yu chnh l mi h t qun truyn thng tin n mt trong nhng b nh tuyn trong h t qun ch cht. Dng nh nh ngha ca chng ta v mt h t qun cn m h, nhng trong thc t bin gii gia cc h t qun phi c xc nh chnh xc cho php cc thut gii t ng ho c th thc hin cc quyt nh trong vic nh tuyn. Ly v d, mt h t qun c qun l bi mt cng ty khc mc d chng ta c th c kt ni trc tip. cho cc thut gii 196

nh tuyn t ng c th c kt ni trc tip. cho cc thut gii nh tuyn t ng c th phn bit c cc h thng t qun, t n v qun tr trung tm. Khi cc b nh tuyn trong hai h t qun trao i thng tin nh tuyn, cc giao thc s b tr cho thng ip chuyn ti m s h t qun ca h thng m mi b nh tuyn i din. Chng ta c th tm tt tng ny nh sau: Mt h internet TCP/IP ln c thm cu trc h tr vic qun l nhng bin gii (gia cc mng): mi tuyn tp cc mng v cc b nh tuyn c qun l bi mt n v qun tr c xem nh l mt h t qun; n v ny c t do chn ring mt kin trc nh tuyn ni b cng nh l cc giao thc. Chng ta ni rng mt h t qun cn tp hp thng tinv tt c cc mng ca n v ch nh ra mt hay nhiu b nh tuyn chuyn thng tin n cc h t qun khc. Cc phn tip theo s trnh by chi tit ca cc giao thc m nhng b nh tuyn s dng thng bo v trng thi thng tin lin lc ca mng. Nhng phn sau s quay v vi nhng cu hi v kin trc tm hiu mt gii hn quan trng m kin trc h t qun p t ln vic nh tuyn. 8.4.3. Giao thc cng ngoi (Exterior Gateway Protocol) Cc nh khoa hc my tnh s dng thut ng Exterior Gateway Protocol (EGP) ch bt k giao thc no c s dng chuyn i thong tin nh tuyn gia hai h t qun (ban u, thut ng EGP ch mt giao thc c bit m c s dng thng tin lin lc vi h internet ch cht). Hin ti, ch c mt giao thc ngoi s dng trong hu ht cc internet TCP/IP. c bit di tn Border Gateway Protocol (BGP), n pht trin quan bn phin bn (rt khc nhau). Mi phin bn c nh s, v phin bn hin ti c tn BGP 4. Trong gio trnh ny chng ta s s dng thut ng BGP ch BGP 4. Khi mt cp hai h t qun ng trao i thng tin nh tuyn, th mi h phi ch nh ra mt b nh tuyn i din cho n m s cng s dng BGP; hai b nh tuyn ny c gi l tr thnh ng ng BGP vi ci kia (mc d giao thc ny cho php s dng trn my tnh bt k, hu ht cc h t qun s dng BGP trn b nh tuyn). Bi v mt b nh tuyn ang s dng BGP phi thng tin lin lc vi b nh tuyn ng ng trong mt h t qun khc, s hp l khi chn mt my m nm cnh ca h t qun. Do , thut ng BGP gi my ny l

197

cng bin gii (border gateway) hay b nh tuyn bin (border router). Hnh 8.14. minh ho tng ny.

Hnh 8.14: BGP trao i thng tin gia cc h t qun Trong hnh ny, b nh tuyn R1 thu thp thng tin v cc mng trong h t qun 1 v thng bo thng tin ny cho b nh tuyn R2 bng cch s dng BGP, trong khi nh tuyn R2 thng bo thng tin bng cch s dng BGP, trong khi nh tuyn R2 thng bo thng tin t h t qun 2. 8.4.4. Giao thc BGP 8.4.4.1. Gii thiu giao thc GBP BGP l mt giao thc kiu EGP dng lin lc gia cc h thng khc nhau. Mt h thng dng BGP trao i thng tin trn mng vi cc h thng dng BGP khc. Thng tin trao i ny bao gm ng dn y ca cc h thng chuyn d liu ti cc h thng khc nhau trn mng. Trc ht ta phn loi mt gi d liu IP trong mt h thng nh lung d liu cc b. Lung d liu c th bt u v kt thc ngay trong h thng . Ngha l a ch IP ngun hoc a ch IP ch xc nh mt host trong h thng . Mc ch chnh ca giao thc BGP trong Internet l gim lung d liu c truyn. Mt h thng c th c phn loi theo cch sau: - H thng ch c mt lin kt ti mt h thng khc gi l Stub AS. - Mt h thng Multihomed AS c nhiu lin kt ti cc h thng khc, nhng khng mang lung d liu cc b v d liu "Transit Traffic". - Mt h thng Transit AS c nhiu lin kt ti cc h thng khc dng truyn d liu cc b v d liu Transit Tranffic. Giao thc nh tuyn BGP cho php nh tuyn da vo chnh sch nh tuyn (policy based routing), cc chnh sch nh tuyn c quyt nh bi nh qun tr v c xc nh trong cc tp cu hnh. 198

Giao thc nh tuyn BGP khc vi cc giao thc nh tuyn RIP v OSPF l giao thc BGP dng TCP nh l giao thc giao vn ca n. Hai h thng dng BGP thit lp mt lin kt TCP v sau trao i ton b bng nh tuyn BGP. T tr i th cc cp nht nh tuyn c gi mi khi bng nh tuyn thay i. 8.4.4.2. Tnh nng ca BGP Tnh cht ca giao thc BGP BGP c mt s tnh cht khng bnh thng. Quan trng nht, BGP khng phi thun tu l mt giao thc vector khong cch, cng khng phi thun tu l mt giao thc trng thi lin lc. N c th c c trng bi cc tnh cht sau y: Thng tin lin lc vi h t qun. bi v BGP c thit k nh l mt giao thc cng ngoi, vai tr chnh ca n l cho php mt h t qun thng tin lin lc vi h t khon khc. Phi hp gia nhiu my s dng BGP. Nu mt h t qun c nhiu b nh tuyn mi thng tin lin lc vi my ng ng trong mt h t qun bn ngoi, BGP c th c s dng phi hp gia cc b nh tuyn bo m rng tt c chng u nhn bn thng tin nht qun. Nhn bn thng tin v tnh lin kt. BGP cho php mt h t qun thng bo cc ch m c th i n c hoc l trong n hoc l i qua n, v bit c nhng thng tin nh th t h t qun khc. M hnh trm k. Tng t nh nhng giao thc nh tuyn theo vector khong cch, BGP cung cp thng tin v trm k cho mi ch n. Chnh sch h tr khng ging nh hu ht cc giao thc vector khong cch khi thng bo mt cch chnh xc cc tuyn ng trong bng nh tuyn cc b, BGP c th ci t cc chnh sch m ngi a phng chn. c th l mt b nh tuyn s dng BGP c th c cu hnh phn bit gia tp hp cc ch c th i n t cc my tnh c th bn trong h t qun ca n v tp hp cc ch thng bo cho nhng h t qun khc. Chuyn ti ng tin cy. BGP khng ging nh nhng giao thc khc khi truyn thng tin nh tuyn bi v n gi nh rng vic chuyn ti l ng tin cy.Nh th, BGP s dng TCP trong mi vic thng tin lin lc. Thng tin v con ng. Cng vi vic xc nh cc ch c th i n c v mi trm k, mi thng bo BGP cn bao gm thng tin v con

199

ng; iu ny cho php ni nhn bit c mt cc h t qun khc dc theo con ng i n ch. H tr a ch khng phn lp. BGP bo v bng thng ca mng bng cch cho php ni gi tch lu thng tin v tuyn ng v gi i ch mt ln nhng th hin cho nhiu ch n. Kim nh, Xc minh. BGP cho php ni nhn quyn xc minh thng ip, kim chng tn ca ni gi. BGP l mt giao thc vector khong cch, nhng khng ging nh RIP (RIP thng bo cc host ti mt ch), BGP li lit k tuyn ng ti mi ch (tun t ca cc s AS ti ch). Mt h thng AS c nh danh bi mt s 16 bit. BGP pht hin li lin kt hoc host ti u kia ca lin kt TCP bng cch gi i mt thng ip Keepalive ti u kia ca lin kt mt cch u n, thng l khong 30 giy th n gi mt thng ip Keepalive. Thng ip Keepalive mc ng dng l c lp vi tu chn TCP Keepalive. BGP trao i thng tin nh tuyn di dng cc cp nht. Mt tuyn cp nht bao gm mt a ch mng, mt danh sch cc h thng AS, thng tin nh tuyn qua v cc thuc tnh ng (path attributes). Mt router dng BGP gi v nhn cc thng ip BGP, to lp mt mi quan h lng ging vi cc router dng BGP khc. BGP dng trong cc mng LAN v WAN nh: Ethernet, Token Ring, Sync, Wellflect, Frame Relay, SMDS, X25 (DNN, PDN, PPP), ATM PVC, FDDI, TI, E1, HSSI, PPP... c s dng giao thc IP. BGP c cp n trong RFC 1163, 1267 v 1654 tng ng vi cc phin bn BGP2, 3 v 4. Cc tnh nng chnh: - H tr TCP: cc router dng BGP lng ging kt ni vi nhau qua tng lin kt tin cy TCP nn khng cn thc hin vic truyn cc thng tin cp nht, truyn li cc gi tin b mt, cc tn hiu ACK... cn thit vi BGP. - Router dng BGP ch qung b cc tuyn n thc s dng. V vy khi mt Border Router nhn c nhiu tuyn n mt ch th n s chn ly mt tuyn tt nht thng bo vo trong h AS ca n cng nh ra ngoi cc Router BGP khc ni vo n. - Thuc tnh ng AS: mi tuyn BGP cha thng tin v cc h AS qua. Nu mt router BGP nhn thy AS ca chnh n trong danh sch, ngha l b lp tuyn ng th n s b qua tuyn .

200

- Chin lc nh tuyn (routing policy): u tin hoc b qua cc cp nht t cc AS tng ng. - BGP phin bn 2 v 3 ch coi cc mng thuc lp (A, B, C). Ngc li, BGP phin bn 4 khng quan tm n cc lp a ch, mi mng trong phn thng tin v tng mng c th gi ti NLRI (Network Layer Reachability Information) ca gi cp nht cha mt s ch di netmask. Siu mng (Supernet) h tr kh nng nh tuyn lin vng khng phn lp (CIDR Classless InterDomain Routing), cho php gim thiu kch thc bng nh tuyn bng cch gp cc tuyn n cc mng nh (subnet) thnh mt tuyn cho siu mng (supernet). - Tuyn c trng s v cng s b b. Gi tr trng s cho mt lp phi bng nhau trong mi router chy BGP trong mt h thng AS. - Giao thc nh tuyn trong h thng AS (IBGP vi nh tuyn trong h thng AS intra AS routing): Router dng BGP ch chy tng thch tt vi giao thc nh tuyn IGP l OSPF. Khi h thng AS khng dng OSPF, Bay Network a ra giao thc nh tuyn trong h thng AS (IBGP intra AS). Vi kh nng ny router dng BGP khng qung b tuyn vo trong h thng AS m cc router trong h thng AS s dng giao thc IBGP. Thng tin IBGP dng kt hp vi IGP xc nh router dng BGP cho cc mng bn ngoi. 8.4.4.3. Thut ton chn ng ca BGP - Nu h thng AS tip theo (next host AS) khng vi ti c th b qua, u tin cc h thng AS dng BGP c tnh cht qun tr BGP administrative weights) cao hn. - Nu cc Border Router c cng gi tr trng s (weight) th u tin cc tuyn c tnh nng a phng (local preference) cao hn. - Nu tnh nng a phng bng nhau th u tin cc tuyn c router nh sn (originated router). - Nu khng c tuyn nh trc, chn ng AS ngn hn. - Nu ng b giao thc nh tuyn trong IGP (IGP Sync) b b qua v ch c cc tuyn bn trong, chn tuyn n lng ging gn nht (closed neighbor). - u tin tuyn c gi tr IP thp nht cho BGP router ID. RFC 1163 cng RFC 1164 nh ngha mt tiu chun cho giao thc nh tuyn lin AS ca Internet. Chc nng chnh ca h thng thng bo 201

BGP l trao i thng tin v cc mng c th ti c vi cc h thng BGP khc. Thng tin ny bao gm ng dn y ca cc AS. BGP chy trn giao thc giao vn tin c. Bt k c ch xc thc no c dng cho giao thc giao vn u c th c dng cho cc c ch xc thc ring ca BGP. C ch thng bo li (notification) c dng trong BGP yu cu ng lin kt. BGP dng TCP nh giao thc giao vn ca n. BGP dng cng TCP 179 thit lp cc lin kt. 8.4.4.4. Hot ng ca BGP - Hai h thng to mi lin kt TCP vi nhau qua cng 179. Chng trao i cc thng ip xc nhn v m cc tham s lin kt. Lung d liu khi ng lin kt l ton b bng nh tuyn - BGP khng i hi lm ti li theo chu k ton b bng nh tuyn BGP. Bi vy mt thng bo BGP phi nh phin bn hin thi ca ton b bng nh tuyn ca tt c cc ch (peer) cho ton b qu trnh lin kt. Cc thng ip thng bo (notification) c gi trong tr li khi c li, khi lin kt s b ngt - Cc host ang thc hin BGP khng cn phi l cc router. Mt host ang khng nh tuyn c th trao i thng tin nh tuyn vi cc router qua giao thc nh tuyn ngoi EGP hoc mt giao thc nh tuyn trong RIP. Host khng ang nh tuyn c th dng BGP trao i thng tin nh tuyn vi Border Router trong mt h thng AS khc. 8.4.4.5. Cc dng thng ip c BGP dng Cc thng ip c gi trn mt lin kt giao vn tin cy. Mt thng ip c x l ngay sau khi n c nhn. Kch thc ln nht ca thng ip l 4096 bytes, nh nht 19 bytes ch gm cc BGP header, khng c d liu. Dng header ca thng ip: mi thng ip c mt header thch hp. Thng ip c th c hoc khng c phn d liu sau header, ph thuc vo loi thng ip. S cc trng nh sau:

202

Hnh 8.15: Phn Header chun ca BGP Message - Phn nh du (marker): trng ny di 16 bytes. Nu loi thng ip l OPEN, hoc m xc thc c dng trong thng ip OPEN ca lin kt l 0 th phn nh du (maker) phi ton b l 1. Phn nh du (maker) c th c dng pht hin s mt ng b gia cc cp ch BGP, v xc thc cc thng ip BGP n. - Chiu di (length) l s nguyn khng du di 2 bytes, ch chiu di ca thng ip, gm c header. Length ln nht l 4096 bytes, nh nht l 19 bytes. - Trng loi (type) di 1 bytes, l s nguyn khng du, n ch ra loi m ca thng ip. Cc loi m c nh ngha nh sau: 1. OPEN 2. UPDATE 3. NOTIFICATION 4. KEEPALIVE Dng thng ip OPEN Sau khi mt lin kt TCP c thit lp, thng ip u tin c mi bn gi l mt thng ip OPEN. Nu thng ip OPEN c chp nhn, mt thng ip KEEPALIVE xc nhn OPEN c gi tr li. Khi OPEN c xc nhn th cc thng ip UPDATE, KEEPALIVE v NOTIFICATION c trao i. Thng ip OPEN bao gm cc trng sau:

203

Hnh 8.16: Dng thng ip BGP OPEN Version: l s nguyn khng du di 1 bytes, ch ra s loi giao thc ca thng ip. Version hin thi l 2. H thng a phng (My AS): l s nguyn khng du di 2 bytes, n ch ra s giy ln nht cn li gia vic nhn thnh cng cc thng ip KEEPALIVE v/hoc UPDATE v/hoc NOTIFICATION M xc thc (Authentication code): l s nguyn khng du di 1 bytes ch ra c ch xc thc ang c dng. Bt c khi no mt c ch xc thc c xc nh dng trong h thng BGP, phi c ba thnh phn c bn sau: 1. Gi tr ca m xc thc ch ra tc dng ca c ch 2. Dng v ngha ca d liu xc thc (Authentication data) 3. Thut ton tnh ton cc gi tr ca trng nh du (maker) Ch mt c ch xc thc c xc nh nh sau: M xc thc l 0 D liu xc thc phi rng Cc trng nh du ca tt c cc thng ip phi ton l 1 Ch : Mt c ch xc thc ring c th c dng trong vic thit lp lin kt tng giao vn. D liu xc thc: trng ny c chiu di thay i ph thuc vo m xc thc. Nu gi tr ca trng m xc thc l 0, th trng d liu xc thc phi c chiu di l 0. Ch : Chiu di ca trng d liu xc thc c th c xc nh t trng Length ca thng ip theo dng sau: Chiu di thng ip = 25 + chiu di d liu xc thc

204

Dng thng ip UPDATE: cc thng ip UPDATE c dng chuyn thng tin nh tuyn gia cc h thng BGP vi nhau. Thng tin trong gi d liu UPDATE c th c dng xy dng ln mt s m t cc quan h ca cc h thng. Cc thng tin v nh tuyn lp c th c pht hin v b xo t nh tuyn lin cc h thng. Thng ip UPDATE gm cc trng sau:

Hnh 8.17: Dng thng ip BGP UPDATE Chiu di: Tng chiu di thuc tnh ng dn: l s nguyn khng du 2 bytes. Cc thuc tnh ng dn: Mi thuc tnh ng dn l mt tp (gm loi thuc tnh, chiu di thuc tnh, gi tr thuc tnh) c chiu di thay i Loi thuc tnh l trng 2 bytes bao gm 1 byte cc c thuc tnh theo sau l 1 byte m thuc tnh nh sau: Cc c thuc tnh M loi thuc tnh Mi s mng Internet 4 byte (network number) ch ra mt mng c m t bi cc thuc tnh ng dn, cn cc subnet v cc host khng c php. Chiu di ti thiu ca thng ip UPDATE l 37 byte (gm c header ca thng ip). C bn loi thuc tnh ng dn ca thng ip UPDATE nh sau: Well known mandatory Well known discretionary Optional transitive Optional non transitive Dng thng ip KEEPALIVE BGP khng dng bt k c ch keepalive da vo giao thc giao vn no quyt nh nu cc ch (peer) l ti c. Thay vo , cc thng ip keepalive c trao i gia cc ch. Thi gian ti a hp l gia cc

205

thng ip keepalive l mt phn ba ca thi gian ch (hold time interval). Thng ip keepalive bao gm header ca thng ip v c chiu di 19 byte Dng thng ip NONTIFICATION c gi i mi khi mt li c pht hin. Lin kt BGP b ng ngay sau khi gi thng ip i Thng ip NONTIFICATION gm cc trng sau:

Hnh 8.18: Dng thng ip BGP NOTIFICATION Dng thng ip NONTIFICATION M li (error code): l s nguyn khng du 1 byte ch ra loi NONTIFICATION. Cc m li sau c nh ngha M li 1 2 3 4 5 6 Tn biu tng Li header ca thng ip Li thng ip OPEN Li thng ip UPDATE Hold Timer Expired Li Finite State Machine Cease

M li ph (error subcode): l s nguyn khng du 1 byte cung cp thm thng tin v li thng bo. Mi m li c th c mt hoc nhiu m li ph (error subcode) i km vi n. Cc m li ph ca header thng ip: 1. Lin kt khng c ng b 2. Chiu di thng ip ti 3. Loi thng ip ti Cc m li ph ca thng ip OPEN 1. S hiu Version khng c h tr 2. H thng ch ti

206

3. M xc thc khng c h tr 4. Xc thc tht bi D liu: trng ny c di thay i c dng ch ra l do ca thng ip NONTIFICATION. Ni dung ca trng d liu ph thuc vo m li ph. Chiu di ti thiu ca thng ip NONTIFICATION l 21 byte (gm c header ca thng ip) Cu hnh BGP trong Cisco router: - Kch hot nh tuyn BGP router bgp autonomous system; AS ca chnh router network network number mask network mask - Cu hnh Router BGP lng ging neighbor ip address remote as number - C th dng mt mu cha danh sch cc lng ging ta dng lnh sau: neighbor template name neighbor list access list number neighbor template name configure neighbors - Khi to li cc kt ni BGP: clear ip bgp address clear ip bgp * - T ng khi to li router BGP ca mt lng ging nu kt ni b t bgp fast external fallover 8.4.4.6. Cc mt n a ch nn li C hai vng Withdraw Destinations v Destinations Networks cha mt danh sch cc a ch IP mng. dung np c a ch khng phn lp, BGP phi gi i mt mt n a ch vi mi a ch IP. Tuy nhin, thay v gi i mt a ch v mt mt n nh nhng i lng 32 bit ring bit, BGP s dng mt cch th hin c ng (nn li) lm gim bt kch thc ca thng ip. Thay v vy, n m ho thng tin v mt n vo trong mt byte, nm u mi a ch. Byte mt n (cc bit mt n c gi nh l lin tc). Phn a ch theo sau mt n. Nh th, s ch c mt byte a ch tip theo sau mt n c gi tr 8 hoc nh hn, s c hai byte tip theo sau mt n c gi tr t 8 cho n 16, s c ba tip theo sau mt n c gi tr t 17 n 24, v s c bn

207

tip theo mt n c gi tr t 15 n 32. iu l th l, chun cng cho php mt byte mt n cha zero (trong trng hp ny, s khng c byte a ch tip theo sau). Gi tr di bng zero cng hu dng bi v n tng ng vi vic nh tuyn mc nh. 8.4.4.7. Cc thuc tnh con ng ca BGP Chng ta ni rng BGP khng phi l mt giao thc vector khong cch thun tu bi v n thng bo nhiu hn l ch c mt trm k. Thng tin ph thm c cha trong vng Path Attibutes ca mt thng ip cp nht. Ni gi c th s dng vng Path Attibutes xc nh: trm k i vi cc ch n c thng bo, hoc l thng tin v con ng c bit t nhng h t quan khc hay l c suy ra t bn thn h t qun ca ni gi. Chng ta cn lu mt iu quan trng rng vng Path Attributes c to ra lm gim bt kch thc ca thng ip UPDATE; iu ny c ngha rng cc thuc tnh ny p dng i vi tt c cc ch c bo trong thng ip. Nh th, nu c nhng thuc tnh khc nhau p dng cho mt s ch n, th chng ph c thng bo trong mt thng ip UPDATE ring. Vng Path Attributes l kh quan trng trong BGP v ba l do. Trc ht, Thng tin con ng cho php ni nhn kim tra vn cc con ng to nn vng lp. Ni gi c th xc nh chnh xc con ng i qua tt c nhng h t qun n ch. Nu mt h t qun bt k xut hin nhiu hn mt ln trong danh sch, th chc chn c vng lp trong vic nh tuyn. Th hai, thng tin con ng cho php ni nhn ci t nhng rng buc v chnh sch. Ly v d, ni nhn c th kim tra cc con ng bit c rng chng khng i quan nhng h t qun khng ng tin cy (v d, h t qun ca i th cnh tranh). Th ba, thng tin chia nhnh ng cho php ni nhn bit ngun gc ca tt c cc tuyn ng. Cng vi vic cho php ni gi xc nh rng thng tin n t bn rong h t qun ca n hay t nhng h khc, vng Path Attributes cho php, ni gi khai bo rng thng tin c thu thp vi mt giao thc cng ngoi nh l BGP hay l mt giao thc cng ni. Nh th, mi ni nhn c th quyt nh xem chp nhn hay t chi cc tuyn ng c ngun gc trong nhng h t qun nm ngoi tm (cng ng cp vi n). 8.4.4.8. Hn ch chnh ca cc giao thc cng ngoi Chng ta thy rng bi v cc giao thc Cng Ngoi tun theo nhng hn ch v chnh sch, cc mng m chng ti thng bo c th ch l mt

208

tp hp con ca cc mng m chng c th i n. Tuy nhin, c mt gii hn c bn hn p t ln vic nh tuyn ngoi: Mt giao thc cng ngoi khng thng tin lin lc hay din dch cc gi tr v khong cch, ngy c khi cc gi tr ny tn ti. Cc giao thc nh BGP cho php my s dng (b nh tuyn) khai bo rng mt ch khng cn c th i n c na hay cho mt danh sch cc h t qun trn con ng i n ch, nhng chng khng th truyn hay so snh chi ph ca hai tuyn ng tr khi c hai tuyn i t trong cng mt h t qun. Theo ngha ny th, BGP ch c th xc nh xem c tn ti mt con ng i n mt ch no hay khng; n khng th truyn hay tnh con ng no ngn hn. By gi chng ta c th c l do ti sao BGP cn thn ghi nhn ngun gc ca thng tin n gi i. iu ct yu chng ta quan st c l: khi b nh tuyn nhn c cc thng bo v mt ch no t cc n v ng ng trong hai h t qun khc nhau, n khng th so snh chi ph. Nh th, vic thng bo v kh nng i n mng ca BGP c ngha nh sau: H t qun ca ti cung cp mt con ng i n mng ny khng c cch no b nh tuyn c th ni H t qun ca chng ti cung cp mt con ng i n mng ny tt hn l h t qun khc. Xem xt cch din gii v khong cch cho php chng ta nhn ra rng BGP khng th c s dng lm thut gii nh tuyn. C th, ngy c khi mt b nh tuyn bit c v hai con ng i n cng mt mng, n khng th bit c con ng no ngn hn bi v n khng th bit chi ph ca cc tuyn ng i ngang qua cc h t qun trung gian. Ly v d, xt mt b nh tuyn m s dng BGP thng tin lin lc vi hai n v ng ng trong h t qun P thng bo mt con ng i n mt ch no thng qua cc h t qun nh p, q, r, v my ng ng trong h t qun f thng bo mt con ng cng i n ch thng qua cc h t qun nh f, g, th ni nhn khng c cch no so snh di ca hai con ng. Con ng i qua ba h t qun c th ch bao gm mt mng cc b trong mi h, trong khi con ng i qua hai h t qun mt mng cc b trong mi h, trong khi con ng i qua hai h t c y thng tin nh tuyn, n khng th so snh. Bi v n khng bao gm gi tr v khong cch, mt h t qun phi cn thn thng bo ch nhng tuyn ng m s lng nn i qua. V mt k thut, chng ta ni rng giao thc cng ngoi l mt giao thc v kh

209

nng kt ni ch khng phi giao thc v vic nh tuyn chng ta c th tm tt nh sau: Bi v mt giao thc cng ngoi nh BGP ch c nhn bn thng tin v kh nng kt ni, ni nhn c th ci t cc chnh sch hn ch, nhng khng th chn c tuyn ng t tn kn nht. Ni gi ch phi thng bo cc con ng m d liu nn i qua. im chnh yu y l, mt internet bt k m s dng BGP cung cp thng tin nh tuyn ngoi, phi da vo cc chnh sch hoc gi nh rng mi h t qun i qua c chi ph nh nhua. Mc d trng c v v hi, gii hn ny c mt vi h qu tht ngc nhin: 1. Mc d BGP c th thng bo nhiu con ng i n mt mng no , n khng cung cp s dng ng thi nhiu con ng. iu ny c ngha l, ti mt thi im cho trc, tt c cc giao dch c chuyn t mt my tnh trong mt h t qun n mt mng trong mt h khc s di chuyn trn mt con ng, mc d rng tn ti nhiu kt ni (vt t). Chng ta cng lu rng mt h thng ny phn chia d liu gi ra trn hai hay nhiu con ng. Kt qu l, tr hon v hiu sut gia mt cp my c th b mt cn i, lm cho vic kim sot v bt li gp kh khn. 2. BGP khng h tr vic chia s giao dch ra u trn cc b nh tuyn gia cc h t qun bt k. Nu hai h t qun c nhiu b nh tuyn kt ni chung, chng ta thng mun cn bng giao dch cho u trong s cc b nh tuyn. BGP cho php cc h t qun phn chia giao dch theo mng (v d, phn chia chng ra nhiu tp con v c nhiu b nh tuyn cho cc tp hp con), nhng li khng h tr vic chia s cn bng. 3. Trong mt trng hp c bit ca im #2, bn thn BGP l khng cn xng trong vic ti u vic nh tuyn trong mt kin trc l c hai hay nhiu mng din rng c ni vi nhai ti nhiu im. Thay v th, ngi qun tr phi cu hnh mt cch th cng nhng mng no c thng bo bi mi b nh tuyn ngoi. 4. c c s nh tuyn hp l ho, tt c cc h t qun trong mt internet phi thng nht vi nhau trn mt m hnh cho vic thng bo v tnh kt ni. Ngha l, bn thn BGP s khng bo m s thng nht ton cc.

210

8.5. nh tuyn trong mt h t qun, rip ospf hello 8.5.1. Giao thc cng ni IGP Hai b nh tuyn bn trong mt h t qun c gi l ni b (interior) i vi ci kia. Ly v d, hai b nh tuyn ca mt trng i hc c xem l ni b i vi ci kia khi m cc my ny c tp hp vo mt h t qun. Lm th no mt b nh tuyn trong mt h t qun bit c v cc mng bn trong h t qun ny? Trong mt internet nh, thay i chm, ngi qun tr c th thit lp v hiu chnh cc tuyn ng mt cch th cng. Ngi qun l lu tr mt bng cc mng v cp nht bng ny bt c khi no mt mng mi c thm vo, hay mt mng b loi b khi h t qun. ly v d, hy xt internet nh ca mt cng ty nh trnh by trong hnh 8.19.
Net 1

R1 Net 2

R2 Net 3

R3

R4

Net 4

Net 5

Hnh 8.19: V d v nh tuyn. Vic nh tuyn cho internet trong hnh ny tht n gin bi v ch tn ti c mt con ng gia hai im bt k. Ngi qun l c th cu hnh mt cch th cng cc tuyn ng trong tt c cc my tnh v b nh tuyn. Nu internet thay i (v d, c mng mi c thm vo), ngi qun l phi cu hnh li cc tuyn ng trong tt c cc my.

211

Net 1

R1 Net 2

R2 Net 3

R5

R3

R4

Net 4

Net 5

Hnh 8.20: V d v nh tuyn. Hin nhin, cc h thng th cng c nhiu nhc im: cc h th cng khng th theo kp s pht trin nhanh chng hay s thay i qu nhanh. Trong phm vi ln, nhng thay i nhanh chng ca mi trng nh l internet ton cu, con ngi th p ng nhanh i vi nhng thay i x l cc vn ; cn phi s dng cc phng php t ng ho. Cc phng php t ng ho cng c th gip trong vic hon thin tin cy v p ng i vi nhng sai st trong nhng internet nh m c nhng tuyn ng th hai. thy c vic ny, chng ta hy th xem iu g xy ra nu chng ta thm mt b nh tuyn vo internet trong hnh 8.19. to ra internet nh trong hnh 8.20. Trong nhng kin trc internet c nhiu ng vt l, ngi qun l thng chn mt con ng lm con ng chnh. Nu cc b nh tuyn dc theo con ng chnh b hng, cc tuyn i phi c thay i gi d liu theo con ng th hai. Vic thay i cc tuyn ng thng mt nhiu thi gian v d b li. Nh th, ngay c trong nhng internet nh, cng cn phi s dng mt h t ng load vic thay i cc tuyn ng c nhanh chng v c tin cy cao. t ng ho cc cng vic duy tr tnh chnh xc ca thng tin v thng tin lin lc n mt mng, cc b nh tuyn ni thng thng tin lin

212

lc vi nhng ci khc, trao i vi nhau d liu v kh nng i n mt mng hoc thng tin nh tuyn ca mng m t c th suy ra c kh nng i n mt mng. mt khi thng tin v kh nng i n mt mng ca ton b h t qun c tp hp, mt trong cc b nh tuyn trong h thng c th thng bo cho cc h t qun khc, s dng giao thc cng ngoi (Exterior Gateway Protocol). Bi v khng c mt chun nht nh, chng ta s dng thut ng giao thc cng ni (internet Gateway Protocol IGP) nh l mt m t tng qut ch n bt k thut gii no m b nh tuyn ni s dng khi chng trao i thng tin nh tuyn v thng tin v kh nng i n mt mng. Ly v d, th h cui cng ca cc b nh tuyn ch cht s dng mt giao thc c tn SPREAD lm giao thc cng ni ca n. C mt vi h t qun s dng BGP lm IGP, mc d iu ny him khi l mt chn la ti u i vi nhng h t qun nh gm cc mng cc b vi kh nng qung b. Hnh 8.21. Minh ho bn h t qun, mi h s dng mt IGP nhn bn thng tin nh tuyn gia cc b nh tuyn ni ca n.

Hnh 8.21: IGP v EGP Mt b nh tuyn c th ng thi s dng hai giao thc nh tuyn khc nhau, mt giao thc dnh cho vic thng tin lin lc bn ngoi h t

213

qun ca n v giao thc kia cho vic thng tin lin lc bn trong h t qun ca n. C th l, cc b nh tuyn m s dng BGP thng bo v kh nng i n mt mng cng thng cn s dng mt IGP ly c thng tin t bn trong h t qun ca chng. 8.5.2. Giao thc nh tuyn RIP 8.5.2.1. Lch s ca RIP Mt trong nhng giao thc IGP c s dng rng ri nht l giao thc thng tin nh tuyn (RIP Routing Information Protocol), cng c bit di tn ca chng trnh ci t n, routed (ch d cui l do quy c t tn trong UNIX dnh cho cc daemon). Phn mm routed ban u c thit k ti vin i hc Caliornia Berkeley cung cp vic nh tuyn nht qun v thng tin v kh nng i n cc my trn cc mng ca chng. N da vo vic qung b (phn cng) thc hin vic trao i thng thng tin nh tuyn mt cch nhanh chng. N khng c thit k s dng trn cc mng ln cng nh mng din rng (mc d vy, hin nay mt s cng ty cng c bn cc phin bn ca RIP c iu chnh s dng vi WAN). Da vo cc nghin cu trc y v internetwork thc hin ti trung tm nghin cu ca cng ty Xerox ti Palo Alto, routed, ci t mt giao thc suy ra t NS RIP ca Xerox, nhng tng qut ho n ln bao gm nhiu h mng. Mc d c nhng ci tin nh i vi cc phin bn trc, tnh ph bin ca RIP nh l mt IGP khng phi c c t nhng k thut ca n. Thay v th, n l kt qu ca Berkeley v vic phn pht phn mm routed cng vi h iu hnh UNIX 4BSD ni ting ca h. V th, nhiu phin bn TCP/IP chp nhn v cc gii hn ca n. Mt khi ci t v chy, n tr thnh c s ca vic nh tuyn cc b, v cc nhm nghin cu a n vo cc mng ln hn. C l s kin k l nht v RIP l n c xy dng v chp nhn rng ri trc khi mt chun chnh thc c xut bn. Hu ht cc ci t u c ngun gc t nhng chng trnh ca Berkeley, vi s tc ng qua li trong cc chng trnh b hn ch bi s hiu bi ca ngi lp trnh v cc chi tit cha c cng b. Khi cc phin bn mi ra i, rt nhiu vn ny sinh. Chun RFFC ra i nm 1988, v gip cho nhng nh sn xut trnh c cc li.

214

8.5.2.2. Hot ng ca RIP (version 1.0) Giao thc RIP c s l mt ci t trc tip ca vic nh tuyn vector khong cch dnh cho mng cc b. N chia cc thnh phn tham d ra hai phn my ch ng v my th ng (ngha l, yn lng). Cc my ch ng bo cc tuyn ng ca n cho nhng my khc; cc thnh phn th ng lng nghe cc thng ip RIP v s dng chng cp nht bng nh tuyn ca chng, nhng khng gi thng bo. Ch c b nh tuyn c th chy RIP ch ch ng; mt my tnh phi s dng ch th ng. B nh tuyn chy RIP ch ch ng s qung b mt thng ip cp nht vic nh tuyn trong mi 30 giy. Vic cp nht cha thng tin c ly t c s d liu nh tuyn hin ti ca b nh tuyn. Mt cp nht cha mt tp hp cc cp, trong mi cp cha mt a ch mng IP v mt s nguyn l khong cch n mng . RIP s dng gi tr s trm o khong. Trong cch tnh ca RIP, mt b nh tuyn c tnh l mt trm k t mng c kt ni trc tip (cc giao thc nh tuyn khc tnh mt kt ni trc tip l zero), tnh l hai trm k t mng m c th i n c khi i qua mt trm khc, Nh th, s trm dc theo con ng t mt ngun n ch ch s lng b nh tuyn m datagram i qua trn sut con ng. D nhin l, vic s dng s trm tnh ng i ngn nht khng phi lc no cng cho ra kt qu ti u. Ly v d, mt con ng c ba trm i qua ba Ethernet c th nhanh hn nhiu so vi con ng c hai trm i qua kt ni satellite. b p cho nhng khc bit k thut, nhiu ci t ca RIP cho php ngi qun l cu hnh mt cch nhn to nhiu trm hn khi i qua cc lin kt mng c tc chm (v d satellite). C hai loi ny RIP ch ng v th ng u lng nghe cc thng ip qung b, v cp nht bng c s d liu ca chng theo thut gii vector khong cch c m t trc y. Ly v d trong internet trn hnh 16.2, b nh tuyn R1 s qung b mt thng ip trn mng 2 c cha cp (1,1); iu ny c ngha rng n c th i n mng 1 vi chi ph l 1. Cc b nh tuyn R2 v R5 s nhn c qung b ny v ci t mt tuyn ng n mng 1 thng qua R1 (vi chi ph l 2). Sau , cc b nh tuyn R2 v R5 s bao gm cp (1, 2) khi chng qung b cc thng ip RIP ca chng trn mng 3. Cui cng th, tt c cc b nh tuyn v cc my tnh s ci t mt tuyn ng n mng1. RIP xc nh mt vi quy tc hon thin hiu nng v tin cy. V d, mt khi m b nh tuyn bit c v mt tuyn ng t cc b nh tuyn khc, n phi p dng phng php hysteresis, c ngha l n khng

215

thay th tuyn ng ny bng mt tuyn ng c cng chi ph. Trong v d ca chng ta, nu b nh tuyn R2 v R5 cng thng bo rng mng 1 c chi ph l 2, cc b nh tuyn R3 v R4 s ci t tuyn ng i qua b nh tuyn no m thng bo trc. Chng ta c th tm tt: ngn nga s lng tng khi chn gia cc tuyn ng c chi ph bng nhau; RIP xc nh rng cc tuyn ng ang tn ti phi c gi li cho n khi c tuyn ng mi vi chi ph thp hn. iu g s xy ra khi b nh tuyn u tin thng bo tuyn ng li b hng (v d, my b h)? RIP xc nh rng tt c cc n v lng nghe phi nh thi hn (timeout) cho cc tuyn ng m chng c thng qua RIP. Khi mt b nh tuyn ci t mt tuyn ng trong bng ca n, n khi ng mt b m thi gian cho tuyn ng . B m thi gian ny phi c khi ng li bt c khi no b nh tuyn nhn c thng ip RIP khc v tuyn ng ny. Tuyn ng ny s thng ip RIP khc v tuyn ng ny.Tuyn ng ny s khng cn gi tr nu sau 180 pht tuyn ng ny khng c thng bo li. RIP phi x l ba loi, do li thut gii c s gy ra. Trc ht, bi v thut gii khng chnh thc nhn bit cc tuyn ng to ra vng lp, RIP phi gi nh rng cc thnh phn tham d c th tin cy c hoc cn phi hu ngn nga cc vng lp. Th hai, ngn nga tnh bt n, RIP phi s dng mt gi tr nh gn cho khong cch ti a c th c (c th l 16). Nh th, vi nhng internet m trong gi tr m s trm c th t n 16, ngi qun l phi chia trong gi tr m s trm c th t n 16, ngi qun l phi chia internet ra thnh nhng phn on hoc s dng mt giao thc khc. Th ba, m n v hn; trong xut hin nhng iu khng nht qun bi v cc trc tip cp nht vic nh tuyn c nhn bn mt cch chm chp qua mng. vic chn mt gi tr gii hn nh (16) lm gii hn vn m n v hn nhng vn khng loi b hn c vn ny. ng gi thng ip RIP

216

Hnh 8.22: Thng ip RIP nm trong gi d liu UDP Khun dng ca thng ip RIP nh hnh 8.23 di y: Command = 1 l mt RIP request, 2 l RIP reply. Mt RIP request yu cu h thng khc gi ton b hoc mt phn bng nh tuyn ca n.

Hnh 8.23: Khun dng ca thng ip RIP Mt RIP reply bao gm ton b hoc phn bng nh tuyn ca ni gi. Vng VERSION cha s phin bn giao thc (l 1 trong trng hp ny), v c s dng ti ni nhn kim chng rng n s din dch thng ip mt cch chnh xc. 20 bytes tip theo xc nh a ch address family (lun l 2 i vi cc a ch IP), mt a ch IP, v mt ma trn c lin kt. C n 25 tuyn c th c qung b trong mt thng ip RIP dng 20 bytes ny. Gii hn 25 l gi kch thc tng ca thng ip RIP l 20*25+ 4 = 504, nh hn 512 bytes. Tnh tng qut ca RIP cng c th hin trong cch m n truyn a ch mng. nh dng ca a ch khng b gii hn c s dng bi TCP/IP; n c th c s dng vi nhiu b giao thc mng. Nh trnh 217

by trong hnh 8.23, mi a ch do RIP thng bo c th c a ch bao gm ti 14 byte. D nhin, cc a ch IP ch cn c 4 byte; RIP xc nh rng cc byte cn li phi l zero (nhng ngi thit k quyt nh v tr a ch IP l t byte th 3 n th 6 trong vng a ch). Vng c tn FAMILY OF NET i xc nh h ca giao thc m a ch mng c din dch trong RIP s dng cc gi tr c gn cho cc h a ch di h iu hnh UNIX 48 SD (cc a ch IP c gn cho gi tr 2). Cng vi cc a ch IP thng thng, RIP s dng quy c rng a ch 0.0.0.0 ch tuyn ng mc nh. RIP c a gi tr khong cch vo mi tuyn ng m n thng bo, bao gm c tuyn ng mc nh. Nh th, c th b tr hai b nh tuyn thng bo tuyn ng mc nh theo nhng gi tr khong cch khc nhau, to ra mt con ng chnh v mt con ng d phng. DISTANCE TO NET, cha mt s nguyn l khong cch n mng c xc nh. Cc khong cch c tnh theo s lng b nh tuyn cn i qua, nhng c gii hn trong khong t 1 n 16, v gi tr 16 biu th cho v hn (ngha l, khng tn ti tuyn ng i). Hot ng Ta xem mt tin trnh nh tuyn dng RIP, s hiu cng dng cho RIP l UDP port 520. Khi daemon bt u, n xc nh tt c cc giao din ang hot ng v gi mt gi d liu request packet cho mi giao din yu cu cc giao din gi cho n bng nh tuyn y ca Router khc. Trn mt lin kt PPP th yu cu ny c gi ti u kia ca lin kt. Yu cu ny c qung b nu mng h tr n. Cng UDP ch l 520. Gi d liu ny c gi tr command=1 nhng address family l 0 v metric l 16. y l mt RIP request c bit yu cu mt bng nh tuyn y t u kia ca lin kt. Khi RIP request c nhn th sau bng nh tuyn y c gi ti ni gi RIP request. Nu khng mi ch mc trong RIP request c x l: Nu ta c mt tuyn ti a ch ring, t metric theo gi tr ca ta, nu khng t metric l 16 v c ngha l ta khng c mt tuyn ti ch . Khi tr li respond c tr li. Tr li RIP Respond c nhn v c th cp nht li bng nh tuyn. Cc tuyn mi c th c thm vo, cc ch mc ang tn ti c th c sa i hoc b xo.

218

Cp nht bng nh tuyn theo nh k: sau mi 30 giy, ton b hoc mt phn ca bng nh tuyn ca Router c gi ti mi router lng ging. Bng nh tuyn c th c qung b hoc gi ti u kia ca lin kt PPP Vic cp nht xy ra bt c khi no s metric cho mt tuyn thay i. Mi tuyn c mt thi gian sng nht nh (timeout). Nu mt h thng ang chy RIP tm mt tuyn khng c cp nht khong 3 pht, metric ca tuyn c t ti 16 v c nh du xo. C ngha ta b qua 6 ln cp nht 30 giy t router a ra tuyn . Cc metric c dng bi RIP l cc host count. Host count ca cc giao din ni trc tip l 1. Nu mt router a ra mt tuyn ti mt mng khc vi mt host count l 1, metric cho mng l 2, khi phi gi gi d liu ti router truyn trn mng. Khi mi router gi cc bng nh tuyn ca n ti cc router lng ring, th cc tuyn c th c xc nh ti mi mng trong h thng. Nu c nhiu ng dn trong h thng t mt router ti mt mng th router s chn ng dn c t host count nht v b qua cc ng dn khc. Host count c gii hn l 15, ngha l RIP c th c dng ch bn trong h thng, y host count ln nht gia cc host l 15. Metric c bit 16 ch ra l khng c tuyn no tn ti i vi a ch IP. Bi v RIP khng kim tra v sa cha nhng hin tng lp trong chn ng, nhng thng tin v nhng tuyn vt qu 15 host s c coi l khng c gi tr, cng l hn ch ca RIP khi s dng trong nhng mng ln. 8.5.2.3. Cc hn ch ca RIP 1.0 Router dng RIP cng gp phi nhng vn tin cy trong bng nh tuyn do thi gian ng b thng tin gia cc router khi c s thay i xy ra trong mng. L do chnh l do s ng b thng tin chm dn n hin tng lp, gi l count to infinity nh hnh v. Router R3 c kt ni vi mng D. R2 nhn c thng tin do RIP R3 qung b ti, do n c c thng tin chn ng ti mng D. Khi lin kt ca R3 ti mng D khng cn n xo b thng tin trong bng nh tuyn ca n trong khi thng tin trong bng nh tuyn ca R2 vn cn nn R2 li gi thng tin cp nht ny cho R3 ni rng c th ti c mng D vi s host l 2.

219

R3

R2

R3

R3

Hnh 8.24: nh tuyn lp gia hai router Do vy R3 tnh rng n c th ti c mng D vi s host l 3, trong trng hp ny cc gi d liu i ti mng D c nhn bi R3 v R2 s truyn gia 2 router n khi TTL=0 gy ra hin tng nh tuyn lp (routing loop). Khi 2 router tip tc cp nht thng tin chn ng, qu trnh ny cn mt thm mt khong thi gian na. Khi R2 khng cn nhn c thng tin cp nht t R3 ti mng D vi gi tr cost 2, thng tin ti mng D vi gi tr cost 2 sau s khng c gi tr v s b xo khi bng nh tuyn ca R2 khi nhn c thng tin ti mng D ca R3 vi cost 3 v cp nht thng tin ti mng D vo bng nh tuyn ca n vi cost 4, tng t nh vy R3 tng cost ca n ln 5 c nh vy cho n khi gi tr cost t ti 16, qu trnh ny mt vi pht. C mt s cng ngh khc phc s hi t chm nh Split horizon, Poison reverse v Trigered updates. Split horizon - Split horizon khng cho php mt router cp nht nhng thng tin m n gi cho mt router khc quay tr li router ny. - Split horizon khng c poison reverse cng khng khc phc c hin tng lp nu trong trng hp c 3 router nh hnh di. - Nu R3 mt lin kt vi mng D n s ngng qung b thng tin ti mng D cho R1 v R2. Khi Split horizon khng cho php R1 v R2 gi thng tin ti D cho R3 do thng tin D ca R1 v R2 s mt gi tr khi ht thi gian (time out).

220

- Gi s trong khi R2 vn cn thng tin ti D nhng R1 b mt, khi R1 s nhn c thng tin cp nht t R2 (cost=3) do n thng bo vi R3 v thng tin cp nht ti D (cost=4), khi thng tin trn R2 (cost=2) mt do timeout R3 s cp nht thng tin ti D do R2 (cost=5) c nh vy cho n khi cost=16, trnh trng hp ny phi thit k cu hnh mng khng xy ra hin tng lp gia 3 router hoc dng trigerd updates. R1

D R3 R2

Hnh 8.25: nh tuyn lp gia 3 router Poision Reverse Vi Poision Reverse thay v khng truyn thng tin chn ng cho my qung b thng tin cc router truyn thng tin ny vi cost bng 16. Trigered updates Cho php cp nht kp thi cc thng tin khi c mt thng tin chn ng mi hoc b xo, iu ny cho php gim thiu thi gian lu gi cc thng tin khng c gi tr, trong trng hp trn khi R3 mt lin kt vi mng D n s cp nht ngay ln cc router R2, R1 thng tin ny. 8.5.2.4. Gii quyt vn m n v hn Vi v d trong hnh 8.24, chng ta c th gii quyt vn m n v hn bng cch s dng mt k thut c tn l split horizon update. Khi s dng cch ct theo hng ngang, b nh tuyn s khng nhn bn thng tin v tuyn ng ngc tr v b giao tip m t tuyn ng ny n. Trong v d ca chng ta, vic ct theo hng ngang ngn nga b nh tuyn R2 khi vic thng bo mt tuyn ng i n mng 1 ngc tr v b nh tuyn R1, v vy nu R1 mt lin lc vi mng 1, n phi dng vic thng

221

bo v tuyn ng. Vi k thut ct theo hng ngang, s khng c vng lp trong vic nh tuyn mng trong v d ny. L do l, sau mt vi cp nht vic nh tuyn, tt c cc b nh tuyn cng ng rng mng ny l khng th i n c. Tuy nhin, k thut ct theo hng ngang khng ngn cn c cc vng lp trong tt c cc cch cu hnh mng nh trong mt bi tp cui chng. Chng ta cng c th nhn nhn vn m n v hn theo mt cch khc, l theo phng tin lung thng tin. Nu mt b nh tuyn thng bo mt con ng ngn i n mng no , th tt c cc b nh tuyn khc (m nhn c thng bo) s nhanh chng ci cc b nh tuyn ny. Nu mt b nh tuyn thi khng thng bo v mt tuyn ng, th giao thc phi ph thuc vo c ch b m thi gian trc khi i n kt lun l khng cn i theo con ng ny na. Mt l ht hn (timeout), b nh tuyn ny s tm mt tuyn ng khc v bt u vic nhn bn thng tin . Tic thay, b nh tuyn khng th bit c tuyn nh tuyn mi ny c ph thuc vo tuyn ng va b loi b khng. Nh th, thng tin lin lc khng phi lc no cng c nhanh chng nhn bn. tng ny c th c tm tt v gii thch ngn gn nh sau: Tin tt i nhanh; tin xut i chm Mt k thut khc c s dng gii quyt vn m n v hn s dng bin hold down. Bin hold down buc b nh tuyn tham gia b qua thng tin v mt mng trong khong thi giam c nh ngay sau khi nhn c thng ip khng nh rng khng cn c th i n mng ny c na. Thng thng, bin hold down c gn cho tr gi l 60 giy. tng ca k thut ny l i lu bo m rng tt c cc my u nhn c tin xu v khng v nhn c thng ip cha thng tin c. Chng ta cn lu rng tt c cc my tham gia trong vic trao i RIP cn s dng cng mt k hiu cho bin hold down, nu khng th li c th b vng lp nh tuyn. Khuyt im ca k thut hold down l nu xy ra cc vng lp nh tuyn, chng s vn tn ti trong sut thi hn hold down. Quan trng hn, k thut hold down cng gi li tt c nhng tuyn ng khng chnh xc trong sut thi hn hold down, ngay c khi c mt tuyn ng thay th. Mt k thut cui cng gii quyt vn m v hn c gi l poison reverse. Mt khi mt kt ni bin mt, b nh tuyn ni thng bo kt ni ny vn gi li tuyn ng ny trong mt khong vi ln cp nht, v gim gi tr v hn trong nhng ln qung b ca n. lm k thut poison reverse hiu qu nht, th phi kt hp vi k thut triggerd update.

222

Triggerd update buc b nh tuyn gi tc th mt qung b khi n nhn c tin xu, thay v phi i n ln qung b nh k k tip. Bng cch gi thng tin cp nht tc khc, b nh tuyn gim thiu thi gian gy tc hi ca tin xu. Tic thay, trong khi cc k thut triggerd update, poison reverse, hold down v ct theo hng ngang u gii quyt c mt s vn , th ng thi chng cng to ra nhng vn khc. Ly v d, chng ta hy th xem iu g xy ra vi k thut triggerd update khi c nhiu b nh tuyn cng chia s chung mt mng. Ch mt ln qung b c th thay i tt c cc bng nh tuyn ca chng, lm kch hot mt loi mi cc qung b. Nu vng th hai ca cc qung b thay i cc bng, n s li kch hot thm nhng qung b khc. iu ny gy ra s khng hong (hu nh trnh nhng ng trn mng c s, RIP yu cu mi b nh tuyn i mt thi hn ngu nhin trc khi gi mt lnh triggerd update) Vic s dng qung b, tim nng gy ra cc vng lp nh tuyn v vic s dng k thut hold down ngn nga vn m v hn c th lm cho RIP v cng km hiu qu trn mng din rng. Vic qung b lun lun tiu tn rt nhiu bng thng. Ngay c khi khng xy ra s khng hong, vic c nhiu my qung b theo nh k c ngha l giao thng s gia tng khi s lng b nh tuyn gia tng. S tim tng ca cc vng lp nh tuyn cng tht l nguy him khi m dung lng ca ng truyn b gii hn. Mt khi ng truyn b trn ngp bi cc packet (ca vng lp), s v cng kh khn hoc l khng th no cc b nh tuyn c th trao i cc thng ip nh tuyn nhm ph v cc vng lp. Mc d c nhiu vn c bit, c nhiu nhm vn tip tc s dng RIP nh l mt IGP trong cc mng din rng. 8.5.2.5. Giao thc nh tuyn RIP version 2 RIP v2 c khun dng ging RIP nhng n b qua trng set to 0 nh hnh 8.26 Min nh tuyn (Routing domain) l phn nh danh ca tin trnh nh tuyn ngm nh (routing daemon). Route tag h tr EGP, n nh mt s hiu h thng c lp AS (Autonomous System) ca EGP v BGP. Mt n mng con (Subnet mask) ca mi tuyn p dng cho a ch IP tng ng.

223

a ch Next host IP l a ch cc gi d liu ti a ch IP ch tng ng cn c gi ti. Gi tr 0 trong trng ny c ngha l cc gi d liu ti ch nn c gi n h thng gi thng ip RIP.

Hnh 8.26: Gi RIP v2 8.5.2.6. Vic truyn cc thng ip RIP Cc thng ip RIP khng cha vng di tng minh v cng khng cha tng minh bin m cc mc. Thay v th, RIP gi nh rng c ch pht chuyn c s s bo cho ni nhn di ca thng ip gi n. C th, khi c s dng vi TCP/IP, cc thng ip RIP da vo UDP thng bo ni nhn di ca thng ip RIP hot ng trn cng s 520 ca UDP. Mc d yu cu RIP c th xut pht t nhng cng UDP khc, nhng cng UDP ch ca yu cu th lun lun l 520, cng nh l cng ngun m cc thng ip qung b RIP xut pht. 8.5.2.7. Khuyt im ca bin m s trm trong RIP S dng RIP nh l giao thc ca b nh tuyn ni s gii hn b nh tuyn trong hai cch, trc ht, RIP rng buc b nh tuyn vo gi tr ca bin s m s trm. Th hai, bi v n s dng gi tr tng i nh ca bin s m s trm c th hin cho v hn, RIP gin tip gii hn kch thc ca internet s dng n. C th, RIP rng buc di ca internet khng c qu 16 (ngha l, khong cch ti a). Nh th, mt internet s dng RIP c th c nhiu lm l 15 b nh tuyn gia hai my bt k. Cn lu rng gii hn v rng ca mng khng phi l gii hn v tng s b nh tuyn cng nh khng phi l gii hn v dy c ca mng. Thc ra, hu ht cc mng (trong vin i hc chng hn) c rng tng i nh ngay c khi chng c nhiu b nh tuyn bi v chng thng c cu hnh phn cp. Ly v d, hy th xt mt internet thng thng ca cng ty. Hu ht u s dng cu hnh phn cp bao gm mng backbone vo mt nhm lm vic, trong c mt mng LAN. Mc d mt cng ty c th bao gm c chc nhm lm vic, nhng rng ca ton b internet ch l 2. Ngay c khi mi nhm lm vic c m rng c m rng thm 224

vo b nh tuyn ni thm mt hay nhiu mng LAN, th rng ti a cng ch l 4. Tng t, vic m rng cu hnh phn cp mt hay hai mc cng ch lm tng rng thnh 6. Nh th, gii hn m RIP p t s nh hng nhng h t qun ln hoc nhng h t qun khng s dng cch t chc phn cp. Tuy nhin, ngay c trong trng hp tt nht, bin m s trm cng ch cung cp mt thc o n s v kh nng ca mng. Nh th vic s dng bin m s trm khng phi lc no cng cho ra nhng tuyn ng c tr hon t nht hoc c dung lng cao nht. Hn th na, vic tnh cc tuyn ng da trn c s gi tr nh nht ca bin m s trm cng bc l khuyt im. l, n lm cho vic nh tuyn tng i tnh bi v cc tuyn ng khng th p ng vi nhng thay i v mt giao thng trn mng. Cc phn tip theo s tm hiu mt cch tnh khc, v gii thch v sao cch tnh theo bin m s trm vn cn ph bin mc cho nhng gii hn ca chng. 8.5.3. Giao thc Hello Giao thc HELLO cung cp cho ta mt v d v IGP m s dng phng php tnh tuyn ng khc vi bin m s trm. Mc d HELLO li thi, n c ngha ng k trong lch s ca internet bi v n l IGP c s dng trong b nh tuyn fuzzball ban u ca backbone NSFNET (thut ng fuzzball ch nhng b nh tuyn khng c trong thng mi, bao gm phn mm giao thc c thit k c bit chy trn my tnh PDP11) HELLO ng c trnh by y bi v n cung cp mt v d v mt giao thc m s dng cch tnh tr hon. HELLO cung cp hai chc nng: n ng b cc ng h trong mt tp hp my tnh v n cho php mi my tnh c th tnh nhng con ng c tr hon ngn nht i n cc ch nh th, cc thng ip HELLO chuyn ti thng tin timestamp cng nh l thng tin nh tuyn. tng c bn trong HELLO tht l n gin: mi my tham gia vo nhng trao i HELLO s duy tr mt bng ca cc c tnh tt nht ca n v cc ng h trong nhng my ln cn. Trc khi truyn i mt packet, my tnh thm vo timestamp ca n bng cch sao chp gi tr ng h hin ti vo trong packet. Khi mt packet n ni, ni nhn s tnh mt c tnh v tr hon trn ng truyn bng cch ly timestamp trong packet gi n tr i c tnh cc b ca ng h hin ti trong my ln cn. Theo nh k, cc my tnh s ly thng tin t cc my ln cn ca chng thit lp li c tnh ca cc ng h.

225

Cc thng ip HELLO cng cho php cc my tnh tham gia tnh nhng tuyn ng mi. Giao thc ny s dng mt m hnh c sa i t m hnh vector khong cch, trong s dng s o v tr hon thay v s trm i qua. Nh th, mi my s nh k gi n nhng my ln cn mt mt bng cc ch m n c th m v c lng thi hn tr hon ca mi ch. Khi mt thng ip gi n t my X, my nhn kim tra mi gi tr trong thng ip v thay i trm k thnh X nu tuyn ng i qua X tn t chi ph hn tuyn ng hin ti (ngha l bt k tuyn ng no m tr hon i n X cng vi tr hon tr hon t X n ch ny li t hn tr hon hin ti i n ch ny). 8.5.4. Kt hp RIP, Hello v BGP Chng ta quan st c rng ch mt b nh tuyn c th s dng c hai giao thc, giao thc cng ni (IGP) thu thp thng tin nh tuyn bn trong h t qun ca n v giao thc cng ngoi (EGP) thng bo cc tuyn ng n cc h t qun khc. V nguyn l, ngi ta c th d dng xy dng ch mt phn mm m kt hp hai giao thc ny, c th thu thp cc tuyn ng v thng bo chng m khng cn n s can thip ca con ngi. Trong thc t, nhng vng mc k thut cng nh l chnh sch lm cho cng vic ny rt phc tp. V mt k thut, cc giao thc IGP, nh RIP v Hello, l nhng giao thc nh tuyn. Mt b nh tuyn s dng cc giao thc nh th cp nht bng nh tuyn ca n da vo thng tin n ly c t cc b nh tuyn khc bn trong h t qun ca n. Nh th, routed, chng trnh UNIX m ci t RIP, thng bo thng tin t bng nh tuyn cc b v cng thay i bng nh tuyn cc b khi n nhn c cc cp nht. RIP tin tng rng cc b nh tuyn trong cng h t qun chuyn i d liu chnh xc. Ngc li, cc giao thc cng ngoi, nh BGP khng tin tng vo cc b nh tuyn trong nhng h t qun khc. Kt qu l, cc giao thc ngoi khng thng bo tt c cc tuyn ng ca bng nh tuyn cc b. Thay v th, cc giao thc ny lu tr mt c s d liu v kh nng i n cc mng, v p dng cc rng buc khi gi v nhn thng tin. Vic b qua cc chnh sch rng buc c th nh hng n vic nh tuyn trong bi cnh ln hn c th khng i n c mt s phn ca internet. Ly v d, nu b nh tuyn trong mt h t qun ang s dng RIP v tnh nhn bn mt tuyn ng c chi ph thp n mt mng tai trng i hc Quc Gia, trong khi khng c tuyn ng nh th, th cc b nh tuyn khc s dng RIP s chp nhn v ci t tuyn ng ny. Sau chng s chuyn d

226

liu i qua i hc Quc Gia n b nh tuyn m thc hin sai st ny. Kt qu l, c l rng cc my tnh trong h t qun khng th no n c i hc Quc Gia. Vn tr ln nghim trng hn nu cc giao thc cng ngoi khng ci t cc chnh sch rng buc. Ly v d, nu b nh tuyn bin trong h t qun s dng BGP nhn bn tuyn ng bt hp l n cc h t qun khc, th mt phn ca internet c th khng i n c mng ti i hc Quc Gia. 8.5.5. nh tuyn bn trong h t qun Chng ta thy rng cc EGP nh l BGP cho php mt h t qun thng bo thng tin nh tuyn n h khc. Tuy nhin, cng s l hu dng khi cung cp vic nh tuyn bn trong mt h t qun, m cc b nh tuyn chn nhng con ng c chi ph t nht. lm c iu ny cn c thm s tin cy ln nhau. Vic m rng nim v s tin cy t mt h t qun n nhiu h t qun l cng vic phc tp. Cch tip cn n gin nht l nhm cc h t qun li theo kiu phn cp. Ly v d, chng ta th hnh dung c ba h t qun trong ba phn khoa khc nhau ca mt vin i hc ln. S l iu t nhin khi nhm ba phn khoa ny li bi v chng cng chia s vi nhau cc yu cu qun l. ng lc cho vic nhm theo phn cp chnh l do nim v s tin cy. Cc b nh tuyn bn trong mt nhm tin tng ln nhau vi tin cy cao hn l cc b nh tuyn nhng nhm khc. Vic nhm cc h t qun i hi s m rng cc giao thc nh tuyn. Khi thng bo v khong cch, cc gi tr phi c tng ln khi i qua bin gii t nhm ny n nhm khc. K thut ny, i khi c gi l bin i thc o, phn chia cc gi tr khong cch thnh ba loi. Ly v d, gi s cc b nh tuyn bn trong mt h t qun cc gi tr khong cch nh hn 128. Chng ta c th a ra mt quy tc rng khi truyn thng tin khong cch i qua bin gii h t qun bn trong mt nhm, gi tr khong cch phi c chuyn i qua vng t 128 n 191. Cui cng, chng ta cng c th a ra quy tc rng khi gi gi tr khong cch qua bin gii gia hai nhm, cc gi tr ny phi c chuyn i qua vng t 192 n 254. Tc dng ca cc bin i ny l hin nhin: i vi mt mng ch bt k, bt k con ng no nm hon ton trong mt h t qun u bo m c chi ph thp hn con ng c on nm ngoi h t qun ny. Hn th na, trong s nhng con ng c phn nm ngoi h t qun, nhng con ng no vn cn nm trong mt nhm s c chi ph thp hn nhng con ng i qua bin gii ca nhm. u im chnh ca k thut chuyn i thc o l

227

chng cho php mi h t qun chn mt IGP v cng cho php cc h khc c th so snh cc chi ph nh tuyn. 8.5.6. Giao thc nh tuyn OSPF 8.5.6.1. c im v hot ng ca OSPF OSPF l mt giao thc c thay th cho RIP nhm khc phc c cc hn ch ca giao thc RIP. OSPF l mt giao thc dng trng thi lin kt (link state), trong khi RIP l mt giao thc vector khong cch (distance vector), thng ip c gi i bao gm mt vector khong cch (host count). Khi dng RIP mi router cp nht bng nh tuyn ca n da trn nhng vector khong cch m n nhn t cc router lng ging. Trong giao thc OSPF dng trng thi lin kt, mt router khng trao i khong cch vi router lng ging, thay vo mi router kim tra mt cch tch cc cc trng thi lin kt ca n vi mi router lng ging, tc l c th c nhiu tuyn ng ti mt ch vi cc host count khc nhau nhng n khng nht thit phi c mt host count nh nht m lc y n s tnh ton xem tuyn no thun li hn th n s chn tuyn v n gi thng tin ny ti cc router khc. Chng hn nh c mt tuyn no c s host count ln hn nhng gii thng theo tuyn li ln hn nhiu so vi gii thng ca tuyn c t host count hn th n s chn tuyn c gii thng ln hn. Sau cc router lng ging s gi thng tin ra ton b h thng. Mi router nm gi thng tin v trng thi lin kt ny v xy dng nn mt bng nh tuyn y . Mt s khc nhau quan trng l giao thc trng thi lin kt lun hi t nhanh hn giao thc vector khong cch, ngha l kh nng n nh nhanh hn sau khi c s thay i, v d nh khi mt router hoc mt lin kt b hng. OSPF khc vi RIP v cc giao thc nh tuyn khc l OSPF dng IP trc tip. Ngha l n khng dng TCP hoc UDP thit lp lin kt. OSPF c gi tr ring ca trng protocol trong IP header. c im OSPF OSPF c nhiu c im hn hn RIP nh sau: - OSPF c th tnh ton mt hoc nhiu tuyn i vi mi loi dch v IP. Ngha l ch no c nhiu tuyn trong bng nh tuyn th n s dnh mi tuyn cho mt loi dch v IP. - Khi cc tuyn c gi tr cost cn bng ti mt ch, OSPF s phn tn lung d liu cn bng gia cc tuyn, gi l Load balancing.

228

- OSPF h tr cho cc mng con (Subnet): Mt mt n mng con (Subnet mask) c kt hp vi mi tuyn c qung b. Subnet mask cho php mt a ch IP ca bt k lp no c phn ra thnh nhiu mng con khc nhau vi cc kch thc khc nhau. Cc tuyn ti mt host c qung b vi mt subnet mask gm ton bit 1. Mt tuyn mc nh (default) c qung b nh mt a ch IP 0.0.0.0 vi mt Mask ton bit 0. - Mt phng php xc thc n gin c th c vi giao thc ny. Mt mt khu dng cleartext c th c xc nh nh RIPv2. - Cc lin kt PPP gia cc router khng cn mt a ch IP ti mi u ca lin kt tit kim a ch IP, gi l mng Unnumbered. - H thng dng OSPF gi thng ip ti mt nhm a ch dng (Muiticasting) thay cho vic qung b ( qung bing) gim thng lng trn cc ng truyn ca h thng khng dng giao thc OSPF - Khng ging RIP, OSPF khng b hin tng nh tuyn lp (count to infinity), do s host ca n khng b gii hn bi 16 (ti a ln ti 65535) do c th chy trong mng c quy m ln hn, cho php gn mt s lng ln cc gi tr cost khc nhau ph thuc vo kiu ca mng da trn mt s c tnh nh gii thng. OSPF trao i thng tin nh tuyn nhanh hn RIP do khng xy ra trng hp nh tuyn lp v do thng lng cp nht ngay lp tc, khc phc hin tng mt lin kt hay hin tng lp. - OSPF trao i thng tin trn mng t hn RIP, OSPF ch cp nht thng tin khi c s thay i trng thi lin kt hoc sau 30 pht do vy chim t thi gian lu thng trn mng hn RIP (30 giy), dnh gii thng cho d liu. - OSPF cho php chn ng trong cc mng c quy m ln nh c thm mt s tnh nng linh hot sau: - Loi dch v (Type of Services): Chn ng tu theo kiu dch v, nhiu ng i c th c cu hnh cho nhng kiu dch v khc nhau, th d nh ng c thng lng cao dnh cho mt s cc dch v c yu cu cao v di thng... - Cn bng ti (Load Balancing): Do c nhiu ng sn sng, d liu c phn b nhng ng ny sao cho s dng h tng mng c hiu qu nht.

229

- Chia AS (Subdivision of AS) qun l mng quy m ln bng cch phn ra thnh cc vng logic. - An ninh (Security). - nh tuyn cho host ring cho mng. OSPF t chc theo kiu hnh cy, trn cng l h thng AS trong h thng AS c cc vng, mi router ch nm thng tin v cu trc mng ca mt vng nht nh (topological database) cng cc thng tin chn ng trong vng , cho php n quyt chn ng theo cc thng tin chn ng trn mng, dn n 2 loi chn ng sau: Chn ng trong AS (infraction routing) v chn ng ngoi AS (inter routing). Cc loi router OSPF: - Router ni b (Internal router): ch c lin kt vi mt vng, ch chy mt bn sao ca thut ton OSPF v lu gi thng tin v cu hnh trong vng ca n. - Router c lin kt ra bn ngoi (Area Border Router) c lin kt vi nhiu hn mt vng, chy nhiu bn sao ca thut ton OSPF cng vi mt bn sao v cu hnh mng cho mi vng m n lin kt v mt bn sao cho AS xng sng (backbone AS). gim thiu lu lng chn ng, Router c lin kt ra bn ngoi ch quan tm n cu hnh ca vng m n lin kt trong s phn b ca c h thng AS. Nhng router khc trn cng mt backbone s truyn nhng thng tin chn ng t router ny ti cc vng khc. - Cc router nm trn ng bin ca h thng c lp (AS boundary router) chuyn i thng tin chn ng vi cc router cc h thng AS khc. Cc router ny c nhng thng tin chn ng ra ngoi h thng c lp AS c qung b khp h thng AS, cc router trong h thng AS lu gi cc thng tin trn ng ti mi router. * Nh tn gi ca n, c t ca giao thc c ph bin rng ri vic lm cho n tr thnh mt chun m m mi ngi c th ci t m khng phi tr chi ph bn quyn, khuyn khch nhiu nh sn xut h tr OSPF. Kt qu l, n tr ln ph bin. * OSPF bao gm vic nh tuyn theo kiu ca dch v. Ngi qun l c th ci t nhiu tuyn ng i n mt ch no , mi tuyn ng dnh cho mt u tin hay mt loi dch v. Khi gi datagram i, b nh tuyn chy OSPF s s dng c a ch ch v vng kim dch v trong phn

230

u IP chn tuyn ng OSPF l mt trong cac giao thc TCP/ IP u tin h tr vic nh tuyn theo kiu ca dch v. * OSPF cung cp vic cn bng giao thng. Nu ngi qun l xc nh nhiu tuyn ng i n mt ch no vi cng mt chi ph, OSPF s phn b giao thng u nhau trn tt c cc tuyn ng ny v OSPF cng li l mt trong nhng IGP m u tin h tr vic cn bng giao thng; Cc giao thc nh RIP tnh ch mt con ng i n mi ch. * cho php s pht trin v lm cho cc mng ti mi n v qun l hn, OSPF cho php mt n v phn chia cc mng v cc b nh tuyn ca n thnh nhng tp hp con gi l khu vc. Mi khu vc l ring bit; kin thc v cu hnh ca mt khu vc c che du i vi nhng khu vc khc. Nh th, nhiu nhm bn trong mt n v c th cng hp tc trong vic s dng OSPF cho vic nh tuyn mc d mi nhm vn gi li kh nng thay i cu hnh mng ni b ca n mt cch c lp. * Giao thc OSPF xc nh rng tt c nhng trao i gia cc b nh tuyn c th c xc minh. OSPF cho php c nhng m hnh xc minh khc nhau v thm ch cho php mt khu vc c quyn chn mt m hnh khc vi khu vc khc. tng nm sau vic xc minh l m bo rng ch nhng b nh tuyn c tin cy s nhn bn thng tin nh tuyn. hiu c ti sao iu ny c th mt vn , chng ta hy th xt xem iu g c th xy ra khi s dng RIT1, m khng c vic xc minh. Nu mt ngi nghch ngm s dng my tnh c nhn nhn bn cc thng ip RIP thng bo v cc tuyn ng c chi ph thp, th cc b nh tuyn khc v cc my tnh s dng RIP s thay i cc tuyn ng ca chng v bt u gi datagram n my tnh c nhn ny. * OSPF bao gm vic h tr cho cc tuyn ng khng phn lp, theo my c th, v theo mng con c th, cng nh l cc tuyn ng theo mng phn lp c th. C l trong mt internet ln s cn n tt c cc kiu ny. * dung np cc mng nh Ethernet, OSPF m rng thut gii SPF trnh by trong phn u chng. Chng ta m t thut gii ny s dng th im ni im v ni rng mi b nh tuyn chy SPF s nh k qung b cc thng ip trng thi lin kt ca mi my ln cn v c th i n c.

231

* Nu c K b nh tuyn ni vo mt Ethernet, chng ta s qung b K thng ip trng thi lin kt OSPF gim thiu s qung b bng cch cho php mt cu hnh th phc tp hn, trong mi nt th hin cho b nh tuyn hoc cho mng. Kt qu l, OSPF cho php cc mng a truy xut (nh Ethernet) c mt cng c ch nh (ngha l mt b nh tuyn c ch nh) gi i cc thng ip trng thi lin kt, i din cho tt c cc b nh tuyn ni vo mng ny; nhng thng ip ny thng bo trng thi ca tt c cc lin kt t mng ny n cc b nh tuyn ni vo n. OSPF cng s dng kh nng qung b phn cng, khi chng tn ti, pht chuyn cc thng ip trng thi lin kt.
2

* cho php uyn chuyn ti a, OSPF cho php ngi qun l m t cu hnh mng o m c th rt tru tng so vi cc chi tit v nhng kt ni vt l. Ly v d, ngi qun l c th cu hnh mt lin kt o gia hai b nh tuyn ny i hi vic thng tin lin lc qua mt mng trung gian. * OSPF cho php cc b nh tuyn trao i thng tin nh tuyn n c hc t n v khc (bn ngoi). V c bn, mt hay nhiu b nh tuyn c cc kt ni n nhng n v khc s hc c thng tin v cc n v v a n vo khi gi cc thng ip cp nht. nh dng ca thng ip phn bit c thng tin ly c t ngun bn ngoi thng tin ly c t cc b nh tuyn bn trong n v, v vy khng c s nhm ln v ngun hay tin cy ca cc tuyn ng. 8.5.6.2. nh dng thng ip OSPF Mi thng ip OSPF bt u bi mt phn u c nh 24 byte, nh trong hnh 16.7:

Hnh 8.28: nh dng thng ip OSPF - Vng VERSION xc nh phin bn ca giao thc.

232

- Vng TYPE xc nh kiu ca thng ip, theo bng sau: o 1: Hello o 2: Database description o 3: Link status request o 4: Link status update o 5: Link status acknowledgment - Vng c tn SOURCE ROUTER IP ADDRESS cho ta a ch ca ni gi, - Vng c tn AREA ID l con s nh danh 32 bit ca khu vc ny. - Bi v mi thng ip c th bao gm vic xc minh, nn vng AUTHENTICATION TYPE xc nh m hnh xc minh no c s dng hin ti, c ngha l khng xc minh v 1 c ngha l s dng mt password n gin). 8.5.6.3. nh dng thng ip Hello ca OSPF OSPF gi thng ip Hello trn mi lin kt theo nh k thit lp v kim tra kh nng i n cac my ln cn. Hnh 8.29 trnh by nh dng ca Hello.

Hnh 8.29: nh dng thng ip OSPF HELLO

233

- Vng NETWORK MASK cha mt n ca mng m qua thng ip c gi i. - Vng DEADINTERVAL cho gi tr thi gian tnh bng giy; Sau thi hn nu my ln cn khng p li th c xem nh cht. Vng HELLO INTERVAL khong cch thi gian, tnh bng giy, gia cc thng ip Hello. Vng GWAY PRIO l u tin ca b nh tuyn ny, tnh theo s nguyn v c s dng trong vic chn my d phng ca b nh tuyn c ch nh.

- Cc vng c tn DESIGNATED ROUTER v BACKUP DESIGNATED ROUTER cha cc a ch IP ca b nh tuyn c ch nh v b d phng cho b nh tuyn c ch nh ca mng m qua thng ip c gi i. - Cui cng, cc vng c tn NEIGHBOR IP ADDRESS cha a ch IP ca tt c cc my ln cn m ni gi va mi nhn cc thng ip hello t . 8.5.6.4. nh dng thng ip Database description ca OSPF Cc b nh tuyn trao i nhau thng ip OSPF database description khi ng c s d liu cu hnh mng ca chng. Khi trao i, mt b nh tuyn ng vai tr ng vai tr ch, cn nhng ci khc ng vai tr th. Nhng ci th p li li mi thng ip database description. Hnh 8.30 trnh by nh dng ca thng ip. Bi v n c th rt ln, nn c s d liu cu hnh c th c phn chia ra thnh mt s thng ip bng cch s dng cc bit I v M. Bit I c lp ln 1 trong thng ip khi ng; bit M c lp ln 1 nu c thm thng ip tip theo sau. Bit S ch rng thng ip c gi i my ch (1) hay my th (0). Vng DATABASE SEQUENCE NUMBER nh s th t cc thng ip ni nhn c th bit c ci no b mt. Thng ip khi ng cha mt s nguyn ngu nhin R; cc thng ip tip theo sau cha cc s nguyn tip theo t R.

234

Hnh 8.30: nh dng thng ip OSPF DD v LSA Header

Cc vng t LINK TYPE n LINK AGE m t mt lin kt trong cu hnh mng; chng c lp li cho mi lin kt. Vng LINK TYPE m t mt lin kt theo cc loi trong danh sch sau y. o 1: Router link o 2: Network link o 3: Summary link (IP net) o 4: Summary link (link to border route) o 5: External link (link to another site)

Vng LINK ID cho ta nh danh ca lin kt (m c th l a ch IP ca b nh tuyn hay mng, tu thuc vo kiu lin kt)

235

Vng ADVERTSING ROUTER xc nh a ch ca b nh tuyn thng bo lin kt ny v vng LINK SEQUENCE NUMBER, cha mt s nguyn c pht sinh bi b nh tuyn bo m rng cc thng ip khng b tht lc hoc l khng b mt th t khi nhn. Vng LINK CHECKSUM cung cp s bo m hn na thng tin lin kt khng b h hng. Cui cng, cng LINK AGE cng gip cc thng ip theo th t n cho ta thi gian, tnh bng giy t khi lin kt c thit lp. 8.5.6.5. nh dng thng ip Link Status Request ca OSPF Sau khi trao i cc thng ip database description vi my ln cn, b nh tuyn c th pht hin ra rng mt phn ca c s d liu ca n khng c cp nht (vi thng tin mi nht). yu cu cc my ln cn cung cp thgn tin cp nht, b nh tuyn gi i thng ip Link Status Request. Thng ip ny lit k cc lin kt c th, nh trong hnh 8.31. Cc my ln cn s p li vi thng tin mi nht m n c c v cc lin kt . C ba vng c lp li cho mi lin kt v trng thi no c yu cu. C th cn nhiu hn mt thng ip nu danh sch yu cu qu di.

Hnh 8.31: nh dng thng ip OSPF LSR 8.5.6.6. nh dng thng ip Link Status Update ca OSPF Cc b nh tuyn qung b trng thi ca cc lin kt vi thng ip Link Status Update. Mi cp nht bao gm mt danh sch cc thng bo, nh trnh by trong hnh 8.32

236

Mi thng bo v trng thi lin kt c mt phn u c nh dng nh trong hnh 8.32. Cc gi tr c s dng trong mi vng c ngha nh trong thng ip database desciption.

Hnh 8.32: nh dng thng ip OSPF LSU v LSA header Tip theo sau phn u trng thi lin kt l mt trong bn nh dng c th c m t cc lin kt t mt b nh tuyn n mt khu vc no , cc lin kt t mt b nh tuyn n mt mng c th, cc lin kt t mt b nh tuyn n cc mng vt l m kt hp thnh mt mng con IP, hay cc lin kt t mt b nh tuyn n cc mng nhng n v khc. Trong tt c mi trng hp, vng LINK TYPE trong phn u ca trng thi lin kt xc nh nh dng no c s dng. Nh th, b nh tuyn m nhn thng ip Link Status Update bit c chnh xc nhng ch c m t no nm bn trong n v v nhng ch no nm ngoi. 8.5.7. Mt s bin php m bo an ton nh tuyn Trn siu xa l thng tin, cc host c kt ni vi n c nguy c b e do. Hin nay, khi Internet tr thnh xa l khng an ton, router cha thc s c bc chn bo v ngn nga. ng hn l, tm quan trng cn t trn mc 237

bo v an ton ti cc host. iu ny tng t nh bo v nh, ngi ta kho ca li chng li k xm phm (host machines) hn l ngn chn trn ng ph. Mt s c th cho rng chng ta c th vn t nhiu i tun tra an ton v cc trm kim sot trn ng. Sau y l mt s bin php an ton c th thc hin bi router nhm chng k trm trn xa l. Padlock the routers (kho ti router). Ch nhn ca router c th t router ca h trong vng an ton v kho chng li. V d thc hin d n c tn WorldPlus ca AT&T, cc router ca Cisco c s dng cho php kt ni gia cc site WorldPlus. AT&T cung cp dch v StarWAN bao gm cc router. Nh cung cp dch v thng t mt kho trong router ca h v ch c ngi qun tr site mi c quyn truy cp ti kho. Encrypt data files (m ho cc tp d liu): Khi cc tp ng dng ra khi cc my, chng c th c m ho ti mc router ngun v gii m ti router ch. Build firewalls (xy dng cc bc tng la). Firewall l cc h thng my tnh, khng phi cc router. Mt h thng firewall thay th IP router vi mt my tnh khng cho php cc gi chuyn tip. Bng cch khng cho php cc gi chuyn tip gia cc mng, firewall hot ng nh mt proxy cho nhng ngi dng bo v iu bt hnh. Bnh thng chuyn qua mt router cc gi d liu c chuyn thng qua tng IP m khng c hn ch. Trong h thng firewall, khng c gi no c chuyn qua. Ch c cc gi c a ch do my firewall kim sot mi c php chuyn qua. Filter out packets at the router level (lc cc gi ti mc router). K thut ny c thc hin theo cng nghip router. N c thc hin trong mt bng. Ngi qun tr router c th ch r cch thc ngi dng mun chng li vic truy cp bng cch ch ra tn host v cc s hiu cng tng ng. Authenticate at the router protocol level (xc thc ti mc giao thc nh tuyn). Giao thc RIP 2 v OSPF u c trng dng cho vic xc thc (authentication field) (xem phn giao thc RIP v OSPF). c c cc ch bo v tt hn mc giao thc, cc nghin cu trong tng lai c th c thc hin tm ra cc thut ton xc thc tt hn.

238

239

Cu hi v bi tp 8.1 Trnh by nguyn l routing 8.2 Khi nim bng dn ng 8.3 H t qun v h ng ng 8.4 Giao thc IGP v EGP 8.5 Hot ng ca RIP 8.6 Hot ng ca OSPF 8.7 Hot ng ca BGP

240

TI liu tham kho


1. Nguyn Quc Cng, Internetworking vi TCP/IP 2 tp, Nh xut bn gio dc, 2001. 2. IBM Corporation, TCP/IP Basic, 1999. 3. W. Richard Stevens-Gary R. Wright, TCP/IP Illustrated, Volume 12, 2001. 6. Microsoft Corporation, TCPIP Network Managment, 2003 4. Hc vin bu chnh vin thng, Gio trnh mng, 2003. 5. Hc vin k thut mt m, Gio trnh mng, 2002. 6. i hc Bch khoa H ni, Tp bi ging TCP/IP, 2006

241

You might also like