Định nghĩa
Địa chỉ IP (IP là viết tắt của từ tiếng Anh: Internet Protocol – giao thức Internet) là một địa chỉ đơn nhất mà những thiết bị điện tử hiện nay đang sử dụng để nhận diện và liên lạc với nhau trên mạng máy tính bằng cách sử dụng giao thức Internet. Mỗi địa chỉ IP là duy nhất trong cùng một cấp mạng.
Đang xem: Mạng máy tính cách chia địa chỉ ip
Một cách đơn giản hơn: IP là một địa chỉ của một máy tính khi tham gia vào mạng nhằm giúp cho các máy tính có thể chuyển thông tin cho nhau một cách chính xác, tránh thất lạc. Có thể coi địa chỉ IP trong mạng máy tính giống như địa chỉ nhà của bạn để nhân viên bưu điện có thể đưa thư đúng cho bạn chứ không phải một người nào khác.
Ví dụ về địa chỉ IP:
Địa chỉ IP google: 8.8.8.8Địa chỉ IP web dantri.com.vn: 222.255.27.28Địa chỉ IP web tinhte.vn: 125.212.247.176Cấu trúc địa chỉ IPv4
Địa chỉ IPv4 là một số nguyên 32bit chia thành 4 octet, mỗi octet gồm 8 bit (1 Byte) phân cách bởi dấu chấm (.) có thể được viết dưới dạng thập phân hoặc đổi sang dạng nhị phân (dạng mà máy tính có thể hiểu được – máy tính không hiểu được dạng thập phân)
Ví dụ:Một địa chỉ IP 192.168.1.1 ở dạng nhị phân sẽ là 11000000.10101000.00000001.00000001
Cấu trúc của địa chỉ IP (từ giờ ta sẽ dùng IP thay cho IPv4) gồm 2 thành phần chính: Địa chỉ mạng (Network address), địa chỉ máy chủ (Host address). Để dễ dàng trong việc phân chia các lớp mạng, người ta lấy một số bit đầu tiên của Network address để làm bit nhận dạng (class bit)
Class bit |
Network address |
Host address |
Các lớp địa chỉ IP
IP được chia thành 5 lớp (class) A, B, C, D, E dựa trên class bit theo quy tắc sau: (Lớp D và E được dùng cho nghiên cứu và các mục đích khác, không sử dụng trên thực tế nên ta ko cần quan tâm đến)
Class A: bit đầu tiên có giá trị bằng 0 làm class bit và 8 bit của Octet 1 làm Network address
0
(class bit) |
Network address | Host address | |
Octet 1 | Octet 2 | Octet 3 | Octet 4 |
Như vậy Network address của class A sẽ có giá trị từ 00000001 (Network address không thể bằng 0) đến 01111111 tương đương 1 đến 127 ở dạng thập phân. (bit in đậm là class bit và có giá trị không đổi cho mỗi lớp địa chỉ)
Tuy nhiên trên thực tế địa chỉ có dạng 127.x.y.z không được phân chia mà dùng trong mạng nội bộ. Vì vậy Class A chỉ có 26 Network address khả dụng từ 1. đến 126.
3 Octet còn lại của Class A gồm 24 bit dùng làm Host address, nên ứng với mỗi Network address, ta có 2^24 – 2 (16.777.214) Host address. (sở dĩ trừ 2 là vì địa chỉ đầu tiên dùng làm địa chỉ mạng, địa chỉ cuối là địa chỉ broadcast, không dùng để phân cho máy chủ)
Class B: Class bit là hai bit đầu tiên có giá trị 10, Octet 1 và 2 làm Network address
10
(class bit) |
Network address | Host address | ||
Octet 1 | Octet 2 | Octet 3 | Octet 4 | |
Network address có giá trị từ 10000000.00000000 đến 10111111.11111111 tương đương 128.0 đến 191.255.
Như vậy class B có 2^14 = 16.384 Mạng con và 2^16 – 2 = 65.534 Host address trên mỗi mạng.
Chú ý là trong các tài liệu về trước thì chúng ta không thể đặt tất cả các bit trong Network address bằng 0 hoặc 1 (trừ bit nhận dạng) nên chỉ có 2^14 – 2 = 16.382 Mạng con. Nhưng ngày nay các router đã hỗ trợ Subnet Zero (khi tất cả các bit bằng 0) và All-Ones Subnet (khi tất cả các bit bằng 1) nên ta vẫn có thể dùng hai mạng con đó.
Class C: Class bit là 3 bit đầu tiên có giá trị 110 và 24 bit của Octet 1, 2, 3 làm Network address
110
(class bit) |
Network address | Host address | ||
Octet 1 | Octet 2 | Octet 3 | Octet 4 | |
Network address có giá trị từ 11000000.00000000.00000000 đến 11011111.11111111.11111111 tương đương 192.0.0. đến 223.255.255.
Như vậy class C có 221 = 2.097.152 Network và tương ứng 2^8 – 2 = 254 Host address trên mỗi mạng
Hai kiểu địa chỉ IP
4.1 Private IP
Private IP là các địa chỉ được cấp phát bởi InterNIC cho phép các công ty, tổ chức có thể tạo cho họ một mạng cục bộ riêng. Có ba dãy IP ở class A, class B và class C được IANA (Tổ chức cấp phát số hiệu trên Internet) dành riêng để đánh địa chỉ private IP.
Private IP dùng để phân biệt các máy tính và thiết bị trong một mạng “riêng” bao gồm mạng gia đình, trường học, hoặc các tổ chức, công ty, bussiness LANs trong các sân bay, khách sạn. Và nhờ đó các thiết bị trong mạng có thể giao tiếp được với nhau.
Một ví dụ khác, một mạng X bao gồm 10 máy tính, mỗi máy được gán địa chỉ IP từ 192.168.1.1 đến 192.168.1.10. Không như public IP, quản trị mạng cục bộ có thể tự do gán IP theo ý thích (nhưng phải thuộc dãy private IP ở trên và theo đúng class đang sử dụng)
Khi một máy tính kết nối đến router và được gán một địa chỉ private IP, các thiết bị cục bộ trong mạng “nhìn thấy” máy tính này qua private IP. Tuy nhiên với private IP thiết bị sẽ không thể kết nối trực tiếp đến Internet được, tương tự các thiết bị “bên ngoài” của mạng cũng không thể kết nối trực tiếp đến thiết bị giữ private IP, mà tất cả phải thông qua router.
Vì vậy với ví dụ mạng gia đình ở trên, thì ở góc nhìn từ bên ngoài, mọi thiết bị trong mạng gia đình, ký túc xá, đều đang giao tiếp với Internet thông qua một địa chỉ IP duy nhất – địa chỉ public IP của router!
Để cho phép truy cập trực tiếp đến thiết bị cục bộ bằng private IP, bạn phải cần sự hỗ trợ của NAT (Network Address Translation) hoặc kết nối trực tiếp thiết bị đến Internet mà không thông qua bất kỳ router nào!
Bạn có thể tìm thấy địa chỉ private IP của mình bằng cách mở Command Prompt và gõ ipconfig. Vì hầu hết mạng hiện nay vẫn đang sử dụng IPv4 nên con số xuất hiện ở dòng “IPv4 Address” chính là private IP của bạn. Với mạng gia đình, hầu hết sẽ là 192.168.1.1 hoặc 192.168.1.2.
4.2 Public IP
Public IP là địa chỉ được ISP (nhà cung cấp dịch vụ Internet) cấp và có thế được “nhìn thấy” và truy cập từ Internet. Giống như địa chỉ nhà dùng để nhận thư tín, bưu phẩm vậy. Mỗi public IP chỉ tồn tại độc nhất trên mạng Internet cho cả toàn cầu, vì đó không thể tồn tại hai thiết bị (server, máy tính, router) có cùng địa chỉ public IP.
Đa phần người dùng phổ thông không có quyền kiểm soát địa chỉ public IP của mình, quyền đó thuộc về ISP.
Một public IP có thể là tĩnh (static) hoặc động (dynamic) tùy theo loại dịch vụ của người dùng. Một địa chỉ public IP tĩnh không thay đổi và thường được dùng cho hosting các trang web, hoặc dịch vụ trên Internet. Mặt khác, địa chỉ động được chọn từ một “hồ chứa” các địa chỉ có sẵn và thay đổi mỗi lần người dùng kết nối đến Internet.Đa số ISPs hiện nay cung cấp địa chỉ IP động cho người dùng!Ví dụ: Các web server, email server, hay các server game bất kì đa số đều được kết nối trực tiếp từ Internet thông qua địa chỉ public IP. Hoặc ở các mạng gia đình, ký túc xá thì router giữ public IP để kết nối trực tiếp đến Internet. Các máy tính, smartphones. Và các thiết bị “đằng sau” của router chỉ sử dụng các địa chỉ private IP để kết nối đến router. Routerbây giờ hoạt động như một người trung gian, forward lưu lượng dữ liệu đến các địa chỉ IP cục bộ theo yêu cầu, và đảm bảo dữ liệu gửi/nhận đến các địa chỉ chính xác!
Kĩ thuật Subnet
Vậy subnetting là gì? Nôm na đó là tổ hợp những kỹ thuật phân chia không gian địa chỉ của một lớp mạng cho trước thành nhiều lớp mạng nhỏ hơn bằng cách lấy một số bit ở phần Host Address (Nhiều tài liêu gọi là Host ID, gọi thế nào cũng được miễn sao khi gọi nó vẫn ngoảnh đầu trả lời) để làm địa chỉ mạng cho mạng con (Subnet). Minh họa sau với lớp B
Để hiểu hơn về subnetting, trước hết cần biết vài khái niệm sau: (Theo mình khái niệm chỉ là tên gọi chủ yếu là bản chất của nó)
Prefix length: Là đại lượng chỉ số bit dùng làm địa chỉ mạng. Chẳng hạn lớp A có prefix length là 8, lớp B là 16, lớp C là 24. Với một địa chỉ IP tiêu chuẩn prefix length là giá trị sau dấu /. Chẳng hạn 192.168.1.1 /24
Default Mask (Network Mask): là giá trị trần của mỗi lớp mạng A, B, C (D, E không xét đến) và là giá trị thập phân cao nhất (khi tất cả các bit ở Network Address bằng 1 và các bit ở Host Address bằng 0). Như vậy Default Mask của lớp A là 255.0.0.0, của lớp B là 255.255.0.0 và C là 255.255.255.0
Subnet Mask: Giá trị trần của mạng con, là giá trị thập phân tính khi tất cả các bit của prefix length bằng 1 và phần còn lại bằng 0. Chẳng hạn địa chỉ IP 172.16.1.46 /26 có Subnet Mask là 255.255.255.192 (11111111.11111111.11111111.11000000)
Địa chỉ mạng con (Subnet Address) của một địa chỉ IP cho trước là giá trị nhỏ nhất của dải địa chỉ mạng con mà IP đó thuộc về. Các thiết bị định tuyến dựa vào địa chỉ này để phân biệt các mạng con với nhau. Giá trị của địa chỉ mạng có thể được tính bằng nhiều cách. Cách cơ bản nhất là dùng phép AND giữa địa chỉ Subnet Mask và IP dưới dạng nhị phân. Chẳng hạn với địa chỉ 172.16.1.250 /26
Subnet Mask | 11111111 | 11111111 | 11111111 | 11000000 |
IP Address | 10101100 | 00010000 | 00000001 | 11111010 |
AND | 10101100 | 00010000 | 00000001 | 11000000 |
Subnet Address | 172 | 16 | 1 | 192 |
Sau này khi làm nhiều bài tập về phân chia mạng con ta sẽ có nhiều cách để tính Subnet address nhanh hơn.
Địa chỉ quảng bá (Broadcast Address) của một mạng con là địa chỉ IP cao nhất của mạng đó. Subnet Address và Broadcast Address không dùng để gán cho máy chủ. Do đó mới có công thức tính số IP khả dụng là 2n – 2 với n là số bit dùng cho Host Address.
Xem thêm: Tổng Hợp 62 Source Code Đồ Án + Báo Cáo Đồ Án Website Bán Hàng Php
kĩ thuật vlsm
Kĩ thuật VLSM là kĩ thuật phân chia mạng lớn ra thành mạng con, tuy nhiên điểm khác biệt lớn nhất của kĩ thuật này với kĩ thuật SUBNET thông thường là khi dùng VLSM thì các mạng con được chia ra từ một mạng lớn. cho nên các mạng con sẽ có số mặt nạ mạng khác so với mạng được chia. Vì dụ mạng ban đầu là: 10.0.0.0/24 khi ta dùng VLSM, lấy 1 bit trong subnetmask (bit thứ tự 25) để phân chia
Giả sử một công ty A thuê một tòa nhà 5 tầng và số lượng mỗi host trong mỗi tầng như sau:
Tầng 1: 60 host
Tầng 2: 10 host
Tầng 3: 4 host
Tầng 4 : 2 host
Địa chỉ mà công ty quy hoạch được cấp phát trong dải ban đầu là: 10.0.0.0/24.
Dũng kĩ thuật VLSM để chia mạng (tối ưu theo số host) cho các phòng
Mạng gốc có subnetmak là /24 nên chúng ta chỉ còn 8 bit trong octet cuối (của 4 octet) là được quyền thay đổi.
B1: sắp xếp lại số phòng theo thứ tự giảm dần số host. Ta sắp xếp lại vì chia mạng theo phòng có số host lớn nhất. Nếu dải mạng tiếp theo đủ để chia nhỏ ra. Mà mạng chia nhỏ có thể chứa được thêm mạng con khác thì ta dùng luôn
B2. Với mạng 1 cần 20 host vậy ta sẽ phải chia dải mạng lớn 10.0.0.0/24 thành 4 mạng con. Mỗi mạng con có thể chứa được 64 địa chỉ. Nhưng thực chất chỉ chứa 62 địa chỉ là dùng được (vì phải trừ đi địa chỉ đầu các bít bằng 0 và địa chỉ cuối các bit bằng 1). Vậy ta cso 4 dải mạng con như sau:
10.0.0.0/26 – 10.0.0.63/26
10.0.0.64/26 – 10.0.0.127/26
10.0.0.128/26 – 10.0.0.191/26
10.0.0.192/26 – 10.0.0.255/26
Vậy ta sẽ lấy dải đầu tiên để cho dải mạng 1 chứa 60 host
B2. Xem xét các dải mạng khác tiếp theo
Hiện tại tầng 1 đã chia vậy tiếp tục chia tới tầng 2. Tầng 2 cần 10 host. Vậy ta tiến hành chia nhỏ ra từ dải mạng số 2 là dài (10.0.0.64/26). Do chỉ cần 10 host. Vậy chỉ cần có 4 bit thay đổi tính từ bên trái qua. Do subnet bây giờ là /26 nên chúng ta còn 32-26-4= 2 bit để dành cho địa chỉ mạng. Tức là sẽ tách ra được 4 mạng con. Mỗi mạng chứa 16 host.
10.0.0.64/26
10.0.0.64/28 – 10.0.0.79/28
10.0.0.80/28 – 10.0.0.95/28
10.0.0.96/28 – 10.0.0.111/28
10.0.0.112/28 – 10.0.0.127/28
Vậy dải đầu tiên (10.0.0.64/28) được dành cho tầng 2 chứa 10 host.
Tiếp tục sang tầng 3 ta thấy tầng 3 cần 4 host vậy có thể chia nhỏ từ dải mạng (10.0.0.80/64) ra thành các mạng con. Do cần 4 bit nên ta chỉ cần 3 trạng thái bit thay đổi từ bên phải vào. Tức là hiện giờ ta còn: 32-28-3 = 1 bit dành cho địa chỉ mạng . Vậy ta sẽ có 2 mạng con được chia ra.
10.0.0.80/28
10.0.0.80/29 – 10.0.0.87/29
10.0.0.88/29 – 10.0.0.95/29
Note: ở đây ta ko dùng 2 bit cho địa chỉ host. Vì 2 bit tạo ra 4 trạng thái mà trừ 2 đi địa chỉ mạng và broadcast nên chỉ còn 2 trạng thái cho host. Vậy sẽ ko đủ cho 4 host. Nên ta phải để dành 3 bit cho host.
Tiếp tục chia sang tầng 4. Tầng 4 cần 2 host do đó ta sẽ chia từ dải 10.0.0.88/29 ra. do cần 2 host vậy ta sẽ để dành 2 bit từ bên phải để dành cho số host. Vậy số bit dành cho phần mạng khi chia ra là : 32-29-2 = 1 bit. Vậy ra sẽ có 2 mạng con.
10.0.0.88/29
10.0.0.88/30- 10.0.0.81/30
10.0.0.82/30 – 10.0.0.85/30
kĩ thuật dịch chuyển địa chỉ nat
NAT đã là một phần không thể thiếu khi triển khai mạng IP diện rộng do không gian địa chỉ IPv4 đã bắt đầu co hẹp. Về cơ bản, NAT cho phép một (hay nhiều) địa chỉ IP nội miền được ánh xạ với một (hay nhiều) địa chỉ IP ngoại miền. Điều này cho phép sử dụng dải địa chỉ IP riêng theo chuẩn RFC 1918 trên các mạng nội bộ trong khi chỉ sử dụng một hoặc một số ít các địa chỉ IP công cộng.
Bởi vì địa chỉ IP riêng chỉ được dành cho các mạng nội bộ và được coi là “không thể định tuyến chung trên Internet công cộng, NAT chuyển các địa chỉ riêng thành các địa chỉ public , địa chỉ có khả năng định tuyến khi máy chủ mạng nội bộ cần phải kết nối tới được với máy chủ bên ngoài của mạng tư nhân.
Thêm vào đó, nhiều tổ chức có thể khai triển cùng IP với nhau, NAT sẽ được sử dụng để giải quyết vấn đề khi các tổ chức này muốn giao tiếp trao đổi với nhau qua mạng.
Một trong những lợi ích chính của NAT là việc thoải mái sử dụng số lượng địa chỉ ip private rộng lớn, hơn 17 triệu địa chỉ/ Điều này bao gồm 1 lớp địa chỉ mạng lớp A, 16 địa chỉ mạng lớp B và 256 địa chỉ mạng lớp C. Khi bạn sử dụng địa chỉ Ip private dù cho bạn có đổi nhà cung cấp dịch vụ, bạn sẽ không cần phải đánh lại địa chỉ cho các thiết bị trong mạng cục bộ mà bạn chỉ phải thay đổi cấu hình NAT trên firewall để trùng với địa chỉ IP public mới.
Có nhiều loại NAT khác nhau có thể được thực hiện bởi Firewall. Trong đó có 2 loại tiêu biểu là NAT và PAT.
Như được nói trước đó, NAT thực hiện việc dịch chuyển từ 1 địa chỉ đến 1 địa chỉ. Bạn thường sử dụng NAT tĩnh khi bạn có một Server, và bạn muốn mọi người trên Internet có thể truy cập Server này. Tuy nhiên, đối với các User trên mạng cục bộ bạn sẽ tạo một pool địa chỉ IP và để thiết bị NAT ngẫu nhiên chỉ định các địa chỉ IP public cho các thiết bị bên trong mạng cục bộ. Trong ví dụ này User bên trong mạng cục bộ đang truy cập nguồn tài nguyên bên ngoài Internet (User có địa chỉ 192.168.1.5 đang cố gắng truy cập 201.201.201.2)
Ví dụ về NAT (a)
Ở hình 1, bạn có thể nhìn thấy thực sự việc truyền dữ liệu từ 192.168.1.5. Firewall nhận gói tin từ 192.168.1.5 và quyết định xem nó có cần thực hiện NAT hay không và chuyển tiếp gói tin tới đích.
Firewall nhận thấy gói tin đến nó và so sánh với rule NAT. Bởi vì gói tin trùng với rule trong chính sách NAT, Firewall sẽ dịch chuyển địa chỉ nguồn trong gói tin từ 192.168.1.5 thành 200.200.200.1, đây là địa chỉ IP public.
Xem thêm: 16 Dàn Ý Các Dàn Ý Bài Văn Nghị Luận Văn Học Lớp 9, Dàn Bài Văn Mẫu Ngữ Văn 9
Tiếp theo bạn có thể thấy địa chỉ đích 201.201.201.2 nhận gói tin. Nó nhận thấy địa chỉ nguồn là 200.200.200.1.
Ví dụ về NAT (b)
Khi đó máy đích gửi gói tin trả lời trở lại cho User, nó sử dụng địa chỉ IP public mà nó thấy được sau khi NAT là 200.200.200.1
Tiếp theo Firewall nhận gói tin và kiểm tra chính sách NAT của nó. Sau khi quyết định cần thiết dịch chuyển lại địa chỉ ban đầu. Nó thấy địa chỉ 200.200.200.1 và thay đổi địa chỉ IP public này trở lại địa chỉ IP private ban đầu là 192.168.1.5, sau đó chuyển tiếp gói tin này vào địa chỉ User trong mạng cục bộ
Xem thêm bài viết thuộc chuyên mục: Cách tính