Các loại mạng máy tính thông dụng theo phạm vi địa lí
Mạng LAN (Local Area Network - mạng cục bộ) là một nhóm các máy tính và thiết bị mạng được kết nối với nhau trong một khu vực hạn chế, cỡ một tòa nhà, trường học, khu giải trí.
Mạng WAN (Wide Area Network – mạng diện rộng) là mạng kết hợp của các mạng cục bộ nhỏ hơn (nhờ vào sự hỗ trợ của các thiết bị mạng) để mở rộng phạm vi bao phủ, có thể lên tới cấp quốc gia – lục địa hay toàn cầu, với ví dụ điển hình và hiển nhiên nhất là Internet.
Địa chỉ IP – chìa khóa thông hành
Trước khi nói về địa chỉ, chúng ta cần nắm được rằng IP (IP Address hay Internet Protocol Address) là một giao thức – tức là một bộ các quy tắc giao tiếp (gửi, nhận, mã hóa, sửa lỗi… dữ liệu) giữa các thiết bị tham gia mạng Internet. Trong đời sống thực chúng ta có các nhà nước quy ước cách phân chia số nhà, tên đường xá, quận huyện, thành phố…để tạo ra các địa chỉ nhà duy nhất. Còn địa chỉ IP ta thường nghe tới là địa chỉ của một thiết bị (bao gồm cả máy PC, điện thoại, laptop, tablet…) trên mạng Internet – được đặt theo bộ quy tắc IP này. Trong thế giới thực các bưu điện dựa vào địa chỉ nhà để giúp bạn chuyển thư cho người thân, còn trên thế giới mạng các thiết bị mạng dựa vào đỉ chỉ IP để giúp chuyển dữ liệu từ thiết bị gửi đến thiết bị nhận.
Nếu địa chỉ IP quan trọng đến thế, độc nhất đến thế, tại sao lại có chuyện chỉ với vài thao tác đơn giản trong Windows, Mac (hay thậm chí là Linux) bạn đã có thể “đổi IP”? Địa chỉ nhà là do nhà nước quy định, địa chỉ IP là do các tổ chức quản lý quốc tế và các ISP cấp phát, sao lại có chuyện người dùng có thể đổi hay cần phải đặt IP tĩnh cho nó đỡ…tự thay đổi? Đây là lí do tại sao bạn cần nắm rõ khái niệm LAN-WAN. Những thay đổi của bạn trên hệ điều hành chỉ là thay đổi địa chỉ trong phạm vi mạng LAN – tức trong một phạm vi hẹp là nhà riêng hay cơ quan, trường học của bạn, được gọi là địa chỉ IP local (hoặc private). Địa chỉ này cũng tương đương với số phòng học hay tên phòng trong tòa nhà, chỉ có giá trị trọng phạm vi cục bộ là tòa nhà đó. Các máy tính trong cùng mạng LAN có thể giao tiếp với nhau bằng địa chỉ này, còn bước ra ngoài thế giới Internet, chúng vô giá trị. Hãy thử tưởng tượng, khi nói chuyện với bạn bè cùng trường-lớp bạn chỉ cần nói mình ngồi ở phòng A-101 là ai cũng hiểu; còn khi đã bước ra đường nếu bạn nói mình học ở A-101, người ngoài sẽ ngẩn tò te ra ngay.
Địa chỉ chính thức của bạn trên mạng Internet là IP Public – cũng giống như địa chỉ chính thức của ngôi trường đó – do các tổ chức, đơn vị có thẩm quyền cấp, cũng vì vậy trong phần lớn trường hợp bạn không có hoặc có rất ít quyền quyết định liên quan đến địa chỉ này. Các máy tính trên Internet biết đến nhau bằng IP Public này, còn IP local trong phạm vi mạng LAN của bạn thì chỉ các máy cùng LAN với nhau mới hiểu, thế giới bên ngoài không quan tâm. Đến đây, chớ vội thắc mắc về các vấn đề của thế giới WAN rộng lớn như fakeIP (public) ,VPN hay chuyện các ISP cấp IP tĩnh-IP động người dùng là thế nào, chúng ta sẽ cùng tìm hiểu về chúng trong một bài viết khác. Trong phạm vi bài viết này các bạn chỉ cần hiểu rõ về IP local và public cũng như quyền hạn của người sử dụng với chúng để phục vụ nhu cầu sử dụng trong phạm vi gia đình.
Một số công nghệ liên quan đến việc xử lí địa chỉ
Nhân nhắc đến IP động, bạn cũng cần biết đến DHCP- Dynamic Host Configuration Protocol. Nếu nói theo kiểu thuần kĩ thuật thì đây là giao thức cấu hình tự động địa chỉ IP, bộ quy tắc định nghĩa cơ chế “xin-cho”: DHCP client- tức các thiết bị đầu cuối trong mạng như PC, laptop, tablet đi xin địa chỉ và các DHCP server dựa trên các thông số cấu hình sẵn quyết định xem có nên cấp địa chỉ không, nếu có thì cấp địa chỉ nào, như thế nào. Đến đây chắc nhiều bạn đọc bắt đầu có cảm giác lơ mơ. Hiểu một cách đơn giản hơn thì đây là một chức năng giúp biến các máy chủ hoặc thiết bị mạng thành “các cấp có thẩm quyền”, tự động cấp địa chỉ IP cho những đối tượng có nhu cầu để giảm bớt khối lượng công việc cho con người. Chức năng này được sử dụng trên rất nhiều phạm vi, và thực chất thì các tổ chức quản lý, ISP hay các công ty lớn có khá nhiều thủ thuật phức tạp liên quan đến chức năng này.
Nhưng trong phạm vi gia đình của chúng ta thì DHCP chỉ đơn giản là một chức năng thường có sẵn trên modem hay router, giúp tự động đặt cho các máy PC, tablet, điện thoại trong nhà bạn một địa chỉ IP (local) mỗi khi chúng kết nối vào mạng để bạn đỡ phải tự mình chọn một địa chỉ, vậy thôi. Cũng vì thế mà các tut hay nảy sinh nhu cầu “đặt IP tĩnh”. Trong nhiều trường hợp, nếu một vài thiết bị nào đó cần có địa chỉ cố định để các thiết bị khác dễ tìm đến, ta không thể giao phó công việc cho DHCP vì anh này mưa nắng thất thường, có khi suốt cả tuần mỗi lần máy tablet của bạn xin địa chỉ thì đều cấp cho 192.168.1.10 nhưng đến cuối tuần vì lí do nào đó lại ném cho 192.168.1.11 thì có thể gây ảnh hưởng nhiều thứ.
Với sự hỗ trợ của các thiết bị DHCP, chúng ta đã có thể bảo đảm rằng mỗi thiết bị riêng biệt trong mạng LAN hoặc WAN sẽ có một địa chỉ. Bây giờ hãy quay lại vấn đề về IP local và public. Lúc trước bạn có tự hỏi tại sao lại phải lằng nhằng sinh ra 2 loại địa chỉ như vậy? Cứ ném cho mỗi thiết bị 1 IP có phải xong chuyện không? Có 3 vấn đề với cách nghĩ này: một là nếu làm như vậy thì chúng ta hết sạch Ipv4 từ…lâu rồi; hai là số lượng thiết bị trong hộ gia đình hay các công ty, doanh nghiệp thay đổi thường xuyên, các ISP không thể biết trước để mà cung cấp cho vừa đủ được; ba là có một hệ thống địa chỉ “riêng” giúp các công ty, gia đình quản lí thiết bị trong nội bộ dễ dàng hơn nhiều. Đây là lí do mà NAT (Network Address Translation – Biên dịch địa chỉ mạng) ra đời. Nghe biên dịch chắc bạn đọc cũng hiểu ngay, công nghệ NAT giúp đổi thông tin nguồn-đích của một đoạn dữ liệu, từ địa chỉ A biến thành địa chỉ B.
Việc đổi đích đến của dữ liệu thường dùng trong các công việc có tính chuyên môn, trong phạm vi gia đình chúng ta chỉ cần tìm hiểu kĩ quá trình đổi địa chỉ nguồn, tức địa chỉ gửi dữ liệu(dù sao thì cơ chế cũng tương tự). Lấy ví dụ vui thì thiết bị mạng thực hiện chức năng NAT cũng giống như một ông cán bộ trông hòm thư của khu tập thể, khi gửi thư bạn chỉ cần ghi số phòng mình, ông bác này sẽ giúp xóa cái số phòng đi rồi ghi địa chỉ khu tập thể lên đó để người nhận dễ hiểu. Ý tưởng cơ bản là như vậy, tưởng chừng là đơn giản nhưng để giải bài toán: “ Đến người nhận phản hồi và chỉ ghi địa chỉ khu tập thể trên đó, làm sao biết nên chuyển thư đó về phòng nào?”, chúng ta lại cần tìm hiểu sơ về một khái niệm của tầng mạng phía trên: port.
Đầu tiên, cần phân biệt khái niệm port chúng ta đang bàn luận trong phần này với các cổng vật lý trên thiết bị mạng. Nếu bạn từng tự hỏi rằng sau khi dữ liệu được chuyển tới một máy tính hay điện thoại, làm sao để biết đó là file gửi cho IDM, hay Chrome, hay Firefox thì câu trả lời nằm ở đây. Port (cổng) ở đây là một đơn vị ảo, giúp phân biệt xem dữ liệu nào thuộc về ứng dụng-phần mềm nào. Quay về với ví dụ chung cư, với mỗi phòng đại diện cho một máy tính trong mạng thì việc dùng tên các thành viên trong gia đình cũng tương tự việc các thiết bị dùng port để xem nên chuyển dữ liệu đến cho phần mềm nào vậy.
Mỗi ứng dụng sẽ được cung cấp cho một hay nhiều port dưới dạng số, một số trường hợp là hệ điều hành hay phần mềm tự chọn, một số trường hợp người dùng có thể chọn (Cần lưu ý không chọn trùng, và hệ điều hành thường có nhiều dải port đã dùng sẵn không nên đặt trùng vào). Và chuyện đóng-mở port bạn hay nghe nói khi chơi game là để các chức năng bảo mật cấm hoặc cho phép dữ liệu đi qua một port nào đó, cũng như việc cha mẹ cấm hoặc cho phép đứa nào đó trong nhà nhận thư của…. bạn gái vậy. Đối với port chúng ta chỉ cần nắm bắt ở mức căn bản như vậy là đủ cho các nhu cầu thường ngày.
Gộp thông tin IP và port vào với nhau, chúng ta mới có một địa chỉ tương đối đầy đủ cho các dữ liệu, gọi là một socket address. Đây cũng là nền tảng để NAT giải bài toán nói trên. Giả sử trong nhà bạn có 10 PC, mỗi máy có 1 IP local nhưng bạn là thuê bao ADSL nên chỉ được cấp cho 1 IP public. Mỗi khi có dữ liệu chuyển ra từ 1 trong 10 PC, thiết bị mạng tiến hành đổi nguồn gửi từ IP local sang IP public đó, phần này thì đơn giản rồi. Nhưng để dữ liệu phản hồi được trả về đúng với máy đã gửi, thiết bị mạng sẽ phải tiếp hành ghép máy đó với một port riêng biệt của nó.
Ví dụ ứng dụng Firefox của PC 1 gửi ra dữ liệu với địa chỉ 192.168.1.1:8080 (socket thường có dạng IP:port), ứng dụng Firefox của PC2 gửi ra dữ liệu với địa chỉ 192.168.1.2:8080, 2 gói dữ liệu này sẽ được chuyển thành địa chỉ 117.x.y.z:8080 ( với 117.x.y.z là IP public nhà bạn được cấp). Còn PC 3 gửi dữ liệu với địa chỉ 192.168.1.3:5000 sẽ được chuyển thành 117.x.y.z:5000. Những thông tin địa chỉ nguồn này, kết hợp với địa chỉ đich mà dữ liệu cần được gửi đến được kết hợp tạo ra một bảng NAT, từ đó giúp thiết bị NAT biết được cần chuyển dữ liệu nào về máy nào khi đầu day bên kia trả lời. Tuy có hơi lằng nhằng, nhưng chỉ cần nắm được các ví dụ cơ bản này, việc vọc phá sau này của bạn sẽ dễ dàng hơn rất nhiều
Kết nối trực tiếp
Kết nối qua NAT
Bảng NAT.
Đi xa hơn chút nữa, ra ngoài phạm vi của giao thức IP, chúng ta còn có địa chỉ vật lý – physical address hay tên thường gặp hơn là địa chỉ MAC (MAC address). Để hiểu chi tiết về MAC, bạn cần thêm một số kiến thức về network interface hay network card mà chúng ta sẽ bàn đến ở phần sau. Tạm thời, bạn chỉ cần nắm được rằng trên mỗi thiết bị đầu cuối có khả năng kết nối mạng (PC, laptop, tablet, điện thoại..) mà bạn mua về đều có sẵn một địa chỉ vật lý duy nhất và không thể thay đổi gắn liền với phần cứng của thiết bị đó (một số công cụ có thể giúp giả mạo, chứ không phải thay đổi).