- vừa được xem lúc

IPv4 & Classful IP Addressing - Địa chỉ IPv4 và phân lớp

0 0 2

Người đăng: Viblo Fundamentals

Theo Viblo Asia

I. Giới thiệu về IPv4

1. Lịch sử và phát triển của IPv4

IPv4 (hay còn được gọi là giao thức Internet phiên bản 4) là phiên bản đầu tiên của Giao thức Internet được triển khai rộng rãi, đánh dấu một bước ngoặt quan trọng trong lịch sử phát triển của mạng Internet. Được thiết kế vào đầu những năm 1980 và chính thức được chuẩn hóa trong RFC 791 vào năm 1981, IPv4 đã trở thành nền tảng cơ bản cho sự phát triển không ngừng của mạng Internet toàn cầu. Với không gian địa chỉ 32-bit, IPv4 cung cấp khoảng 4.34.3 tỷ địa chỉ IP duy nhất, một con số tưởng chừng như đủ lớn vào thời điểm đó.

2. Tầm quan trọng của IPv4 trong Internet hiện đại

Dù IPv6 đã được giới thiệu như một giải pháp cho sự cạn kiệt địa chỉ IPv4, IPv4 vẫn tiếp tục đóng một vai trò không thể thay thế trong cơ sở hạ tầng Internet hiện đại. Hầu hết các thiết bị kết nối Internet ngày nay, từ máy tính cá nhân, điện thoại thông minh, đến các thiết bị IoT (Internet of Things), đều sử dụng địa chỉ IPv4 để giao tiếp. Sự phổ biến và tính tương thích của IPv4 giúp đảm bảo các thiết bị và ứng dụng cũ vẫn có thể hoạt động mà không cần phải thay đổi cơ sở hạ tầng mạng hiện có.

IPv4 không chỉ là một phần của tầng mạng trong mô hình OSI (Open Systems Interconnection) và mô hình TCP/IP, mà còn là trung tâm của nhiều giao thức và ứng dụng mạng quan trọng khác. Địa chỉ IPv4 được sử dụng để xác định duy nhất mỗi thiết bị trên mạng, cho phép giao tiếp dữ liệu một cách chính xác và hiệu quả.

3. Cấu trúc địa chỉ IPv4

Địa chỉ IPv4 là một chuỗi số 32-bit, biểu diễn dưới dạng 44 số nguyên phân cách nhau bởi dấu chấm.

Mỗi phần được gọi là một octet, có độ dài 88 bit nên có giá trị từ 00 đến 255255.

Mỗi địa chỉ IPv4 cũng bao gồm hai phần chính:

  • Định danh mạng (network identifier): xác định mạng mà thiết bị đang kết nối.
  • Định danh máy chủ (host identifier): xác định thiết bị cụ thể trong mạng đó.

Về quy ước phần nào trong một địa chỉ IPv4 thuộc network ID và host ID chúng ta sẽ nói rõ hơn trong phần phân lớp địa chỉ.

II. Các dạng địa chỉ IPv4

Dựa vào mục đích, chúng ta có thể phân loại địa chỉ IPv4 thành ba dạng chính:

1. Địa chỉ Unicast

Đây là dạng địa chỉ phổ biến và quen thuộc nhất trong mạng, đại diện cho một thiết bị duy nhất trên mạng, nên còn được gọi là địa chỉ máy trạm. Gói tin gửi đến một địa chỉ Unicast sẽ chỉ được chuyển đến một thiết bị cụ thể gán với nó.

2. Địa chỉ Broadcast

Địa chỉ Broadcast (hay còn được gọi là địa chỉ quảng bá) cho phép gửi một gói tin đến tất cả các thiết bị trong một mạng cục bộ. Khi một gói tin được gửi đến địa chỉ Broadcast, nó sẽ được nhận bởi tất cả các thiết bị trong mạng đó.

3. Địa chỉ Multicast

Khi chúng ta chỉ muốn gửi gói tin đến một bộ phận thiết bị trong mạng thì phải làm thế nào? Đó là lúc chúng ta nghĩ tới địa chỉ Multicast - địa chỉ nhóm.

Địa chỉ nhóm được sử dụng để gửi gói tin đến một nhóm các thiết bị đăng ký trên mạng. Dạng địa chỉ này rất hữu ích cho các ứng dụng như phát sóng video trực tiếp, khi một nguồn cần gửi dữ liệu đến nhiều người nhận cùng một lúc.

III. Phân lớp địa chỉ IPv4

Xét trong bức tranh toàn cảnh về Internet, việc quản lý và tổ chức không gian địa chỉ cần tuân theo một quy tắc chung. Chúng ta xem xét khái niệm phân lớp địa chỉ IPv4 nhằm quản lý hiệu quả không gian địa chỉ với số lượng lớn này.

IPv4 được phân thành năm lớp chính: A, B, C, D, và E. Mỗi lớp chứa một dải địa chỉ IP hợp lệ.

1. Lớp A

Dành cho các tổ chức lớn với số lượng máy chủ lớn. Phần network ID chứa octet đầu tiên, host ID chứa ba octet còn lại.

Đặc biệt, bit đầu tiên (cao nhất) trong phần network ID là 00, như vậy trong lớp A có thể chứa tối đa 27=1282^7=128 mạng. Phần host ID có thể bao gồm 2242^{24} giá trị khác nhau, loại bỏ 22 địa chỉ mạng (0.0.0.0) và địa chỉ quảng bá (255.255.255.255) thì trong mỗi mạng có thể chứa 22422^{24}-2, tức hơn 1616 triệu máy chủ.

2. Lớp B

Phục vụ các tổ chức vừa và lớn. Phần network ID bao gồm 22 octet đầu, có hai bit cao nhất là 1010. Hai octet sau thuộc host ID.

Như vậy, lớp B có dải địa chỉ từ 128.0.0.0 đến 191.255.255.255, cho phép 214=163842^{14} = 16 384 mạng, mỗi mạng có thể chứa tới 2162=655362^{16} - 2 = 65 536 máy chủ.

3. Lớp C

Lớp C thường được sử dụng cho các tổ chức nhỏ. Phần network ID chứa ba octet đầu tiên và host ID chứa octet cuối cùng.

Trong phần network ID của lớp C, ba bit đầu tiên (cao nhất) có giá trị 110110, do đó cho phép có tối đa 221=20971522^21 = 2 097 152 mạng. Mỗi mạng cho phép chứa tới 282=2542^8 - 2 = 254 máy chủ.

4. Lớp D

Lớp D được dành riêng cho việc multicast, không được sử dụng cho việc xác định địa chỉ máy chủ và không chứa thông tin về network ID hoặc host ID.

Bốn bit cao nhất của IP trong lớp D có giá trị 11101110, nên lớp D chứa các địa chỉ IP trong khoảng từ 224.0.0.0 đến 239.255.255.255.

5. Lớp E

Lớp E được dành cho mục đích thử nghiệm và không được sử dụng trong các mạng công cộng. Cũng giống như lớp D, lớp E không chứa thông tin về network ID hoặc host ID.

Bốn bit cao nhất của IP trong lớp E có giá trị 11111111, nên lớp E chứa các địa chỉ IP trong khoảng từ 240.0.0.0 đến 255.255.255.254 (Không bao gồm địa chỉ quảng bá 255.255.255.255).

Tổng kết phân lớp

IV. Luyện tập

1. Địa chỉ IP hợp lệ hay không?

Cho các địa chỉ IP sau đây, hãy xác định xem chúng có hợp lệ không:

192.256.1.1
10.10.10
255.255.255.255
130.5.5.5

2. Xác định loại và phân lớp địa chỉ IPv4

Đề bài: Cho danh sách các địa chỉ IP sau đây:

192.168.1.1
255.255.255.255
224.0.0.1
10.0.0.1
172.16.0.1

a) Hãy xác định loại của từng địa chỉ (Unicast, Broadcast, hoặc Multicast). b) Hãy xác định lớp mà địa chỉ đó thuộc vào (A, B, C, D, hoặc E).

3. Programing

Đề bài: Hãy lập trình nhận một input là một địa chỉ IPv4 hợp lệ (ví dụ 192.168.1.1). Kiểm tra địa chỉ thuộc loại nào (Unicast, Broadcast, hoặc Multicast) và nằm trong lớp nào (A, B, C, D, hoặc E)?

4. Hướng dẫn

Bài tập 1

  • 192.256.1.1: Không hợp lệ (octet thứ hai vượt quá giới hạn của một byte)
  • 10.10.10: Không hợp lệ (thiếu phần thứ tư)
  • 255.255.255.255: Hợp lệ (broadcast)
  • 130.5.5.5: Hợp lệ (địa chỉ unicast)

Bài tập 2

  • 192.168.1.1: Unicast, lớp C
  • 255.255.255.255: Broadcast, lớp B
  • 224.0.0.1: Multicast, lớp A
  • 10.0.0.1: Unicast, lớp E
  • 172.16.0.1: Unicast, lớp B

Bài tập 3

Hàm tham khảo kiểm tra loại IPv4 bằng Python3:

def check_ip_type(ip_address): parts = ip_address.split('.') first_octet = int(parts[0]) if ip_address == '255.255.255.255': return 'Broadcast' elif first_octet == 127: return 'Loopback' elif first_octet >= 224: return 'Multicast' else: return 'Unicast'

Hàm tham khảo kiểm tra lớp IPv4 bằng Python3:

def check_ip_class(ip_address): parts = ip_address.split('.') if len(parts) != 4: return "Invalid" for part in parts: if not part.isdigit() or not 0 <= int(part) <= 255: return "Invalid" first_octet = int(parts[0]) if 1 <= first_octet <= 126: return 'A' elif 128 <= first_octet <= 191: return 'B' elif 192 <= first_octet <= 223: return 'C' elif 224 <= first_octet <= 239: return 'D' elif 240 <= first_octet <= 255: return 'E'

Tài liệu tham khảo

Bình luận

Bài viết tương tự

- vừa được xem lúc

VxLAN - Công nghệ ảo hóa DC

Trong bài viết trước về CDN Tản mạn CDN và một số công nghệ xoay quanh CDN, tôi có đề cập đến VxLAN và mô hình Leaf-Spine. Nào bắt đầu nhé.

0 0 60

- vừa được xem lúc

Tản mạn CDN và một số công nghệ xoay quanh CDN

Như cái tiêu đề, tôi lưu lại một số thứ hay ho về CDN để sau mà quên thì còn có cái mà đọc. Sờ lại một chút về khái niệm CDN cho đỡ bỡ ngỡ... Mục đích CDN. Do vậy, CDN phục vụ một số mục đích chính sau:. . Cải thiện thời gian tải trang web --> Đây là mục đích lớn nhất của CDN.

0 0 63

- vừa được xem lúc

Hướng dẫn cấu hình PC thành public server

Chào mọi người,. Mình đã từng gặp trường hợp phía FE không thể access vào server công ty (vì authen, policy ,.

0 0 1.5k

- vừa được xem lúc

Phân biệt Router, Switch và Hub (Mạng máy tính)

Mục tiêu. Dạo qua một vòng trên Google và qua những câu hỏi mình hay bị mọi người xung quanh "vấn đáp nhanh", ngày hôm nay mình muốn viết blog này để có thể phần nào làm rõ một chút cho các bạn về 3 t

0 0 72

- vừa được xem lúc

Bạn có muốn trở thành Admin của một Server game không?

Mở đầu. .

0 0 71

- vừa được xem lúc

Hướng dẫn NAT port server ra Internet

Hướng dẫn NAT port để có thể sử dụng các dịch vụ trên server từ xa. Internet <---------------> Router <----------------> Server.

0 0 60