Selasa, 13 Januari 2015

Packet Header

Header

IPv4 header paket terdiri dari 14 bidang, yang 13 diperlukan. Bidang-14 adalah opsional (latar belakang merah dalam tabel) dan aptly bernama: pilihan. Bidang dalam header yang dikemas dengan byte paling signifikan pertama ( big endian ), dan untuk diagram dan diskusi, bit paling signifikan dianggap datang pertama ( MSB 0 bit penomoran ). Bit yang paling signifikan adalah nomor 0, sehingga bidang versi sebenarnya ditemukan dalam empat bit paling signifikan dari byte pertama, misalnya.
IPv4 Format Header
Offset Oktet 0 1 2 3
Oktet Sedikit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Versi IHL DSCP ECN Total Panjang
4 32 Identifikasi Flags Fragment Offset
8 64 Time To Live Protokol Header Checksum
12 96 Sumber IP Address
16 128 Tujuan IP Address
20 160 Pilihan (jika IHL> 5)
Versi
Kolom header pertama dalam IP paket adalah bidang versi empat-bit. Untuk IPv4, ini memiliki nilai 4 (maka nama IPv4).
Header Internet Panjang (IHL)
Bagian kedua (4 bit) adalah panjang header Internet (IHL), yang merupakan jumlah 32-bit kata-kata di header. Karena header IPv4 mungkin berisi sejumlah variabel pilihan, bidang ini menentukan ukuran header (ini juga bertepatan dengan offset untuk data). Nilai minimum untuk bidang ini adalah 5 ( RFC 791 ), yang merupakan panjang dari 5 × 32 = 160 bit = 20 byte. Menjadi nilai 4-bit, panjang maksimum adalah 15 kata (15 × 32 bit) atau 480 bit = 60 byte.
Layanan Differentiated Kode Titik (DSCP)
Awalnya didefinisikan sebagai Jenis layanan (ToS) lapangan. Bidang ini sekarang didefinisikan oleh RFC 2474 untuk layanan Differentiated (DiffServ). Teknologi baru yang muncul yang membutuhkan data real-time streaming dan karena itu membuat penggunaan bidang DSCP. Contohnya adalah Voice over IP (VoIP), yang digunakan untuk pertukaran data suara interaktif.
Kemacetan eksplisit Pemberitahuan (ECN)
Bidang ini didefinisikan dalam RFC 3168 dan memungkinkan end-to-end pemberitahuan kemacetan jaringan tanpa menjatuhkan paket. ECN merupakan fitur opsional yang hanya digunakan ketika kedua endpoint mendukung dan bersedia untuk menggunakannya. Hal ini hanya efektif bila didukung oleh jaringan yang mendasarinya.
Total Panjang
Field 16-bit ini mendefinisikan seluruh paket (fragmen) ukuran, termasuk header dan data, dalam byte. Paket minimum panjangnya 20 bytes (20-byte header + 0 byte data) dan maksimal adalah 65.535 byte - nilai maksimum dari sebuah kata 16-bit. Semua host dituntut untuk dapat berkumpul kembali datagram ukuran hingga 576 byte, tetapi kebanyakan host modern menangani paket yang jauh lebih besar. Kadang-kadang subnetwork memberlakukan pembatasan lebih lanjut tentang ukuran paket, di mana datagrams kasus harus terfragmentasi. Fragmentasi ditangani baik dalam host atau router di IPv4.
Identifikasi
Bidang ini adalah bidang identifikasi dan terutama digunakan untuk secara unik mengidentifikasi kelompok fragmen dari IP datagram tunggal. Beberapa karya eksperimental telah menyarankan menggunakan field ID untuk keperluan lain, misalnya untuk menambahkan informasi paket-tracing untuk membantu jejak datagram dengan alamat sumber palsu, [13] tetapi RFC 6864 sekarang melarang penggunaan tersebut.
Flags
Bidang tiga-bit berikut dan digunakan untuk mengontrol atau mengidentifikasi fragmen. Mereka adalah (dalam urutan, dari urutan tinggi untuk memesan rendah):
  • bit 0: Reserved; harus nol. [catatan 1]
  • bit 1: Jangan Fragment (DF)
  • bit 2: Lebih Fragmen (MF)
Jika bendera DF diatur, dan fragmentasi diperlukan untuk rute paket, maka paket akan dibuang. Ini dapat digunakan saat mengirim paket ke host yang tidak memiliki sumber daya yang cukup untuk menangani fragmentasi. Hal ini juga dapat digunakan untuk Path MTU Discovery , baik secara otomatis oleh host perangkat lunak IP, atau secara manual dengan menggunakan alat diagnostik seperti ping atau traceroute . Untuk paket terfragmentasikan, bendera MF dihapus. Untuk paket yang terfragmentasi, semua fragmen kecuali yang terakhir memiliki flag MF. Fragmen terakhir memiliki Fragmen non-nol Offset lapangan, membedakan dari sebuah paket terfragmentasikan.
Fragment Offset
Fragmen mengimbangi lapangan, yang diukur dalam satuan blok delapan byte (64 bit), adalah 13 bit panjang dan menentukan offset dari fragmen tertentu relatif terhadap awal asli IP datagram tidak terfragmentasi. Fragmen pertama offset nol. Hal ini memungkinkan maksimum offset (13-01 Februari) × 8 = 65528 byte, yang akan melebihi IP panjang paket maksimum 65.535 byte dengan panjang header disertakan (65.528 + 20 = 65548 bytes).
Time To Live (TTL)
Delapan bit waktu untuk hidup lapangan membantu mencegah datagram dari bertahan (misalnya berputar-putar) pada internet. Bidang ini membatasi seumur hidup datagram. Hal ini ditentukan dalam hitungan detik, tetapi interval waktu kurang dari 1 detik yang dibulatkan ke 1. Dalam prakteknya, lapangan telah menjadi hop -ketika datagram tiba di router , router decrements bidang TTL per satu. Ketika bidang TTL mencapai angka nol, router akan membuang paket tersebut dan biasanya mengirimkan Melebihi ICMP Waktu pesan ke pengirim.
Program traceroute menggunakan ICMP Waktu Melebihi pesan-pesan ini untuk mencetak router yang digunakan oleh paket untuk pergi dari sumber ke tujuan.
Protokol
Field ini mendefinisikan protokol yang digunakan dalam bagian data dari datagram IP. The Internet Assigned Numbers Authority menyimpan daftar nomor protokol IP yang awalnya didefinisikan dalam RFC 790 .
Header Checksum
Artikel utama: IPv4 Header checksum
16-bit checksum field digunakan untuk pengecekan error header. Ketika sebuah paket tiba di router, router menghitung checksum dari header dan membandingkannya dengan bidang checksum. Jika nilai tidak cocok, router membuang paket. Kesalahan di bidang data harus ditangani oleh protokol enkapsulasi. Kedua UDP dan TCP memiliki ladang checksum. Ketika sebuah paket tiba di router, router berkurang bidang TTL. Akibatnya, router harus menghitung checksum baru. RFC 1071 mendefinisikan perhitungan checksum:
Bidang checksum adalah 16-bit melengkapi seseorang dari jumlah melengkapi salah satu dari semua kata-kata 16-bit pada header. Untuk keperluan komputasi checksum, nilai field checksum adalah nol.
Sebagai contoh, perhatikan Hex 4500003044224000800600008c7c19acae241e2b (20 byte header IP), menggunakan mesin yang menggunakan standar melengkapi dua itu aritmatika:
Langkah 1) 4500 + 0030 + 4422 + 4000 + 8006 + 0000 + 8c7c + 19ac + ae24 + 1e2b = 0002BBCF (32-bit sum)
Langkah 2) 0002 + BBCF = BBD1 = 1011101111010001 (1 komplemen 16-bit sum, yang dibentuk oleh "berakhir sekitar carry" dari 32-bit 2 komplemen sum)
Langkah 3) ~ BBD1 = 0100010000101110 = 442E (1 komplemen dari 1 komplemen 16-bit sum)
Untuk memvalidasi checksum header algoritma yang sama dapat digunakan - checksum dari header yang berisi field checksum yang benar adalah sebuah kata yang berisi semua nol (0 value):
2BBCF + 442E = 2FFFD. 2 + FFFD = FFFF. 1 komplemen dari FFFF = 0.
Alamat sumber
Bidang ini adalah alamat IPv4 dari pengirim paket. Perhatikan bahwa alamat ini dapat diubah dalam transit oleh jaringan terjemahan alamat perangkat.
Alamat tujuan
Bidang ini adalah alamat IPv4 dari penerima paket. Seperti dengan alamat sumber, hal ini dapat diubah dalam transit oleh jaringan terjemahan alamat perangkat.
Pilihan
Opsi lapangan tidak sering digunakan. Perhatikan bahwa nilai di bidang IHL harus menyertakan cukup ekstra 32-bit untuk menahan semua pilihan (ditambah bantalan diperlukan untuk memastikan bahwa header berisi jumlah integer 32-bit). Daftar pilihan dapat diakhiri dengan EOL ( End of Daftar Pilihan , 0x00) pilihan; ini hanya diperlukan jika akhir pilihan tidak akan dinyatakan bertepatan dengan akhir header. Kemungkinan pilihan yang bisa dimasukkan ke dalam header adalah sebagai berikut:
Bidang Ukuran (bit) Deskripsi
Disalin 1 Set ke 1 jika pilihan perlu disalin ke semua fragmen dari sebuah paket terfragmentasi.
Pilihan Kelas 2 Sebuah pilihan umum kategori. 0 adalah untuk "kontrol" pilihan, dan 2 adalah untuk "debugging dan pengukuran". 1, dan 3 undang-undang.
Jumlah opsi 5 Menentukan pilihan.
Opsi Panjang 8 Menunjukkan ukuran seluruh opsi (termasuk bidang ini). Bidang ini mungkin tidak ada untuk opsi sederhana.
Opsi data Variabel Data Option-spesifik. Bidang ini mungkin tidak ada untuk opsi sederhana.
  • Catatan: Jika panjang header lebih besar dari 5, yaitu adalah 6-15, itu berarti bahwa bidang pilihan hadir dan harus dipertimbangkan.
  • Catatan: Disalin, Option Class, dan Nomor Opsi kadang-kadang disebut sebagai single bidang delapan-bit - Type Option.
Dua pilihan berikut tidak dianjurkan karena mereka menciptakan masalah keamanan: Sumber longgar dan Rekam Route (LSRR) dan Sumber ketat dan Rekam Route (SSRR). Banyak router memblokir paket yang berisi opsi-opsi ini. [14]

Data

Bagian data paket tidak termasuk dalam paket checksum. Isinya ditafsirkan berdasarkan nilai dari kolom header Protokol.
Beberapa protokol yang umum untuk bagian data adalah sebagai berikut:
Jumlah protokol Protokol Nama Singkatan
1 Internet Control Message Protocol ICMP
2 Internet Group Management Protocol IGMP
6 Transmission Control Protocol TCP
17 User Datagram Protocol UDP
41 IPv6 enkapsulasi Encap
89 OSPF OSPF
132 Protokol Streaming Transmission Control SCTP
Lihat Daftar nomor protokol IP untuk daftar lengkap.

Fragmentasi dan reassembly

Artikel utama: IP fragmentasi
Internet Protocol memungkinkan jaringan untuk berkomunikasi satu sama lain. Desain mengakomodasi jaringan alam fisik yang beragam; itu adalah independen dari teknologi transmisi yang mendasari digunakan dalam Link Layer. Jaringan dengan hardware yang berbeda biasanya bervariasi tidak hanya dalam kecepatan transmisi, tetapi juga di unit transmisi maksimum (MTU). Ketika salah satu jaringan yang ingin mengirimkan datagram ke jaringan dengan MTU yang lebih kecil, mungkin fragmen datagram nya. Dalam IPv4, fungsi ini ditempatkan pada lapisan internet , dan dilakukan di router IPv4, yang dengan demikian hanya membutuhkan lapisan ini sebagai yang tertinggi diterapkan dalam desain mereka.
Sebaliknya, IPv6 , generasi berikutnya dari Internet Protocol, tidak memungkinkan router untuk melakukan fragmentasi; host harus menentukan jalur MTU sebelum mengirim datagram.

Fragmentasi

Ketika router menerima paket, mengkaji alamat tujuan dan menentukan antarmuka keluar untuk digunakan dan antarmuka yang MTU. Jika ukuran paket lebih besar dari MTU, dan Jangan Fragment (DF) bit dalam header paket set ke 0; router dapat memecah paket.
Router membagi paket ke segmen. Ukuran maksimal masing-masing segmen adalah MTU dikurangi ukuran header IP (20 bytes minimum; 60 byte maksimum). Router menempatkan setiap segmen dalam paket sendiri, masing-masing paket fragmen yang memiliki perubahan berikut:
  • Total panjang lapangan adalah ukuran segmen.
  • Semakin banyak fragmen (MF) flag ditetapkan untuk semua segmen kecuali yang terakhir, yang diatur ke 0.
  • Fragmen lapangan diimbangi diatur, berdasarkan offset dari segmen dalam data payload asli. Hal ini diukur dalam satuan blok delapan byte.
  • Kolom header checksum adalah menghitung ulang.
Sebagai contoh, untuk MTU 1.500 byte dan ukuran header 20 byte, fragmen offset akan kelipatan (1500-1520) / 8 = 185. kelipatan ini 0, 185, 370, 555, 740, ...
Hal ini dimungkinkan untuk paket yang terfragmentasi pada satu router, dan fragmen yang akan terfragmentasi pada router lain. Sebagai contoh, perhatikan segmen lapisan transport dengan ukuran 4.500 bytes, tidak ada pilihan, dan IP ukuran header 20 byte. Jadi ukuran paket IP adalah 4.520 byte. Asumsikan bahwa paket dikirimkan melalui link dengan MTU 2.500 byte. Maka akan menjadi dua fragmen:
Fragmen Jumlah byte Header byte Data byte "Fragmen Lebih" flag Fragmen offset (blok 8-byte)
1 2500 20 2480 1 0
2 2040 20 2020 0 310
Perhatikan bahwa fragmen melestarikan ukuran data: 2480 + 2020 = 4500.
Perhatikan bagaimana kita mendapatkan offset dari ukuran data yang:
  • 0.
  • 0 + 2480/8 = 310.
Asumsikan bahwa fragmen ini mencapai link dengan MTU 1.500 byte. Setiap fragmen akan menjadi dua fragmen:
Fragmen Jumlah byte Header byte Data byte "Fragmen Lebih" flag Fragmen offset (blok 8-byte)
1 1.500 20 1480 1 0
2 1020 20 1000 1 185
3 1.500 20 1480 1 310
4 560 20 540 0 495
Perhatikan bahwa fragmen melestarikan ukuran data: 1480 + 1000 = 2480, dan 1480 + 540 = 2020.
Perhatikan bagaimana kita mendapatkan offset dari ukuran data yang:
  • 0.
  • 0 + 1480/8 = 185
  • 185 + 1000/8 = 310
  • 310 + 1480/8 = 495
Kita bisa menggunakan yang terakhir offset dan terakhir ukuran data untuk menghitung total ukuran data: 495 * 8 + 540 = 3960 + 540 = 4500.

Reassembly

Sebuah penerima tahu bahwa paket adalah fragmen jika setidaknya salah satu dari kondisi berikut ini benar:
  • "Lebih fragmen" flag diatur. (Hal ini berlaku untuk semua fragmen kecuali yang terakhir.)
  • The "fragmen offset" lapangan adalah nol. (Hal ini berlaku untuk semua fragmen kecuali yang pertama.)
Penerima mengidentifikasi pencocokan fragmen menggunakan bidang identifikasi. Penerima akan memasang kembali data dari fragmen dengan bidang identifikasi yang sama menggunakan kedua fragmen offset dan fragmen yang lebih bendera. Ketika penerima menerima fragmen terakhir (yang memiliki "lebih fragmen" flag set ke 0), dapat menghitung panjang data payload asli, dengan mengalikan fragmen lalu diimbangi dengan delapan, dan menambahkan ukuran data fragmen lalu. Dalam contoh di atas, perhitungan ini adalah 495 * 8 + 540 = 4500 byte.
Ketika penerima memiliki semua fragmen, dapat menempatkan mereka dalam urutan yang benar, dengan menggunakan offset mereka. Hal ini kemudian dapat melewatkan data mereka menaiki tumpukan untuk diproses lebih lanjut.

Protokol bantu

Internet Protocol adalah protokol yang mendefinisikan dan memungkinkan internetworking di Layer Internet dan dengan demikian membentuk Internet. Ini menggunakan sistem pengalamatan logis. Alamat IP yang tidak terikat dengan cara permanen untuk identifikasi perangkat keras dan, memang, antarmuka jaringan dapat memiliki beberapa alamat IP. Host dan router memerlukan mekanisme tambahan untuk mengidentifikasi hubungan antara antarmuka perangkat dan alamat IP, untuk benar memberikan sebuah paket IP ke host tujuan pada link. The Address Resolution Protocol (ARP) melakukan ini terjemahan IP-address-to-hardware-alamat IPv4. (Alamat hardware juga disebut alamat MAC .) Selain itu, korelasi terbalik sering diperlukan. Sebagai contoh, ketika host IP boot atau terhubung ke jaringan yang dibutuhkan untuk menentukan alamat IP-nya, kecuali alamat telah dikonfigurasikan oleh administrator. Protokol untuk korelasi terbalik seperti itu ada di Internet Protocol Suite . Metode saat ini digunakan adalah Dynamic Host Configuration Protocol (DHCP), Bootstrap Protocol (BOOTP) dan, jarang, sebaliknya ARP .

0 komentar:

Posting Komentar