LẬP TRÌNH MẠNG

212 248 0
LẬP TRÌNH MẠNG

Đ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

CHƯƠNG 1: CÁC KI N TH C CƠ B N V M NG MÁY TÍNH 3 1.1. Mô hình tham kh o 7 t ng OSI 3 1.2. H giao th c TCP/IP 5 1.3. So sánh gi a hai giao th c TCP và UDP 6 1.4. C ng giao th c 7 1.5. ð a ch IP, các ñ a ch IP dành riêng 7 1.6. ð a ch tên mi n: lo i A, lo i MX 8 1.7. M t s giao th c t ng ng d ng: HTTP, SMTP, POP3, FTP 8 CHƯƠNG 2: L P TRÌNH M NG TRONG .NET FRAMEWORK 9 2.1. Socket hư ng k t n i (TCP Socket) 9 2.1.1. Gi i thi u v NameSpace System.Net và System.Net.Sockets 10 2.1.2. Vi t chương trình cho phía máy ch 11 2.1.3. Vi t chương trình cho phía máy khách 13 2.1.4. S d ng các lu ng nh p xu t v i Socket 14 2.2. Socket không hư ng k t n i (UDP Socket) 17 2.2.1. Vi t chương trình cho phía máy ch 17 2.2.2. Vi t chương trình cho phía máy khách 18 2.2.3. S d ng l p System.IO.MemoryStream ñ t o vùng ñ m nh p xu t 20 2.3. S d ng các l p h tr ñư c xây d ng t l p Soket 20 2.3.1. L p TCPClient 21 2.3.2. L p TCPListener 22 2.3.3. L p UDPClient 24 2.4. Socket không ñ ng b 26 2.4.1. Mô hình x lý s ki n c a windows 26 2.4.2. S d ng Socket không ñ ng b 27 2.4.3. Ví d v Socket không ñ ng b 28 2.4.4. S d ng các phương th c Non-blocking 35 2.5. S d ng Thread trong các ng d ng m ng 39 2.5.1. S d ng Thread trong chương trình .Net 40 2.5.2. S d ng Thread trong các chương trình Server 41 2.5.3. S d ng Thread ñ g i/nh n d li u 41 2.5.4. S d ng ThreadPool trong các chương trình .Net 43 2.5.5. S d ng ThreadPool trong các chương trình Server 47 2.6. K thu t IP Multicasting 48 2.6.1. Broadcasting là gì? 48 2.6.2. S d ng Broadcasting ñ g i d li u ñ n nhi u máy trong m ng c c b 48 2.6.3. Multicasting là gì? 49 2.6.4. Socket Multicasting trong .Net 50 2.7 Bài t p áp d ng 53 CHƯƠNG 3: XÂY D NG NG D NG M NG 55 3.1. Giao th c ICMP 55 3.1.1. S d ng Raw Socket 55 3.1.2. S d ng giao th c ICMP và Raw Socket ñ xây d ng chương trình Ping 57 3.1.3. S d ng giao th c ICMP và Raw Socket ñ xây d ng chương trình TraceRoute .58 3.2. Giao th c SMTP, POP3 60 3.2.1. Cơ b n v h th ng Mail và giao th c SMTP, POP3 60 3.2.2. Cài ñ t SMTP, POP3 Client/Server 60 3.3. Giao th c HTTP 67 3.3.1. Cơ b n v giao th c HTTP 67 3.3.2. Cài ñ t HTTP Client/Server 68 3.4. Giao th c FTP 74 3.4.1. Cơ b n v giao th c FTP 74 3.4.2. Cài ñ t FTP Client/Server 84 1 3.5. DNS (Domain Name Server) 88 3.5.1. V n ñ phân gi i tên mi n 88 3.5.2. Tri n khai DNS MX (Mail Exchange) 89 3.6 Th o lu n v các ng d ng khác thư ng g p 93 3.7 Bài t p áp d ng 93 CHƯƠNG 4: XÂY D NG NG D NG NHI U L P 94 4.1. Mô hình 2 l p (two tier), 3 l p (three tier) và n l p. 94 4.2. Remoting 98 4.2.1. Gi i thi u v Remoting 102 4.2.2. Khai báo, cài ñ t và ñăng ký giao di n t xa 102 4.2.3. Tri u g i phương th c t xa 107 4.3. Web Serive 107 4.3.1. Gi i thi u v Web Serives 107 4.3.2. Giao th c SOAP 109 4.3.3. Xây d ng Web Services 112 4.3.4. Tri u g i Web Services t ng d ng .NET, Java và các ngôn ng khác 114 4.4 Th o lu n v các ng d ng phân tán 116 4.5. Bài t p áp d ng 116 2 CHƯƠNG 1: CÁC KI N TH C CƠ B N V M NG MÁY TÍNH 1.1. Mô hình tham kh o 7 t ng OSI Mô hình k t n i h th ng m ñư c T ch c qu c t v tiêu chu n hoá ISO (International Organizaiton for Standardization) ñưa ra nh m cung c p m t mô hình chu n cho các nhà s n xu t và cung c p s n ph m vi n thông áp d ng theo ñ phát tri n các s n ph m vi n thông. Ý tư ng mô hình hoá ñư c t o ra còn nh m h tr cho vi c k t n i gi a các h th ng và modun hoá các thành ph n ph c v m ng vi n thông. a. Ch c năng c a mô hình OSI: - Cung c p ki n th c v ho t ñ ng c a k t n i liên m ng - ðưa ra trình t công vi c ñ thi t l p và th c hi n m t giao th c cho k t n i các thi t b trên m ng. Mô hình OSI còn có m t s thu n l i sau : - Chia nh các ho t ñ ng ph c t p c a m ng thành các ph n công vi c ñơn gi n. - Cho phép các nhà thi t k có kh năng phát tri n trên t ng modun ch c năng. - Cung c p các kh năng ñ nh nghĩa các chu n giao ti p có tính tương thích cao “plug and play” và tích h p nhi u nhà cung c p s n ph m. b. C u trúc mô hình OSI: Mô hình OSI g m 7 l p (level), m i l p th c hi n các ch c năng riêng cho ho t ñ ng k t n i m ng. Hình 1-1 Mô t b y l p OSI. 4 l p ñ u ñ nh nghĩa cách th c cho ñ u cu i thi t l p k t n i v i nhau ñ trao ñ i d li u. 3 l p trên dùng ñ phát tri n các ng d ng ñ ñ u cu i k t n i v i nhau và ngư i dùng. Aplication Application Presentation (Upper Layer) Session T ransport Layer Network Layer Data Link Physical Data Lower Layer Các l p trên 3 l p trên cùng c a mô hình OSI thư ng ñư c g i là các l p ng d ng (Application layers) hay còn g i là các l p cao. Các l p này thư ng liên quan t i giao ti p v i ngư i dùng, ñ nh d ng c a d li u và phương th c truy nh p các ng d ng ñó. Hình 1-2 Mô t các l p trên và cung c p thông tin v i các ch c năng c a nó qua ví d : - L p ng d ng: ch c năng giao Telnet, HTTP 3 Application ti p gi a ngư i s d ng và các chương trình ng d ng - L p trình bày: cách th c chu n ASSCII Presentation hoá d li u và trình bày s li u - Có ch c năng ñ c bi t là mã hoá d li u ngư i s dung EBCDIC JPEC Session - L p phiên: thi t l p, duy trì và NFS, SQL hu b m t phiên làm vi c Transport Layer Network Layer Data Link Physical - Application layer : ñây là l p cao nh t trong mô hình. Nó là nơi mà ngư i s d ng ho c k t n i các chương trình ng d ng v i các th t c cho phép truy nh p vào m ng. - Presentation layer : L p presentation cung c p các mã và ch c năng ñ chuy n ñ i mà ñư c cung c p b i l p ng d ng. Các ch c năng ñó ñ m b o r ng d li u t l p ng d ng trong m t h th ng có th ñư c ñ c b i l p ng d ng c a m t h th ng khác. VD : dùng ñ mã hoá d li u t l p ng d ng : như mã hoá nh jpeg , gif. Mã ñó cho phép ta có th hi n lên trang web . - Session layer : ñư c s d ng ñ thi t l p, duy trì và k t thúc phiên làm vi c gi a các l p presentation. Vi c trao ñ i thông tin l p này bao g m yêu c u d ch v và ñáp ng yêu c u c a các ng d ng trên thi t b khác. Các l p dư i. 4 l p dư i c a mô hình OSI s d ng ñ ñ nh nghĩa làm th nào ñ d li u ñư c truy n ñi trong các dây n i v t lý, các thi t b m ng và ñi ñ n tr m ñ u cu i cu i cùng là ñ n các l p ng d ng. Qu n sách này ta ch quan tâm ñ n 4 l p cu i. Và s xem xét t ng l p m t cách chi ti t giao thi p gi a các l p trong mô hình OSI: S d ng phương pháp protocal stack ñ k t n i gi a hai thi t b trong m ng. Protocal stack là m t t p h p các quy ñ nh dùng ñ ñ nh nghĩa làm th nào ñ d li u truy n qua m ng. Ví d v i : TCP/IP m i Layer cho phép d li u truy n qua. Các l p ñó trao ñ i các thông tin ñ cung c p cu c liên l c gi a hai thi t b trong m ng. Các l p giao ti p v i nhau s d ng Protocal Data Unit (PDU). Thông tin ñi u khi n c a PDU ñư c thêm 4 vào v i d li u l p trên. Và thông tin ñi u khi n này n m trong trư ng g i là trư ng header và trailer. Hình 1-3 Data encapsulation Application Presentation Upper Layer Data Session TCP Header Upper Layer Data Transport Segment IP Header Data Network Packet LLC Header Data FCS Data Link Frame MAC Header Data FCS Physical Bits 0101110101001000010 1.2. H giao th c TCP/IP Các t ng c a giao th c TCP/IP so v i c c t ng c a mô hình OSI Application: Xác nh n quy n, nén d li u và các d ch v cho ngư i dùng Transport: X lý d li u gi a các h th ng va cung c p vi c truy c p m ng cho các ng d ng Network: Tìm ñư ng cho các packet 5 Link: M c OS ho c các thi t b giao ti p m ng trên m t máy tính M t s ñi m khác nhau c a TCP/IP và mô hình OSI + L p ng d ng trong TCP/IP x lý ch c năng c a l p 5,6,7 trong mô hình OSI + L p transport trong TCP/IP cung c p c ch UDP truy n không tin c y, transport trong OSI luôn ñ m b o truy n tin c y + TCP/IP là m t t p c a các protocols (m t b giao th c) + TCP/IP xây d ng trư c OSI Quy trình ñóng gói d li u trong mô hình TCP/IP như sau: [...]... ti p, m t trong hai quá trình ph i công b s hi u c ng c a socket mà mình s d ng M i c ng giao ti p th hi n m t ñ a ch xác ñ nh trong h th ng Khi quá trình ñư c gán m t s hi u c ng, nó có th nh n d li u g i ñ n c ng này t các quá trình khác Quá trình còn l i cũng yêu c u t o ra m t socket 2.1.1 Gi i thi u v NameSpace System.Net và System.Net.Sockets Cung c p m t giao di n l p trình ñơn gi n cho r t nhi... k t n i Có 1 ñư ng k t n i o gi a 2 ti n trình M t trong 2 ti n trình ph i ñ i ti n trình kia yêu c u k t n i Có th s d ng ñ liên l c theo mô hình Client/Server Trong mô hình Client/Server thì Server l ng nghe và ch p nh n m t yêu c uk tn i M i thông ñi p g i ñ u có xác nh n tr v Các gói tin chuy n ñi tu n t ð c ñi m c a Socket không hư ng k t n i Hai ti n trình liên l c v i nhau không k t n i tr c... th c t ng ng d ng: HTTP, SMTP, POP3, FTP - Chúng ta s nghiên c u chi ti t các giao th c này chương 3 8 CHƯƠNG 2: L P TRÌNH M NG TRONG NET FRAMEWORK 2.1 Socket hư ng k t n i (TCP Socket) Socket là m t giao di n l p trình ng d ng (API) m ng Thông qua giao di n này chúng ta có th l p trình ñi u khi n vi c truy n thông gi a hai máy s d ng các giao th c m c th p là TCP, UDP… Socket là s tr u tư ng hoá... iep.ToString()); test.Close(); Console.ReadKey(); } } 2.1.2 Vi t chương trình cho phía máy ch Vi t chương trình cho phía máy ch T o m t Socket Liên k t v i m t IPEndPoint c c b L ng nghe k t n i Ch p nh n k t n i G i nh n d li u theo giao th c ñã thi t k 11 ðóng k t n i sau khi ñã hoàn thành và tr l i tr ng thái l ng nghe ch k t n im i Vi t chương trình cho phía máy ch IPEndPoint ipep = new IPEndPoint(IPAddress.Any,... SocketFlags.None); } client.Shutdown(SocketShutdown.Both); client.Close(); server.Close(); } } 2.1.3 Vi t chương trình cho phía máy khách Vi t chương trình cho phía máy khách Xác ñ nh ñ a ch c a Server T o Socket K t n i ñ n Server G i nh n d li u theo giao th c ñã thi t k ðóng Socket Vi t chương trình cho phía máy khách IPEndPoint ipep = new IPEndPoint(Ipaddress.Parse("192.168.1.6"), 9050); Socket server... chương trình Client/Server s d ng lu ng nh p xu t, chương trình Server chép phép Client g i lên yêu c u, n u yêu c u là GetDate không phân bi t ch hoa ch thư ng thì Server tr v cho Client ngày hi n t i, n u yêu c u là GetTime không phan bi t hoa thư ng thì Server tr v gi hi n t i, n u là Quit thì Server ng t k t n i v i Client, không ph i các trư ng h p trên thì thông báo không hi u lênh Chương trình. .. sw.Close(); client.Close(); } } 2.2 Socket không hư ng k t n i (UDP Socket) Chương trình phía máy ch T o m t Socket Liên k t v i m t IPEndPoint c c b G i nh n d li u theo giao th c ñã thi t k ðóng Socket Chương trình phía máy khách Xác ñ nh ñ a ch Server T o Socket G i nh n d li u theo giao th c ñã thi t k ðóng Socket 2.2.1 Vi t chương trình cho phía máy ch using System; 17 using System.Collections.Generic;... client.Disconnect(true); client.Close(); } } 2.1.4 S d ng các lu ng nh p xu t v i Socket T Socket ta có th t o ra lu ng ñ nh p xu t v i Socket ñó là s d ng l p NetworkStream Ví d chương trình Client/Server s d ng NetworkStream ñ g i và nh n d li u Chương trình Client s d ng NetworkStream: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; 14... Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); newsock.Bind(ipep); newsock.Listen(10); Socket client = newsock.Accept(); //G i nh n d li u theo giao th c ñã thi t k ……… newsock.Close(); Chương trình Server: using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Sockets; class Server{ static void Main(string[] args) { IPEndPoint iep = new IPEndPoint(IPAddress.Parse("127.0.0.1"),... (input.ToUpper().Equals("QUIT")) break; data = new byte[1024]; int rec = ns.Read(data, 0, data.Length); string s = Encoding.ASCII.GetString(data, 0, rec); Console.WriteLine(s); } client.Close(); } } Chương trình Server s d ng NetworkStream: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; class Program { static void Main(string[]

Ngày đăng: 28/04/2014, 19:12

Tài liệu cùng người dùng

Tài liệu liên quan