Dưới đây là bài giảng Hệ điều hành - Chương 6: Các dịch vụ mạng máy tính. Mời các bạn tham khảo bài giảng để bổ sung thêm kiến thức về những quan niệm về dịch vụ mạng máy tính, kết nối mạng máy tính, trao đổi thông tin trên mạng, hệ thống các tệp tin ở trên mạng, các kiểu làm việc ở trong mạng, các cơ chế an toàn và các thao tác trên mạng.
Trang 1CH ƯƠ NG 6: Các d ch v m ng máy tính ị ụ ạ
6.0. Nh ng quan ni m v d ch v m ng máy tính ữ ệ ề ị ụ ạ (computer network)
Ngày nay, có nh ng máy tính c l n có th ph c v đ n vài ngàn ngữ ở ớ ể ụ ụ ế ười và cũng có nh ng máy tính ch ph c v cho m t vài ngữ ỉ ụ ụ ộ ườ ử ụi s d ng. Nh ng, đ cóư ể
th s d ng d ch v h th ng r ng rãi và đ có th dùng chung các ngu n tàiể ử ụ ị ụ ệ ố ộ ể ể ồ nguyên do nhu c u c a các công ty, các trầ ủ ường h c, các xí nghi p và nói chungọ ệ
do nh ng nhu c u trao đ i thông tin r ng rãi c a toàn xã h i, các máy tính nóiữ ầ ổ ộ ủ ộ trên được k t n i thành m ng.ế ố ạ
Đ n nay, ki u phân b ch c năng kháchch là ti n l i nh t: Nh ng máyế ể ổ ứ ủ ệ ợ ấ ữ tính chuyên d ng ch a đ ng ngu n tài nguyên phong phí đụ ứ ự ồ ược g i là các máyọ
ch (ủ file server) và t o nên các ch c năng b sung cho các thành viên c a nhómạ ứ ổ ủ
công tác (Working group). V i các m ng máy tính hi n hành, máy ch đã t oớ ạ ệ ủ ạ cho ngườ ử ụi s d ng nh ng ch c năng dữ ứ ưới sau đây:
Chia s t p tin (file sharingo): ẽ ệ M i ngọ ườ ử ụi s d ng (ch và khách) có thủ ể cùng nhau t o l p và cùng nhau s d ng các tài li u và các d li u.ạ ậ ử ụ ệ ữ ệ
Th đi n t (elctronic mail) ư ệ ừ : các thông tin đi n t g i là th đi n tệ ử ọ ư ệ ử
được d ch v nh phị ụ ư ương ti n thong tin, c th đó là các phi u c p nh p thanhệ ụ ể ế ậ ậ toán ho c ghi chép gi a các ngặ ữ ườ ụi d ng trên m ng vi tính ạ
Chia s máy in (printerscharing): ẽ C nhóm công tác có th dùng chungả ể
m t máy in, do đó, vi c in n các b n v hay các tài li u độ ệ ấ ả ẽ ệ ược th c hi n trênự ệ
m t lo i máy in nào đó trong m ng, phộ ạ ở ạ ương pháp này g i là cách qu ngọ ả
(remote priting), đã t o đi u ki n gi m thi u đáng k phí t n n u ph i trang bạ ề ệ ả ể ể ổ ế ả ị nhi u máy in.ề
Đi u hành công vi c (job management) ề ệ : Qua vi c phân b các nhi m vệ ổ ệ ụ riêng l trên các máy tính, nh ng thành viên khác nhau c a nhóm có th x lýẻ ữ ủ ể ử công vi c nhanh h n, rút ng n th i gian tính toán và th i gian th c hi n chệ ơ ắ ờ ờ ự ệ ươ ngtrình
S khác nhay gi a các máy tính riêng l và m ng máy tính đ i v i ngự ữ ẻ ạ ố ớ ườ ử i s
d ng thì khó nhìn th y, khi chúng ta nói v h th ng máy tính phân b Cácụ ấ ề ệ ố ổ
ch c năng đứ ược k trên đ t để ở ạ ược nh m t s trình di n có m c đích c aờ ộ ự ễ ụ ủ nhi u thành ph n h đi u hành trên các máy tính khác nhau. Do đó, vi c mề ầ ệ ề ệ ở
r ng m ng máy tính có th coi nh vi c m r ng h đi u hành.ộ ạ ể ư ệ ở ộ ệ ề
Nh ng u đi m đữ ư ể ược mô t trên là có th th c hi n trên m ng máy tính;ả ở ể ự ệ ạ
m c dù v y, chúng t n t i nhi u khó khă tr ng i b i nhi u ki máy tính đặ ậ ồ ạ ề ở ạ ở ề ể ượ c
l p đ t vào m ng, nhi u lo i h đi u hành và nhi u lo i ngôn ng l p trình: sắ ặ ạ ề ạ ệ ề ề ạ ữ ậ ự
h p tác c a máy tính cho phép nh ng tiêu chu n m ng khác nhau; nh ng tiêuợ ủ ữ ẩ ạ ữ chu n này t n t i trong c ph n c ng và trong c ph n m m. Vì v y, chúng taẩ ồ ạ ả ầ ứ ả ầ ề ậ
Trang 2mong mu n đón nh n trong chố ậ ương này vai trò quan tr ng c a h đi u hành;ọ ủ ệ ề
đ ng th i, chúng ta ti p t c nghiên c u các nhi m v , các ki u ch c năng càồ ờ ế ụ ứ ệ ụ ể ứ các gi i pháp m t cách đ y đ h n, mà m t s k t n i m ng s mang chúngả ộ ầ ủ ơ ộ ự ế ố ạ ẽ
l i cho h đi u hành.ạ ệ ề
Đ th ng nh t hoá m t ph m vi r ng l n, liên hi p các nhà s n xu t máyể ố ấ ộ ạ ộ ớ ệ ả ấ tính đã gi i thi u m t th nghiêmh quan tr ng v môi trớ ệ ộ ử ọ ề ường máy tính phân bổ
(distributed compting environment: DCE;) nó là c s các ph n m m m (ơ ở ầ ề ở open
software fundation:OSF) ch a đ ng các gi i pháp khác nhau v qu n lý côngứ ự ả ề ả
vi c v a h th ng ệ ủ ệ ố client/server (khách/ ch ) và v qu n lý t p tin cũng nh cácủ ề ả ệ ư
v i vi c th c hi n trao đ i hớ ệ ự ệ ổ ướng k t n i logic, ngế ố ưới ta có th áp d ng hai ýể ụ
ki n: M t cách v t lý, chúng ta có th t o ra m t s k liên k t c đinh; sau đó,ế ộ ậ ể ạ ộ ư ế ố chúng ta có th g i thông tin qua để ở ường dây đi n tho i c đ nh;hay chúng ta cóệ ạ ố ị
th b t đ u cách n i ti p v t lý nh các thông tin đ c bi t qua m ng máy tính,ể ắ ầ ố ế ậ ờ ặ ệ ạ
ti p đ n, g i các thông tin trên con đế ế ở ường v a chu n b Vi c k t n icác máyừ ẩ ị ệ ế ố tính t i vavs máy tính riêng l thì không ch t n t i m t d ng v t lý; th c ra,ớ ẻ ỉ ồ ạ ộ ạ ậ ự nhi u k t n i nh th có th s d ng đề ế ố ư ế ể ử ụ ường dây d n, mà không h có tr ng iẫ ề ở ạ
gì. Đ i v i vi c th c hi n hai ý ki n trên m ng máy tính thì có th đ t đố ớ ệ ự ệ ế ở ạ ể ạ ượ c
do vi c phân x thông tin thành các gói tin (ệ ẻ daten package) và do vi c chuy nệ ể liên t c các gói tin t i các đ a ch ngụ ớ ị ỉ ười nh n trong m ngậ ở ạ
M t cách bình thộ ường, k t n i m ng máy tính, thì không t n t i ki u k tở ế ố ạ ồ ạ ể ế
n i v t lý đi m t i đi m, mà nhi u máy tính đố ậ ể ớ ể ề ược k t n i v i nhau b ng cápế ố ớ ằ
đ ng tr c. Đ thích h p cho m t máy xác đ nh, trên cáp này, không ph i ch cóồ ụ ể ợ ộ ị ả ỉ các d li u, mà c nh ng thông tin đ a ch cũng truy n t i. Nh ng thông tinữ ệ ả ữ ị ỉ ề ả ữ
qu n lý này (ch ng h n chi u dài thông tin, t ng ngang đ ki m tra l i truy nả ẳ ạ ề ổ ể ể ỗ ề đat ) được liên k t v i các d li u trong m t gói tin. Nhi m v c a b đi uế ớ ữ ệ ộ ệ ụ ủ ộ ề khi n đ ên t là th c hi n vi c chuy n đ i gi a các tín hi u đi n t trong cá vàể ị ử ự ệ ệ ể ổ ữ ệ ệ ử khuôn kh logic c a các gói tin đ i v i vi c đ c khi nh n, và đ i v i vi c vi tổ ủ ố ớ ệ ọ ậ ố ớ ệ ế khi g i. V i ki u d ch v này, nh ng ch c năng ti p theo nh vi c đi u khi nở ớ ể ị ụ ữ ứ ế ư ệ ề ể
g ie thông tin, t o l p môtn k t n i thông tin logic v i các máy tính khác ph iơ ạ ậ ế ố ớ ả
Trang 3đượ ạ ậc t o l p trong s tr giúp c a m t dãy tu n t các gói tin. K t qu cácự ợ ủ ộ ầ ự ế ả
bước trao đ i thông tin đ đ t đổ ể ạ ược m t m c đích đ nh trộ ụ ị ước g i là m t giaoọ ộ
th c (ứ protocol), nó cũng chính là s lơ ược các quy t c trao đ i thông tinắ ổ
(communicatin).
6.1.1. Các l p công vi cớ ệ
Vi c thi t l p các d ch v cao h n phù h p v i c u trúc hi n h u nh cácệ ế ậ ị ụ ơ ợ ớ ấ ệ ữ ờ
c c u o n i chơ ấ ả ố ở ương 1 và nó được tiêu chu n hoá ki u các l p OSI, g i làể ể ớ ọ
h th ng m k t n i v i nhau (Open Sytem Interconnect) ệ ố ở ế ố ớ c aủ t ch c tiêu ổ ứ chu n hoá qu c t ẩ ố ế ISO (Internetional Standards Oganization), xem hình 6.1 ở
dưới đây
hçnh 6.1 trang 215
Các l p khác nhau đớ ược đánh s t 7 t i 1, có các nhi m v sau đây:ố ừ ớ ệ ụ
7 T i l p áp d ng, các d ch v do ngạ ớ ụ ị ụ ườ ử ụi s d ng được ch d n nh cácỉ ẫ ư
ng d ng đ ho , ki m tra an toàn, trao đ i thông tin (nh Email)
6 T i l p trình báo, các d li u đạ ớ ữ ệ ượ ạc t o d ng và kh ng đ nh vi c mã hóaạ ẳ ị ệ hay khuôn d ng nén cũng nh vi c phân nhóm các d li u, thí d ki u t oạ ư ệ ữ ệ ụ ở ể ạ
d ng b n ghi thù ph thu c ngạ ả ụ ộ ườ ử ụi s d ng
5 trên l p to đàm, nó đớ ạ ược kh ng đ nh: ai là ngẳ ị ười g i và ai là ngở ườ i
nh n; các l i đậ ỗ ược xem xét nh th nào khi trao đ i thông tin Nói chung, l pư ế ổ ớ này thường được b quaỏ
4 L p chuy n v n làm thay đ i các dong d li u các gói tin, nó l u ý khiớ ể ậ ổ ữ ệ ở ư đánh s và khi nh n thì nh n đúng gói tin. đây, l n đ u tiên, m t s l u ý đãố ậ ậ Ở ầ ầ ộ ự ư
được ch p nh n trên ph n c ng thu c cái đó. Các yêu c u khác nhau c a sai sấ ậ ầ ứ ộ ầ ủ ố
l i đỗ ượ ực l a ch n ngay đó. M t đ i di n ki u giao th c này là giao th c TCP.ọ ở ộ ạ ệ ể ứ ứ
3 Trên l p m ng, t t c các câu h i và các v n đ còn t n t i đớ ạ ấ ẩ ỏ ấ ề ồ ạ ược trao
đ i có l u ý t i các quan h v đ a hình và kho ng cách c a m ng máy tính. Sổ ư ớ ệ ề ị ả ủ ạ ự chuy n hể ướng c a thông tin tr ng thái chuy n v n trên đo n đủ ở ạ ể ậ ạ ường xác đ nh,ị
c u hình thi t b gi i h n b i b r ng băng t và chi u dài cáp đ ng tr c, tómấ ế ị ớ ạ ở ề ộ ừ ề ồ ụ
l i, t t c các đi u ki n ký lu t c a m ng máy tính đạ ấ ả ề ệ ậ ủ ạ ược xem xét k càng ỹ ở đây. đ i v i vi c trao đ i thông tin không có k t n i, h u nh giao th c IPố ớ ệ ổ ế ố ầ ư ứ
(internet protocol) hay m t n b n khác c a lo i đó UDP ộ ấ ả ủ ạ (uniform datagram protocol) đượ ử ục s d ng; tuy nhiên, v i cái đó, dãy tu n t các gói tin trên đớ ầ ự ườ ng
đ n ngế ười nh n có th t mình tu ch nh. Ngậ ể ự ỉ ượ ạ ớc l i v i cái đó, giao th c n iứ ổ
ti ng X.25 đã đ m b o dãy tu n t , vì giao th c đ nh hế ả ả ầ ự ứ ị ướng k t n i này sế ố ử
d ng m t ki u k t n i đụ ộ ể ế ố ượ ạ ậc t o l p trước đó cho t t c các gói tin m t cáchấ ả ộ
ch t ch ặ ẽ
Trang 42 L p liên k t d li u đã làm phân đo n các t p d li u thông tin (có đớ ế ữ ệ ạ ậ ữ ệ ọ
l n không đ u đ n) thành các gói tin nh riêng l có đ l n xác đ nh, g i chúngớ ề ặ ỏ ẻ ộ ớ ị ở
đi và l p l i vi c g i, n u không có thông báo tr l i hay n u vi c t ng ki mặ ạ ệ ở ế ở ạ ế ệ ổ ể tra l i bên nh n không có v n đ gì. B i l , nó đỗ ở ậ ấ ề ở ẻ ược làm đ y ch c năng b oầ ứ ả
v d li u.ệ ữ ệ
1. Các gói d li u s đữ ệ ẽ ược bi n đ i khi d n t i vi c g i trên l p k t n iế ổ ẫ ớ ệ ở ớ ế ố
v t lý thành các Bit nh phân, mà nh ng Bit nh phân này đậ ị ữ ị ược mang theo như các xung đi n hay các xung quang trên môi trệ ường chuy n v n.ể ậ
Vi c th c hi n và áp d ng ki u phân l p này v n còn có s khác nhau gi aệ ự ệ ụ ể ớ ẫ ự ữ các nhad chuyên môn, và do đó, v n đ này v n còn ti p t c trãi qua th cấ ề ẫ ế ụ ự nghi m ệ
Trong trường h p đ n gi n, ngợ ơ ả ười ta có th t o l p m t s k t n i ki uể ạ ậ ộ ự ế ố ể
đi m t i đi m ể ớ ể gi a hai máy tính; trong đó, ngữ ười ta k t n i chúng b ng dây cápế ố ằ
đ ng tr c; s k t n i này thích h p v i thi t b t c đ ch m nh máy in. Khiồ ụ ự ế ố ợ ớ ế ị ố ộ ậ ư
đó, các chíp vi m ch v i các giao di n n i ti p s th c hi n các ch c năng c aạ ớ ệ ố ế ẽ ự ệ ứ ủ
l p k t n i d li u; b kích t o l i ra thì đang bớ ế ố ữ ệ ộ ạ ố ở ước th nh t. Đ i v i m t sứ ấ ố ớ ộ ự trao đ i thông tin, ngổ ười ta có th áp d ng m t chể ụ ộ ương trính KERMIT thông
thường. Chương trình này do trường Đ i h c Columbia đ xạ ọ ề ướng, nó ch aứ
đ ng n i dung các l nh đ g i d li u (l p 7) nh là c ch mã hoá thành cácự ộ ệ ể ở ữ ệ ớ ư ơ ế gói tin thông tin (l p 6). đây, các l p 5,4 và 3 đớ Ở ớ ược b qua m t bên, vì nó làỏ ộ
ki u k t n i t n hi n ể ế ố ậ ế đi m t i đi m ể ớ ể
các m ng máy tính v i các yêu c u cao h n nh Email và cùng nhau s
d ng các t p tin, các l p còn ph c t p h n nhi u. Do v y, đi u đó đã đ m b oụ ệ ớ ứ ạ ơ ề ậ ề ả ả
r ng, b đi u khi n không ch ch a các chíp, mà chúng thiên lu n các l p 1 vàằ ộ ề ể ỉ ứ ậ ớ
l p 2; đ c bi t, m t h th ng vi x lý riêng l v i b nh và m t chớ ặ ệ ộ ệ ố ử ẻ ớ ộ ớ ộ ương trình
c đ nh trong ROM s làm gi m t i v i m t môi trố ị ẽ ả ả ớ ộ ường truy n t i đ c bi t (thíề ả ặ ệ
d Ethenet) hay v i m t giao th c đ c bi t (thí d m t s k t h p đ c bi t cácụ ớ ộ ứ ặ ệ ụ ộ ự ế ợ ặ ệ giao th c TCP/IP). Nh ng b đi u khi n ứ ữ ộ ề ể thông minh này có th cùng làm vi cể ệ
v i các b kích t o c a h đi u hành trên m c đ cao h n.ớ ộ ạ ủ ệ ề ứ ọ ơ
Đ i v i h đi u hành, đi u quan tr ng c n ph i hi u là, nh ng l p nào vàố ớ ệ ề ề ọ ầ ả ể ữ ớ
nh ng d ch v nào s t n t i trong b đi u khi n và c n đữ ị ụ ẽ ồ ạ ộ ề ể ầ ược xem xét t t h n.ố ơ
Các l p trao đ i thông tin trong Unix: ớ ổ ở
trong h đi u hành Unix, các l p riêng l thay th nhau thì r t khác nhau
Th c ra, lúc đ u Unix không ph i thi t k cho m ng. Vì ngày t đ u, mã ngu nự ầ ả ế ế ạ ừ ầ ồ
c a h đi u hành này đủ ệ ề ược d ng không m t ti n các trụ ấ ề ở ường đ i h c, cho nên,ạ ọ
nó đã nh n đậ ượ ực s tham gia r ng rãi và đem l i các n b n phát tri n cũng nhộ ạ ấ ả ể ư
Trang 5các n b n thi t k quan tr ng đ i v i m ng máy tính và đã đấ ả ế ế ọ ố ớ ạ ược th c nghiêmhự thành công m mãn trên h đi u hành Uinx.ỹ ệ ề
M t b n thi t k mong m i v i Unix System V đã độ ả ế ế ỏ ớ ược d n t i vi c s pẫ ớ ệ ắ
x p các b kích t o thi t b các l p. Ý tế ộ ạ ế ị ớ ưởng c b n c a b n thi t k này làơ ả ủ ả ế ế
t o ra dòng l thông (ạ ư stream) các d li u xu tnh p c a m t k t n i nh cácữ ệ ấ ậ ủ ộ ế ố ờ
b c x lý khác nhau c a b kích t o, xem hình 5.2 trên. H thông sdòng l uậ ủ ủ ộ ạ ở ệ ư thông này t o ra trên m t giao di n đã đạ ộ ệ ược chu n hoá, đ di d ch các b c x lýẩ ể ị ậ ử
b t k hay đ đón nh n dòng l u thông. Do đó, nó có th gi m nh vi c traoấ ỳ ể ậ ư ể ả ẹ ệ
đ i các l p c a giao th c và vi c l a ch n liên hi p các giao th c TCP/IP. Hìnhổ ớ ủ ứ ệ ự ọ ệ ứ 6.2 ch ra m t l p ch a đ ng các d ch v đỉ ộ ớ ứ ự ị ụ ược nh c đ n trong m c 6.2.2 ắ ế ở ụ ở
G i h th ng các d ch v v n chuy n trong nhân h đi u hành x y ra nhọ ệ ố ị ụ ậ ể ở ệ ề ả ờ các g i h th ng đ c bi t. M t áp d ng có th ho c là s d ng trên l p caoọ ệ ố ặ ệ ộ ụ ể ặ ử ụ ớ
h n nh named pipes; ho c là nó có th thi t đ t trên các d ch v h đi u hànhơ ư ặ ể ế ặ ị ụ ệ ề socket() m t cách sâu s c, do đó đ t độ ắ ạ ược m t s trao đ i thông tin trên m ng.ộ ự ổ ạ
Các l p trao đ i thông tin trong Windows NT: ớ ổ ở
h đi u hành Windows NT, nhi u d ch v m ng khác nhau đ c đem l i
Nh ng d ch v này cho phép tữ ị ụ ương thích v i nhi u giao th c m ng riêng bi tớ ề ứ ạ ệ thu c h đi u hành MSDOS; thí d giao th c ộ ệ ề ụ ứ kh i thông đi p máy ch SMB ố ệ ủ (server message block), giao th c ứ h th ng m ng xu tnh p c b n NetBIOS ệ ố ạ ấ ậ ơ ả (Network Báic InpitOutput System) đ u tề ương thích v i các giao th c d ch vớ ứ ị ụ
c a các nhà s n xu t h th ng khác. C u trúc này đủ ả ấ ệ ố ấ ược s đ hoá trong hìnhơ ồ 6.3 ch cho chúng ta th y r ng, vi c phân l p theo ki u IOSOSI đỉ ấ ằ ệ ớ ể ược d n raẫ
tương đ i đ y đ ố ầ ủ
7 Ap d ng ụ File, Named pipes, mail slots 6
. Đ xu t
H th ng con ệ ố
Trang 6D ch v l p ị ụ ặ 5
. To đàm
ạ
NetBIOS NBT Windowssocket
4 Chuy n v n
Net BEUI IPX/ SPX TCP/IP
3 M ngạ
2 Liên k t d li u
ế ữ ệ Giao th c NDIS ứ
Các l p cao h n 5,6,7 cũng đã đớ ơ ược che ph b i l p SMB, mà l p này t o raủ ở ớ ớ ạ
m t cách tr c ti p vào các tr ng thái sockets theo giao th c NBT và NetBIOS,ộ ự ế ạ ứ
do đó đ t đạ ượ ực s trao đ i thông tin.ổ
6.1.2 Các h đi u hành phân bệ ề ổ
M t h đi u hành độ ệ ề ược k t n i m ng và đế ố ạ ượ ồ ạc t n t i m t cách toàn v n thìộ ẹ
được bi u th là h đi u hành m ng máy tính. Bây gi , ngể ị ệ ề ạ ờ ười ta có th phân bể ổ nhiêmh v , ch ng h n d n các t p tin t i các máy tính trong m ng. Liên quanụ ẳ ạ ẫ ệ ớ ở ạ
t i nhi m v này, ngớ ệ ụ ười ta nói v m t h phân b , c th đó là h th ng t pề ộ ệ ổ ụ ể ệ ố ệ tin phân b Các ch c năng c a h th ng phân b b gi i h n trong trổ ứ ủ ệ ố ổ ị ớ ạ ường h pợ
c a m t h đi u hành m ng máy tính trên các d ch v cao và trên các h th ngủ ộ ệ ề ạ ị ụ ệ ố
chương trình được chuyên môn hoá cao c a ngủ ườ ử ụi s d ng
hçnh 6.4 trang 218
Ngượ ạc l i, m i thành ph n c a m t h đi u hành phân b t n t i ch m tỗ ầ ủ ộ ệ ề ổ ồ ạ ỉ ộ
l n riêng l trên m t máy tính. Do đó, t t c các thành phssn cũng nh máy tínhầ ẻ ộ ấ ả ư
ph i làm vi c cùng nhau; t t nhiên, ch có h đi u hành là chung cho toàn m ng.ả ệ ấ ỉ ệ ề ạ
M t h đi u hành nh v y ch s d ng nh ng l p th p nh t c a giao th cộ ệ ề ư ậ ỉ ử ụ ữ ớ ấ ấ ủ ứ chuy n v n, do đó, nó có th thích ng v i các máy tính khác nhau v i d ch vể ậ ể ứ ớ ớ ị ụ phân b nhanh nh y. Hình 6.4 ch ra vi c phân l p đ i v i nhân c a m t hổ ạ ỉ ệ ớ ố ớ ủ ộ ệ
th ng.ố
Trang 7Ph n nhân c a h đi u hành t n t i trên m i máy là ph n nhân t i thi uầ ủ ệ ề ồ ạ ỗ ầ ố ể
(microkernel). Ph n nhân t i thi u này ch ch a đ ng nh ng d ch v c n thi tầ ố ế ỉ ứ ự ữ ị ụ ầ ế
đ th c hi n vi c trao đ i thông tin và các d ch v c b n cho vi c qu n lý bể ự ệ ệ ố ị ụ ơ ả ệ ả ộ
nh và chuy n đ i ti n trình. T t c các d ch v khác nh qu n lý h th ng t pớ ể ổ ế ấ ả ị ụ ư ả ệ ố ệ
tin (file server), qu n lý in n ả ấ (printer server), xây d ng cây th m c ự ư ụ (director
server), đi u hành công vi c (ề ệ process server) được đ nh v trên các máy tínhị ị chuyên môn hoá. Ki u h đi u hành này có nh ng u đi m sau đây:ể ệ ề ữ ư ể
Tính linh ho t: ạ
Các d ch v ti p theo (nh d ch v tính toán ) có th đị ụ ế ư ị ụ ể ượ ấc l y đi hay đượ c
đ a ra thêm vào yêu c u khi máy tính ho t đ ng; h thông smáy tính có thư ầ ạ ộ ệ ể
được m r ng tăng d n.ở ộ ầ
Tính bi u tr ng: ể ư
V i tính bi u tr ng c a h đi u hành, các d ch v trong m ng đớ ể ư ủ ệ ề ị ụ ở ạ ược mang
l i mà không c n ngạ ầ ườ ử ụi s d ng bi t đi u đó x y ra đâu.ế ề ả ở
Đ sai s l i: ộ ố ỗ
M t cách nguyên t c, sai s l i là đi u có th ; do đó, h th ng máy tính cóộ ắ ố ỗ ề ể ệ ố
th tái t o d ng bên trong mà không c n ngể ạ ạ ở ầ ườ ử ụi s d ng bi t đi u đó.ế ề
Vi c gia tăng hi u su t: ệ ệ ấ
Vì t t c các d ch v có th đấ ả ị ụ ể ược d n t i sang hành; do đó, nh các máy tínhẫ ớ ờ
b sung, ngổ ười ta có th đ t để ạ ược vi c th c thi cao h n.ệ ự ơ
Tuy nhiên, nói đúng ra, người ta cũng nh n th y r ng, các h đi u hành phânậ ấ ằ ệ ề
b cũng có nhổ ược đi m vì chi phí ph n c ng l n, thí d , n u m t d ch v chể ầ ứ ớ ụ ế ộ ị ụ ỉ
t n t i có m t l n và ngay sau đó, lo i kh i máy tính nay. Tóm l i có th nóiồ ạ ộ ầ ạ ỏ ạ ể
r ng, ho t đ ng c a toàn m ng thì quan h v i hi u su t c a d ch v ằ ạ ộ ủ ạ ệ ớ ệ ấ ủ ị ụ
V n đ c b n c a nhân h đi u hành phân b là s t n hao th i lẫ ề ơ ả ủ ệ ề ổ ự ổ ờ ượng đ iố
v i m t s d ch v qua trao đ i thông tin. Đ i v i h th ng hi u su t, nó thì cóớ ộ ố ị ụ ổ ố ớ ệ ố ệ ấ
l i đ x lý nh ng gói tin l n ngoài kh năng; đa s các ho t đ ng nh t n t iợ ể ử ữ ớ ả ố ạ ộ ỏ ồ ạ trong nhân h đi u hành s đệ ề ẽ ược th c hi n nhanh h n trên h th ng vi x lýự ệ ơ ệ ố ử
tương ng.ứ
Đ i v i các d ch v m ng, ngố ớ ị ụ ạ ười ta còn l u ý m t v n đ , khi các nhân hư ộ ấ ề ệ
đi u hành đề ược s p đo n hay đắ ạ ược tái t o, mà chúng có th nh n đạ ể ậ ược các
ch c năng h đi u hành m t cách t ch , khi đó s đem l i nh ng d ch vứ ệ ề ộ ự ủ ẽ ạ ữ ị ụ chuyên d ng cao h n (thí d vi c đi u khi n truy c p m ng), mà ch c năngụ ơ ụ ệ ề ể ậ ạ ứ
c a chúng đủ ược phân b Vì các d ch v c b n này đổ ị ụ ơ ả ược tính toán m t ph nộ ầ thu c h đi u hành và nó độ ệ ề ược ch a đ ng trong ph m vi cung c p c a h đi uứ ự ạ ấ ủ ệ ề hành; do đó, nó được nói v các h đi u hành phân b nhi u h n hay ít h n màề ệ ề ổ ề ơ ơ không c n ph i làm ch m t nhân t i thi u.ầ ả ủ ộ ố ể
Trang 8Trên c s này, đi u c n thi t là ph i xem xét s hoài nghi, li u, m t hơ ở ề ầ ế ả ự ệ ộ ệ
đi u hành t p trung ề ậ (main frame) hay m t h đi u hành phân b ộ ệ ề ổ (client server)
thì t t h n: H u h t các h đi u hành là m t s pha tr n t m t h đi u hànhố ơ ầ ế ệ ề ộ ự ộ ừ ộ ệ ề
m ng thu n khi t, mà h đi u hành này t làm t t c hay đạ ầ ế ệ ề ự ấ ả ược k t n i m tế ố ộ cách r i r c v i m t h th ng các máy tính khác nhau, ch ng h n v i m t hờ ạ ớ ộ ệ ố ẳ ạ ớ ộ ệ
đi u hành phân b thu n khi t, nó d n t i t t c các d ch v trên máy tính đề ổ ầ ế ẫ ớ ấ ả ị ụ ượ cchuyên môn hoá. Ph m vi c a nhân ch ra tr ng thái quá đ gi a hai đi m c cạ ủ ỉ ạ ộ ữ ể ự
6.2.1. Tên m r ng tr ng m ngở ộ ọ ạ
Có nh ng quy ữ ước tên m r ng khác nhau trong m ng; các quy ở ộ ở ạ ước này
được thay đ i thêm m i khi s d ng. Do đó, chúng ta có th phân bi t m t cáchổ ỗ ử ụ ể ệ ộ thô thi n gi a tên để ữ ượ ử ục s d ng r ng rãi trong m ng l n (đ c bi t tr ng ộ ở ạ ớ ặ ệ ọ
Edu cho các trường đ i h c và trạ ọ ường ph thông;ổ
Gov và mit cho chính ph và quân đ i;ủ ộ
Net cho người công tác trên m ng;ạ
Ong cho t t c các t ch c cùng s d ngấ ả ổ ứ ử ụ
Trong m t nhóm (ộ top level domain), m i thành viên c a nhóm ỗ ủ (domain) đượ cphân b m t cái tên; thí d đ i v i trổ ộ ụ ố ớ ường đ i h c Berkeley v i nhóm top leverạ ọ ớ domain thì tên edu được b túc thêm berkeley. Tên đ y đ cho m t m y tínhổ ầ ủ ộ ả
Trang 9c a trủ ường đ i h c đạ ọ ược c u thành tên vùng ấ (domain name) và tên máy tính (computername), các tên được tách bi t nhau b ng d u ch m.ệ ằ ấ ấ
r ng, có m t s tho thu n khác độ ộ ự ả ậ ược đ a ra. Thay vì vi t tên nhóm, có thư ế ể
d n ra tên vi t t t c a qu c gia. Thí d m t máy tính c a b môn có tên làẫ ế ắ ủ ố ụ ộ ủ ộ diokles, nó được xác đ nh b i đ a ch : diokles.informatic.unidanang.vnị ở ị ỉ
M t đ a ch tộ ị ỉ ượng tr ng nh v y thì quá dài. Do đó, nó t n t i đ i v i m iư ư ậ ồ ạ ố ớ ỡ máy tính m t s logic; con s này bao g m 4 con s đ ng li n k nhau (đ a chộ ố ố ồ ố ứ ề ề ị ỉ Internet là 32 Bit)
Thí d v đ a ch trên m ng Internet: ụ ề ị ỉ ạ
M t máy tính nh nói trên có đ a ch s : 141.2.1.2.ộ ư ở ị ỉ ố
Hai s đ u (141.2) phù h p v i nhóm vùng (ố ầ ợ ớ domain), đó là unidanang.vn; và
nó được m t c quan ( M do trung tâm thông tin m ng NIC) trao cho chínhộ ơ ở ỹ ạ xác nh tên vùng ư (domain name); đây, các con s khác cho th y: con s th 3ở ố ấ ố ứ (.1.) ch m ng con ỉ ạ (subnet) và con s th 4 (.2.) ch máy tính riêng l c a m t tố ứ ỉ ẻ ủ ộ ổ
ch c vùng nào đó k t n i vào m ng Internet.ứ ế ố ạ
T các s logic, ngừ ố ười ta ch n trong m i b đi u khi n c a giao th cọ ở ỗ ộ ề ể ủ ứ TCP/IP có m t con s c đ nh tộ ố ố ị ương ng, đó là con s duy nh t đ i v i sbứ ố ấ ố ơ ộ
đi u khi n này, nó đề ể ượ ạ ậc t o l p m t cách c đ nh và không th độ ố ị ể ược thay đ iổ (khác v i các s logic c a đ a ch IP). Khi t o l p m t s k t n i; đ u tiên, conớ ố ủ ị ỉ ạ ậ ộ ự ế ố ầ
s v t lú này đố ậ ược th m chi u, ti p đ n tham chi u các đ cđi m logic.ạ ế ế ế ế ặ ể
S s p x p đ a ch logic t i đ c ch o b ng các ch cái ph i đự ắ ế ị ỉ ớ ị ỉ ả ẳ ữ ả ược gi l iữ ạ
v i s tr giúp c a m t b ng. Trong các h th ng Unix, chúng đớ ự ợ ủ ộ ả ệ ố ược tìm th yấ
dướ ười đ ng d n /ect/hosts; các h th ng khác nó là m t ngân hàng d li uẫ ở ệ ố ộ ữ ệ
th c th ự ụ
M t cái tên trong m g Internet nh v y có th độ ạ ư ậ ể ược s d ng đ yêu c uử ụ ể ầ
m t d ch v trên m t máy tínhộ ị ụ ộ
Thí d v các d ch v trên m ng Internet: ụ ề ị ụ ạ
Trên trang WEB (worrd wide web:WWW), đ có m t d ch v trình di n textể ộ ị ụ ễ
(hypertext presentserive), m t giao th c URL (ộ ứ uniform resource locator) đượ c
c u thành nh là m t đ a ch b i ba thành ph n :tên c a giao th c d ch v (thíấ ư ộ ị ỉ ở ầ ủ ứ ị ụ
Trang 10d :ụ http://), tên n i m ng c a máy tính và tên t p tin c c b Đ i v i d ch v saoố ạ ủ ệ ụ ộ ố ớ ị ụ chép t p tin, giao th c URL d n t i cho máy tính vùng v i ệ ứ ẫ ớ ớ unidanang.vn và cho
t p tin v i ệ ớ /public/Text.dat. Nh v y, ta có đư ậ ường d n đ y đ :ẫ ầ ủ
ftp://ftp.infomatic.unidanang.vn/public/Text.dat
Người ta l u ý r ng, vi c mô t tên b ng ch cái boá hay ch cái thư ằ ệ ả ằ ữ ữ ường ở trong m ng Internet thì không quan tr n; nh ng tên t p tin hay đạ ọ ư ở ệ ường d nẫ trong m ng c c b thì đi u đò không th đạ ụ ộ ề ể ược. Máy tính vùng unidanang.vn cũng
có th để ược tìm th y theo cách vi t Uấ ế niDanang.VN , nh ng t p tin ư ệ public/Text.dat thì không th vi t ể ế Public/ext.dat.
Vi c s p x p tên theo đ a ch IP logic thì không th c hi n t đ ng, mà nóệ ắ ế ị ỉ ự ệ ự ộ
ph i đả ược cho phép theo m t danh sách tên. m ng c c b , đi u này độ Ở ạ ụ ộ ề ượ choàn thi n b i máy tính ch qu n lý cây th m c; máy tính này d ng l i đ aệ ở ủ ả ư ụ ừ ạ ở ị
ch mong mu n tr c ti p trong m t danh sách t t c các máy tính nó qu n lý;ỉ ố ự ế ộ ấ ả ả
ho c nó ph i h i l i m t máy tính khác. Tên máy tính và các d ch v toàn cùngặ ả ỏ ạ ộ ị ụ
c a chúng (ủ all domain) được d n ra trong m t máy ch (ẫ ộ ủ domain name server)
qu n lý h th ng t p tin toàn vùng; khiđó, máy tính qu n lý vùng này s nh nả ệ ố ệ ả ẽ ậ
bi t các máy tính k t n i tr c ti p cũng nh các máy tính k t n i tr c ti p cũngế ế ố ự ế ư ế ố ự ế
nh các máy tính qu n lý vùng ti p theo; t i đây, nó d n ti p các thăm dò t iư ả ế ạ ẫ ế ớ các máy tình còn ch a bi t rõ.ư ế
đường d n c a h th ng t p tin c c b Tính m m d o này th c ra không c nẫ ủ ệ ố ệ ụ ộ ề ẻ ự ầ
ngườ ử ụi s d ng quan tâm; vì nhóm công tác c a anh ta luôn luôn t n t i nhủ ồ ạ ư nhau
Do đó, m c đích là, đ thi t đ t các c ch cho h đi u hành. Mà v i cụ ể ế ặ ơ ế ệ ề ớ ơ
ch này, có th cho phép truy c p lên m t h th ng t p tin c a m t máy tínhế ể ậ ộ ệ ố ệ ủ ộ khác m t cách thông su t. N u có nhi u máy tính cùng làm vi c đ ng th i trongộ ố ế ề ệ ồ ờ
m ng c c b ; do đó, ngạ ụ ộ ười ta có th liên k t v i nhau các h th ng t p tin c aể ế ớ ệ ố ệ ủ các máy tính (thí d trong hình 6.5, đó là các máy tính vùng Hera và Cronos)ụ thành m t cây th m c. Ngộ ư ụ ười ta ký hi u d u hhai s c chéo “//” cho th m cệ ấ ọ ư ụ
g c n i o c a h th ng t p tin; nó ph c v nh là m t khoá cho vi c dò h iố ố ả ủ ệ ố ệ ụ ụ ư ộ ệ ỏ
t p tin.ệ
hçnh 6.5 trang 223
Trang 11M t phộ ương pháp nh v y đã d n t i m t h th ng t p tin trên hai máy tínhư ậ ấ ớ ộ ệ ố ệ
tương t nhau; t t c các ngự ấ ả ườ ử ụi s d ng c a các máy tính có th đủ ể ược tham chi u cây th m c nh nhau.ế ư ụ ư
Tuy nhiên, còn có nh ng phữ ương pháp khác n a; th t v y, chúng ta nh nữ ậ ậ ậ
th y r ng, vi c t o ra ch k t n i m t phía; do đó, ví d c a chúng ta, máyấ ằ ệ ạ ỉ ế ố ộ ở ụ ủ tình Cronos đã được k t n i v i th m c NewDepartment. T t c vi c dò h iế ố ớ ư ụ ấ ả ệ ỏ trên máy tính Hera được d n t i máy tính Cronos, đẫ ớ ược x lý đó hay đử ở ượ c
đ a tr l i máy tính Hera. Đ i v i ngư ở ạ ố ớ ườ ử ụi s d ng c a máy tính ch Hera thìủ ủ
được dâng hi n toàn c nh h th ng t p tin, nh đã ch trong hình 6.6 dế ả ệ ố ệ ư ỉ ưới đây
hçnh 6.6 trang 223
Đ i v i ngố ớ ườ ử ụi s d ng c a máy ch Cronos thì cũng không có gì thay đ i;ủ ủ ổ anh ta không c n ghi nh d ch v b sung ho c vi c máy tính Cronos thình c uầ ớ ị ụ ổ ặ ệ ầ
đ i v i máy ch Hera; anh ta ch c n l u ý t i h th ng t p tin đố ớ ủ ỉ ầ ư ớ ệ ố ệ ược gi i h n;ớ ạ
do ki u k t n i không đ ng đ u các h th ng t p tin trong m ng c c b ể ế ố ồ ề ệ ố ệ ạ ụ ộ
Thí d v h th ng t p tin phân b trong Unix: ụ ề ệ ố ệ ổ
H th ng t p tin ki u AFS (ệ ố ệ ể anderew file system), do trường đ i h cạ ọ AcrnegieMellon đ xề ướng, đã tr giúp m t hình d ng t p tin đ ng đ u toànợ ộ ạ ệ ồ ề
c c và đụ ược b tr b i h th ng t p tin phan b DFFS (ổ ợ ở ệ ố ệ ổ distribute gile system)
cho ccs gói tin DCE. Đ i v i m i t p tin, đi u đố ớ ỗ ệ ề ược quy t đ nh là; li u nó t nế ị ệ ồ
t i m t cách c c b hay kho ng cách (?) và sau đó, nó đạ ộ ụ ộ ả ượ ổc t ch c truy c pứ ậ
nh th nào (?). Do v y, các c hi u thay th đư ế ậ ờ ệ ế ượ ử ục s d ng đ trao đ i d li uể ổ ữ ệ
và trao đ i giao th c gi a các máy tính (xem hình 6.17).ổ ứ ữ
Thí d v h th ng t p tin m ng Unix: ụ ề ệ ố ệ ạ ở
H th ng t p tin m ng NFT (ệ ố ệ ạ network file system) được công ty máy tính SUN phát tri n cho h đi u hành Unix và để ệ ề ược ph bi n r ng rãi các n b nổ ế ộ ở ấ ả khác nhay c a Unix, ph n m r ng c a nó đủ ầ ở ộ ủ ược kh ng đ nh hẳ ị ướng theo ki uể không đ ng nh t. Xu t phát đi m là, m t hay nhi u máy tính ch d ch v t pồ ấ ấ ể ộ ề ủ ị ụ ệ tin t n t i trong m ng, chúng s dùng chung m t h th ng t p tin. N u m tồ ạ ạ ẽ ộ ệ ố ệ ế ộ máy tính mu n s d ng m t l nh đ c bi t muont() đ phân tán cây th m cố ử ụ ộ ệ ặ ệ ể ư ụ
Trang 12h đi u hành Windows NT,có hai c ch khác nhau đ truy c p các t p
tin c a các máy tính khác nhaụ C ch th nh t dùng d ch v k t n i oủ ơ ế ứ ấ ị ụ ế ố ả
(symbilic links), mà đi u này đã đề ược trình bày trong m c 4.2.2 trên. Trong câyụ ở
th m c có các thi t b có đư ụ ế ị ường d n \Device, m t b kích t o đ c bi t đẫ ộ ộ ạ ặ ệ ượ ctreo vào cho m i lo i t p tin m ng (thí d : h th ng t p tin ki u giao th c l pỗ ạ ệ ạ ụ ệ ố ệ ể ứ ặ
t i MS, h th ng t p tin m ng Novell ); mà phạ ệ ố ệ ạ ương pháp phân tích c a chúngủ
(parse methode) d n t i vi c t o l p m t k t n i m ng hay d n t i vi c đ cẫ ớ ệ ạ ậ ộ ế ố ạ ẫ ớ ệ ọ
ch n h th ng t p tin m ng. N u bây gi , ngọ ệ ố ệ ạ ế ờ ười ta t o l p m t tên g i choạ ậ ộ ọ thi t b (ch ng h n V: ) trên b kích t o m ng này; do đó, nó s đế ị ả ạ ở ộ ạ ạ ẽ ược làm thích ng m t cách t đ ng khi m m t t p tin. hình 6.7, ngứ ộ ự ộ ở ộ ệ Ơ ười ta nhìn th yấ
k t qu c a tên t p tin đế ả ủ ệ ược chuy n hể ướng ki u nh th ể ư ế
hçnh 6.7 trang 224
C ch th hau s d ng khuôn kh cây th m c c a Microsoft UNCơ ế ứ ử ụ ổ ư ụ ủ
(Universal naming convention); trong đó, t t c các tên th m c c a m ng đấ ả ư ụ ủ ạ ượ c
b t đ u b ng ký t hai d u g ch xiên ph i “\\”. N u h th ng con Windows32ắ ầ ằ ự ấ ạ ả ế ệ ố
nh n bi t r ng, m t cái tên nh v y đậ ế ằ ộ ư ậ ược s d ng; do đó, nh thi t b DOS,ử ụ ờ ế ị
th m c “\\” đã đư ụ ược thay th b i th m c “UNC:” m t cách t đ ng. Do đó,ế ở ư ụ ộ ự ộ
m t k t n i o /9ộ ế ố ả symbolic link) được d n t i cho b kích t o tên MUP, g i làẫ ớ ộ ạ ọ
b đa lo li u ộ ệ (multi provide). Bây gi b này dò h i v i m t giao th c IRP t iờ ộ ỏ ớ ộ ứ ạ
b qu n lý đăng ký t p tin m ng, ti u tên độ ả ệ ạ ệ ường d n phù h p đã nh n bi tẫ ợ ậ ế
ch ẳ). N u đó là trư ế ường h p đợ ược nh n th y kh p n i, thì do đó, dãy tu nậ ấ ở ắ ơ ầ
t quy t đ nh cho vi c đăng ký c a b qu n lý t p tin trong ngân hàng d li uự ế ị ệ ủ ộ ả ệ ở ữ ệ
được đăng ký
Gi i pháp tên t p tin v i th m c UNC: ả ệ ớ ư ụ
Đ u tiên, chúng ta mu n m tên t p tin \textserver\public\text.doc. Sau đó,ầ ố ở ệ
vi c dò h i này đệ ỏ ược chuy n t i UNC:\textserver\public\text.doc. Bây gi , t bể ớ ờ ừ ộ kích t o thi t b MUP, chu i ký t tin textserver\public\text.doc s đạ ế ị ỗ ự ẽ ược chuy nể
ti p t c t i b kích t o v ế ụ ớ ộ ạ ầ g i l p (redirector) h th ng t p tin m ng ở ặ ệ ố ệ ạ và cũng
nh phư ương pháp phân tích giao d ch thông đi p đị ệ ược g i t ị M i b kích t oọ ớ ỗ ộ ạ
s dò h i v vi c k t n i m ng c a nó t i máy ch qu n lý t p tin, li u t p tinẽ ỏ ề ệ ế ố ạ ủ ạ ủ ả ệ ệ ệ này có còn t n t i không? N u có nó x m cho cái đó m t s k t n ịồ ạ ế ẽ ở ộ ự ế ố
cây th m c c a Windows NT cũng nh t i h th ng t p tin NFS,
Trang 136.2.2 K t n i trao đ i thông tinế ố ổ
Đ th c thi vi c trao đ i thông tin trong m ng, các ki u quy ể ự ệ ổ ạ ể ước tên trong
m ng ph i s d ng t i nhi u c ch khác nhau. Sau đây chúng ta s l n lạ ả ử ụ ớ ề ơ ế ẽ ầ ượ t
kh o sát các c ch đó.ả ơ ế
Trao đ i thông tin ki u n i c ng (ports)ổ ể ố ổ
đây ý t ng v các đi m trao đ i thông tin đã ch p nh n: m i máy tính
chi m m t đi m cu i c a trao đ i thông tin m ng t i h th ng có nhi u k tế ộ ể ố ủ ổ ạ ạ ệ ố ề ế
n i trao đ i thông tin. giao di n t i l p TCP/IP, đó là nh ng c ng ố ổ Ở ệ ớ ớ ữ ổ (ports) k tế
n i; nh ng c ng này đã đố ữ ổ ược đáng s , g i là đ a ch s Vài trong các s c ngố ọ ị ỉ ố ố ổ
16 Bit đượ ắc s p x p cho m t k t n i m t d ch v đ c bi t, g i là Well knownế ộ ế ố ộ ị ụ ặ ệ ọ oprt number, mà người ta có th chuy n thông tin t i đó. Hình 6.8 ch ra danhể ể ớ ỉ sách s c ng c a các d ch v , v i s s p x p này, ngố ổ ủ ị ụ ớ ự ắ ế ười ta tìm th y trongấ ở Unix các d ch v t p tin /ect/services.ị ụ ệ
Người ta có th so sánh m t đi m trao đ i thông tin nh v y v i m t h p ể ộ ể ổ ư ậ ớ ộ ộ
th ư (mailbox), nó cũng gi ng nh vi c trao đ i thông tin đố ư ệ ổ ược d n ra trong ẫ ở
m c 2.4.1 trên. Đ i v i d ch v h p th , h đi u hành ph i t o nên hai hàng ụ ở ố ớ ị ụ ộ ư ệ ề ả ạ
đ i: m t cho các thông tin k t n i và m t cho các thông tin g i t i. Ngoài ra, ợ ộ ế ố ộ ở ớ
m i hàng đ i ph i đỗ ợ ả ược đ m b o v i m t c hi u.ả ả ớ ộ ờ ệ
S t ng h p các th m c này và các c u trúc d li u t o thành m t l p, màự ổ ợ ư ụ ấ ữ ệ ạ ộ ớ
l p này đớ ược ghi l i trên các c ng và nó có th xem xét nh là đi m cu i c aạ ổ ể ư ể ố ủ
vi c trao đ i thông tin gi a các ti n trình. M t s k t n i trao đ i thông tin gi aệ ổ ữ ế ộ ự ế ố ổ ữ
ti n trình A và ti n trình B đế ế ược mô t nh sau:ả ư
hình 6.8 trang 226
Thí d v trao đ i thông tin ki u k t n i TLI: ụ ề ổ ể ế ố
V i h đi u hành Unix System V, n b n s 3 d n ra m t giao di n TLIớ ệ ề ấ ả ố ẫ ộ ệ
(transport layer interface) Giao di n này bao g m m t t p tin th vi nệ ồ ộ ệ ư ệ (libnsl.a), g i là th vi n d ch v m ng ọ ư ệ ị ụ ạ (network service library:libnsl); đ ngồ
th i, nó cũng ph lên c l p v n chuy n. M t ki u d dàng và t t h n đờ ủ ả ớ ậ ể ộ ể ễ ố ơ ượ c
m t u e ban tiêu chu n hoá X/Open ch p nh n nh là m t giao di n chuy nộ ỷ ẩ ấ ậ ư ộ ệ ể
v n nâng cao ETI ậ (extended transport interface). Hình 6.9 mô t m t s trao đ iả ộ ự ổ thông tin ki u này. Trong giao di n TLI, m t ti n trình có th trao đ i thông tinể ệ ộ ế ể ổ
đ ng b hay không đ ng b tu theo cách ch n; giao di n này, vi c trao đ iồ ộ ồ ộ ỳ ọ ở ệ ệ ổ thông tin ch có th là đ ng b Vì l p chuy n v n x y ra th t rõ ràng, cho nên,ỉ ể ồ ộ ớ ể ậ ả ậ
người ta có th không c n gây nh hể ầ ả ưởng lên các tham s khác nhau, thí d lênố ụ
Trang 14giao th c TCP/IP. Đi u này có th gây nên nh ng b t l i mà sau này ngứ ề ể ữ ấ ợ ười ta
c n ph i xem xét t i.ầ ả ớ
hình 6.9 trang 226
Trao đ i thông tin ki u h c ổ ể ố (socket’s communication):
M t ki u trao đ i thông tin d ng logic ti p theo độ ể ổ ạ ế ược g i trao đ i thông tinọ ổ
ki u h c ể ố (socket model). Ki u này để ượ ổc t ch c nh m t ki u trao đ i thông tinứ ư ộ ể ổ
đ nh hị ướng đi m theo hàng đ i. Nó có s khác nhau gi a máy ch ể ợ ự ữ ủ (server) và máy khác (client): máy ch thính c u s trao đ i thông tin v i kh năng c aủ ầ ự ổ ớ ả ủ mình và ch đ i khách hàng; còn khách hàng mu n t o m t s trao đ i thông tinờ ợ ố ạ ộ ự ổ
v í máy ch Đ u tiên, c hai mu n t o ra s trao đ i socket v i g i h th ngơ ủ ầ ả ố ạ ự ổ ớ ọ ệ ố socket(). Các th t c ti p theo cho phép k t n i trao đ i thông tin t i m t c ng.ủ ụ ế ế ố ổ ớ ộ ổ Tên c a ti n trình g i đủ ế ọ ược ghi v i m t g i h th ng bind() vào trong h th ng.ớ ộ ọ ệ ố ệ ố Khi đó, ti n trình server ch đ i v i g i h th ng listen(), cho t i khi, v i g iế ờ ợ ớ ọ ệ ố ớ ớ ọ
h th ng connet(), m t ti n trình client yêu c u m t k t n i t i nó. N u clientệ ố ộ ế ầ ộ ế ố ớ ế
được đáp ng, do đó, ti n trình server s làm vi c k t n i v i g i h th ngứ ế ẽ ệ ế ố ớ ọ ệ ố accep() và s trao đ i thông tin th c s b t đ u. Hình 6.10 lad di n bi n c aự ổ ự ự ắ ầ ễ ế ủ giao th c trao đ i thông tin ki u socket.ứ ổ ể
hçnh 6.10 trang 227
K t thúc trao đ i thông tin ki u socket v i g i h th ng thông d ng close(),ế ổ ể ớ ọ ệ ố ụ
đi u có th d n t i là, li u các s li u đề ể ẫ ớ ệ ữ ệ ược g i theo hàng đ i hay đớ ợ ược d pậ
t t(?).ắ
Nh ng k t n i trao đ i thông tin ki u socket gi a các ti n trình trên các máyữ ế ố ổ ể ữ ế tính m ng c c b là có th , và do đó, chúng đem l i m t kh năng trao đ iạ ụ ộ ể ạ ộ ả ổ thông tin gi a các ti n trình; quá trình trao đ i này thì đ c l p v i slai l ch t oữ ế ổ ộ ậ ơ ị ạ
l p c a ti n trình.ậ ủ ế
Trao đ i thông tin ki u đ nh tên đổ ể ị ường ng (named pipe):ố
M t ki u trao đ i thông tin quan tr ng n a độ ể ổ ọ ữ ược d n t i; đó là ki u đ nh tênẫ ớ ể ị
đường ng (named pipe), cũng còn g i ki u đố ọ ể ường ng (ố pipesline): Trong Unix,
MSDOS và các h đi u hành tệ ề ương ng, m t đứ ọ ường ng ki u xây hai hayố ể nhi u t p tin có th đ c vi l i v i nhau, mà trên đó, m t nhóm các ti n trình cóề ệ ể ọ ế ạ ớ ộ ế
th truy c p để ậ ựơc. Th t v y, n u m t t p tin ki u nh th đậ ậ ế ộ ệ ể ư ế ượ ạc t o nên m tộ máy tính k t n i m ng, do đó, ngế ố ạ ười ta có th truy c p h th ng t p tin m ng,ể ậ ệ ố ệ ạ
và vì v y, m t s trao đ i thông tin gi a các ti n trình c a các máy trong m ngậ ộ ự ổ ữ ế ủ ạ
được th c hi n.ự ệ
Trang 15Thí d v trao đ i thông tin ki u đ nh tên đ ụ ề ổ ể ị ườ ng ng Unix: ố ở
Kh năng trao đ i thông tin ki u pipesline trong m ng máy tính thì khôngả ỏ ể ở ạ
d n t i v i t p tin NFS (ẫ ớ ớ ệ network file system), vì các xâu t p tin ki u pipesline ệ ể ở trong Unix được t o nên nh là nh ng thi t b đ c bi t b i g i h th ngạ ư ữ ế ị ặ ệ ở ọ ệ ố mknode(). Thu c vào các t p tin ki u pipesline có m t b kích t o, mà thay vìộ ệ ể ộ ộ ạ
s d ng b nh đĩa c ng, nó s d ng b đ m c a h đi u hành đ l u trử ụ ộ ớ ứ ử ụ ộ ệ ủ ệ ề ể ư ữ trung gian và t o l p các hàng đ i d li u ki u FIFO.ạ ậ ợ ữ ệ ể
H u h t các xâu t p tin liêut pipesline đầ ế ệ ược s d ng đ trao đ i thông tinử ụ ể ổ
gi a các ti n trình, khi đó, t t c các ti n trình đữ ế ấ ả ế ược tham gia thì đ u trênề ở cùng m t máy tính. khác v i đi u này, Unix system V, dòng l u tr thông tinộ ớ ề ở ư ữ
c a các xâu t p tin ki u pipesline cho phép m t k t n i trao đ i thông tin t iủ ệ ể ộ ế ố ổ ớ
m t ti n trình trên m t máy tính khác.ộ ế ộ
Thí d v trao đ i thông tin ki u đ ụ ề ổ ể ườ ng ng (pipeslien) Windows NT) ố ở
h đi u hành Windows NT, g i h th ng CrêâtNmePipe() đ c dùng đ
t o l p m t k t n i trao đ i thông tin ki u pipesline nh m t b kích t o đ cạ ậ ộ ế ố ổ ể ờ ộ ộ ạ ặ
bi t. Khác v i h th ng t p tin NFS, vi c truy c p trên đ i tệ ớ ệ ố ệ ệ ậ ố ượng được phân bổ theo cây th m c toàn c c trên m ng thì có th đư ụ ụ ở ạ ể ược, vì r ng, các ti n trìnhằ ế
có th để ược trao đ i trên các máy tình khác nhau nh các t p tin ki u pipeslineổ ờ ệ ể
v i các g i h th ng Readfile () và WriteFile(). N u xâu t p tin ki u pipeslineớ ọ ệ ố ế ệ ể
đượ ạc t o ra trên máy ch , do đó, t t c các khách hàng có th s d ng nó choủ ấ ả ể ử ụ
c u trúc này ch tấ ỉ ương thích v i ki u socket Unix. Đ i v i ki u k t n ipipesớ ể ố ớ ể ế ố thu c h đi u hành Unix, đó, m t ti n trình đ c bi t (thí d : b đi u hànhộ ệ ề ở ộ ế ặ ệ ụ ộ ề Unix cho m ng LAN) đạ ượ ạ ậc t o l p
Các d ch v h p th (mailbox):ị ụ ộ ư
Khác v i ki u trao đ i thông tin hai chi u ớ ể ổ ề đi m t i đi m ể ớ ể đã đươc nghiên c uứ cho t i nay, các d ch v h p th nói chung cho phép g i thông tin c a m t ti nớ ị ụ ộ ư ở ủ ộ ế
Trang 16trình t i nhi u ti n trình khác, g i là phớ ề ế ọ ương pháp đa tung (mutlicast), hay
phương pháp tung r ng ộ (brroadcast). Ki u trao đ i thông tin này phù h p choể ổ ợ
vi c g i th tín (k c các t p tin âm thanh và hình nh cũng đệ ở ư ể ả ệ ả ược chuy n đi)ể
t i ngớ ười nh n: v n đ c b n c a vi c nh n là s t n t i m t h p th bênậ ấ ề ơ ả ủ ệ ậ ự ồ ạ ộ ộ ư ở
nh n; n u bên g i không nhân đậ ế ở ược đáp th nào g i t i thì đi u đó ch ng t ,ư ở ớ ề ứ ỏ
b c th đã đứ ư ược chuy n t i h p th c a ngể ớ ộ ư ủ ười nh n. Tuy nhiên, vi c nh nậ ệ ậ
nh ng thông tin c a máy ch v n b trói bu c b i nhi u gi i h n, mà các gi iữ ủ ủ ẫ ị ộ ở ề ớ ạ ớ
h n này thì ph thu c m nh m vào giao th c chuy n v n ạ ụ ộ ạ ẽ ứ ể ậ (tranaport protocol),
b i các l sau đây:ở ẻ
Dãy tu n t các tông tin bên g i thì không gi ng nh bên nh nầ ự ở ở ố ư ậ
Vi c nh n m t thông tin thì ch a hoàn toàn đệ ậ ộ ư ược đ m b o.ả ả
Thí d v các lô th (mails lots) trong Winsdows NT: ụ ề ư ở
đây, h p th thích h p cho m t lô th t i máy ch , khi máy ch đ c
t o m t g i h th ng CreateMailslot(). Vi c g i các thông tin s đạ ộ ọ ệ ố ệ ở ẽ ược chuy nể
đi khi t i các máy khách có g i h th ng Writèile() và vi c trao đ i thông tin sạ ọ ệ ố ệ ổ ẽ
được k t thúc b i g i h th ng CloseFlie(). Do đó, tên c a m t lô th tín v iế ở ọ ệ ố ủ ộ ư ớ
g i h th ng Cr atile() có đọ ệ ố ề ường d n: ẫ \\ComputerName\mailslot\MailboxName
N u kí t d u ch m đế ự ấ ấ ược dùng cho tên máy tính (ComputerName), do đó,
m t lô th tín c c b trên máy tính độ ư ụ ộ ở ược thích h p v i tên MailboxName; cònợ ớ
n u, tên máy tính đế ược thay th b ng m t cái tên khác, do đó, máy tính này sế ằ ộ ẽ
được vi t tên tr c ti p. N u tên máy tính là tên máy t nh vùng ế ự ế ế ỉ (domâinNme), do
đó, các thông tin được g i đ n t t c các máy tính trong vùng, khi dùng ký tở ế ấ ả ự
“” cho tên máy tính, thì có m t trao đ i thông tin ki u broadcast (tung r ng)ộ ỏ ể ộ
được th c hi n trên m ng; đó, t t c các máy tính đự ệ ạ ở ấ ả ược c m ng, chúng đ uả ứ ề
có lô th tín v i tên MailboxName. Còn l i, đó là tên c a m t d ch v ; d ch vư ớ ạ ủ ộ ị ụ ị ụ
tr ng đ u tiên s đố ầ ẽ ược thông báo ti p đó.ế
Vì Windows NT, ch các d ch v bi u đ l u thông d li u ở ỉ ị ụ ể ồ ư ữ ệ (data flow
diagram) không đích xác đượ ử ục s d ng cho trao đ i thông tin ki u lô th , do đó,ổ ể ư các gi i h n nói trên c a h p th có giá tr ớ ạ ở ủ ộ ư ị
Ngoài ra, trong Windows NT, chi u dài l n nh t c a thông tin thì ph thu cề ớ ấ ủ ụ ộ
m nh mã vào giao th c chuy n v n đạ ứ ể ậ ược s d ng. Chi u dài này đử ụ ề ược xác
đ nh b i các g i h th ng SendFile() và ReadFile(). giao th c NetDEUI,ị ở ọ ệ ố Ở ứ chi u dài c a thông tin trao đ i ki u đi m t i đi m đ t giá tr l n nh t 64ề ủ ổ ể ể ớ ể ạ ị ớ ấ kByte, còn ki u ể brroadcast đ t giá tr max kho ng 400 Byte.ạ ị ả
Nói chung, ki u ể mailbox khó đ t đạ ược vi c trao đ i thông tin nh thi t k ệ ổ ư ế ể
Dĩ nhiê, n u ngế ười ta gi đ nh có m t l p chu ên v n đ nh hả ị ộ ớ ỷ ậ ị ướng k t n i b nế ố ề
v ng và có các d ch v ki u bi u đ l u thông d li u ữ ị ụ ể ể ồ ư ữ ệ (data flow diagram) đ mả
b o cho giao th c chuy n v n; do đó, ngả ứ ể ậ ười ta ph i d n t i các quy t c bả ẫ ớ ắ ổ
Trang 17sung, cũng g i là các giao th c b sung: Thông tin có ý nghĩa gì? Lúc nào có m tọ ứ ổ ộ
h p th có th độ ư ể ược xoá? Và, v i các thông tin ch a đớ ư ược tr l i c n gi iả ờ ầ ả quy t nh th nào? T lý do này, ngế ư ế ừ ười ta có th xem các d ch v h p th nhể ị ụ ộ ư ư
là m t trung gian đ i v i các d ch v cao h n.ộ ố ớ ị ụ ơ
Các g i th t c cách qu ng (remote procedure calls: RPC) ọ ủ ụ ả
Trong m ng máy tính, có các d ch v m ng di n r ng khác nhau nh thạ ị ụ ạ ệ ộ ư ư
đi n t ho c in n các t p tin trong m ng M t trong các d ch v quan tr ngệ ử ặ ấ ệ ở ạ ộ ị ụ ọ
được nhi u chề ương trình tr giúp, đó là d ch v g i th t c t máy ch quaợ ị ụ ọ ủ ụ ừ ủ máy khách. Ki u g i t t c cách qu ng hay ki u g i hàm cách qu ng ể ọ ủ ụ ả ể ọ ả (remote procedure calls: RPC) ho t đ ng nh m t g i th t c c c b đ n gi n đ i v iạ ộ ư ộ ọ ủ ụ ụ ộ ơ ả ố ớ
ti n trình g i; vi c th c thi m t nhi m v đế ọ ệ ự ộ ệ ụ ược th c hi n t i đó, nhi m v nàyự ệ ạ ệ ụ
đi qua m ng t i m t máy tính khác và các k t q a c a nó tr l i qua m ng t iạ ớ ộ ế ủ ủ ở ạ ạ ớ
ti n trình g i và ti p t c quay vòng.ế ọ ế ụ
Vi c thi t k m t g i th t c r t quan tr ng; nh m c đ t duy cao, ki uệ ế ế ộ ọ ủ ụ ấ ọ ờ ứ ộ ư ể này có th để ược b sung m t cách đ c l p v i c u trúc và thi t b , nó đ m b oổ ộ ộ ậ ớ ấ ế ị ả ả
nh là m t c ché v n năng cho nh ng ng d ng c a h th ng client/server; cư ộ ơ ạ ữ ứ ụ ủ ệ ố ơ
ch này cũng ho t đ ng trong các m ng không đ u.ế ạ ộ ạ ề
Vi c th c thi m t g i h th ng RPC đệ ự ộ ọ ệ ố ược s d ng nh ng th t c có tênử ụ ữ ủ ụ
gi ng nh tên g c, g i là th t c g c ố ư ố ọ ủ ụ ố (stubprocedure), và vì v y, các thông tinậ
được bó l i và g i t i máy ch qua m t l p chuy n v n. Ngoài ra, đ i v i vi cạ ở ớ ủ ộ ớ ể ậ ố ớ ệ
th c thi này, b ng con đự ằ ường g i m t RPC thì tên c a m t th t c mong mu nọ ộ ủ ộ ủ ụ ố
đượ ử ục s d ng cho nó s gi ng nh m t tham s ẽ ố ư ộ ố
T i server, các thông tin đạ ược g p l i và độ ạ ược chuy n cho các th t c v iể ủ ụ ớ
m t g i th t c bình thộ ọ ủ ụ ường. Các k t qu s di chuy n qua các tr m theoế ả ẽ ể ạ
hướng ngượ ạc l i. Hình 6.11 ch ra m t s đ c b n cho m t g i RPCỉ ộ ơ ồ ơ ả ộ ọ .
hçnh 6.11 trang 230
Cũng nh các th t c g i thông thư ủ ụ ọ ường, g i RPC có hai n b n: các g iọ ấ ả ọ RPC b ngăn hãm ti n trình g i, cho t i khi k t qu mong mu n độ ế ọ ớ ế ả ố ược đem l i;ạ còn các g i RPC không đ ng b thông báo ti n trình g i khi các k t qu RPCọ ồ ộ ế ọ ế ả
dược bày ra. Hình 6.12 mô t quá trình g i m t RPC đ ng b ả ọ ộ ồ ộ
hçnh 6.12 trang 231
T i m t th t c, các khuôn dn g c a s li u ph n m m và phàn c ng khácạ ộ ủ ụ ạ ủ ố ệ ầ ề ứ nhau cũng t o ra m t v n đ c n quan tâm; nh ng khuôn d ng này đạ ộ ấ ề ầ ữ ạ ược sử
d ng các h th ng máy tính khác nhau. N u chúng ta b t đ u v i ph n c ng,ụ ở ệ ố ế ắ ầ ớ ầ ứ
gi s có m t s nguyên 32 Bit (bao g m 4 Byte), chúng ta s th c hi n ki u 1ả ử ộ ố ồ ẽ ự ệ ể
Trang 18v i các Byte giá tr cao thì b trí đ a ch Byte th p, còn ki u 2 v i các Byte giá trớ ị ố ị ỉ ấ ể ớ ị
th p thì b trí đ a ch Byte cao. Hình 6.13 ch ra dãy các Byte trên c u trúc 2 bấ ố ị ỉ ỉ ấ ộ
vi x lý khác nhau.ử
hçnh 6.13 trang 231
Kích c các s d u ph y trôi (theo chu n IEEE 1985: ph n đ nh tr 23 Bit, sỡ ố ấ ẩ ẩ ầ ị ị ố
mũ 8 Bit, ký hi u 1 Bit) r t khác nhau, nó gi ng nh vi c mã hoá các ch cáiệ ấ ố ư ệ ữ (mã ASCII và mã EBCDIC)
L p đ d n t i ccs gói tin xu t/nh p và k t qu ph i trù tính các nghiv n vàớ ể ẫ ớ ấ ậ ế ả ả ấ
ph i bi n há ccs d li u gi a hình thái l thu c hình d ng đĩa và đ i di n c aả ế ữ ệ ữ ệ ộ ạ ổ ạ ệ ủ
nó khi trao đ i thông tin qua l i.ổ ạ
M t nhi m v ti p theo là làm thích h p các d li u khi x p hàng đ t oộ ệ ụ ế ợ ữ ệ ế ể ạ trình biên d ch trên đ a ch b nh , các b vi x lý nh th s t ch i vi cị ở ị ỉ ộ ớ ộ ử ư ế ẽ ừ ố ệ truy c p lên m t s , n u con s này không b t đ u b i m t đ a ch đúng hayậ ộ ố ế ố ắ ầ ở ộ ị ỉ không b t đàu b ng các chu trình c n thi t. T lý do này, các trình biên d chắ ằ ầ ế ừ ị
được x lý, n u chúng mu n l u tr m t s m t b n ghi theo m t ch cáiử ế ố ư ữ ộ ố ở ộ ả ộ ữ
trước m t ký t tr ng.ộ ự ố
Thí d v g i th t c cách qu ng Unix: ụ ề ọ ủ ụ ả ở
Ki u g i RPC trong Unix để ọ ở ược th c hi n v i s tr giúo c a các th vi nự ệ ớ ự ợ ủ ư ệ
đ c bi t và nó bao g m 2 l p: l p th nh t là nh ng c ch g i RPC đ i v iặ ệ ồ ớ ớ ứ ấ ữ ơ ế ọ ố ớ các th t c g c ủ ụ ố (stubprrocedure), l p th hai bao g m vi c đóng gói/tháo góiớ ứ ồ ệ các thông tin v i s tr giúp c a ớ ự ợ ủ l p đ i di n d li u nâng cao (extended data ớ ạ ệ ữ ệ representive layer)
Các th t c RPC đủ ụ ược g i tr l i các g i h th ng cao h n hay th p h n.ở ở ạ ở ọ ệ ố ơ ấ ơ
L p cao nh t thì bao g m g i h th ng registerrpc(), mà v i g i h th ng này,ớ ấ ồ ọ ệ ố ớ ọ ệ ố
t i server, m t d ch v (ch ng h n m t th t c) đạ ộ ị ụ ẳ ạ ộ ủ ụ ược thông báo: cho th t củ ụ svr_run(), mà v i th t c này, ti n trình c a server b hãm và ch đ i g i hớ ủ ụ ế ủ ị ờ ợ ọ ệ
th ng RPC; cho th t c callrpe(), mà v i th t c này, ti n trình client g i m tố ủ ụ ớ ủ ụ ế ọ ộ
th t c mong mu n server.ủ ụ ố ở
L p gi a đớ ữ ượ ạ ậc t o l p b i các th t c đ i v i client và server, nh m đi uở ủ ụ ố ớ ằ ề
ch nh các thông s c a giao th c chuy n v n hay đi u ch nh các quy n h n choỉ ố ủ ứ ể ậ ề ỉ ề ạ phép
G i h th ng RPC đọ ệ ố ược th c hi n Unix nh h th ng t p tin m ng;ự ệ ở ờ ệ ố ệ ạ nhi u d ch v v NFC s d ng g i RPC cho vi c th c thi các d ch v này.ề ị ụ ề ử ụ ọ ệ ự ị ụ
Trong các gói ph n m m DCE, h th ng g i RPC đã đen l i m t phầ ề ệ ố ọ ạ ộ ươ ng
hướng gi i quy t khác; các gói tin này, các d ch v trong ngông ng giaoả ế ở ị ụ ở ữ
di n ệ (interface defintion language: IDL) được mô t m t cách tr u tả ộ ừ ượng. M tộ trình biên d ch chuy n đ i các g i th t c thành các g i th t c g c và cùngị ể ổ ọ ủ ụ ọ ủ ụ ố
Trang 19nhau đi u ch nh nhi m v t i m t d ch v b sung c a t t c các server đ aề ỉ ệ ụ ạ ộ ị ụ ổ ủ ấ ả ư vào s d ng; do đó, khách hàng hay ngử ụ ườ ậi l p trình không ph i bi t trả ế ước đó ở máy tính nào, các d ch v c n thi t đị ụ ầ ế ượ ử ục s d ng trong m ng (d ch v các t pạ ị ụ ệ tin hay d ch v toán ).ị ụ
Thí d v g i th th t c Windows NT: ụ ề ọ ủ ủ ụ ở
A.Sinha cho nh n xét (1996): h đi u hành Windows NT, luôn luôn c n t iậ ệ ề ầ ớ
m t công c r ng rãi các g i đ ng b và không đ ng b RPCs. B i l , các g iọ ụ ộ ọ ồ ộ ồ ộ ở ẻ ọ RPCs có th truy c p t i m t ti n trình trên m t máy tramh hay trên m t máyể ậ ớ ộ ế ộ ộ
ch xác đ nh; lúc đó, h th ng này đủ ị ệ ố ược g i là h th ng đ nh họ ệ ố ị ướng thi t b ;ế ị
ng i ra, chúng cũng có th truy c p t i m t thi t b i xác đ nh trên m t máy chờ ể ậ ớ ộ ế ị ị ộ ủ nào đó; lúc đó, h th ng này đệ ố ược g i là h th ng không có k t n i. Do đó, cácọ ệ ố ế ố
c ch m c th p và các giao th c chuy n v n khác nhau s đơ ế ứ ấ ứ ể ậ ẽ ược s d ngử ụ (xem hình 6.41)
hình 6.14 trang 233
Vi c t o d ng cũng nh vi c đóng gói thông tin đ i v i g i RPC đệ ạ ạ ư ệ ố ớ ọ ược đ mả
b o b i các th t c g c; các th t c này s chuy n v n d li u theo ả ở ủ ụ ố ủ ụ ẽ ể ậ ữ ệ ki u đ i ể ạ
di n d li u m ng (network data representation) ệ ữ ệ ạ Các th t c g c không ph iủ ụ ố ả
do ngườ ậi l p trình t t o nên; m t trình biên d ch MIDL (ự ạ ộ ị Microsoft RPC IDL computer) t o ra mã b sung t c u hình các t p tin; mã này đạ ổ ừ ấ ệ ược biên d ch vàị
được k t n i v i chế ố ớ ương trình c a máy ch cũng nh máy khách; và thích ngủ ủ ư ứ
v i các th vi n chuyên d ng trong th i gian x y ra. Nh đó, vi c k t n iớ ư ệ ụ ờ ả ờ ệ ế ố
m ng đ i v i ngạ ố ớ ườ ậi l p trình được thông su t đ y đ Nh ng giao th c đ cố ầ ủ ữ ứ ặ
bi t có th đệ ể ượ ực l a ch n qua ti n t trọ ề ố ở ước tên đường d n c a các d ch vẫ ủ ị ụ mong mu n. Thí d đ yêu c u m t d ch v t i máy tính Myerver c ng (port)ố ụ ể ầ ộ ị ụ ạ ở ổ
2004, giao th c TPC/IP đứ ược s d ng v i dòng l nh: ncacn_ip_cp:ử ụ ớ ệ Myerver[2004]
6.3. H th ng các t p tin trên m ng :ệ ố ệ ở ạ (Network Files System: NFS)
Vi c truy c p lên các t p tin dùng chung v i s tr giúp c a m ng là c sệ ậ ệ ớ ự ợ ủ ạ ơ ở quan tr ng đ i v i nhóm công tác và do v y, đó là m t trong các ch c năng thi tọ ố ớ ậ ộ ứ ế
y u c a k t n i m ng. Do đó, các ph n ti p theo s đem l i m t cáci nhìn t ngế ủ ế ố ạ ầ ế ẽ ạ ộ ổ quát v các v n đ c a h th ng các t p tin phân b và k c các quan h c aề ấ ề ủ ệ ố ệ ổ ể ả ệ ủ chúng s đẽ ược nghiên c u trong h đi u hành Unix và Windows NT. Các hứ ở ệ ề ệ
th ng t p tin khác không trình bày đây.ố ệ ở
Trang 206.3.1. Ng c nh truy c p ữ ả ậ (access sematic)
N u chúng ta kh o sát m t ti n trình đ n l trong m ng, chúng ta th y h ế ả ộ ế ơ ẻ ở ạ ấ ệ
th ng t p tin m ng tố ệ ạ ương đ i đ n gi n: đ đ c/vi t hay đ đ t m t t p tin trênố ơ ả ể ọ ế ể ặ ộ ệ
m t h th ng t p tin c c b ; do đó, đi u này s đ t độ ệ ố ệ ụ ộ ề ẽ ặ ượ ảc c trong d ng các ạnhiêmh v m t h th ng khác, khi đó nó th c hi n các nhi m v nay. Và c ụ ở ộ ệ ố ự ệ ệ ụ ứ
th ti p t c ti p di n t t đ p.ế ế ụ ế ễ ố ẹ
M t khác, đi u này cho th y, n u chúng ta cho phép nhi u ti n trình trong ặ ề ấ ế ề ế ở
h th ng làm vi c trên cùng m t t p tin: sau đó, cái gì s x y ra? V i trệ ố ệ ộ ệ ẽ ả ớ ường
h p này có nhi u phợ ề ương cách đ th c thi trong các h th ng t p tin m ng khácể ự ệ ố ệ ạ nhau và được bi u th là ng c nh truy c p/ chúng ta có th phân bi t các ể ị ữ ả ậ ể ệ
trường h p sau đây:ợ
T p tin ch đ c: ệ ỉ ọ
T p tin có th ch đ c trong m ng. Trệ ể ỉ ọ ạ ường h p, t t c các ti n trình ch aợ ấ ả ế ứ
đ ng các b n sao t p tin; các b n sao này có th đự ả ệ ả ể ược n p vào b đ m hayạ ộ ệ
đượ ưc l u tr vào b nh m t cách tu ý, mà không có v n đ gì.ữ ộ ớ ộ ỳ ấ ề
Ng c nh tác v (operation sematic) ữ ả ụ
Các tác v đ th c hi n các ti n trình t p tin s làm thay đ i dãy các tácụ ể ự ệ ế ở ệ ẽ ổ
v đã đụ ược th c hi n m t cách tu n t N u g i h th ng read() c a ti n trìnhự ệ ộ ầ ự ế ọ ệ ố ủ ế
A là g i h th ng Write() c a ti n trình B; và đ ng th i, g i h th ng read()ọ ệ ố ủ ế ồ ờ ọ ệ ố
c a ti n trình A b t đ u, do đó, ti n trình A s tr i qua s thay đ i g i hủ ế ắ ầ ế ẽ ả ự ổ ở ọ ệ
th ng th hai, mà s thay đ i này đã đố ứ ự ổ ược ti n trình ti p nh n trên t p tin. Vìế ế ậ ệ
v y, trong h đi u hành Unix, đi u này đã đậ ở ệ ề ề ược th c thi, t c là chúng đã thamự ứ chi u nh là ng c nh c a Unix.ế ư ữ ả ủ
Ng c nh h i đàm (session sematic): ữ ả ộ
Nhi u ti n trình làm vi c trên t p tin, do đó, đ u tiên, t t c các ti n trìnhề ế ệ ệ ầ ấ ả ế
nh n m t b n copy c a t p tin, mà b n sao này có th đậ ộ ả ủ ệ ả ể ược các ti n trùnh làmế thay đ i. Đ u tiên, n u m t ti n trình đóng l i m t t p tin, do đó, các b n saoổ ầ ế ộ ế ạ ộ ệ ả
được vi t tr l i. Đi u này có ý nghĩa r ng, n b n c a ti n trình sau cùng (t cế ở ạ ề ằ ấ ả ủ ế ứ
ti n trình đóng t p tin l i) s xoá và đè lên t t c nh ng n b n khácế ệ ạ ẽ ấ ả ữ ấ ả
Ng c nh bi n đ ng (tr nction sematic): ữ ả ế ộ ấ
Bán phát th o v ho t đ ng (mà không th phân nh đả ề ạ ộ ể ỏ ược n a) đữ ược sử
d ng đây, nó có th t n t i m t cách đ y đ trong dãy tu n t đụ ở ể ồ ạ ộ ầ ủ ở ầ ự ược chuyên
Trang 21dungnjn ho c hoàn tàon không t n t i (xem bi n c nhân t m c 2.4). N uặ ồ ạ ế ố ử ở ụ ế chúng ta m và tu ch nh m t t p tin, do đó, h th ng t p tin m ng s đ m b oở ỉ ộ ệ ệ ố ệ ạ ẽ ả ả
r ng, đi u đó s x y ra m t cách đ c l p v i t t c các ti n trình khác trongằ ề ẽ ả ộ ộ ậ ớ ấ ả ế ở quá trình làm vi c riêng l Trong các quá trình này, t p tin đệ ẻ ệ ược ngăn hãm vi cệ truy c p nh m t ti n trình khác.ậ ờ ộ ế
Quá trình làm vi c c th m t nhóm ng c nh thì ph thu c m nh mệ ụ ể ở ộ ữ ả ụ ộ ạ ẽ vào ki u nào để ược đem th c thi. Do đó, d n t i v n đ , nh ng tác d ng c thự ẫ ớ ẫ ề ữ ụ ụ ể
c a m t ki u nào đó còn ph thu c vào các b đ m và giao th c th c thi.ủ ộ ể ụ ộ ộ ệ ứ ự
N u chúng ta kh o sát thí d ng c nh tác v ; chúng ta th y r ng, ti n trìnhế ả ụ ữ ả ụ ấ ằ ế
B vi t m t cái gì đó lên t p tin, còn ti n trình A đ c t p tin. T i th i đi m cế ộ ệ ế ọ ệ ạ ờ ể ả hai nhi m v đ t đệ ụ ạ ược máy ch (qu n lý files) theo m t dãy tu n t , mà dãyủ ả ộ ầ ự
tu n t này ph thu c vào ki u m ng đầ ự ụ ộ ể ạ ượ ử ục s d ng,vào giao th c m ng và vàoứ ạ
s ch u t i c a ca máy tínhâthm gia. Gi s , ti n trình A đ c các d li u hi nự ị ả ủ ả ử ế ọ ữ ệ ệ hành được vi t b i ti n trình B hay ph thu c vào vi c th c thi, mà không phế ở ế ụ ộ ệ ự ụ thu c vào ng c nh h i đàm này.ộ ữ ả ộ
V n đ còn l i là, n u m t ng c nh này đấ ề ạ ế ộ ữ ả ược th c thi m t cách c c bự ộ ụ ộ trong m t h đi u hành, thì m t ng c nh khác độ ệ ề ộ ữ ả ược th c thi trong m ng. N uự ạ ế ccs ti n trình tham gia đế ược khoanh vùng m t ph n lên các máy tính này và m tộ ầ ộ
ph n lên các máy tính khác trong m ng và chúng đ u làm vi c trên các t p tin,ầ ở ạ ề ệ ệ
do đó, người ta ph i đ t k ho ch liên h p các ti n trình c a m t h th ng m tả ặ ế ạ ợ ế ủ ộ ệ ố ộ cách th n tr ng đ lo i tr đậ ọ ể ạ ừ ược các ch c năng l i.ứ ỗ
6.3.2. Máy ch có tr ng thái và không có tr ng tháiủ ạ ạ
Nói m t cách r ng ra, t i các k t n i trao đ i thông tin, chúng ta ph i phânộ ộ ạ ế ố ổ ả
bi t, chúng đệ ược d n t i nh m t giao th c k t n i (g i là trao đ i thông tinẫ ớ ờ ộ ứ ế ố ọ ổ không có k t n i). Chúng ta có th t o ra m t s phân bi t nh th khi truy c pế ố ể ạ ộ ự ệ ư ế ậ lên h th ng t p tin trong m ng. N u m t têph tin đệ ố ệ ở ạ ế ộ ược m , nh m truy c pở ằ ậ lên nó, thì do đó, các c u trúc t p tin đ t bi t s đấ ệ ặ ệ ẽ ượ ạc t o ra khi trao đ i thôngổ tin được đ nh hị ướng k t n i trong máy ch , các quy n truy c p s đế ố ở ủ ề ậ ẽ ượ c
ki m tra và vi c truy c p s để ệ ậ ẽ ược đăng ký. Đ i v i khách hàng, s nh n bi tố ớ ự ậ ế này s đẽ ược chuy n giao, do v y, t t c các tác v ti p theo read() và write()ể ậ ấ ả ụ ế
v i s nh nbi t này có th đớ ự ậ ế ể ược x lý ngay.ử
Qua đó, máy ch đã t o nên m t tr ng thái xác đ nh; đ u tiên, m t s k tủ ạ ộ ạ ị ầ ộ ự ế thúc vi c truy c p v i close() có tác d ng xoá thông tin qu n lý và có tác d ngệ ậ ớ ụ ả ụ
tr l i t do cho b nh đã b chi m ch M t s di n bi n ch a đ ng tr ngả ạ ự ộ ớ ị ế ỗ ộ ự ế ế ứ ự ạ thái nh th có các u đi m sau đây:ư ế ư ể
Truy c p nhanh h n: ậ ơ
Trang 22Vi c truy c p ti p theo lên các t p tin x y ra nhanh, vì không có các s chệ ậ ế ệ ả ự ỉ
d n c a đ a ch ngẫ ủ ị ỉ ườ ử ụi s d ng t i m t trong các nhi m v đ đ c/vi t, choớ ộ ệ ụ ể ọ ế nên, chúng s y ra ng n h n và nhanh h n đ chuy n v n qua m ng, và cũngả ắ ơ ơ ể ể ậ ạ
c n thi t ph i ki m tra các ch d n t i các nhi m v khác, trầ ế ả ể ỉ ẫ ớ ệ ụ ước khi có th ti nể ế hành truy c p t p tin.ậ ệ
B đ m Cache hi u nghi m h n: ộ ệ ệ ệ ơ
Vì t t c các ch d n v tr ng thái truy c p lên máy ch đấ ả ỉ ẫ ề ạ ậ ủ ược d n ra, choẫ nên, các chi n lế ược v b nh đ m Cache hi u nghi m đ i v i t p tin nh mề ộ ớ ệ ệ ệ ố ớ ệ ằ tăng t c đ vi c truy c p.ố ộ ệ ậ
Tránh đ ượ c các b n sao nhi m v : ả ệ ụ
Nh vi c d n t i m t s th ng tin đ i v i m t t p tin, các b n sao m tờ ệ ẫ ớ ộ ố ố ố ớ ộ ệ ả ộ nhi m v nh th có th đệ ụ ư ế ể ược thu x p, mà các b n sao này đế ả ượ ạc t o trong các náy tính trung gian
Đi u ki n ngăn hãm t p tin: ề ệ ệ
Đ i v i ng c nh bi n đ ng, các t p tin có th ch p nh n tr ng thái ố ớ ữ ả ế ộ ệ ể ấ ậ ạ ngăn hãm. Đ i v i ngân hàng d li u, đi u đó r t quan tr ng.ố ớ ữ ệ ề ấ ọ
Tuy nhiên, các máy ch có bao hàm tr ng thái cũng còn t n t i nhi u v nủ ạ ồ ạ ề ấ
đ , mà nh ng v n đ này trề ữ ẫ ề ở ường h p máy ch không bao hàm tr ng thái l iợ ủ ạ ạ cho phép:
R ng máy tính ụ (client crash)
N u m t náy khách b r ng và v i cái đó, chìa khoá truy c p t p tin b lácế ộ ị ụ ớ ậ ệ ị quên, do v y, t p tin luôn luôn b nh và các thông tin qu n lý chi m m t chậ ệ ỏ ỏ ả ế ộ ỗ không c n thi t.ầ ế
Trang 23 S l ố ượ ng các t p tin đ ệ ượ ử ụ c s d ng đ ng th i hay b gi i h n: ồ ờ ị ớ ạ
Vi c che ph b nh t i máy ch đ i v i các thông tin tr ng thái đã làm h nệ ủ ộ ớ ạ ủ ố ớ ạ ạ
ch s lế ố ượng các têph tin được m đ ng th ịở ồ ờ
M t máy ch không có tr ng thái là d a theo nguyên t c c a b dung th l iộ ủ ạ ự ắ ủ ộ ứ ỗ
và không đòi h i chi phí đ t o t p m t s k t n i trao đ i thông tin; t i cácỏ ể ạ ậ ộ ự ế ố ổ ạ
d ch v đ nh hị ụ ị ướng tr ng thái, nó còn t n t i nhi u v n đ nh vi c ngăn hãmạ ồ ạ ề ấ ề ư ệ
m t t p tin hay vi c lo i b các b n sao nhi m v ộ ệ ệ ạ ỏ ả ệ ụ
Thí d v máy ch qu n lý h th ng t p tin mangnj và b đi u hành khoá ụ ề ủ ả ệ ố ệ ộ ề
m ng Unix: ạ ở
Máy ch qu n lý h th ng t p tin NFS thủ ả ệ ố ậ ường hay được s d ng, nh t làử ụ ấ
đ i v i máy ch không trn g thái, mà nó có th v a làm nhi m v máy ch v aố ớ ủ ạ ể ừ ệ ụ ủ ừ
đ ng th i làm máy khác. G i open() đ m m t têph tin m ng s đồ ờ ọ ể ở ộ ạ ẽ ược d ch raị lênh lookup() trên máych ; l nh này ch n ra m t tham chi u 32 Byte nh mở ủ ệ ọ ộ ế ằ
gi m nh vi c truy c p đ i v i t p tin và n p trên máy khách. T t c các tr ngả ẹ ệ ậ ố ớ ệ ạ ấ ả ạ thái (nh tr ng thái hi n hành c a t p tin ) đư ạ ệ ủ ệ ược n p trên máy khách. Th tạ ậ
v y, bên c nh các d li u, các g i h th ng read() và write() còn g i đi thamậ ạ ự ệ ọ ệ ố ớ chi u t p tin máy ch , tr ng thái t p tin Đ i v i vi c th c thi ng c nh bi nế ệ ủ ạ ệ ố ớ ệ ự ữ ả ế
c , m t kh năng ngăn hãm t p tin ph i đố ộ ả ệ ả ượ ồ ạ (looking), và cài gì sẽ c t n t i không t n t i máy ch không tr ng thái n ẳ). Cho nên, công ty SUN đãồ ạ ở ủ ạ ữ quy t đ nh, sau khi xu t hi n h th ng NFS, c 3 năm l i d n ravi c khoá t pế ị ấ ệ ệ ố ứ ạ ẫ ệ ệ tin cho h th ng NFS. Vì giao th c NFS là ki u không tr ng tháu ệ ố ứ ể ạ (unstate), nên
d ch v này đị ụ ược làm đ y b i d ch v RPC, và đầ ở ị ụ ược g i chung là b đì u hànhọ ộ ề khoá m ng NML (ạ network looking manager), d ch v này đòi h i m t s tácị ụ ỏ ộ ự
d ng t ng h p v i nhi u giao th c và nhi u d ch v Vi c cùng tác d ng nàyụ ổ ợ ớ ề ứ ề ị ụ ệ ụ
được phân bi t trên các h th ng Unix khác nhau, vì th nh tho ng các c chệ ệ ố ỉ ả ơ ế khoá c c b v n t n t ịụ ộ ẫ ồ ạ
h đi u hành Unix Berkeley, ti n trình lookd đ m nh n ph m quy n đ i
v i ti n trình ớ ế file looking (khoá t p tin) ti n trình này t n t i trong m t máy tínhệ ế ồ ạ ộ
và th c hi n các d ch v nh vi c trao đ i thông tin. Hình 6.15 ch ra m t quáự ệ ị ụ ờ ệ ổ ỉ ộ trình nh v ỵư ậ
hình 6.15 trang 237
Quá trình này bao g m các bồ ước sau đây :
(1). Chương trình này s d ng trên máy tính A làm trì hoãn m t g i h th ngử ụ ộ ọ ệ ố
đ ngăn hãm ph m vi m t t p tin.ể ạ ộ ệ
Trang 24(2). Khoá trình di n c a máy tính A nh n c a môđun nhân (c a h đi u hànhể ủ ậ ủ ủ ệ ề NFS Client ) m t nhi m v khoá cho máy tính B.ộ ệ ụ
(3). Khoá trình di n c a máy tính A đăng ký mi m v t i m t b ki m tra tr ngể ủ ệ ụ ạ ộ ộ ể ạ thái c a máy tính A b ng m t th t c RPC (g i th tuc cách quãng)ủ ằ ộ ủ ụ ọ ủ
(4). B ki m tra tr ng thái máy A báo cho b ki m tra tr ng thái giao d ch c aộ ể ạ ộ ể ạ ị ủ máy tính B . Máy này n p tên máy A vào 1 t p tin /etc/smạ ệ
(5). Bây gi ,nhi m v th c th t i các khoá trình di n c a máy B đờ ệ ụ ự ụ ở ạ ễ ủ ượ cchuy n đi b ng th t c RPC.ể ằ ủ ụ
(6). Khoá trình di n máy B đăng kí s ngăn hãm b ki m tra máy B.ễ ự ở ộ ể
(7).Cu i cùng khoá trình di n B ngăn hãm đố ễ ượ ẹc t p tin mong mu n. Ti p theo,ố ế
vi c th c thi đệ ự ược ch ra cho b c m bi n nhi m v ỉ ộ ả ế ệ ụ
Vi c đăng kí b sung nhi m v khoá t i b tr ng thái ki m tra tr ng thái đãệ ổ ệ ụ ạ ộ ạ ể ạ tránh kh i s nguy hi m :khi s p h th ng, 1 t p tin v n t n t i trang thái t doỏ ự ể ụ ệ ố ệ ẫ ồ ạ ự
được khoá. Ta th i đi m s p serve, d ch v khoá s th ngi m 1 cách nguyênị ờ ể ụ ị ụ ẽ ử ệ
t c:ph i t o l p tr l i các b ng t n t i trắ ả ạ ậ ở ạ ả ồ ạ ước đó và dĩ nhiên trên Client và Server đ u cùng bi n pháp. ề ệ
M t tình hu ng khác cũng c n độ ố ầ ược đ c p, n u nhi u client đ u mu nề ậ ế ề ề ố ngăn hãm 1 t p tin, lúc đó, ch có 1 client là đ t m mãn .Bây gi , n u máyẹ ỉ ạ ỹ ờ ế client này b s p, thì nh vi c che ph t p tin c a nó, nó s t hãm cho nó vàị ụ ờ ệ ủ ẹ ủ ẽ ự hãm giúp nh ng client quan tâm khác đây, ch c năng c a các b ki m traữ Ở ứ ủ ộ ể
được b sung thêm :Khi dò h i hãm, chúng ki m tra, li u ti n trình hãm cho t iổ ỏ ể ệ ế ớ đây có còn t n t i không? N u b ki m tra c c b vi t ti n trình ngăn hãm đãồ ạ ế ộ ể ụ ộ ế ế
“ch t”, do đó, vi c ngăn hãm trế ệ ước đó đã b th tiêu và ti n trình dò h i nh nị ủ ế ỏ ậ
t p tin d n t i hãm .ẹ ẫ ớ
Người ta l u ý r ng, giao th c này thì không b o v đư ằ ứ ả ệ ược các h h ng ư ỏ ở trong m ng.Tuy nhiên, m t d ch v phòng ng a trên bình đi n các máy c c bạ ộ ị ụ ừ ệ ụ ộ thì có th đ t để ạ ược, song chi phí đ làm cái đó trong m ng máy tính đ n gi nể ạ ơ ả cũng r t cao, do đó, phấ ương pháp này không được dùng
6.3.3. V n đ b nh Cacheấ ề ộ ớ
Khi nghiên c u các t p tin nh x b nh (xem m c 4.4)và vi c qu n lýứ ẹ ả ạ ộ ớ ụ ệ ả
xu t nh p (xem m c 5.4), chúng ta nh r ng, đây, các chi n lấ ậ ụ ớ ằ ở ế ược b đ mộ ệ
hi u nghi m có th tăng t c dòng l u thông d li u 1 cách đáng k , nh ng v nệ ệ ể ố ư ữ ệ ể ư ẫ còn 1 s v n đ có th t o ra tr ng i. Đó là các h th ng t p tin m ng thì r tố ấ ề ể ạ ở ạ ệ ố ệ ạ ấ khác nhau. Thí d , chúng ta l p m t b đ m trên 1 h th ng máy tính v i ti nụ ậ ộ ộ ệ ở ệ ố ớ ế trình A, do đó, t t c vi c dò h i gi a các ti n trình trên các d li u này có thấ ả ệ ỏ ữ ế ữ ệ ể
được tr l i 1 cách nhanh chóng, vì chúng không ch t t i lên m ng. Tuy nhiên,ả ờ ấ ả ạ các thay đ i ti n trình B b n g c không đổ ế ở ả ố ược quan tâm trên h th ng máy tínhệ ố khác
Trang 25đây, xu t hi n các v n đ v ki u b nh Cachê, mà chúng ta đã tìm hi u
chúng m c 3.5 và 5.4. Hình 6.16 ch ra 1 cách nhìn t ng quan v hình nhở ụ ỉ ộ ổ ề ả các l p tham gia truy n đ t thông tin. Trên m i l p có th có m t b đ m th cớ ề ạ ỗ ớ ể ộ ộ ệ ự thi; đương nhiên, m i l p đ u có th có v n đ riêng c a nó.ỗ ớ ề ể ấ ề ủ
hình 6.16 trang 238
Người ta l u ý r ng, khi làm vi c t i t n s cao, cáp n i m ng ch t trư ằ ệ ạ ầ ố ố ạ ấ ữ thông tin: v i t n s f = 300Hz thì tớ ầ ố ương ng t su t truy n đ t 3.10ứ ỷ ấ ề ạ 8 Bit/sec hay t c đ là hoàn h o xng đi n đ t 3.10ố ộ ả ệ ạ 8 m/sec; gi thi t l u lả ế ư ượng thông tin 1 Bit/sec, n u bây gi ngế ờ ười ta mu n 256 Bit đố ược liên t c n p trên cáp m ng thìụ ạ ạ khi đó kho ng cách t i đa gi a hai máy tính có th đ t đả ố ữ ể ạ ược 256 mét
Chi n lế ược c b n đ gi i quy t v n đ (đơ ả ể ả ế ấ ề ược trình bày trên) là vi c ápở ệ
d ng s pha tr n các phác th o đã quen thu c:ụ ự ộ ả ộ
Vi t l ế ướ i (write through):
N u các b n sao m t t p tin đế ả ộ ệ ược thay đ i, do đó, nhi m v thay đ i sổ ệ ụ ổ ẽ
được chuy n t i b n sao b nh Cache và t i c b n g c máy ch đ đápể ớ ả ở ộ ớ ớ ả ả ố ở ủ ể
người ta thu gom t t c các nhi m v write() thành m t gói tin và đấ ả ệ ụ ộ ược chuy nể
t i máy ch , thì đi u đó đớ ủ ề ược g i là vi t tr , lúc đó, ng c nh c a vi c h p tácọ ế ễ ữ ả ủ ệ ợ
được thay đ i thêm cái gì đó.ổ
Đi u khi n trung tâm (central control): ề ể
Đ thay đ i các b n sao trên các máy tính khác nhau m t cách hi u nghi m,ể ổ ả ộ ệ ệ
h th ng b nh Cache c c b ph i cùng làm vi c v i máy tính ch trung tâm.ệ ố ộ ớ ụ ộ ả ệ ớ ủ
Đi u đó, s x y ra ngay sau m i thay đ i b n g c, ho c ngay khi s d ng t pề ẽ ả ỗ ổ ả ố ặ ử ụ ệ tin. Trong trường h p này, t i m i l n đ c, b đi u hành v Cache s so sánhợ ạ ỗ ầ ọ ộ ề ề ẽ các d li u t p tin (s n b n, t ng ngang c a b đ m ) v i các d li u t pữ ệ ệ ố ấ ả ổ ủ ộ ệ ớ ữ ệ ệ tin c a server. N u d li u này gi ng nhau thì vi c đ c s đủ ế ữ ệ ố ệ ọ ẽ ược d n ra t bẫ ừ ộ
đ m Cache; n u không, thì nhi m v đ c đệ ế ệ ụ ọ ược đ a ti p t i server.ư ế ớ
Vi t khi đóng (write on close) ế :
Trang 26M t quy t đ nh đ đi t i ng c nh tác v là ộ ế ị ể ớ ữ ả ụ ng c nh h p đàm (sesion ữ ả ọ sematic). Đi u đó đ t đề ạ ược, khi g i tr l i b n sao đã đở ở ạ ả ược thay đ i c a t p tinổ ủ ẹ sau khi x y ra ti n trình close() máy ch qu n lý t p tin và đ ng th i th c thiả ế ở ủ ả ệ ồ ờ ự
b n g c. Nhi u b n sao c a t p tin g c có th t n t i trên các máy tính khácả ố ề ả ủ ệ ố ể ồ ạ nhau; v n đ này ph i đấ ề ả ược quan tâm t i ạ ng c nh h p đàm, ữ ả ọ ch không c nứ ầ quan tam nhi u t i b nh Cache.ề ạ ộ ớ
Nói chung, đi u đó nói lên r ng, vi c d n vào b nh Cache trên máy tínhề ằ ệ ẫ ộ ớ Server qu n lý t p tin không nh ng đã tăng gia năng su t, mà còn không hê gâyả ệ ữ ấ cho cái đó đi u gì c Ngề ả ượ ạc l i, vi c s n sàng thi t đ t b nh Cache trên hệ ẵ ế ặ ộ ớ ệ
th ng Client/Server có hi u nghi m h n, m c dù nó cũng còn mang l i vàiố ệ ệ ơ ặ ạ
vướng m c khi x y ra tr ng thái thay đ i t p tin. T lý do này, t i ngân hàng dắ ả ạ ổ ệ ừ ạ ữ
li u phân b t n t i nh ng giao th c ngăn hãm đ t bi t.ệ ổ ồ ạ ữ ứ ặ ệ
Thí d v chi n l ụ ề ế ượ c b nh Cache h th ng t p tin m ng: ộ ớ ở ệ ố ệ ạ
h đi u hành Unix, c ch b đ m cho vi c xu tnh p các t p tin m ra
m t kh năng ng d ng t h th ng t p tin m ng, đ thi t đ t s xu tnh pộ ả ứ ụ ơ ệ ố ệ ạ ể ế ặ ự ấ ậ các g i h th ng RPCs trình di n xu tnh p c s biod (ọ ệ ố ễ ấ ậ ơ ở basic InputOutput Demotration), mà nó yêu c u b sung các kh i d li u k c nh, g i là quá trìnhầ ổ ố ữ ệ ế ạ ọ
đ c trọ ướ (read ahead). N u ti n trình ngc ế ế ừơ ử ụi s d ng đòi h i t i kh i d li uỏ ớ ố ữ ệ
k c nh, do đó, nó s n sàng trong b nh đ m và có th đế ạ ẵ ở ộ ớ ệ ể ược đ c ngay l pọ ậ
t c. Ngứ ượ ạc l i, các d li u c a ti n trình write() đữ ệ ủ ế ược chuy n toéi b đ mể ộ ệ
trước tiên và chúng được g p l i t i các g i h th ng flush() (3 trang đ i v iộ ạ ạ ọ ệ ố ố ớ các d li u, 30 trang đ i v i các th m c) cũng nh g i h th ng sync() (n uữ ệ ố ớ ư ụ ư ọ ệ ố ế không có b đ m nào còn tr ng) và độ ệ ố ược vi t lên đĩa, g i là vi t tr ế ổ ọ ế ễ (delayed
write). N u t p tin b hãm, thì các kh i b nh c a nó s hông đ m thêm: Sauế ệ ị ố ộ ớ ủ ẽ ệ khi vi t, chúng đế ược g i ngay t i Server, g i là vi t qua ở ớ ọ ế (write through). Từ
vi c lý gi này, thành ph n l n nh t c a mã đ i v i ti n trình biod t n t i trongệ ả ầ ớ ấ ủ ố ớ ế ồ ạ nhân h đi u hành.ệ ề
6.3.4 Các ý tưởng th c thi:ự
Có nhi u ý tề ưởng khác nhau v vi c ngề ệ ười ta có th th c thi các h th ngể ự ệ ố
t p tinm ng nh th nào đó! Đ n nay có hai kh năng ph bi n hay đệ ạ ư ế ế ả ổ ế ược nói
t i, đói là các d ch v t p tin nh là các ti n trình đ ng riêng l , hay các d ch vớ ị ụ ệ ư ế ứ ẻ ị ụ
t p tin đệ ượ ạ ậc t o l p nh m t b khích t o đ c bi t trong nhân h đi u hành.ư ộ ộ ạ ặ ệ ở ệ ề Hình 6.17 ch ra c u hình khi u th nh t: đây, ti n hình t n t i trên c haiỉ ấ ể ứ ấ Ở ế ồ ạ ở ả phía Client và phía Server. Người ta lươi ý r ng, các l p c a h đi u hành là đ iằ ớ ủ ệ ề ố
x ng; s khác nhau v t tứ ự ề ư ưởng bi u l ch lo i ti n trình nh n và g i.ể ộ ỉ ở ạ ế ậ ở