全部产品
Search
文档中心

Elastic Compute Service:PMTUD

更新时间:Jul 02, 2025

Path MTU Discovery (PMTUD) adalah fitur yang disediakan oleh tumpukan TCP/IP untuk menemukan secara dinamis unit transmisi maksimum jalur (PMTU) antara dua host. PMTU dari jalur jaringan adalah MTU terkecil di sepanjang jalur tersebut dan ukuran paket terbesar yang tidak memerlukan fragmentasi di mana saja pada jalur tersebut. Jika router menerima paket yang lebih besar dari MTU salah satu link di sepanjang jalur jaringan, router akan membuang paket tersebut dan mengirimkan pesan kesalahan Protokol Pesan Kontrol Internet (ICMP) yang menginstruksikan host pengirim untuk mengurangi ukuran paket. Hal ini membantu menghindari fragmentasi paket selama transmisi. PMTUD membantu meningkatkan kinerja jaringan secara signifikan dan menghindari pembuangan paket yang terjadi ketika paket terlalu besar.

Dampak PMTUD terhadap kinerja jaringan

PMTUD menemukan secara dinamis PMTU pada jalur jaringan berdasarkan interaksi antara host pengirim dan perangkat jaringan serta membatasi ukuran paket yang ditransmisikan di sepanjang jalur hingga PMTU. Proses ini meningkatkan efisiensi dan keandalan jaringan serta mengurangi masalah potensial yang disebabkan oleh fragmentasi paket. PMTUD memberikan manfaat sebagai berikut:

  • Menghindari Fragmentasi IP: PMTUD memastikan bahwa ukuran setiap paket yang ditransmisikan di sepanjang jalur jaringan tidak melebihi MTU dari hop apa pun di jalur tersebut. Ini menghindari fragmentasi IP, yang menambah beban pemrosesan tambahan pada perangkat jaringan dan dapat menyebabkan hilangnya paket serta meningkatkan latensi. Untuk informasi tentang cara menghindari fragmentasi IP pada koneksi TCP, lihat bagian Hindari Fragmentasi IP pada Koneksi TCP dari topik ini.

  • Meningkatkan Efisiensi Jaringan: PMTUD membantu menentukan ukuran paket optimal untuk mengurangi kemacetan jaringan dan meningkatkan efisiensi transmisi data. Ukuran paket yang lebih besar dapat mengurangi overhead header dan meningkatkan throughput, asalkan ukuran paket tidak melebihi ukuran paket maksimum yang didukung oleh semua perangkat di jalur jaringan.

  • Mengurangi Kehilangan Paket dan Latensi: Fragmentasi IP melibatkan pemecahan paket menjadi sejumlah fragmen yang dapat dirakit kembali nanti. Jika satu fragmen hilang, semua fragmen harus dikirim ulang. PMTUD membantu menghindari fragmentasi IP untuk mengurangi kehilangan paket dan latensi.

  • Penyesuaian Otomatis Ukuran Paket: PMTUD memungkinkan host pengirim untuk menyesuaikan ukuran paket secara dinamis berdasarkan PMTU antara host pengirim dan host penerima tanpa perlu mempelajari konfigurasi jaringan sebelumnya.

  • Meningkatkan Ketahanan Jaringan: PMTUD memungkinkan jaringan beradaptasi dengan berbagai jenis tautan dan konfigurasi, yang meningkatkan ketahanan dan fleksibilitas jaringan.

Komponen dan sistem yang mendukung PMTUD

  • Sistem Operasi: Banyak sistem operasi modern, termasuk namun tidak terbatas pada Linux dan Windows, mendukung PMTUD.

    Penting

    Instance Elastic Compute Service (ECS) Alibaba Cloud dari keluarga instance generasi ke-6 atau lebih lama, yang tidak mendukung fitur Jumbo Frames, tidak mendukung PMTUD. Pastikan ukuran paket yang melewati instance ECS tidak melebihi 1.500 byte.

  • Perangkat Jaringan: Perangkat jaringan canggih tertentu, seperti router dan switch, mungkin memiliki fitur PMTUD bawaan dan melakukan PMTUD saat paket melewati. Tidak semua perangkat jaringan mendukung PMTUD. Saat perangkat jaringan yang tidak mendukung PMTUD menerima paket IP dari host, perangkat jaringan mengembalikan pesan ICMP yang mungkin tidak mencakup MTU perangkat jaringan ke host jika paket lebih besar dari MTU perangkat jaringan dan flag Don't Fragment (DF) dalam paket diatur ke 1.

  • Middleware atau Library: Dalam lingkungan pemrograman tertentu, library atau middleware khusus dapat disediakan untuk melakukan PMTUD.

  • Aplikasi: Aplikasi jaringan tertentu mungkin mengimplementasikan logika PMTUD mereka sendiri untuk menyesuaikan ukuran paket secara dinamis saat aplikasi mengirimkan paket.

  • Protokol Jaringan: PMTUD cocok untuk protokol lapisan transport IPv4 dan IPv6, termasuk namun tidak terbatas pada TCP, UDP, dan ICMP.

  • Penyedia Layanan Cloud: Komponen pengalihan jaringan Alibaba Cloud melakukan PMTUD sesuai dengan standar RFC untuk memastikan konektivitas jaringan. Untuk informasi lebih lanjut, lihat bagian Cara Kerja PMTUD dari topik ini.

Cara kerja PMTUD

Flag DF dalam paket IP memainkan peran penting dalam PMTUD. Flag DF dapat diatur ke 1 untuk menunjukkan bahwa paket IP tidak boleh difragmentasi. PMTUD bergantung pada pesan ICMP untuk menemukan secara dinamis PMTU untuk jalur jaringan antara dua host dan membatasi ukuran paket di jalur jaringan hingga PMTU. Ini menghindari fragmentasi paket selama transmisi. PMTUD melibatkan langkah-langkah berikut:

  1. Flag DF Dikonfigurasi pada Host Pengirim. Saat host mengirimkan paket IP, host mengatur flag DF di header IP paket ke 1, yang menentukan bahwa paket tidak diizinkan untuk difragmentasi di jalur jaringan.

  2. Batas MTU Tercapai. Saat paket di mana flag DF diatur ke 1 tiba di perangkat jaringan, perangkat jaringan membuang paket jika ukuran paket melebihi MTU perangkat jaringan atau tautan.

    • Dalam IPv4, perangkat jaringan dapat menentukan apakah akan melakukan PMTUD berdasarkan flag DF. Jika paket di mana flag DF diatur ke 0 tiba di perangkat jaringan yang mendukung fragmentasi dan ukuran paket melebihi MTU perangkat jaringan, perangkat jaringan mungkin memfragmentasi paket alih-alih membuang paket.

      Catatan

      Komponen pengalihan tertentu di Alibaba Cloud tidak mendukung fragmentasi, seperti gateway tepi dalam skenario komunikasi lintas domain atau lintas wilayah. Komponen pengalihan membuang paket yang terlalu besar, alih-alih memfragmentasinya, dan kemudian mengirimkan pesan kesalahan ICMP bahkan jika flag DF dalam paket diatur ke 0.

    • Dalam IPv6, PMTUD bersifat wajib dan semua host serta router harus mendukung PMTUD. Flag DF dalam paket IPv6 dikonfigurasi secara implisit. Semua paket IPv6 dianggap memiliki flag DF diatur ke 1.

  3. Pesan Kesalahan ICMP Dikirim. Jika perangkat jaringan yang membuang paket mendukung PMTUD, perangkat jaringan mengirimkan pesan kesalahan ICMP untuk memberi tahu host pengirim tentang masalah MTU. Pesan kesalahan ICMP mencakup MTU perangkat jaringan, yang merupakan PMTU antara host pengirim dan perangkat jaringan.

    • Dalam IPv4, perangkat jaringan mengirimkan pesan kesalahan ICMP berikut ke host pengirim: Tujuan Tidak Terjangkau: Fragmentasi Diperlukan dan Don't Fragment Diatur (Tipe 3, Kode 4).

    • Dalam IPv6, perangkat jaringan mengirimkan pesan kesalahan ICMP berikut ke host pengirim: ICMPv6 Paket Terlalu Besar (PTB) (Tipe 2, Kode 0).

  4. PMTUD Dilakukan dan Pesan Kesalahan ICMP Diproses. Setelah host pengirim menerima pesan kesalahan ICMP, host mengurai dan menyimpan PMTU dari pesan tersebut. Kemudian, operasi berikut dilakukan berdasarkan PMTU:

    • Secara Default, kernel sistem operasi host pengirim memfragmentasi paket berdasarkan PMTU dan mengirim ulang fragmen paket.

    • Aplikasi Menyesuaikan Ukuran Paket dan Memproses Pesan Kesalahan ICMP. Saat aplikasi yang mendukung PMTUD menerima pesan kesalahan ICMP, aplikasi menyesuaikan ukuran paket berdasarkan MTU yang termasuk dalam pesan kesalahan ICMP dan kemudian mengirim ulang paket yang telah disesuaikan. Pendekatan ini mencapai kinerja jaringan yang lebih baik dengan menghindari fragmentasi, tetapi memerlukan modifikasi aplikasi dalam banyak kasus.

      Catatan

      Untuk koneksi TCP, hasil PMTUD dapat memengaruhi ukuran segmen maksimum (MSS) di lapisan TCP. Lapisan TCP menyesuaikan MSS berdasarkan PMTU yang ditemukan oleh PMTUD dan menggunakan MSS baru untuk mengirimkan paket berikutnya, yang menghindari fragmentasi segmen TCP. Untuk informasi lebih lanjut, lihat bagian Menyesuaikan MSS Secara Dinamis ke PMTU Selama Transmisi Data dari topik ini.

  5. PMTU Disimpan dalam Cache. Host pengirim membuat entri cache rute di tabel rute sistem operasinya, yang mencakup PMTU untuk alamat IP tujuan tempat paket ditujukan. Host pengirim membatasi ukuran setiap paket berikutnya yang ditujukan ke alamat IP yang sama hingga PMTU untuk memastikan bahwa paket tidak difragmentasi di jalur jaringan.

  6. PMTU Diperbarui Secara Berkala. PMTU untuk jalur jaringan tidak permanen. Saat jalur jaringan berubah atau cache rute dalam sistem operasi host pengirim menua, host melakukan PMTUD kembali dan memperbarui PMTU untuk jalur jaringan.

Menggunakan PMTUD

Mengaktifkan PMTUD

Pastikan semua perangkat dalam jaringan mendukung PMTUD dan PMTUD diaktifkan untuk perangkat tersebut. Misalnya, Anda dapat mengaktifkan PMTUD untuk perangkat Linux dengan menulis nol ke file /proc/sys/net/ipv4/ip_no_pmtu_disc.

Catatan
  • Versi kernel lama atau jenis sistem operasi tertentu mungkin tidak mendukung PMTUD. Jika perangkat di jalur jaringan menjalankan versi kernel atau sistem operasi yang tidak mendukung PMTUD, perangkat tidak dapat memproses pesan ICMP dengan benar selama proses PMTUD. Akibatnya, PMTUD gagal menemukan PMTU secara dinamis untuk jalur jaringan.

  • Instance Elastic Compute Service (ECS) Alibaba Cloud dari keluarga instance generasi ke-6 atau lebih lama, yang tidak mendukung fitur Jumbo Frames, tidak mendukung PMTUD. Pastikan ukuran paket yang melewati instance ECS tidak melebihi 1.500 byte.

  • Jika perangkat jaringan di jalur jaringan tidak mendukung PMTUD, Anda mungkin perlu menentukan PMTU untuk jalur jaringan secara manual. Misalnya, Anda dapat menjalankan perintah ping untuk menemukan PMTU. Setelah Anda menemukan PMTU untuk jalur jaringan, Anda dapat menyesuaikan ukuran paket di host pengirim berdasarkan PMTU atau mengubah MTU perangkat jaringan. Misalnya, Anda dapat mengubah MTU antarmuka jaringan (NIC).

Pastikan host penerima dapat menerima pesan kesalahan ICMP

  • Periksa dan Konfigurasikan Firewall dan Perangkat Keamanan Lainnya untuk mengizinkan pesan ICMP yang diperlukan lewat. Dalam lingkungan jaringan tertentu, firewall atau perangkat keamanan lainnya mungkin menyaring pesan ICMP, terutama pesan ICMP berikut: Tujuan Tidak Terjangkau: Fragmentasi Diperlukan dan Don't Fragment Diatur (Tipe 3, Kode 4). Akibatnya, proses PMTUD mungkin terblokir.

  • Konfigurasikan Grup Keamanan untuk Mengizinkan Lalu Lintas ICMP. Instance ECS hanya dapat menerima paket negosiasi ICMP yang dikirim oleh komponen pengalihan yang berbeda selama proses PMTUD jika grup keamanan tempat instance tersebut termasuk mengizinkan lalu lintas ICMP. Untuk informasi lebih lanjut, lihat bagian Aturan Grup Keamanan untuk Mengontrol Akses ke Instance ECS Menggunakan Protokol Tertentu dari topik "Grup Keamanan untuk Berbagai Kasus Penggunaan".

  • Periksa Apakah Lalu Lintas Jaringan Mencapai Ambang Batas Throttling. Jika lalu lintas jaringan mencapai ambang batas throttling, pesan ICMP mungkin dibuang. Periksa apakah lalu lintas jaringan mencapai ambang batas throttling.

Modifikasi aplikasi untuk merespons pesan ICMP

Modifikasi aplikasi untuk merespons pesan kesalahan ICMP selama proses PMTUD dan mengurangi ukuran paket berdasarkan PMTU.

Catatan
  • Jika aplikasi tidak diadaptasi untuk PMTUD atau aplikasi tidak menyesuaikan ukuran paketnya dengan PMTU yang ditemukan setelah aplikasi menerima pesan kesalahan ICMP selama proses PMTUD, kernel sistem operasi mungkin memfragmentasi paket yang dikirim oleh aplikasi, yang dapat mengakibatkan kegagalan transmisi paket.

  • Untuk menyelesaikan masalah ini, Anda dapat menentukan MSS yang lebih kecil dalam aplikasi untuk beradaptasi dengan PMTU.

Hindari fragmentasi IP pada koneksi TCP

TCP adalah protokol lapisan transport yang berorientasi koneksi dan andal yang dirancang untuk memastikan integritas dan urutan data. Fragmentasi IP dapat menyebabkan hilangnya fragmen atau kesalahan reassembly dan memengaruhi keandalan transmisi TCP. Dalam kebanyakan kasus, negosiasi MSS dan PMTUD membantu koneksi TCP menghindari fragmentasi IP dan meningkatkan kinerja serta keandalan jaringan.

Hindari fragmentasi IP dengan menggunakan mekanisme negosiasi MSS selama pembentukan koneksi

MSS adalah parameter TCP yang menentukan jumlah data terbesar yang dapat ditransmisikan dalam segmen TCP, tidak termasuk header TCP.

Negosiasi MSS terjadi di tumpukan TCP/IP dan tidak memerlukan intervensi langsung dari pengguna atau aplikasi. Negosiasi MSS memastikan bahwa ukuran segmen data dapat diterima oleh lingkungan jaringan di host pengirim dan host penerima, yang menghindari fragmentasi yang disebabkan oleh paket yang terlalu besar atau inefisiensi yang disebabkan oleh paket yang terlalu kecil.

MSS dinegosiasikan selama jabat tangan tiga arah TCP ketika koneksi TCP dibentuk antara dua host. Host pengirim mengirimkan opsi MSS dalam paket SYN ke host penerima. Nilai opsi MSS dihitung dengan mengurangkan panjang header TCP dari MTU host pengirim. Setelah host penerima menerima paket SYN, host penerima menentukan nilai MSS yang sesuai berdasarkan MTU host penerima dan mengembalikan MSS dalam paket SYN-ACK ke host pengirim. Dengan cara ini, kedua host sepakat pada nilai MSS yang digunakan untuk koneksi TCP untuk menghilangkan inefisiensi dan retransmisi yang disebabkan oleh fragmentasi IP.

Menyesuaikan MSS secara dinamis ke PMTU selama transmisi data

Negosiasi MSS tidak menjamin bahwa MTU semua perangkat jaringan, seperti router, di sepanjang jalur jaringan lebih besar dari atau sama dengan nilai MSS yang dinegosiasikan. Jika MTU perangkat jaringan di jalur jaringan lebih kecil dari ukuran paket TCP, fragmentasi IP masih dapat terjadi meskipun MSS telah dinegosiasikan. Protokol tanpa koneksi, seperti UDP dan ICMP, tidak memiliki mekanisme negosiasi MSS. Dalam hal ini, PMTUD sangat penting. PMTUD memungkinkan kedua ujung jalur jaringan menemukan PMTU untuk jalur jaringan secara dinamis. Aplikasi dapat diadaptasi untuk merespons pesan kesalahan ICMP dan menyesuaikan MSS berdasarkan PMTU yang ditemukan untuk menghindari fragmentasi.