CIDR untuk Dummies

46

Saya mengerti apa itu CIDR, dan untuk apa CIDR digunakan, tetapi saya masih belum tahu bagaimana cara menghitungnya di kepala saya. Adakah yang bisa memberikan penjelasan jenis "untuk boneka" dengan contoh?

Bob
sumber
3
Lihat juga pertanyaan ini untuk pertanyaan subnetting lengkap.
Zoredache

Jawaban:

78

CIDR (Routing Antar-Domain Tanpa Kelas, diucapkan "kidder" atau "cider" - tambahkan varian lokal Anda sendiri ke komentar!) Adalah sistem pendefinisian bagian jaringan dari alamat IP (biasanya orang menganggap ini sebagai subnet mask) . Alasannya "tanpa kelas" adalah karena memungkinkan cara untuk memecah jaringan IP lebih fleksibel daripada kelas dasar mereka.

Ketika jaringan IP pertama kali didefinisikan, IP memiliki kelas berdasarkan awalan biner mereka:

Class    Binary Prefix    Range                       Network Bits
A        0*               0.0.0.0-127.255.255.255     8
B        10*              128.0.0.0-191.255.255.255   16
C        110*             192.0.0.0-223.255.255.255   24
D        1110*            224.0.0.0-239.255.255.255
E        1111*            240.0.0.0-255.255.255.255

(Perhatikan bahwa ini adalah sumber orang yang merujuk ke / 24 sebagai "kelas C", meskipun itu bukan perbandingan yang benar karena kelas C perlu memiliki awalan tertentu)

Awalan biner ini digunakan untuk merutekan potongan besar ruang IP di sekitar. Ini tidak efisien karena mengakibatkan blok besar ditugaskan ke organisasi yang tidak membutuhkannya, dan juga karena Kelas C hanya dapat ditugaskan dalam peningkatan 24 bit, yang berarti bahwa tabel routing bisa menjadi tidak perlu besar karena banyak Kelas C yang diarahkan ke lokasi yang sama.

CIDR didefinisikan untuk memungkinkan subnet mask variabel panjang (VLSM) untuk diterapkan ke jaringan. Seperti namanya, grup alamat, atau jaringan, dapat dipecah menjadi grup yang tidak memiliki hubungan langsung dengan "kelas" alami mereka.

Premis dasar VLSM adalah untuk menyediakan hitungan jumlah bit jaringan dalam suatu jaringan. Karena alamat IPv4 adalah integer 32-bit, VLSM akan selalu berada di antara 0 dan 32 (walaupun saya tidak yakin dalam hal apa Anda mungkin memiliki mask 0-panjang).

Cara termudah untuk mulai menghitung VLSM / CIDR di kepala Anda adalah memahami batas 8-bit "alami":

CIDR    Dotted Quad
/8      255.0.0.0
/16     255.255.0.0
/24     255.255.255.0
/32     255.255.255.255

(Omong-omong, itu sah, dan cukup umum di ACL, untuk menggunakan topeng / 32. Ini berarti bahwa Anda merujuk ke satu IP)

Setelah Anda memahami itu, aritmatika biner sederhana untuk bergerak ke atas atau ke bawah untuk mendapatkan sejumlah host. Misalnya, jika / 24 memiliki 256 IP (mari kita tinggalkan alamat jaringan dan broadcast untuk saat ini, itu adalah pertanyaan teori jaringan yang berbeda), meningkatkan subnet dengan satu bit (ke / 25) akan mengurangi ruang host dengan satu bit (untuk 7), artinya akan ada 128 IP.

Ini adalah tabel oktet terakhir. Tabel ini dapat digeser ke oktet apa saja untuk mendapatkan kuadrat titik bertitik.

CIDR    Dotted Quad
/24     255.255.255.0
/25     255.255.255.128
/26     255.255.255.192
/27     255.255.255.224
/28     255.255.255.240
/29     255.255.255.248
/30     255.255.255.252
/31     255.255.255.254
/32     255.255.255.255

Sebagai contoh untuk memindahkan ini ke oktet lain, / 18 (yaitu / 26 minus 8 bit, sehingga menggeser oktet) adalah 255.255.192.0.

jj33
sumber
2
Aneh, saya biasanya mendengarnya diucapkan "sari"
sclarson
Saya yakin ini regional / organisasi. Saya tidak yakin apakah saya mendengar seseorang memanggil CIDR "kidder", tapi saya tahu ketika saya mengambil pemrograman LISP bertahun-tahun yang lalu fungsi CDR disebut "kidder" oleh prof saya, mungkin saya mengambilnya dari sana ...
jj33
Sama seperti poin data tambahan: Saya hanya mendengar "sari" dan saya diajari bahwa CDR "gemetar". Untuk masing-masing, kurasa. :-)
Luke
Terima kasih SaveTheRbtz, saya mengubah kisaran akhir kelas B menjadi 191.255.255.255 dan Kelas C mulai menjadi 192.255.255.255. Aneh, saya mendapatkan awalan biner dengan benar dan saya ingat melakukan matematika. Terima kasih banyak telah melihatnya!
jj33
2
Saya akan memberikan 10 ini jika saya bisa. Ini adalah penjelasan yang bagus tentang CIDR / VLSM.
JamesBarnett
8

Setiap oktet bernilai 8.

  • 255.0.0.0 / 8
  • 255.255.0.0 / 16
  • 255.255.255.0 / 24
  • 255.255.255.255 / 32

Jadi Anda dapat dengan cepat mempersempit subnet Anda dan kemudian Anda hanya khawatir tentang 8 bit terakhir.

128, 192, 224, 240, 248, 252, 254, 255

+1  , +2 , +3 , +4 , +5 , +6 , +7 , +8
  • 255.128.0.0 = / 9
  • 255.192.0.0 = / 10
  • 255.224.0.0 = / 11
  • 255.240.0.0 = / 12
  • 255.248.0.0 = / 13
  • 255.252.0.0 = / 14
  • 255.254.0.0 = / 15

Harapan itu sudah cukup jelas

sclarson
sumber
6

Sehari terlambat, semoga saja tidak satu dolar pendek. CIDR adalah jumlah bit satu yang berdekatan pada mask IPv4 (32 bit) mulai dari bit yang paling signifikan.

10000000 00000000 00000000 00000000 di mana 1 = bit paling signifikan

Topeng umum adalah / 8, / 16, / 24 yang semuanya jatuh pada batas 8 bit (oktet).

11111111 00000000 00000000 00000000 = / 8 = 255.0.0.0

11111111 11111111 00000000 00000000 = / 16 = 255.255.0.0

11111111 11111111 11111111 00000000 = / 24 = 255.255.255.0

Ini tidak terlalu sulit ketika tidak selaras oktet, tetapi memang membutuhkan beberapa matematika sederhana dan pemahaman tentang apa oktet itu.

11111111 11111111 11100000 00000000 = / 19

Dua oktet pertama dari topeng adalah 255,255 (/ 16 lebih kecil dari / 19). Oktet terakhir adalah 0 (/ 19 kurang dari / 24). Sejauh ini kita tahu

11111111 11111111 11100000 00000000 = / 19 = 255.255.?.0

Ketika melihat setiap oktet ingat itu adalah nilai 8 bit, 0 - 255.

0 0 0 0 0 0 0 0 
1
2 6 3 1
8 4 2 6 8 4 2 1

Jadi oktet ketiga (?) 11100000 adalah 128 + 64 + 32 = 224. Itu artinya

11111111 11111111 11100000 00000000 = / 19 = 255.255.224.0

dbasnett
sumber
4

Sangat rawan kesalahan untuk menghitung jaringan non sepele dengan tangan. Alih-alih, cobalah CIDR Calculator .

hayalci
sumber
2
Siapa yang memilih ini ?! Saya sepenuhnya setuju, sangat mudah untuk salah menghitung rentang CIDR di kepala Anda, terutama saat mengonversi, misalnya / 23 ke 255.255.254.0 formulir. Saya menggunakan paket 'ipcalc' di Debian untuk membantu saya.
Mike Pountney
2
Saya pikir ipcalcdan sipcalcmerupakan pilihan yang lebih baik, tetapi tetap +1
SaveTheRbtz
2

Sebaliknya, saya pikir baik untuk sepenuhnya memahami CIDR dan dapat melakukan perhitungan di otak Anda ... tetapi kadang-kadang Anda ingin memeriksa ulang perhitungan Anda. Saya suka menggunakan PHP Subnet Calculator : http://share-foo.com/SubnetCalc.php

teks alternatif

l0c0b0x
sumber
1

Dokumen lain yang bagus untuk dimiliki, jika Anda hanya menginginkan referensi desk, adalah RFC 1878 - Variable Length Subnet Table For IPv4 .

Gavin McTaggart
sumber