All Products
Search
Document Center

Elastic Compute Service:Path MTU Discovery (PMTUD)

Last Updated:Apr 29, 2026

Path MTU Discovery (PMTUD) adalah fitur pada stack TCP/IP yang secara dinamis menemukan Path Maximum Transmission Unit (PMTU) di jalur jaringan. Jika sebuah paket melebihi MTU suatu tautan di jalurnya, router akan menjatuhkannya dan mengembalikan pesan error ICMP. Pesan ini menginstruksikan pengirim untuk mengurangi ukuran paketnya, sehingga mencegah fragmentasi IP. PMTUD berguna untuk mengoptimalkan kinerja jaringan dan menghindari kehilangan paket akibat paket berukuran terlalu besar.

Dampak PMTUD terhadap kinerja jaringan

PMTUD meningkatkan efisiensi dan keandalan jaringan dengan secara dinamis menemukan serta menyesuaikan diri terhadap PMTU jalur jaringan berdasarkan umpan balik dari perangkat jaringan.

  • Menghindari fragmentasi IP: PMTUD mencegah fragmentasi IP dengan memastikan ukuran paket tidak melebihi MTU terkecil di jalur tersebut. Fragmentasi meningkatkan beban pemrosesan pada perangkat jaringan dan dapat menyebabkan kehilangan paket serta latensi. Untuk informasi lebih lanjut tentang cara menghindari fragmentasi IP dalam koneksi TCP, lihat Cara menghindari fragmentasi IP dalam koneksi TCP.

  • Meningkatkan efisiensi jaringan: Dengan menggunakan ukuran paket yang sesuai, PMTUD membantu mengurangi kemacetan jaringan dan meningkatkan efisiensi transfer data. Paket yang lebih besar mengurangi overhead header dan meningkatkan throughput, asalkan semua tautan di jalur tersebut mendukung ukuran paket tersebut.

  • Mengurangi kehilangan paket dan latensi: Dengan menghindari fragmentasi, PMTUD mengurangi kehilangan paket dan latensi yang terkait. Jika salah satu fragmen paket hilang, seluruh paket asli harus dikirim ulang.

  • Menyesuaikan ukuran paket secara otomatis: PMTUD memungkinkan pengirim menyesuaikan ukuran paket secara dinamis berdasarkan MTU aktual jalur jaringan, tanpa memerlukan pengetahuan sebelumnya tentang konfigurasi jaringan.

  • Meningkatkan ketangguhan jaringan: Dengan secara dinamis menemukan MTU di suatu jalur, PMTUD membantu jaringan beradaptasi terhadap berbagai jenis dan konfigurasi tautan, sehingga meningkatkan ketangguhan dan fleksibilitasnya.

Komponen dan sistem yang mendukung PMTUD

  • Sistem operasi: Banyak sistem operasi modern mendukung PMTUD, seperti Linux dan Windows.

    Penting

    Instance ECS Alibaba Cloud dari keluarga instans generasi ke-6 atau sebelumnya yang tidak mendukung jumbo frame tidak mendukung PMTUD. Pastikan ukuran paket yang Anda kirim kurang dari atau sama dengan 1.500 byte.

  • Perangkat jaringan: Beberapa perangkat jaringan canggih, seperti router dan switch, mungkin memiliki fungsionalitas PMTUD bawaan untuk memproses paket secara otomatis. Namun, tidak semua perangkat mendukung PMTUD. Perangkat yang tidak mendukung PMTUD mungkin menjatuhkan paket berukuran besar yang memiliki flag DF aktif tetapi gagal menyertakan nilai MTU-nya dalam pesan error ICMP yang dikirim kembali.

  • Middleware atau pustaka: Beberapa lingkungan pemrograman menyediakan pustaka atau middleware khusus untuk menangani PMTUD.

  • Aplikasi: Beberapa aplikasi jaringan mungkin menerapkan logika PMTUD sendiri untuk secara dinamis menyesuaikan ukuran paket saat mengirim data.

  • Protokol jaringan: PMTUD umumnya berlaku untuk protokol lapisan transport berbasis IPv4 dan IPv6, termasuk namun tidak terbatas pada TCP, UDP, dan ICMP.

  • Penyedia layanan cloud: Komponen forwarding jaringan Alibaba Cloud melakukan PMTUD sesuai dengan standar RFC untuk memastikan konektivitas jaringan. Untuk informasi lebih lanjut, lihat Cara kerja PMTUD.

Cara kerja PMTUD

PMTUD mengatur flag Don't Fragment (DF) (DF=1) pada paket IP dan menggunakan pesan ICMP untuk secara dinamis menemukan serta menyesuaikan diri terhadap PMTU antara dua host jaringan. Proses ini mencegah paket mengalami fragmentasi selama transmisi. Prosesnya sebagai berikut:

  1. Pengirim mengatur flag DF: Saat host mengirim paket IP, ia mengatur flag DF pada header IP menjadi 1. Ini memberi tahu router untuk tidak memfragmentasi paket tersebut.

  2. Batas MTU ditemui: Saat paket dengan flag DF diatur ke 1 menemui perangkat jaringan atau tautan dengan MTU lebih kecil, perangkat tersebut akan menjatuhkan paket jika ukurannya melebihi MTU-nya.

    • Pada IPv4: Anda dapat memilih apakah akan melakukan PMTUD berdasarkan flag DF. Jika flag DF diatur ke 0 dan perangkat jaringan mendukung fragmentasi, perangkat tersebut mungkin memfragmentasi paket berukuran besar alih-alih menjatuhkannya.

      Catatan

      Beberapa perangkat forwarding Alibaba Cloud, seperti edge gateway dalam skenario komunikasi yang melibatkan dedicated line atau traffic lintas domain, tidak mendukung fragmentasi. Perangkat ini menjatuhkan paket berukuran besar dan mengirim pesan error ICMP, bahkan jika flag DF diatur ke 0.

    • Pada IPv6: PMTUD bersifat wajib. Semua host dan router harus mendukung PMTUD. Oleh karena itu, flag DF secara implisit diatur untuk semua paket IPv6, dan semuanya diperlakukan seolah-olah flag DF diatur ke 1.

  3. Pesan error ICMP dikirim: Jika perangkat yang menjatuhkan paket mendukung PMTUD, ia mengirim pesan error ICMP kembali ke host pengirim untuk melaporkan masalah MTU. Pesan ini berisi MTU perangkat tersebut, yang merupakan PMTU yang telah ditemukan sejauh ini di jalur tersebut.

    • Untuk IPv4, perangkat mengirim kembali pesan error ICMP "Fragmentation Needed and DF set" (Tipe 3, Kode 4) ke pengirim.

    • Untuk IPv6, perangkat mengirim pesan ICMPv6 "Packet Too Big" (Tipe 2, Kode 0) ke pengirim.

  4. Penemuan PMTU dan pemrosesan pesan: Setelah host pengirim menerima pesan error ICMP, ia mengurai dan menyimpan cache PMTU, lalu melanjutkan sebagai berikut berdasarkan nilai MTU yang tercantum dalam pesan ICMP:

    • Secara default, kernel sistem operasi host pengirim memfragmentasi paket sesuai dengan nilai MTU dari pesan ICMP dan mengirim ulang fragmennya.

    • Aplikasi beradaptasi dan memproses pesan ICMP: Saat aplikasi yang mendukung PMTUD menerima jenis pesan ICMP ini, ia dapat menyesuaikan ukuran paket berdasarkan MTU dalam pesan tersebut dan mengirim ulang paket yang telah disesuaikan. Pendekatan ini memberikan kinerja jaringan yang lebih baik dengan menghindari fragmentasi IP, tetapi biasanya memerlukan modifikasi aplikasi.

      Catatan

      Untuk koneksi TCP, hasil PMTUD memengaruhi nilai MSS pada lapisan TCP. Lapisan TCP menyesuaikan MSS berdasarkan PMTU yang ditemukan dan menggunakan MSS baru tersebut untuk mengirim paket berikutnya. Hal ini memastikan segmen TCP tidak perlu difragmentasi pada lapisan jaringan. Untuk informasi lebih lanjut, lihat Gunakan PMTUD untuk menyesuaikan MSS.

  5. Simpan nilai PMTU dalam cache: Host pengirim membuat entri cache rute dalam tabel routing sistem operasi. Entri ini berisi nilai MTU untuk alamat IP tujuan dan diterapkan pada paket berikutnya yang dikirim ke tujuan yang sama untuk menghindari fragmentasi di jalur jaringan.

  6. Perbarui PMTU secara berkala: Nilai PMTU tidak bersifat permanen. Saat jalur jaringan berubah atau cache rute sistem operasi kedaluwarsa, host akan memulai ulang proses PMTUD untuk memperbarui nilai PMTU.

Cara menggunakan PMTUD

Aktifkan PMTUD

Anda harus memastikan bahwa semua perangkat di jaringan Anda mendukung dan telah mengaktifkan PMTUD. Misalnya, pada sistem Linux, nilai dalam file /proc/sys/net/ipv4/ip_no_pmtu_disc harus bernilai 0.

Catatan
  • Versi kernel lama atau jenis sistem operasi tertentu mungkin tidak mendukung PMTUD. Akibatnya, mereka tidak dapat memproses pesan ICMP dengan benar selama proses PMTUD dan tidak dapat secara dinamis menemukan PMTU jalur tersebut.

  • Instance ECS Alibaba Cloud dari keluarga instans generasi ke-6 atau sebelumnya yang tidak mendukung jumbo frame tidak mendukung PMTUD. Pastikan ukuran paket yang Anda kirim kurang dari atau sama dengan 1.500 byte.

  • Jika suatu perangkat tidak mendukung PMTUD, Anda mungkin perlu menentukan MTU secara manual, misalnya dengan menggunakan perintah ping untuk memeriksa PMTU secara manual, lalu menyesuaikan ukuran paket pengirim atau MTU perangkat jaringan, misalnya dengan mengubah MTU antarmuka jaringan secara manual.

Izinkan pesan error ICMP

  • Periksa dan konfigurasi firewall serta perangkat keamanan: Anda perlu memeriksa dan mengonfigurasi firewall serta perangkat keamanan lainnya agar mengizinkan pesan ICMP yang diperlukan untuk dilewatkan. Di beberapa lingkungan jaringan, firewall atau perangkat keamanan lainnya mungkin menyaring pesan ICMP, terutama pesan ICMP "Fragmentation Needed and DF set" (Tipe 3, Kode 4), yang menghambat proses PMTUD.

  • Izinkan traffic ICMP dalam security group: Agar PMTUD berfungsi, security group instance ECS Anda harus mengizinkan traffic ICMP masuk. Untuk informasi lebih lanjut, lihat Kasus penggunaan security group: Akses berdasarkan protokol tertentu.

  • Periksa adanya rate limiting: Traffic jaringan tinggi dapat menyebabkan pesan ICMP dijatuhkan. Anda dapat memeriksa apakah traffic jaringan Anda sedang dibatasi lajunya.

Adaptasi aplikasi untuk pesan ICMP

Modifikasi aplikasi Anda agar merespons pesan error ICMP dari PMTUD dan menyesuaikan ukuran paket berdasarkan PMTU.

Catatan
  • Jika aplikasi tidak dirancang untuk mekanisme PMTUD atau tidak menyesuaikan ukuran paketnya dengan benar setelah menerima pesan ICMP terkait PMTUD, kernel sistem operasi mungkin memfragmentasi paket tersebut. Hal ini dapat menyebabkan kegagalan transmisi.

  • Jika aplikasi tidak dapat dimodifikasi untuk menyesuaikan ukuran paketnya secara dinamis untuk PMTUD, Anda dapat mengatur nilai MSS yang lebih kecil secara manual dalam aplikasi agar sesuai dengan PMTU.

Hindari fragmentasi IP dalam TCP

TCP adalah protokol lapisan transport yang connection-oriented dan andal, dirancang untuk menjamin integritas data dan urutan pengiriman. Fragmentasi IP dapat menyebabkan kehilangan fragmen atau kesalahan perakitan ulang, yang memengaruhi keandalan transmisi TCP. Dengan menggunakan negosiasi MSS dan mekanisme PMTUD, koneksi TCP dapat menghindari fragmentasi IP dalam sebagian besar kasus, sehingga meningkatkan kinerja dan keandalan jaringan.

Hindari fragmentasi dengan negosiasi MSS

Maximum Segment Size (MSS) adalah parameter dalam Transmission Control Protocol (TCP) yang menentukan jumlah maksimum data yang dapat dikirim dalam satu segmen TCP, tidak termasuk header TCP.

Negosiasi MSS ditangani secara otomatis dalam stack TCP/IP dan tidak memerlukan intervensi langsung dari pengguna atau aplikasi. Proses ini memastikan ukuran segmen data sesuai dengan lingkungan jaringan kedua titik akhir, sehingga menghindari fragmentasi akibat paket terlalu besar dan inefisiensi akibat paket terlalu kecil.

Saat pembentukan koneksi TCP, kedua pihak melakukan negosiasi MSS melalui jabat tangan tiga arah TCP. Dalam paket SYN, pengirim menyertakan opsi MSS. Nilai ini biasanya dihitung berdasarkan MTU titik akhir dikurangi overhead tetap header IP dan TCP. Setelah menerima paket SYN, penerima menentukan nilai MSS yang sesuai berdasarkan MTU-nya sendiri dan mengembalikannya dalam paket SYN+ACK. Dengan cara ini, kedua pihak sepakat menggunakan ukuran segmen maksimum untuk koneksi tersebut, yang membantu menghindari degradasi kinerja dan masalah pengiriman ulang akibat fragmentasi IP.

Gunakan PMTUD untuk menyesuaikan MSS

Negosiasi MSS tidak menjamin bahwa semua perangkat jaringan, seperti router, di jalur transmisi memiliki MTU yang lebih besar dari atau sama dengan nilai MSS yang dinegosiasikan. Jika perangkat jaringan di jalur tersebut memiliki MTU lebih kecil daripada ukuran paket TCP, fragmentasi IP masih dapat terjadi meskipun MSS telah dinegosiasikan. Selain itu, protokol connectionless seperti UDP dan ICMP tidak memiliki mekanisme negosiasi MSS. Dalam kasus ini, PMTUD sangat penting. PMTUD memungkinkan pihak-pihak yang berkomunikasi untuk secara dinamis menemukan PMTU seluruh jalur transmisi. Aplikasi kemudian dapat beradaptasi dengan merespons pesan error ICMP dan menyesuaikan nilai MSS yang sesuai untuk mencegah fragmentasi.