Website được lưu trữ ở đâu? IP, Domain, DNS là gì?

I. Website được lưu trữ tại đâu?

Như đã nói tại bài 1,  Website bao gồm nhiều Webpage là những đoạn mã HTML. Vậy câu hỏi đặt ra là chúng được lưu trữ ở đâu mà bất kể thời gian nào trong ngày các bạn đều có thể truy cập tới nó?

Xin thưa rằng chúng cũng được lưu trữ trong các máy tính như bao tập tin văn bản khác. Những máy tính này hoạt động 24/24, tất nhiên là chúng có kết nối Internet (tốc độ lên tơi 100mb/s) và được gọi chung là máy chủ (Server). Nhiều máy chủ thường được tập trung tại một nơi nhằm dễ quản lí. Nơi đó được gọi là Datacenter (Datacenter thường là một hay nhiều tòa nhà được trang bị điều hòa nhiệt độ, máy phát điện cùng các hệ thống bảo vệ nghiêm ngặt để đảm bảo các máy chủ luôn vận hành một cách ổn định)

Data center

Một máy chủ có dung lượng lưu trữ rất lớn (hàng trăm GB trở lên), bộ vi xử lí mạnh (2 hoặc 4 nhân), giá thành cũng rất đắt đỏ tùy theo cấu hình có thể lên tới hàng trăm triệu đồng. Một Website tầm trung thường không dùng hết tài nguyên của một máy chủ, chính vì vậy để "kinh tế" hơn người ta chia nhỏ 1 máy chủ thành các "gói" nhỏ gọi là hosting.

Nếu máy chủ là một máy tính thì ta có thể hiểu hosting là những thư mục (folder) của máy tính đó. Để có được hosting, người chủ trang Web phải mua tại các nhà cung cấp (họ là chủ của các server, data center). Các nhà cung cấp sẽ đưa thông tin về ID, Password của hosting cho khách hàng, và họ chỉ có quyền sử dụng gói gọn trong "folder" của mình. Một máy chủ có thể lưu trữ hàng trăm, hàng nghìn Website. Các website ít người truy cập thường sử dụng Hosting, còn những Website có lưu lượng truy cập lớn và dữ liệu đồ sộ cần sử dụng Server. Những "người khổng lồ" của thế giới mạng như Google.com, Yahoo.com, Facebook.com cần sử dụng Data Center, thậm chí nhiều Data Center.

VPS là gì?

Chắc hẳn các bạn đã từng nghe qua đôi lần từ VPS/

Máy chủ ảo (Virtual Private Server) là phương pháp phân chia một máy chủ vật lý thành nhiều máy chủ ảo. Một server có thể chia ra hàng trăm hosting, nhưng chỉ chia được khoảng 5-10 VPS. Do vây, VPS có hiệu năng cao hơn Hosting rất nhiều lần.

Mỗi VPS là một hệ thống hoàn toàn riêng biệt, có hệ điều hành riêng, có toàn quyền quản lý và có thể restart lại hệ thống bất cứ lúc nào. Do vậy, VPS hạn chế 100% khả năng bị tấn công hack local. (sẽ nói tới trong bài Bảo mật website)

VPS dành cho các doanh nghiệp vừa và những trang Web có lượng truy cập lớn hoặc mã nguồn nặng, nếu chạy trên Hosting sẽ không đáp ứng đủ nhu cầu. Tuy nhiên, VPS sẽ đòi hỏi người sử dụng phải biết thêm một số kiến thức quản lý như cấu hình server, bảo mật...

Vậy xét về hiệu năng, cấu hình thì Server > VPS > Hosting.

II. IP, Domain, DNS là gì?

Trên thế giới có hàng chục triệu máy chủ, vậy làm cách nào để người dùng Internet truy cập được vào đúng máy chủ có chứa nội dung trang web mà mình cần xem?
* Máy của một người dùng Internet được gọi là máy khách.

Tất cả các thiết bị trong mạng Internet đều có địa chỉ riêng. Nhờ địa chỉ này, các dữ liệu trao đổi giữa hệ thống máy tính (máy chủ, máy khách) mới được nhận biết để chuyển đi, cũng như anh bưu tá phải biết số nhà để gửi thư. Các địa chỉ IP là các chữ số được phân cách bởi các dấu chấm dạng: xxx.xxx.xxx.xxx với xxx chạy từ 0 -> 255 (ví dụ 123.30.187.2 là địa chỉ IP của máy chủ lưu trữ Website của tôi). Tuy nhiên tôi không định đào tạo các bạn thành các chuyên gia hệ thống thông tin.

Ta có một vấn đề nảy sinh ở đây, khi người dùng muốn xem một trang web, phải nhập vào trình duyệt IP của máy chủ lưu trữ trang web đó mà dãy số IP rất khó nhớ, giải pháp ở đây là thay vì dùng dãy số, ta dùng các chữ cái có ý nghĩa. Vị cứu tinh của chúng ta mang tên Domain (domain), thay vì phải nhập IP 123.30.187.2 (và tham số user) các bạn chỉ cần nhập www.vuhoanglam.com, trình duyệt sẽ dẫn bạn tới đúng nơi lưu trữ website này - Cũng giống như danh bạ điện thoại vậy, bạn bấm tên, điện thoại sẽ hiển thị số của người cần gọi.

Vậy có ai thắc mắc rằng, làm sao trình duyệt biết http://www.vuhoanglam.com gán với địa chỉ 123.30.187.2? Đây là lúc DNS (Domain Name System) ra mặt. DNS là một máy chủ đặc biệt làm nhiệm vụ như 1 cuốn danh bạ điện thoại, nhưng nó không lưu số điện thoại mà lưu địa chỉ IP (trên thế giới có rất nhiều máy chủ DNS, bạn có thể tùy chọn sử dụng máy chủ DNS).

Tổng kết các ý trên ta được câu chuyện như sau:
Khi bạn nhập
http://www.vuhoanglam.com vào trình duyệt và nhấn enter:
- Trình duyệt "chạy tới nhà" DNS và "hỏi": "ê cái thằng tên
www.vuhoanglam.com địa chỉ nhà ở đâu vậy? Có người muốn tới nhà nó tính sổ nè".
- DNS trả lời: "Chờ chút,... A đây rồi nhà nó ở địa chỉ 123.30.187.2 (nghe nói thằng
www.vuhoanglam.com "tốt bụng" lắm mà)"
Thế rồi trình duyệt dẫn bạn tới nhà
www.vuhoanglam.com

Lại một câu chuyện khác:
Một hôm bạn muốn tới nhà Facebook chơi, bạn lại nhập facebook.com vào trình duyệt:
- Trình duyệt chạy tới nhà DNS của VNPT và hỏi: "ê có người muốn tới nhà thằng facebook.com"
- Sau hồi lâu tim kiếm, DNS của VNPT trả lời: "thằng facebook.com chứa nhiều thông tin mà Việt Nam chưa kiểm duyệt được, nên tớ không cho cậu địa chỉ đâu"
Và thế là "Page Not Found". Tuy nhiên bạn không bỏ cuộc (mong muốn mãnh liệt là phải vào bằng được facebook để click Like cho
www.vuhoanglam.com), hỏi thánh Google bạn tìm được cách để vào Facebook như sau:

Không dùng DNS của VNPT (hay FPT) nữa mà dùng DNS của thánh Google (8.8.8.8 và 8.8.4.4), và bạn lại nhập facebook.com vào trình duyệt , trình duyệt tới nhà DNS của thánh Google hỏi địa chỉ cho bạn: "A ta có địa chỉ của facebook.com rồi đi thôi". Nhưng đâu có dễ thế, khi bạn ra bến xe để tới nhà facebook, tài xế xe Bus là ISP (Internet Service Provider – nhà cung cấp dịch vụ mạng: VNPT, FPT,...) trả lời bạn: "Địa chỉ nhà thằng facebook bị phong tỏa rồi, bất cứ hành khách nào muốn tới địa chỉ abc.xzy.uvt.mnq đều không cho đi!". Vậy là dù có địa chỉ IP nhưng các bạn vẫn không thể tới nhà facebook.

Tuy nhiên, với lòng kiên trì của người dân Việt Nam và tình yêu đối với www.vuhoanglam.com, bạn lại tìm cách đổi file Hosts của Windows. File hosts có dạng như sau:

60.254.175.42 facebook.com       

60.254.175.42 là địa chỉ IP nào đó bạn kiếm được trên mạng, và không phải là địa chỉ IP chính xác của facebook. Lại một lần nữa bạn nhập facebook.com vào trình duyệt, trước khi tới nhà DNS hỏi địa chỉ, trình duyệt tìm trong file Hosts (Đây là danh bạ IP của máy tính): "A tìm thấy địa chỉ facebook rồi trong danh bạ máy tính rồi, không cần tới nhà DNS hỏi nữa". Bạn lại cùng trình duyệt ra bến xe Bus, tài xế xe Bus là ISP sau khi kiểm tra địa chỉ IP thấy không phải là IP bị phong tỏa liền chở bạn tới địa chỉ 60.254.175.42. Khi đã tới nhà 60.254.175.42, chủ nhà gọi điện cho facebook: "Tới đây ngay, có người muốn đăng nhập để click Like cho www.vuhoanglam.com". Sau đó facebook được triệu tập tới 60.254.175.42 để gặp bạn, vượt qua đầy rẫy những trắc trở, cạm bẫy được ISP dăng ra, bạn đã hoàn thành công việc vinh quang click vào nút Like để ủng hộ www.vuhoanglam.com... Tất nhiên bạn tốn nhiều thời gian hơn là đi thẳng tới nhà facebook.

Câu chuyện vui trên nhằm giải thích một cách chính xác, tại sao và bằng cách nào facebook bị chặn ở Việt Nam. Qua đó giúp bạn hiểu thêm về file Hosts, cơ chế hoạt động của Browser, Domain, IP, DNS, ISP,...

Một số chú ý quan trọng:
Mỗi thiết bị trong mạng Internet đều có một địa chỉ IP, máy tính cá nhân của bạn cũng vậy, để biết địa chỉ IP của mình các bạn truy cập vào đây: http://www.ip-adress.com, địa chỉ IP máy bạn là địa chỉ IP động, bạn như một người vô gia cư không có địa chỉ xác định, các ISP thấy chỗ nào còn trống thì đặt bạn vào địa chỉ đó (IP này sẽ thay đổi sau mỗi lần bạn reset Modem)

Máy chủ có địa chỉ IP cố định – IP tĩnh (nếu thay đổi liên tục thì DNS không thể quản lý được)

Để tìm địa chỉ IP của máy chủ lưu trữ 1 Website nào đó các bạn làm như sau:
1. Start -> Run -> CMD -> Enter (WinXP)
    Start -> Nhập vào khung Search: CMD -> Enter (Win7)
2. Một cửa sổ hiện ra và bạn nhập:

nslookup domain

Domain là tên miền của Website. Ví dụ để tìm IP máy chủ của www.vuhoanglam.com các bạn nhập như sau:

nslookup www.vuhoanglam.com

Để có được domain, các bạn phải mua tại các nhà cung cấp, các nhà cung cấp này gửi đơn đăng ký tới ICANN (Internet Corporation for Assigned Names and Numbers) – "công ty quản lý số liệu và tên miền trên Internet" - tại  nơi đây domain của bạn sẽ được đăng ký. Tìm hiểu thêm tại đây http://vi.wikipedia.org/wiki/ICANN