NỘI DUNG
Như đã hứa hẹn trong phần Giải ngố địa chỉ IP (Internet Protocol address) – Phần 1: 3 điều quan trọng nhất cần phải biết, kỳ này tôi sẽ giới thiệu kỹ hơn tí về IPv4. Dù bạn có nghe báo đài ra rả cả ngày rằng IPv4 đã cạn kiệt và sắp chết thì bạn cũng không thể chối bỏ một sự thật là hiện giờ bạn chưa thể vất cái IPv4 này đi để chạy theo tiếng gọi của IPv6. Bất chấp đang trong giai đoạn “bên kia sườn dốc”, IPv4 hiện vẫn đang làm mưa làm gió trên hầu hết hệ thống mạng hiện hữu và việc chuyển đổi toàn bộ sang IPv6 hiển nhiên không phải là chuyện một sớm một chiều. Do vậy nếu nghĩ IPv4 đang giãy chết nên bạn mạnh dạn bỏ qua kiến thức cơ bản về nó và nhảy thẳng vô IPv6 thì không chừng bạn còn chết trước IPv4 đấy. Sau đây tôi xin điểm lại số điểm tôi nghĩ là quan trọng của IPv4 đối với các đối tượng gà mờ như tôi.
Các loại IPv4
IPv4 có thể phân thành 3 nhóm chính:
Unicast
Hiểu nôm na đây là kiểu 1 kèm 1 thông thường nghĩ là 1 người gửi 1 người nhận duy nhất như bạn pm cho gấu chó.

Broadcast
Đây là kiểu solo 1 mình chống mafia, bất chấp trong phòng (thuật ngữ chuyên môn là Broadcast Domain) có bao nhiêu thằng, bạn xúc hết không tha thằng nào.

Multicast
Cái này thì kiểu như chơi hội kín, thông tin chỉ được chuyển đến cho mấy thằng nào được chọn vào hội thôi.

Với người dùng thông thường thì bạn biết 2 thằng Unicast và Broadcast là ngon rồi. Mấy thằng khác khi nào đụng chuyện rồi hãy tính vậy. Minh họa sử dụng Unicast và Broadcast trong trường hợp sử dụng DHCP để cấp phát IP tự động như sau.
- Thằng DHCP Client khi gửi gói tin DHCPDISCOVER và DHCPREQUEST sẽ dùng địa chỉ Broadcast vì lúc này nó vẫn không xác định thằng nào là DHCP server cấp địa chỉ IP cho nó
- Thằng DHCP Server khi gửi gói tin DHCPOFFER và DHCPACK sẽ dùng địa chỉ Unicast của thằng Client vì nó biết rõ thằng Client nào đang kêu réo nó.

Subnet mask và Prefix
Phần này đột nhiên xen ngang vào đây có vẻ vô duyên nhưng nên tôi xin phép nói trước để không làm rối nội dung “Cấu trúc IPv4” bên dưới.
Subnet Mask
Tôi nghĩ phần lớn người dùng máy tính đã từng gõ một cái Subnet Mask thần thánh kiểu như 255.255.255.0 lúc gán ip tĩnh và thầm nghĩ “Mình đang gõ cái *éo gì thế này?”. Xin thưa với bạn rằng, cái “*éo” này có tên gọi đàng hoàng là Subnet Mask và được dùng để xác định số bit thuộc phần Network/ Host trong địa chỉ IPv4. Công dụng cụ thể tôi bàn ngay phần bên dưới.
Prefix
Cái Subnet Mask có vẻ dài quá nên các cụ đẻ ra 1 phương án viết tắt gọi là Prefix. Với Prefix, bạn sẽ thay cả dãy 255.255.255.0 dài ngoằng thành 1 cụm hết sức đơn sơ mộc mạc là /24. Con số viết tắt này cho biết số lượng bit có giá trị là “1” trong Subnet Mask hay nói cách khác nó cho bạn biết phần Network chiếm bao nhiêu bit trong địa chỉ IPv4
Cấu trúc IPv4
Về mặt cấu trúc, xét theo kiểu đơn giản thì 1 địa chỉ IPv4 (ví dụ 192.168.10.10 trong hệ thập phân hay 11000000.10101000.00001010.00001010 trong hệ nhị phân) bao gồm:
Bốn nhóm số (gọi là octet) phân cách bằng dấu “.”
Mỗi octet là 1 dãy 8 bit nhị phân quy đổi sang thập phân sẽ trong khoảng 0-255
Còn trường hợp muốn nói cho phức tạp thì địa chỉ IPv4 có thể phân thành 2 phần:
Phần Network
Tạm hiểu giống như phần thông tin để khoanh vùng khu vực lại chứ chưa phải 1 vị trí chính xác (ví dụ nói giao hàng đến Phường Bến Nghé Quận 1 thì bố ông Grab cũng không biết ship đến đâu!). Xét cái địa chỉ 192.168.10.10 tương ứng với Subnet Mask 255.255.255.0 hay Prefix /24 thì phần Network sẽ là 192.168.10 (3 octet hay bit đầu tiên sẽ thuộc phần Network).
Phần Host
Cái này sẽ chứa thông tin chi tiết hơn (ví dụ Số 1 Lê Duẩn) có thể dùng để xác định vị trí của bạn khi kết hợp với thông tin phần Network. Xét tiếp cái ví dụ trên với phần Host là “10” bạn sẽ có cái địa chỉ 192.168.10.10 (còn cho ông Grab đang ngồi chờ là Số 1 Lê Duẩn, Phường Bến Nghé Quận 1).

Đến đây bạn sẽ cần lưu ý một số địa chỉ đặc biệt sau:
Địa chỉ mạng – Network Address
Tất cả bit phần host sẽ là “0“. Ví dụ 192.168.10.0 (Octet cuối cùng là .00000000).
Địa chỉ host đầu tiên – First Host address
Tất cả bit phần host sẽ là “0” trừ bit cuối cùng bên phải là “1“. Ví dụ 192.168.10.1 (Octet cuối cùng là .00000001).
Địa chỉ host cuối cùng – Last Host address
Tất cả bit phần host sẽ là “1” trừ bit cuối cùng bên phải là “0”. Ví dụ 192.168.10.254 (Octet cuối cùng là .11111110).
Địa chỉ Broadcast – Broadcast Address
Tất cả bit phần host sẽ là “1“. Ví dụ 192.168.10.255 (Octet cuối cùng là .11111111).

Các lớp mạng IPv4
IPv4 có thể được chia thành 3 lớp mạng chính (Classful Network) phổ biến sau:
Class A
- Nằm trong khoảng 0.0.0.0/8 – 127.0.0.0/8
- Prefix mặc định là /8
- Cái này là vô địch siêu cấp hỗ trợ trên 16 triệu host nên dùng được cho mạng cực lớn.
Class B
- Nằm trong khoảng 128.0.0.0 /16 – 191.255.0.0 /16
- Prefix mặc định là /16
- Lớp này có thể hỗ trợ 65,000 host nên có thể dùng trong mạng tương đối lớn.
Class C
- Nằm trong khoảng 192.0.0.0 /24 – 223.255.255.0 /24
- Prefix mặc định là /24
- Lớp này tối đa 254 host nên chỉ dùng cho mạng nhỏ hoặc gia định như cái mạng 192.168.1.0/24 tôi ví dụ trên.
Với Classful Network, nếu công ty bạn cần 255 host trên một đường mạng thì đúng là éo le cuộc tình vì Lớp C không thể đáp ứng mà dùng Lớp B thì hết sức lố bịch. Do vậy, các chuyên gia lại phải đẻ ra một thứ hại não khác là Classless Inter-Domain Routing – CIDR hay Subnetting. Cái này tôi xin hẹn bàn vào lúc khác nhé, giờ nói ở đây lê thê quá.
Cấu hình IPv4
Thông thường, bạn có 2 tùy chọn để cấu hình địa chỉ IPv4
Tự động qua DHCP
Cách này thì hết sức nhẹ nhàng (với điều kiện đã có DHCP server), bạn chỉ cần tùy chon “auto” nhưng demo minh họa sau.

Thiết lập thủ công
Với thiết lập thủ công, bạn cần xác định và nhập 3 thông tin quan trọng sau
- Địa chỉ của host
- Giá trị Subnet Mask hay Prefix
- Default Gateway (thông thường sẽ là địa chỉ cổng kết nối trên router nội bộ)

Tôi nghĩ đến đây thì phần cơ bản về IPv4 đã xong đấy. Hẹn gặp bạn kỳ tới.
4 thoughts on “Giải ngố địa chỉ IP (Internet Protocol address) – Phần 2: IPv4 có thực đang giãy chết?”