View Full Version : Chapter 4: IP Addressing and Subnetting
lehuytoan
01-03-2004, 05:51 PM
Hi all,
Tôi xin tóm tắt sơ lược về IP Addressing nhé.
IP gồm 32 bit, chia thành 4 octet. Như vậy mỗi octet gồm 8 bit. Địa chỉ IP được chia ra thành nhiều class, trong đó chúng ta quan tâm chủ yếu tới 3 class có tên là class A, B và C.
Xét hai bit đầu tiên của một địa chỉ IP:
Nếu là 00 thì đó là địa chỉ của class A
Nếu là 10 thì đó là địa chỉ của class B
Nếu là 11 thì đó là địa chỉ của class C
Do đó, nếu biểu diễn octet đầu tiên của IP bằng decimal thì
Với class A range từ 0-126 (127 được sử dụng cho mục đích đặc biệt)
Với class B range từ 128-191
Với class C range từ 192-223
Địa chỉ IP được chia thành 3 phần: một là phần network, hai là phần subnet và ba là phần host.
Làm thế nào để biết phần network gồm bao nhiêu bit???
Nhìn vào địa chỉ IP.
Nếu là địa chỉ class A thì sẽ có 8 bit dành cho phần network
Nếu là địa chỉ class B thì sẽ có 16 bit dành cho phần network
Nếu là địa chỉ class C thì sẽ có 24 bit dành cho phần network
Làm thế nào để biết phần host gồm bao nhiêu bit???
Nhìn vào subnet mask. Subnet mask cũng có 32 bit. Số bit mang giá trị 0 cho ta biết số bit dành cho phần host.
VD: SM 255.255.255.240 thì 240 = 1111 0000. Như vậy có 4 bit dành cho phần host
Làm thế nào để biết phần subnet gồm bao nhiêu bit???
Chắc chắn mọi người đều biết. Quá đơn giản, bằng 32 - số bit cho network - số bit cho host.
Theo kinh nghiệm của tôi, để làm ngon các câu về subnet thì chỉ có học thuộc thôi. Như thế rất nhanh.
VD: SM /29 thì là 255.255.255.248 và magic number tương ứng là 8
Sẽ nói tiếp sau về Subnetting.
Thân chào,
titanevn
01-03-2004, 07:21 PM
Anh Toàn lưu ý: "Nếu là 110 thì đó là địa chỉ của class C"
chipchipzzz
02-03-2004, 11:15 AM
tuanevnit, 110 địa chỉ class C là gì vậy có thể giải thích rõ không?
Thân,
chipchipzzz
02-03-2004, 11:35 AM
à
thì ra là 3 bit đầu số nhị phân để nhận dạng class
:mad:
1'hpSky
02-03-2004, 12:00 PM
anh Toàn nói tiếp về Class D, E đi:
- number range
- Mục đích
- Ví dụ cụ thể
...
lehuytoan
02-03-2004, 01:54 PM
Thông ơi,
Anh thấy class D, E không được nhắc đến nhiều trong ICND. Nên anh không biết gì nhiều lắm. Hihihihi
Thân chào,
lehuytoan
02-03-2004, 06:00 PM
Ai đó biết nhiều về class D, E cho xin một bài đi,
Thân chào
1'hpSky
03-03-2004, 04:58 PM
- Mục đích
Class D: dùng cho Multicast
Class E: Dùng cho nghiên cứu
- Range: first octet
D: 223-248
E: con` lại
- Ví dụ:
Trong OSFP một số địa chỉ multicast 224.0.0.10, 224.0.0.6 cho: all OSPF Router, DR
...
Nguyenduykien
05-03-2004, 10:53 AM
Thêm nữa là địa chỉ Loopback: 172.0.0.1(commonly) dùng để test xem đã cài giao thức TCP/IP cho máy chưa.
Có anh nào có ý kiến ko nhỉ?
... To anh Dũng: theo em thì khi có một địa chỉ IP, yêu cầu là chia làm bao subnet, mỗi subnet có bao nhiêu máy thì ta sẽ --> subnetmask
1.Bình thường Subnetmask default:
A: 255.0.0.0: 1 mạng và gần 2^24 host-------24bit host
B: 255.255.0.0: 1 mạng và 2^16 host----------16bit host
C: 255.255.255.0: 1 mạng và 2^8 host.--------8 bit host
2.Xem cần bao subnet trong mạng (giả sử là x) tìm a nhỏ nhất để: 2^a-2>x
-> x là số bit mà subnet mượn của bit host của lớp đó.
Suy ra số bit host còn lại là hostbit-x: nếu 2^(hostbit-x)-2 mà > số host cần trên mỗi subnet --> thoả mãn.
....phù phù....Lần đầu viết bài như này lộn xộn quá, các anh chỉ dẫn nhé.
Nguyenduykien
05-03-2004, 10:58 AM
Thêm nữa là địa chỉ Loopback: 172.0.0.1(commonly) dùng để test xem đã cài giao thức TCP/IP cho máy chưa.
Có anh nào có ý kiến ko nhỉ?
... To anh Dũng: theo em thì khi có một địa chỉ IP, yêu cầu là chia làm bao subnet, mỗi subnet có bao nhiêu máy thì ta sẽ --> subnetmask
1.Bình thường Subnetmask default:
A: 255.0.0.0: 1 mạng và gần 2^24 host-------24bit host
B: 255.255.0.0: 1 mạng và 2^16 host----------16bit host
C: 255.255.255.0: 1 mạng và 2^8 host.--------8 bit host
2.Xem cần bao subnet trong mạng (giả sử là x) tìm a nhỏ nhất để: 2^a-2>x
-> x là số bit mà subnet mượn của bit host của lớp đó.
Suy ra số bit host còn lại là hostbit-x: nếu 2^(hostbit-x)-2 mà > số host cần trên mỗi subnet --> thoả mãn.
....phù phù....Lần đầu viết bài như này lộn xộn quá, các anh chỉ dẫn nhé.
titanevn
05-03-2004, 11:00 AM
Đính chính:
Địa chỉ 127.0.0.1 đến 127.255.255.254 dùng để sử dụng vào mục đích trên. chứ không phải mỗi địa chỉ 127.0.0.1 đâu.
Có thể dẫn ra thế này, giả sử phòng bạn được cấp địa chỉ: 192.168.8.0/24. Bây giờ phòng bạn phát triển, tách ra làm 3, vậy cần chia mạng thế nào?
- Host bits của mạng cũ là 8. Chia làm 3 mạng nên phải mượn tạm 3 bits của host làm netID. Số subnet được tính=2 mũ x -2 với x=số bít mượn. Như vậy ta có 6 mạng hợp lệ, chỉ dùng có 3, lãi quá còn gì. Còn 5 bits host, nên số host mỗi mạng là: 2^5-2 = 30. Không sử dụng 2 IP cận trên và cận dưới vì 1 sử dụng làm địa chỉ subnet và địa chỉ broadcast.
- Subnet đầu tiên (sử dụng 3 bits mượn): 001 - 0. 0000 = 32 Nên cứ 32 đơn vị ta có 1 subnet mới.
- Các mạng và giải địa chỉ tương ứng như sau:
Subnet mask -------- Địa chỉ IP đầu tiên --- Địa chỉ IP cuối --- Địa chỉ broadcast
255.255.255. 32 ---- 192.168.8. 33 ---- 192.168.8. 62 ---- 192.168.8. 63
255.255.255. 64 ---- 192.168.8. 65 ---- 192.168.8. 94 ---- 192.168.8. 65
255.255.255. 96 ---- 192.168.8. 97 ---- 192.168.8.126 ---- 192.168.8. 127
255.255.255.128 ---- 192.168.8.129 ---- 192.168.8.158 ---- 192.168.8. 159
255.255.255.160 ---- 192.168.8.161 ---- 192.168.8.190 ---- 192.168.8. 191
255.255.255.192 ---- 192.168.8.193 ---- 192.168.8.252 ---- 192.168.8. 253
Nguyenduykien
05-03-2004, 05:21 PM
Các anh cho em hỏi, Những câu hỏi thường gặp trong kỳ thi CCNA của chương này.
Em xin trình bày một số:
1.Tìm subnetmask với số lượng subnet, host yêu cầu cho trước.
2.Tìm Ip của host nằm trong cùng một subnet với host cho trước..
...
Các anh add thêm nhé, để chúng em biết trọng tâm mà tập trung.
BlackMask
09-03-2004, 01:42 PM
Mọi nguoi cho em hỏi cái này cái,một chút đê? review thôi
Em chỉ muuốn hỏi mấy cái câu Q&A không có dáp án ở cuối chuong này ở cuốn ICND. Ở dây chắc bác nào cung có ICND r?i nên khỏi post lại câu h?i làm gì cho mất thời gian:
- các câu đầu tù 1-17 toàn lý thuy?t là chính, bài tập cũng tuong đối dễ
- câu 18 cung không khó nhung cứ post câu trả lời lên, ai thấy sai thì bảo nha : mask 255.255.240.0
- các câu t? 19-22 cùng 1 dạng câu hỏi, không biết trả lời thế nào ( thực ra là không chắc ), các bác cho ý kiến
Câu hỏi:
Cho địa chỉ: 172.16.20.23 255.255.248.0 --> Địa chỉ subnetmask là địa chỉ nào?
(Câu hỏi Test module 1)
Dạng câu hỏi này khá sẵn, các bạn trình bày cách làm luôn nhé
BlackMask
18-03-2004, 12:38 AM
Sao lại địa chỉ subnetmask hả bác mmx ( subnet chứ? )
Đây là địa chỉ lớp B--> default mask là 255.255.0.0
Mask là 255.255.248.0 -> magic number= 256-248=8.
Số gần nhất với 20( nhỏ hơn 20 ) ở octet thứ 3 mà là bội của 8 là 16
Vậy subnet address là 172.16.16.0
Có đúng không ạ?
Ừ nhầm mất. :D Nói chung câu loại này không khó nhưng có nhiều biến thể và hỏi tương đối trong test. Quan trọng là mình phản ứng nhanh để dành thời gian cho các câu khác.
IP: 38.159.16.37
SM: 255.255.255.240
Subnetwork address là bao nhiêu?
Ai có tri thức, bài toán gì về chia mạng lớp A, B thì post lên đi.
kehuydiet
03-06-2004, 03:25 AM
ý của bạn là địa chỉ đường mạng của IP: 38.159.16.37 SM: 255.255.255.240 hả:
nếu vậy thì:
đây là địa chỉ mạng lớp A, SM: 255.255.255.240 ->11111111.11111111.11111111.11110000, như vậy mượn thêm 20bít để chia subnet
khi đó để tính địa chỉ đường mạng thì chỉ cần dùng toán tử AND hai địa chỉ:
IP AND SM là ok
tức là:
38.159.16.37 AND 255.255.255.240 -> 38.159.16.32 (là địa chỉ đường mạng)
nếu có gì sai xót kính mong các cao thủ chỉ giáo thêm!
thanks a lot!
VoThanhDuy
03-06-2004, 12:57 PM
cách làm của kehuydiet là đúng rồi.
ninhhn
03-06-2004, 01:18 PM
Nếu làm thành thạo và quen thì chỉ nhìn và nhẩm là ra
ý của bạn là địa chỉ đường mạng của IP: 38.159.16.37 SM: 255.255.255.240 hả:
nếu vậy thì:
đây là địa chỉ mạng lớp A, SM: 255.255.255.240 ->11111111.11111111.11111111.11110000, như vậy mượn thêm 20bít để chia subnet
khi đó để tính địa chỉ đường mạng thì chỉ cần dùng toán tử AND hai địa chỉ:
IP AND SM là ok
tức là:
38.159.16.37 AND 255.255.255.240 -> 38.159.16.32 (là địa chỉ đường mạng)
nếu có gì sai xót kính mong các cao thủ chỉ giáo thêm!
thanks a lot!
Đúng, nhưng chưa đảm bảo tốc độ. Cứ làm thế này đi:
- Lấy 256 - 240 = 16 -> Mỗi mạng có 16 địa chỉ để mã hóa. Bắt đầu từ:
.16
.32
.48
- Thấy rằng con số 37 thuộc đoạn (32,48) vậy chắc thì địa chỉ mạng của nó là 38.159.16.32 rồi
Hajime
06-06-2004, 05:43 PM
Cách làm của mmx rất nhanh và chính xác.. Cám ơn !
Ngoài ra, mình còn một cách nữa:
Cứ nhìn 240 là tương ứng với mượn 4 bit cho network. Vậy 4 bit còn lại là dành cho phần host. Như vậy ta có mỗi subnet có địa chỉ IP cách nhau 16 ( 2 mũ 4 ). Vậy là từ đó, ta có thể suy ra địa chỉ các subnet 0, 1, 2.. là .0, .16, .32... Cách này phải thuộc các số tương ứng với bao nhiêu bit mươn . Ví dụ: 1 ->128, 2 ->192 , etc.
Các bạn có hiểu không vậy ???
Cám ơn,
hoangminh
07-06-2004, 04:41 PM
Hiểu, nhưng vấn đề cuối cùng là xác định "các số tương ứng với bao nhiêu bit mươn". Mình nghĩ chỉ cần xác định khoảng cách của các Subnet và Số Cuối của nó.
Do đó :
* Khoảng cách các Subnet = 2 mũ(8-số bits mượn)
* Số Cuối = 255 - [2 mũ(8-số bits mượn) - 1]
Example :
Mượn 3 bits :
* Khoảng cách các Subnet = 2 mũ(8-3) = 32
* Số Cuối = 255 - [2 mũ (8-3 + 1) - 1)] = 255 - [(2 mũ 5) - 1] = 255 - 31 = 224
Vậy thì : (0), 32, 64, 96, 128, 160, 192, (224)
* Biến thiên giá trị Host ở Octec có bits mượn = Ứng với mỗi Subnet ta cộng thêm [(2 mũ 5) - 1]. Nghĩa là :
+ Vdụ Subnet1 : 32 --> 61 (=32+31)
:roll:
hoangminh
07-06-2004, 04:54 PM
Rườm rà quá, nhưng mình nghĩ Understand được thì sẽ rất dễ làm.
Bạn nào đọc thấy hiểu thì làm, không hiểu thì đừng đọc (làm theo cách fình thường), mà không đọc thì sao hiểu được. Mà có hiểu thì .. cũng bình thường thôi.
:lol:
Hajime
07-06-2004, 05:05 PM
Ồ đúng rồi, cám ơn hoangminh nhé.
Ý của hajime là " các số tương ứng với bao nhiêu bit mươn" để từ đó suy ra " các bit còn lại" :)
Ví dụ:
172.168.240.0 /20 , thì ta thấy là đã mượn 4 bit rồi ( 240 ), như vậy nếu muốn chia subnet nữa thì ta dùng 12 bit còn lại.
Chẳng hạn ta mượn thêm 2 bit để chia subnet thì ta sẽ có các subnet cách nhau 4 vì 2 mũ 2 bằng 4 ( còn lại 2 bit ) . Khi này :
-- sub0 : 172.168.240.0 /22
-- sub1 : 172.168.240.4 /22
-- sub2 : 172.168.240.8 /22
-- sub3 : 172.168.240.12 /22
Còn các địa chỉ broadcast của từng subnet thì cứ dựa vào các địa chỉ network của từng subnet thì suy ra ngay ( một cách dễ ợt ). nên ta chỉ cần xác định được các network address của từng subnet thôi !
Cám ơn,
PS: Đầu óc của mình dạo này ngại tính toán mấy con số và [] lắm !!! :)
hoangminh
07-06-2004, 05:39 PM
Có người hiểu là mình wui rồi, mình cũng mới học CCNA, vừa tới IP.
Mong là chúng ta sẽ share thêm kinh nghiệm nha.
Mến,
getlove
07-06-2004, 05:59 PM
Xin anh chị giải thích rỏ hơn về cách chia subnet được không a, em còn mơ hồ về cách chia này và không hiểu rỏ lắm
getlove
07-06-2004, 06:06 PM
ANh chị nào có cách làm sao để dể nhớ dãy số nhị phân không, vì học IP mà không biết nhớ và cách chia như thế nào
danguyennhi
07-06-2004, 11:34 PM
chào getlove,
Đây là bảng chuyển đổi từ thập phân sang nhị phân
0 _________ 0
1 _________ 1
2 _________ 10
3 _________ 11
4 __________100
5 __________101
6 __________110
7 __________111
8 __________1000
9 __________1001
getlove cũng cần tìm hiểu thêm về cơ chế chuyển đổi từ nhị phân sang dạng hex.
Để nằm vững cách chia subnet, getlove nên làm bài tập thật nhiều. Bài tập phần này có thể tìm thấy ở sách ICND.
getlove
08-06-2004, 11:01 AM
vậy sách ICND ở đâu vậy, có thể cho minh biết được không, vì ở đà nẵng tìm sách về mạng rất là khó khăn, mong anh chị chỉ giáo giúp
getlove
08-06-2004, 11:08 AM
anh chị có thể giúp chuyển đổi một dãy số nào đó, chuyển đổi từ DEC-HEX_BIN và từ BIN-DEC-HEX, anh chị đưa ví dụ để hiểu và đơn giản
hoangbaby
08-06-2004, 02:56 PM
Ví dụ có thể chuyển đổi từ Dec - Bin nè:
0----00000000
1----00000001
2----00000010
3----00000011
4----00000100
5----00000101
6----00000110
7----00000111
8----00001000
9----00001001
10--00001010
Cứ thế tiếp tục cho những số lớn hơn, các bit( binary) tứ tiếp tục thay đổi như qui luật trên. Chúc vui va cùng tiến.
getlove
09-06-2004, 10:53 AM
Vậy mà còn hỏi ở đâu, biết rồi nói mãi
cám ơn hoangbaby đã chỉ giúp
nown4ever
11-06-2004, 05:50 PM
Chuyển đổi DEC-HEX-BIN tức là chuyển đổi từ số hệ cơ số 10 sang các hệ cơ số 16 và cơ số 2. Cách chuyển căn bản nhất (và cũng mất thời gian nhất) là lấy số cần chuyển (cơ số 10) chia cho cơ số (2 hoặc 16) rồi ghi lại số dư, sau đó tiếp tục lấy thương vừa tìm được chia cho cơ số và lại ghi lại số dư cho đến khi thương bằng 0. Viết các số dư theo thứ tự ngược lại (số nào tìm được sau thì viết trước), đó chính là số cần tìm (ở cơ số mới). Tuy nhiên khi bạn đổi nhiều lần sẽ tìm ra một cách tính nhẩm để thực hiện nhanh hơn. Đối với hệ cơ số 16 (HEX) thì ngoài các số 0..9 người ta sử dụng thêm các ký tự A, B, C, D, E, F (tương ứng với 10, 11, 12, 13, 14, 15). Thông thường khi đổi từ DEC-HEX-BIN ta thường đổi sang BIN trước cho đơn giản sau đó đổi từ BIN sang HEX. Cách đổi từ BIN sang HEX thì cực kỳ đơn giản, bạn chỉ việc nhóm từng nhóm 4 bit trong số bin theo chiều từ phải sang trái, rồi đổi từng nhóm đó sang dạng HEX.
truonglv
21-06-2004, 11:34 PM
Thực ra địa chỉ loopback cũng có một số công dụng khác khi dùng trên router:
1. Nó dùng để set một địa chỉ logical, địa chỉ này không bao giờ bị down, nếu bạn dùng địa chỉ này để telnet chẳng hạn thì cho dù các interface khác có bị down thì cũng vẫn telnet đựơc.
2. Dùng để chọn Router ID trong giao thức Routing OSPF khi địa chỉ loopback đựơc set.
huynhquocphong
17-08-2004, 02:57 PM
Hi!
getlove có thể down sách CCNA ICND trên trang www.net130.com/ccna/ hoặc nếu không được thì cho mình địa chỉ email, mình sẽ gửi cho bạn cho!
Email: phonghq79@yahoo.com
Chúc bạn vui nhé!
Powered by vBulletin® Version 4.1.9 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.