Lập trình mạng với java chương 1

26 346 1
Lập trình mạng với java   chương 1

Đ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

Lời mở đầu Lập trình mạng nhiệm vụ để phát triển ứng dụng doanh nghiệp Một chương trình mạng viết để chương trình máy tính khác truyền tin với cách hiệu an toàn cho dù chúng cài đặt mạng LAN, WAN hay mạng toàn cầu Internet, điều thành công nhiều hệ thống Java ngôn ngữ lập trình hướng đối tượng túy với nhiều đặc trưng ưu việt so với ngôn ngữ lập trình hướng đối tượng khác tính độc lập với nên, tính bảo mật,…Java ngôn ngữ từ đời hướng đến lập trình mạng nên việc viết chương trình lập trình mạng Java dễ dàng nhiều so với ngôn ngữ khác Giáo trình bao gồm 10 chương: Chương 1: Giới thiệu khái niệm mạng máy tính để người đọc tiếp cận với chương Trong chương vào xem xét mạng vật lý, phần cứng sử dụng mạng LAN Tiếp theo tìm hiểu mô hình phân tầng OSI bảy tầng, tương ứng họ giao thức TCP/IP với tầng mô hình OSI Sau vào tìm hiểu giao thức mạng, giao thức Internet, giao thức e-mail Chương 2: Giới thiệu ngôn ngữ lập trình Java Chương trình bày khái niệm ngôn ngữ lập trình Java Giới thiệu lịch sử phát triển cấu trúc máy ảo Java Những đặc trưng tạo nên sức mạnh ngôn ngữ Java giới thiệu chương Cũng chương vào tìm hiểu cách cấu hình cài đặt môi trường biên dịch, chạy soạn thảo ngôn ngữ Java Tiếp đến ta vào tìm hiểu thành phần Java kiểu liệu, cấu trúc lệnh rẽ nhánh, lặp, nhảy Tiếp theo vào tìm hiểu khái niệm liên quan đến lập trình hướng đối tượng Java lớp, phương thức, thuộc tính, từ khóa bổ trợ static, final, abstract, thừa kế tính đa hình Java Một khái niệm mà ngôn ngữ truyền thống trước ngoại lệ đón bắt ngoại lệ Java giới thiệu Chương 3: Các luồng vào Chương giới thiệu khái niệm vào luồng liệu Trước tiên ta tìm hiểu luồng ý nghĩa luồng chương trình Java Tiếp đến tìm hiểu luồng vào chuẩn gói làm việc với console Các luồng trừu tượng java.io.InputStream, java.io.OutputStream luồng để từ xây dựng nên luồng cụ thể Luồng chia thành nhóm luồng byte luồng ký tự Từ phiên Java 1.4 đặc trưng vào Java đưa vào giới thiệu chương Việc nắm vững kiến thức chương giúp cho việc lập trình ứng dụng mạng trở nên đơn giản thực chất việc truyền nhận liệu ứng dụng mạng việc đọc ghi luồng Chương 4: Lập trình đa tuyến đoạn Trong ngôn ngữ lập trình trước ứng dụng hầu hết ứng dụng đơn tuyến đoạn Để tăng tốc độ xử lý giải vấn đề tương tranh ứng dụng nói chung ứng dụng mạng nói riêng ta cần sử dụng khái niệm đa tuyến đoạn Phần đầu chương trình bày khái niệm tiến trình, tuyến đoạn Tiếp đến xem xét cách cài đặt ứng dụng tuyến đoạn Java lớp Thread thực thi giao tiếp Runnable Sau ta vào tìm hiểu phương thức lớp Thread Sự đồng hóa cách cài đặt chương trình đồng hóa giới thiệu chương Chương 5: Lập trình mạng với lớp InetAddress, URL URLConnection Lớp InetAddress lớp lập trình mạng mà ta cần tìm hiểu Nó cách chương trình Java tương tác với hệ thống tên miền Tiếp đến ta vào tìm hiểu khái niệm URI, URL,URN lớp biểu diễn URL Java Cách sử dụng URL để tải thông tin tệp tin từ server Sau ta vào tìm hiểu lớp URLConnection, lớp đóng vai trò động cho lớp URL http://www.ebook.edu.vn Chương 6: Lập trình Socket cho giao thức TCP Trong chương tìm hiểu cách lập trình cho mô hình client/server kiểu kiến trúc client/server Các lớp Socket ServerSocket trình bày chi tiết chương để lập chương trình cho giao thức TCP Chương 7: Lập trình ứng dụng cho giao thức UDP Chương giới thiệu giao thức UDP đặc trưng giao thức Tiếp đến ta vào tìm hiểu lớp DatagramPacket DatagramSocket để viết chương trình ứng dụng mạng cho giao thức UDP Chương 8: Tuần tự hóa đối tượng ứng dụng lập trình mạng Trình bày vấn đề hóa ứng dụng hóa lập trình mạng Chương 9: Phân tán đối tượng Java RMI Chương tìm hiểu chủ đề lập trình phân tán đối tượng kỹ thuật gọi phương thức RMI (Remote Method Invocation) Chương 10:Xử lý sở liệu Java Trình bày cách thức kết nối sở liệu xử lý sở liệu Java thông qua giao diện lập trình ứng dụng JDBC Tìm hiểu lập trình mạng tốt hệ thống mạng thực với nhiều máy tính kết nối vật lý Tuy nhiên giáo trình hầu hết ví dụ trình bày để bạn đọc lập trình thử nghiệm ứng dụng mạng máy đơn Mặc dù cố gắng để trình bày giáo trình cách dễ hiểu với ví dụ minh họa giúp bạn đọc thử nghiệm sau tìm hiểu vấn đề lý thuyết, chắn giáo trình tránh khỏi thiếu sót định Rất mong góp ý phê bình bạn độc giả Mọi thắc mắc góp ý bạn gửi theo địa e-mail sau:lequocdinh@vnn.vn hoan_td2001@yahoo.com Để hoàn thành giáo trình tác giả nhận giúp đỡ nhiều từ bạn bè, đồng nghiệp người thân Xin chân thành cảm ơn tới tất người Nhóm tác giả http://www.ebook.edu.vn MỤC LỤC Lời mở đầu Chương 1:Các khái niệm mạng giao thức 1 Mạng máy tính 1.1 Các đường WAN 1.2 Giao thức Ethernet 1.3 Các thành phần vật lý Mô hình phân tầng 2.1 Tầng 1:Tầng vật lý 2.2 Tầng 2: Tầng liên kết liệu 2.3 Tầng 3: Tầng mạng 2.4 Tầng 4:Tầng giao vận 2.5 Tầng 5: Tầng phiên 2.6 Tầng 6:Tầng trình diễn 2.7 Tầng 7:Tầng ứng dụng Các giao thức mạng 3.1 Các giao thức 3.2 Các giao thức Internet 14 Soket 17 Dịch vụ tên miền 17 5.1 Các server tên miền 18 5.2 Nslookup 19 Internet Extranet 20 6.1 Intranet Extranet20 6.2 Firewall 20 6.3 Proxy Server 20 Chương : Giới thiệu ngôn ngữ lập trình Java 21 Giới thiệu công nghệ Java 21 1.1 Lịch sử phát triển 21 1.2 Cấu trúc máy ảo Java – Java Virtual Machine 21 1.3 Các đặc trưng Java 21 1.4 Các ấn Java 22 1.5 Công cụ phát triển 23 1.6 Các kiểu ứng dụng Java 23 1.7 Cài đặt chương trình dịch Java công cụ 23 1.8 Một số ví dụ mở đầu 25 Ngôn ngữ lập trình Java 27 2.1 Cấu trúc tệp chương trình Java 27 2.2 Định danh, kiểu liệu khai báo biến 28 2.3 Các kiểu liệu nguyên thủy (primitive datatype) 28 2.4 Khai báo biến 30 2.5 Các lệnh Java 31 2.6 Các lớp đối tượng Java 36 2.7 Giao tiếp – Interface 48 2.8 Các gói sử dụng gói Java 50 2.9 Quản lý ngoại lệ 52 http://www.ebook.edu.vn I Chương 3: Các luồng vào 59 Khái niệm luồng Java 59 1.1 Khái niệm luồng(stream) 59 Luồng xuất nhập chuẩn 60 Luồng nhị phân 60 3.1 Lớp InputStream 60 3.2 Lớp OutputStream 61 3.3 Các luồng xuất nhập mảng byte 62 3.4 Luồng xuất nhập tập tin 64 3.5 Truy nhập tệp ngẫu nhiên 66 3.6 Luồng PrintStream 68 Luồng ký tự 68 4.1 Sự tương ứng luồng byte luồng ký tự 68 4.2 Mã hóa ký tự 69 4.3 Lớp Writer 70 4.4 Lớp Reader 70 4.5 Lớp OutputStreamWriter 70 4.6 Lớp InputStreamReader 71 4.7 Lớp FileWriter 71 4.8 Lớp FileReader 72 Luồng đệm 73 Luồng vào – New Input Output 74 6.1 Căn NIO 74 6.2 Buffer (Các vùng đệm) 74 6.3 Các kênh (Channel) 76 6.4 Charset Selector 76 6.5 Đọc tệp 77 6.6 Ghi tệp tin 80 Kết luận 82 Chương 4: Lập trình đa tuyến đoạn 83 1.Tổng quan83 1.1 Lập trình đơn tuyến đoạn 83 1.2 Lập trình đa tiến trình 83 1.3 Lập trình đa tuyến đoạn 84 Tạo ứng dụng đa tuyến đoạn với lớp Thread 86 Tạo ứng dụng đa tuyến đoạn với giao tiếp Runnable 87 Sự đồng hóa 88 4.1 Các phương thức synchronized 88 4.2.Lệnh synchronized 89 Phương thức wait notify 90 Lập lịch cho tuyến đoạn 91 Hoài vọng-Deadlock 92 Điều khiển tuyến đoạn 94 8.1 Ngắt tuyến đoạn Thread 94 8.2 Kết thúc việc thực thi tuyến đoạn 95 8.3 Tạm dừng phục hồi việc xử lý tuyến đoạn 96 http://www.ebook.edu.vn II Các nhóm tuyến đoạn –ThreadGroup 96 9.1 Tạo nhóm Thread 98 10 Một ví dụ minh họa việc sử dụng tuyến đoạn 98 11 Kết luận 100 Chương 5: Lập trình mạng với lớp InetAddress, URL URLConnection 102 Lớp InetAddress102 1.1 Tạo đối tượng InetAddress102 1.2 Nhận trường thông tin đối tượng InetAddress 103 1.3 Một số chương trình minh họa 104 Lớp URL 105 2.1 Tạo URL 105 2.2 Phân tích URL thành thành phần 106 2.3 Tìm kiếm liệu từ URL 108 2.4 Các phương thức tiện ích 109 Lớp URLConnection109 3.1 Mở URLConnection 110 3.2 Đọc liệu từ server 111 3.3 Phân tích Header 113 Chương 6: Lập trình Socket cho giao thức TCP 119 Mô hình client/server 119 Các kiến trúc Client/Server 120 2.1 Client/Server hai tầng (two-tier client/server) 120 2.2 Client/Server ba tầng 121 2.3 Kiến trúc n-tầng 122 Mô hình truyền tin socket 122 Socket cho Client 124 4.1 Các constructor 124 4.2 Nhận thông tin Socket 125 4.3 Đóng Socket 126 4.4 Thiết lập tùy chọn cho Socket127 4.5 Các phương thức lớp Object127 4.6 Các ngoại lệ Socket 127 4.7 Các lớp SocketAddress 127 Lớp ServerSocket 128 5.1 Các constructor 128 5.2 Chấp nhận ngắt liên kết 129 Các bước cài đặt chương trình phía Client Java 131 Các bước để cài đặt chương trình Server Java 134 Ứng dụng đa tuyến đoạn lập trình Java 136 Kết luận 141 Chương 7: Lập trình ứng dụng cho giao thức UDP 142 Tổng quan giao thức UDP 142 1.1 Một số thuật ngữ UDP 142 1.2 Hoạt động giao thức UDP 143 1.3 Các nhược điểm giao thức UDP 143 1.4 Các ưu điểm UDP 144 1.5 Khi nên sử dụng UDP 144 Lớp DatagramPacket 145 http://www.ebook.edu.vn III 2.1 Các constructor để nhận datagram 145 2.2 Constructor để gửi datagram 146 Lớp DatagramSocket 148 Nhận gói tin 148 Gửi gói tin 150 Ví dụ minh họa giao thức UDP 151 Chương 8: Phân tán đối tượng Java RMI 159 1.Tổng quan 159 Mục đích RMI 159 Một số thuật ngữ 160 Các lớp trung gian Stub Skeleton 160 Cơ chế hoạt động RMI 160 Kiến trúc RMI 163 Cài đặt chương trình 164 Triển khai ứng dụng 166 Các lớp giao tiếp gói java.rmi 167 9.1 Giao tiếp Remote 167 9.2 Lớp Naming 167 10 Các lớp giao tiếp gói java.rmi.registry 168 10.1 Giao tiếp Registry 168 10.2 Lớp LocateRegistry 168 11 Các lớp giao tiếp gói java.rmi.server 169 11.1 Lớp RemoteObject 169 11.2 Lớp RemoteServer 169 11.3 Lớp UnicastRemoteObject 169 12 Kết luận169 Chương : Xử lý sở liệu Java 171 JDBC Java Database Connectivity API 171 Cấu trúc JDBC 171 2.1 Kiểu 172 2.2 Kiểu 173 2.3 Kiểu 174 2.4 Kiểu 175 Kết nối sở liệu 176 3.1 DriverManager 176 3.2 Connection 176 3.3 Statement 177 3.4 ResultSet 177 Lớp DatabaseMetaData 178 Lớp ResultSetMetaData 179 Các bước để kết nối với sở liệu từ ứng dụng Java 180 Sử dụng PreparedStatement 185 Sử dụng giao tác 187 Tài liệu tham khảo 190 http://www.ebook.edu.vn IV Chương Các khái niệm mạng giao thức mạng Mạng máy tính Mạng máy tính Là tập hợp máy tính thiết bị nối với đường truyền vật lý theo kiến trúc Chúng ta phân loại mạng theo qui mô nó: • Mạng LAN (Local Area Network)-mạng cục bộ: kết nối nút phạm vi giới hạn Phạm vi công ty, hay tòa nhà • Mạng WAN (Wide Area Network): nhiều mạng LAN kết nối với tạo thành mạng WAN • MAN (Metropolitan Area Network), tương tự WAN, kết nối nhiều mạng LAN Tuy nhiên, mạng MAN có phạm vi thành phố hay đô thị nhỏ MAN sử dụng mạng tốc độ cao để kết nối mạng LAN trường học, phủ, công ty, , cách sử dụng liên kết nhanh tới điểm cáp quang Khi nói đến mạng máy tính, người ta thường đề cập tới mạng xương sống (backbone) Backbone mạng tốc độ cao kết nối mạng có tốc độ thấp Một công ty sử dụng mạng backbone để kết nối mạng LAN có tốc độ thấp Mạng backbone Internet xây dựng mạng tốc độ cao kết nối mạng tốc độ cao Nhà cung cấp Internet kết nối trực tiếp với mạng backbone Internet, nhà cung cấp lớn 1.1 Các đường kết nối mạng WAN Để kết nối tới mạng WAN, có số tùy chọn sau: • Khi khách hàng cụ thể yêu cầu sử dụng mạng với thông lượng xác định, sử dụng đường thuê bao (leased line) • Các đường chuyển mạch (switched lines) sử dụng dịch vụ điện thoại thông thường Một mạch thiết lập phía nhận phát khoảng thời gian thực gọi trao đổi liệu Khi không cần dùng đường truyền nữa, cần phải giải phóng đường truyền cho khách hàng khác sử dụng Các ví dụ đường chuyển mạch đường POTS , ISDN, DSL • Mạng chuyển mạch gói mạng mà nhà cung cấp dịch vụ cung cấp công nghệ chuyển mạch để giao tiếp với mạng xương sống Giải pháp cung cấp hiệu cao khả chia sẻ tài nguyên khách hàng Các giao thức sử dụng cho mạng chuyển mạch bao gồm X.25 (64Kbps), Frame Relay (44.736Mbps), ATM (9.953 Gbps) Kiến trúc mạng: Một vấn đề cần quan tâm mạng máy tính kiến trúc mạng Nó cập tới hai khía cạnh Hình trạng mạng Giao thức mạng • Hình trạng mạng: Là cách nối máy tính với Người ta phân loại mạng theo hình trạng mạng mạng sao, mạng bus, mạng ring… • Giao thức mạng: Là tập hợp qui tắc, qui ước truyền thông mạng mà tất thực thể tham gia truyền thông phải tuân theo http://www.ebook.edu.vn 1.2 Giao thức Ethernet Để có hiểu biết tốt mạng vật lý hoạt động nào, xem xét số giao thức LAN phổ biến: giao thức Ethernet Chín mươi phần trăm thiết bị gắn với mạng LAN sử dụng giao thức Ethernet, ban đầu phát triển Xerox, Digital Equipement, Intel năm 1972 Ngày nay, Ethernet hỗ trợ đường truyền 100Mbps 1Gbps Rất nhiều công nghệ đường truyền sử dụng với Ethernet Người ta sử dụng số qui ước để đặt tên giao thức Enternet Tên tốc độ mạng Ethernet thuộc tính công nghệ đường truyền Các tên bắt đầu số để tốc độ truyền tối đa, từ sử dụng để xác định công nghệ truyền dẫn, cuối số để khoảng cách hai nút Ví dụ, 10Base2 ký hiệu Ethernet hoạt động với tốc độ 10Mbps sử dụng kỹ thuật truyền băng tần sở, với cáp có chiều dài tối đa 200m Một số cấu hình thông dụng khác sau: Chuẩn Ethernet 10Base5 10BaseT Tốc độ 10Mbps 10Mbps Kiểu cáp Cáp đồng trục Cáp đồng 100BaseTX 100Mbs Cáp đồng 1000BaseSX 1000Mbps Cáp đa chế độ • Mô tả Đây chuẩn ban đầu cho Ethernet 10BaseT mạng 10Mbps với cáp xoắn 100Mbps công nghệ cáp xoắn khả truyền song công 1000Mbps với cáp sợi quang S :Short wavelength (850nm) Bảng 1.1 CSMA/CD (Carrier Sense Multiple Access/Collision Detect) Nhiều thiết bị kết nối vào mạng tất có quyền truy xuất đồng thời Khi thông điệp gửi đi, truyền thông qua mạng Phía nhận định danh địa nhất, có nút đọc thông điệp, nút khác bỏ qua Một vấn đề đặt có nhiều nút cố gắng gửi thông điệp thời điểm, điều phá hỏng gói tin Giải pháp cho vấn đề nút mạng giám sát mạng phát mạng rảnh hay bận Một nút bắt đầu gửi liệu liệu gửi mạng trước CSMA phận CSMA/CD Tuy nhiên có khả hai nút, sau kiểm tra thấy mạng không bận, bắt đầu gửi gói tin thời điểm cáp mạng Điều gây lên xung đột hai gói tin, kết phá hỏng liệu Cả hai phía gửi nhận thức gói tin bị hỏng lắng nghe mạng gửi liệu, phát xung đột Đây CD (Collision Dection) CSMA/CD Cả hai nút dừng việc truyền liệu tức thời, chờ thời điểm định trước kiểm tra mạng trở lại để xem mạng có rỗi hay không truyền lại Mỗi nút mạng sử dụng địa MAC (Media Access Control) để định danh Địa định nghĩa thiết bị giao tiếp mạng Một gói tin gửi mạng, thiết bị mạng không nhận diện host host nhận, bỏ qua gói tin chuyển tiếp http://www.ebook.edu.vn • Các giao thức khác IBM phát triển giao thức Token Ring (IEEE802.5), nút mạng kết nối theo vòng Với Ethernet, nút gửi thông điệp gói tin mạng Với Token Ring nút có quyền truy xuất tới mạng theo thứ tự định trước Một token lưu chuyển vòng quanh vòng, nút lệnh có thẻ gửi thông điệp Ngày nay, Ethernet thay dần mạng Token Ring mạng tốn khó cài đặt AppleTalk giao thức mạng LAN phát triển Apple tương đối phổ biến trường học, nhà máy, ATM giao thức khác tìm thấy mạng LAN Nó hỗ trợ mạng tốc độ cao sử dụng kỹ thuật chuyển mạch có đảm bảo chất lượng dịch vụ 1.3 Các thành phần vật lý Một vấn đề quan trọng để biết mạng biết phần cứng Chúng ta xem xét thành phần chủ yếu mạng LAN sau: • o Thiết bị giao tiếp mạng o Hub o Switch o Router Thiết bị giao tiếp mạng (Network Interface Thiết bị) NIC thiết bị giao tiếp sử dụng để kết nối thiết bị với mạng LAN Nó cho phép gửi nhận thông điệp từ mạng Một NIC có địa MAC mà cung cấp định danh cho thiết bị Địa MAC số 12 byte-hệ 16 gán cho thiết bị mạng Địa thay đổi trình điều khiển mạng cách linh hoạt (như trường hợp hệ thống DECnet, mạng phát triển Digital Equipment), thông thường địa MAC không thay đổi Ta tìm địa MAC máy sử dụng hệ điều hành Windows cách dùng tiện ích dòng lệnh ipconfig DOS với tham số switch Hình 1.1 http://www.ebook.edu.vn • Hub Nhiều thiết bị kết nối cách dễ dàng với giúp đỡ hub Hub thiết bị kết nối gắn nhiều thiết bị vào LAN Mỗi thiết bị thường kết nối thông qua cáp tới cổng hub Hub hoạt động chuyển tiếp Khi chuyển thông điệp từ cổng tới cổng khác, chuyển tới mạng Hub thành phần tương đối đơn giản mạng, hoạt động tầng vật lý để truyền liệu mà không cần thao tác xử lý Điều làm cho hub dễ cài đặt quản lý, chúng không đòi hỏi cấu hình đặc biệt • Switch Các chuyển mạch (switch) phân chia mạng thành đoạn (segment) So với hub, switch thiết bị thông minh nhiều Switch lưu trữ địa MAC thiết bị kết nối tới cổng bảng lookup Các bảng lookup cho phép switch lọc thông điệp mạng không giống với hub, không chuyển tiếp thông điệp tới cổng Điều loại bỏ xung đột xảy mạng đạt hiệu tốt Chức chuyển mạch thực cách sử dụng phần cứng • Router Router thiết bị trung gian mạng, kết nối nhiều mạng vật lý Một mạng có nhiều host phân chia thành phần riêng, hay gọi subnet Ưu điểm subnet là: Hiệu cải thiện cách giảm broadcast, broadcast thông điệp gửi tới tất nút mạng Khả hạn chế người dùng mạng xác định đưa ưu điểm bảo mật Các subnet nhỏ dễ quản lý so với mạng lớn Các router không sử dụng LAN, chúng có vai trò quan trọng WAN Router nhận thông điệp chuyển tiếp tới đích cách sử dụng đường tốt tới đích Một Router lưu giữ bảng định tuyến liệt kê tất cách mà mạng đạt tới Thông thường có số đường từ mạng tới mạng khác, có số tốt nhất, đường mô tả bảng định tuyến Các router truyền tin cách sử dụng giao thức định tuyến để phát router khác mạng, hỗ trợ cho việc trao đổi thông tin mạng gắn với định tuyến Thông tin mà định tuyến thu thập đường mạng gọi độ đo router, bao gồm thông tin mát gói tin thời gian truyền tin Thông tin sử dụng để tạo độ đo tùy thuộc vào giao thức định tuyến: Giao thức định tuyến vectơ khoảng cách Các giao thức RIP(Routing Information Protocol) IGRP(Interior Gateway Routing Protocol) sử dụng biến đếm để số router mà gói tin phải qua để đến đích Các giao thức thường lựa chọn đường với router, mà không quan tâm đến tốc độ độ tin cậy Các giao thức định tuyến trạng thái liên kết Việc tính toán đường tốt giao thức định tuyến OSPF BGP quan tâm đến nhiều yếu tố tốc độ, độ tin cậy, chí chi phí đường Các giao thức định tuyến lai http://www.ebook.edu.vn Mô hình phân tầng ISO định nghĩa mô hình cho mạng chuẩn hóa thay cho TCP/IP,DECNet giao thức khác giao thức mạng sử dụng cho Internet Tuy nhiên, phức tạp OSI, mô hình không cài đặt sử dụng nhiều thực tế TCP/IP đơn giản nhiều tìm thấy nhiều nơi Nhưng có nhiều ý tưởng từ giao thức OSI tìm thấy phiên IP, IPv6 Trong giao thức OSI không xây dựng đầy đủ thực tế, mô hình bảy tầng thành công sử dụng mô hình tham chiếu để mô tả giao thức mạng khác chức chúng Các tầng mô hình OSI phân chia nhiệm vụ mà giao thức mạng phải thực hiện, mô tả ứng dụng mạng truyền tin Mỗi tầng có mục đích cụ thể kết nối với tầng Bảy tầng mô hình OSI Hình 1.4 • Tầng ứng dụng (Application): định nghĩa giao diện lập trình giao tiếp với mạng cho ứng dụng người dùng • Tầng trình diễn (Presentation): có trách nhiệm mã hóa liệu từ tầng ứng dụng để truyền mạng ngược lại • Tầng phiên (Session): tạo liên kết ảo ứng dụng • Tầng giao vận (Transport): cho phép truyền liệu với độ tin cậy cao • Tầng mạng (Network): cho phép truy xuất tới nút mạng LAN cách sử dụng địa logic • Tâng liên kết liệu (Data Link): truy xuất tới mạng vật lý địa vật lý • Cuối cùng, tầng vật lý (Physical): bao gồm thiết bị kết nối, cáp nối Bây tìm hiểu khái niệm tầng cách xem xét chức tầng chi tiết http://www.ebook.edu.vn 2.1 Tầng 1:Tầng vật lý Tầng vật lý bao gồm môi trường vật lý yêu cầu cáp nối, thiết bị kết nối, đặc tả giao tiếp, hub repeater, 2.2 Tầng 2: Tầng liên kết liệu Địa MAC mà đề cập địa tầng Các nút LAN gửi thông điệp cho cách sử dụng địa IP, địa phải chuyển đổi sang địa MAC tương ứng Giao thức phân giải địa (ARP: Address Resolution Protocol) chuyển đổi địa IP thành địa MAC.Một vùng nhớ cache lưu trữ địa MAC tăng tốc độ xử lý này, kiểm tra tiện ích arp -a, 2.3 Tầng 3: Tầng mạng Tầng mạng tầng nằm phía tầng liên kết Trong tầng 3, địa logic sử dụng để kết nối tới nút khác Các địa MAC tầng sử dụng mạng LAN, phải sử dụng cách đánh địa tầng truy xuất tới nút mạng WAN Internet Protocol giao thức tầng 3; sử dụng địa IP để định danh nút mạng Các router tầng sử dụng để định đường mạng 2.4.Tầng 4:Tầng giao vận Tầng mạng định danh host địa logic Tầng ứng dụng nhận biết ứng dụng thông qua gọi điểm cuối (endpoint) Với giao thức TCP, endpoint nhận biết số hiệu cổng địa IP Tầng giao vận phân loại theo cách truyền tin với độ tin cậy hay không Truyền tin với độ tin cậy có lỗi tạo thông điệp gửi không nhận cách đắn Trong truyền tin có độ tin cậy không cao không kiểm tra xem liệu thông điệp gửi nhận hay chưa Trong truyền tin với độ tin cậy, tầng giao vận có nhiệm vụ gửi gói tin xác thực hay thông điệp truyền lại liệu bị hỏng hay bị thất lạc, hay liệu bị trùng lặp Một cách khác để phân loại mạng truyền tin phân loại mạng theo hướng liên kết hay phi liên kết • Với truyền tin hướng liên kết, liên kết phải thiết lập trước thông điệp gửi nhận • Với truyền tin phi liên kết không cần giai đoạn thiết lập liên kết 2.5 Tầng 5: Tầng phiên Với mô hình OSI, tầng phiên xác định cá dịch vụ cho ứng dụng, đăng nhập đăng xuất ứng dụng Tầng phiên biểu diễn liên kết ảo ứng dụng Liên kết tầng phiên độc lập với liên kết vật lý tầng giao vận, liên kết tầng giao vận yêu cầu cho liên kết tầng phiên 2.6.Tầng 6:Tầng trình diễn Tầng trình diễn sử dụng để định dạng liệu theo yêu cầu ứng dụng Mã hóa, giải mã, nén liệu thường diễn tầng 2.7 Tầng 7:Tầng ứng dụng Tầng ứng dụng tầng cao mô hình OSI Tầng bao gồm ứng dụng sử dụng tiện ích mạng Các ứng dụng thực tác vụ truyền tệp tin, in ấn, e-mail, duyệt web,… http://www.ebook.edu.vn Các giao thức mạng Các tầng OSI định nghĩa mô hình tầng giao thức, cách mà chúng hoạt động với Chúng ta so sánh tầng OSI với cài đặt cụ thể: Chồng giao thức TCP/IP dạng cụ thể mô hình OSI, bao gồm tầng Giao thức IP tương ứng với tầng mô hình OSI; TCP UDP tương ứng với tầng mô hình OSI, chúng thực nhiệm vụ tầng phiên, tầng trình diễn, tầng ứng dụng Trong mục tiếp theo, xem xét chức mục đích giao thức họ giao thức TCP/IP theo trình tự sau: • Các giao thức • Các giao thức Internet • Các giao thức E-mail • Các giao thức khác 3.1 Các giao thức Như thấy, họ giao thức TCP/IP có cấu trúc phân tầng đơn giản nhiều so với mô hình tầng mô hình OSI TCP UDP giao thức tầng giao vận tương ứng với tầng mô hình tầng OSI Cả hai giao thức sử dụng giao thức IP, giao thức tương ứng với tầng mô hình OSI (tầng mạng) Cũng ba giao thức có hai giao thức họ giao thức TCP/IP mở rộng tính giao thức IP: ICMP IGMP 3.1.1 IP-Internet Protocol Giao thức Internet kết nối hai nút Mỗi nút định danh địa IP 32bit, gọi địa IP host Khi gửi thông điệp, giao thức IP nhận thông điệp từ giao thức tầng TCP hay UDP đưa vào trường header chứa thông tin host đích Cách tốt để hiểu giao thức IP cách xem trường thông tin header IP chi tiết Thông tin liệt kê bảng sau Trường IP Version (Phiên IP) Độ dài bits Mô tả Phiên IP ( Phiên giao thức IPv4) IP Header Length (Chiều dài Header) Type of Service (Kiểu dịch vụ) bits Chiều dài header byte Kiểu dịch vụ cho phép thông điệp đặt chế độ thông lượng cao hay bình thường, thời gian trễ bình thường hay lâu, độ tin cậy bình thường hay cao Điều có lợi cho gói gửi mạng Một số kiểu mạng sử dụng thông tin để xác định độ ưu tiên Hai byte xác định tổng chiều dài thông điệp-header liệu Kích thước tối đa gói tin IP 65,535, điều không thực tế mạng Kích thước lớn chấp nhận host 576 bytes Các thông điệp lớn phân thành đoạn-quá trình gọi trình phân đoạn Total Length (Tổng chiều dài) bytes http://www.ebook.edu.vn Identification (Định danh) bytes Flags bits Fragment Offset 13 bits Time to Live byte Protocol byte Header Checksum bytes Source Address bytes Destination Address bytes Options variable Padding variabe Nếu thông điệp phân đoạn, trường định danh trợ giúp cho việc lắp ráp đoạn thành thông điệp Nếu thông điệp phân thành nhiều đoạn, tất đoạn thông điệp có số định danh Các cờ thông điệp có phân đoạn hay không, liệu gói tin thời có phải đoạn cuối thông điệp hay không 13 bit xác định offset thông điệp Các đoạn đến theo thứ tự khác với gửi, trường offset cần thiết để xây dựng lại liệu ban đầu Đoạn thông điệp có offset Xác định số giây mà thông điệp tồn trước bị loại bỏ Byte giao thức sử dụng mức cho thông điệp Các số giao th ức Đây là checksum header Bởi header thay đổi với thông điệp mà chuyển tới, checksum thay đổi Cho biết địa IP 32 bit phía gửi Địa IP 32 bit phía nhận Bảng 1.2 • Các địa IP Mỗi nút mạng TCP/IP định danh địa IP 32-bit Thông thường địa IP biểu diễn bốn x.x.x.x, chẳng hạn 192.168.0.1 Mỗi số bốn số biểu diễn byte địa IP Một địa IP gồm hai phần: phần mạng phần host Tùy thuộc vào lớp mạng, phần mạng bao gồm một, hai ba byte Lớp Byte A Networks (1-126) B Networks (128191) C Networks (192223) Byte Byte Host (0-255) Host (0-255) Networks (0-255) Host (0-255) Byte Host (0-255) Host (0-255) Networks (0-255) Networks (0-255) Host (0-255) Bảng 1.3 Bit địa mạng lớp A 0,vì byte địa lớp A nằm dải từ 00000001 (1) đến 01111110 (126) Ba byte lại phục vụ cho việc định danh nút mạng, cho phép ta kết nối 16 triệu thiết bị vào mạng lớp A Chú ý mạng bảng không đề cập tới địa có byte đầu 127-đây khoảng địa dự phòng Địa 127.0.0.1 địa localhost, địa 127.0.0.0 địa loopback http://www.ebook.edu.vn Các địa IP mạng thuộc lớp B luôn có hai bit byte đầu 10, đưa khoảng địa 10000000 (128) đên 10111111 (191) Byte thứ hai dùng để định danh mạng có giá trị từ đến 255, hai byte lại để định danh nút mạng; tổng cộng 65534 thiết bị Các địa IP mạng thuộc lớp C luôn có ba bit byte đầu 110, khoảng giá trị byte đầu từ 11000000 (192) đến 11011111 (223) Mạng có byte thiết lập để định danh host, có 254 thiết bị kết nối vào mạng lớp C • Các địa IP riêng Để tránh cạn kiệt địa IP, host không kết nối trực tiếp với Internet sử dụng địa khoảng địa riêng Các địa IP riêng không tổng thể, mà mặt cục phạm vi mạng Tất lớp mạng dự trữ khoảng định để sử dụng địa riêng cho host không cần truy cập trực tiếp tới Internet Các host truy cập Internet thông qua gateway mà không cần chuyển tiếp địa IP riêng Lớp A B C Khoảng địa riêng 10 172.16-172.31 192.168.0-192.168.255 Bảng 1.4 • Các subnet Việc kết nối hai nút hai mạng khác cần có router Định danh host mạng lớp A cần có 24 bit; mạng lớp C, có bit Router phân chia định danh host thành hai phần phần gọi subnet phần lại phần host 3.1.2 IPv6 Tiền thân giao thức IP phát triển Bộ Quốc Phòng Mỹ năm 1960 năm 1980 họ giao thức TCP/IP đời Bởi IP xây dựng dựa giao thức mạng DARPA có, trở thành phiên 4, gọi IPv4 Lúc ý tưởng máy di động chưa kết nối vào Internet nên số host hỗ trợ IP tạm đủ Nhưng có nhiều thiết bị kết nối vào Internet, nhu cầu số địa IP tăng cao Một phiên địa IP phát triển IETF: IPv6 Sự thay đổi quan trọng so với IPv4 việc sử dụng 128bit để đánh địa nút 32bit 3.1.3 -Số hiệu cổng Giao thức IP sử dụng địa IP để định danh nút mạng, tầng giao vận sử dụng điểm cuối (endpoint) để định danh ứng dụng Các giao thức TCP UDP sử dụng số hiệu cổng với địa IP để xác định điểm cuối ứng dụng Các số hiệu cổng TCP UDP phân thành ba loại • Các số hiệu cổng hệ thống • Các số hiệu cổng người dùng • Các số hiệu cổng riêng động Các số hiệu cổng hệ thống nằm khoảng từ đến 1023 Các cổng hệ thống sử dụng tiến trình quyền ưu tiên hệ thống Các giao thức tiếng có số hiệu cổng nằm khoảng http://www.ebook.edu.vn 10 Các số hiệu cổng người dùng nằm khoảng từ 1024 đến 49151 Các ứng dụng server bạn nhận số làm cổng, bạn đăng ký số hiệu cổng với IANA Các cổng động nằm khoảng từ 49152 đến 65535 Khi không cần thiết phải biết số hiệu cổng trước khởi động ứng dụng, số hiệu cổng khoảng thích hợp Các ứng dụng client kết nối tới server sử dụng cổng Nếu sử dụng tiện ích netstat với tùy chọn –a, thấy danh sách tất cổng sử dụng, trạng thái liên kết-nó nằm trạng thái lắng nghe hay liên kết thiết lập Hình 1.5 3.1.4 TCP (Transmission Control Protocol) Giao thức TCP giao thức truyền tin hướng liên kết sử dụng truyền tin với độ tin cậy cao Trong giao thức tầng gửi xác thực nhận liệu yêu cầu truyền lại liệu chưa nhận liệu liệu bị hỏng Các trường header liệt kê bảng sau: Trường Cổng nguồn (source port) Cổng đích (destination port) Số thứ tự (Sequence Number) Acknowledge Number Data offset Reserved Control Window Size Độ dài bytes bytes bytes Mô tả Số hiệu cổng nguồn Số hiệu cổng đích Số thứ tự tạo nguồn sử dụng đích để xếp lại gói tin để tạo thông điệp ban đầu, gửi xác thực tới nguồn bytes Các chi tiết nơi liệu gói tin bắt đầu bits bit Dự phòng Trường kích thước vùng đệm nhận http://www.ebook.edu.vn 11 Checksum Urgent Pointer bytes Phía nhận thông báo cho phía gửi kích thước liệu tối đa mà gửi cách sử dụng thông điệp xác thực Checksum cho header liệu để xác định xem bytes gói tin có bị hỏng không Trường thông báo cho phía nhận biết có liệu bytes khẩn Options Padding Bảng 1.5 Giao thức TCP giao thức phức tạp thời gian chế bắt tay, giao thức đảm bảo gói tin đến đích Một số giao thức ứng dụng sử dụng TCP HTTP, FTP, SMTP, Telnet TCP yêu cầu liên kết phải thiết lập trước liệu gửi Ứng dụng server phải thực thao tác mở thụ động để tạo liên kết với số hiệu cổng cho trước 3.1.5 UDP-User Datagram Protocol Ngược với giao thức TCP, UDP giao thức có tốc độ truyền tin nhanh xác định chế tối thiểu để truyền liệu Tất nhiên điều có số nhược điểm Các thông điệp nhận theo thứ tự Thông điệp gửi nhận sau Không có đảm bảo gói tin đến đích, thông điệp bị thất lạc, chí nhận hai thông điệp UDP không cần giai đoạn thiết lập liên kết, liệu gửi cần UDP không gửi thông điệp xác thực, liệu nhận bị thất lạc Nếu cần truyền liệu có độ tin cậy phải thực giao thức mức cao Vậy đâu ưu điểm giao thức UDP, lại cần sử dụng giao thức có độ tin cậy thấp vậy? Để hiểu lý ta lại phải sử dụng giao thức UDP ta cần phân biệt truyền unicast, broadcast multicast Một thông điệp unicast gửi từ nút tới nút khác Kiểu truyền tin truyền tin điểm-điểm Giao thức TCP hỗ trợ truyền tin unicast Nếu server muốn truyền tin với nhiều client cách sử dụng giao thức UDP, client phải thiết lập liên kết, thông điệp gửi tới nút Truyền tin broadcast nghĩa thông điệp gửi tới tất nút mạng Multicast cho phép thông điệp truyền tới nhóm nút lựa chọn UDP sử dụng cho truyền tin unicast cần tới tốc độ truyền tin nhanh, truyền tin đa phương tiện, ưu điểm UDP truyền tin broadcast truyền tin multicast Thông thường không muốn tất nút gửi xác thực cho server làm cho server tải Header UDP ngắn đơn giản nhiều so với TCP Trường thông tin Source port nguồn) Destination Port Length Độ dài (Cổng byte byte byte Mô tả Xác định cổng nguồn tùy chọn với UDP Nếu trường sử dụng, phía nhận thông điệp gửi phúc đáp tới cổng Số hiệu cổng đích Chiều dài thông điệp bao gồm header http://www.ebook.edu.vn 12 Checksum byte liệu Để kiểm tra tính đắn Bảng 1.5 3.1.6 ICMP-Internet Control Message Protocol ICMP giao thức phát triển từ giao thức IP, điểm khác biệt ICMP so với giao thức IP thông tin phản hồi trạng thái hệ thống ICMP phản hồi thông điệp Các lỗi phát thông báo thông điệp ICMP Các thông điệp ICMP sử dụng để gửi thông tin phản hồi tình trạng mạng Ví dụ, router gửi thông điệp ICMP “destination unreachable” không tìm thấy điểm vào cho mạng bảng định tuyến Một router gửi thông điệp ICMP “redirect” tìm thấy đường tốt ICMP giao thức IP mà gửi header IP Trường thông tin Type Độ dài byte Code byte Checksum byte byte Header IP thông thường … Mô tả Trường xác định kiểu thông điệp ICMP Ví dụ, type có giá trị nghĩa không đến đích, 11 nghĩa thời gian, 12 nghĩa tham số header không Code cung cấp thông tin kiểu thông điệp Nếu kiểu type 3, “destination unreachable”, code xác định mạng (0), host (1), hay protocol (2), port (3) đến Checksum thông điệp ICMP Bốn byte cuối header ICMP cung cấp thông tin bổ trợ tùy thuộc vào kiểu thông điệp Bảng 1.6 Một số kiểu gửi cách sử dụng thông điệp ICMP: o Echo, Echo Reply o Lệnh ping gửi lệnh ICMP tới thiết bị đích, xem thiết bị hoạt động tốt hay không có kết trả lời lại o Destination unreachable (Không đến đích), Redirect Một router trả thông điệp ICMP “destination unreachable” liên lạc với thiết bị đích, “redirect” (định hướng lại) tìm thấy đường tốt tới đích o TTL (Time To Live):Vượt thời gian cho phép • Lệnh Ping Tiện ích dòng lệnh ping gửi thông điệp ICMP tới thiết bị đích xác định hostname địa IP lệnh ping Nếu thiết bị đến ICMP Echo Reply gửi trở lại Lệnh hữu ích muốn kiểm tra xem có liên lạc với thiết bị hay không, có vấn đề lỗi trung gian http://www.ebook.edu.vn 13 Hình 1.6 3.1.7 IGMP-Internet Group Management Protocol Tương tự với ICMP, IGMP mở rộng giao thức IP phải cài đặt module IP IGMP sử dụng ứng dụng multicast Khi gửi thông điệp broadcast tới LAN, nút LAN phân tích thông điệp gửi lên cho tầng giao vận để kiểm tra xem có ứng dụng muốn nhận thông điệp từ cổng broadcast Nếu không ứng dụng lắng nghe, thông điệp bị phá hủy không vượt qua tầng giao vận Điều nghĩa host cần số chu kỳ CPU cho dù thông điệp broadcast có cần hay không Multicast giải vấn đề này, cách gửi thông điệp tới nhóm nút tất nút LAN Thiết bị giao tiếp mạng phát xem hệ thống có cần quan tâm đến thông điệp hay không cách phân tích địa broadcast mà không cần trợ giúp CPU 3.2 Các giao thức Internet 3.2.1 Giao thức truyền tệp tin –FTP (File Transfer Protocol) FTP sử dụng để tải tệp lên server, tải tệp từ server Nó giao thức mức ứng dụng, dựa tảng giao thức TCP Ứng dụng client cung cấp giao diện người dùng tạo yêu cầu FTP tương ứng với yêu cầu người dùng với đặc tả FTP Lệnh FTP gửi tới ứng dụng server thông qua giao thức TCP/IP, trình thông dịch FTP phải thông dịch lệnh FTP tương ứng Tùy thuộc vào lệnh FTP, danh sách tệp tệp từ hệ thống tệp server trả cho client đáp ứng FTP Giao thức FTP có đặc trưng sau: • Truyền liệu với độ tin cậy cao thông qua giao thức TCP • Cho phép truy xuất vô danh xác thực người dùng với username password • Các tệp tin truyền dạng mã ASCII liệu nhị phân Các lệnh FTP nhóm thành loại sau: • Các lệnh điều khiển việc truy xuất Các lệnh điều khiển việc truy nhập xác định tên người dùng mật khẩu, chế độ thiết lập thiết lập lại (REIN), liên kết kết thúc (QUIT) • Các lệnh truyền tham số Truyền FTP cấu hình với lệnh tham số truyền Thay đổi việc truyền liệu từ ASCII thành nhị phân, nén liệu, thay đổi cổng để gửi liệu hỗ trợ lệnh • Các lệnh dịch vụ FTP http://www.ebook.edu.vn 14 Sao chép tệp tin từ server (RETR), chép tệp tin lên server (STOR), xóa tệp (DELE), thay đổi tên tệp tin (RNTO), tạo thư mục (MKD), yêu cầu liệt kê danh sách tệp FTP Client Cách tốt để làm quen với giao thức FTP cách sử dụng tiện ích ftp Chương trình ftp hoạt động thông qua dấu nhắc lệnh ftp> cho phép nhập vào lệnh Các lệnh khác với lệnh giao thức FTP-ta thấy chúng cách nhập vào ? Dưới đây, ta nhập vào lệnh open ftp.microsoft.com để tạo liên kết tới host ftp.microsoft.com Nhập vào username anonymous Đáp ứng 230 liên kết thiết lập Hình 1.7 Một client FTP khác có trình duyệt Microsoft Internet Explorer http://www.ebook.edu.vn 15 Hình 1.8 3.2.2 HTTP-Giao thức truyền siêu văn (Hypertext Transfer Protocol) HTTP giao thức sử dụng ứng dụng web HTTP giao thức có độ tin cậy cao, cài đặt dựa giao thức TCP Tương tự FTP, HTTP sử dụng để truyền tệp tin qua mạng Tuy nhiên, không giống với FTP, có đặc trưng đệm liệu, định danh ứng dụng client, hỗ trợ cho định dạng kèm theo khác, MIME,…Những đặc trưng có header HTTP 3.2.3 HTTPS-HTTP over SSL (Secure Socket Layer) Nếu có yêu cầu trao đổi liệu mật với webserver, người ta sử dụng giao thức HTTPS HTTPS mở rộng giao thức HTTP nguyên tắc thảo luận mục trước áp dụng Tuy nhiên chế hoàn toàn khác, HTTPS sử dụng lớp Socket bảo mật SSL(Secure Socket Layer) phát triển Netscape SSL tầng giao thức TCP bảo mật thông tin truyềntrên mạng cách sử dụng nguyên tắc mã hóa công khai 3.3 Các giao thức E-mail Có số giao thức sử dụng cho e-mail phổ biến sau • SMTP-Simple Mail Transfer Protocol SMTP giao thức để gửi nhận e-mail Nó sử dụng để gửi e-mail client server sử dụng giao thức giao vận, để gửi e-mail server sử dụng giao thức giao vận khác SMTP có khả chuyển tiếp thông điệp thông qua môi trường dịch vụ giao vận SMTP không cho phép đọc thông điệp từ mail server • POP3-Post Office Protocol POP3 thiết kế cho môi trường không liên kết Trong môi trường không trì liên kết thường trực với mail server, ví dụ, môi trường thời gian liên kết lâu Với POP3, client truy xuất tới server tìm kiếm thông điệp mà server nắm giữ Khi thông điệp tìm kiếm từ client, chúng thường bị xóa khỏi server, điều không cần thiết • IMAP-Inernet Message Access Protocol http://www.ebook.edu.vn 16 Giống POP3, IMAP thiết kế để truy xuất tới mail mail server Tương tự client POP3, client IMAP có chế độ offline Không giống client POP3, client IMAP có khả lớn chế độ online, tìm kiếm header, đoạn mail, tìm kiếm thông điệp cụ thể server, thiết lập cờ cờ trả lời Về bản, IMAP cho phép client làm việc hộp thư xa hộp thư cục • NNTP-Network News Transfer Protocol NNTP giao thức tầng ứng dụng để gửi, chuyển tiếp, tìm kiếm thông điệp tạo nên phần thảo luận nhóm tin Giao thức cung cấp khả truy cập tới server tin tức để tìm kiếm thông điệp có chọn lọc hỗ trợ cho việc truyền thông điệp từ server tới server 3.4 Một số giao thức ứng dụng khác Có hai giao thức ứng dụng thú vị khác là: SNMP Telnet SNMP (Simple Network Management Protocol) cho phép quản lý thiết bị mạng Có thông tin biến đếm hiệu từ thiết bị SNMP quản lý thiết bị cách hiệu cách sử dụng báo chuông báo hiệu kích hoạt vấn đề hiệu lỗi, cho phép cấu hình thiết bị Một tác tử SNMP gắn với thiết bị mạng cụ thể có sở liệu MIB (Management Information Base) bao gồm tất thông tin kiểm soát thiết bị theo phương pháp hướng đối tượng Một client SNMP truy xuất thông tin sở liệu cách gửi yêu cầu GET Ngược lại, yêu cầu SET sử dụng để cấu hình sở liệu MIB Trong trường hợp có lỗi có vấn đề hiệu năng, tác tử SNMP gửi thông điệp tới SNMP client Soket Socket phương pháp để thiết lập kết nối truyền thông chương trình yêu cầu dịch vụ chương trình cung cấp dịch vụ mạng LAN, WAN, hay Internet tiến trình máy tính Thông tin Socket bao gồm địa IP số hiệu cổng Dịch vụ tên miền Các địa IP viết dạng nhóm bit không dễ nhớ chút nào, có người ta đưa hệ thống tương đương dễ nhớ người sử dụng Do tên miền nhất, nên hệ thống tên miền sử dụng để hỗ trợ hệ thống tên có phân cấp Như ta biết, tiền thân mạng Internet mạng Arpanet Bộ quốc phòng Mỹ Thời kỳ số máy tính mức đủ để liệt kê chúng tệp tin văn lưu máy kết nối vào mạng Thông tin tập tin bao gồm địa IP hostname Tuy nhiên quy mô mạng ngày mở rộng người ta cần có máy tính chuyên dụng để lưu trữ phân giải tên miền Các máy tính có chức gọi Máy chủ DNS Ví dụ www.microsoft.com, www.bbc.co.uk Các tên không bắt buộc phải có ba phần, việc đọc phải sang trái, tên bắt đầu với miền mức cao Các miền mức cao tên nước cụ thể tên tổ chức định nghĩa tổ chức IANA Các tên miền cấp cao liệt kê bảng sau Trong năm gần đây, số tên miền cấp cao đưa vào Tên miền Mô tả aero Công nghiệp hàng không biz Doanh nghiệp com Các tổ chức thương mại http://www.ebook.edu.vn 17 .coop Các quan hệ hợp tác info Không ràng buộc sử dụng museum Các viện bảo tàng name Các tên cá nhân Bảng 1.7 Tên miền Mô tả net Các mạng org Các tổ chức phi phủ pro Các chuyên gia gov Chính phủ Hoa Kỳ edu Các tổ chức giáo dục mil Quân đội Mỹ int Các tổ chức thành lập hiệp ước quốc tế phủ Bảng 1.8 Ngoài ra, có tên miền cho quốc gia Tên miền Mô tả at Autralia de Germany fr France uk United Kingdom Vietnam Bảng 1.9 5.1 Các server tên miền Các hostname phân giải cách sử dụng server DNS (Domain Name Service) Các server có sở liệu hostname bí danh ánh xạ tên thành địa IP Ngoài ra, DNS đăng ký thông tin cho Mail Server, số ISDN, tên hòm thư, dịch vụ Trong Windows, thiết lập TCP/IP xác định server DNS sử dụng để truy vấn Lênh ipconfig/all server DNS thiết lập thiết lập cấu hình khác Khi kết nối với hệ thống xa sử dụng hostname, trước tiên server DNS truy vấn để tìm địa IP Trước tiên, DNS kiểm tra sở liệu riêng nhớ cache Nếu thất bại việc phân giải tên, server DNS truy vấn server DNS gốc 5.2 Nslookup http://www.ebook.edu.vn 18 Dịch vụ tên miền (Domain Name Service) Là tập hợp nhiều máy tính liên kết với phân bố rộng mạng Internet Các máy tính gọi name server Chúng cung cấp cho người dùng tên, địa IP máy tính nối vào mạng Internet tìm name server có khả cung cấp thông tin Hình 1.9 Cơ chế truy tìm địa IP thông qua dịch vụ DNS Giả sử trình duyệt cần tìm tập tin hay trang Web máy chủ đó, chế truy tìm địa diễn sau: Trình duyệt yêu cầu hệ điều hành client chuyển hostname thành địa IP Client truy tìm xem hostname có ánh xạ tập tin localhost, hosts hay không? -Nếu có client chuyển đổi hostname thành địa IP gửi cho trình duyệt -Nếu không client tìm cách liên lạc với máy chủ DNS Nếu tìm thấy địa IP hostname máy chủ DNS gửi địa IP cho client Client gửi địa IP cho trình duyệt Trình duyệt sử dụng địa IP để liên lạc với Server Quá trình kết nối thành công Máy chủ gửi thông tin cho client Internet Trong chương đề cập tới nhiều công nghệ sở: phần cứng, giao thức, hệ thống tên miền Trong phần thảo luận vấn đề thú vị khác như: • Intranet Extranet • Firewall Web Proxy • Các dịch vụ Web 6.1 Intranet Extranet Một intranet sử dụng công nghệ TCP/IP tương tự với Internet Sự khác biệt intranet mạng riêng, tất người biết Intranet http://www.ebook.edu.vn 19 không phục vụ cho việc truy xuất chung, số liệu cần phải bảo vệ khỏi truy xuất từ bên Một extranet mạng riêng giống intranet extranet kết nối nhiều Intranet thuộc công ty công ty đối tác thông qua Internet cách sử dụng tunnel Việc tạo mạng riêng ảo Internet tiết kiệm chi phí nhiều cho công ty so với việc thuê riêng đường truyền để thiết lập mạng 6.2 Firewall Có kẻ phá hoại mạng Internet! Để ngăn chặn chúng, người ta thường thiết lập điểm truy cập tới mạng cục kiểm tra tất luồng truyền tin vào khỏi điểm truy nhập Phần cứng phần mềm mạng Internet mạng cục bộ, kiểm tra tất liệu vào ra, gọi firewall Firewall đơn giản lọc gói tin kiểm tra gói tin vào khỏi mạng, sử dụng tập hợp quy tắc để kiểm tra xem luồng truyền tin có phép vào khỏi mạng hay không Kỹ thuật lọc gói tin thường dựa địa mạng số hiệu cổng 6.3 Proxy Server Khái niệm proxy có liên quan đến firewall Nếu mốt firewall ngăn chặn host mạng liên kết trực tiếp với giới bên Một máy bị ngăn kết nối với giới bên firewall yêu cầu truy xuất tới trang web từ proxy server cục bộ, thay yêu cầu trang web trực tiếp từ web server xa Proxy server sau yêu cầu trang web từ web server, sau chuyển kết trở lại cho bên yêu cầu ban đầu Các proxies sử dụng cho FTP dịch vụ khác Một ưu điểm bảo mật việc sử dụng proxy server host bên nhìn thấy proxy server Chúng tên địa IP máy bên trong, khó đột nhập vào hệ thống bên Trong firewall hoạt động tầng giao vận tầng internet, proxy server hoạt động tầng ứng dụng Một proxy server có hiểu biết chi tiết số giao thức mức ứng dụng, HTTP FTP Các gói tin qua proxy server kiểm tra để đảm bảo chúng chứa liệu thích hợp cho kiểu gói tin Ví dụ, gói tin FTP chứa liệu dịch vụ telnet bị loại bỏ Vì tất truy nhập tới Internet chuyển hướng thông qua proxy server, việc truy xuất kiểm soát chặt chẽ Ví dụ, công ty chọn giải pháp phong tỏa việc truy xuất tới www.playboy.com cho phép truy xuất tới www.microsoft.com http://www.ebook.edu.vn 20 [...]... là 10 , đưa ra khoảng địa chỉ là 10 000000 (12 8) đên 10 111 111 (19 1) Byte thứ hai dùng để định danh mạng có giá trị từ 0 đến 255, hai byte còn lại để định danh các nút trên một mạng; tổng cộng là 65534 thiết bị Các địa chỉ IP của các mạng thuộc lớp C luôn luôn có ba bit đầu tiên của byte đầu là 11 0, khoảng giá trị của byte đầu là từ 11 000000 (19 2) đến 11 011 111 (223) Mạng này chỉ có một byte được thiết lập. .. 000000 01 (1) đến 011 111 10 (12 6) Ba byte còn lại phục vụ cho việc định danh các nút trên mạng, cho phép ta kết nối hơn 16 triệu thiết bị vào mạng lớp A Chú ý rằng các mạng trong bảng trên không đề cập tới các địa chỉ có byte đầu là 12 7-đây là khoảng địa chỉ dự phòng Địa chỉ 12 7.0.0 .1 là địa chỉ của localhost, và địa chỉ 12 7.0.0.0 là địa chỉ loopback http://www.ebook.edu.vn 9 Các địa chỉ IP của các mạng. .. chỉ riêng 10 17 2 .16 -17 2. 31 192 .16 8.0 -19 2 .16 8.255 Bảng 1. 4 • Các subnet Việc kết nối hai nút của hai mạng khác nhau cần có một router Định danh host của mạng lớp A cần có 24 bit; trong khi mạng lớp C, chỉ có 8 bit Router phân chia định danh host thành hai phần một phần được gọi là subnet và phần còn lại là phần host 3 .1. 2 IPv6 Tiền thân của giao thức IP được phát triển bởi Bộ Quốc Phòng Mỹ năm 19 60 và... chỉ IP gồm hai phần: phần mạng và phần host Tùy thuộc vào lớp mạng, phần mạng bao gồm một, hoặc hai hoặc ba byte đầu tiên Lớp Byte 1 A Networks (1- 126) B Networks (12 819 1) C Networks (19 2223) Byte 2 Byte 3 Host (0-255) Host (0-255) Networks (0-255) Host (0-255) Byte 4 Host (0-255) Host (0-255) Networks (0-255) Networks (0-255) Host (0-255) Bảng 1. 3 Bit đầu tiên của địa chỉ mạng lớp A là 0,vì vậy byte... giao thức mạng khác nhau và chức năng của chúng Các tầng của mô hình OSI phân chia các nhiệm vụ cơ bản mà các giao thức mạng phải thực hiện, và mô tả các ứng dụng mạng có thể truyền tin như thế nào Mỗi tầng có một mục đích cụ thể và được kết nối với các tầng ở ngay dưới và trên nó Bảy tầng của mô hình OSI Hình 1. 4 • Tầng ứng dụng (Application): định nghĩa một giao diện lập trình giao tiếp với mạng cho... Việc tạo ra một mạng riêng ảo trên Internet tiết kiệm chi phí nhiều cho công ty so với việc thuê riêng một đường truyền để thiết lập mạng 6.2 Firewall Có những kẻ phá hoại trên mạng Internet! Để ngăn chặn chúng, người ta thường thiết lập các điểm truy cập tới một mạng cục bộ và kiểm tra tất cả các luồng truyền tin vào và ra khỏi điểm truy nhập đó Phần cứng và phần mềm giữa mạng Internet và mạng cục bộ,... đến 10 23 Các cổng hệ thống chỉ được sử dụng bởi các tiến trình được quyền ưu tiên của hệ thống Các giao thức nổi tiếng có các số hiệu cổng nằm trong khoảng này http://www.ebook.edu.vn 10 Các số hiệu cổng người dùng nằm trong khoảng từ 10 24 đến 4 915 1 Các ứng dụng server của bạn sẽ nhận một trong các số này làm cổng, hoặc bạn có thể đăng ký số hiệu cổng với IANA Các cổng động nằm trong khoảng từ 4 915 2... tin Type Độ dài 1 byte Code 1 byte Checksum 2 byte 4 byte Header IP thông thường … Mô tả Trường này xác định kiểu thông điệp ICMP Ví dụ, type có giá trị 3 nghĩa là không đến được đích, 11 nghĩa là quá thời gian, và 12 nghĩa là các tham số header không đúng Code cung cấp thông tin về kiểu thông điệp Nếu kiểu type là 3, “destination unreachable”, thì code xác định là mạng (0), host (1) , hay protocol... hoặc có các vấn đề về hiệu năng, tác tử SNMP gửi các thông điệp tới SNMP client 4 Soket Socket là một 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ụ và một chương trình cung cấp dịch vụ trên mạng LAN, WAN, hay Internet và đôi khi là giữa các tiến trình trong cùng một máy tính Thông tin của một Socket bao gồm địa chỉ IP và số hiệu cổng 5 Dịch vụ tên miền Các địa chỉ... điều này là không thực tế đối với các mạng hiện nay Kích thước lớn nhất được chấp nhận bởi các host là 576 bytes Các thông điệp lớn có thể phân thành các đoạn-quá trình này được gọi là quá trình phân đoạn Total Length (Tổng chiều dài) 2 bytes http://www.ebook.edu.vn 8 Identification (Định danh) 2 bytes Flags 3 bits Fragment Offset 13 bits Time to Live 1 byte Protocol 1 byte Header Checksum 2 bytes ... gói java. rmi.registry 16 8 10 .1 Giao tiếp Registry 16 8 10 .2 Lớp LocateRegistry 16 8 11 Các lớp giao tiếp gói java. rmi.server 16 9 11 .1 Lớp RemoteObject 16 9 11 .2... 16 9 11 .3 Lớp UnicastRemoteObject 16 9 12 Kết luận169 Chương : Xử lý sở liệu Java 17 1 JDBC Java Database Connectivity API 17 1 Cấu trúc JDBC 17 1 2 .1 Kiểu... phòng Địa 12 7.0.0 .1 địa localhost, địa 12 7.0.0.0 địa loopback http://www.ebook.edu.vn Các địa IP mạng thuộc lớp B luôn có hai bit byte đầu 10 , đưa khoảng địa 10 000000 (12 8) đên 10 111 111 (19 1) Byte

Ngày đăng: 03/12/2015, 23:37

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

Tài liệu liên quan