Luận văn Tìm hiểu về mạng máy tính

Mạng máy tính là hệ thống các máy tính độc lập (autonomous) được kết nối với nhau. Khái niệm độc lập ở đây có nghĩa là chúng không có mối quan hệ chủ/tớ (master/slave) rõ ràng. Hai máy tính được gọi là được kết nối với nhau nếu chúng có khả năng trao đổi thông tin. Sự kết nối có thể thông qua dây dẫn, tia laser, sóng điện từ hay vệ tinh viễn thông. Việc kết nối các máy tính có những ưu điểm sau

pdf101 trang | Chia sẻ: vietpd | Lượt xem: 1784 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Luận văn Tìm hiểu về mạng máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Luận văn tốt nghiệp Nguyễn Nhật Bình 1 Ch−ơng I. Mạng máy tính I. Mạng máy tính ........................................................................................... 5 II. Phân loại mạng máy tính .......................................................................... 5 II.1. Phân loại theo kiến trúc (topology) của mạng................................... 5 II.1.1. Mạng điểm-điểm (point-to-point network) ................................ 6 II.1.2. Mạng quảng bá (broadcast network) .......................................... 6 II.2. Phân loại theo ph−ơng thức chuyển mạch (Swiched Method) .......... 7 II.2.1. Chuyển mạch kênh (Circuit Swiched Network) ......................... 7 II.2.2. Chuyển mạch tin báo (Message Swiched Network) ................... 7 II.2.3. Chuyển mạch gói (Packed Swiched Network) ........................... 7 II.3. Phân loại theo phạm vi hoạt động...................................................... 7 II.3.1. Mạng LAN (Local Area Network) ............................................. 7 II.3.2. Mạng MAN (Metropolian Area Network) ................................. 7 II.3.3. Mạng WAN (Wide Area Network) ............................................ 8 II.3.4. Liên mạng (internet) ................................................................... 8 Ch−ơng II. Giao thức truyền thông vμ các mô hình tham chiếu I. Giao thức truyền thông............................................................................. 11 II. Mô hình tham chiếu OSI......................................................................... 11 II.1. Giới thiệu mô hình OSI.................................................................... 11 II.2. Các tầng của mô hình OSI ............................................................... 13 II.2.1. Tầng vật lý (Physical layer)...................................................... 13 II.2.2. Tầng liên kết dữ liệu (Data link layer)...................................... 13 II.2.3. Tầng mạng (Network layer) ..................................................... 14 II.2.4. Tầng giao vận (Transport layer) ............................................... 14 II.2.5. Tầng phiên (Session layer) ....................................................... 15 II.2.6. Tầng trình diễn (Presentation layer) ......................................... 15 II.2.7. Tầng ứng dụng (Application layer) .......................................... 15 II.3. Những vấn đề về OSI ....................................................................... 16 III. Kiến trúc giao thức IPX/SPX................................................................. 16 III.1. Kiến trúc giao thức IPX/SPX.......................................................... 16 III.2. Gói tin IPX ..................................................................................... 17 III.3. Cơ chế hoạt động của Novell Netware ........................................... 18 Ch−ơng III. Bộ Giao thức TCP/IP I. Bộ giao thức TCP/IP................................................................................. 19 II. Kiến trúc của bộ giao thức TCP/IP ......................................................... 20 II.1. Kiến trúc phân tầng của TCP/IP ...................................................... 20 Luận văn tốt nghiệp Nguyễn Nhật Bình 2 II.2. Cơ chế địa chỉ Internet..................................................................... 23 II.2.1. Địa chỉ lớp A............................................................................. 24 II.2.2. Địa chỉ lớp B ............................................................................. 25 II.2.3. Địa chỉ lớp C............................................................................. 25 II.3. Mạng con và Subnet mask ............................................................... 25 III. Tầng mạng (Network Layer) ................................................................. 27 IV. Tầng Internet (Internet Layer) ............................................................. 28 IV.1. Gói tin IP ........................................................................................ 29 IV.2. Giao thức chuyển địa chỉ ARP (Address Resolution Protocol) và cơ giao thức chuyển ng−ợc địa chỉ RARP (Reverse Address Resolution Protocol) .................................................................................................. 32 IV.2.1. Chuyển giao trực tiếp .............................................................. 32 IV.2.2. Chuyển giao địa chỉ động ....................................................... 32 IV.2.3. Gói tin ARP............................................................................. 33 IV.3. Giao thức điều khiển truyền tin (Internet Control Message Protocol - ICMP).................................................................................................... 35 IV.3.1. Gói tin ICMP........................................................................... 35 IV.3.2. Điều khiển dòng dữ liệu.......................................................... 36 IV.3.3. Thông báo lỗi .......................................................................... 36 IV.3.4. Định h−ớng lại ........................................................................ 36 IV.3.5. Kiểm tra trạm làm việc............................................................ 37 IV.4. Thuật toán dẫn đ−ờng..................................................................... 37 V. tầng giao vận........................................................................................... 41 V.1. Giao thức không kết nối (User Datagram Protocol - UDP)............. 41 V.1.1. Gói thông tin UDP.................................................................... 41 V.1.2. Phân kênh, hợp kênh và Ports................................................... 42 V.2. Giao thức điều khiển truyền tin (Transmission Control Protocol - TCP)......................................................................................................... 44 V.2.1. Gói tin TCP............................................................................... 46 V.2.2. Cổng, kết nối và điểm kết nối................................................... 47 VI. Tầng ứng dụng của TCP/IP ................................................................... 49 VI.1. Dịch vụ tên miền (Domain Name Service - DNS) ......................... 49 VI.2. Đăng nhập từ xa (Telnet) ............................................................... 51 VI.3. Th− điện tử (Electronic Mail) ........................................................ 52 VI.4. Giao thức truyền tệp (File Transfer Protocol - FTP)...................... 54 VI.5. Nhóm tin (News groups)................................................................ 55 VI.6. Tìm kiếm tệp (Archie).................................................................... 55 VI.7. Tra cứu thông tin theo thực đơn (Gopher) ..................................... 55 VI.8. Tìm kiếm thông tin theo chỉ số (WAIS)......................................... 55 VI.9. Siêu văn bản (WWW) .................................................................... 56 Luận văn tốt nghiệp Nguyễn Nhật Bình 3 Ch−ơng IV. Xây dựng ch−ơng trình truyền tệp I. Giao diện lập trình.................................................................................... 57 I.1. Giao diện lập trình ............................................................................ 57 I.2. Network I/O và file I/O..................................................................... 58 I.3. Làm việc với Socket .......................................................................... 59 I.3.1. Socket ......................................................................................... 59 I.3.2. Địa chỉ Socket ............................................................................ 60 I.3.3. Một số lời gọi tạo lập socket...................................................... 62 I.3.4. Một số lời gọi gửi dữ liệu qua socket......................................... 66 I.3.5. Một số lời gọi nhận dữ liệu từ socket......................................... 67 II. Mô hình Client-Server ............................................................................ 68 II.1. Mô hình Client-Server sử dụng dịch vụ không kết nối.................... 69 II.2. Mô hình Client-Server sử dụng dịch vụ h−ớng kết nối.................... 70 III. Xây dựng ch−ơng trình truyền tệp......................................................... 71 III.1. Thiết kế và cài đặt ch−ơng trình ..................................................... 71 III.1.1. Giao thức ứng dụng đ−ợc xây dựng và sử dụng trong ch−ơng trình ..................................................................................................... 71 III.1.2. Cài đặt ch−ơng trình ................................................................ 73 III.2. Một số vấn đề nảy sinh trong quá trình thực hiện và cách giải quyết76 III.2.1. Vấn đề chuyển đổi tệp giữa hai hệ điều hành. ........................ 76 III.2.2. Vấn đề về một số lệnh t−ơng tác ............................................. 78 Phụ lục a. Một số mạng cục bộ I. Mạng Ethernet và IEEE 802.3 ................................................................. 81 II. Mạng Token-Pasing Rings (IEEE 802.5)............................................... 81 III. Mạng Token-Passing Busses (IEEE 802.4)........................................... 82 Phụ lục B. Một số kỹ thuật chọn đ−ờng đi ngắn nhất I. Giải thuật Dijkstra cho việc chọn đ−ờng tập trung .................................. 84 II. Giải thuật Ford& Fulkerson cho việc chọn đ−ờng phân tán .................. 85 Phụ lục C. Văn bản ch−ơng trình (Phần client) I. Ch−ơng trình chính (main.c) .................................................................... 87 II. Th− viện sử dụng (Socket.c) ................................................................... 93 Luận văn tốt nghiệp Nguyễn Nhật Bình 4 Luận văn tốt nghiệp Nguyễn Nhật Bình 5 Ch−ơng I . Mạng máy tính I. Mạng máy tính Mạng máy tính là hệ thống các máy tính độc lập (autonomous) đ−ợc kết nối với nhau. Khái niệm độc lập ở đây có nghĩa là chúng không có mối quan hệ chủ/tớ (master/slave) rõ ràng. Hai máy tính đ−ợc gọi là đ−ợc kết nối với nhau nếu chúng có khả năng trao đổi thông tin. Sự kết nối có thể thông qua dây dẫn, tia laser, sóng điện từ hay vệ tinh viễn thông... Việc kết nối các máy tính có những −u điểm sau • Sử dụng chung tài nguyên (resource sharing): Ch−ơng trình, dữ liệu, thiết bị có thể đ−ợc dùng chung bởi ng−ời dùng từ các máy tính trên mạng. • Tăng độ tin cậy của hệ thống thông tin (reliability): Nếu một máy tính hay một đơn vị dữ liệu nào đó bị hỏng thì luôn có thể sử dụng một máy tính khác hay một bản sao khác của dữ liệu, nhờ đó, khả năng mạng bị ngừng sử dụng đ−ợc giảm thiểu. • Tạo ra môi tr−ờng truyền thông mạnh giữa nhiều ng−ời sử dụng trên phạm vi địa lý rộng: Mục tiêu này ngày càng trở nên quan trọng nhất là khi mạng máy tính đã phát triển trên phạm vi toàn cầu nh− ngày nay. • Tiết kiệm chi phí: Do tài nguyên đ−ợc dùng chung, hệ thống tin cậy hơn nên chi phí thiết bị và bảo d−ỡng của mạng máy tính thấp hơn so với tr−ờng hợp máy tính riêng lẻ. II. Phân loại mạng máy tính II.1. Phân loại theo kiến trúc (topology) của mạng Phân loại theo kiến trúc là cách phân loại mạng máy tính theo cách kết nối các máy tính trong mạng Luận văn tốt nghiệp Nguyễn Nhật Bình 6 II.1.1. Mạng điểm-điểm (point-to-point network) Các đ−ờng truyền nối các cặp nút với nhau, mỗi nút có trách nhiệm l−u trữ tạm thời sau đó chuyển tiếp dữ liệu tới đích. Cách làm việc này còn gọi là l−u và chuyển tiếp (store-and-forward). Mạng điểm-điểm cần sử dụng l−ợng cáp nối lớn hoặc nhiều đ−ờng điện thoại thuê riêng (leased telephone lines), mỗi đ−ờng nối một cặp điểm làm việc. Nếu 2 điểm làm việc muốn gửi thông tin cho nhau mà không có đ−ờng truyền trực tiếp, dữ liệu của chúng cần đ−ợc truyền qua một số nút khác do đó, thuật toán dẫn đ−ờng có vai trò rất quan trọng trong kiến trúc mạng điểm-điểm. II.1.2. Mạng quảng bá (broadcast network) Tất cả các nút cùng dùng chung một đ−ờng truyền vật lý. Dữ liệu đ−ợc tiếp nhận bởi tất cả các máy tính, nếu máy tính nào kiểm tra thấy gói tin đ−ợc gửi cho mình, nó sẽ giữ lại và xử lý. Các mạng quảng bá th−ờng cho phép sử dụng địa chỉ broadcasting để gửi thông báo tới toàn mạng. Star Tree Ring SatelliteBus Ring Luận văn tốt nghiệp Nguyễn Nhật Bình 7 II.2. Phân loại theo ph−ơng thức chuyển mạch (Swiched Method) II.2.1. Chuyển mạch kênh (Circuit Swiched Network) Thông tin truyền qua một kênh vật lý cố định, tốc độ và độ tin cậy cao nh−ng lãng phí đ−ờng truyền do không sử dụng hết. II.2.2. Chuyển mạch tin báo (Message Swiched Network) Liên lạc đ−ợc thiết lập khi có thông tin cần truyền, thông tin đ−ợc định dạng gồm header và data và có độ dài không cố định: Mối liên lạc đ−ợc thiết lập và chỉ giải phóng khi truyền xong dữ liệu do đó không quản lý đ−ợc thời gian chiếm đ−ờng truyền II.2.3. Chuyển mạch gói (Packed Swiched Network) Thông tin đ−ợc cắt ra thành các gói có độ dài quy định Ví dụ Erthenet IEEE 802.3 chia message thành các gói 1500 bytes. Mỗi gói đều có header và data. Các gói của các message khác nhau có thể truyền xen kẽ trên đ−ờng truyền do đó thời gian chờ đợi chung của hệ thống giảm. II.3. Phân loại theo phạm vi hoạt động Theo phạm vi hoạt động, ng−ời ta chia mạng máy tính thành những loại sau II.3.1. Mạng LAN (Local Area Network) Th−ờng là mạng đ−ợc sử dụng cho một công ty, tr−ờng học hay trong một toà nhà, khoảng cách t−ơng đối nhỏ (cỡ vài trăm m tới vài Km) tốc độ truyền lớn, độ trễ nhỏ. (Phụ lục A trình bày một số mạng cục bộ th−ờng đ−ợc sử dụng) II.3.2. Mạng MAN (Metropolian Area Network) Mạng đ−ợc cài đặt trong phạm vi một đô thị hay trung tâm kinh tế - xã hội (có bán kính khoảng 100 Km) Luận văn tốt nghiệp Nguyễn Nhật Bình 8 II.3.3. Mạng WAN (Wide Area Network) Mạng diện rộng có thể bao trùm một vùng rộng lớn cỡ quốc gia hay lục địa. II.3.4. Liên mạng (internet) Phần lớn các mạng cục bộ đều độc lập với nhau về phần cứng cũng nh− phần mềm, chúng đ−ợc thiết lập nhằm mục đích phục vụ những nhóm ng−ời cụ thể nào đó. Trong mỗi mạng đó, ng−ời dùng tự lựa chọn một công nghệ phần cứng phù hợp với công việc của họ. Một điều quan trọng nữa là không thể xây dựng một mạng chung dựa trên một công nghệ sử dụng trên một mạng đơn lẻ nào đó bởi vì không có công nghệ mạng nào có thể thoả mãn nhu cầu cho tất cả mọi ng−ời. Một số ng−ời có nhu cầu sử dụng đ−ờng nối cao tốc để truyền dữ liệu của mình trong khi các mạng LAN không thể mở rộng phạm vi hoạt động quá xa. Một số mạng tốc độ chậm lại có thể kết nối máy tính tới hàng ngàn dặm... Liên mạng máy tính (internetworking hay internet) là một công nghệ đ−ợc đ−a ra nhằm kết nối các mạng thành một thể thống nhất. Công nghệ internet che dấu đi kiến trúc vật lý của mạng và cho phép máy tính truyền thông một cách độc lập với liên kết vật lý của mạng. Một liên mạng đã khá quen thuộc với chúng ta là mạng Internet Giới thiệu mạng Internet Internet là một tổ hợp hàng triệu máy đ−ợc kết nối với nhau thông qua các thiết bị ghép nối th−ờng gọi là gateway để có thể chia sẻ thông tin với nhau, trong đó có đủ loại máy tính, và chúng sử dụng nhiều hệ điều hành khác nhau. Thông tin trên Internet gồm đủ loại từ th− điệu tử, các file đồ hoạ đến video và còn nhiều thứ khác đ−ợc cung cấp bởi những ng−ời sử dụng Internet bằng nhiều ph−ơng thức, với nhiều t− t−ởng khác nhau. Quy mô của Internet Có bao nhiêu máy đ−ợc kết nối vào Internet? Con số cụ thể luôn luôn thay đổi, những địa chỉ mới luôn luôn đ−ợc cập nhật từng giây chúng ta có thể truy nhập địa chỉ Web site của tổ chức Network Wizards Luận văn tốt nghiệp Nguyễn Nhật Bình 9 để biết những số liệu mới nhất Thời gian Số l−ợng máy Tháng 1 năm 1996 14,252,000 Tháng 1 năm 1997 21,819,000 Tháng 1 năm 1998 29,670,000 Những máy chủ (host) mạnh th−ờng sử dụng những hệ điều hành đa nhiệm, ví dụ nh− UNIX, để ng−ời sử dụng kết nối vào, nh− thế có nghĩa là số máy của ng−ời sử dụng mạng nhiều hơn những con số trên. Những máy chủ đ−ợc định vị tại các điểm nh− th− viện, các tr−ờng đại học, các tổ chức chính phủ, các đại lý, các công ty, các tr−ờng trung học, tiểu học trên toàn thế giới. Những máy chủ này đ−ợc kết nối với nhau qua đ−ờng điện thoại và chỉ mất khoảng 640/1000 giây để bắt đầu nhận thông báo từ Bắc Mỹ tới Nam cực. Các dịch vụ mà Internet cung cấp Phần lớn ng−ời sử dụng Internet không cần biết đến của công nghệ sử dụng trên Internet, đối với họ Internet chỉ đơn giản là một bộ ch−ơng trình phần mềm mang lại cho họ những khả năng truyền thông có ích. Chính điều này mang lại cho Internet số ng−ời dùng đông đảo tới nh− vậy. Các dịch vụ mức ứng dụng ban đầu trên Internet • Th− điện tử (Electronic mail) Cho phép ng−ời dùng ngồi tr−ớc máy tính tại nhà mình gửi E-mail tới bất cứ ai ở đâu trên thế giới nếu họ có địa chỉ E- mail. Họ có thể tham gia các nhóm thảo luận (discussion group) về những đề tài khác nhau hay bắt đầu một nhóm mới về những chủ đề mà họ −a thích. • Truyền file (File Transfer) Nếu cần một ch−ơng trình phần mềm mới nh− các tiện ích nén file, các ch−ơng trình diệt virus, một phần mềm trò chơi, hình ảnh hay âm thanh, ng−ời dùng có thể tải xuống bất cứ lúc nào với File Transfer. Luận văn tốt nghiệp Nguyễn Nhật Bình 10 • Truy nhập từ xa (Remote login) Có lẽ điều thú vị nhất trong các ứng dụng của Internet là Remote login, nó cho phép ng−ời dùng kết nối vào một máy tính ở xa nh− một trạm cuối để sử dụng máy tính đó. Dịch vụ mức mạng của Internet Một lập trình viên viết ch−ơng trình ứng dụng trên Internet cần có một cái nhìn khác với ng−ời chỉ đơn giản sử dụng dịch vụ Internet. ở tầng mạng, Internet cung cấp 2 kiểu dịch vụ mà các ứng dụng của Internet th−ờng dùng đó là • Dịch vụ truyền không kết nối (Connectionless Paket Delivery Service) là một ph−ơng thức truyền dữ liệu mà các mạng chuyển mạch gói cung cấp. Điều này chỉ đơn giản là mạng Internet chuyển các gói tin từ máy này sang máy khác dựa vào thông tin địa chỉ của gói đến đích của nó. Việc chia nhỏ gói tin truyền này có một lợi điểm là nếu một đ−ờng đi bị bận hoặc bị đứt, thì các gói có thể đ−ợc truyền theo một đ−ờng khác. • Dịch vụ truyền tin cậy (Reliable Stream Transport Service) Phần lớn các ứng dụng đòi hỏi nhiều dịch vụ hơn chỉ truyền thông không kết nối bởi vì chúng cần tự động sửa lỗi, kiểm tra tính toàn vẹn của thông tin truyền đi trên mạng. Reliable Stream Transport Service giải quyết vấn đề này cho ta. Luận văn tốt nghiệp Nguyễn Nhật Bình 11 Ch−ơng II . Giao thức truyền thông vμ Các mô hình tham chiếu I. Giao thức truyền thông Để các máy tính trên mạng có thể trao đổi thông tin với nhau, chúng cần có một bộ những phần mềm cùng làm việc theo một chuẩn nào đó. Giao thức truyền thông (protocol) là tập quy tắc quy định ph−ơng thức truyền nhận thông tin giữa các máy tính trên mạng. Các mạng máy tính hiện đại đ−ợc thiết kế bằng cách phân chia cấu trúc ở mức độ cao nhằm làm giảm sự phức tạp khi thiết kế. Các giao thức mạng th−ờng đ−ợc chia làm các tầng (layer), mỗi tầng đ−ợc xây để dựng dựa trên dịch vụ của tầng d−ới nó và cung cấp dịch vụ cho tầng cao hơn. II. Mô hình tham chiếu OSI II.1. Giới thiệu mô hình OSI Mô hình mạng máy tính do tổ chức tiêu chuẩn hoá quốc tế (International Standard Organization - ISO) đ−a ra năm 1983 đ−ợc gọi là mô hình tham chiếu các hệ thống mở (Open Systems Interconect referent model - OSI). Các điều khoản mô tả trong mô hình đ−ợc sử dụng rộng rãi trong lý thuyết truyền thông, do đó, trong thực tế khó có thể nói về truyền thông mà không sử dụng