Trong thời đại CNTT bùng nổ, mỗi khi muốn tìm hiểu thêm về điều gì đó trên mạng, ắt hẳn các bạn đã không ít lần phải bỏ cuộc vì bắt gặp quá nhiều các khái niệm chuyên môn. Trong các tin ngắn hay bài viết về một vấn đề chuyên biệt, các khái niệm căn bản thường bị bỏ quả hoặc được giải thích lại một cách qua loa, hoặc tệ hơn nữa là sử dụng các ví dụ có phần không chính xác để người đọc nhanh hiểu.
Hiển nhiên việc tìm hiểu quá sâu, quá kĩ các khái niệm của tất cả các lĩnh vực mình quan tâm là không cần thiết, tuy nhiên đôi lúc những lầm tưởng căn bản có thể dẫn đến nhiều vấn đề nghiêm trọng, đặc biệt là khi bạn có hứng thú với việc tự mày mò làm theo các hướng dẫn tự tìm được trên mạng về các lĩnh vực kỹ thuật như CNTT. Vì vậy trong loạt bài viết lần này, hãy cùng Genk điểm lại vài khái niệm căn bản trên các thiết bị home networking – một trong những mục tiêu số một hiện nay của các "vọc sĩ".
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.
Cần hiểu rằng trên thực tế người ta còn sử dụng các khái niệm như MAN (Metropolitan Area Network – mạng đô thị) hay GAN (Global Area Network – mạng toàn cầu) hay CAN(Campus Area Network ) tùy theo phạm vi bao phủ để phục vụ việc quản lí và phân tích. Nhưng trên cương vị người sử dụng, chúng ta chỉ cần nắm rõ sự khác biệt của LAN và WAN là có thể phục vụ phần lớn các tác vụ hay nhu cầu vọc phá thường ngày. Để hiểu rõ hơn về các khác biệt này, tiếp đây chúng ta sẽ tìm hiểu đến các khái niệm trên các thiết bị mạng trong nhà.
Đị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.
Cũng vì thế chúng ta có các địa chỉ khác nhau khi sử dụng giao thức Ipv4 và Ipv6. Rõ ràng khi thay đổi các quy ước về cách đặt địa chỉ, nội dung của địa chỉ cũng sẽ thay đổi tương ứng. Lấy ví dụ đơn giản, nếu bây giờ quy ước về việc đặt tên đường trên toàn Việt Nam là sử dụng số thay cho tên danh nhân, còn tên tất cả các quận huyện đổi thành tên các chủ tịch nước – địa chỉ nhà bạn sẽ hoàn toàn thay đổi.
Tản mạn một chút, do hạn chế trong phương pháp tạo địa chỉ của giao thức Ipv4, số lượng địa chỉ thực tế có thể sử dụng cho toàn mạng Internet chỉ dừng ở con số 4.294.967.296, khá khiêm tốn so với sự bùng nổ thiết bị điện toán cá nhân hiện nay – phần lớn đều có chức năng kết nối Internet. Tuy hiện nay có thể bạn chẳng nắm rõ được cấu trúc của cái địa chỉ IP facebook hay gõ vào file host hay địa chỉ IP tĩnh thường đặt cho laptop để vào chơi game trên LAN với bạn bè, đừng nói gì đến cái dãy Ipv6 lằng nhằng 21DA:D3:0:2F3B:2AA:FF:FE28:9C5A (mà thực ra không nắm được cũng chẳng ảnh hưởng gì lớn), nhưng cũng cần hiểu rõ tình hình thực tế là Ipv4 đang cạn kiệt rất nhanh và cả thế giới đang phải chuyển dần sang sử dụng địa chỉ Ipv6 kẻo một ngày đẹp trời trong tương lai không xa lại phải loay hoay sửa lỗi cả buổi chỉ vì đã trót vọc cấu hình theo một tut cũ, hướng dẫn dựa trên nền Ipv4.
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
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).
Tính độc nhất này được bảo đảm trên phạm vi toàn cầu, nghĩa các tổ chức quản lý và các nhà sản xuất phần cứng đã bảo đảm là không ở đâu trên thế giới có thể tồn tại 2 thiết bị có chung địa chỉ vật lý. Tuy trên thực tế rất ít khi chúng ta cần biết đến địa chỉ MAC, nhưng trong một vài tình huống cấu hình phức tạp, biết cách tận dung chúng sẽ giúp việc phát hiện lỗi diễn ra nhanh chóng hơn nhiều.
Nếu đủ kiên nhẫn đọc đến đây, bạn đã nắm được kha khá về vấn đề địa chỉ trên mạng. Internet là hệ thống kết nối, mà nói đến kết nối, sau khi đã có địa chỉ để tìm đến nhau, chúng ta hiển nhiên sẽ cần đến những cầu nối, những người trung chuyển. Trong phần tiếp theo, chúng ta sẽ tiếp tục tìm hiểu về các thiết bị của từng loại mạng.