1. Trang chủ
  2. » Luận Văn - Báo Cáo

TIỂU LUẬN MÔN HỌC LẬP TRÌNH MẠNG CHƯƠNG TRÌNH MÔ PHỎNG QUÁ TRÌNH PHÁT VÀ NHẬN THÔNG ĐIỆP TRONG HỆ PHÂN TÁN GIỮA 3 SERVER NGANG HÀNG

30 416 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 1,33 MB

Nội dung

MỤC LỤC LỜI NÓI ĐẦU 3 PHẦN I: CƠ SỞ LÝ THUYẾT 4 1. Hệ phân tán (Distributed System): 4 a. Giới thiệu: 4 b. Mục tiêu của hệ phân tán: 5 c. Nguyên tắc xây dựng hệ phân tán: 5 2. Các mô hình hệ phân tán và ứng dụng mạng: 6 2.1 Các lớp phần mềm: 6 2.2 Kiến trúc hệ thống: 6 a. Mô hình ClientServer: 6 b. Mạng máy tính phân tán 8 2.3 Mô hình tương tác trong hệ phân tán: 9 2.4 Nguyên lý hoạt động của giao thức TCPIP 9 a. Mô hình tổng quát của mạng Internet 10 b. Quá trình truyền dữ liệu qua mạng Internet 10 c. Hệ thống địa chỉ và cơ chế truyền dữ liệu trong mạng Internet 12 3. Giới thiệu về lập trình socket – java: 12 a) Định nghĩa: 12 b) Lập trình Socket với TCP 13 c) Lập trình socket với UDP: 14 PHẦN 2: BÀI TOÁN ỨNG DỤNG 16 1. Yêu cầu bài toán: 16 2. Hướng giải quyết bài toán 16 KẾT LUẬN 29 1. Kết quả đạt được: 29 2. Hạn chế và hướng nghiên cứu tiếp theo 29 TÀI LIỆU THAM KHẢO 30 LỜI NÓI ĐẦU Trong những năm qua, cùng với sự phát triển như vũ bão của khoa học kỹ thuật, ngành công nghệ thông tin cũng biến đổi không ngừng để đáp ứng với mọi nhu cầu mới của con người. Trong số những phát minh vĩ đại nhất của thế kỷ trước, mạng máy tính là một hệ thống đem lại nhiều lợi ích to lớn nhất cho nhân loại. Mạng máy tính ngày nay cho phép hàng tỷ máy tính trên trái đất đã và đang kết nối và làm việc với nhau với tốc độ cao. Điều kỳ diệu trên đã trở thành hiện thực và ngày càng phát triển mạnh mẽ hơn nữa chỉ khi có một nhân tố quan trọng làm nền tảng cơ sở lý thuyết cho chúng đã được nghiên cứu. Đó chính là những lý thuyết nghiên cứu liên quan đến hệ phân tán. Nhờ có lý thuyết hệ phân tán, mà các vi xử lý đơn lẻ nằm trên các máy tính đơn lẻ (kèm theo các thiết bị ngoại vi và các thiết bị đầu cuối làm việc từ xa) – mà chúng vẫn thường được gọi là các hệ thống tập trung đã được kết nối lại, làm việc trên nhiều giao thức, nhiều kiểu kết nối và trên nhiều lãnh thổ khác nhau. Và khi các hệ thống tập trung đó đã được kết nối lại theo nhiều nhóm, nhiều cách thức khác nhau và làm việc dựa trên những nguyên lý cơ bản của hệ phân tán thì chúng sẽ được gọi là các hệ thống phân tán, điển hình nhất của các hệ phân tán chính là mạng máy tính mà chúng ta đang sử dụng ngày nay. Sau khi được học hai môn “Hệ tin học phân tán” và môn “Lập trình mạng máy tính” dưới sự giảng dạy nhiệt tình của Thầy PGS.TS Lê Văn Sơn chúng tôi đã tiếp thu được các kiến thức của hai môn học này. Thực hiện sự phân công của Thầy giáo, chúng tôi đã hoàn thành xây dựng tiểu luận “Mô phỏng quá trình phát và nhận thông điệp trong hệ phân tán của 3 server ngang hàng” Được sự hướng dẫn của Thầy giáo Lê Văn Sơn và sự giúp đỡ của các thành viên trong lớp, chúng tôi đã hoàn tất tiểu luận này. Tuy nhiên, với thời gian và kiến thức có hạn, bài tiểu luận chắc chắn sẽ không tránh khỏi những thiếu sót, chúng tôi rất mong nhận được góp ý chân thành của Thầy và các thành viên trong lớp để tiểu luận được hoàn chỉnh hơn.

BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG ĐẠI HỌC ĐÀ NẴNG  TIỂU LUẬN MÔN HC LẬP TRÌNH MẠNG Đề tài: CHƯƠNG TRÌNH MÔ PHỎNG QUÁ TRÌNH PHÁT VÀ NHẬN THÔNG ĐIỆP TRONG HỆ PHÂN TÁN GIỮA 3 SERVER NGANG HÀNG GVHD GVHD : PGS TS Lê Văn Sơn : PGS TS Lê Văn Sơn Học viên Học viên : Nguyễn Thị Hải Hà : Nguyễn Thị Hải Hà Nguyễn Thị Thu Hằng Nguyễn Thị Thu Hằng Lớp Lớp : Khoa học máy tính : Khoa học máy tính Khóa Khóa : 2009-2011 : 2009-2011 Đà Nẵng, 03/2010  MỤC LỤC   !"#$%&'( )*+, /012#3/14 ( 5!,*+,67829 : 5)!,;<= : 55>?@*A : BC!1D#161 : 0C,3E+,F 5CGH,I*+, J 5(3KLIMNOBBI8!D)P BCQR,OB11)P 0S,3=2T*RB11)P *AMUBV67H?3=2T*I11)5 W;*6=/IX1YZB6B )5 B4U[B )5 04#IX16;!) 4/IX16;. )( 5 \]^_`W.aW): )&K<07I, ): 5G;bR3?07I,): >'c5J )>?RbMMGd 5J 5?67G;K8?1I5J ]efC>g^P B15 h)i3jUb7Y3jUk  LỜI NÓI ĐẦU ITlRBmn6;/o,G6p0qIOBXIBXrm 7*p0?MQXsMM,86;< ;OBIGtI/AT,6[MuOB?XvG;m,3 E7N*AM1=dEI;uI+IC,3E 73B3Iw7v,3EK,MuMq67MBX?A6776*6; B6;AMNBI =Xx2*KMqy7*o67737,zH TBVXhN+ARB7=bH/yL3?I@MqMGd K8hE7TL3?K8KRBM?*+,th L3?*+,m7,6{|LMH}ikK,,3EMH}-X~1I ,?0UI667,?0UM<A76*s{B4Y7@6•Gt MGd7,*AMqMGdX?Am76*K=BI8m =XX?A67K=qQX,B€7X,*AMh MqMGdX?A1I=hm=,8X,B6776*2oBK T3KLH0bOB*+,@/zMGd7,*A+ ,mMuOB,*+,E7,3E7@BMB/| 2973B3 #BXMGdB“Hệ tin học phân tán”67“Lập trình mạng máy tính”2G;/ob23*OB<3W##K€l#H@Mq ?MGd,X?8OBB73o*/o+OB<3 ,Im@MqI77{+32o“Mô phỏng quá trình phát và nhận thông điệp trong hệ phân tán của 3 server ngang hàng” Gd/oG;2•OB<3,IK€l#H67/o@M•OB,7 6KI;m@MqI7u733Km6;tB67X? 8hm07‚‚/zX,XƒT?/hm@u IMGdhL+7OB<367,76KI;M MGdI7VH B1 h)i3jUb7Y3jUk  PHẦN I: CƠ SỞ LÝ THUYẾT 1. Hệ phân tán (Distributed System): a. Giới thiệu: *+,7N*AMB2m=7<6786= „u@m76n8*MMBMGd,3KB* M„0*RB+K867,829*B3 Hình 1: Các lĩnh vực có hệ thống phân tán B3*+,7Nd,,3EMN7{u*MA6;, Gt/|29GN,3EMH€;,M„M • =0N • >?ARB3= • !B{},73K-1If21…B10B4 Hình 2: Một phần của mạng Internet hmNMU[BQ0?67X,M<3MO6=*+,MGd073 I7*†)‡G/B B1( h)i3jUb7Y3jUk  ˆ*+,B3h‚7*+, /012#3/147* A{|L0BI‰=0N{|LI„0N6{|Lk,,6UE X,B67MGdKX?6;BRBGH*6j2G;/oM= XAuOBN*M=7Š b. Mục tiêu của hệ phân tán: • lAMN0R+IEI,m{|L • !b*/‹/7OB,I73K • lMNBI7I2T* • B2hB,I2U69 • b0bIEI76ŒOB c. Nguyên tắc xây dựng hệ phân tán: STT Tên gọi Thuyết minh ) !B/}73K o?,,3EM„BN6uM= ;7<b2n73KCN? KN7IMhhu73K2n yNX, 5 K >,*AMqMGd‚A6;Bm,o I*hBIMQ6;B  3 CNI*0U/oAX7II7* bGym7Gdm6*MhMGd+ I,X,MbI7Bm0U/oA hoMN9‰,0BM<G; Xh/oAB3,0BM<OBh ( lA +37X,*;6=+,bCNEI, ;7IMhm?V/|29NtB IX?Rb+EI,73MGdBƒ67o */I/IK,=73p<? MA6;,R,b CNITGGy;OB,*+,7+,I,,R, {|L67o*,6*MhK,{BB B1• h)i3jUb7Y3jUk  2. Các mô hình hệ phân tán và ứng dụng mạng: 2.1 Các lớp phần mềm: Kiến trúc phần mềm:u@OB<=G7,;67,I21I ,TOB,2U69MGBB673K<TB,?KnI„K ,,3EX,B Platform (hệ nền): <88uu67,;<=-*M=74 Middleware: N  ;  OB  <  =  7  9  ME  OB  h  7  M,  2u 11I11367MuNI,829mG !^Ž\fm ŽC-Ž1I1C1I26IBI4m.!^C /012!II1^0Z1CI214m 2.2 Kiến trúc hệ thống: a. Mô hình Client/Server: Hình 3: Mô hình Client/Server • Giới thiệu C!1D#1617Q8BIMQIMhb, 7,,3EhBI?6;B1INGH8uMUGH 8737N?GdQ8+u7IMhhN,3EM„0* 969,3K<6=GTm{|LmEI,ub,,3K>Q8 QR,OB737NfMGd?s=,3EX, B1: h)i3jUb7Y3jUk  BmIMhN,3E7#161CNGH13s0uXx,3 E7IIphy3K<OBM?#161mX/161 MGd,3K<73h/zo*67yX?Rb6=I!1 Hình 4: Trao đổi thông điệp giữa Client & Server !h=MGd/|29I,GHG !1D#1617•CN#1617NR,mR,73t/oK *sN!1CNK76*MOB73G/B  EB!1yN3K<RBM?#161M3K<N/A2 2U697IMhGu3K,3#161mu3M‰‰*AmMlXLu0k •  EB#161MGdXyMNG;K*A,3E#BXXyMNh /zt!1K*hM3K<N/A2U69S,OB#1617 BB5X o >VhN3K<OB!1MGd#161969NtM Mh7#161„ o >#161h969M‰t=3K<s!1yM?Mh 7#161M‰t !1D#1617QR,umKo?N#161hMGd A;=#161X,k76**RbH>MGdN3K<s !1m#16173h|?3K<6sBMGdI#161X,6E29G .BB0B/1#16160b+hX{|L3K<73MGdC,3#161h 7,*69MHbI„8 €E29GN,3ObttB*I73mXN,3!1 3K<u36=tBh/zb|N3K<1INK•2I #161MUBm?3K<MGdu,3#161/zb6=7 !13K<!hu=,2U69#161KGhM=IMN 1I3KL7,3K<s!1/BMh{|L67bX?RbI13K <GtGH#16167!1MGd7KB,3X, B!I2n@7I#161py,/‹/7t3K<s!1 GKo?N?K,RB-1BI4TB!167#161 0‚M<yEB!1mX7!1|E*3K<;#161!,GH #161GtM=7y8829-<829OB4 #odOBGH,737hh76*K0u8N ,3E7Ih‘dBI83=•9yM+37BI8!D €;,BI8•73p@I,7/b{uhEd=/b •X,BOBK7X„bXhXl€;,•73 ,GH#161IN2U697IMu3h7KN*A B/}tB-1/B/3/146;=GH672U69X,I„h B1’ h)i3jUb7Y3jUk  h3KEN,3E,+0Gt!hh=#161n 7N2U69m@hkK=,3EI„N,3E • Client I!1D#161mGtB“MU[B9IN,3!1 7N,37VMGd/|290yNGt2nMA*EMN IhC,3!1h/|29,*M=70GtG”J{m.^#m ^#D5 \b+‘N!1pMqMGdEd=8lK*M= 77h3mGXMGdA67INfm”f1I !1D#161h“h/|29K,8l2I*M=7 u6;=2U69X,B-97,2U692I,#161K 73u4m6E29Ghh3K<u32T*sN#161B3|2T* K#161Mho?I,829OB!1D#161m,8l IMNE7/oX?dTB!167#1616;/oB/}73Km2T* KbB,3 I!1D#161m!1MGdIG7Gt/|29,2U69 K2INI„=,3Ou67#161MGdIG7Gt u2U69Mbt,3K<OB,!1/=RB7bMGd 6B“IMNOBhIN9mN,3!1I73 h7#161INX,€E299GN,376* GN!10GtIfGM‰thhMh6B“ GN,3O-1/1614u2U69us{BI=GtX, -!1/4/|29!1MGdG70=QOB,2U69Km?h 67II„B@/zMGdUK,3!1 • Server #161“MGdMU[BG7N,3E=Gt/|29-/1 I14€N#161bRbL=3K<s,!1KIK hIMN/zAH?*M=7OBh7MB*6;,ElI MNMN/I/I6;BG*M=7•m”.^”##161 u67M=X,?367I73KOB*A !,8293K#161bMGd,tBMN‘OB829 73X7ƒ829X,EMB*Mb0bIN?X/| 29I70N73K*A#161G7N7u2U69I, !1/3K<;X<m,2U69GH/y2T*mum3=–1m*A !,829#161u,2U69BE8lM‘dI,I MNK,,3!1/h*RbH b. Mạng máy tính phân tán *AEI,+,MqIMGd0G;I„6[M/I6;,* 67*X,O-!1D#1614€*EI,+,6=H0bpA G6*EI,OB*X,OK6N;.T*MGd8BK =,3Oy=6UEMUBLX,BX?ABRB2* N”f7,H76*m,“0Bm,,OBNH RB B1F h)i3jUb7Y3jUk  EI,+,7sEI,671D/161!, MGd{+32o2oBKXr”10-6E29G 11—B1•47, +,*AH/y2T*0BXi12hMGdAX?6;,/161”10M u3MGd,MN>r”10<3MqyBG;;I*+, !,23*”10@IX,7KI7<X?A6;*A”10Om 7X0UXA?0y0uXx*M=77IMB3I,3OBX, 7<3CN{G;;X{+32o,B172T*bMGd hBNh,,3OMhXblM,8nN@I=Gt 2nWtM+3,*AB–B1Mq/oy6El{|Lz •G;<3hz,Gd6;6*EI,+,GIo?@ n‰0KB 2.3 Mô hình tương tác trong hệ phân tán: a. Thực hiện truyền thông: • Sự tiềm ẩn (Latency): o #oIqB3= tB<?MN0M<KOBN M*3=M?MGdME o #oIq3= 7XIbtBTB/o3=0M<K670/B nOBNM* o #oIq{|L 7tB<M*M=7{|LD|D M* o #oIq{?7 tB<MNM*{?7yA,3 OI„y,I21BMdM3=M • Băng thông (bandwidth): Q/AhMGd3=MIN tBMqI • Sự biến đống tạp (Jitter):tBX,BTB,/oIqbGy 0y,M*X,B b. Đồng hồ và thứ tự các sự kiện: • >hX,*I79OBtB • UMNM‰‰ UMNGHMAyNM‰‰,3E2BXƒ sNM‰‰B?I7bI • ‰0NhBM‰‰ o Hệ thống định vị toàn cầu (GPS):NE,3Eh/|29,3 B2IMtBMsW#6;MNE{,7)Ii+3!@ h|,M*tBM?,,3EX,IGH 8OB@ o Các đồng hồ logic:‘M*7tBMh2uK6;N/AA ?7b?8oOB@ B1J h)i3jUb7Y3jUk  2.4 Nguyên lý hoạt động của giao thức TCP/IP C,3E73B3Mqy7N7<RBI7 3=K?;m0BM<Vh67,3EMGdMGB67I/|29y ,6*K867969IRA“!n6;tBmXIB, m,,3bm,3EMqh„yX‚HmsGtm7,3M? ,6*„0*/o0nQOBI7<11MqMGBXb l/|29M?sGt2+77302IHK11mG; K,B”10mh0BIt0oƒ7?7I7IGthMGdXbl 3z67*dM?G63˜ a. Mô hình tổng quát của mạng Internet GI)2G;M+3mX?u6LOB11‰hE 8B,/161u2U69Im,0BI‰,76* /|292U692I11u™,+311™78B667 Em,670BIOI7?;N*A8G63I MNH67*RbM=X*KR3?7,3EIm2nX, B6=X?@mM=bBI?6;1InNR3h7BI8 !D b. Quá trình truyền dữ liệu qua mạng Internet CNGHI7VMGdIKs=I216;,8l 67*69X,BGKX?„z6;BS,3=2T* pG63h3=RB11m2T*bMGd{|LRB= <CNB11I•^#Gth0b3<G11Vh0A <{|L2T*7 • <BBI • <B/I“7<!-B///I!IIIII4 B1)P h)i3jUb7Y3jUk [...]... client /server qua UDP socket: Page 14 Nhóm 13 - Nguyễn Thị Hải Hà – Nguyễn Thị Thu Hằng Tiểu luận môn học Lập trình mạng Page 15 Nhóm 13 - Nguyễn Thị Hải Hà – Nguyễn Thị Thu Hằng Tiểu luận môn học Lập trình mạng PHẦN 2: BÀI TOÁN ỨNG DỤNG 1 Yêu cầu bài toán: • Tên đề tài: Viết chương trình mô phỏng quá trình phát và nhận thông điệp trong hệ phân tán • Có 3 Server là X, Y và Z • Kiểu ngang hàng • Mô phỏng. .. server khác gửi đến Giao diện của chương trình: o Server 1: Page 16 Nhóm 13 - Nguyễn Thị Hải Hà – Nguyễn Thị Thu Hằng Tiểu luận môn học Lập trình mạng o Server 2 o Server 3 Page 17 Nhóm 13 - Nguyễn Thị Hải Hà – Nguyễn Thị Thu Hằng Tiểu luận môn học Lập trình mạng • Quy trình gửi và nhận thông điệp: o Chạy lần lược từng file Server1 .bat, Server2 .bat, Server3 .bat để giả lập 3 server cùng chạy trên 1 máy local... cần thiết lập IP cho các máy theo các địa chỉ trong hộp HostName o Đứng từ bất kỳ server nào, gõ vào thông điệp tại hộp Message, chọn mã thông điệp và chọn server đến Page 18 Nhóm 13 - Nguyễn Thị Hải Hà – Nguyễn Thị Thu Hằng Tiểu luận môn học Lập trình mạng Hình 9: Minh họa phát/ nhận thông điệp giữa 3 server b Cài đặt chương trình: Trong bài toán, có hai đối tượng tham gia đó là máy chủ và máy trạm... kiện trên hệ 3 Server/ Workstation 2 Hướng giải quyết bài toán Ứng dụng lý thuyết lập trình mạng socket - java đã đề cập ở trên để xây dựng chương trình nhằm giải quyết bài toán Để giải quyết bài toán đã nêu ra, ta giả lập 3 server như sau: a Giả lập 3 server • • Giả lập 3 Server trên một máy đơn giống như 3 Server đang chạy trên 3 máy Mỗi server này có chức năng gửi và nhận thông điệp từ các server khác... System.out.print("Useage: ServerApp [port number]\n"); return; } //// ServerApp ser = new ServerApp(Integer.parseInt(args[0])); } } Page 28 Nhóm 13 - Nguyễn Thị Hải Hà – Nguyễn Thị Thu Hằng Tiểu luận môn học Lập trình mạng KẾT LUẬN 1 Kết quả đạt được: • Tìm hiểu và nắm vững các kiến thức liên quan đến hệ phân tán và lập trình mạng trên cơ sở nền Java • Cài đặt bài toán thể hiện đa server phát nhận thông điệp tại mỗi server. .. phương pháp để thiết lập kết nối truyền thông giữa một chương trình yêu cầu dịch vụ (client) và một chương trình cung cấp dịch vụ (server) trên mạng LAN, WAN hay Internet và đôi lúc là giữa những quá trình ngay bên trong máy tính Mỗi socket có thể được xem như một điểm cuối trong một kết nối Một socket Page 12 Nhóm 13 - Nguyễn Thị Hải Hà – Nguyễn Thị Thu Hằng Tiểu luận môn học Lập trình mạng trên máy yêu... Văn Sơn (2002), Hệ phân tán, Nhà xuất bản Đại học quốc gia TP Hồ Chí Minh 2 Nguyễn Phương Lan, Hoàng Đức Hải (2001), Java lập trình mạng, Nhà xuất bản Giáo dục 3 CoreJava – Tài liệu lập trình viên Apptech 4 Nima Kaveh, Wolfgang Emmerich, “Deadlock Detection in Distributed Object Systems” 5 Các tiểu luận Hệ phân tán và Lập trình mạng KHMT K8 6 Các tài liệu trên internet Page 30 Nhóm 13 - Nguyễn Thị... mỗi server 2 Hạn chế và hướng nghiên cứu tiếp theo • Đi sâu nghiên cứu và phân tích kỹ hơn nữa để phát triển đề tài theo hướng hệ quản trị cơ sở dữ liệu phân tán • Cài đặt chương trình theo hướng thụât toán Lamport cải tiến • Cải tiến để đảm bảo về sự đồng bộ và gắn bó dữ liệu trên các server Page 29 Nhóm 13 - Nguyễn Thị Hải Hà – Nguyễn Thị Thu Hằng Tiểu luận môn học Lập trình mạng TÀI LIỆU THAM KHẢO... Datalink/Physical lọc bỏ header Page 11 Nhóm 13 - Nguyễn Thị Hải Hà – Nguyễn Thị Thu Hằng Tiểu luận môn học Lập trình mạng mà tầng này thêm vào và chuyển lên tầng Network (IP) Tầng IP dựa vào các thông tin điều khiển trong header mà nó thêm vào để quyết định đường đi tiếp theo cho gói IP Sau đó gói IP này lại được chuyển xuống tầng Datalink/Physical để đi vào mạng Quá trình cứ thế tiếp tục cho đến khi dữ liệu... dùng một hệ thống đánh địa chỉ tất cả các máy tính nối vào mạng như hình sau: Hình 6: Hệ thống tên và địa chỉ của mạng Internet trong mối liên hệ với các tầng Những tên và địa chỉ này được gửi cho máy tính nhận dữ liệu 3 Giới thiệu về lập trình socket – java: a) Định nghĩa: Socket là giao diện (cửa) do ứng dụng tạo ra trên máy trạm, quản lý bởi OS qua đó các ứng dụng có thể gửi và nhận thông điệp đến

Ngày đăng: 12/11/2014, 08:51

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w