Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 30 giây quyết định bạn có thật sự hiểu IP

    90% người mới học mạng làm được bài tập subnetting trên giấy, nhưng ra thực tế lại không hiểu vì sao con số 62 host hay dải /26 lại ra đời từ đâu. Đây chính là phần "lọc" học viên nghiêm túc ra khỏi số đông trong mọi kỳ thi chứng chỉ mạng, và cũng là phần khiến nhiều người đi làm rồi vẫn né tránh mỗi khi phải tự tay thiết kế sơ đồ IP.

    Trước khi vào phần khó, cần nhớ IP là địa chỉ logic hoạt động ở tầng Network, khác hẳn với MAC - địa chỉ vật lý cố định được nhà sản xuất ghi thẳng vào card mạng. MAC chỉ có tác dụng trong đúng một đoạn LAN, còn IP mới là thứ giúp router tìm đường giữa hàng triệu mạng khác nhau trên toàn cầu.

    Một địa chỉ IPv4 dài 32 bit, chia thành 4 số (octet) cách nhau bằng dấu chấm. Nhưng bản thân dãy số đó vô nghĩa nếu thiếu subnet mask đi kèm - mask chính là thứ quyết định đâu là phần mạng, đâu là phần host trong dãy số đó. Không có mask, một địa chỉ IP chỉ là một chuỗi số trần trụi không ai định vị được.

    Địa chỉ IP cũng chia thành hai thế giới song song. Public IP được định tuyến ra Internet, do ISP cấp và tính phí. Private IP nằm trong ba dải quen thuộc là 10.x, 172.16-31.x và 192.168.x, dùng miễn phí trong nội bộ nhưng không tự đi ra ngoài Internet được. Đó là lý do NAT tồn tại: dịch địa chỉ private thành một địa chỉ public đại diện mỗi khi ra ngoài, còn PAT là biến thể phổ biến nhất, dùng số cổng khác nhau để nhét hàng trăm thiết bị nội bộ ra chung một địa chỉ public duy nhất.

    Ngoài ra còn vài dải đặc biệt hay gặp mà không phải ai cũng để ý: 127.0.0.1 dùng để tự kiểm tra card mạng của chính máy, còn dải 169.254.x.x là dấu hiệu kinh điển cho biết máy không xin được IP từ DHCP và đang tự cấp tạm cho chính nó để còn liên lạc trong mạng nội bộ.

    Giờ đến phần cốt lõi mà hầu hết mọi người chỉ học thuộc chứ không hiểu bản chất: làm sao thiết bị biết đâu là mạng, đâu là host? Câu trả lời nằm ở phép AND nhị phân giữa IP và subnet mask. Lấy ví dụ host 192.168.10.10 với mask 255.255.255.0: đổi cả hai ra nhị phân rồi AND từng bit một, bit nào của mask là 1 thì giữ nguyên bit IP, bit nào là 0 thì bị xóa về 0. Kết quả ra đúng Network ID là 192.168.10.0. Đây là phép tính mà mọi router âm thầm chạy mỗi khi cần định tuyến một gói tin.

    Từ phép AND đó suy ra hai công thức người học thường thuộc lòng mà không hiểu vì sao: số mạng con tạo ra bằng 2 mũ n, với n là số bit mượn thêm cho phần mạng; còn số host dùng được trong mỗi mạng con bằng 2 mũ m trừ 2, với m là số bit host còn lại, trừ 2 vì phải chừa lại Network ID và Broadcast Address, hai địa chỉ không bao giờ gán được cho thiết bị thật.

    Áp dụng vào ví dụ cụ thể: mạng 192.168.10.0/24 mượn thêm 2 bit để chia thành /26. Mask lúc này đổi thành 255.255.255.192, tạo ra 4 mạng con, mỗi mạng con còn 6 bit host, tức 2 mũ 6 trừ 2 bằng 62 địa chỉ dùng được cho thiết bị thật. Nếu mượn thêm bit nữa để chia thành /27, số mạng con tăng lên 8 nhưng mỗi mạng con lại chỉ còn 30 host - càng chia nhỏ, số mạng con càng nhiều mà số host mỗi mạng càng ít, luôn phải đánh đổi.

    Nhưng chia đều tất cả các mạng con như vậy không phải lúc nào cũng hợp lý. Một link WAN nối hai router chỉ cần đúng 2 địa chỉ IP để hoạt động, mà vẫn cấp nguyên một dải /24 thì lãng phí gần 250 địa chỉ chẳng dùng vào đâu. VLSM giải quyết đúng chỗ này bằng cách cấp phát mask khác nhau tùy theo nhu cầu thực tế: dải /30 chỉ 2 host cho link WAN, dải /26 hay /25 lớn hơn dành cho các phòng ban cần nhiều thiết bị - luôn tính từ nhu cầu lớn nhất xuống nhỏ nhất, không lãng phí một địa chỉ nào một cách vô tội vạ như kiểu chia đều FLSM ngày xưa.

    Sang đến IPv6, mọi thứ đổi khác hoàn toàn vì IPv4 đang dần cạn kiệt dải địa chỉ. IPv6 dài 128 bit, chia thành 8 nhóm hexa ngăn cách bằng dấu hai chấm, và có hai quy tắc rút gọn: bỏ số 0 ở đầu mỗi nhóm, và thay một chuỗi nhóm toàn số 0 liên tiếp bằng dấu :: (chỉ được dùng đúng một lần trong cả địa chỉ để tránh nhầm lẫn).

    Cách gán địa chỉ IPv6 cũng đa dạng hơn IPv4 nhiều. EUI-64 lấy sẵn địa chỉ MAC của thiết bị để tự sinh ra phần định danh giao diện, còn SLAAC để thiết bị tự hỏi router qua thông điệp Router Solicitation, router trả lời bằng Router Advertisement kèm tiền tố mạng, thế là máy tự có địa chỉ hoàn chỉnh mà không cần DHCP can thiệp. Trong giai đoạn chuyển tiếp, nhiều mạng chạy song song cả hai giao thức bằng kỹ thuật dual-stack, hoặc dùng NAT64 để cho phép một thiết bị chỉ có IPv6 vẫn nói chuyện được với một thiết bị chỉ có IPv4.

    Không hiểu được cơ chế AND nhị phân và cách các bit dịch chuyển đằng sau những con số này, việc học thuộc bảng subnet chỉ giúp qua được một bài kiểm tra chứ không giúp ai đọc hiểu hay tự thiết kế được một sơ đồ IP thực tế khi đi làm.

    Bạn tính subnet bằng cách nào - nhẩm nhị phân trực tiếp, hay có mẹo tính nhanh riêng? Chia sẻ cách của bạn bên dưới để mọi người cùng học hỏi nhé.
    Click image for larger version

Name:	Ip_VLSM.png
Views:	0
Size:	29.9 KB
ID:	444341
Working...
X