GiảimãDNS Theo THANH TRỰC (TTO) 19/01/2010 14:53 DNS là gì? Sử dụng DNS như thế nào? Tại sao một số DNS hỗ trợ truy cập internet nhanh hơn? Đó là một số vấn đề liên quan đến DNS được nhiều người quan tâm trong thời gian gần đây. DNS viết tắt từ Domain Name System (tạm dịch Hệ thống tên miền) là Hệ thống phân giải tên được phát minh vào năm 1984 cho Internet và là một trong số các chuẩn công nghiệp của các cổng bao gồm cả TCP/IP. DNS là chìa khóa chủ chốt của nhiều dịch vụ mạng như duyệt Internet, mail server, web server Có thể nói không có DNS, Internet sẽ mau chóng lụi tàn để bạn có thể hình dung về mức độ quan trọng của DNS. Các tài nguyên mạng được định danh bằng những địa chỉ IP dạng như 10.0.0.10 làm ví dụ. Mỗi máy tính khi kết nối vào mạng Internet cũng được gán cho 1 địa chỉ IP riêng biệt không trùng lẫn với bất kỳ máy tính nào khác trên thế giới. Tương tự vậy với website cũng có các địa chỉ IP riêng biệt. Tuy nhiên, việc ghi nhớ một dãy số dùng truy cập internet thật chẳng dễ dàng chút nào. Và đó chính là lúc DNS "trổ tài chuyển đổi" (ánh xạ) các con số địa chỉ IP khô khan thành những ký tự ABC thân thiện hơn. Nhờ DNS, người dùng không cần nhớ địa chỉ IP để vào các website mà chỉ cần tên miền. Nói cách khác, DNS cũng giống như một danh bạ điện thoại cho Internet. Nếu biết tên của một người nhưng không biết số điện thoại hay ngược lại, có thể tham khảo trong sổ danh bạ dễ dàng. Tìm thông số DNS Server đang dùng Muốn xem DNS Server đang sử dụng cũng khá đơn giản, chỉ cần vào Start, ở hộp thoại Run gõ cmd rồi Enter. Tại cửa sổ xuất hiện, gõ tiếp câu lệnh ipconfig /all để hiển thị các thông số địa chỉ IP và cả DNS Server. DNS Server công cộng và cách sử dụng Các nhà cung cấp dịch vụ mạng (ISP) đều có địa chỉ DNS riêng, mỗi DNS có tốc độ biên dịch nhanh hay chậm khác nhau nên người dùng Internet có thể sử dụng DNS tùy theo lựa chọn. Đó là lý do các DNS Server công cộng (Public DNS Server) ra đời để đáp ứng nhu cầu sử dụng của người dùng. Để thay đổi DNS Server, nhấn vào nút Start -> Settings -> Network connections rồi chọn Local Area Connection. Nhấn vào nút Properties rồi chọn Internet Protocol (TCP/IP) và nhấn tiếp nút Properties ở góc phải. Máy tính trong ảnh minh họa sử dụng Google Public DNS Giờ chỉ cần điền thông số DNS Server nào muốn sử dụng vào 2 ô Preferred DNS Serve và Alternate DNS Server. Mỗi địa chỉ DNS Server sẽ gồm 4 con số phân cách bởi dấu chấm. Dưới đây là một số DNS Server công cộng khá uy tín (điền vào 2 ô tương ứng ở phần “Use the following DNS server addresses”: - OpenDNS: 208.67.222.222 và 208.67.220.220 - Google Public DNS: 8.8.8.8 và 8.8.4.4 - ScrubIt: 67.138.54.100 và 207.225.209.66 - DNS Advantage: 156.154.70.1 và 156.154.71.1 www.DIGILIFE.vn MỘT LÝ GIẢI VỀ DEFAULT GATEWAY CHO VIỆC KẾT NỐI HAI MÁY TÍNH CÓ ĐỊA CHỈ MẠNG KHÁC NHAU BẰNG SWITCH/HUB A CLARIFICATION OF DEFAULT GATEWAY FOR CONNECTING TWO COMPUTERS WITH DIFFERENT NETWORK ADDRESSES TO SWITCH/HUB Phạm Văn Tính, Khoa CNTT, ĐH Nông Lâm TP HCM e-mail : pvtinh@hcmuaf.edu.vn SUMMARY In pratice, it is usually said that, two computers with different network identifiers (network addresses) connected to a switch or hub cannot be communicated. It is also said that, the network indentifier of a default gateway and that of IP address configured on the same computer should be the same. In this article we discuss another view of the default gateway. Therefore, is help readers to understand the default gateway’s essence in order to suggest a new IP configuration rule. This rule could be used to establish a communication between two computers configured with different network addresses by linking them directly or by connecting them to a switch/hub. ĐẶT VẤN ĐỀ Chúng ta vẫn thường nói: Hai máy tính có địa chỉ mạng (Network ID) khác nhau không thể liên lạc được với nhau thông qua các trang thiết bị mạng lớp thứ nhất và lớp thứ hai trong mô hình mạng OSI (Open System Interconnection) như switch hoặc hub. Hình 1: Hai máy tính có địa chỉ mạng khác nhau kết nối qua SWITCH Để hai máy tính này có thể kết nối được với nhau chúng ta cần phải sử dụng các trang thiết bị mạng lớp thứ ba (trang thiết bị có chức năng định tuyến - routing) như Router hay PC. Trong trường hợp này mỗi máy tính sẽ có địa chỉ default gateway là địa chỉ interface tương ứng của router mà máy tính này kết nối tới, điều đó có nghĩa là địa chỉ của default gateway phải có cùng địa chỉ mạng (Network ID) với địa chỉ IP của máy tính (hình 2). Bài viết này sẽ cho chúng ta một cách nhìn khác về default gateway và nguyên tắc giúp cho hai máy tính có hai địa chỉ mạng khác nhau “liên lạc” được với nhau khi chúng chỉ kết nối với nhau thông qua switch hay hub. Hình 2 : Hai máy tính có địa chỉ mạng khác nhau kết nối qua ROUTER NGUYÊN TẮC HOẠT ĐỘNG Trước tiên chúng ta nhắc lại cơ chế làm việc của mạng máy tính ở lớp thứ hai và lớp thứ ba trong mô hình OSI để lý giải việc tại sao hai máy tính ở hình 1 không tạo được kết nối. Trong mạng LAN – Ethernet, mỗi máy tính sẽ có một địa chỉ phần cứng duy nhất là địa chỉ MAC (Media Access Control Address) của thẻ giao tiếp mạng (Network Interface Card - NIC). Để dữ liệu có thể truyền từ một máy tính trong mạng LAN thứ nhất sang máy tính của mạng LAN thứ hai thì dữ liệu sẽ được đóng gói kèm theo các địa chỉ sau: Destination MAC: địa chỉ MAC máy nhận Source MAC : địa chỉ MAC máy gửi Destination IP : địa chỉ IP máy nhận Source IP : địa chỉ IP máy gửi Khi máy tính A gửi dữ liệu cho B thì frame được đóng gói với: Destination MAC = MAC_B Source MAC = MAC_A Trong quá trình đóng gói dữ liệu thì máy tính gửi (MAC_A) cần phải biết địa chỉ MAC của máy tính nhận (MAC_B). Nếu máy tính gửi không có địa chỉ MAC của máy tính nhận, thì máy tính gửi sẽ thực hiện ARP (Address Resolution Protocol) để tìm địa chỉ MAC của máy đích khi biết địa chỉ IP đích. Hình 3 : Frame từ máy A gửi sang máy B NIC của máy tính sẽ nhận được tất cả các tín hiệu trên đường truyền. Nhiệm vụ của lớp thứ nhất (Physical layer) là chuyển đổi các tín hiệu này thành frame dữ liệu gửi lên lớp thứ hai (Data link layer). Tại lớp này địa chỉ destination MAC sẽ được kiểm tra. Nếu destination MAC trùng với địa chỉ MAC của máy tính (địa chỉ MAC của NIC) thì dữ liệu sẽ được chuyển lên lớp thứ ba (Network layer) để xử lý, ngược lại frame này sẽ bị hủy. Lớp thứ ba sẽ kiểm tra địa chỉ destination IP tương tự như lớp thứ hai kiểm tra địa chỉ destination MAC. Nếu địa chỉ destination IP này trùng với địa chỉ IP của máy tính thì dữ liệu sẽ được chuyển tiếp lên lớp trên để xử lý, ngược lại dữ liệu này này cũng sẽ bị hủy bỏ. Nói tóm lại để hai máy tính có thể kết nối với nhau thì dữ liệu khi đóng gói (encapsulation) gửi đi phải có destination MAC và destination IP trùng với địa chỉ MAC và địa chỉ IP của máy đích. Chúng ta tạm gọi điều kiện cần và đủ này là ĐK1. Xin lưu ý chúng ta đang nói tới hai máy tính A và B theo hình 1. Trong thực tế khi dữ liệu truyền từ mạng này sang mạng khác thì source IP và destination IP không bao giờ thay đổi nhưng source MAC và destination MAC sẽ thay đổi liên tục trên từng LAN Segment. Có người cho rằng máy tính A hoàn toàn có thể gửi dữ liệu tới B thoả mãn điều kiện ĐK1. Bởi vì dữ liệu sẽ đóng gói kèm theo: source IP : IP_A, destination IP : IP_B, source MAC: MAC_A, và destination MAC máy A sẽ tìm thông qua ARP khi biết destination IP là IP_B (destination MAC sẽ là MAC_B). Trong thực tế theo hình 1 thì dữ liệu hoàn toàn không được gửi đi. Để lý giải điều này chúng ta xét hai trường hợp: • Trường hợp 1: máy tính không có khai báo default gateway. • Trường hợp 2: máy tính có default gateway thường là một địa chỉ IP nào đó có cùng địa chỉ mạng với địa chỉ IP của máy tính, nhưng thiết bị có địa chỉ IP này (theo hình 1) không tồn tại. Trọng tâm của vấn đề là ARP. Trước khi đóng gói frame máy tính gửi sẽ xác định xem địa chỉ IP của máy đích có cùng địa chỉ mạng với mình hay không. • Nếu cùng thì ARP sẽ phân giải MAC đích theo địa chỉ IP đích. Đây là trường hợp hai máy tính có cùng địa chỉ mạng và chúng tạo được kết nối. • Nếu không cùng thì frame sẽ được đóng gói để gửi tới default gateway (ARP sẽ phân giải MAC của default gateway theo địa chỉ IP của default gateway). Nếu chúng ta không khai báo default gateway hoặc default gateway không tồn tại thì dữ liệu sẽ không được gửi đi, bởi vì ARP không thể phân giải được địa chỉ MAC của máy đích và vì thế máy tính gửi sẽ không thể đóng gói được frame dữ liệu. GIẢI PHÁP Như vậy để cho A có thể tạo kết nối được tới B thì chúng ta chỉ cần đảm bảo cho ARP phân giải đúng destination MAC (MAC_B) theo địa chỉ destination IP (IP_B) là đủ (ĐH1). Muốn vậy chúng hãy khai báo: GW_A (IP default gateway của A) = IP_B (IP máy tính B) GW_B (IP default gateway của B) = IP_A (IP máy tính A) Hình 4: Cấu hình địa chỉ IP máy A Hình 5: Cấu hình địa chỉ IP máy B Chú ý: Trong hệ điều hành Windows khi khai báo địa chỉ default gateway và địa chỉ IP của máy tính có địa chỉ mạng khác nhau chúng ta không gặp khó khăn gì, nhưng trong Linux chúng ta không thể khai báo một cách bình thường được. Chúng ta có thể sử dụng mẹo vặt như sau: Giả sử máy tính A cấu hình địa chỉ IP là 192.168.1.1 Giả sử máy tính B cấu hình địa chỉ IP là 192.168.2.2 Trên máy tính A: route add –net 192.168.2.0 netmask 255.255.255.0 eth0 route add default gw 192.168.2.2 route del –net 192.168.2.0 netmask 255.255.255.0 Lúc này chúng ta đã có: IP_A: 192.168.1.1 GW_A : 192.168.2.2 KẾT LUẬN Bài viết trên đã cho chúng ta một cách nhìn khác về default gateway. Default gateway không nhất thiết phải có cùng địa chỉ mạng với địa chỉ IP của máy tính. Default gateway thực sự là “cửa ngõ”. Đó là lối thoát mặc định khi máy tính của chúng ta không xác định được đường đi cho các gói dữ liệu. Nhờ đó quan niệm về địa chỉ của hai máy tính kết nối trong một LAN Segment cũng thay đổi, tức là chúng không nhất thiết phải có cùng địa chỉ mạng. Điều quan trọng là làm sao cho dữ liệu truyền được đúng tới đích với các thông số cần thiết để máy tính đích chấp thuận và xử lý. TÀI LIỆU THAM KHẢO CCNA: Cisco Networking Academy Program, Cisco press , USA, 2003. MCSE : Microsoft Windows 2000 Network Infrastructure Administration, Microsoft Coporation, USA, 2002. RHCE : Study Guide Exam RH302, SYBEX Inc., USA 2001 . Giải mã DNS Theo THANH TRỰC (TTO) 19/01/2010 14:53 DNS là gì? Sử dụng DNS như thế nào? Tại sao một số DNS hỗ trợ truy cập internet nhanh hơn? Đó là một số vấn đề liên quan đến DNS được. ảnh minh họa sử dụng Google Public DNS Giờ chỉ cần điền thông số DNS Server nào muốn sử dụng vào 2 ô Preferred DNS Serve và Alternate DNS Server. Mỗi địa chỉ DNS Server sẽ gồm 4 con số phân cách. Internet có thể sử dụng DNS tùy theo lựa chọn. Đó là lý do các DNS Server công cộng (Public DNS Server) ra đời để đáp ứng nhu cầu sử dụng của người dùng. Để thay đổi DNS Server, nhấn vào nút