Tìm hiểu về địa chỉ IP (11/08/2007)
1. Địa chỉ IP là gì?
- mỗi máy tính khi kết nối vào Internet đều có một địa chỉ duy nhất, đó chính là địa chỉ IP. Địa chỉ này dùng để phân biệt máy tính đó với các máy khác còn lại trên mạng Internet
- địa chỉ IP là một số 32 bit, = 4 byte nên có thể xem một địa chỉ IP được tạo thành từ 4 số có kích thước 1 byte, mỗi số có giá trị từ 0 đến 255. Mỗi địa chỉ IP đều gồm 2 phần là địa chỉ mạng(network) và địa chỉ máy(host)
- ví dụ về địa chỉ IP: 45.10.0.1, 168.10.45.65, ...
2. Làm sao để địa chỉ IP của mình và địa chỉ IP của một trang Web?
- để xem địa chỉ của mình thì bạn vào Start --> Run rồi gõ lệnh : winipcfg hoặc bạn vào trang www.whatismyip.com , nó sẽ hiện thị IP của bạn
- để xem địa chỉ của một trang Web thì bạn dùng lệnh nslookup
3. Các lớp địa chỉ IP
- toàn bộ địa chỉ IP được chia vào 6 lớp khác nhau: A,B,C,D,E và loopback. Mỗi lớp sẽ có cách xác định địa chỉ network và địa chỉ host khác nhau.
- Biểu đồ:
Lớp Cấu trúc địa chỉ IP Format Số bit mạng/số bit host Tổng số mạng/lớp Tổng số host/mạng Vùng địa chỉ IP
0 32
A 0 netid hostid
N.H.H.H 7/24 27-2=126 224-2=17.777.214 1.0.0.1-126.0.0.0
B 1 0 netid hostid
N.N.H.H 14/16 214-2=16382 216-2=65.643 128.1.0.0-191.254.0.0
C 1 1 0 netid hostid
N.N.N.H 22/8 222-2=4194302 28-2=245 192.0.1.0-223.255.254.0
D 1 1 1 0 địa chỉ multicast
- - - - 224.0.0.0-239.255.255.255
E 1 1 1 1 dành riêng
- - - - 240.0.0.0-254.255.255.255
Loopback -
- - - - 127.x.x.x
*ghi chú: N=Network, H=Host
- Giải thích:
+ Lớp A: bit đầu tiên bằng 0, 7 bit tiếp theo N dành cho địa chỉ network nên có tối đa 27-2=126 trên lớp A, 24 bit còn lại H.H.H dành cho địa chỉ host nên mỗi mạng thuộc lớp A sẽ có tối đa là 224-2=17.777.214 máy. Nguyên nhân phải trừ đi 2 vì có hai địa chỉ được dành riêng là địa chỉ mạng(x.x.x.0) và địa chỉ broadcast(x.x.x.255). Lớp A chỉ dành cho các địa chỉ của các tổ chức lớn trên thế giới. Vùng địa chỉ IP của lớp A là 1.0.0.1 đến 126.0.0.0
+ Lớp B: bit 0 = 0, 14 bit tiếp theo dành cho địa chỉ netwrok, 16 bit còn lại dành cho địa chỉ host. Tổng số mạng trên lớp B là 16382, mỗi mạng chứa tối đa 65.643 máy(cách tính tương tự như lớp A). Lớp B được dành cho các địa chỉ của các tổ chức hạng trung trên thế giới. Vùng địa chỉ dành cho lớp B là 128.1.0.0 đến 192.254.0.0
+ Lớp C: 3 bit đầu tiên là 110, 22 bit tiếp theo dành cho network, 8 bit còn lại dành cho host. Số mạng tối đa trên lớp C là 4194302, số host tối đa trên mỗi mạng là 245. Lớp C được dành cho các tổ chức nhỏ và cả máy tính của bạn nữa;). Vùng địa chỉ của lớp C là 192.0.1.0 đến 223.255.254.0
+ Lớp D: 4 bit đầu tiên luôn là 1110. Lớp D được dành cho các nhóm multicast, vùng địa chỉ từ 224.0.0.0 đến 239.255.255.255
+ Lớp E: 4 bit đầu tiên luôn là 1111. Lớp D được dành cho mục đích nghiên cứu, vùng địa chỉ từ 240.0.0.0 đến 254.255.255.255
+ Loopback: địa chỉ quay trở lại, 127.x.x.x. Bạn thường bắt gặp địa chỉ IP 127.0.0.1, đây chính là địa chỉ IP quay trở lại máy tính mà bạn đang dùng để kết nối vào mạng
- Ví dụ: 128.7.15.1
bin 10000000 00000111 00001111 00000001
dec 128 7 15 1
2 bit đầu tiên là 10, như vậy địa chỉ này thuộc lớp B(N.N.H.H), từ đó bạn có thể suy ra được địa chỉ mạng là 128.7 và địa chỉ máy là 15.1
- Bạn cũng có thể dựa vào byte đầu tiên của địa chỉ IP để xác định một cách nhanh chóng và chính xác nó thuộc lớp nào?!
Lớp Byte đầu tiên của địa chỉ IP
A 1-126
B 128-191
C 192-223
D 224-239
E 240-254
Loopback 127
- Có một số địa chỉ IP đặc biệt sau:
0.0.0.0 - địa chỉ của máy hiện tại
255.255.255.255 - địa chỉ broadcast giới hạn của mạng cục bộ
x.x.x.255 - địa chỉ boardcast trực tiếp của mạng x.x.x.0
127.x.x.x - địa chỉ loopback
- Ví dụ:
* Gateway trên hình vẽ thuộc 2 mạng khác nhau nên nó phải có đến 2 địa chỉ IP là 128.10.2.70 và 192.5.48.7
3. Chi tiết về subnet
- để cấp phát địa chỉ IP cho các mạng khác nhau một cách hiệu quả và dễ quản lí, người ta dùng một kĩ thuật được gọi là subnet. Subnet sẽ vay mượn một số bit của hostid để làm subnet mask(mặt nạ mạng). Tôi sẽ chỉ rõ cho các bạn qua các ví dụ. Bạn chỉ cần nhớ 3 điều sau:
+ subnet mask có tất cả các bit network và subnet đều bằng 1, các bit host đểu bằng 0
+ tất cả các máy trên cùng một mạng phải có cùng một subnet mask
+ để phân biệt được các subnet(mạng con) khác nhau, bộ định tuyến dùng phép logic AND
- Ví dụ 1: địa chỉ lớp mạng lớp B 128.10.0.0 có thể subnet như sau:
(a) dùng 8 bit đầu tiên của hostid để subnet:
Subnet mask = 255.255.255.0
Network Network Subnet Host
11111111 11111111 11111111 00000000
255 255 255 0
Như bạn thấy số bit dành cho subnet sẽ là 8 -> có tất cả 28-2=254 subnet(mạng con). Địa chỉ của các subnet lần lượt là 128.10.0.1, 128.10.0.2, 128.10.0.3, ..., 128.10.0.245. 8 bit dành cho host nên mỗi subnet sẽ có 28-2=254 host, địa chỉ của các host lần lượt là 128.10.xxx.1, 128.10.xxx.2, 128.10.xxx.3, ..., 128.10.xxx.254
Giả sử như bạn có một mạng lớp B địa chỉ 128.10.0.0 được subnet với subnet mask = 255.255.255.0 như sau:
Làm thế nào để gateway G có thể phân biệt được các host thuộc mạng con 128.10.1.0 hay 128.10.2.0? Nó sẽ thực hiện phép AND địa chỉ IP của host với subnet mask 255.255.255.0
*[H1] 128.10.1.1 AND 255.255.255.0
128. 10. 1.1 = 10000000.00001010.00000001.00000001
AND 255.255.255.0 = 11111111.11111111.11111111.00000000
Kết quả = 10000000.00001010.00000001.00000000
*[H2] 128.10.2.2 AND 255.255.255.0
128. 10. 1.1 = 10000000.00001010.00000010.00000010
AND 255.255.255.0 = 11111111.11111111.11111111.00000000
Kết quả = 10000000.00001010.00000010.00000000
Như vậy gateway G có thể dễ dàng xác định được địa chỉ subnet của H1 và H2 và biết được nó thuộc 2 subnet khác nhau.
(b) chỉ dùng 7 bit đầu tiên của hostid để subnet:
Subnet mask = 255.255.254.0 = 11111111.11111111.11111110.00000000
Như vậy số bit dành cho subnet sẽ là 7 -> có tất cả 27-2=126 subnet(mạng con). Nhưng bù lại, mỗi subnet sẽ có đến 510 host do 9 bit sau được dành cho host, 29-2=510. Địa chỉ của các subnet và host như sau:
Subnet ID Hosts
128.10.0.0 128.10.0.1-128.10.0.254
128.10.2.0 128.10.2.1-128.10.3.254
128.10.4.0 128.10.4.1-128.10.5.254
... ...
128.10.254.0 128.10.254.1-128.10.255.254
+ ví dụ 1: 128.10.2.1 & 128.10.3.254 ?!
128.10. 2.1 = 10000000.00001010.00000010.00000001
AND 255.255.254.0 = 11111111.11111111.11111110.00000000
Kết quả = 10000000.00001010.00000010.00000000
128. 10. 3.254 = 10000000.00001010.00000011.11111111
AND 255.255.254. 0 = 11111111.11111111.11111110.00000000
Kết quả = 10000000.00001010.00000010.00000000
-> 128.10.2.1 & 128.10.3.254 thuộc cùng 1 subnet
+ ví dụ 2: 128.10.2.1 & 128.10.5.75 ?
128.10. 2.1 = 10000000.00001010.00000010.00000001
AND 255.255.254.0 = 11111111.11111111.11111110.00000000
Kết quả = 10000000.00001010.00000010.00000000
128. 10. 5.75 = 10000000.00001010.00000101.01001011
AND 255.255.254. 0 = 11111111.11111111.11111110.00000000
Kết quả = 10000000.00001010.00000100.00000000
-> 128.10.2.1 & 128.10.5.75 thuộc 2 subnet khác nhau
4. IPCalc 2.0.7 - 1 chương trình giúp bạn tính toán nhanh subnet mask
Bạn có thể tìm thấy tiện ích này trên đĩa WebLH-Net hoặc cũng có thể download tại http://www.progression-inc.com/
5. Phân biệt giữa địa chỉ IP tỉnh và địa chỉ IP động
- các máy tính kết nối vào mạng Internet thường xuyên, chẳng hạn như 1 WEB server hoặc FTP server luôn phải có một địa chỉ IP cố định gọi là địa chỉ IP tĩnh. Đối với các máy tính thỉnh thoảng mới kết nối vào Internet, chẳng hạn như máy của tôi và bạn dùng kết nối cùng kết nối quay số đến ISP. Ví dụ mỗi lần tôi dùng Internet, DHCP(Dynamic Host Configuration Protocol) server của VDC ISP sẽ cung cấp cho tôi một địa chỉ IP chẳng hạn như 203.162.30.209. Lần sau tôi vào lại mạng Internet, địa chỉ IP của tôi có thể là 203.162.30.186 vì DHCP server của VDC sẽ chọn một địa chỉ IP còn rãnh để cấp phát cho máy tôi. Như vậy, địa chỉ IP của máy tôi là địa chỉ IP động.
- để xác định được địa chỉ IP động của máy mình khi đang dùng Internet, trên Windows bạn hãy chạy Start/Run: winipcfg .
- ví dụ về địa chỉ IP: 45.10.0.1, 168.10.45.65, ...
2. Làm sao để địa chỉ IP của mình và địa chỉ IP của một trang Web?
- để xem địa chỉ của mình thì bạn vào Start --> Run rồi gõ lệnh : winipcfg hoặc bạn vào trang www.whatismyip.com , nó sẽ hiện thị IP của bạn
- để xem địa chỉ của một trang Web thì bạn dùng lệnh nslookup
3. Các lớp địa chỉ IP
- toàn bộ địa chỉ IP được chia vào 6 lớp khác nhau: A,B,C,D,E và loopback. Mỗi lớp sẽ có cách xác định địa chỉ network và địa chỉ host khác nhau.
- Biểu đồ:
Lớp Cấu trúc địa chỉ IP Format Số bit mạng/số bit host Tổng số mạng/lớp Tổng số host/mạng Vùng địa chỉ IP
0 32
A 0 netid hostid
N.H.H.H 7/24 27-2=126 224-2=17.777.214 1.0.0.1-126.0.0.0
B 1 0 netid hostid
N.N.H.H 14/16 214-2=16382 216-2=65.643 128.1.0.0-191.254.0.0
C 1 1 0 netid hostid
N.N.N.H 22/8 222-2=4194302 28-2=245 192.0.1.0-223.255.254.0
D 1 1 1 0 địa chỉ multicast
- - - - 224.0.0.0-239.255.255.255
E 1 1 1 1 dành riêng
- - - - 240.0.0.0-254.255.255.255
Loopback -
- - - - 127.x.x.x
*ghi chú: N=Network, H=Host
- Giải thích:
+ Lớp A: bit đầu tiên bằng 0, 7 bit tiếp theo N dành cho địa chỉ network nên có tối đa 27-2=126 trên lớp A, 24 bit còn lại H.H.H dành cho địa chỉ host nên mỗi mạng thuộc lớp A sẽ có tối đa là 224-2=17.777.214 máy. Nguyên nhân phải trừ đi 2 vì có hai địa chỉ được dành riêng là địa chỉ mạng(x.x.x.0) và địa chỉ broadcast(x.x.x.255). Lớp A chỉ dành cho các địa chỉ của các tổ chức lớn trên thế giới. Vùng địa chỉ IP của lớp A là 1.0.0.1 đến 126.0.0.0
+ Lớp B: bit 0 = 0, 14 bit tiếp theo dành cho địa chỉ netwrok, 16 bit còn lại dành cho địa chỉ host. Tổng số mạng trên lớp B là 16382, mỗi mạng chứa tối đa 65.643 máy(cách tính tương tự như lớp A). Lớp B được dành cho các địa chỉ của các tổ chức hạng trung trên thế giới. Vùng địa chỉ dành cho lớp B là 128.1.0.0 đến 192.254.0.0
+ Lớp C: 3 bit đầu tiên là 110, 22 bit tiếp theo dành cho network, 8 bit còn lại dành cho host. Số mạng tối đa trên lớp C là 4194302, số host tối đa trên mỗi mạng là 245. Lớp C được dành cho các tổ chức nhỏ và cả máy tính của bạn nữa;). Vùng địa chỉ của lớp C là 192.0.1.0 đến 223.255.254.0
+ Lớp D: 4 bit đầu tiên luôn là 1110. Lớp D được dành cho các nhóm multicast, vùng địa chỉ từ 224.0.0.0 đến 239.255.255.255
+ Lớp E: 4 bit đầu tiên luôn là 1111. Lớp D được dành cho mục đích nghiên cứu, vùng địa chỉ từ 240.0.0.0 đến 254.255.255.255
+ Loopback: địa chỉ quay trở lại, 127.x.x.x. Bạn thường bắt gặp địa chỉ IP 127.0.0.1, đây chính là địa chỉ IP quay trở lại máy tính mà bạn đang dùng để kết nối vào mạng
- Ví dụ: 128.7.15.1
bin 10000000 00000111 00001111 00000001
dec 128 7 15 1
2 bit đầu tiên là 10, như vậy địa chỉ này thuộc lớp B(N.N.H.H), từ đó bạn có thể suy ra được địa chỉ mạng là 128.7 và địa chỉ máy là 15.1
- Bạn cũng có thể dựa vào byte đầu tiên của địa chỉ IP để xác định một cách nhanh chóng và chính xác nó thuộc lớp nào?!
Lớp Byte đầu tiên của địa chỉ IP
A 1-126
B 128-191
C 192-223
D 224-239
E 240-254
Loopback 127
- Có một số địa chỉ IP đặc biệt sau:
0.0.0.0 - địa chỉ của máy hiện tại
255.255.255.255 - địa chỉ broadcast giới hạn của mạng cục bộ
x.x.x.255 - địa chỉ boardcast trực tiếp của mạng x.x.x.0
127.x.x.x - địa chỉ loopback
- Ví dụ:
* Gateway trên hình vẽ thuộc 2 mạng khác nhau nên nó phải có đến 2 địa chỉ IP là 128.10.2.70 và 192.5.48.7
3. Chi tiết về subnet
- để cấp phát địa chỉ IP cho các mạng khác nhau một cách hiệu quả và dễ quản lí, người ta dùng một kĩ thuật được gọi là subnet. Subnet sẽ vay mượn một số bit của hostid để làm subnet mask(mặt nạ mạng). Tôi sẽ chỉ rõ cho các bạn qua các ví dụ. Bạn chỉ cần nhớ 3 điều sau:
+ subnet mask có tất cả các bit network và subnet đều bằng 1, các bit host đểu bằng 0
+ tất cả các máy trên cùng một mạng phải có cùng một subnet mask
+ để phân biệt được các subnet(mạng con) khác nhau, bộ định tuyến dùng phép logic AND
- Ví dụ 1: địa chỉ lớp mạng lớp B 128.10.0.0 có thể subnet như sau:
(a) dùng 8 bit đầu tiên của hostid để subnet:
Subnet mask = 255.255.255.0
Network Network Subnet Host
11111111 11111111 11111111 00000000
255 255 255 0
Như bạn thấy số bit dành cho subnet sẽ là 8 -> có tất cả 28-2=254 subnet(mạng con). Địa chỉ của các subnet lần lượt là 128.10.0.1, 128.10.0.2, 128.10.0.3, ..., 128.10.0.245. 8 bit dành cho host nên mỗi subnet sẽ có 28-2=254 host, địa chỉ của các host lần lượt là 128.10.xxx.1, 128.10.xxx.2, 128.10.xxx.3, ..., 128.10.xxx.254
Giả sử như bạn có một mạng lớp B địa chỉ 128.10.0.0 được subnet với subnet mask = 255.255.255.0 như sau:
Làm thế nào để gateway G có thể phân biệt được các host thuộc mạng con 128.10.1.0 hay 128.10.2.0? Nó sẽ thực hiện phép AND địa chỉ IP của host với subnet mask 255.255.255.0
*[H1] 128.10.1.1 AND 255.255.255.0
128. 10. 1.1 = 10000000.00001010.00000001.00000001
AND 255.255.255.0 = 11111111.11111111.11111111.00000000
Kết quả = 10000000.00001010.00000001.00000000
*[H2] 128.10.2.2 AND 255.255.255.0
128. 10. 1.1 = 10000000.00001010.00000010.00000010
AND 255.255.255.0 = 11111111.11111111.11111111.00000000
Kết quả = 10000000.00001010.00000010.00000000
Như vậy gateway G có thể dễ dàng xác định được địa chỉ subnet của H1 và H2 và biết được nó thuộc 2 subnet khác nhau.
(b) chỉ dùng 7 bit đầu tiên của hostid để subnet:
Subnet mask = 255.255.254.0 = 11111111.11111111.11111110.00000000
Như vậy số bit dành cho subnet sẽ là 7 -> có tất cả 27-2=126 subnet(mạng con). Nhưng bù lại, mỗi subnet sẽ có đến 510 host do 9 bit sau được dành cho host, 29-2=510. Địa chỉ của các subnet và host như sau:
Subnet ID Hosts
128.10.0.0 128.10.0.1-128.10.0.254
128.10.2.0 128.10.2.1-128.10.3.254
128.10.4.0 128.10.4.1-128.10.5.254
... ...
128.10.254.0 128.10.254.1-128.10.255.254
+ ví dụ 1: 128.10.2.1 & 128.10.3.254 ?!
128.10. 2.1 = 10000000.00001010.00000010.00000001
AND 255.255.254.0 = 11111111.11111111.11111110.00000000
Kết quả = 10000000.00001010.00000010.00000000
128. 10. 3.254 = 10000000.00001010.00000011.11111111
AND 255.255.254. 0 = 11111111.11111111.11111110.00000000
Kết quả = 10000000.00001010.00000010.00000000
-> 128.10.2.1 & 128.10.3.254 thuộc cùng 1 subnet
+ ví dụ 2: 128.10.2.1 & 128.10.5.75 ?
128.10. 2.1 = 10000000.00001010.00000010.00000001
AND 255.255.254.0 = 11111111.11111111.11111110.00000000
Kết quả = 10000000.00001010.00000010.00000000
128. 10. 5.75 = 10000000.00001010.00000101.01001011
AND 255.255.254. 0 = 11111111.11111111.11111110.00000000
Kết quả = 10000000.00001010.00000100.00000000
-> 128.10.2.1 & 128.10.5.75 thuộc 2 subnet khác nhau
4. IPCalc 2.0.7 - 1 chương trình giúp bạn tính toán nhanh subnet mask
Bạn có thể tìm thấy tiện ích này trên đĩa WebLH-Net hoặc cũng có thể download tại http://www.progression-inc.com/
5. Phân biệt giữa địa chỉ IP tỉnh và địa chỉ IP động
- các máy tính kết nối vào mạng Internet thường xuyên, chẳng hạn như 1 WEB server hoặc FTP server luôn phải có một địa chỉ IP cố định gọi là địa chỉ IP tĩnh. Đối với các máy tính thỉnh thoảng mới kết nối vào Internet, chẳng hạn như máy của tôi và bạn dùng kết nối cùng kết nối quay số đến ISP. Ví dụ mỗi lần tôi dùng Internet, DHCP(Dynamic Host Configuration Protocol) server của VDC ISP sẽ cung cấp cho tôi một địa chỉ IP chẳng hạn như 203.162.30.209. Lần sau tôi vào lại mạng Internet, địa chỉ IP của tôi có thể là 203.162.30.186 vì DHCP server của VDC sẽ chọn một địa chỉ IP còn rãnh để cấp phát cho máy tôi. Như vậy, địa chỉ IP của máy tôi là địa chỉ IP động.
- để xác định được địa chỉ IP động của máy mình khi đang dùng Internet, trên Windows bạn hãy chạy Start/Run: winipcfg .
No comments:
Post a Comment