Maombi madogo hufanya kazi, upakuaji mkubwa hukwama, na mtu anapendekeza MSS clamping. Pendekezo hilo liko sahihi mara nyingi vya kutosha kufaa kujaribiwa kwa mpangilio sahihi, na si sahihi mara nyingi vya kutosha kupoteza mchana mzima ikiwa utalitumia kwa upofu. Ukaguzi matatu hapa chini hutenganisha tatizo la kweli la ukubwa wa TCP na tatizo la UDP, na ugunduzi wa path-MTU ulioharibika, na clamp isiyoona kamwe handshake inayopaswa kuandika upya.

Anza na umbo la kushindwa

Kushindwa kwa ukubwa kuna sahihi: muunganisho huanzishwa, uthibitishaji na majibu madogo hufaulu, kisha uhamishaji hukwama bila kikomo mara tu unapohitaji sehemu ya ukubwa kamili. Kurasa zinazopakia maandishi lakini hazimalizi picha kamwe ni kushindwa hicho hicho kwa kiwango kidogo. Ikiwa hakuna kitu kinachounganishwa kabisa, tatizo liko mbele zaidi kwenye njia na clamping haitasaidia. Clamp haiwezi kurekebisha handshake ambayo haikufika kamwe.

Sahihi hiyo ipo kwa sababu handshake ndipo panapokubaliwa ukubwa wa sehemu. Kila upande hutangaza ukubwa wa juu wa sehemu kama chaguo la TCP, na watumaji huheshimu tangazo la upande mwingine. Ikiwa njia haiwezi kubeba sehemu kubwa hivyo, kushindwa huonekana baadaye, wakati mtumaji hatimaye anajaribu moja.

Weka usafirishaji machoni unaposoma dalili hiyo. Clamping ni uandikaji upya wa chaguo la TCP, kwa hiyo simu ya sauti au video inayokwama chini ya handaki hilo hilo si tatizo la MSS na haitaboreshwa nayo. Andika usafirishaji kabla ya kugusa chaguo la TCP.

Pima gharama ya njia, kisha uilinganishe na handaki

Nambari mbili ni muhimu na mara nyingi huchanganywa. path-MTU ni pakiti kubwa zaidi ambayo njia hubeba bila kugawanyika, na MSS iliyotangazwa kwa IPv4 ni thamani hiyo ukiondoa baiti 40 za vichwa vya IP na TCP, au ukiondoa 60 kwa IPv6. Ufungashaji wa handaki hutumia sehemu ya bajeti kabla pakiti ya ndani haijaanza.

ping -M do -s 1400 198.51.100.20
tracepath 198.51.100.20

Ping yenye biti ya do-not-fragment hukuambia kama pakiti ya ukubwa huo wa mzigo inanusurika; badilisha ukubwa hadi ishindwe na umepata kikomo cha njia kwa majaribio. Matokeo ya tracepath huripoti MTU iliyogunduliwa kwenye njia, ambayo ni ya haraka zaidi inapofanya kazi na isiyotegemewa zaidi hop ya kati inapochuja uchunguzi.

Sasa ondoa gharama ya handaki. Kichwa cha IP cha nje, kichwa cha UDP na kichwa maalum cha handaki vyote hutoka katika baiti 1500 zile zile, kwa hiyo MTU ya ndani inayoweza kutumika kwenye msingi wa kawaida wa Ethernet ni ya chini kuliko inavyodokeza kiungo halisi. Ikiwa MTU ya ndani iliyohesabiwa iko chini ya ile inayotangazwa na wenzi wako, umepata mgombea halisi wa clamp na si kubashiri. Ikiwa thamani iliyohesabiwa iko juu ya tangazo la wenzi, simama hapa na uangalie mahali pengine.

Weka clamp mahali handshake inapopita

Clamp hufanya kazi kwa kuandika upya chaguo la MSS katika pakiti za SYN na SYN-ACK zinapovuka lango. Ikiwa kanuni iko kwenye kiolesura ambacho hakuna mwelekeo wowote unaovuka kamwe, mazungumzo hukamilika bila mabadiliko na dalili huendelea, ndiyo sababu mahali huamua matokeo zaidi ya thamani.

SymptomWhat it points toNext check
Handshake completes, large transfer stallsSegment size larger than the path can carryPath MTU against the tunnel's effective MTU
Nothing connects, small or largeRouting, firewall or keying failureNot MSS; look at the tunnel state
Only UDP applications stallDatagram size or a dropped ICMP errorPlatform-specific UDP handling, not clamping
Fixed after reconnect, returns laterClamp applied to one direction or one interfaceRule placement and the handshake path

Mwelekeo ni nusu nyingine. Clamping ya mwelekeo mmoja hurekebisha nusu ya mitiririko na kuacha inayobaki ikishindwa kwa namna inayoonekana ya vipindi, kwa hiyo itumie kwa mwelekeo wote wa trafiki inayosafirishwa. Umbo la kawaida la Linux kwa kiolesura cha handaki ni kanuni ya mangle inayolingana na pakiti za SYN:

iptables -t mangle -A FORWARD -o tun0 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Angalia kile --clamp-mss-to-pmtu hufanya kweli: hupata thamani kutoka MTU ya njia, ambayo si kila mara bajeti halisi ya mzigo wa handaki. Kwenye handaki inayotegemea njia ambapo njia ya ndani na njia ya nje zinatofautiana, thamani bayana iliyohesabiwa kwenye ukaguzi uliopita inatabirika zaidi kuliko ile ya kiotomatiki.

Thibitisha kwa muunganisho mpya, na uendelee kutoa mrejesho

Muunganisho ulioanzishwa huhifadhi MSS iliyojadiliwa, kwa hiyo kujaribu kwenye kikao kile kile hakuthibitishi chochote. Fungua muunganisho mpya baada ya mabadiliko na usome thamani iliyojadiliwa moja kwa moja badala ya kuikisia kutoka uhamishaji unaomalizika kwa bahati.

ss -tin dst 198.51.100.20
iptables -t mangle -S | grep TCPMSS

Amri ya kwanza huripoti MSS ya soketi pamoja na hali yake ya msongamano, ambayo ni uthibitisho wa haraka zaidi kwamba clamp imefanya kazi. Ya pili huthibitisha kwamba kanuni unayodhani umeongeza ndiyo kanuni iliyopo, kwenye jedwali ilipowekwa.

Kisha linda utaratibu ambao hukumrekebisha. Ugunduzi wa path-MTU hutegemea ujumbe wa ICMP fragmentation-needed kufika kwa mtumaji, kwa hiyo firewall inayozitupa itaendelea kuvunja uhamishaji mkubwa hata kukiwa na clamp sahihi. Ruhusu ujumbe huo kwa njia ya handaki, au kubali kwamba clamping inafidia sera uliyochagua.

Mwisho, pinga kishawishi cha kuichukua clamp kama kitufe cha kurekebisha. Inabana ukubwa wa sehemu, jambo ambalo huigharimu upitishaji kwenye njia ambazo hazikuhitaji kamwe. Ikitekelezwa baada ya ukaguzi matatu ni ukarabati uliolengwa; ikitekelezwa kwanza ni mabadiliko yanayoficha hitilafu ya awali na kuongeza kigeu cha pili kwenye kila jaribio la baadaye. Biashara hiyo inafaa kufanywa kwa makusudi, si kwa chaguo-msingi.

Andika path-MTU uliyopima, gharama ya handaki uliyoondoa, kanuni uliyoongeza na MSS uliyoiona baadaye. Nambari nne hufanya tukio lijalo kuwa utafutaji badala ya uchunguzi.

Makala zinazohusiana