Tài liệu Ứng dụng dịch vụ thư điện tử: ... Ebook Ứng dụng dịch vụ thư điện tử
92 trang |
Chia sẻ: huyen82 | Lượt xem: 2037 | Lượt tải: 0
Tóm tắt tài liệu Ứng dụng dịch vụ thư điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bé gi¸o dôc vµ ®µo t¹o céng hoµ x· héi chñ nghÜa viÖt nam
ViÖn ®¹i häc më hµ néi §éc lËp - tù do - h¹nh phóc
nhiÖm vô thiÕt kÕ tèt nghiÖp
Hä vµ tªn sinh viªn:……………………………………….Ngµy sinh:……….……
Líp..................... Kho¸:………………………..Ngµnh häc:……………………….
………………………………………………………………………….......….…………
1. §Çu ®Ò thiÕt kÕ:
………………………………………………………………………….......…………………………………………………………………………………………….......………
2. C¸c sè liÖu ban ®Çu:
………………………………...……………………………………………………………………………………………...……………………………………………………………………………………………...……………………………………………………………………………………………...........................…………………………………
3. Néi dung c¸c phÇn thuyÕt minh vµ tÝnh to¸n:
…………………………………………………………...……………………………………………………………………………………………...……………………………………………………………………………………………...……………………………………………………………………………………………...……………………………………………………………………………………………...……………………………………………………………………………………...........................…………
4. Hä tªn c¸n bé híng dÉn:
……………………………………………………………………………...……………………………………………………………………………………………...............…
5.Ngµy giao nhiÖm vô thiÕt kÕ:………………………………………
6.Ngµy hoµn thµnh nhiÖm vô:……………………………………….
chñ nhiÖm khoa c¸n bé híng dÉn
bé gi¸o dôc vµ ®µo t¹o
viÖn ®¹i häc më hµ néi
b¶n nhËn xÐt thiÕt kÕ tèt nghiÖp
Hä vµ tªn sinh viªn:…………………………………………………………….........
Ngµnh:…………………........Kho¸:…………Khoa: C«ng nghÖ §iÖn tö – Th«ng tin
C¸n bé híng dÉn:……………………………………………………………….......
C¸n bé duyÖt thiÕt kÕ:…………………………………………………………….......
1. Néi dung thiÕt kÕ tèt nghiÖp:
…………………………………………………………………………………………......……………………………………………………………………………………………...……………………………………………………………………………………………...……………………………………………………………………………………………...……………………………………………………………………………………………...........................………………………………………………………………
2. NhËn xÐt cña ngêi duyÖt:
…………………………….......…………………………………………………………………………………………….......……………………………………………………………………………………………...……………………………………………………………………………………………...……………………………………………………………………………………………...……………………………………………………………………………………………...…………………………………………………………………………………………….......................…………………………
3. §¸nh gi¸(®iÓm duyÖt):
......................................................................................................................................................................................................................................................................................
Hµ Néi,Ngµy… th¸ng… n¨m ........
Ngêi duyÖt ký
Lêi nãi ®Çu
------- & -------
ë thêi ®¹i bïng næ th«ng tin hiÖn nay, khèi lîng th«ng tin ngµy cµng phong phó, ®a d¹ng, ®Ò cËp ®Õn mäi vÊn ®Ò, dÔ sö dông vµ trao ®æi lÉn nhau mét c¸ch nhanh chãng ®· trë nªn vÊn ®Ò cÊp b¸ch. V× thÕ m¹ng m¸y tÝnh ®Æc biÖt lµ m¹ng Internet ra ®êi, nh»m gi¶i quyÕt ®îc vÊn ®Ò nªu trªn.
Víi tÇm quan träng cña mét m¹ng m¸y tÝnh, viÖc t×m hiÓu , nghiªn cøu m¹ng m¸y tÝnh nh»m khai th¸c vµ øng dông mét c¸ch cã hiÖu qu¶ lµ rÊt cÇn thiÕt. Cã rÊt nhiÒu vÊn ®Ò liªn quan nh : vÊn ®Ò kiÕn tróc m¹ng, c¸c nguyªn lý thiÕt kÕ vµ cµi ®Æt c¸c dÞch vô, v.v..
Trong thêi gian võa qua, díi sù híng dÉn cña thÇy gi¸o NguyÔn Thanh B×nh, em ®· nghiªn cøu vÊn ®Ò "Tæng quan vÒ m¹ng m¸y tÝnh, m¹ng Internet vµ dÞch vô E-mail " lµm ®å ¸n tèt nghiÖp cña m×nh. §å ¸n gåm nh÷ng phÇn chÝnh sau:
Ch¬ng 1 Giíi thiÖu tæng quan vÒ m¹ng m¸y tÝnh
Ch¬ng 2 Nghiªn cøu m¹ng Internet
Ch¬ng 3 DÞch vô th ®iÖn tö
Trong qu¸ tr×nh thùc hiÖn ®Ò tµi cña m×nh, em ®· nhËn ®îc sù gióp ®ì tËn t×nh cña thÇy c« vµ b¹n bÌ. Em xin ch©n thµnh c¶m ¬n thÇy gi¸o Th¹c Sü NguyÔn Thanh B×nh, Trêng B¸ch Khoa Hµ Néi ®· nhiÖt t×nh híng dÉn vµ t¹o mäi ®iÒu kiÖn ®Ó em hoµn thµnh tèt ®å ¸n tèt nghiÖp nµy.
Em xin ch©n thµnh c¶m ¬n c¸c thÇy c« gi¸o Khoa §iÖn tö - ViÔn th«ng ®· hÕt lßng d·y dç em trong nh÷ng n¨m qua./
Hµ néi, Ngµy… th¸ng… n¨m 2002
Sinh viªn: NguyÔn ThÞ Hång HuÕ
Ch¬ng I : tæng quan M¹ng m¸y tÝnh
I.1.KiÕn tróc m¹ng m¸y tÝnh :
ThÓ hiÖn c¸ch nèi m¸y tÝnh víi nhau ra sao vµ tËp hîp c¸c quy t¾c, quy íc mµ tÊt c¶ c¸c thùc thÓ tham gia ph¶i tu©n theo ®Ó ®¶m b¶o m¹ng ho¹t ®éng tèt. C¸c c¸ch nèi kÕt nµy gäi lµ c¸c Topology cña m¹ng. TËp hîp c¸c quy t¾c, quy íc ®îc gäi lµ giao thøc (protocol). Topology lµ Protocol lµ hai thµnh phÇn c¬ b¶n, cèt lâi cña m¹ng.
- Topology m¹ng cã hai lo¹i chñ yÕu nh sau:
+ §iÓm - ®iÓm (point-to-point) : C¸c ®êng truyÒn nèi tõng cÆp nót víi nhau vµ mçi nót ®Òu cã tr¸ch nhiÖm lu tr÷ t¹m thêi sau ®ã chuyÓn tiÕp d÷ liÖu ®i cho tíi ®Ých. V× thÕ mµ m¹ng nµy cßn ®îc gäi lµ lu tr÷ vµ chuyÓn tiÕp (Store-end-Forward).
+ Qu¶ng b¸ (Broadcast) : TÊt c¶ c¸c nót chia theo ®êng truyÒn vËt lý. D÷ liÖu göi tõ mét nót cã thÓ nhËn bëi tÊt c¶ c¸c nót cßn l¹i. V× thÕ cÇn chØ ra ®Þa chØ ®Ých cña d÷ liÖu cña mét nót xem cã ph¶i d÷ liÖu dµnh cho m×nh hay kh«ng. Mét topology kiÓu nµy nh vßng (Ring), Bus vµ d¹ng Satellite.
VÒ m« h×nh m¹ng ta cã c¸c m« h×nh sau:
+ M¹ng côc bé (LAN - Local Area Network) : M¹ng ®îc cµi ®Æt trong ph¹m vi t¬ng ®èi nhá víi kho¶ng c¸ch lín nhÊt gi÷a c¸c nót m¹ng m¸y tÝnh chØ trong vßng vµi chôc km trë l¹i.
+ M¹ng ®« thÞ (MAN - Metropolitan Area Network) : Lµ m¹ng ®îc cµi ®Æt trong ph¹m vi mét ®« thÞ hoÆc mét trung t©m kinh tÕ x· héi cã b¸n kÝnh nhá h¬n b»ng 100 Km.
+ M¹ng diÖn réng (WAN - Wide Area Network) : Ph¹m vi m¹ng vît biªn giíi quèc gia vµ c¶ lôc ®Þa.
+ M¹ng toµn cÇu (GAN - Global Area Network) : Ph¹m vi cña m¹ng tr¶i réng kh¾p toµn cÇu.
I.2 Ph©n lo¹i m¹ng m¸y tÝnh
Trªn ph¬ng tiÖn tæng thÓ cã hai lo¹i m¹ng m¸y tÝnh ®îc giíi chuyªn m«n chia theo quy m« cña m¹ng.
M¹ng tæng thÓ (WAN - Wide Area Network) : lµ mét m¹ng lín cã ph¹m vi ho¹t ®éng rÊt réng, hÖ m¹ng nµy cã thÓ truyÒn vµ trao ®æi d÷ liÖu víi ph¹m vi lín cã kho¶ng c¸ch xa nh trong mét quèc gia trªn toµn thÕ giíi. Ph¬ng tiÖn liªn kÕt cã thÓ th«ng qua c¸c vÖ tinh hoÆc d©y c¸p.
M¹ng côc bé (LAN - Local Area Network) lµ mét m¹ng trong ®ã c¸c m¸y tÝnh ®îc nèi vµ lµm viÖc trong mét ph¹m vi hÑp nh trong mét toµ nhµ, mét c¬ quan, mét bé, mét nghµnh…
Trong hÖ thèng m¹ng m¸y tÝnh ngêi ta ph©n biÖt hai lo¹i m¸y tÝnh lµ Server vµ Client. Server lµ lo¹i m¸y tÝnh cung cÊp c¸c tµi nguyªn cho m¸y kh¸c sö dông. Ngîc l¹i, Client lµ lo¹i m¸y khai th¸c vµ sö dông c¸c tµi nguyªn ®ã. C¨n cø vµo nguyªn t¾c ph©n chia tµi nguyªn trªn m¹ng, ngêi ta ph©n biÖt hai lo¹i m¹ng sau ®©y:
- HÖ thèng m¹ng ph©n quyÒn Client/Server lµ hÖ thèng m¹ng trong ®ã ph©n biÖt râ hai lo¹i Server vµ Client. Server lµ m¸y chuyªn cung cÊp c¸c tµi nguyªn nh c¸c file d÷ liÖu, c¸c ch¬ng tr×nh øng dông, m¸y in, ®Üa cøng…Client lµ c¸c m¸y chØ cã nhiÖm vô khai th¸c c¸c tµi nguyªn trªn Server. HÇu nh c¸c m¹ng theo cÊu tróc Client/Server (®iÓn h×nh lµ Novell Networe) cã sè Client nhiÒu h¬n so víi Server. Trong hÖ thèng nµy mét sè m¸y Server kh«ng thÓ trë thµnh mét m¸y Client vµ ngîc l¹i mét m¸y Client còng kh«ng thÓ trë thµnh mét m¸y Server.
- HÖ thèng m¹ng ngang hµng Peer to Peer lµ hÖ thèng m¹ng b×nh ®¼ng, mäi m¸y trªn m¹ng ®Òu cã c¸c quyÒn nh nhau. §©y lµ hÖ m¹ng kh«ng cã ph©n biÖt m¸y Server hay Client, bëi v× bÊt kú mét m¸y tÝnh nµo trªn m¹ng võa chia xÎ tµi nguyªn nh mét Server l¹i võa cã kh¶ n¨ng xö lý th«ng tin nh mét Client b×nh thêng. HÖ m¹ng Peer to Peer phæ biÕn hiÖn nay lµ Windows for Workgroups cña Microsoft.
I.3 KiÕn tróc ph©n tÇng (líp)
§Ó gi¶m ®é phøc t¹p cña viÖc thiÕt kÕ, hÇu hÕt c¸c m¹ng m¸y tÝnh hiÖn cã ®Òu ®îc ph©n tÝch thiÕt kÕ theo quan ®iÓm ph©n tÇng (layering). Mçi hÖ thèng thµnh mét phÇn cña m¹ng ®îc xem nh lµ mét cÊu tróc ®a tÇng, trong ®ã mçi tÇng ®îc x©y trªn tÇng tríc nã. Trong hÇu hÕt c¸c tÇng hÇu hÕt c¸c m¹ng, môc ®Ých cña mçi tÇng lµ ®Ó cung cÊp mét sè dÞch vô (services) nhÊt ®Þnh cho tÇng cao h¬n. H×nh sau ®©y minh häa mét kiÕn tróc ph©n tÇng tæng qu¸t, víi gi¶ thiÕt A vµ B lµ hai hÖ thèng (m¸y tÝnh) thµnh phÇn cña m¹ng ®îc nèi víi nhau.
§êng truyÒn vËt lý
HÖ thèng A
HÖ thèng B
TÇng N
TÇng N
.
.
.
.
.
.
TÇng i+1
TÇng i+1
TÇng i
TÇng i
TÇng i-1
TÇng i-1
.
.
.
.
.
.
TÇng 1
TÇng 1
Giao thøc tÇng N
Giao thøc tÇng i+1
Giao thøc tÇng i
Giao thøc tÇng i-1
Giao thøc tÇng 1
Giao diÖn i+1/i
Giao diÖn i/i-1
H×nh I.1. Minh häa kiÕn tróc ph©n tÇng tæng qu¸t
Nguyªn t¾c cña kiÕn tróc m¹ng ph©n tÇng lµ : mçi hÖ thèng trong mét m¹ng ®Òu cã cÊu tróc tÇng (sè lîng tÇng, chøc n¨ng cña mçi tÇng lµ nh nhau). Sau khi ®· x¸c ®Þnh sè lîng tÇng vµ chøc n¨ng mçi tÇng th× c«ng viÖc quan träng tiÕp theo lµ ®Þnh nghÜa mèi quan hÖ (giao diÖn) gi÷a 2 tÇng kÒ nhau vµ mçi quan hÖ (giao diÖn) gi÷a hai tÇng cïng møc ë 2 hÖ thèng nçi kÕt víi nhau. Trong thùc tÕ, d÷ liÖu kh«ng ®îc truyÒn trùc tiÕp tõ tÇng i cña hÖ thèng nµy sang tÇng i cña hÖ thèng kh¸c (trõ ®èi víi tÇng thÊp nhÊt trùc tiÕp sö dông ®êng truyÒn vËt lý tõ hÖ thèng nµy sang hÖ thèng kh¸c). ë ®©y quy íc d÷ liÖu ë bªn hÖ thèng göi (sender) ®îc truyÒn sang hÖ thèng nhËn (receiver) b»ng ®êng truyÒn vËt lý vµ cø thÕ ®i ngîc lªn c¸c tÇng trªn. Nh vËy gi÷a hai tÇng hÖ thèng nçi kÕt víi nhau (vÝ dô A vµ B trong h×nh vÏ) chØ cã ë tÇng thÊp nhÊt míi cã liªn kÕt vËt lý, cßn ë c¸c tÇng cao h¬n chØ cã liªn kÕt logic (hay liªn kÕt ¶o) ®îc ®a vµo ®Ó h×nh thøc hãa c¸c ho¹t ®éng cña m¹ng thuËn tiÖn cho viÖc thiÕt kÕ vµ cµi ®Æt c¸c phÇn mÒm truyÒn th«ng.
I.3.1 M« h×nh 7 tÇng OSI
M« h×nh tham chiÕu liªn kÕt c¸c hÖ thèng më (OSI) 7 líp lÇn ®Çu tiªn ®îc ®Þnh nghÜa trong tiªu chuÈn 7490 cña ISO vµo n¨m 1978. C¸c líp phÝa díi (1 ®Õn 3) tiªu biÓu cho truyÒn th«ng côc bé, c¸c líp trªn (4 ®Õn 7) tiªu biÓu cho truyÒn th«ng ®Çu cuèi - tíi cuèi (H×nh vÏ). Mçi líp cã c¸c chøc n¨ng giao thøc cÇn thiÕt ®Ó thiÕt lËp vµ duy tr× viÖc trao ®æi th«ng tin sai lçi gi÷a nh÷ng ngêi sö dông m¹ng.
M« h×nh nµy cung cÊp mét nÒn t¶ng h÷u Ých ®Ó h×nh dung qu¸ tr×nh truyÒn th«ng vµ ®Ó so s¸nh c¸c s¶n phÈm vÒ mÆt tu©n theo tiªu chuÈn vµ tiÒm n¨ng t¬ng t¸c lÉn nhau. CÊu tróc ph©n líp nµy kh«ng chØ trî gióp ngêi dïng h×nh dung ®îc qu¸ tr×nh truyÒn th«ng mµ nã cßn cung cÊp cho c¸c h·ng s¶n xuÊt c¸c ph¬ng ph¸p ®Ó ph©n ®o¹n vµ g¸n c¸c yªu cÇu truyÒn th«ng kh¸c nhau trong mét khu©n d¹ng ho¹t ®éng ®îc. §iÒu nµy cã thÓ lµm gi¶m rÊt nhiÒu sù nhÇm lÉn thêng liªn quan ®Õn nhiÖm vô phøc t¹p cña sù hç trî truyÒn th«ng thµnh c«ng.
7 Appication
6 Presentation
5 Session
4 Transport
3 Network
2 Data Link
1 Physical
øng dông 7
Tr×nh diÔn 6
Phiªn 5
Giao vËn 4
M¹ng 3
L.KÕt d÷ liÖu 2
VËt lý 1
HÖ thèng më A
HÖ thèng më B
Giao thøc tÇng 7
Giao thøc tÇng 6
Giao thøc tÇng 5
Giao thøc tÇng 4
Giao thøc tÇng 3
Giao thøc tÇng 2
Giao thøc tÇng 1
§êng truyÒn vËt lý
C¸c líp OSI: Mçi líp cña m« h×nh OSI sÏ trao ®æi th«ng tin víi mét líp t¬ng xøng t¹i phÝa kia cña kÕt nèi, mét qu¸ tr×nh ®îc gäi lµ truyÒn th«ng giao thøc ngang hµng (peer protocol).
H×nh I.2 : M« h×nh OSI 7 tÇng
Líp øng dông: Líp thø nhÊt trong m« h×nh OSI lµ Líp øng dông. Nã kh«ng chØ bao gåm c¸c ch¬ng tr×nh øng dông mµ cßn cã c¸c dÞch vô m¹ng c¬ b¶n, ch¼ng h¹n nh c¸c dÞch vô tÖp hoÆc in Ên. Møc nµy ¸p dông ý nghÜa thùc chø kh«ng ph¶i ®Þnh d¹ng hoÆc có ph¸p (nh trong líp 6) cña c¸c øng dông vµ cho phÐp truyÒn th«ng gi÷a c¸c kh¸ch hµng. Theo m« h×nh nµy, mçi kiÓu øng dông ph¶i sö dông giao thøc líp 7 riªng cña nã; víi v« sè nh÷ng kiÓu øng dông hiÖn cã (bao gåm truyÒn file, truyÒn c«ng viÖc (job), trao ®æi sè liÖu kinh doanh, ho¹t ®éng ®Çu cuèi ¶o vµ th ®iÖn tö), líp 7 ®a ra c¸c ®Þnh nghÜa cho mçi líp øng dông.
Líp tr×nh diÔn: Líp 6 liªn quan ®Õn sù ®Þnh d¹ng vµ sù tr×nh bµy sè liÖu mµ c¸c øng dông ®ang dïng; ®Æc biÖt nã ®iÒu khiÓn c¸c khu©n d¹ng cña c¸c mµn h×nh vµ c¸c tÖp. Líp 6 quyÕt ®Þnh c¸c vÊn ®Ò nh có ph¸p, c¸c m· ®iÒu khiÓn, c¸c ®å ho¹ ®Æc biÖt vµ c¸c bé ký tù. H¬n n÷a, møc nµy x¸c ®Þnh râ c¸c chuçi ch÷ c¸i biÕn ®æi sÏ ®îc ph¸t ®i nh thÕ nµo, c¸c sè nhÞ ph©n sÏ ®îc tr×nh diÔn nh thÕ nµo, vµ c¸c sè liÖu sÏ ®îc ®Þnh d¹ng nh thÕ nµo.
Líp tr×nh diÔn cã gi¸ trÞ ®Æc biÖt cho c¸c dÞch vô mang tiÒm n¨ng, ch¼ng h¹n nh video text, trong ®ã v¨n b¶n vµ mµn h×nh ®îc ph¸t ®i qua c¸c ®êng d©y ®iÖn tho¹i. ViÖc tiªu chuÈn ho¸ mµ th«ng tin ®îc tr×nh bµy, bÊt kÓ c¸c lo¹i thiÕt bÞ ®Çu cuèi kh¸ch hµng lµ thÕ nµo, cho phÐp phæ biÕn th«ng tin ®i kh¾p thÕ giíi mµ kh«ng thÓ quan t©m ®Õn kh¶ n¨ng t¬ng thÝch hiÓn thÞ.
Líp phiªn: Líp phiªn qu¶n lý c¸c cuéc truyÒn th«ng; thÝ dô nh nã thiÕt lËp, duy tr× vµ kÕt thóc c¸c mÆt ¶o gi÷a c¸c thiÕt bÞ göi vµ nhËn. Nã thiÕt lËp c¸c biªn giíi cho c¸c thêi ®iÓm b¾t ®Çu vµ thêi ®iÓm kÕt thóc cña c¸c b¶n tin vµ x¸c ®Þnh c¸c b¶n tin nµy sÏ ®îc kÕt thóc vµ göi ®i theo ph¬ng thøc nµo: b¸n song c«ng, víi mçi m¸y tÝnh lÇn lît ph¸t råi thu, hoÆc song c«ng hoµn toµn, víi mçi m¸y tÝnh ®ång thêi thu vµ ph¸t. Nh÷ng chi tiÕt nµy ®îc th¬ng lîng trong qu¸ tr×nh khëi t¹o phiªn.
Líp truyÒn t¶i: Líp thø t xö lý truyÒn t¶i ®Çu cuèi tíi ®Çu cuèi. NÕu cã mét nhu cÇu ph©n phèi ®Çu cuèi - tíi - ®Çu cuèi mét c¸ch liªn tiÕp vµ tin cËy th× líp truyÒn t¶i sÏ thùc hiÖn chøc n¨ng nµy. ThÝ dô, mçi gãi cña mét b¶n tin cã thÓ ®· ®i theo mét hµnh tr×nh kh¸c nhau qua m¹ng tíi ®Ých. Líp truyÒn t¶i t¸i thuyÕt lËp tr×nh tù gãi qua mét qu¸ tr×nh gäi lµ t¹o chuçi sao cho toµn bé b¶n tin ®îc thu mét c¸ch chÝnh x¸c nh c¸ch mµ nã ®· ®îc göi ®i. T¹i líp nµy c¸c sè liÖu bÞ mÊt ®îc phôc håi vµ cã cµi ®Æt viÖc ®iÒu khiÓn dßng, tèc ®é chuyÓn sè liÖu ®îc ®iÒu chØnh ®Ó tr¸nh c¸c lîng sè liÖu bÞ vît qu¸ kh«ng lµm qu¸ t¶i c¸c bé nhí ®Öm cña m¹ng.
Líp 4 cã thÓ hç trî c¸c chuyÓn giao c¸c gãi sè liÖu (data-grams), cã nghÜa lµ giao dÞch cÇn thiÕt kh«ng cÇn ph¶i ®îc t¹o chuçi. §iÒu nµy rÊt cÇn thiÕt cho tho¹i vµ video, nh÷ng thÓ lo¹i cã thÓ chÞu ®îc viÖc mÊt th«ng tin nhng cÇn ph¶i thêi gian trÔ thÊp vµ sù thay ®æi thêi gian truyÒn trÔ thÊp.
Líp m¹ng: Líp thø ba ®Þnh d¹ng sè liÖu b»ng c¸c gãi, bæ xung mét mµo ®Çu cã chøa thø tù gãi vµ ®Þa chØ cña thiÕt bÞ thu vµ m« t¶ c¸c dÞch vô ®îc yªu cÇu tõ m¹ng. M¹ng thùc hiÖn sù ®Þnh tuyÕn ®Ó ®¸p øng yªu cÇu dÞch vô. §«i khi mét b¶n sao mçi gãi ®îc lu gi÷ l¹i t¹i nót göi cho tíi khi nhËn ®îc sù kh¼ng ®Þnh r»ng gãi nµy ®· ®i tíi nót kÕ sau mµ kh«ng bÞ suy suyÓn g× nh vÉn ®îc tiÕn hµnh trong c¸c m¹ng chuyÓn m¹ch gãi X.25. Khi mét nót nµo ®ã nhËn ®îc gãi nµy, nã t×m kiÕm mét b¶ng ®Þnh tuyÕn ®Ó x¸c ®Þnh con ®êng tèt nhÊt tíi ®Ých cña gãi ®ã mµ kh«ng cÇn quan t©m ®Õn thø tù cña nã trong b¶n tin. §èi víi c¸c m¹ng trong ®ã kh«ng ph¶i lµ tÊt c¶ c¸c nót ®Òu cã thÓ truyÒn th«ng trùc tiÕp víi nhau th× líp nµy chó ý ®Õn viÖc ®Þnh tuyÕn c¸c gãi qua c¸c nót trung gian. C¸c nót trung gian cã thÓ ®Þnh truyÕn ®îc b¶n tin ®Ó tr¸nh t¾c nghÏn hoÆc lµm h háng nót.
Líp kÕt nèi sè liÖu: TÊt c¶ c¸c giao thøc truyÒn th«ng hiÖn ®¹i ®Òu sö dông c¸c dÞch vô ®îc x¸c ®Þnh trong líp 2. Líp kÕt nèi sè liÖu cung cÊp møc söa sai thÊp nhÊt. Nã ph¸t hiÖn c¸c sai lçi vµ yªu cÇu nót göi ph¸t l¹i sè liÖu. Líp nµy ®¶m nhËn mét vai trß lín h¬n khi c¸c ®êng truyÒn th«ng ®· trë lªn Ýt phøc t¹p h¬n qua viÖc thay thÕ c¸c ®êng d©y t¬ng tù b»ng c¸c ®êng d©y sè, trong khi c¸c tr¹m ®· trë nªn th«ng minh h¬n qua viÖc sö dông c¸c bé xö lý m¹nh h¬n vµ c¸c bé nhí dung lîng cao h¬n. KÕt hîp l¹i, c¸c yÕu tè nµy lµm gi¶m thiÓu nhu cÇu cã c¸c c¬ quan b¶o vÖ th«ng tin møc cao trong m¹ng mµ chuyÓn chóng sang cho c¸c hÖ thèng ®Çu cuèi. Líp 2 kh«ng hÒ biÕt th«ng tin hoÆc c¸c gãi mµ nã ®ãng gãi cã nghÜa g× hoÆc chóng cã ®iÓm ®Çu ë chç nµo. C¸c m¹ng chÞu ®îc sù thiÕu hôt lo¹i th«ng tin nµy ®îc bï l¹i bëi c¸c thêi gian trÔ truyÒn dÉn thÊp.
Líp vËt lý: Líp OSI thÊp nhÊt lµ líp vËt lý. Líp nµy biÓu diÔn giao diÖn thùc tÕ, phÇn ®iÖn vµ phÇn c¬ ®Ó kÕt nèi mét thiÕt bÞ tíi m«i trêng truyÒn dÉn. Do giao diÖn vËt lý ®· b¾t ®Çu ®îc tiªu chuÈn ho¸ cho nªn nã thêng ®îc cho lµ ®¬ng nhiªn trong c¸c th¶o luËn vÒ kÕt nèi OSI. Tuy nhiªn, c¸c kÕt nèi vËt lý-vÉn cã thÓ lµ mét vÊn ®Ò ®Ó thiÕt kÕ mét m¹ng tin cËy nÕu chóng kh«ng tu©n theo mét m« h×nh chung.
I.3.2 M« h×nh TCP/IP
Giao thøc TCP/IP vµ m« h×nh 7 líp OSI:
* Giao thøc TCP/IP:
D÷ liÖu trong m¹ng ®îc truyÒn vµ nhËn th«ng qua c¸c giao thøc (protocol) ®îc quy ®Þnh tríc. Mét giao thøc lµ mét tËp hîp nh÷ng quy t¾c cho viÖc truyÒn nhËn d÷ liÖu gi÷a c¸c thiÕt bÞ m¸y tÝnh víi nhau.
TCP/IP lµ tªn chung cho tËp hîp h¬n 100 protocol ®îc sö dông ®Ó kÕt nèi c¸c m¸y tÝnh vµo m¹ng, ®Ó tæ chøc c¸c m¸y tÝnh vµ c¸c thiÕt bÞ viÔn th«ng trªn mét m¹ng. Tªn TCP/IP lµ ch÷ viÕt t¾t cña 2 protocol quan träng nhÊt trong nhãm TCP (Transmission Control Protocol) vµ IP (Internet Protocol).
M¹ng dïng giao thøc TCP/IP (Internet vµ Internet hay Intranet) d÷ liÖu ®îc chia thµnh nh÷ng gãi nhá gäi lµ nh÷ng packet. Khi ta göi ®i mét th«ng ®iÖp, TCP sÏ chia th«ng ®iÖp nµy thµnh c¸c packet, mçi packet ®îc ®¸nh dÊu bëi mét sè thø vµ ®Þa chØ cña ngêi nhËn, thªm vµo ®ã lµ mét sè th«ng tin kiÓm so¸t lçi. C¸c packet nµy ®îc göi lªn m¹ng vµ c«ng viÖc cña IP lµ truyÒn t¶i chóng tíi Host tõ xa kia. T¹i n¬i nhËn, TCP nhËn c¸c packet vµ kiÓm tra lçi, gëi tr¶ l¹i nÕu gãi kh«ng ®óng, víi nh÷ng gãi ®óng TCP sö dông sè thø tù ®Ó t¹o l¹i th«ng ®iÖp ban ®Çu. Tãm l¹i lµ c«ng viÖc cña IP lµ chuyÓn d÷ liÖu th«-c¸c packet tõ n¬i nµy tíi n¬i kh¸c. C«ng viÖc cña TCP lµ qu¶n lý dßng ch¶y vµ ®¶m b¶o r»ng d÷ liÖu lµ ®óng.
TCP/IP cã nh÷ng ®Æc ®iÓm sau :
- §éc lËp víi c¸ch nèi m¹ng
- §éc lËp víi phÇn cøng cña m¹ng
- C¸c nghi thøc theo tiªu chuÈn cña hÖ më
- C¸ch ®¸nh ®Þa chØ phæ dông (Universal Addressing)
- Cung cÊp mét sè dÞch vô m¹ng ®îc sö dông rçng r·i nh E-mail, FTP, Telnet …
- Lµ c¬ së ®Ó x©y dùng c¸c øng dông theo m« h×nh Client/Server
* M« h×nh 7 líp OSI:
M¹ng Internet víi hä giao thøc TCP/IP ®îc minh ho¹ trong h×nh vÏ díi ®©y víi c¸cdÞch vô mµ nã cung cÊp vµ c¸c chuÈn ®îc sö dông nã song song víi hÖ thèng më OSI ®Ó chóng ta cã mét c¸ch nh×n tæng quan vÒ hä giao thøc nµy:
Transmision Control
Protocol (TCP)
User Datagram
Protocol (UDP)
Telnet
FPT
SMTP
DNS
SNMP
Ethernet
Token Bus
Token Ring
FDDI
ARP
RIP
ICMP
Internet Protocol (IP)
OSI Model
TCP/IP Architectual Model
FTP - File Transfer Protocol
SMTP - Simple Mail Transfer Protocol
DNS - Domin Name System
SNMP - Simple Network Managemen Protocol
ICMP - Internet Control Message Protocol
ARP - Address Resolution Protocol
FDDI - Fiber Distributed Data Interface
RIP - Routing Information Protocol
Application
Presentation
Session
Transfort
Network
Data Link
Physical
IEEE802.3
IEEE802.3
IEEE802.4
IEEE802.5
ANSI X3T95
H×nh I.3. M« h×nh so s¸nh kiÕn tróc ISO vµ TCP/IP
+ TCP: (Transmision Control Protocol) thñ tôc liªn l¹c ë tÇng giao vËn cña TCP/IPcã hiÖm vô ®¶m b¶o xuyªn suèt vµ tÝnh ®óng cña d÷ liÖu gi÷a hai ®Çu kÕt nèi dùa trªn c¸c gãi tin IP.
+ UDP: (User Datagram Protocol ) thñ tôc liªn kÕt cña tÇng giao vËn cña TCP/IP. Kh¸c víi TCP, UDP kh«ng ®¶m b¶o kh¶ n¨ng th«ng suèt cña d÷ liÖu, còng kh«ng cã chÕ ®é söa lçi. Bï l¹i UDP cho tèc ®é truyÒn d÷ liÖu cao h¬n TCP.
+ IP: (Internet Protocol) lµ giao thøc ë tÇng thø 3 cña TCP/IP, nã cã tr¸ch nhiÖm vËn chuyÓn Datagrams qua m¹ng Internet.
+ ICMP: ( Internet Control Message Protocol). Thñ tôc truyÒn c¸c th«ng tin ®iÒu kiÓn trªn m¹ng TCP/IP xö lý c¸c tin b¸o tr¹ng th¸i cho IP nh lçi vµ c¸c thay ®æi trong phÇn cøng cña m¹ng ¶nh hëng ®Õn sù ®Þnh tuyÕn th«ng tin truyÒn trong m¹ng.
+ RIP: ( Routing Information Protocol) giao thøc ®Þnh tuyÕn th«ng tin, ®©y lµ mét trong nh÷ng giao thøc ®Ó x¸c ®Þnh ph¬ng ph¸p tèt nhÊt cho truyÒn tin.
+ ARP: (Address Resolution Protocol) lµ giao thøc ë tÇng liªn kÕt d÷ liÖu. Chøc n¨ng cña nã lµ t×m ®Þa chØ vËt lý øng víi mét ®Þa chØ IP nµo ®ã. Muèn vËy nã thùc hiÖn Broadcasting trªn m¹ng vµ m¸y tr¹m nµo cã ®Þa chØ IP trïng víi IP ®ang ®îc hái sÏ ®îc tr¶ lêi th«ng tin vÒ ®Þa chØ vËt lý cña nã.
+ DSN (Domain name System) x¸c ®Þnh c¸c ®Þa chØ theo sè tõ c¸c tªn cña m¸y tÝnh kÕt nèi trªn m¹ng.
+ STP: (File Transfer Protocol) giao thøc truyÒn tÖp tõ mét m¸y tÝnh nµy ®Õn m¸y tÝnh kh¸c. DÞch vô nµy lµ mét trong nh÷ng dÞch vô c¬ b¶n cña Internet.
+ Telnet: (Telminal Emulation Protocol) ®¨ng ký sö dông m¸y chñ tõ xa víi Telnet nguêi sö dông cã thÓ tõ mét m¸y tÝnh cña m×nh ë xa m¸y chñ, ®¨ng ký truy nhËp vµo m¸y chñ ®Ó sö dông c¸c tµi nguyªn cña m¸y chñ nh lµ m×nh ®ang ngåi t¹i m¸y chñ.
+ SMTP (Simple Mail transfer Protocol) giao thøc truyÒn th ®¬n gi¶n:
Lµ mét giao thøc trùc tiÕp b¶o ®¶m truyÒn th ®iÖn tö gi÷a c¸c m¸y tÝnh trªn Internet.
+ SNMP: (Simmple Network Management Protocl) giao thøc qu¶n trÞ m¹ng ®¬n gi¶n: Lµ dÞch vô qu¶n trÞ m¹ng ®Ó göi c¸c th«ng b¸o tr¹ng th¸i vÒ m¹ng vµ c¸c thiÕt bÞ thiÕt kÕ m¹ng cã ý nghÜa theo kÕt nãi kh«ng ph¶i ®Þa lý.
I.4 M¹ng côc bé (LAN)
I.4.1 C¸c ®Æc trng
- §Æc trng ®Þa lý : M¹ng côc bé thêng ®îc x©y dùng trong mét ph¹m vi ®Þa lý b¸n kÝnh tõ vµi mÐt tíi vµi chôc Km. Râ rµng hiÖn nay giíi h¹n nµy chØ mang ý nghÜa t¬ng ®èi.
- Tèc ®é truyÒn : M¹ng côc bé thêng cã tÊc ®é truyÒn cao h¬n so víi m¹ng diÖn réng. Tèc ®é truyÒn tèi ®a hiÖn nay lµ 100Mbps.
- §é tin cËy : Tû suÊt lçi (error rate) trªn m¹ng côc bé lµ thÊp h¬n nhiÒu so víi m¹ng diÖn réng. Cã thÓ ®¹t tõ 10-8 ®Õn 10-11.
§Æc trng qu¶n lý : §Æc trng côc bé thêng lµ së h÷u riªng cña tæ chøc riªng nµo ®ã, v× thÕ viÖc qu¶n lý kh¸i th¸c m¹ng hoµn toµn tËp trung, thèng nhÊt.
I.4.2 Kü thuËt cña m¹ng côc bé
I.4.2.1 Topology
Do ®Æc tÝnh cña m¹ng côc bé, nªn cã ba lo¹i Topology thêng ®îc sö dông:
¥ Star: ViÖc liªn l¹c gi÷a hai nót bÊt kú ®Òu ph¶i th«ng qua thiÕt bÞ trung t©m hoÆc thµnh phÇn chuyÓn m¹ch. TÊt c¶ c¸c tr¹m nèi vµo thiÕt bÞ trung t©m cã nhiÖm vô thùc hiÖn viÖc b¾t tay gi÷a c¸c tr¹m cÇn trao ®æi, thiÕt lËp c¸c liªn kÕt point-to-point gi÷a chóng. Nã cã thÓ bao gåm, mét bé chuyÓn m¹ch (Switching) mét bé ph©n kªnh (Hub) hoÆc mét bé chän ®êng (Router). VÝ dô cña m« h×nh star lµ c¸c kiÕn tróc Minicomputer vµ c¸c Mainframe trong ®ã m¸y chñ lµ bé chuyÓn m¹ch trung t©m. KiÕn tróc nµy thêng ®îc dïng trong c¸c m¹ng ARCnet, Token Ring, FDDI (Fiber Distributed Data Interface) vµ m¹ng LAN 10 BASE-T.
H×nh I. 4: Topology STAR víi HUB ë trung t©m
data
repeater
¥ Ring: ë d¹ng vßng tÝn hiÖu lu truyÒn trªn mét vßng theo mét chiÒu duy nhÊt, vßng nµy cã thÓ thùc hiÖn bëi c¸c liªn kÕt ®iÓm-®iÓm theo mét híng. Mçi tr¹m nèi qua mét bé chuyÓn tiÕp cã nhiÖm vô lu chuyÓn tÝn hiÖu trªn vßng, c¸c tr¹m lµm viÖc chØ thÊy qu¸ tr×nh truyÒn d÷ liÖu ®i ngang qua trong vßng nµy. Ngêi ta thêng l¾p ®Æt d thõa c¸c ®êng truyÒn trªn vßng, t¹o thµnh mét d¹ng vßng dù phßng. VÝ dô cña m¹ng sö dông kiÕn tróc vßng lµ LAN Token Ring.
H×nh I. 5 : Topology RING
¥ Bus: TÊt c¶ c¸c tr¹m ph©n chia trªn mét ®êng truyÒn chÝnh (Bus). TÝn hiÖu do mét tr¹m lµm viÖc trªn m¹ng göi ®i ®îc truyÒn theo hai híng. §êng truyÒn chÝnh nµy ®îc giíi h¹n bëi hai ®Çu nèi ®Æc biÖt gäi lµ Terminator. Mçi tr¹m nèi vµo Bus qua mét ®Çu nèi ch÷ T. Víi Topology nµy d÷ liÖu ®îc truyÒn theo kiÓu qu¶ng b¸. Mét vÝ dô cña kiÕn tróc m¹ng Bus lµ Ethernet.
Terminator
Bus
T-connector
T-connector
H×nh I. 6 : Topology Bus
I.4.2.2 §êng truyÒn vËt lý
M¹ng côc bé thêng sö dông ba lo¹i ®êng truyÒn vËt lý lµ:
- C¸p ®«i xo¾n (Twisted Pair) : Bao gåm mét cÆp d©y dÉn bao bäc xung quanh nhau nh»m gi¶m tæi thiÓu bøc x¹ vµ giao diÖn. Nã cã thÓ lµ mét líp mµng ch¾n ngoµi ®Ó n©ng cao chÊt lîng. Cã hai lo¹i d©y xo¾n:
+ Cã mµng (STP-Shieth Twisted Pair).
+ Kh«ng mµng (UTP-Unshielh Twisted Pair).
Mét d©y göi tÝn hiÖu ®i, mét d©y nhËn vÒ. D©y xo¾n ®«i rÎ dÔ l¾p ®Æt.
- C¸p ®ång trôc (Coaxial): Gåm chÊt dÉn ®iÖn (thêng lµ n»m ë trong lâi). Líp bäc cung cÊp kh¶ n¨ng b¨ng réng vµ kh¶ n¨ng miÔn nhiÔm ®iÖn. C¸p lo¹i nµy chñ yÕu t×m thÊy trong kiÕn tróc m¹ng b×nh Bus.
- C¸p sîi quang (Optic-fiber): Gåm mét thµnh phÇn chÊt liÖu sîi thêng b»ng thuû tinh, n»m trong mét líp bäc b¶o vÖ. TÝn hiÖu ®îc truyÒn theo kiÓu ph¶n x¹ xung ¸nh s¸ng. TÝn hiÖu cã thÓ truyÒn trªn kho¶ng c¸ch dµi víi suy hao nhá. Nã cã thÓ ho¹t ®éng trong hai chÕ ®é Single Mode (cã mét ®êng dÉn quang) vµ Multi Mode (cã nhiÒu ®êng dÉn quang). C¸p quang cã tÝnh miÔn nhiÔm tiÕng ån rÊt tèt, ®é b¶o mËt cao vµ cã ®Æc tÝnh b¨ng réng cña tÊt c¶ c¸c lo¹i ®êng truyÒn.
I.4.2.3 C¸c ph¬ng ph¸p truy nhËp ®êng truyÒn vËt lý
Cã ba ph¬ng ph¸p hay dïng nhÊt vµ ®îc ph©n lµm hai lo¹i:
- Truy cËp ngÉu nhiªn.
CSMA/CD (Carrier Sense Mitiple Aceess With/Collision Detection)
Ph¬ng ph¸p truy nhËp ngÉu nhiªn nµy thêng ®îc sö dông cho d¹ng Bus. D÷ liÖu ®îc truyÒn ®i theo kiÓu khu©n d¹ng chuÈn trong ®ã vïng th«ng tin ®Þa chØ chøa ®Þa chØ cña d÷ liÖu.
CSMA/CD lµ ph¬ng ph¸p c¶i tiÕn tõ CSMA
+ Ph¬ng ph¸p CSMA hay cßn gäi lµ LBT (Listen Before Talk-nghe tríc khi nãi), t tëng lµ mét tr¹m tríc khi truyÒn d÷ liÖu cÇn nghe ®êng truyÒn rçi hay bËn. NÕu bËn th× nã thùc hiÖn mét trong ba gi¶i thuËt ®îc gäi lµ gi¶i thuËt kiªn nhÉn:
(1). Tr¹m chê ®îi tíi mét tr¹m ngÉu nhiªn råi nghe l¹i ®êng truyÒn.
(2). Tr¹m tiÕp tôc nghe cho ®Õn khi ®êng truyÒn rçi th× truyÒn víi x¸c suÊt b»ng 1.
(3). Tr¹m tiÕp tôc nghe cho ®Õn khi ®êng truyÒn rçi th× truyÒn víi x¸c xuÊt b»ng p x¸c ®Þnh tríc.
NhËn xÐt:
- Gi¶i ph¸p (1) rÊt cã hiÖu qu¶ trong viÖc tr¸nh xung ®ét do c¶ hia tr¹m sÏ cïng rót lui nÕu ®êng truyÒn ®ang bËn tuy nhiªn thêi gian chÕt cña ®êng truyÒn lín.
- Gi¶i ph¸p (2) th× gi¶m nhiÒu thêi gian ®Ó chÕt nhng kh¶ n¨ng xung ®ét lµ rÊt cao.
- Gi¶i ph¸p (3) lµ gi¶i ph¸p trung hßa cña hai gi¶i ph¸p trªn b»ng c¸ch chän tû lÖ p mét c¸ch hîp lý.
+ X¶y ra xung ®ét thêng lµ do trÔ truyÒn dÉn v× c¸c tr¹m chØ nghe tríc khi nãi, do vËy ®Ó ph¸t hiÖn xung ®ét ph¬ng ph¸p CSMA/CD hay cßn gäi lµ LWT (Listen While Talking - nghe trong khi nãi) bæ xung thªm c¸c quy t¾c sau:
- Khi tr¹m ®ang truyÒn nã vÉn tiÕp tôc nghe ®êng truyÒn. NÕu ph¸t hiÖn xung ®ét nã ngõng ngay viÖc truyÒn nhng nã vÉn tiÕp tôc göi tÝn hiÖu sãng mang thªm mét thêi gian n÷a ®Ó ®¶m b¶o tÊt c¶ c¸c m¹ng trªn tr¹m ®Òu cã thÓ nghe ®îc sù kiÖn xung ®ét ®ã.
- Sau ®ã tr¹m thö nghe thªm mét thêi gian n÷a råi truyÒn theo c¸c quy t¾c cña CSMA.
- Truy nhËp cã ®iÒu khiÓn
C¸c ph¬ng ph¸p truy nhËp ®iÒu khiÓn thêng dïng kü thuËt chuyÓn thÎ dµi (TOKEN) ®Ó cÊp ph¸t ®êng truy nhËp. TOKEN lµ mét ®¬n vÞ d÷ liÖu riªng biÖt, cã kÝch thíc vµ néi dung ®îc x¸c ®Þnh riªng cho mçi ph¬ng ph¸p.
* Token Bus (bus víi thÎ bµi)
Nguyªn lý cña ph¬ng ph¸p nµy lµ : ®Ó cÊp ph¸t quyÒn truy nhËp ®êng truyÒn cho c¸c tr¹m ®ang cã nhu cÇu truyÒn d÷ liÖu, mét thÎ bµi ®îc lu chuyÓn trªn mét vßng l«gic thiÕt lËp bëi c¸c tr¹m ®ã. Khi mét tr¹m nhËn ®îc thÎ bµi th× nã cã quyÒn sö dông ®êng truyÒn trong mét thêi ®o¹n x¸c ®Þnh tríc. Trong thêi ®o¹n ®ã nã cã thÓ truyÒn mét hoÆc nhiÒu ®¬n vÞ d÷ liÖu. Khi ®· hÕt d÷ liÖu hoÆc hÕt thêi ®o¹n cho phÐp, tr¹m ph¶i chuyÓn thÎ bµi ®Õn tr¹m tiÕp theo trong vßng l«gic. Nh vËy, c«ng viÖc ph¶i lµm ®Çu tiªn lµ thiÕt lËp vßng l«gic (hay cßn gäi lµ vßng ¶o) bao gåm c¸c tr¹m ®ang cã nhu cÇu truyÒn sè liÖu ®îc x¸c ®Þnh vÞ trÝ theo mét chuçi thø tù mµ tr¹m cuèi cïng cña chuçi sÏ tiÕp liÒn sau bëi ch¹m ®Çu tiªn. Mçi tr¹m ®îc biÕt ®Þa chØ cña c¸c tr¹m kÕ tríc vµ sau nã. Thø tù cña c¸c tr¹m trªn vßng l«gic cã thÓ ®éc lËp víi thø tù vËt lý. C¸c tr¹m kh«ng hoÆc cha cã nhu cÇu truyÒn d÷ liÖu th× kh«ng ®îc ®a vµo vßng l«gic vµ chóng chØ cã thÓ tiÕp nhËn d÷ liÖu.
H×nh vÏ sau ®©y minh häa mét vßng l«gic ®îc thiÕt lËp trªn mét tr¹m bus.
A
h
b
g
c
f
d
e
bus
§êng truyÒn vËt lý
Vßng l«gic
H×nh I. 7: VÝ dô vßng l«gic trong m¹ng bus
Trong vÝ dô trªn, c¸c tr¹m A vµ E-mail n»m ngoµi vßng l«gic, chØ cã thÓ tiÕp nhËn d÷ liÖu dµnh cho chóng.
ViÖc thiÕt lËp vßng l«gic trong ch¬ng tr×nh lµ kh«ng khã, nhng viÖc duy tr× nã theo tr¹ng th¸i thùc tÕ cña m¹ng míi lµ khã. Cô thÓ ph¶i thùc hiÖn ®îc c¸c chøc n¨ng sau :
+ Bæ xung mét tr¹m vµo vßng logic : C¸c tr¹m n»m ngoµi vßng logic cÇn ®îc xem xÐt ®Þnh kú ®Ó nÕu cã nhu cÇu truyÒn d÷ liÖu th× bæ xung vµo vßng l«gic.
+ Lo¹i bá mét tr¹m khái vßng l«gic : Khi mét tr¹m kh«ng cßn nhu cÇu truyÒn d÷ liÖu cÇn lo¹i cÇn lo¹i nã ra khái vßng l«gic ®Ó tèi u ho¸ viªc ®iÒu khiÓn truy nhËp b»ng thÎ bµi.
+ Qu¶n lý lçi : Mét sè lçi cã thÓ x¶y ra, ch¼ng h¹n trïng ®Þa chØ (hai tr¹m ®Òu nghÜ r»ng ®Õn lît m×nh) hoÆc "®øt vßng" (kh«ng tr¹m nµo nghÜ têi lît m×nh).
+ Khëi t¹o vßng logic : Khi cµi ®Æt m¹ng hoÆc khi ®øt vßng ta cÇn ph¶i t¹o l¹i vßng.
TÊt c¶ c¸c chøc n¨ng trªn ®Òu cã nh÷ng gi¶i thuËt thÝch hîp t¬ng øng.
* TOKEN RING
Dïng thÎ bµi ®Ò cÊp quyÒn truy nhËp ®êng truyÒn, nhng ë ®©y thÎ bµi ®îc lu chuyÓn trªn vßng vËt lý chø kh«ng ph¶i vßng logic nh ph¬ng ph¸p TOKEN BUS.
ThÎ bµi lµ mét ®¬n vÞ d÷ liÖu ®Æc biÖt trong ®ã cã mét bit biÓu diÔn tr¹ng th¸i sö dông cña nã (bËn hoÆc rçi). Mçi tr¹m muèn truyÒn d÷ liÖu th× ph¶i ®îi ®Õn khi nhËn ®îc mét thÎ bµi "rçi" (free). Khi ®ã tr¹m sÏ ®æi bit tr¹ng th¸i cña thÎ bµi thµnh "bËn" (busy) vµ truyÒn mét ®¬n vÞ d÷ liÖu cïng víi thÎ bµi ®i theo chiÒu cña vßng. Giê ®©y kh«ng cßn thÎ bµi "rçi" trªn vßng n÷a, do ®ã c¸c tr¹m cã d÷ liÖu cÇn truyÒn còng ph¶i ®îi. D÷ liÖu ®Õn tr¹m ®Ých sÏ ®îc sao l¹i, sau ®ã cïng víi thÎ bµi ®i tiÕp cho ®Õn khi quay vÒ tr¹m nguån. Tr¹m nguån sÏ xãa bá d÷ liÖu ®æi bit tr¹ng th¸i trë vÒ "rçi" vµ cho lu chuyÓn tiÕp trªn vßng ®Ò c¸c tr¹m kh¸c cã thÓ nhËn ®îc quyÒn truyÒn d÷ liÖu. Qu¸ tr×nh m« t¶ ë trªn ®îc minh häa díi h×nh vÏ sau.
free token
D
B
C
A
®Ých
nguån
busy token
D
B
C
A
data
nguån
free token
D
B
C
A
®Ých
nguån
®Ých
H×nh I. 8 : Ho¹t ®éng cña ph¬ng ph¸p Token Ring
Trong ph¬ng ph¸p nµy cÇn ph¶i gi¶i quyÕt hai vÊn ®Ò cã thÓ dÉn tíi ph¸ vì hÖ thèng.
+ ViÖc mÊt thÎ bµi : §Ó gi¶i quyÕt vÊn ®Ò nµy cã thÓ quy ®Þnh mét tr¹m ®iÒu khiÓn (monitor) chñ ®éng. Tr¹m nµy ph¸t hiÖn víi t×nh tr¹ng mÊt thÓ bµi b»ng c¬ chÕ Time-out vµ phôc håi b»ng c¸ch ®i thÎ bµi rçi míi.
+ ThÎ bµi bËn lu chuyÓn kh«ng ngõng trªn vßng : Khi ®ã tr¹m ®iÒu khiÓn mét bit ®¸nh dÊu, bit nµy cã gi¸ trÞ 1 khi gÆp thÎ bµi bËn ®i qua, nÕu nã nhËn l¹i bit nµy mét lÇn n÷a nã sÏ biÕt r»ng thÎ bµi nµy lu chuyÓn kh«ng ngõng do ®ã nã sÏ chuyÓn bit nµy thµnh rçi.
I.4.3 ChuÈn hãa m¹ng côc bé
ViÖc chuÈn hãa m¹ng côc bé chØ dµnh riªng cho hai tÇng thÊp nhÊt, t¬ng øng víi tÇng VËt lý vµ tÇng Liªn kÕt d÷ liÖu cña m« h×nh OSI. TÇng liªn kÕt d÷ liÖu ®îc chia thµnh hai tÇng con lµ LLC (Logical Link Control) vµ MAC (Media Access Control) H×nh vÏ sau.
Application
Presentation
Session
Transfort
Network
Data link
Physical
LLC
MAC
Physical
LLC
MAC
OSI Reference Model
LAN Reference
Model
H×nh I. 9 : M« h×nh ph©n tÇng cña m¹ng côc bé
TÇng con MAC ®¶m nhËn ®iÒu khiÓn viÖc truy nhËp ®êng truyÒn, trong khi tÇng con LLC ®¶m b¶o tÝnh ®éc lËp cña viÖc qu¶n lý c¸c liªn kÕt d÷ liÖu ®èi víi ®êng truyÒn vËt l._.ý vµ ph¬ng ph¸p truy nhËp (MAC) ®îc sö dông.
Còng gièng nh ®èi víi m¹ng nãi chung, cã hai lo¹i chuÈn cho m¹ng côc bé, ®ã lµ :
- C¸c chuÈn chÝnh thøc (de jure) do c¸c tæ chøc chuÈn quèc gia vµ quèc tÕ ban hµnh.
- C¸c chuÈn thùc tiÔn (de facto) do c¸c h·ng s¶n xuÊt, c¸c tæ chøc ngêi sö dông x©y dùng vµ ®îc dïng rçng r·i trong thùc tÕ.
Díi ®©y lµ mét sè c¸c chuÈn tiªu biÓu nhÊt thuéc hai lo¹i chuÈn trªn.
1.4.3.1 C¸c chuÈn cña m¹ng côc bé
IEEE (Institute of Electrical and Electrnic Engineers)
Application
Presentation
Session
Transfort
Network
Data link
Physical
802.3
802.4
802.5
802.6
802.9
802.11
802.11
802.2
H×nh I.10 : Quan hÖ gi÷a c¸c chuÈn IEEE 802 vµ m« h×nh OSI.
Ta cã s¬ ®å minh häa vÞ trÝ (t¬ng ®èi) cña c¸c chuÈn trªn so s¸nh víi m« h×nh tham chiÕu OSI.
¨ IEEE 802.1 High level Interface.
Lµ chuÈn ®Æc t¶ kiÕn tróc m¹ng, kÕt nèi gi÷a c¸c m¹ng vµ viÖc qu¶n trÞ m¹ng ®èi víi m¹ng côc bé.
¨ IEEE 802.2 Logical Link Control (LLC)
Lµ chuÈn ®Æc t¶ tÇng LLC (dÞch vô, giao thøc) cña m¹ng côc bé. Cã ba kiÓu giao thøc LLC chÝnh ®îc ®Þnh nghÜa :
- LLC type1: Lµ giao thøc kh«ng liªn kÕt (Conectionless) vµ kh«ng cã c¬ chÕ b¸o nhËn (Unacknowledgement).
- LLC type 2: Lµ giao thøc cã liªn kÕt (Conection).
- LLC type 3: Lµ giao thøc kiÓu kh«ng liªn kÕt vµ cã c¬ chÕ b¸o nhËn (Acknowledgement).
C¸c giao thøc nµy x©y dùng trªn ph¬ng phøc c©n b»ng (Balanced mode) cña giao thøc HDLC.
¨ IEEE 802.3 CSMA/CD
802.3 lµ chuÈn cña ®Æc t¶ côc bé dùa trªn m¹ng Ethernet cña DIX.IEEE 802.3 bao gåm c¶ tÇng vËt lý vµ tÇng con MAC víi c¸c ®Æc t¶ sau:
- §Æc t¶ dÞch vô MAC.
- Giao thøc MAC.
- §Æc t¶ vËt lý ®éc lËp víi ®êng truyÒn.
PhÇn cèt lâi cña IEEE 802.3 lµ giao thøc MAC dùa trªn ph¬ng thøc CSMA/CD.
¨ IEEE 802.4 TOKEN BUS
Lµ giao thøc ®Æc t¶ m¹ng côc bé víi Topology d¹ng Bus dïng thÎ bµi truy nhËp ®êng truyÒn. IEEE802.4 bao gåm c¸c ®Æc t¶ c¶ tÇng vËt lý vµ tÇng con MAC víi c¸c ®Æc t¶ sau:
- §Æc t¶ dÞch vô MAC.
- Giao thøc MAC.
- §Æc t¶ dÞch vô tÇng vËt lý.
- §Æc t¶ thùc thÓ tÇng vËt lý.
- §Æc t¶ ®êng truyÒn.
IEEE 802.4 cã thÓ ®îc øng dông trong v¨n phßng, trong c«ng nghiÖp, hay trong qu©n sù.
Líp con MAC sö dông thÎ bµi truy nhËp ®êng truyÒn lµ phÇn cèt lâi cña chuÈn IEEE 802.4
¨ IEEE 802.5 TOKEN RING
Lµ chuÈn ®Æc t¶ m¹ng côc bé víi Topology d¹ng Ring dïng thÎ bµi truy nhËp ®êng truyÒn. IEEE 802.5 bao gåm c¸c ®Æc t¶ c¶ tÇng vËt lý vµ tÇng con MAC víi c¸c ®Æc t¶ sau:
- §Æc t¶ dÞch vô MAC.
- Giao thøc MAC.
- §Æc t¶ thùc thÓ tÇng vËt lý.
- §Æc t¶ nèi tr¹m (Station Attachment)
Líp con MAC sö dông thÎ bµi truy nhËp ®êng truyÒn lµ phÇn cèt lâi cña chuÈn IEEE 802.5
¨ IEEE 802.6 Mertropolitan Area Network
Lµ chuÈn ®Æc t¶ m¹ng côc bé tèc ®é cao kÕt nèi nhiÒu LAN thuéc c¸c khu vùc kh¸c nhau cña mét ®« thÞ (cßn gäi lµ MAN). M¹ng nµy sö dông c¸p quang víi Topo d¹ng Bus kÐp (Dual-bus) v× thÕ gäi lµ DQDB (Distributed Queue Dual Bus).
C¸c m¹ng IEEE 802.6 cho phÐp truyÒn d÷ liÖu víi tèc ®é nhanh (vµi chôc ®Õn vµi tr¨m Mbps) ®¸p øng ®îc nhu cÇu truyÒn d÷ liÖu ®a ph¬ng tiÖn.
¨ IEEE 802.9 Intergrated Data and Voice Network
Lµ chuÈn tÝch hîp d÷ liÖu vµ tiÕng nãi bao gåm mét kªnh dÞ bé. 10Mbps cïng víi 96 kªnh 64Kbps (tæng céng 6 Mbps). Gi¶i th«ng tæng céng lµ 16Mbps. ChuÈn nµy cßn gäi lµ IsoEet (Isochronous Ethenet) vµ nã ®îc thiÕt kÕ cho m«i trêng cã lu lîng l¬n.
¨ IEEE 802.10 Interoperable LAN security
Lµ chuÈn ®Æc t¶ vÒ an toµn th«ng tin cho c¸c m¹ng côc bé cã kh¶ n¨ng liªn t¸c (Interoperable) IEEE 802.11 Wireless LAN.
Lµ chuÈn ®Æc t¶ cho m¹ng côc bé kh«ng d©y víi xu híng dïng ph¬ng ph¸p truy nhËp CSMA/CD.
Ch¬ng II: M¹nG INTERNeT vµ c¸c dÞch vô
II.1 Kh¸i niÖm vµ nguån gèc cña Internet
M¹ng Inetrnet lµ mét tËp hîp gåm hµng v¹n hÖ m¹ng trªn kh¾p thÕ giíi, ®îc ph¸t triÓn vµo thËp kû 70, sè lîng m¸y tÝnh nèi m¹ng vµ sè ngêi truy cËp vµo m¹ng Internet trªn toµn thÕ giíi ®ang ngµy cµng t¨ng lªn nhanh chãng. M¹ng Internet kh«ng chØ cho phÐp chuyÓn t¶i th«ng tin nhanh chãng mµ cßn gióp cung cÊp th«ng tin, nã còng lµ diÔn ®µn vµ lµ th viÖn toµn cÇu ®Çu tiªn .
M¹ng Internet cã xuÊt xø n¨m 1969 tõ m¹ng m¸y tÝnh toµn côc ARPA.net do c¬ quan qu¶n lý c¸c dù ¸n ngiªn cøu c¸c c«ng tr×nh nghiªn cøu khoa häc tiªn tiÕn thuéc bé quèc phßng mü tµi trî. Tõ gi÷a n¨m 1970 trung t©m DARPA híng tíi m¹ng Internet víi kü thuËt chuyÓn m¹ch gãi qua m¹ng v« tuyÕn vµ th«ng tin vÖ tinh. N¨m 1980 DARPA thö nghiÖm dïng giao thøc TCP/IP vµ ®· ®îc c¸c trêng §¹i häc ë mü ghÐp nèi víi hÖ ®iÒu hµnh UNIX BSD.
HÖ UNIX lµ hÖ ph¸t triÓn m¹nh víi rÊt nhiÒu c«ng cô hç trî vµ ®¶m b¶o c¸c phÇn mÒm øng dông cã thÓ chuyÓn qua l¹i trªn c¸c hä m¸y kh¸c nhau. Bªn c¹nh ®ã, hÖ ®iÒu hµnh UNIX cßn cung cÊp nhiÒu thñ tôc Internet c¬ b¶n, ®a ra kh¸i niÖm Socket vµ cho phÐp ch¬ng tr×nh øng dông th©m nhËp vµo Internet.
II.2. HÖ thèng giao thøc TCP/IP:
TCP/IP ( Transmission Control Protocol/Internet Protocol) lµ giao thøc c¬ b¶n cña Internet cã tªn lµ "giao thøc ®iÒu khiÓn truyÒn dÉn /giao thøc Internet " ®Þnh nghÜa qóa tr×nh truyÒn th«ng cña m¹ng, quan träng h¬n lµ ®Þnh nghÜa gãi sè liÖu ph¶i sö dông ®Þnh d¹ng nµo vµ nã bao hµm nh÷ng th«ng tin g× ®Ó m¸y tÝnh ë ®Çu thu cã thÓ gi¶i m· chÝnh x¸c th«ng tin nhËn ®îc. Giao thøc TCP/IP vµ giao thøc trªn c¸c líp kh¸i niÖm h×nh thµnh mét hÖ thèng hoµn chØnh ®Þnh nghÜa têng tËn sù hç trî viÖc xö lý, ph¸t nhËn sè liÖu trªn m¹ng cña giao thøc TCP/IP. Do vËy muèn cã sù hiÓu biÕt tæng thÓ vÒ hÖ thèng giao thøc TCP/IP, cÇn ph¶i hiÓu biÕt tÊt c¶ c¸c giao thøc t¬ng øng trªn c¸c kh¸i niÖm líp.
II.2.1. M« h×nh ph©n líp TCP/IP:
M« h×nh ph©n líp TCP/IP gåm 4 líp kh¸i niÖm cÊu tróc trªn líp phÇn cøng, tøc lµ líp øng dông, líp truyÒn dÉn, líp Internet vµ líp giao diÖn m¹ng thÓ hiÖn (h×nh vÏ):
Kh¸i niÖm líp
§èi tîng truyÒn dÉn gi÷a c¸c líp
Líp øng dông
Líp truyÒn dÉn
Líp Internet
Líp giao diÖn m¹ng
Líp phÇn cøng
Luång byte TCP hoÆc th«ng tin UDP
§o¹n TCP hoÆc gãi sè liÖu UDP
Gãi d÷ liÖu IP
Khung m¹ng
H×nh II.1: M« h×nh ph©n líp TCP/IP vµ líp ®èi tîng truyÒn gi÷a c¸c líp
II.2.1.1 Líp øng dông:
Líp øng dông lµ líp cao nhÊt trong m« h×nh ph©n líp, thuª bao dïng ch¬ng tr×nh øng dông ®Ó truy nhËp m¹ng Internet TCP/IP ®Ó sö dông c¸c lo¹i dÞch vô do m¹ng cung cÊp. Ch¬ng tr×nh øng dông qu¶n lý sè liÖu ph¸t vµ sè liÖu thu. Mçi mét ch¬ng tr×nh øng dông cã thÓ lùa chän lo¹i h×nh dÞch vô truyÒn dÉn cÇn thiÕt. S¾p xÕp l¹i sè liÖu theo yªu cÇu cña líp truyÒn dÉn sau ®ã truyÒn xuèng líp díi.
II.2.1.2 Líp truyÒn dÉn:
NhiÖm vô c¬ b¶n cña líp truyÒn dÉn lµ cung cÊp dÞch vô th«ng tin gi÷a c¸c ch¬ng tr×nh øng dông. Th«ng tin nµy cßn gäi lµ th«ng tin ®iÓm ®Õn ®iÓm. Líp truyÒn dÉn võa cÇn qu¶n lý hÖ thèng luång th«ng tin sè liÖu, l¹i võa cung cÊp dÞch vô truyÒn dÉn tin cËy, ®Ó ®¶m b¶o sè liÖu truyÒn ®Õn ®Ých kh«ng cã lçi, kh«ng lÉn lén thøc tù. Víi môc ®Ých nµy, phÇn mÒm giao thøc líp truyÒn dÉn cÇn tho¶ thuËn ®Ó ®Çu thu tr¶ lêi th«ng tin x¸c nhËn, cßn ®Çu ph¸t sÏ ph¸t gãi.
§èi tîng truyÒn dÉn gi÷a líp truyÒn dÉn vµ líp Internet lµ líp truyÒn dÉn gãi. Líp truyÒn dÉn gãi chia lµm 2 lo¹i : NÕu líp truyÒn dÉn lµ giao thøc TCP th× ®èi tîng lµ gãi TCP vµ cã thÓ tiÕp tôc ph©n thµnh c¸c ®o¹n. NÕu líp truyÒn dÉn lµ giao thøc UDP th× ®èi tîng lµ gãi sè liÖu UDP.
II.2.1.3 Líp Internet:
Líp giao thøc Internet cßn gäi lµ líp IP, chñ yÕu xö lý th«ng tin gi÷a c¸c thiÕt bÞ. Nã tiÕp nhËn yªu cÇu cña líp truyÒn dÉn, truyÒn dÉn gãi nµo ®ã cã th«ng tin ®Þa chØ ®Ých. Líp nµy ®ãng gãi d÷ liÖu (IP datagram), ®iÒn vµo phÇn ®Çu cña gãi d÷ liÖu (cßn gäi lµ phÇn mµo ®Çu cña gãi d÷ liÖu) sö dông tÝnh to¸n ®Þnh tuyÕn lµ trùc tiÕp ph¸t gãi d÷ liÖu ®Õn thiÕt bÞ ë ®Ých hoÆc lµ ph¸t gãi d÷ liÖu cho bé ®Þnh tuyÕn, sau ®ã chuyÓn gãi d÷ liÖu cho mo-dul giao diÖn m¹ng t¬ng øng trong líp giao diÖn m¹ng phÝa díi.
Ngoµi ra, líp nµy cßn ph¶i xö lý gãi d÷ liÖu nhËn ®îc, kiÓm tra ®é chÝnh x¸c. Sö dông tÝnh to¸n ®Þnh tuyÕn ®Ó quyÕt ®Þnh xö lý t¹i chç hay tiÕp tôc ph¸t ®i. NÕu thiÕt bÞ ®Þnh tuyÕn cña cña m¹ng néi vïng th× phÇn mÒm líp nµy sÏ t¸ch bá mµo ®Çu cña gãi d÷ liÖu, tiÕp tôc lùa chän phÇn mÒm giao thøc líp truyÒn dÉn t¬ng thÝch ®Ó xö lý gãi d÷ liÖu ®ã. Cuèi cïng líp Internet cßn ph¶i ph¸t ®i th«ng b¸o ®iÒu khiÓn vµ lçi cña ICMP (Internet Control Message Protocol : Th«ng b¸o kiÓm so¸t Internet) vµ xö lý th«ng b¸o ICMP tiÕp nhËn ®îc.
§èi tîng truyÒn dÉn gi÷a líp Internet vµ líp giao diÖn m¹ng lµ gãi d÷ liÖu IP ( IP datagram).
II.2.1.4 Líp giao diÖn m¹ng:
Líp giao diÖn m¹ng cßn gäi lµ líp kÕt nèi, ë díi líp giao thøc TCP/IP tiÕp nhËn gãi d÷ liÖu IP vµ ph¸t gãi d÷ liÖu ®i theo m¹ng ®· ®Þnh. Líp nµy bao hµm mét quy tr×nh khëi ®éng thiÕt bÞ (VÝ dô: Khi kÕt nèi m¹ng m¸y tÝnh víi m¹ng Lan cÇn cã ch¬ng tr×nh khëi ®éng t¬ng øng) còng cã thÓ lµ mét hÖ thèng con phøc t¹p cña giao thøc ®êng truyÒn sè liÖu sö dông chÝnh m×nh (VÝ dô: Khi m¹ng do thiÕt bÞ chuyÓn m¹ch gãi t¹o thµnh, nh÷ng thiÕt bÞ chuyÓn m¹ch gãi nµy dïng giao thøc HDCL vµ m¸y chñ ®Ó th«ng tin). HiÖn nay, m¹ng Lan dùa trªn c¬ së kü thuËt m¹ng Ethernet ®îc sö dông phæ biÕn nhÊt.
§èi tîng truyÒn dÉn gi÷a líp giao diÖn m¹ng víi phÇn cøng c¸c khung m¹ng cã c¸c ch¬ng tr×nh kh¸c nhau, nh khung cña Ethernet, khung cña m¹ng vßng thÎ bµi.
II.2.2. Giao thøc t¬ng øng trªn c¸c kh¸i niÖm líp:
II.2.2.1 Giao thøc líp giao diÖn m¹ng:
Líp thÊp nhÊt cña tËp hîp giao thøc lµ líp giao diÖn m¹ng, nã ®Þnh nghÜa nh÷ng tiªu chuÈn liªn quan ®Õn giao diÖn phÇn cøng vµ ph¬ng tiÖn truyÒn dÉn cña m¹ng. Cã thÓ nãi líp giao diÖn m¹ng lµ líp khã hiÓu nhÊt trong TCP/IP, chñ yÕu qu¶n lý chuÈn bÞ toµn bé ch¬ng tr×nh vµ chøc n¨ng dÞch vô cho m¹ng vËt lý. Nh÷ng chøc n¨ng ®ã bao gåm:
- Giao diÖn víi ®Çu nèi m¹ng m¸y tÝnh.
- Quy ®Þnh vµ phèi hîp truyÒn sè liÖu vµ ph¬ng ph¸p truy nhËp t¬ng øng.
- §Þnh d¹ng sè liÖu thµnh gãi khung sè liÖu vµ chuyÓn ®æi khung sè liÖu thµnh xung sè liÖu hoÆc luång xung t¬ng tù truyÒn trªn ph¬ng tiÖn truyÒn dÉn.
- KiÓm tra lçi trªn khung sè liÖu ®a ®Õn.
- Bæ sung th«ng tin kiÓm tra lçi vµo sè liÖu ®a ra, ®Ó m¸y tÝnh ë ®Çu thu cã thÓ kiÓm tra lçi.
- X¸c nhËn khung sè liÖu ®· nhËn ®îc, nÕu cha nhËn ®îc th«ng tin x¸c nhËn nµy, th× ph¸t l¹i khung sè liÖu ®ã.
Trªn thùc tÕ, ®èi víi ®Þnh nghÜa cô thÓ c¸c chøc n¨ng nãi trªn, kh«ng ph¶i ®Òu do giao thøc líp giao diÖn m¹ng TCP/IP hoµn thµnh, cã thÓ nã cßn ph¶i kÕt hîp víi c¸c giao thøc líp vËt lý ngoµi TCP/IP míi cã thÓ thùc hiÖn ®îc th«ng tin sè liÖu ë líp díi.
II.2.2.2 Giao thøc líp Internet:
Giao thøc líp Internet ®îc ®iÒu hµnh ë líp Internet cho nªn líp Internet lµ träng ®iÓm cña hÖ thèng giao thøc TCP/IP. Ngoµi ra, ë giao thøc ®Þnh nghÜa líp Internet cßn cã mét sè giao thøc quan träng nh: ICMP, ARP, RARP, nh÷ng giao thøc nµy còng ®Þnh nghÜa hµng lo¹t tiªu chuÈn dÞch vô kh«ng thÓ thiÕu trong th«ng tin m¹ng, nh÷ng tiªu chuÈn dÞch vô nµy bao gåm nh÷ng néi dung sau:
- IP cung cÊp "phong b×" TCP/IP c¬ b¶n- gãi d÷ liÖu IP, nh÷ng "phong b×" nµy chøa gãi sè liÖu do phÇn mÒm giao thøc líp trªn sinh ra vµ truyÒn "phong b×" ®Õn ®Þa chØ ®Ých cuèi cïng cña nã.
- Hai qu¸ tr×nh xö lý quan träng cña líp nµy lµ ph©n ®o¹n vµ ®Þnh tuyÕn, nh÷ng xö lý nµy lµm cho th«ng tin sè liÖu TCP/IP cã thÓ truyÒn dÉn ®îc trong m¹ng cã c¸c lo¹i h×nh kh¸c nhau.
- ICMP ®iÒu hµnh trong líp nµy, cã thÓ truyÒn th«ng tin chuÈn ®o¸n lµ th«ng tin lçi ®Õn c¸c hÖ thèng TCP/IP kh¸c.
- ARP vµ RARP hoµn thµnh chuyÓn ®æi gi÷a ®Þa chØ IP vµ ®Þa chØ vËt lý ®Ó cung cÊp kh¶ n¨ng cho th«ng tin sè liÖu th«ng qua ®Þa chØ líp vËt lý.
a. Giao thøc Internet (IP):
* chøc n¨ng ®Þnh nghÜa IP:
IP lµ giao thøc c¬ b¶n ®Ó thiÕt lËp m¹ng TCP/IP bëi v× nã cung cÊp dÞch vô truyÒn sè liÖu cho nh÷ng giao thøc kh¸c thao t¸c trong líp Internet hoÆc trªn Internet. Nh÷ng dÞch vô mµ IP cung cÊp thêng bÞ coi lµ kh«ng kÕt nèi vµ kh«ng tin cËy.
MÆc dï truyÒn dÉn IP thiÕu dÞch vô kÕt nèi vµ b¶o ®¶m chÊt lîng tin cËy nhng IP vÉn ®¶m nhiÖm chÊt lîng lín nhÊt. Trªn thùc tÕ, IP ®Ò cËp ®Õn mét sè thao t¸c phøc t¹p nhÊt trong truyÒn dÉn TCP/IP vµ giao thøc IP ®· ®Þnh nghÜa chøc n¨ng chñ yÕu sau:
- §ãng gãi sè liÖu ë líp trªn (nh sè liÖu TCP,UDP) hoÆc nh÷ng sè liÖu kh¸c cïng líp (nh sè liÖu ICMP) vµo trong gãi d÷ liÖu IP.
- TruyÒn gãi d÷ liÖu IP ®Õn ®Þa chØ ®Ých.
- §Ó sè liÖu cã thÓ truyÒn dÉn trªn m¹ng cña líp ®êng truyÒn vµ tiÕn hµnh ph©n ®o¹n sè liÖu.
- X¸c ®Þnh tuyÕn mµ gãi d÷ liÖu cã thÓ ®Õn ®Ých thuéc c¸c m¹ng kh¸c.
Nãi tãm l¹i, IP cÇn ®Þnh nghÜa mét lo¹t chøc n¨ng, c¸ch x©y dùng gãi d÷ liÖu ®Ó truyÒn gãi d÷ liÖu qua mét m¹ng vËt lý. Khi th«ng tin sè liÖu ph¸t ®Õn m¸y tÝnh, phÇn mÒm giao thøc IP thùc hiÖn mét sè nhiÖm vô. Khi nhËn ®îc nh÷ng th«ng tin sè liÖu tõ mét m¸y tÝnh kh¸c, phÇn mÒm giao thøc thùc hiÖn mét sè nhiÖm vô kh¸c. Trong IP cã 3 ®o¹n 32 bits quan träng lµ trang bÞ cÇn thiÕt ®Ó thùc hiÖn nh÷ng chøc n¨ng nµy:
- Vïng ®Þa chØ IP- cã mét ®Þa chØ duy nhÊt 32 bit cho m¸y tÝnh.
- Vïng mËt khÈu m¹ng con- mét lo¹i bit th«ng tin 32 bit, dïng ®Ó b¸o cho IP c¸ch x¸c ®Þnh bé phËn nµo cña ®Þa chØ IP lµ ®Þa chØ m¹ng, bé phËn nµo lµ ®Þa chØ m¸y chñ.
- Vïng Gateway ngÇm ®Þnh - mét ®Þa chØ 32 bit tuú chän, nÕu xuÊt hiÖn ®Þa chØ nµy th× dïng ®Ó ®¸nh dÊu ®Þa chØ bé ®Þnh tuyÕn. Khi cÇn truyÒn gãi d÷ liÖu cña mét m¹ng kh¸c th× truyÒn t¬ng øng ®Õn ®Þa chØ nµy.
Khi ph¸t sè liÖu, phÇn mÒm giao thøc IP trªn m¸y tÝnh ph¸t ph¶i x¸c ®Þnh ®Þa chØ ®Ých ë trªn cïng mét m¹ng (néi vïng) hay trªn mét m¹ng kh¸c IP so s¸nh kÕt qu¶ cña 2 bµi to¸n nµy, míi cã thÓ x¸c ®Þnh ®Þa chØ ®Ých cña sè liÖu ®Õn. NÕu 2 kÕt qu¶ tÝnh to¸n gièng nhau, th× ®Þa chØ ®Ých cña sè liÖu lµ néi vïng, nÕu kh«ng ®Þa chØ ®Ých sÏ ë mét m¹ng kh¸c. NÕu ®Þa chØ ®Ých lµ néi vïng th× phÇn mÒm giao thøc IP sÏ khëi ®éng th«ng tin trùc th«ng, nÕu ®Þa chØ ®Ých lµ m¸y tÝnh ë m¹ng kh¸c th× IP ph¶i th«ng qua cæng m¹ng (Gateway) ( hoÆc bé ®Þnh tuyÕn). Trong phÇn lín c¸c trêng hîp Gateway nµy ph¶i lµ Gateway ngÇm ®Þnh. Khi IP hoµn thµnh c«ng t¸c chuÈn bÞ cña gãi d÷ liÖu, nã sÏ truyÒn gãi d÷ liÖu ®Õn líp giao diÖn m¹ng, líp giao diÖn m¹ng l¹i truyÒn nã ®Õn tuyÕn truyÒn dÉn, cuèi cïng hoµn thµnh ph¸t khung sè liÖu ®Õn m¸y tÝnh ®Ých.
Khi sè liÖu ®Õn m¸y tÝnh ®Ých, líp giao diÖn m¹ng ®Çu tiªn tiÕp nhËn sè liÖu. Líp giao diÖn m¹ng cÇn kiÓm tra khung sè liÖu xem cã sai sãt g× kh«ng ®ång thêi chuyÓn khung sè liÖu ®Õn ®Þa chØ chÝnh x¸c, gi¶ sö khung sè liÖu ®Õn chÝnh x¸c, líp giao diÖn m¹ng sÏ nhËn lÊy phô t¶i h÷u hiÖu cña sè liÖu trong c¸c bé phËn kh¸c cña khung sè liÖu, sau ®ã chuyÓn th¼ng chóng ®Õn giao thøc do vïng líp khung chØ ®Þnh. Trong trêng hîp nµy cã thÓ phô t¶i h÷u hiÖu cña sè liÖu ®· truyÒn cho IP.
Khi nhËn ®îc gãi d÷ liÖu tõ líp giao diÖn m¹ng truyÒn ®Õn ®Çu tiªn IP ph¶i xem b¶n th©n gãi d÷ liÖu trong qu¸ tr×nh truyÒn cã bÞ sai sãt g× kh«ng. TiÕp ®ã IP so s¸nh ®Þa chØ ®Ých IP trong gãi d÷ liÖu víi ®Þa chØ IP trong m¸y tÝnh ®Ó x¸c ®Þnh gãi d÷ liÖu cã truyÒn ®Õn m¸y tÝnh chÝnh x¸c kh«ng.
* Th«ng tin mµo ®Çu IP:
Trong vËn hµnh m¹ng, mçi mét líp giao thøc hoÆc mçi mét giao thøc ®Òu bao hµm mét sè th«ng tin cung cÊp cho nã sö dông. Nh÷ng th«ng tin nµy thêng ë vÞ trÝ ®Çu cña sè liÖu, th«ng thêng gäi nã lµ th«ng tin mµo ®Çu, trong mµo ®Çu, gãi bao hµm mét sè ®¬n nguyªn th«ng tin quy ®Þnh gäi lµ vïng. Mét vïng cã thÓ bao hµm ®Þa chØ ®Ých cña gãi d÷ liÖu hoÆc lµ m« t¶ khi gãi d÷ liÖu ®Õn ®Ých cÇn ph¶i thùc hiÖn nh÷ng g× ®èi víi sè liÖu.
Nh chóng ta ®· biÕt, th«ng tin sè liÖu ë gi÷a líp Internet lµ truyÒn gi÷a c¸c khu«n d¹ng datagram IP víi nhau. Trong ®ã, ë phÇn ®Çu cña khu«n d¹ng datagram IP lµ th«ng tin mµo ®Çu IP, phÇn tiÕp theo lµ phô t¶i h÷u hiÖu cña sè liÖu trong datagram IP.
0
3 4
7 8
15 16
31
Phiªn b¶n
§é dµi mµo ®Çu Internet
Lo¹i h×nh dÞch vô
Tæng ®é dµi
M· ®¸nh dÊu
DÊu hiÖu ph©n ®o¹n
M· ph©n ®o¹n (13 bit)
Thêi gian sèng
Giao thøc
Tæng kiÓm tra mµo ®Çu
§Þa chØ IP nguån ( 4 byte)
§Þa chØ IP ®Ých ( 4 byte)
Phô t¶i h÷u hiÖu gãi d÷ liÖu IP ( ®é dµi cã thÓ thay ®æi ®îc)
H×nh II.2: §Þnh d¹ng gãi sè liÖu IP vµ th«ng tin mµo ®Çu IP.
Chøc n¨ng cña c¸c vïng trong th«ng tin mµo ®Çu IP ®îc ®Þnh nghÜa nh sau:
- Phiªn b¶n - 4 bit: Dïng ®Ó chØ râ sè phiªn b¶n IP sö dông. HiÖn sè phiªn b¶n IP sö dông lµ 4.
- IHL (Internet Header Length: ®é dµi mµo ®Çu Internet)- 4 bit: Vïng IHL chØ ®Þnh ®é dµi mµo ®Çu P (Packet), ®é dµi nµy lÊy byte 32 bit lµm ®¬n vÞ, ®ång thêi vïng IHL dïng ®Ó ®Þnh vÞ khëi ®iÓm cña ®o¹n byte sè liÖu. TrÞ sè nhá nhÊt cña IHL lµ 5 tøc lµ ®é dµi nhá nhÊt cña th«ng tin mµo ®Çu IP lµ 20 byte.
- Lo¹i h×nh dÞch vô- IP nguån cã thÓ chØ ®Þnh th«ng tin ®Þnh tuyÕn ®Æc biÖt. Nh÷ng néi dung cã thÓ lùa chän cã ®é trÔ thÊp hoÆc b×nh thêng, ®é lu tho¸t b×nh thêng hoÆc cao, ®é tin cËy b×nh thêng hoÆc cao…
- Tæng ®é dµi -2 byte: Vïng nµy chØ ®Þnh tæng ®é dµi cña datagram IP (lÊy byte lµm ®¬n vÞ), bao gåm th«ng tin mµo ®Çu vµ phô t¶i h÷u hiÖu.
- Sè nhËn d¹ng-IP gèc cã mét sè thø tù t¨ng dÇn cña datagram IP nµy.
- DÊu hiÖu ph©n ®o¹n- 3 bit: Dïng ®Ó ®¸nh dÊu ph©n ®o¹n cho phÐp.
TÊt c¶ cã 3 dÊu hiÖu : Bit thø nhÊt kh«ng dïng; Bit thø 2 biÓu thÞ kh«ng ph©n ®o¹n; Bit thø 3 (More Fragments) biÓu thÞ gãi sè liÖu nµy lµ mét ®o¹n sè liÖu. Khi MF ë vÞ trÝ 0, cho biÕt kh«ng cã c¸c ®o¹n kh¸c, tæ hîp c¸c ®o¹n sè liÖu l¹i thµnh gãi d÷ liÖu chÝnh x¸c.
- M· ph©n ®o¹n-13 bit : §©y lµ sè g¸n cho mçi mét ®o¹n gãi sè liÖu liªn kÕt. PhÇn mÒm giao thøc IP cña ®Ých sö dông dÊu hiÖu ph©n ®o¹n nµy, nã tæ hîp c¸c ®o¹n datagram l¹i thµnh datagram chÝnh x¸c.
- Thêi gian sèng (TTL : Time To Live) : ChØ râ thêi gian cã thÓ liªn l¹c [dïng gi©y (sec) hay hop (nh¶y) do bé ®Þnh tuyÕn ph©n chia lµm ®¬n vÞ] tríc khi datagram bÞ xo¸. Khi datagram IP ®i qua tõng bé ®Þnh tuyÕn, bé ®Þnh tuyÕn kiÓm tra gi¸ trÞ nµy vµ c¾t bít ®i tèi thiÓu 1, hoÆc lµ c¾t ®i sè gi©y trÔ cña datagram nµy trong bé ®Þnh tuyÕn. Khi gi¸ trÞ cña vïng nµy b»ng 0 datagram sÏ bÞ xo¸ bá.
- Giao thøc : Vïng nµy bao gåm m· giao thøc nhËn biÕt. M· ®¹i diÖn cho gi¸ trÞ cô thÓ ®îc chØ ®Þnh trong REC t¬ng øng nh:
1 lµ ICMP.
6 lµ TCP.
17 lµ UDP.
- Tæng kiÓm tra mµo ®Çu IP-Vïng nµy bao hµm kÕt qu¶ kiÓm nghiÖm vµ tÝnh to¸n trong c¸c vïng cña mµo ®Çu IP, ®ång thêi tiÕn hµnh so s¸nh kÕt qu¶ ®Ó kiÓm nghiÖm ®é chÝnh x¸c cña truyÒn dÉn.
- §Þa chØ IP gèc-§Þa chØ nµy cung cÊp cho phÇn mÒm giao thøc IP ®Þa chØ ®Ých sö dông khi ph¸t tr¶ l¹i.
- §Þa chØ IP ®Ých-§Þa chØ nµy dïng cho IP ®Ých kiÓm tra sè liÖu truyÒn dÉn cã chÝnh x¸c kh«ng.
- Phô t¶i h÷u hiÖu cña datagram IP-Th«ng thêng bao gåm th«ng tin sè liÖu TCP, UDP trong líp truyÒn dÉn hoÆc th«ng tin sè liÖu ICMP… ë cïng líp. Sè liÖu cña nã cã thÓ biÕn ®æi miÔn lµ kh«ng vît qu¸ MTU (Maximum Transfer Unit: §¬n vÞ truyÒn dÉn lín nhÊt).
b. Giao thøc chuyÓn ®æi ®Þa chØ (ARP):
Giao thøc chuyÓn ®æi ®Þa chØ (ARP : Address Resolution Protocol) lµ mét giao thøc quan träng kh¸c ë trong líp Internet. T¸c dông cña ARP lµ chuyÓn ®æi ®Þa chØ vËt lý. ARP tra t×m thiÕt bÞ trªn m¹ng néi vïng, ®Ó hiÓu râ ®Þa chØ vËt lý cña chóng. Ngoµi ra ARP cßn b¶o ®¶m quan hÖ t¬ng øng gi÷a ®Þa chØ IP víi ®Þa chØ vËt lý trong bé nhí ®Öm tèc ®é cao.
Mçi khi IP cÇn th«ng tin víi bÊt kú m¸y tÝnh nµo ®ã, ®Çu tiªn cÇn tra t×m ARP nhí ®Öm tèc ®é cao, ®Ó hiÓu râ trong nhí ®Öm cã tån t¹i ®Þa chØ IP cña m¸y tÝnh hoÆc bé ®Þnh tuyÕn néi vïng kh«ng. NÕu trong ARP nhí ®Öm tèc ®é cao cã ®Þa chØ IP nµy, sÏ sö dông ®Þa chØ vËt lý t¬ng øng víi nã trùc tiÕp ph¸t datagram ®Õn ®Çu nèi m¹ng vËt lý. NÕu trong ARP kh«ng cã ®Þa chØ IP nµy th× ARP sÏ ph¸t yªu cÇu qu¶ng b¸ trªn m¹ng LAN. Yªu cÇu qu¶ng b¸ ARP bao gåm c¶ ®Þa chØ IP cña m¸y tÝnh néi vïng hoÆc bé ®Þnh tuyÕn. Mçi mét m¸y tÝnh trªn m¹ng LAN ®Òu ph¶i tra xÐt ®Þa chØ IP trong yªu cÇu qu¶ng b¸ ARP nµy. NÕu ®Þa chØ IP nµy thèng nhÊt víi ®Þa chØ IP trong m¸y tÝnh, th× m¸y tÝnh ®ã sÏ ph¸t th«ng tin tr¶ lêi ARP trong th«ng tin bao hµm ®Þa chØ vËt lý t¬ng øng. Sau ®ã, phÇn mÒm giao thøc ARP sÏ ®a tæ hîp ®Þa chØ IP víi ®Þa chØ vËt lý vµo trong nhí ®Öm tèc ®é cao cña nã, lóc nµy IP cã thÓ tiÕp tôc trùc tiÕp ph¸t datagram cña nã ®Õn ®Çu nèi m¹ng cÇn thiÕt.
Ngoµi ra, t¬ng øng víi ARP, cßn cã mét giao thøc kh¸c gäi lµ giao thøc ph©n gi¶i ®Þa chØ ngîc (RARP : Reverse Address Resolution Protocol). §iÒu khiÓn RARP thùc hiÖn ngîc víi ARP. Khi ®· biÕt ®Þa chØ IP mµ kh«ng biÕt ®Þa chØ vËt lý th× sö dông RARP.
c. Giao thøc th«ng tin ®iÒu khiÓn Internet (ICMP):
Giao thøc th«ng tin ®iÒu khiÓn Internet (ICMP: Internet Control Message Protocol) lµ giao thøc t¬ng ®èi quan träng cña líp Internet. Bé ®Þnh tuyÕn chñ yÕu dïng giao thøc nµy ®Ó ®iÒu khiÓn qu¸ tr×nh truyÒn dÉn datagram. Datagram IP ph¸t ®Õn m¸y tÝnh ë ®Çu xa ph¶i ®i qua mét hoÆc nhiÒu bé ®Þnh tuyÕn, c¸c bé ®Þnh tuyÕn nµy, trong qu¸ tr×nh ph¸t th«ng tin sè liÖu ®Õn ®Þa chØ ®Ých sÏ gÆp ph¶i mét lo¹t vÊn ®Ò, bé ®Þnh tuyÕn sÏ sö dông th«ng tin ICMP ®Ó th«ng b¸o c¸c vÊn ®Ò nµy cho IP xö lý. Díi ®©y lµ mét sè th«ng tin ICMP thêng gÆp nhÊt:
- Yªu cÇu ph¸t vµ tr¶ lêi ph¸t : ICMP thêng sö dông th«ng tin nµy khi ®o thö. Khi nh©n viªn kü thuËt dïng lÖnh Ping ®Ó kiÓm tra tr¹ng th¸i kÕt nèi víi mét m¸y chñ kh¸c, trªn thùc tÕ lµ sö dông giao thøc ICMP. LÖnh Ping sÏ ph¸t datagram ®Õn mét ®Þa chØ IP vµ yªu cÇu m¸y tÝnh ®Ých tr¶ lêi datagram chuyÓn tr¶ sè liÖu nµy, lóc nµy, lÖnh Ping sö dông th«ng tin trªn.
- Gi¶m tèc ®é th«ng tin nguån (Source Quench) : NÕu m¸y tÝnh tèc ®é cao ph¸t lîng sè liÖu lín ®Õn mét m¸y tÝnh ®Çu xa, nh vËy lîng th«ng tin lín ph¸t ®i sÏ lµm cho bé ®Þnh tuyÕn bÞ nghÏn. Lóc nµy, bé ®Þnh tuyÕn cã thÓ sö dông mét ICMP, ph¸t mét th«ng tin Source Quench ®Õn IP gèc, yªu cÇu m¸y tÝnh ph¸t gi¶m tèc ®é ph¸t sè liÖu.
- Kh«ng ®Õn ®îc ®Þa chØ ®Ých (Destination Unreachable) : NÕu bé ®Þnh tuyÕn tiÕp nhËn ®îc datagram kh«ng thÓ truyÒn ®îc, ICMP sÏ ph¸t trë vÒ IP gèc mét th«ng tin Destination Unreachable. Nguyªn nh©n mµ bé ®Þnh tuyÕn kh«ng thÓ truyÒn datagram t¬ng ®èi phøc t¹p, cã thÓ do sù cè cña thiÕt bÞ, còng cã thÓ do ®Þa chØ IP ®Ých sai v.v…
- Qu¸ thêi gian (Time Exceeded) : NÕu v× TTL ®¹t ®Õn 0 lµm cho datagram bÞ huû bá, th× ICMP sÏ ph¸t mét th«ng tin Time Exceeded ®Õn IP gèc. Nã biÓu thÞ muèn ®Õn ®îc ®Þa chØ ®Ých cßn ph¶i qua nhiÒu bé ®Þnh tuyÕn (mçi lÇn qua mét bé ®Þnh tuyÕn lµ mét bíc nh¶y), dïng TTL hiÖn t¹i th× kh«ng thÓ ®Õn ®Ých ®îc.
d. Giao thøc líp truyÒn dÉn:
Líp truyÒn dÉn ë trªn líp Internet, ë díi líp øng dông nã cung cÊp mét giao diÖn cho tr¬ng tr×nh øng dông m¹ng, kiÓm tra lçi, kiÓm so¸t lu lîng vµ kiÓm nghiÖm tÝnh h÷u hiÖu… cña truyÒn dÉn m¹ng. Nh÷ng chøc n¨ng nµy do hai giao thøc quan träng cña líp truyÒn dÉn cung cÊp lµ giao thøc ®iÒu khiÓn truyÒn dÉn TCP vµ giao thøc datagram thuª bao UDP quy ®Þnh vµ ®Þnh nghÜa.
1. Giao thøc ®iÒu khiÓn truyÒn dÉn TCP:
TCP lµ giao thøc truyÒn dÉn chñ yÕu trong lo¹t giao thøc TCP/IP, nã lµ mét giao thøc phôc vô ®Çu nèi, cã chøc n¨ng chÝnh lµ kiÓm tra lçi vµ kiÓm so¸t lu lîng, tõ ®ã cung cÊp cho ch¬ng tr×nh øng dông dÞch vô truyÒn dÉn ®¸ng tin cËy, cã thÓ kiÓm so¸t lu lîng vµ hoµn toµn song c«ng.
* §Æc tÝnh quan träng cña TCP:
TCP cã mét sè ®Æc tÝnh quan träng sau:
- Ph¬ng ph¸p xö lý luång sè liÖu-TCP sö dông ph¬ng thøc liªn tôc ®Ó xö lý sè liÖu. Nãi c¸ch kh¸c, TCP cã thÓ dïng ph¬ng thøc mçi lÇn tiÕp nhËn mét byte ®Ó tiÕp nhËn sè liÖu mµ kh«ng tiÕp nhËn theo ph¬ng thøc sè liÖu ®îc ®Þnh d¹ng tríc råi míi truyÒn ®Õn Internet.
- Hoµn toµn tin cËy-TCP th«ng qua ph¬ng thøc truyÒn dÉn liªn tiÕp vµ mét sè biÖn ph¸p kiÓm so¸t lçi, kiÓm so¸t lu lîng, ®¶m b¶o cho sè liÖu kh«ng bÞ mÊt, ®ång thêi TCP cßn cã thÓ s¾p xÕp l¹i datagram IP ®· nhËn ®îc, gi¶i quyÕt vÊn ®Ò thø tù kh«ng theo trËt tù cña sè liÖu. Nh÷ng ®iÒu nµy ®¶m b¶o cho TCP truyÒn dÉn cã thÓ tin cËy hoµn toµn.
- Th«ng tin song c«ng-TCP kÕt nèi cho phÐp sè liÖu cã thÓ truyÒn ®i theo bÊt kú híng nµo vµ cho phÐp bÊt kú mét ch¬ng tr×nh øng dông nµo ®Òu cã thÓ truyÒn sè liÖu vµo bÊt kú thêi ®iÓm nµo. TCP cã thÓ thu vµ ph¸t chËm sè liÖu lªn trªn theo hai híng nh thÕ lµm cho mét øng dông sau khi ph¸t mét sè liÖu cã thÓ cïng tiÕn hµnh c¸c c«ng viÖc kh¸c khi truyÒn dÉn sè liÖu.
- KiÓm so¸t lu lîng - §Æc tÝnh kiÓm so¸t lu lîng cña TCP ®¶m b¶o cho tèc ®é truyÒn dÉn sè liÖu kh«ng cao hoÆc thÊp h¬n kh¶ n¨ng tiÕp nhËn sè liÖu cña m¸y tÝnh ®Ých. Trong trêng hîp biÕn ®æi kh«ng b×nh thêng, tèc ®é xö lý vµ nhí ®Öm thay ®æi rÊt lín, lóc nµy t¸c dông cña viÖc kiÓm so¸t lu lîng sÏ hÕt søc quan träng.
* Khu«n d¹ng sè liÖu cña luång sè liÖu TCP:
Khu«n d¹ng sè liÖu cña luång sè liÖu TCP ®îc m« t¶ trªn h×nh 3:
0
16
31
8
4
12
24
28
20
Cöa sæ
Cæng nguån
Cæng ®Ých
Sè thø tù
M· x¸c nhËn
M· sè liÖu
Lu l¹i
URG
ACK
PSH
PST
SYN
FIN
Tæng kiÓm tra
M· chØ thÞ khÈn
Tuú chän
Bæ sung
Sè liÖu
H×nh II.3 : Khu«n d¹ng sè liÖu cña luång sè liÖu TCP.
- Cæng nguån (Source Port)-16 bit : Bao hµm ph©n phèi m· sè cña cæng ch¬ng tr×nh øng dông trªn m¸y ph¸t.
- Cæng ®Ých-16 bit : Bao hµm ph©n phèi m· sè cña cæng ch¬ng tr×nh øng dông trªn m¸y tÝnh ®Ých.
- Sè thø tù-32 bit : ChØ vÞ trÝ sè liÖu trong luång sè liÖu t¹i ®Çu ph¸t.
- M· x¸c nhËn-32 bit : Do m¸y tÝnh yªu cÇu sè thø tù cña byte tiÕp nhËn tiÕp theo TCP sö dông c«ng nghÖ ®em theo, trong luång sè liÖu cña sè liÖu ph¸t ®em theo x¸c nhËn ®èi víi sè liÖu ®èi ph¬ng. Nh vËy, cã thÓ tiÕt kiÖm rÊt nhiÒu sè lîng v¨n b¶n truyÒn dÉn.
- M· sè liÖu-4 bit : ChØ ®é dµi th«ng tin mµo ®Çu cña luång sè liÖu cã ®¬n vÞ lµ 32 bit.
- Lu l¹i-6 bit : Lu l¹i ®Ó sau nµy dïng lµm ®o¹n byte. Toµn bé ®o¹n byte nµy ph¶i ë vÞ trÝ 0.
- Vïng bit m·-6 bit : Dïng ®Ó chØ môc ®Ých vµ néi dung cña sè liÖu ý nghÜa cña c¸c sè nh sau :
URG (Urgent Pointer) : BiÓu thÞ mÊt chØ thÞ khÈn cÊp lµ h÷u hiÖu.
ACK: BiÓu thÞ vïng x¸c nhËn lµ h÷u hiÖu.
PSH: BiÓu thÞ ®iÒu khiÓn h÷u hiÖu, b¸o cho phÇn mÒm TCP truyÒn tÊt c¶ c¸c sè liÖu ph¸t qua kªnh th«ng tin ®Õn ch¬ng tr×nh øng dông ®Çu thu.
RST: KÕt nèi song song h÷u hiÖu.
SYN: BiÓu thÞ c¸c sè thø tù sÏ ®ång bé, chØ râ b¾t ®Çu kÕt nèi.
FIN: BiÓu thÞ m¸y tÝnh ®Çu ph¸t ®· kh«ng cßn sè liÖu ®Ó ph¸t. DÊu hiÖu nµy dïng ®Ó ng¾t mét cuéc kÕt nèi.
- Cöa sæ-16 bit : Dïng ®Ó th«ng b¸o ®é to, nhá cña vïng tÝn hiÖu ®Öm t¹i ®Çu thu.
- Tæng kiÓm tra : Dïng ®Ó kiÓm nghiÖm mét ®o¹n byte hoµn chØnh cña luång sè liÖu.
- M· chØ thÞ khÈn : Lµ m· chØ thÞ kho¶ng c¸ch cña sè thø tù, dïng ®Ó chØ râ bÊt kú th«ng tin khÈn cÊp nµo ®ã b¾t ®Çu.
- Tuú chän : Dïng ®Ó x¸c lËp mét môc trong nhãm môc tuú chän.
- Bæ sung : Lµ mét vµi sè 0 ngoµi ph¹m vi (bæ sung theo yªu cÇu) ®Ó ®¶m b¶o sè liÖu b¾t ®Çu tõ gi¸p danh cña mét sè cã 32 bit.
- Sè liÖu : T¶i h÷u hiÖu cña luång sè liÖu nµy.
2. Giao thøc gãi d÷ liÖu thuª bao (UDP):
So s¸nh víi IP, UDP còng lµ giao thøc kh«ng tin cËy, kh«ng kÕt nèi, kh¸c nhau ë chç UDP lµ giao thøc ë trªn líp Internet, nã cung cÊp cæng giao thøc UDP, cã thÓ ®¶m b¶o th«ng tin gi÷a c¸c tiÕn tr×nh cña ch¬ng tr×nh øng dông. Gièng nhau ë chç nÕu so s¸nh víi TCP phôc vô kÕt nèi cña líp truyÒn dÉn th× UDP lµ mét lo¹i giao thøc kh«ng kÕt nèi, chøc n¨ng kiÓm tra lçi cña nã rÊt bÐ. Cã thÓ nãi, TCP cã lîi cho viÖc cung cÊp ®é tin cËy, cßn UDP th× cã lîi cho viÖc n©ng cao tèc ®é truyÒn dÉn, vÝ dô: CÇn hç trî cho ch¬ng tr×nh øng dông héi tho¹i t¬ng t¸c (nh Telnet, FTP…) th× sö dông giao thøc TCP, cßn ch¬ng tr×nh øng dông tù kiÓm tra lçi hoÆc kh«ng cÇn kiÓm tra lçi (nh DNS, SNMP…) th× sö dông UDP.
* Khu«n d¹ng th«ng tin sè liÖu UDP:
T¸c dông chñ yÕu cña phÇn mÒm giao thøc UDP lµ triÓn khai th«ng tin UDP trªn líp øng dông, nã kh«ng phô tr¸ch ph¸t l¹i th«ng tin sè liÖu bÞ thÊt l¹c hoÆc cã lçi, kh«ng s¾p xÕp l¹i datagram IP thu nhËn ®îc mµ kh«ng cã sè thø tù, kh«ng lo¹i bá datagram IP trïng lÆp, kh«ng x¸c nhËn datagram ®· nhËn ®îc, còng kh«ng phô tr¸ch thiÕt lËp hoÆc kÕt thóc kÕt nèi. Cã thÓ thÊy b¶n th©n phÇn mÒm giao thøc UDP lµm rÊt Ýt viÖc, do vËy khu«n d¹ng th«ng tin UDP rÊt ®¬n gi¶n nh h×nh vÏ sau ®©y:
0
15 16
31
Cæng ph¸t
Cæng ®Ých
§é dµi
Tæng kiÓm tra
T¶i h÷u hiÖu cña th«ng tin sè hiÖu UDP
H×nh II.4 : Khu«n d¹ng th«ng tin sè liÖu UDP.
Tuy nãi UDP lµ giao thøc kh«ng kiÓm tra lçi, nhng trªn thùc tÕ UDP vÉn cã thÓ thùc hiÖn viÖc kiÓm tra lçi c¬ b¶n. Do ®ã, ta cã thÓ coi UDP nh giao thøc cã chøc n¨ng kiÓm tra lçi. Trªn (h×nh 4), cã thÓ thÊy th«ng tin UDP cã mét ®o¹n byte tæng kiÓm tra, m¸y tÝnh ®Çu thu cã thÓ sö dông sè liÖu nµy ®Ó kiÓm tra ®é hoµn chØnh cña sè liÖu. Ngoµi ra, th«ng tin UDP cßn cã thÓ bao hµm mét mµo ®Çu th«ng tin gi¶ (gåm ®Þa chØ ®Ých), cã thÓ kiÓm tra th«ng tin UDP ph¸t sai ®Þa chØ.
II.3 C¸c dÞch vô trªn Internet:
Cïng víi TCP/IP c¸c chuÈn cho tÇng øng dông còng ®îc ph¸t triÓn vµ ngµy cµng phæ biÕn trªn Internet. C¸c øng dông cã sím nhÊt lµ : Telnet, FTP, SMTP vµ DNS ®· trë thµnh nh÷ng dÞch vô th«ng tin quen thuéc víi ngêi sö dông Internet. Víi sù ph¸t triÓn cña c«ng nghÖ th«ng tin vµ nhu cÇu ph¸t triÓn cña x· héi, danh s¸ch c¸c dÞch vô th«ng tin trªn Internet ®ang ngµy cµng mét dµi thªm víi sù ®ãng gãp s¶n phÈm cña nhµ cung cÊp dÞch vô kh¸c nhau. Díi ®©y lµ mét sè dÞch vô ®iÓn h×nh nhÊt.
II.3.1 DÞch vô tªn miÒn (DNS):
HÖ thèng DNS (Domain name system) lµ mét ph¬ng ph¸p qu¶n lý c¸c tªn b»ng c¸ch giao tr¸ch nhiÖm ph©n cÊp cho c¸c nhãm tªn. Mçi cÊp trong hÖ thèng ®îc gäi lµ mét miÒn (domain), c¸c miÒn ®îc t¸ch nhau bëi dÊu chÊm. Sè lîng domain trong mét tªn cã thÓ thay ®æi, thêng cã nhiÒu nhÊt lµ 5 domain. Domain name cã d¹ng tæng qu¸t lµ: Local-part @ domain name. Trong ®ã: Local - part thêng lµ tªn cña mét ngêi sö dông hay mét nhãm ngêi sö dông do ngêi qu¶n lý m¹ng néi bé quy ®Þnh; Cßn Domain name ®îc g¸n bëi c¸c trung t©m th«ng tin m¹ng (NTC) c¸c cÊp. Domain cÊp cao nhÊt lµ cÊp quèc gia, mçi quèc gia ®îc g¸n mét tªn miÒn riªng gåm 2 ch÷ c¸i VD: US (mü), VN (ViÖt Nam)…Trong tõng quèc gia l¹i ®îc chia thµnh 6 Domain cÊp cao nhÊt vµ tiÕp tôc ®i xuèng c¸c cÊp thÊp h¬n.
VN
gov edu com mil org net
hut
fit
Domain
Ph¹m vi sö dông
gov
C¸c tæ chøc chÝnh phñ (phi qu©n sù)
edu
C¸c c¬ së gi¸o dôc
com
C¸c tæ chøc kinh doanh ,th¬ng m¹i
mil
C¸c tæ chøc qu©n sù
org
C¸c tæ chøc kh¸c
net
C¸c tµi nguyªn m¹ng
H×nh II.5 Ph©n cÊp domain name ®iÓn h×nh.
Mçi miÒn cã thÓ t._. taûi veà trình duyeät Web vaø ñöôïc thöïc hieän thoâng qua moät cô caáu goïi laø Java Virtual Machine (JVM) ñaõ ñöôïc caøi saün trong trình duyeät .
Hoaït ñoäng cuûa Java Application :
Java Application (Java App) laø nhöõng öùng duïng ñoäc laäp, töông töï nhö nhöõng chöông trình coù ñuoâi .EXE hay ñuoâi .COM thoâng thöôøng . Vieäc thöïc hieän Java App ñôn giaûn hôn Java Applet vì chuùng khoâng phaûi thoâng qua trình duyeät Web .
Java Virtual Machine (JVM )
JVM ñoùng vai troø raát quan troïng ñeå caùc öùng duïng Java coù theå thöïc hieän ñöôïc . Noù hoaït ñoäng nhö moät maùy tính aûo, cuõng coù boä leänh, caáu truùc döõ lieäu, boä nhô ù... Khi öùng döïng Java thöïc hieän ( sau khi dòch, caùc öùng duïng Java coù phaàn môû roäng laø class ), JVM tieán haønh phaân maõ trong class ñoù thaønh boä leänh cuûa JVM roài thöïc hieän gioáng nhö maùy PC thao taùc vôùi caùc öùng duïng thoâng thöôøng . Do ñoù caùc class sau khi dòch coù theå ñöôïc thöïc hieän treân baát kyø heä ñieàu haønh naøo thoâng qua maùy tính aûo JVM .
Bôûi vaäy, caùc class sau khi dòch coù theå ñöôïc thöïc hieän treân baát kyø heä ñieàu haønh naøo thoâng qua maùy tính aûo JVM .
Hieän taïi, JVM ñöôïc xaây döïng cho haàu heát caùc heä ñieàu haønh vaø heä xöû lyù hieän coù, ñieàu naøy coù nghóa laø caùc öùng duïng vieát baèng Java coù ñaày ñuû ñieàu kieän ñeå phaùt trieån .
Do phaûi hoaït ñoäng thoâng qua maùy tính aûo JVM neân toác ñoä thöïc hieän öùng duïng cuûa Java khaù chaäm
Treân thò tröôøng hieän nay coù nhieàu boä coâng cuï laäp trình cho Java : Java Workshop cuûa Sun Microsystems, Visual J cuûa Microsoft, Symantec Cafe cuûa Symantec … Taát caû ñeàu coù ñieåm chung laø hoã trôï toái ña cho ngöôøi laäp trình . ÔÛ luaän aùn toát nghieäp naøy chuùng em ñaõ söû duïng Symantec Cafe phieân baûn 1.8 ñeå vieát chöông trình naøy . Symantec Cafe 1.8 laø moät coâng cuï laäp trình Java cuûa haõng Symantec, tuy laø moät phieân baûn cuõ nhöng noù vaãn hoå trôï toát cho vieäc laäp trình Java .
Java Applet
Browser
Operating System
( OS )
PC coù caøi Browser
H×nh vÏ – Hoaït ñoäng cuûa Java Applet
Java Virtual Machine
(JVM)
IV.2 Java lµ ng«n ng÷ híng ®èi tîng:
Java ®Ò cËp ®Õn líp vµ híng ®èi tîng, thËt râ rµng vµ ®¬n gi¶n. Chóng kh«ng chØ cã nhiÒu cÊu tróc d÷ liÖu kh¶ dông cho ngêi lËp tr×nh mµ cßn lµ c¬ së cho ng«n ng÷ lËp tr×nh toµn diÖn.
Trong C++ b¹n dÔ dµng khai b¸o mét líp kh«ng b¾t buéc. Thay v× vËy b¹n cã thÓ khai b¸o mét cÊu tróc mét hîp nhÊt (union). B¹n khai b¸o mét côm biÕn phèi hîp láng lÎo vµ dïng chóng víi c¸c hµm kiÓu C. Trong Java, líp vµ ®èi tîng lµ trung t©m cña ng«n ng÷. Nh÷ng thø kh¸c ph¸t triÓn xung quanh chóng. B¹n kh«ng thÓ khai b¸o c¸c hµm vµ thñ tôc. Chóng kh«ng tån t¹i. B¹n còng kh«ng thÓ dïng cÊu tróc, hîp nhÊt (union) hoÆc ®Þnh nghÜa tríc (typedefs). Chóng ®· bÞ lo¹i bá. HoÆc lµ b¹n dïng líp vµ ®èi tîng hoÆc lµ b¹n kh«ng dïng Java. §¬n gi¶n chØ cã vËy.
Java còng cung cÊp mäi thø ®Ó lËp tr×nh híng ®èi tîng: CÊu tróc ph©n tÇng cho líp, sù thõa kÕ, ®ãng gãi vµ tÝnh ®a h×nh. Trong mét ph¹m vi nµo ®ã nã thËt sù h÷u dông vµ hiÖu qu¶. Lý do chÝnh cho viÖc ph¸t triÓn phÇn mÒm híng ®èi tîng, bªn c¹nh tÝnh râ rµng vµ ®¬n gi¶n, lµ nh÷ng ®èi tîng b¹n ph¸t triÓn sÏ ®îc dõng l¹i. Java kh«ng chØ khuyÕn khÝch mµ cßn yªu cÇu dïng l¹i phÇn mÒm. Khi viÕt bÊt kú ch¬ng tr×nh nµo b»ng Java, cho dÉu cã ®¬n gi¶n, b¹n còng ph¶i x©y dùng trªn nh÷ng líp vµ ph¬ng thøc cña Java API.
Mét khi ®· b¾t ®Çu ph¸t triÓn phÇn mÒm b»ng Java, b¹n cã hai c¸ch lùa chän:
* X©y dùng trªn nh÷ng líp b¹n ®· ph¸t triÓn, b»ng c¸ch Êy cã thÓ dïng l¹i chóng.
* ViÕt l¹i tõ ®Çu phÇn mÒm cña b¹n, sao chÐp vµ söa ®æi nh÷ng thµnh phÇn h÷u dông cña phÇn mÒm ®ang tån t¹i.
CÊu tróc híng ®èi tîng cña Java gióp b¹n ph¸t triÓn nh÷ng phÇn mÒm h÷u dông h¬n, cã tÝnh kÕt nèi h¬n vµ ®¬n gi¶n h¬n.
.1 Líp vµ ®èi tîng:
A- Nh÷ng kh¸i niÖm cña lËp tr×nh híng ®èi tîng.
NhiÒu n¨m qua khi ®iÖn to¸n ra ®êi, con ngêi ®· nghiªn cøu c¸c gi¶i ph¸p ph¸t triÓn phÇn mÒm hÇu nh t×m ra nh÷ng gi¶i ph¸p nhanh nhÊt, vµ s¶n xuÊt ra nh÷ng, rÎ nhÊt, ®¸ng tin cËy nhÊt, vµ s¶n xuÊt ra phÇn mÒm tèt nhÊt. Vµ nhiÒu n¨m sau, kh«ng Ýt nh÷ng gi¶i ph¸p vµ c«ng nghÖ ®· ®îc xem lµ tèi u. Thêi gian qua, chóng ta ®· lµm quen víi viÖc ph¸t triÓn phÇn mÒm vµ cã thÓ söa ch÷a còng nh thÝch nghi víi gi¶i ph¸p ®· nghiªn cøu. Lo¹i phÇn mÒm chóng ta ®ang dïng còng thay ®æi theo do ®· c¶i tiÕn phÇn cøng, do ®æi míi trong tËp tin häc vµ kh¶ n¨ng cña ngêi dïng. Nh÷ng tiÕn bé nµy còng ¶nh hëng ®Õn c¸c gi¶i ph¸p ph¸t triÓn phÇn mÒm.
Trong tÊt c¶ gi¶i ph¸p ph¸t triÓn phÇn mÒm næi tiÕng, gi¶i ph¸p híng ®èi tîng ®· ®îc chøng minh lµ gi¶i ph¸p tèt nhÊt cho nh÷ng øng dông phÇn mÒm th«ng dông. Cã thÓ gi¶i ph¸p híng ®èi tîng sÏ tr¶i qua mét qu¸ tr×nh tiÕn ho¸ vµ m« h×nh ph¸t triÓn phÇn mÒm ®îc c¶i tiÕn sÏ x¶y ra. Nhng hiÖn nay, vµ trong t¬ng lai, ®ã lµ mét gi¶i ph¸p tèi u cho phÇn mÒm mµ chóng ta ®ang ph¸t triÓn.
LËp tr×nh híng ®èi tîng tËp trung vµo ph¸t triÓn nh÷ng thµnh phÇn phÇn mÒm ®éc lËp, gäi lµ ®èi tîng (object). Nh÷ng ®èi tîng nµy ®îc lËp m« h×nh theo mäi thø nh tËp tin, mÉu biÓu, nót nhÊn, vµ c¸c cöa sæ cã trong thÕ giíi thùc. Nh÷ng ®èi tîng ®îc ®Þnh nghÜa trong mét giíi h¹n th«ng tin mµ chóng chøa ®ùng vµ nh÷ng ho¹t ®éng mµ chóng cung cÊp ®Ó sö dông vµ tÝnh to¸n nh÷ng th«ng tin nµy.
1- ThÕ giíi híng ®èi tîng:
TËp s¸ch lµ mét ®èi tîng, chøa nhiÒu th«ng tin (nÕu b¹n kh«ng tin, b¹n thö nhËp l¹i toµn bé tËp s¸ch xem). S¸ch còng cã nh÷ng "ph¬ng thøc" truy cËp th«ng tin. VÝ dô b¹n cã thÓ lËt s¸ch ra, më mét trang, ®äc mét ®o¹n, t×m môc lôc, vµ cø thÕ. Nh÷ng th«ng tin trong s¸ch, cïng víi nh÷ng "ph¬ng thøc" ®äc s¸ch nh trªn, ®Òu bao gåm bªn trong ®èi tîng lµ quyÓn s¸ch.
§Ó ®äc s¸ch nµy, b¹n cÇn ¸nh s¸ng. B¹n cã thÓ ®äc díi ¸nh mÆt trêi hoÆc díi ¸nh tr¨ng, nhng gi¶ sö b¹n dïng ®Ìn. §Ìn còng lµ mét ®èi tîng. §ã lµ vÝ dô vÒ mét ®èi tîng chøa th«ng tin tr¹ng th¸i. Tr¹ng th¸i (state) cña mét ®èi tîng lµ ®iÒu kiÖn ®Æc thï. VÝ dô, ngän ®Ìn cã thÓ bËt hoÆc t¾t, cßn nh÷ng ph¬ng thøc lµ bËt ®Ìn vµ t¾t ®Ìn th× dïng ®Ó truy cËp ®Õn tr¹ng th¸i cña ®Ìn.
TËp s¸ch nµy còng nh vËy, cã th«ng tin tr¹ng th¸i. VÝ dô, cã thÓ më hoÆc gÊp s¸ch l¹i. NÕu s¸ch më, cã thÓ më ®Õn mét trang riªng. Trang s¸ch lµ ®èi tîng, chóng chøa th«ng tin vµ cã thÓ truy cËp th«ng tin qua ph¬ng thøc ®äc s¸ch. §èi tîng s¸ch xem cung cÊp c¸ch truy cËp ®Õn trang, vµ ph¬ng thøc cña trang th× truy cËp ®Õn th«ng tin chøa trong trang ®ã.
Th«ng tin chøa trong mét ®èi tîng, dï cho tr¹ng th¸i x¸c ®Þnh hay kh«ng, ®îc tham chiÕu ®Õn díi d¹ng d÷ liÖu (data) cña ®èi tîng. Nh÷ng ph¬ng thøc cña ®èi tîng ®îc yªu cÇu truy cËp d÷ liÖu. Mét vµi ph¬ng thøc tr¶ vÒ th«ng tin lµ d÷ liÖu cña ®èi tîng vµ ®îc yªu cÇu hç trî read access. Nh÷ng ph¬ng thøc kh¸c lµm cho d÷ liÖu ®îc söa ®æi vµ ®îc yªu cÇu cung cÊp write access cho d÷ liÖu.
2. Líp:
Lóc nµy, cã lÏ b¹n ®ang tù hái lµm sao ph¸t triÓn ®èi tîng. C©u tr¶ lêi dÜ nhiªn tuú thuéc vµo ng«n ng÷ b¹n ®ang sö dông .Java. C++. SmallTalk, vµ mét sè ng«n ng÷ híng ®èi tîng kh¸c tu©n thñ gi¶i ph¸p dùa vµo líp. Gi¶i ph¸p nµy cho phÐp b¹n khai b¸o líp (class) dïng lµm khu©n mÉu tõ nh÷ng ®èi tîng t¹o ra.
§óng nh b¹n mong ®îi, líp ®Þnh nghÜa kiÓu d÷ liÖu vµ nh÷ng ph¬ng thøc dïng ®Ó truy cËp d÷ liÖu cña ®èi tîng. Líp còng ®Þnh nghÜa mét hoÆc nhiÒu ph¬ng thøc dïng ®Ó t¹o ®èi tîng lµ thùc thÓ (instance) cña líp. Mét thùc thÓ cña líp lµ biÓu hiÖn cô thÓ cña líp trong bé nhí m¸y tÝnh.
VÝ dô, h·y xem mÉu ®¬n xin viÖc lµm lµ mét ®èi tîng. §èi tîng nµy cã d÷ liÖu lµ nh÷ng trêng cÇn ®îc ®iÒn vµo, vµ c¸c ph¬ng thøc ®Ó truy cËp d÷ liÖu nh ghi vµo ®¬n vµ ®äc ®¬n. Gi¶ sö b¹n ph¸t triÓn mét mÉu ®¬n ®Ó cho ngêi xin viÖc sö dông. Khi xem qu¶ng c¸o, 100 ngêi xin viÖc sÏ ®¨ng ký. §Ó ngêi xin viÖc cã thÓ sö dông mÉu ®¬n, hä ph¶i ®îc cung cÊp mét thùc thÓ duy nhÊt cña ®¬n. Nh÷ng thÓ nµy t¹o ra b»ng c¸ch dïng mÉu ®¬n b¹n ®· ph¸t triÓn lµm b¶n chÝnh råi sao chÐp t¹o ra nhiÒu thùc thÓ. Nh÷ng ngêi xin viÖc sau ®ã sÏ ®iÒn vµo nh÷ng thùc thÓ cña hä b»ng c¸ch dïng ph¬ng thøc ghi vµo ®¬n.
Trong vÝ dô tríc ®©y, mÉu chÝnh t¬ng tù mét líp. MÉu chÝnh ®Þnh nghÜa dù liÖu cã bªn trong mçi thùc thÓ cña nã vµ nh÷ng ph¬ng thøc truy cËp d÷ liÖu. T¬ng tù, líp ®Þnh nghÜa d÷ liÖu chøa bªn trong ®èi tîng còng nh ®Þnh nghÜa ph¬ng thøc dïng ®Ó truy cËp d÷ liÖu ®ã.
4.6 Moâ hình client/server:
4.6.1 Giao tiÕp trªn m¹ng theo m« h×nh kh¸ch/chñ (Client/server):
Giao tiÕp theo m« h×nh kh¸ch/chñ (Client/server)
Cã rÊt nhiÒu dÞch vô hç trî trªn Internet nh E-mail, nhãm tin (newsgruop), chuyÓn tËp tin (file transfer), ®¨ng nhËp tõ xa (remotelogin), truy t×m c¸c trang Web…Nhng dÞch vô nµy ®îc tæ chøc vµ kiÕn tróc theo m« h×nh kh¸ch/chñ (m« h×nh Client/server). C¸c ch¬ng tr×nh ë m¸y kh¸ch (Client) nh tr×nh duyÖt (Web browser) hay ch¬ng tr×nh göi nhËn E-mail sÏ t¹o ra kÕt nèi (connection) víi mét m¸y chñ ë xa (server) sau ®ã göi c¸c yªu cÇu ®Õn m¸y chñ nh Web server hay Mail Server… sÏ xö lý nh÷ng yªu cÇu nµy vµ göi tr¶ kÕt qu¶ ngîc vÒ cho m¸y kh¸ch (ch¼ng h¹n Web server sÏ truy t×m vµ tr¶ vÒ cho m¸y kh¸ch c¸c trang Web theo ®Þa chØ mµ m¸y kh¸ch ®a ®Õn cßn Mail server th× lu gi÷ vµ tr¶ vÒ cho m¸y kh¸ch nh÷ng bøc E-mail míi). Th«ng thêng mét dÞch vô trªn m¸y chñ phôc vô cho rÊt nhiÒu m¸y kh¸ch.
A. Socket
Socket lµ g×?
Socket lµ phÇn mÒm ®iÓm cuèi (end point) thiÕt lËp hai chiÒu trùc tuyÕn gi÷a ch¬ng tr×nh server v¬i mét hoÆc nhiÒu ch¬ng tr×nh Client. Socket liªn kÕt ch¬ng tr×nh Server víi mét cæng phÇn cøng cô thÓ trªn m¸y nã ch¹y. Nh vËy bÊt cø mét ch¬ng tr×nh Client ë mét n¬i nµo ®ã trong m¹ng ë mét Socket ®îc kÕt nèi víi mét æ ®ã ®Òu cã thÓ liªn l¹c ®îc víi ch¬ng tr×nh Server. Mét ch¬ng tr×nh Server sÏ cung cÊp cho c¸c ch¬ng tr×nh Client trªn m¹ng.
4.7 X©y dùng c¸c ch¬ng tr×nh ë m¸y kh¸ch (Client).
4.7.1 C¸c ch¬ng tr×nh ch¹y trªn m¸y kh¸ch (Client)
Khi thiÕt kÕ m« h×nh theo m« h×nh kh¸ch/chñ th«ng thêng ta ph©n chia lµm hai phÇn, mét phÇn lµ ch¬ng tr×nh viÕt ch¹y trªn m¸y chñ (nh EchoServer hay ExchangeRateServer) cßn mét phÇn lµ ch¬ng tr×nh viÕt ch¹y trªn m¸y kh¸ch (nh EchoClient hay ExchangRateTable). C¸c ch¬ng tr×nh ë m¸y kh¸ch nh×n chung thùc hiÖn nh÷ng nhiÖm vô sau:
+ KÕt nèi víi m¸y chñ
+ NhËn d÷ liÖu hay yªu cÇu do ngêi dïng nhËp vµo tõ bªn ngoµi.
+ Göi d÷ liÖu hay yªu cÇu ®Õn m¸y chñ ®Ó xö lý.
+ Tr×nh bµy kÕt qu¶ vÒ tõ m¸y chñ cho ngêi xem.
C¸c ch¬ng tr×nh thùc hiÖn nh÷ng t¸c vô nµy ë m¸y kh¸ch rÊt ®a d¹ng. Cã thÓ kÓ mét sè lo¹i øng dông tiªu biÓu sau:
* C¸c ch¬ng tr×nh ®äc vµ göi E-mail: T¹o ®iÒu kiÖn cho ngêi dïng göi vµ nhËn E-mail. So¹n th¶o E-mail tríc khi göi ®i, lÊy c¸c bøc E-mail vÒ tõ m¸y chñ vµ cho xem néi dung cña nã, qu¶n lý c¸c bøc E-mail theo ngµy th¸ng … C¸c ch¬ng tr×nh göi nhËn mail næi tiÕng h×nh nh : trªn Windows cã Edora, Outlook, trªn hÖ UNIX cã Pine, Elm, mh …
* Tr×nh duyÖt (Web browser) : Dïng truy t×m vµ ®äc c¸c trang Web trªn m¹ng. §Þa chØ trang Web sÏ ®îc c¸c tr×nh duyÖt göi ®Õn m¸y chñ vµ m¸y chñ vµ m¸y chñ sÏ göi tr¶ vÒ néi dung trang Web bao gåm c¸c d÷ liÖu nh v¨n b¶n, h×nh ¶nh, ©m thanh… Tr×nh duyÖt sÏ chÞu tr¸ch nhiÖm tr×nh bµy kÕt qu¶ trang Web ra mµn h×nh víi nh÷ng lo¹i d÷ liÖu nhËn ®îc nµy. C¸c tr×nh duyÖt ®iÓn h×nh nh Internet Explorer, Netscape Navigator ®Òu hç trî ch¹y trªn Windows, UNIX, Macintosh vµ c¸c hÖ thèng kh¸c.
* Ch¬ng tr×nh truyÒn tÖp tin FTP : Hç trî viÖc sao chÐp tËp tin trªn m¹ng, tËp tin cã thÓ ®îc chÐp vÒ hay chuyÓn lªn mét m¸y chñ nµo ®ã nhê vµo ch¬ng tr×nh giao tiÕp víi m¸y chñ FTP. Thêng th× nh÷ng ch¬ng tr×nh nµy sö dông c¸c lÖnh c¬ b¶n nh get ®Ó lÊy tËp tin vÒ send ®Ó göi tËp tin ®i. Ch¬ng tr×nh FTP theo giao diÖn Windows næi tiÕng hiÖn nay cã WS FTP.
* Ch¬ng tr×nh tæ chøc nhãm tin (News group) : Hç trî cho viÖc th¶o luËn, trao ®æi th¶o luËn vµ gi¶i quyÕt vÒ mét vÊn ®Ò nµo ®ã trong nhãm. HiÖn cã rÊt nhiÒu ch¬ng tr×nh phôc vô cho môc ®Ých nµy dµnh cho ®ñ lo¹i hÖ ®iÒu hµnh nh Windows, UNIX, Macintosh …
* Ch¬ng tr×nh Telnet dïng ®¨ng nhËp vµ truy xuÊt tõ xa: Mét vµi hÖ thèng cho phÐp ®¨ng nhËp vµ xö lý tËp tin tõ xa nh hÖ UNIX ch¼ng h¹n. HÖ ®iÒu hµnh UNIX hç trî mét ch¬ng tr×nh Telnet ch¹y trªn m¸y chñ cã thÓ kÕt nèi víi m¸y kh¸ch ®Ó xö lý vµ ch¹y c¸c lÖnh UNIX y nh ®ang ngåi trªn m¸y chñ vËy. PhÇn sau ta sÏ thiÕt kÕ mét ch¬ng tr×nh Telnet ë m¸y kh¸ch thùc hiÖn ®îc kh¶ n¨ng nµy.
Mét vµi øng dông gép chung c¸c chøc n¨ng nµy l¹i nh Netscape Comminicator tÝch hîp võa tr×nh duyÖt, göi nhËn E-mail, nhãm tin …
Díi ®©y ta sÏ x©y dùng mét sè ch¬ng tr×nh Java minh ho¹ cho c¸ch lµm viÖc cña c¸c øng dông trªn m¸y kh¸ch.
4.8 X©y dùng c¸c ch¬ng tr×nh ë m¸y chñ (Server):
C¸c ch¬ng tr×nh thiÕt kÕ ch¹y trªn m¸y chñ thêng ph¶i l¾ng nghe c¸c kÕt nèi tõ m¸y kh¸ch göi ®Õn. TiÕp nhËn nh÷ng yªu cÇu tõ phÝa m¸y kh¸ch sau ®ã xö lý vµ göi tr¶ kÕt qu¶ vÒ cho m¸y kh¸ch. Nh vËy ch¬ng tr×nh ë m¸y chñ ®ãng vai trß nh mét dÞch vô (service) phôc vô cho m¸y kh¸ch. Cã rÊt nhiÒu lo¹i dÞch vô trªn m¸y chñ ®iÓn h×nh gåm cã:
* E-mail server: Cung cÊp dÞch vô E-mail, c¸c bøc E-mail do m¸y kh¸ch göi ®i sÏ ®îc ch¬ng tr×nh mail server ë m¸y chñ qu¶n lý lu gi÷ t¹m thêi vµ dß t×m ®Þa chØ ®Ó göi ®îc E-mail ®Õn ®Ých.
* Web server: Cung cÊp dÞch vô dß t×m trang Web trªn m¸y chñ. Khi m¸y kh¸ch yªu cÇu lÊy vÒ mét trang Web (thêng yªu cÇu nµy do c¸c tr×nh duyÖt browser göi ®Õn) ch¬ng tr×nh Web server sÏ ®äc néi dung trang Web vµ göi toµn bé vÒ cho m¸y kh¸ch (tríc khi göi ®i cã thÓ thùc hiÖn mét sè thao t¸c biÕn ®æi kh¸c nh th«ng qua c¸c ch¬ng tr×nh CGI hay Active Server Page …).
* FTP server: T¬ng øng víi ch¬ng tr×nh FTP ë m¸y kh¸ch, m¸y chñ còng ph¶i cã mét ch¬ng tr×nh FTP server ®Ó kÕt nèi vµ nhËn hay truyÒn tËp tin vÒ cho m¸y kh¸ch.
* DNS server (Domain Name System server): M¸y chñ qu¶n lý tªn vïng. Thêng muèn truy cËp c¸c m¸y chñ kh¸c ta ph¶i biÕt ®Þa chØ IP cña nã hoÆc tªn mµ m¸y chñ ®îc ®Æt. NÕu cã kh¶ n¨ng lu vµ qu¶n lý næi ta cã thÓ chøa tÊt c¶ c¸c ®Þa chØ IP vµ tªn t¬ng øng cña nã trªn mµn h×nh (ch¼ng h¹n lu trong tËp tin hosts). ThÕ nhng nÕu cã qu¸ nhiÒu ®Þa chØ ta cã thÓ nhê mét m¸y chñ kh¸c qu¶n lý tÊt c¶ nh÷ng ®Þa chØ nµy. Nh vËy chØ cÇn nhí ®Þa chØ cña m¸y chñ DNS, khi cã mét tªn m¸y cÇn x¸c minh ®Þa chØ IP hÖ thèng sÏ tù ®éng t×m ®Õn m¸y chñ DNS ®Ó lÊy vÒ ®Þa chØ IP thùc sù ®i kÌm víi tªn.
* Telnet server: Thêng ch¹y trªn c¸c hÖ hç trî ®a ngêi dïng nh UNIX, VMS… (Windows kh«ng hç trî c¸ch ®¨ng nhËp vµ xö lý tõ xa kiÓu Telnet). Telnet server ®îc dïng ®Ó trao ®æi víi ch¬ng tr×nh Telnet ch¹y ë m¸y kh¸ch. Nã khiÕn ngêi dïng phÝa m¸y kh¸ch cã c¶m tëng nh ®ang t¬ng t¸c vµ xö lý trùc tiÕp trªn hÖ thèng m¸y chñ.
* Díi ®©y ta sÏ x©y dùng mét ch¬ng tr×nh kh¸ næi tiÕng cã tªn lµ Webserver. Ch¬ng tr×nh ch¹y trªn m¸y chñ vµ cã thÓ tr¶ vÒ bÊt cø trang Web nµo mµ m¸y kh¸ch yªu cÇu (t¬ng tù nh ch¬ng tr×nh Personal Windows 95 hay NT Webserver cña Windows NT). Mét tr×nh duyÖt browser thùc thô nh Internet Explorer ch¼ng h¹n sÏ liªn l¹c ®îc víi ch¬ng tr×nh Webserver cña ta vµ lÊy vÒ trang Web víi ®Çy ®ñ h×nh ¶nh, ©m thanh, ®Þnh d¹ng v¨n b¶n … (ch¬ng tr×nh Webserver hoµn toµn cã thÓ thö nghiÖm ®îc trªn mét m¸y hoÆc nhiÒu m¸y trong hÖ thèng m¹ng côc bé)
4.8.1 ThiÕt kÕ ch¬ng tr×nh Webserver
ViÖc x©y dùng ch¬ng tr×nh Webserver còng dùa trªn m« h×nh kh¸ch/chñ mµ ta ®· lµm quen tríc ®©y. Webserver lµ ch¬ng tr×nh ch¹y trªn m¸y chñ cho nã còng cÇn thùc hiÖn mét sè bíc c¬ b¶n nh lµ t¹o socket vµ l¾ng nghe c¸c kÕt nèi suÊt ph¸t tõ phÝa m¸y kh¸ch, nÕu cã kÕt nèi th× xö lý b»ng c¸ch ®äc tËp tin .html cña trang Web vµ göi néi dung trang Web vÒ m¸y kh¸ch sau ®ã th× ®ãng kÕt nèi l¹i. Toµn bé ch¬ng tr×nh Webserver cña ta sÏ ®îc x©y dùng tõ nh÷ng líp sau:
- JavaWebServer
Líp ch¬ng tr×nh chÝnh.
- JavaWebServerThread
Líp xö lý tõng kÕt nèi riªng biÖt tõ phÝa m¸y kh¸ch.
- RequesData
Líp tiÕp nhËn vµ xö lý c¸c yªu cÇu do m¸y kh¸ch ®a ®Õn
- ServerInputStream
Líp xö lý luång nhËp dïng ®Ó ®äc d÷ liÖu do m¸y kh¸ch göi ®Õn
- ServerOutputStream
Líp xö lý luång xuÊt dïng ®Ó göi d÷ liÖu (hay néi dung trang Web) vÒ cho m¸y kh¸ch.
- ServerConfiguration
Líp nµy ®äc vµ xö lý c¸c thiÕt bÞ lËp cÊu h×nh cÇn thiÕt cho ch¬ng tr×nh Webserver.
Logger
Líp nµy dïng ®Ó kÕt xuÊt th«ng b¸o ra mµn h×nh hoÆc ra m¸y tËp tin.
Díi ®©y ta sÏ x©y dùng dÇn dÇn c¸c líp cÇn thiÕt cho ch¬ng tr×nh JavaWebserver vµ sau ®ã sÏ kÕt hîp chóng l¹i nh mét ch¬ng tr×nh duy nhÊt.
§Ó dÔ qu¶n lý h·y t¹o thªm th môc con C:\Network\Webserver, tÊt c¶ c¸c líp ®îc thiÕt kÕ díi ®©y sÏ ®îc lu tr÷ vµ biªn dÞch trong th môc nµy.
1. X©y dùng líp Logger
Trong qu¸ tr×nh giao tiÕp víi m¸y kh¸ch ch¬ng tr×nh Webserver cña ta cã nhu cÇu thêng xuyªn ph¶i xuÊt ra c¸c th«ng b¸o ®Ó theo dâi kÕt qu¶ vµ ngµy giê thùc hiÖn nh÷ng giao dÞch víi m¸y kh¸ch. Líp Logger cung cÊp hai ph¬ng thøc chÝnh lµ writeMsg dïng ®Ó xuÊt ra chuçi th«ng b¸o kÌm theo ngµy th¸ng. Th«ng b¸o cã thÓ xuÊt ra tËp tin, mµn h×nh hay c¶ hai tuú cÊu h×nh mµ ta thiÕt lËp trong lóc khëi t¹o (Trong thùc tÕ c¸c ch¬ng tr×nh Webserver thËt sù thêng xuÊt ra rÊt nhiÒu th«ng tin ®Ó theo dâi nh ngµy giê kÕt nèi, ngµy giê chÊm døt, lçi trong qu¸ tr×nh truy xuÊt … tÊt c¶ nh÷ng th«ng tin nµy cùc kú quan träng ®Ó c¸c nhµ qu¶n trÞ m¹ng biÕt theo dâi vµ chuÈn ®o¸n lçi.)
VÝ dô: Logger.Java
public class Logger {
public String logFile;
public b«lean EchoLogToConsole = true;
public BufferedWriter writer = null;
// Ph¬ng thøc khëi dùng dïng c¸c th«ng sè m¹c ®Þnh
public Logger ( ) {
}
/* Ph¬ng thøc khëi dùng cho biÕt tªn tËp tin ®Ó ®a c¸c th«ng b¸o ra, Echo
cho biÕt sau khi ®· ®a th«ng b¸o vµo tËp tin xong cã cÇn hiÓn thÞ ra mµn h×nh hay kh«ng*/
public Logger (String fname, boolean Echo) {
logFile = fname;
EchoLogToConsole = Echo;
try {
Writer = new BufererdWriter (new Filewriter (fname,true));
}catch (IOException ex) { }
}
// Ph¬ng thøc nµy x©y dùng ®Ó ghi ra mét th«ng b¸o
public synchronized void writeMsg (String msg) {
writeLog (" "+msg) ;
}
// Ph¬ng thøc nµy ®Ó ghi ra mét th«ng b¸o ra tËp tin hoÆc c¶ mµn h×nh
void writeLog ( String msg) {
if (writer!=null) {
try {
writer.write (msg) ;
writer.newLine ( ) ;
write.flush ( ).
}
if (EchoLogToConsole) System.out.println (msg) ;
}
}
Biªn dich ch¬ng tr×nh:
C:/Network/Webserver>java Logger.java
2. X©y dùng líp ServerConfiguration
ThiÕt lËp cÊu h×nh ban ®Çu cho m¸y chñ còng lµ bíc kh¶ quan träng. §Ó linh ®éng ta cho phÐp cµi ®Æt c¸c th«ng sè cÊu h×nh ban ®Çu cho ch¬ng tr×nh Webserver trong tËp tin (t¬ng tù c¸c tËp tin .ini cña Windows). Líp ServerConfiguaration nµy sÏ chÞu tr¸ch nhiÖm ®äc vµ ph©n tÝch néi dung cña tËp tin cÊu h×nh. CÊu h×nh tèi thiÓu mµ ta cÇn thiÕt lËp bao gåm nh÷ng th«ng sè sau:
* serverPort: sè hiÖu cæng ®Ó c¸c m¸y kh¸ch kÕt nèi vµo.
* logFile: tªn tËp tin ®Ó xuÊt ra c¸c th«ng b¸o theo dâi.
* EchoLogToConsole: cê tr¹ng th¸i cho phÐp in th«ng b¸o ra mµn h×nh hay kh«ng.
defaultFile: tªn tËp tin html ®îc dïng lµm trang chñ mÆc ®Þnh.
* serverRoot: ®êng dÉn ®îc cäi lµ th môc gèc trªn m¸y chñ khi c¸c m¸y kh¸ch truy cËp vµo.
Khi yªu cÇu mét trang Web tõ m¸y chñ ta thêng ®¸nh vµo ®Þa chØ ®Þnh vÞ URL ch¼ng h¹n:
khi ®ã tËp tin hotnews . htm trªn m¸y chñ sÏ ®îc cµi ®Æt trong mét th môc ¸nh x¹ ®îc coi lµ th môc gèc cña m¸y chñ khi c¸c m¸y kh¸ch truy cËp vµo.
VÝ dô trªn m¸y chñ my.testing.server ta ¸nh x¹ th môc C:\Webserver\Webroot lµm th môc gèc vµ néi dung th môc nµy nh sau:
C:\Webserver\Webroot
index.htm
hotnews.htm
BEANS
newBeans.htm
JFC.htm
Th môc C: \Webserver\webroot bao gåm 2 tËp tin .html lµ index.html vµ hotnews.html (cßn ®îc coi lµ 2 trang Web) cïng víi mét th môc con BEANS bao gåm 2 tËp tin .html kh¸c lµ newBeans.html vµ JFC.htm. NÕu ®Æt tËp tin hoÆc mÆc ®Þnh (deauFile) trang Web tõ m¸y chñ vµ nhËn vÒ c¸c kÕt qu¶ nh sau:
* http ://my,testing.server
Tr¶ vÒ trang index.htm (tËp tin index.htm ®îc chØ ®Þnh lµ trang chñ)
*
Tr¶ vÒ trang index.htm
*
Tr¶ vÒ trang JFC.htm
*
Tr¶ vÒ trang newBeans.htm
TËp tin cÊu h×nh cña ta lµ mét tËp tin v¨n b¶n cã tªn lµ webserver.ini víi néi dung nh sau:
# JavaWebserver Configuration File
# Set default port to 6789 instead of using port 80
serverPort 6789
# Set the server root to C: \Network\webserver\
serverRoot C:\Network\webser\
# Set the default file to index.htm
defauFile index.htm
# Set log file to log.txt
logFile log.txt
#Disable Echo to consol
EchoLogToConsole false
Díi ®©y lµ líp ServerConfiguration dïng ®Ó ®äc vµ ph©n tÝch néi dung tËp tin cÊu h×nh cho ch¬ng tr×nh Webserver cña ta sau nµy:
3. X©y dùng líp RequestData:
§èi tîng RequestData ®îc gäi bëi líp ServerInputStream (ta sÏ thiÕt kÕ líp nµy sau) dïng ®Ó lu c¸c yªu cÇu mµ m¸y kh¸ch göi ®Õn theo ®Þnh d¹ng chuçi. RequesData cung cÊp ba ph¬ng thøc:
* isGetMethod ®Ó x¸c ®Þnh xem yªu cÇu mµ m¸y kh¸ch göi ®Õn cã ph¶i lµ muèn lÊy vÒ mét trang Web hay kh«ng (nÕu lµ yªu cÇu truy xuÊt trang Web th× dßng ®Çu tiªn cña d÷ liÖu yªu cÇu göi ®Õn ph¶i ch¸ chuçi "GET")
* getFileName dïng ®Ó lÊy vÒ tªn vµ ®êng dÉn ®Çy ®ñ trá ®Õn tËp tin trang Web mµ m¸y kh¸ch yªu cÇu.
* writeToLog dïng ®Ó xuÊt tÊt c¶ c¸c yªu cÇu cña m¸y kh¸ch ra tËp tin log dïng ®Ó theo dâi (sö dông ®èi tîng Logger ®· thiÕt kÕ tríc ®©y).
4. X©y dùng líp ServerInputStream
ServerInputStream lµ mét bé läc dïng tiÕp nhËn tÊt c¶ d÷ liÖu (hay yªu cÇu) so m¸y kh¸ch göi ®Õn vµ ®a vµo ®èi tîng RequesData. Sau nµy ta sÏ sö dông ph¬ng thøc getRequesData cña líp ServerInputStream ®Ó lÊy vÒ ®èi tîng RequestData thÓ hiÖn c¸c yªu cÇu do m¸y kh¸ch göi ®Õn.
5. X©y dùng líp ServerOutputStream
ServerOutputStream lµ mét bé läc dïng xö lý d÷ liÖu (hay néi dung trang Web) tríc khi göi tr¶ kÕt qu¶ vÒ cho m¸y kh¸ch. Ch¬ng tr×nh Webserver cña ta kh«ng lµm g× c¶ ngoµi viÖc hç ph¬ng thøc println ®Ó cã thÓ ghi d÷ liÖu göi ®i díi d¹ng tõng chuçi.
Lu ý: C¸c ch¬ng tr×nh Webserver rÊt ®a d¹ng vµ thËt ra còng kh«ng h¼n lµ m¸y kh¸ch yªu cÇu mét tËp tin html th× b¾t buéc ch¬ng tr×nh Webserver ph¶i tr¶ vÓ tËp tin html theo yªu cÇu. Nh÷ng ch¬ng tr×nh trªn m¸y chñ hiÖn nay nh Active Server Page cña Microsoft ch¼ng h¹n cung cÊp thªm kh¶ n¨ng xö lý tríc khi chuyÓn thµnh tËp tin v¨n b¶n .asp lµ h×nh thøc më réng cña tËp tin html ë d¹ng lËp tr×nh ®îc, khi tr×nh duyÖt (browser) cña m¸y kh¸ch yªu cÇu chuyÓn vÒ néi dung mét tËp tin html lµ kÕt qu¶ sau qu¸ tr×nh xö ly. Tr×nh duyÖt ë m¸y kh¸ch sÏ nhËn ®îc tËp tin html nh lµ mét trang Web b×nh thêng (chø kh«ng ph¶i tËp tin .asp nh ®· yªu cÇu).
6. X©y dùng líp JavaWebServerThread
Ch¬ng tr×nh Webserver cña ta ph¶i cã kh¶ n¨ng truy t×m vµ tr¶ vÒ trang Web cïng mét lóc cho nhiÒu m¸y kh¸ch kh¸c nhau kÕt nèi vµo. §Ó ®¹t ®îc yªu cÇu nµy ngêi ta x©y dùng líp JavaWebServerThread nh lµ mét ph©n tuyÕn (Thread) cã kh¶ n¨ng xö lý yªu cÇu cña tõng m¸y kh¸ch riªng rÏ. Khi nhËn ®îc kÕt nèi vµ yªu cÇu truy t×m trang Web tõ mét m¸y kh¸ch, ch¬ng tr×nh chÝnh sÏ giao c«ng viÖc nµy cho mét ph©n tuyÕn JavaWebServerThread chÞu tr¸ch nhiÖm xö lý vµ göi kÕt qu¶ vÒ cho m¸y kh¸ch ®· yªu cÇu.
7. X©y dùng JavaWebServer
Ch¬ng tr×nh Webserver coi nh ®· hoµn tÊt víi c¸c líp cÇn thiÕt. Díi ®©y ta sÏ kÕt hîp c¸c ®èi tîng cô thÓ tõ nh÷ng líp trªn l¹i víi nhau thµnh ch¬ng tr×nh m¹ng cña JavaWebServer ch¹y ®îc thùc thô.
Ch¬ng tr×nh chÝnh cña JavaWebserver sÏ thùc hiÖn nh÷ng c«ng viÖc sau:
* §äc vµ xö lý tËp tin cÊu h×nh nÕu cã (cßn kh«ng sÏ dïng c¸c gi¸ trÞ mÆc ®Þnh cña ®èi tîng ServerConfiguration).
* Khëi t¹o ®èi tîng ServerSocket ®Ó l¾ng nghe c¸c kÕt nèi tõ phÝa m¸y kh¸ch göi ®Õn.
* Dïng vßng lÆp liªn tôc l¾ng nghe c¸c kÕt nèi tõ m¸y kh¸ch. NÕu cã kÕt nèi x¶y ra th× t¹o mét phÇn tuyÕn JavaWebServerThread vµ giao cho nã xö lý yªu cÇu cña m¸y kh¸ch.
KÕt luËn
Sau bèn n¨m häc tËp t¹i trêng §¹i häc Më Hµ Néi, ®îc sù gióp ®ì cña c¸c thÇy c« gi¸o, ®îc sù ph©n c«ng cña nhµ trêng vµ Khoa §iÖn tö ViÔn th«ng em ®· nhËn vµ lµm ®å ¸n tèt nghiÖp víi ®Ò tµi:
"Tæng quan vÒ m¹ng m¸y tÝnh, m¹ng Internet vµ dÞch vô E-mail".
C«ng nghÖ m¸y tÝnh trªn thÕ giíi hiÖn nay ®· cã nh÷ng bíc tiÕn dµi vµ næi bËt lµ m¹ng quèc tÕ Internet cã rÊt nhiÒu níc tham gia ®¨ng ký. Víi nèi m¹ng gi÷a c¸c quèc gia lµm cho viÖc trao ®æi th«ng tin d÷ liÖu trë lªn dÔ dµng, nhanh chãng vµ kinh tÕ. ViÖt Nam cïng b¾t ®Çu cã chÝnh s¸ch cho viÖc tham gia vµo m¹ng Internet toµn cÇu, vÊn ®Ò nµy rÊt cã lîi cho viÖc ph¸t triÓn kinh tÕ.
Víi sù ph¸t triÓn cña c«ng nghÖ th«ng tin vµ nhu cÇu x· héi, danh s¸ch c¸c dÞch vô th«ng tin trªn Internet ®ang ngµy cµng mét dµi thªm víi sù ®ãng gãp s¶n phÈm cña nhiÒu nhµ cung cÊp dÞch vô (Service Provider) kh¸c.
Th ®iÖn tö lµ mét trong nh÷ng dÞch vô th«ng tin phæ biÕn nhÊt trªn Internet. Tuy nhiªn, kh¸c víi c¸c dÞch vô m¸y göi th vµ m¸y nhËn th kh«ng cÇn ph¶i liªn tôc trùc tiÕp víi nhau ®Ó thùc hiÖn viÖc chuyÓn th.
DÞch vô th ®iÖn tö cho phÐp b¹n göi vµ nhËn nh÷ng th«ng ®iÖp tõ m¸y tÝnh nµy ®Õn m¸y tÝnh kh¸c mét c¸ch nhanh chãng, hiÖu qu¶ vµ kinh tÕ. §iÒu quan träng lµ lµm thÕ nµo mµ E-mail khiÕn cho mäi ngêi dÏ dµng liªn hÖ víi b¹n.
§å ¸n nµy em ®· ®Ò cËp mét phÇn nhá cña vÊn ®Ò cÊp b¸ch cña th«ng tin hiÖn nay. Em tin ngµy mét ngµy kh«ng xa E-mail sÏ kh«ng cßn xa l¹ víi ngêi d©n, c«ng nghÖ th«ng tin viÔn th«ng cña níc ViÖt Nam sÏ ®îc s¸nh vai víi c¸c níc tiªn tiÕn.
Hµ néi, ngµy…th¸ng…n¨m 2002Phô lôc
c¸c tõ viÕt t¾t
---- c ----
ARD - Address Resolution Protocol
AU - Access Unit
DSN - Domain name System
DTP - Data Tranfer Protocol
ESMTP - extender SMTP
GAN - Global Area Network
UDP - User Datagram Protocol
UA - User Agent
URL - Uniform Resource Location
MS - Message
MTA - Message Transfer Agent
MTS - Message Transder System
MHE - Message Hendling Evivonmion
TCP - Transmision Control Protocol
IP - Internet Protocol
ICMP - Internet Control Message Protocol
IPM - Interpersonol Message
YD - Yellow Page
RIP - Routing Information Protocol
SMTP - Simple Mail Transfer Protocol
SNMP - Simple Network Management Protocol
NIS - Network Information Server
NVT - Network Vitual Terminal
LAN - Local Area Network
GAN - Metropolitan Area Network
HTML - Hypertext Mark Language
POP 3 - Post Office Protocol Version 3
PI - Protocol Interpreter
ESMTP - Extender SMTP
tµi liÖu tham kh¶o chÝnh
------- & -------
1. M¹ng m¸y tÝnh vµ c¸c hÖ thèng më TS. NguyÔn Thóc H¶i
2. Internetworking with TCP/IP Douglas E.Comer
3. T¹p chÝ Bu chÝnh viÔn th«ng, Hµ néi 9/2001
4. M¹ng m¸y tÝnh NguyÔn Gia HiÓu
5. C¸c kü x¶o lËp tr×nh víi Java NguyÔn Ph¬ng Lan
Hoµng Thóc H¶i
6. LËp tr×nh Java Ths. Lª Phông Long
7. LËp tr×nh Java nh thÕ nµo? Hoµng Ngäc Giao
Môc lôc
---- c ----
Trang
Lêi nãi ®Çu 1
Ch¬ng I: M¹ng m¸y tÝnh 2
1.1 KiÕn tróc m¹ng 2
1.2 Ph©n lo¹i m¹ng m¸y tÝnh 2
1.3 KiÕn tróc ph©n tÇng 3
a. M« h×nh 7 tÇng OSI 4
b. M« h×nh TCP/IP 5
Ch¬ng II: M¹ng Internet 8
2.1 Internet lµ g×? 8
2.2 C¸c dÞch vô trªn Internet vµ kiÕn tróc cña c¸c dÞch vô 8
1. DÞch vô tªn miÒn (SNS) 8
2. §¨ng nhËp tõ xa Telnet 9
3. TruyÒn tÖp (FTP) 11
4. Th ®iÖn tö (Electronic Mail) 12
5. Nhãm tin (News groups) 13
6. T×m kiÕm tÖp (Archie) 14
7. Tra cøu th«ng tin theo thùc ®¬n (Gopher) 14
8. T×m kiÕm th«ng tin theo chØ sè (WAI) 14
9. T×m kiÕm th«ng tin dùa trªn siªu v¨n b¶n 15
2.3 Giíi thiÖu vÒ Website vµ cÊu tróc mét Website 15
ch¬ng III: øng dông dÞch vô th ®iÖn tö 17
3.1 Giíi thiÖu Internet Mail 17 3.1.1 C¸c thµnh phÇn cña m¹ng E-mail 41
3.2 Ho¹t ®éng cña th ®iÖn tö 19
3.2.1 CÊu tróc cña mét bøc E-mail 12 3.3.3 Tãm t¾t nh÷ng chøc n¨ng th«ng dông cña E-mail 34
3.3 KiÕn tróc x©y dùng th ®iÖn tö 12
3.4 KiÕn tróc chung cña Client/Server 12
3.5 C¸c nghi thøc truyÒn nhËn 12
3.5.1 Giao thøc SMTP 12
a. Giíi thiÖu 12
b. M« h×nh SMTP 12
c. Kh¸i qu¸t 12
3.5.2 Giao thøc POP 3 (Post Off ice Protocol Version 3) 22
a. Giíi thiÖu 34
b. Thao t¸c c¬ b¶n 12
c. Tr¹ng th¸i x¸c nhËn (Authrization state) 54
3.5.3 C¸c chuÈn truyÒn kh¸c 13
Ch¬ng IV: C«ng cô lËp tr×nh 67
4.1 Kh¸i niÖm vÒ Java 67
4.2 Nguån gèc cña Java 56
4.3 T¹i sao lËp tr×nh b»ng Java 45
4.4 Java lµ ng«n ng÷ híng ®èi tîng 65
4.4.1 Java lµ ng«n ng÷ lËp tr×nh Web 65
4.5 CÊu tróc ch¬ng tr×nh Java 75
4.5.1 Líp vµ ®èi tîng 76
A. Nh÷ng kh¸i niÖm cña lËp tr×nh híng ®èi tîng 45
1. ThÕ giíi híng ®èi tîng 87
2. Líp 54
4.6 M« h×nh Client/Server 65
4.6.1 Giao tiÕp trªn m¹ng theo m« h×nh kh¸ch/chñ 56
4.6.2 M« h×nh kh¸ch/chñ vµ m« h×nh ph©n tÇng 78
A. Socket 78
B. LËp tr×nh m¹ng th«ng qua Socket 46
1. Xö dông Socket ë Client 76
2. Xö dông Socket ë Server 17
3. Giao tiÕp gi÷a Client/Server 87
4.7 X©y dùng c¸c ch¬ng tr×nh ë m¸y kh¸ch (Client) 68
4.7.1 C¸c ch¬ng tr×nh ch¹y trªn m¸y kh¸ch (Client) 68
A. X©y dùng ch¬ng tr×nh ReadWebPage 56
4.8 X©y dùng c¸c ch¬ng tr×nh ë m¸y chñ (Server) 97
4.8.1 ThiÕt kÕ ch¬ng tr×nh WebServer 46
1. X©y dùng líp Logger 67
2. X©y dùng líp ServerConfiguration 87
3. X©y dùng líp RequesData 54 4. X©y dùng líp ServerInputStream 76
5. X©y dùng líp ServerOutputStream 78
6. X©y dùng líp JavaWebServerThread 54
7. X©y dùng líp WebServer 57
KÕt luËn
phô lôc: C¸c tõ viÕt t¾t
tµi liÖu tham kh¶o
Môc lôc
ViÖn §¹i häc më Hµ Néi
Khoa §IÖn Tö - Th«ng Tin
KKKKKKKK
§å ¸n tèt nghiÖp
§Ò tµI:
øng dông dÞch vô th ®iÖn tö
Gi¸o viªn híng dÉn : Ths. NguyÔn Thanh B×nh
Sinh viªn thùc hiÖn : NguyÔn ThÞ Hång HuÕ
Líp : 98-04
Application
Presentation
Session
Transport
network
Data link
physical
øng dông
tr×nh diÔn
phiªn
Giao vËn
M¹ng
liªn kÕt d÷ liÖu
vËt lý
HÖ thèng më A
HÖ thèng më B
Giao thøc tÇng 7
Giao thøc tÇng 6
Giao thøc tÇng 5
Giao thøc tÇng 4
Giao thøc tÇng 3
Giao thøc tÇng 2
Giao thøc tÇng 1
§êng truyÒn vËt lý
7
6
5
4
3
2
1
7
6
5
4
3
2
1
H×nh vÏ : M« h×nh OSI 7 tÇng
Hµ Néi 2- 2002
._.
Các file đính kèm theo tài liệu này:
- DAN333.doc