INFO: Winsock TCP Connection kinerja untuk port yang tidak terpakai

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 175523 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

RINGKASAN

Artikel ini membahas bagaimana penerapan Winsock TCP pada berbagai Microsoft platform menangani soket koneksi ke port yang tidak memiliki server yang mendengarkan mereka. Ini juga menggambarkan kinerja yang terkait pertimbangan dan bagaimana untuk menyesuaikan mereka sesuai dengan kebutuhan Anda.

INFORMASI LEBIH LANJUT

Ketika proses menciptakan TCP soket di lapisan Microsoft Winsock dan masalah panggilan connect() untuk beberapa host dan nomor port, protokol TCP melakukan jabat yang standar "tiga-cara tangan" paket Sin, diakui oleh host target dengan ACK/Sin, dan ACK akhir dari memulai klien. Namun, per spesifikasi TCP yang tercantum dalam RFC-793 (transmisi Kontrol protokol), reset (RST) mungkin dihasilkan jika upaya Sin ditujukan ke host yang ada tapi port tidak terpakai. Ini terbaik dijelaskan oleh RFC berikut kutipan dari halaman 35:
Reset generasi

Sebagai aturan umum, reset (RST) harus dikirim setiap kali segmen tiba yang tampaknya tidak dimaksudkan untuk sambungan saat ini. Reset harus tidak dikirim jika ianya tidak jelas bahwa hal ini terjadi...

Jika koneksi tidak ada (tertutup) maka reset dikirim dalam menanggapi setiap segmen masuk kecuali ulang lain. Khususnya SYNs yang dialamatkan kepada non-ada koneksi ditolak dengan cara ini.

Me-reset pengolahan [halaman 36]

... Dalam keadaan yang dikirim sin (RST menerima SYN awal), RST diterima jika bidang ACK mengakui SYN.
Setelah menerima ACK/RST klien dari target host, klien menentukan bahwa ada layanan memang tidak mendengarkan ada. Dalam Implementasi Microsoft Winsock TCP, sambungan tertunda akan tetap mencoba mengeluarkan Sin paket sampai nilai retry maksimum tercapai (set dalam registri, nilai ini default ke 3 kali tambahan). Sejak ACK/RST diterima dari target host, lapisan TCP tahu bahwa target host memang terjangkau dan akan tidak ganda nilai waktu habis dalam paket Header IP, sebagaimana standar selama koneksi upaya dengan diakui SYNs. Sebaliknya, koneksi tertunda akan menunggu untuk sambungan basis waktu habis nilai dan diterbitkan ulang lain Sin paket untuk memulai sambungan. Sebagai lama sebagai ACK/RST paket dari port yang tidak terpakai yang diterima, waktu-habis nilai tidak akan meningkat dan proses akan ulangi sampai retry maksimum nilai mencapai.

Perilaku ini dapat mengakibatkan kinerja yang buruk jika untuk beberapa alasan proses berulang kali masalah connect() panggilan ke port dengan tidak mendengarkan mengakibatkan kesalahan WSAECONNREFUSED. Perhatikan bahwa dengan lain implementasi TCP, seperti yang biasanya ditemukan dalam banyak sistem UNIX, connect() gagal segera setelah menerima pertama ACK/RST paket, mengakibatkan kesadaran kesalahan sangat cepat. Namun, ini perilaku tidak ditentukan di RFC dan meninggalkan untuk setiap pelaksanaan untuk memutuskan. Pendekatan Microsoft platform adalah bahwa sistem Administrator memiliki kebebasan untuk menyesuaikan TCP kinerja yang berhubungan dengan pengaturan untuk coba selera mereka sendiri, yaitu maksimum lagi bahwa default ke 3. The keuntungan dari hal ini adalah bahwa layanan yang Anda mencoba untuk mencapai mungkin memiliki sementara ditutup dan mungkin muncul kembali di antara Sin upaya. Dalam hal ini kasus, itu lebih mudah connect() menunggu cukup lama untuk mendapatkan sambungan sejak layanan benar-benar berada di sana.

Ini berisi daftar lengkap dari nilai registri NT TCP. Tertentu bunga adalah kunci:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Kunci: TcpMaxConnectRetransmissions
Tipe nilai: REG_DWORD - nomor
Batasan valid: 0 - 0xFFFFFFFF
Default: 3 (pada Windows NT)
Default: 2 (pada Windows 2000)
Keterangan: Parameter ini menentukan jumlah kali TCP akan retransmit permintaan connect (SIN) sebelum aborting usaha. Retransmission time-out adalah dua kali lipat dengan masing-masing retransmission berturut-turut dalam usaha tertentu connect (kecuali dalam situasi yang dibahas di atas). Awal waktu habis nilai adalah tiga detik (karena ACK/RST diterima dalam kasus di atas, ini tidak relevan).
Untuk informasi tambahan mengenai entri registri Windows 95 TCP, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
158474 Entri registri Windows 95 TCP/IP
Kunci berikut adalah menarik:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP

Kunci: MaxConnectRetries
Tipe nilai: DWORD - nomor 32 bit
Default: 3
Keterangan: Menentukan jumlah kali usaha koneksi (SIN) akan disiarkan sebelum menyerah. Awal RETRANSMISSION time-out adalah 3 detik (relevan dalam kasus di atas), dan itu adalah dua kali lipat setiap kali ( kasus di atas adalah pengecualian) hingga maksimum dari 2 menit.
Restart komputer Anda setelah Anda menyesuaikan nilai-nilai registri ini.

PERINGATAN: Memodifikasi nilai-nilai ini mempengaruhi setiap dan semua TCP keluar permintaan sambungan dari komputer yang terpengaruh. Jika semua aktivitas TCP pada komputer telah latency sedikit dan jauh untuk perjalanan pulang-pergi, mengurangi ini sebagai rendah sebagai nol (meskipun Microsoft tidak merekomendasikan ini) akan tidak membuat perbedaan. Namun, jika aplikasi atau sambungan upaya gagal secara teratur dengan kesalahan Winsock standar dan server remote target dikenal akan tersedia, ada kemungkinan bahwa ini entri registri adalah penyebab. Jika demikian, Anda mungkin harus menaikkan maksimum mencoba lagi sehingga TCP akan dua kali lipat paket Sin waktu-untuk-hidup nilai dalam header IP pada pengulangan berturut-turut sampai telah cukup lama hidup untuk mencapai target host dan menerima ACK/SYN.

REFERENSI

RFC-793, protokol kontrol transmisi, September 1981

Whitepaper, Microsoft Windows NT: Rincian pelaksanaan TCP/IP, 1996 Artikel Basis Pengetahuan 158474

Properti

ID Artikel: 175523 - Kajian Terakhir: 16 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Win32 Application Programming Interface
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 Service Pack 2, ketika digunakan dengan:
    • Windows Server 2008 for Itanium-Based Systems
    • Windows Server 2008 Datacenter
    • Windows Server 2008 Enterprise
    • Windows Server 2008 Standard
    • Windows Web Server 2008
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
  • Windows Web Server 2008
  • Windows Vista Service Pack 2, ketika digunakan dengan:
    • Windows Vista Business
    • Windows Vista Enterprise
    • Windows Vista Home Basic
    • Windows Vista Home Premium
    • Windows Vista Starter
    • Windows Vista Ultimate
    • Windows Vista Enterprise 64-bit edition
    • Windows Vista Home Basic 64-bit edition
    • Windows Vista Home Premium 64-bit edition
    • Windows Vista Ultimate 64-bit edition
    • Windows Vista Business 64-bit edition
  • Windows Vista Service Pack 1, ketika digunakan dengan:
    • Windows Vista Business
    • Windows Vista Enterprise
    • Windows Vista Home Basic
    • Windows Vista Home Premium
    • Windows Vista Starter
    • Windows Vista Ultimate
    • Windows Vista Enterprise 64-bit edition
    • Windows Vista Home Basic 64-bit edition
    • Windows Vista Home Premium 64-bit edition
    • Windows Vista Ultimate 64-bit edition
    • Windows Vista Business 64-bit edition
  • Microsoft Windows Server 2003 Service Pack 2, ketika digunakan dengan:
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Server 2003, Datacenter x64 Edition
    • Microsoft Windows Server 2003, Enterprise x64 Edition
    • Microsoft Windows Server 2003, Standard x64 Edition
    • Microsoft Windows XP Professional x64 Edition
    • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows XP Service Pack 3, ketika digunakan dengan:
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
  • Microsoft Windows 2000 Service Pack 4
  • Microsoft Windows 98 Standard Edition
Kata kunci: 
kbapi kbinfo kbnetwork kbwinsock kbmt KB175523 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:175523

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com