Mạng căn bản 7 – IPv4

I. IP V4 :

1. Sơ lược về IPv4 :

1A. Giới thiệu :

– Mỗi máy chạy giao thức TCP/IP phải có một IP duy nhất. Mỗi địa chỉ IP đều có 2 phần :

  • Network Address : địa chỉ mạng ( NetID).
  • Host Address : địa chỉ host (HostID).

– Hiện nay IP đang được sử dụng là IPv4, cấu trúc gồm có 32 bit chia thành 4 Octet ( mỗi Octet có 8 bit, tương đương 1 byte ) cách đếm đều từ trái qua phải bít 1 cho đến bít 32, các Octet tách biệt nhau bằng dấu chấm. Có dạng xxx.xxx.xxx.xxx. Ví dụ 53.143.10.2

– Dạng viết đầy đủ của địa chỉ IP là 3 con số trong từng Octet. Ví dụ: địa chỉ IP thường thấy trên thực tế có thể là 53.143.10.2 nhưng dạng đầy đủ là 053.143.010.002.

– Địa chỉ IP chia ra 5 lớp A,B,C, D, E. Hiện tại đã dùng hết lớp A,B và gần hết lớp C, còn lớp D và E Tổ chức internet đang để dành cho mục đích khác không phân, nên chúng ta chỉ nghiên cứu 3 lớp đầu.

1B. Các dạng IPv4 :

– IPV4 định nghĩa ba dạng địa chỉ: Unicast, Broadcast, và Multicast.

  • Một địa chỉ Unicast cho phép thiết bị gửi dữ liệu đến một nơi nhận duy nhất.
  • Một địa chỉ broadcast cho phép thiết bị gửi dữ liệu đến tất cả các host trong một mạng con.
  • Một địa chỉ multicast cho phép thiết bị gửi dữ liệu tới một tập xác định trước các host, được biết đến như các nhóm multicast, trong các mạng con khác nhau.

– Lớp D được sử dụng để dùng làm địa chỉ multicast. Một địa chỉ IP lớp D sẽ là một địa chỉ thuộc một nhóm Multicast nào đó.

– Địa chỉ IP Multicast nâng cao hiệu quả mạng lưới bằng cách cho phép host truyền dữ liệu tới một tập nơi nhận đã được xác định trước.

– Ví dụ một host có thể muốn gửi một video clip lớn tới một nhóm các nơi nhận. Sẽ rất tốn thời gian nếu nó sử dụng địa chỉ Unicast để gửi riêng rẽ đến từng nơi nhận. Nếu Host Broadcast video clip đó qua mạng, sẽ tiêu tốn tài nguyên mạng và gói tin Broadcast cũng không vượt được ra khỏi một mạng con. Do vậy, host có thể sử dụng địa chỉ Multicast và chỉ sử dụng tài nguyên cần thiết.

– Router sử dụng các thuật toán định tuyến Multicast để xác định tuyến tốt nhất (best route) và truyền các gói tin Multicast qua mạng.

Địa chỉ IPv4 là một địa chỉ phần mềm có 32bit, nó là một con số để gán cho thiết bị được gắn vào mạng với giao thức TCP/IP, nhờ địa chỉ IP mà các host trên mạng có thể dễ dàng giao tiếp với nhau.

 2. Các lớp địa chỉ IPv4 :

Public

Range Private

Net ID

A: 1     – 126 10.0.0.1       – 10.254.254.254.255 X
B: 128 – 191 172.16.0.0   – 172.31.254.255 X.Y
C: 192 – 223 192.168.0.0 – 192.168.254.255 X.Y.Z
D: 224 – 239

v

 
E: 240 – 254

v

 




3. Một số địa chỉ đặc biệt : không được dùng.

– Địa chỉ LOOPBACK : 127.x.y.z. Ví dụ 127.0.0.1

– Địa chỉ :

  • 169.254.x.y sẽ được Windows cấp khi client không nhận IP được từ DHCP.
  • Tất cả PC nhận được IP này sẽ truyền thong được với nhau.

 – Địa chỉ UNICAST :

  • Đây là một khái niệm chỉ sự trao đổi thông tin trong đó thông tin được gửi từ một điểm này đến một điểm khác. Có nghĩa là chỉ có một người gửi và một người nhận.
  • Các ứng dụng sử dụng chế độ Unicast, như: http, smtp, telnet, ftp… Và các ứng dụng này có sử dụng giao thức TCP, đây là một giao thức truyền tin tin cậy.


– Địa chỉ BROADCAST :

  • Broadcast là khái niệm chỉ chế độ trao đổi thông tin, trong đó thông tin được gửi từ một máy tới tất cả các máy khác trong mạng.
  • Được dùng khi muốn gửi cùng một bản tin tới tất cả các máy tính khác trong mạng LAN. Ví dụ địa chỉ IP: 192.168.10.255/24 là một địa chỉ Broadcast tới mạng 192.168.10.0/24.


– Địa chỉ MULTICAST :

  • Multicast dùng để chỉ chế độ trao đổi thông tin, trong đó thông tin được gửi từ một điểm tới một tập các điểm khác còn lại, tức là một nguồn và nhiều đích (Nhiều không có nghĩa là tất cả ).


– Địa chỉ MAC:

  • Là địa chỉ vật lý của Card mạng. Đó là một số 48 bit, thường được biểu diễn bằng 12 số hexa (cơ số 16), trong đó 24 bit đầu là mã số của công ty sản xuất Card mạng đó, còn 24 bit sau là số seri của từng Card mạng đối với một hãng sản xuất.
  • Không có hai Card mạng nào trùng nhau về địa chỉ vật lý, nó là số “Identification” của từng Card mạng. Các số Identification này được lưu trong một chip ROM gắn trên mỗi Card mạng ngay từ khi sản xuất, nên còn gọi là “Burnt-in Address”, do đó người dùng không thể thay đổi được.

II. CHIA ĐỊA CHỈ IPv4 ;

1. Chia IP ở lớp C :

1A. Chia 192.168.10.0 / 24 thành 2 mạng con

Bước 1 Xác định số bit cần lấy : 2^1 = 2 mạng
– Ta lấy 1 bit từ HostID cho NetID :

192.168.10.0 / 24

255.255.255.0 ó
11111111.11111111.11111111 .
0
0 0 0 0 0 0 0

                            Ta lấy bit ở vị trí thứ 7

– Đối với lớp C : ta có 24 bit cho NetID8 bit cho HostID.

– Ta đã lấy 1 bit ở HostID nên số bit còn lại ở HostID là 7 bit.

– Ta có số bit ở NetID là 25 bit.

Bước 2 Xác định số host mỗi mạng : Số host = 2^số bit còn lại của HostID
– Số host mỗi mạng là : 2 ^ 7 = 128 host ( bao gồm địa chỉ mạng và broadcast )

– Số host thực là : 128 – 2 ( trừ đi địa chỉ đầu là địa chỉ mạng

                        và địa chỉ cuối là broadcast)

Bước 3 Xác định dãy IP :
– Vì lấy đi 1 bit nên số bit còn lại ở hostID là 7 : => 2^7 = 128. (mỗi lần cộng thêm 128)

– Ta có dãy IP là : ( 25bit )

Network

Range

Broadcast

192.168.10.0 192.168.10.1 – 192.168.10.126 192.168.10.127
192.168.10.128 192.168.10.129 – 192.168.10.254 192.168.10.255
Bước 4 Xác đinh subnet masks
– Subnet masks ban đầu có 24 bit :

255.255.255.0 => 11111111.11111111.11111111.
0 0 0 0 0 0 0 0

– Ta lấy đi 1 bit : 11111111.11111111.11111111. 1 0 0 0 0 0 0 0

– Ta có :

1*2^7 + 0*2^6 + 0*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^5 = 128

– Kết quả : 255.255.255.128 / 25

1B. Chia 192.168.10.0 / 24 thành 4 mạng con

Bước 1 Xác định số bit cần lấy : 2^2 = 4 mạng
– Ta lấy 1 bit từ HostID cho NetID :

192.168.10.0 / 24

255.255.255.0 ó
11111111.11111111.11111111
. 0 0
0 0 0 0 0 0

                            Ta lấy bit ở vị trí thứ 7,6

– Đối với lớp C : ta có 24 bit cho NetID8 bit cho HostID.

– Ta đã lấy 2 bit ở HostID nên số bit còn lại ở HostID là 6 bit.

– Ta có số bit ở NetID là 26 bit.

Bước 2 Xác định số host mỗi mạng : Số host = 2^số bit còn lại của HostID
– Số host mỗi mạng là : 2 ^6 = 64 host ( bao gồm địa chỉ mạng và broadcast )

– Số host thực là : 64 – 2 ( trừ đi địa chỉ đầu là địa chỉ mạng

và địa chỉ cuối là broadcast)

Bước 3 Xác định dãy IP :
– Vì lấy đi 2 bit nên số bit còn lại ở hostID là 6 : => 2^6 = 64. (mỗi lần cộng thêm 64)

– Ta có dãy IP là : ( 26bit )

Network

Range

Broadcast

192.168.10.0 192.168.10.1 – 192.168.10.62 192.168.10.63
192.168.10.64 192.168.10.65 – 192.168.10.126 192.168.10.127
192.168.10.128 192.168.10.129 – 192.168.10.190 192.168.10.191
192.168.10.192 192.168.10.193 – 192.168.10.254 192.168.10.255
Bước 4 Xác đinh subnet masks
– Subnet masks ban đầu có 24 bit :

255.255.255.0 => 11111111.11111111.11111111.
0 0 0 0 0 0 0 0

– Ta lấy đi 1 bit : 11111111.11111111.11111111. 1 1 0 0 0 0 0 0

– Ta có :

1*2^7 + 1*2^6 + 0*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^5 = 192

– Kết quả : 255.255.255.192 / 26

2. Chia IP ở lớp B :

2A. Chia 172.16.0.0 / 16 thành 2 mạng con

Bước 1 Xác định số bit cần lấy : 2^1 = 2 mạng
– Ta lấy 1 bit từ HostID cho NetID :

172.16.0.0 / 16

255.255.0.0 ó
11111111.11111111. 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0

                 Ta lấy bit ở vị trí thứ 7

– Đối với lớp B : ta có 16 bit cho NetID16 bit cho HostID.

– Ta đã lấy 1 bit ở HostID nên số bit còn lại ở HostID là 15 bit.

– Ta có số bit ở NetID là 17 bit.

Bước 2 Xác định số host mỗi mạng : Số host = 2^số bit còn lại của HostID
– Số host mỗi mạng là : 2^15 = 32768 ( bao gồm địa chỉ mạng và broadcast )

– Số host thực là : 2^15 – 2 ( trừ đi địa chỉ đầu là địa chỉ mạng

và địa chỉ cuối là broadcast)

Bước 3 Xác định dãy IP :
– Vì lấy đi 1 bit nên số bit còn lại ở hostID là 7 : => 2^7 = 128. (mỗi lần cộng thêm 128)

– Ta có dãy IP là : ( 25bit )

Network

Range

Broadcast

172.16.0.0 172.16.0.1 – 172.16.127.254 172.16.127.255
172.16.128.0 172.16.128.1 – 172.16.255.254 172.16.255.255
Bước 4 Xác đinh subnet masks
– Subnet masks ban đầu có 16 bit :

255.255.0.0 => 11111111.11111111. 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0

– Ta lấy đi 1 bit : 11111111.11111111. 1 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0

– Ta có :

1*2^7 + 0*2^6 + 0*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^5 = 128

– Kết quả : 255.255.128.0 / 17

 2B. Chia 172.16.0.0 / 16 thành 8 mạng con

Bước 1 Xác định số bit cần lấy : 2^3 = 8 mạng
– Ta lấy 3 bit từ HostID cho NetID :

172.16.0.0 / 16

255.255.0.0 ó
11111111.11111111. 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0

                    Ta lấy bit ở vị trí thứ 7, 6, 5

– Đối với lớp B : ta có 16 bit cho NetID16 bit cho HostID.

– Ta đã lấy 3 bit ở HostID nên số bit còn lại ở HostID là 13 bit.

– Ta có số bit ở NetID là 19 bit.

Bước 2 Xác định số host mỗi mạng : Số host = 2^số bit còn lại của HostID
– Số host mỗi mạng là : 2^ 13 = 8192 ( bao gồm địa chỉ mạng và broadcast )

– Số host thực là : 2^13 – 2 ( trừ đi địa chỉ đầu là địa chỉ mạng

và địa chỉ cuối là broadcast)

Bước 3 Xác định dãy IP :
– Vì lấy đi 3 bit nên số bit còn lại ở hostID là 5 : => 2^5 = 32. (mỗi lần cộng thêm 32)

– Ta có dãy IP là : ( 25bit )

Network

Range

Broadcast

172.16.0.0 172.16.0.1 – 172.16.31.254 172.16.31.255
172.16.32.0 172.16.32.1 – 172.16.63.254 172.16.63.255
172.16.64.0 172.16.64.1 – 172.16.127.254 172.16.127.255
172.16.128.0 172.16.128.1 – 172.16.159.254 172.16.159.255
172.16.160.0 172.16.160.1 – 172.16.191.254 172.16.191.255
172.16.192.0 172.16.192.1 – 172.16.223.254 172.16.223.255
172.16.224.0 172.16.224.1 – 172.16.255.254 172.16.255.255
Bước 4 Xác đinh subnet masks
– Subnet masks có 16 bit :

            11111111.11111111. 0
0
0 0 0 0 0 0 . 0 0 0 0 0 0 0 0

– Ta lấy đi 3 bit : 11111111.11111111. 1 1 1
0 0 0 0 0
. 0 0 0 0 0 0 0 0

– Nên :

1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^5 = 224

– Kết quả : 255.255.224.0 / 17

3. Chia IP ở lớp A :

3A. Chia 10.0.0.0 / 16 thành 4 mạng con :

Bước 1 Xác định số bit cần lấy : 2^2 = 4 mạng
– Ta lấy 2 bit từ HostID cho NetID :

172.0.0.0 / 8

255.0.0.0 ó
11111111. 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0 . 0 0 0 0 0 0 0 0

Ta lấy bit ở vị trí thứ 7, 6

– Đối với lớp B : ta có 8 bit cho NetID24 bit cho HostID.

– Ta đã lấy 2 bit ở HostID nên số bit còn lại ở HostID là 22 bit.

– Ta có số bit ở NetID là 10 bit.

Bước 2 Xác định số host mỗi mạng : Số host = 2^số bit còn lại của HostID
– Số host mỗi mạng là : 2^ 22 = 4194304

                     ( bao gồm địa chỉ mạng và broadcast )

– Số host thực là : 2^22 – 2 ( trừ đi địa chỉ đầu là địa chỉ mạng

và địa chỉ cuối là broadcast)

Bước 3 Xác định dãy IP :
– Vì lấy đi 2 bit nên số bit còn lại ở hostID là 6 : => 2^6 = 64. (mỗi lần cộng thêm 64)

– Ta có dãy IP là : ( 10bit )

Network

Range

Broadcast

10.0.0.0 10.0.0.1 – 10.63.255.254 10.63.255.255
172.64.0.0 10.64.0.1 – 10.127.255.254 10.127.255.255
172.128.0.0 10.128.0.1 – 10.191.255.254 10.191.255.255
172.192.0.0 10.192.0.1 – 10.255.255.254 10.255.255.255
Bước 4 Xác đinh subnet masks
– Subnet masks có 8 bit :

        11111111.0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0. 0 0 0 0 0 0 0 0

– Ta lấy đi : 11111111.1 1 0 0 0 0 0 0. 0 0 0 0 0 0 0 0 .0 0 0 0 0 0 0 0

– Nên :

1*2^7 + 1*2^6 + 0*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^5 = 192

– Kết quả : 255.255.192.0 / 10

4. Supper Subnet – CIDR :

– Dùng để kết hợp nhiều subnet khác nhau thành 1 subnet chung, có thể truyền thông được với nhau.

– Cách thực hiện : theo qui tắc 2^1, 2^2, 2^3, 2^4 …..

– Nếu có 2 mạng -> qui tắc 2^1.

– Nếu có 4 mạng -> qui tắc 2^2……

4.A. Cách tính supper subnet :

– Ví dụ : có 8 mạng sau đây

  • 194.10.1.0 / 24 (255.255.255.0)
  • 194.10.2.0 / 24
  • 194.10.3.0 / 24
  • 194.10.4.0 / 24
  • 194.10.5.0 / 24
  • 194.10.6.0 / 24
  • 194.10.7.0 / 24
  • 194.10.8.0 / 24

– Ta áp dụng qui tắc 2^3. Vì 2^3 = 8 mạng è 24 bit – 3 = 21 bit

– Như vậy, tất cả các mạng trên sẽ có subnet là 21 bit.

  • 24 bit có dạng : 255.255.255.0

    ó 11111111.11111111.1 1 1 1 1 1 1 1.00000000

  • + Ta bỏ đi 3 bit : (tính từ 0 => ta bỏ bit : 0, 1, 2)
  • + Ta được :

2^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 – 2^2 + 2^1 + 2^

About Terri

System Administrator @Netpower Datacenter

Posted on 18.01.2009, in Basic & Networking, Technical Articles and tagged , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: