Thứ Năm, 29 tháng 12, 2011

Bài Tập Về Chia Subnet

1. Các dạng bài IP


Dạng 1: Bài tập xuôi.

Cho một địa chỉ IP, biết số bit cần mượn hoặc số host. Yêu cầu tìm ra các subnet, địa chỉ đầu (first address), địa chỉ cuối (last address), địa chỉ quảng bá (broadcast address), host range (dải địa chỉ khả dụng của từng host).


Dạng 2: Bài tập ngược.

Cho một địa chỉ host thuộc một subnet nào đó với subnet mask.
Xác định số bit đã mượn, xác định xem địa chỉ đó thuộc subnet nào, địa chỉ IP đã sử dụng để subneting (chia mạng) là địa chỉ nào. Liệt kê các subnet, địa chỉ đầu tiên, địa chỉ cuối cùng, địa chỉ broadcast của từng subnet.
2. Các bước làm bài

2.1: Các bước làm dạng bài tập xuôi.


- Từ địa chỉ IP đề bài cho, xác định lớp của địa chỉ đó.
- Xác định Default mask của địa chỉ đó.
- Chuyển tất cả các địa chỉ đó sang dạng nhị phân.
- Nếu biết số bit mượn thì áp dụng công thức 2^n - 2 để tính ra số host và 2^m để tính ra số subnet, với n và m là số bit mượn cho phần host, phần mạng.
- Nếu biết số host thì áp dụng hai công thức trên tìm ra số bit cần mượn.
-Từ số bit mượn và mask tìm ra hop (khoảng cách giữa các subnet)
- Liệt kê theo thứ tự.
Ví dụ:

Cho địa chỉ IP sau 192.168.1.0/24. Hãy chia địa chỉ thành các subnet, sao cho mỗi subnet có thể có 29 host, liệt kê các subnet, dải địa chỉ khả dụng và địa chỉ broadcast của từng subnet.

Trả lời:

Bước 1: Địa chỉ trên thuộc lớp C, có defaul mask là 255.255.255.0
Bước 2: Chuyển đổi nhị phân
192 . 168 . 1 . 0 = 1000 0000 . 1010 1000 . 0000 0001 . 0000 0000
255 . 255 . 255 . 0 = 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000

Bước 3: Vì mỗi host có 29 host suy ra cần ít nhất 5 bit cho phần host: 2^5 - 2 = 30. Vậy số bit cho phần Net ID là 3. Vậy ta có 2^3 = 8 subnet.

Bước 4 : xác định số hop cho các subnet.
Vì mượn 3 bit cho phần Net ID nên ta có subnet mask mới là:

255.255.255.224 = 1111 1111 . 1111 1111 . 1111 1111 . 1110 0000

Phần màu tím là dành cho host. Bit thấp nhất trong phần Net ID có giá trị là 32, suy ra số hop là 32, có nghĩa là ta có các subnet và các địa chỉ cần tìm sau.

Lưu ý:
- Địa chỉ mạng (subnet) : tất cả các bit dành cho phần host bằng 0
- Địa chỉ broadcast: tất cả các bit dành cho phần host bằng 1.
- Địa chỉ đầu tiên: là địa chỉ lến sau địa chỉ mạng (subnet)
- Địa chỉ cuối cùng: là địa chỉ liền trước địa chỉ broadcast


2.2 Các bước làm bài tập dạng ngược.

- Chuyển đổi địa chỉ host và mask đề bài đã cho từ dạng thập phân sang nhị phân.
- Thực hiện phép tính AND để xác định địa chỉ mạng, đó chính là địa chỉ mạng chứa địa chỉ host ở trên.
- Dựa vào bit nhận dạng, xác định địa chỉ đó thuộc lớp nào.
- Xác định defaul mask cho địa chỉ đó, kết hợp với mask của để bài tìm ra số bit đã mượn.
- Từ số bit mượn và mask tìm ra số hop cho từng subnet.
- Liệt kê các địa chỉ theo yêu cầu !

Ví dụ:

Cho địa chỉ: 210.4.80.100/26, xác định xem địa chỉ trên thuộc subnet nào . Liệt kê các subnet và dải địa chỉ của subnet đó.


Trả lời:

Bước 1: Chuyển đổi nhị phân.

210 . 4 . 80 . 100 = 1101 0010 . 0000 0100 . 0101 0000 . 0110 0110
AND
255 . 255 . 255 . 192 = 1111 1111 . 1111 1111 . 1111 1111 . 1100 0000

=

210 . 4 . 80 . 64 <= 1101 0010 . 0000 0100 . 0101 0000 . 0100 0000 Bước 2: Từ kết quả của phép AND trên ta tìm được địa chỉ mạng chứa địa chỉ đề bài cho là : 210 . 4 . 80 . 64 Bước 3: Xác định lớp địa chỉ: Địa chỉ trên thuộc lớp C, suy ra default mask là 255.255.255.0. đó đó ta đã mượn 2 bit cho phần net ID. Bước 4: Suy ra số subnet, số host cho từng subnet. Số subnet là: 2^2 = 4 Số host/subnet: 2^6 - 2 = 62. Số hop của các subnet là: 2^6 = 64 (các subnet cách nhau 64 địa chỉ) Bước 5: Liệt kê theo yêu cầu Bài tập chia mạng con đơn giản 1. Cho địa chỉ IP: 172.16.3.23/27 A. Địa chỉ này thuộc lớp nào? Giải thích. B. Tìm địa chỉ mạng và địa chỉ broadcast của mạng chứa địa chỉ IP trên? C. Hãy chia mạng con vừa tìm được ở câu b thành 4 mạng con. Liệt kê các địa chỉ mạng, địa chỉ broadcast và dãy địa chỉ host của 4 mạng con này. Giải: 1. Địa chỉ này thuộc lớp B. Vì lớp B có Byte đầu tiên nằm trong khoảng từ 128 đến 191. 2. Vì Subnet Mask là /27 nên Mạng này mượn 3 bit để chia mạng con. - Do đó ta có địa chỉ các mạng lần lượt là. 172.16.3.0/27 172.16.3.32/27 172.16.3.64/27 … 172.16.3.224/27 …. - Từ đó ta suy ra địa chỉ IP đầu bài nằm ở Mạng đầu tiên là 172.16.3.0/27 - Địa chỉ Broadcast là địa chỉ sau địa chỉ mạng kế tiếp. Ở đây nó là 172.16.3.31/27 c. Ta sẽ lấy mạng 172.16.3.0/27 để chia tiếp 4 mạng con. (phần này không cần trình bày vào bài vì mình chỉ giải thích: - Địa chỉ 172.16.3.0/27 thì có 27 bit đã được chia. Ta không được dùng các bit đó để chia mà phải mượn các bit trong phần Host ID để chia tiếp. Hay nói cách khác 172.16.0.0/27 = 172.16.3.00000000/27 (trong đó Net ID là phần in đậm)) - Để chia 4 mạng con ta cần mượn thêm 2 bit. Vậy Lúc đó Octet C còn 3 bit nữa. Suy ra ta có 4 mạng. Mỗi mạng cách nhau 8 (2^3) đơn vị Ta có bảng sau Các mạng con Địa chỉ broadcast Dải địa chỉ host 172.16.3.0/29 172.16.3.7 172.16.3.1 – 172.16.3.6 172.16.3.8/29 172.16.3.15 172.16.3.9- 172.16.3.15 172.16.3.16/29 172.16.3.23 172.16.3.17 – 172.16..3.23 172.16.3.24/29 172.16.3.31 172.16.3.25 – 172.16.3.31 CRC M(x)= 1 0 1 1 0 1 0 1 Cho đa thức sinh của G(x) = x3 + x+1 => r=3
G(x) = 1 0 1 1 (tương ứng với hệ số)
Tức là có 1.X3 + 0. X2 + 1. X + 1 (ko hiểu đoạn này thì bó tay nhá)
Dãy bit gửi đi sẽ là
T(x)=10110101000 (vì r=3 nên ta thêm 3 số 0 vào sau M(x) đó)

Lấy T(x) / G(x) được dư.Số dư đây chính là CRC.OK???
1 0 1 1 0 1 0 1 0 0 0 1 0 1 1
1 0 1 1 1 0 0 0 0 1 0 0
0 0 0 0 0 1 0 1 0
1 0 1 1
0 0 0 1 0 0

Số bị chia có bit 1/0 đứng đầu sẽ cho thương là 1/0
Từng bit của Thương nhân ngược lại với số chia sẽ đc dãy bit màu xanh này này
Xong lấy thằng trên XOR với thằng dưới sẽ ra mấy thằng màu này.
Phép XOR : 2 bit giống nhau cho kết quả = 0
2 bit khác nhau cho kết quả = 1
Giải thik qua phép chia như thế nha.
 CRC = 100
Bây giờ nó gửi đi dãy M(x) kèm CRC.
Thằng nhận sẽ nhận đc M’(x).Nó tính CRC’.Rồi so sánh CRC và CRC’.
Nếu CRC và CRC’ giống nhau tức là M(x) và M’(x) giống nhau=>Gói tin gửi đi ko lỗi.
Nếu CRC và CRC’ khác nhau tức là M(x) và M’(x) khác nhau=>Gói tin gửi đi lỗi lòi mắt.

Cuối cùng là CheckSum này
Cho chuỗi bit 1 0 1 1 0 1 0 0 1
Thằng nào gửi,nó sẽ phải tính checksum bằng cách tách chuỗi bit trên ra thành từng các phần gồm 4 bit (tùy đề bài nha,đây là mình ví dụ 4 bit.Đề mà có chắc cho 16 bit=>vỡ mồm).
Như này này :
1 0 1 1 | 0 1 0 0 | 1
Vì tách 4 bit nên là nó ko đủ cho cái thằng bit 1 cuối cùng á.Nên nó sẽ thêm vào 3 bit 0 cho thằng đấy.
Như này:
1 0 1 1 | 0 1 0 0 | 1 0 0 0
Bây h lại XOR 3 thằng với nhau:
1 0 1 1
0 1 0 0
1 0 0 0
0 1 1 1  1 0 0 0 Checksum đây rồi!(Đảo bit á)
Tiếp.Thằng gửi nó sẽ gửi Checksum kèm gói tin(Viết thế này thôi,ko cần phải viết dãy bit ra làm gì.)
Bên nhận nó tách gói tin và Checksum.Xong nó lại XOR.Lấy kết quả XOR cộng với Check Sum nếu = 1 thì ko lỗi mà = 0 thì lại lỗi lòi mắt. =)))
Như này này:
0 1 1 1
1 0 0 0
1 1 1 1  Thấy nó toàn 1 ko???Vậy toàn 1 là ko lỗi.OK???

BT về router chính là 2 bài luận bao gồm xử lý gói tin (bài 2) và đánh địa chỉ cho mạng LAN (bài 1) trong Đề ôn thi.Nên mình sẽ ko giải thik gì thêm!oK???(Chữ oK cố tình viết vậy nha.Há há!!!).Bài tập về Switch sẽ giống hệt vậy.Chỉ khác là nó sẽ có thêm bảng ánh xạ MAC  IP thôi.
Ngoài ra bài về 2 thằng Bellman-Ford và Dijsktra vì nó phải vẽ hình nên là mình chịu thôi!Ai tự ôn đc thì tốt,ko thì bắt đầu cầu nguyện đi!(Cũng đơn giản thôi mờ!Hờ hờ)

11 nhận xét:

  1. Bạn ơi thế nếu ta có một hệ thống mạng mà đã biết trước số host và số net trong mạng đó rồi, thì mình phải chia IP thế nào? Vd như: 8 subnet, s1: 50host, s2: 60host, s3: 2 host...

    Trả lờiXóa
  2. vì có 8 subnet => 2^3 =8 => mượn 3 bít cho phần NetID đó bạn

    Trả lờiXóa
  3. Mình vẫn chưa biết cách tính sao mà 29 host thì suy ra ít nhất cần 5 bit.Ai có thể giải đáp giúp mình với.Thank các bạn nhé

    Trả lờiXóa
  4. thì 2^5 = 32 nên cứ từ 17-32 thì đều dùng 5 bit cả

    Trả lờiXóa
  5. Cám ơn bạn nhiều nhé.Giờ thì mình đã hiểu ;))

    Trả lờiXóa
  6. 17 ở đâu vậy bạn mình chưa hiểu lắm.bạn giải thích rõ cho mình được ko

    Trả lờiXóa
  7. Thanh Hương vì nếu dùng 4 bit thì sẽ là 2^4 = 16 thui, nên nếu dùng từ 1-16 host thì ta sẽ mượn 4 bít
    còn nếu dùng từ 17-32 host thì ta sẽ mượn 5 bit vì 2^5 =32 nên nó thỏa mãn mà

    Trả lờiXóa
  8. "172.16.3.23/27 Địa chỉ này thuộc lớp B,Vì Subnet Mask là /27 nên Mạng này mượn 3 bit để chia mạng con". tại sao lại mượn chỉ 3 bit để chia mạng con vậy bạn?

    Trả lờiXóa
  9. để cái nền này nhìn chữ hơi khó đọc cậu ak

    Trả lờiXóa
  10. Lúc đó chẳng biết để màu gì, để màu đen thì tối om, tớ ko thích nên cứ chọn đại 1 cái hình nền đấy mà.

    Trả lờiXóa
  11. -giúp mình với
    Cho địa chỉ mạng: 121.111.0.0/16. Trình bày và chia mạng này thành 4 mạng con. Sau đó liệt kê các địa chỉ mạng, Subnetmask, địa chỉ broadcast, vùng phạm vi địa chỉ có thể gán cho máy tính của các mạng con?

    Trả lờiXóa