Mae IPv4 yn darnio ar y trywydd; mae IPv6 yn anfon neges pecyn rhy fawr yn lle hynny
Dim ond llwybryddion IPv4 a gaiff ddarnio pecyn rhy fawr. Mae IPv6 yn disgwyl i'r anfonydd ymateb i'r neges pecyn rhy fawr, y gall twnnel neu reol ICMP wedi'i hidlo ei thorri.
Mae methiannau IPv6 yn cael eu beio ar y protocol yn llawer amlach nag ar faint y pecyn a achosodd nhw. Mae'r ddau deulu wir yn trin pecyn rhy fawr yn wahanol, a thwnnel yw'r peth sy'n gwneud y gwahaniaeth yn bwysig. Caiff llwybryddion IPv4 ddarnio pecyn pan fo'r rheolau'n caniatáu, tra na chaiff llwybryddion IPv6 ddarnio ar y trywydd o gwbl. Mae IPv6 yn dweud wrth yr anfonydd yn lle hynny, ac mae disgwyl i'r anfonydd ymateb. Mae popeth sy'n mynd o'i le wedyn yn dibynnu ar a yw'r neges honno'n cyrraedd.
Beth mae pob teulu yn ei wneud
Y tabl yw'r mecanwaith mewn pedair llinell, ac mae un rhes yn esbonio'r rhan fwyaf o'r dryswch.
| Behaviour | IPv4 | IPv6 |
|---|---|---|
| Router fragments an oversized packet | Allowed while DF is clear | Never |
| Signal returned to the sender | ICMP Fragmentation Needed | ICMPv6 Packet Too Big |
| Size that must always work | 68 bytes | 1280 bytes |
| Fragmentation possible | Routers or source | Source only |
Nid oes gan IPv6 ddarnio ar y trywydd na fflag DF i'w glirio, felly nid oes dim i droi ato pan fo pecyn yn rhy fawr. Rhaid dweud wrth yr anfonydd, a rhaid i'r anfonydd gredu hynny.
Mae'r twnnel yn culhau'r llwybr yn dawel
Mae VPN yn ychwanegu penawdau allanol, ac yn yr achos amgryptiedig ddata cyfanrwydd hefyd, cyn i'r pecyn adael y gwesteiwr. Gall y pecyn mewnol ffitio'r MTU rhyngwyneb y mae'n ei weld tra bo'r pecyn allanol yn mynd dros derfyn y cyswllt nesaf, a dyna pam mae hyn yn ymddangos gyntaf mewn twnnel. Gostyngwch MTU rhyngwyneb y twnnel yn fwriadol, neu glemmwch TCP MSS ar y llwybr, ac ysgrifennwch pa rif a ddewisoch a pham.
Mae gorbenyn ESP yn dibynnu ar y modd a'r algorithmau, felly mae'r MTU twnnel cywir yn gyfrifiad ac nid yn gonfensiwn. Beth bynnag a ddewiswch, rhaid iddo adael lle i becyn IPv6 mewnol llawn o 1280 beit, oherwydd rhaid i bob cyswllt IPv6 gludo cymaint. Nid yw twnnel nad yw'n gallu cludo 1280 beit o IPv6 yn broblem tiwnio; mae'n llwybr wedi torri i'r teulu hwnnw. Y cyfyngiad hwnnw yw'r peth sy'n diflannu pan gaiff gwerth MTU ei gopïo o osodiad IPv4 yn unig.
Pam mae'r symptom yn hongian
Nid yw'r methiant yn wall glân, a dyna pam mae'n cael ei gamddiagnosio. Mae handshake TCP yn cwblhau, mae ymatebion bach yn cyrraedd, ac mae'r cysylltiad yn stopio gyda'r ymateb mawr neu'r llwythiad mawr cyntaf, oherwydd y rheini yw'r pecynnau cyntaf sy'n ddigon mawr i gael eu gollwng. Mae SSH yn cysylltu ac yna'n hongian ar yr allbwn mawr cyntaf, ac mae pen tudalen yn llwytho tra nad yw'r corff byth yn gorffen.
Os yw negeseuon ICMPv6 am becyn rhy fawr yn cael eu hidlo, ni fydd yr anfonydd byth yn gwybod ac mae'n dal i geisio'r un maint. Mae hwnnw'n dwll du ac nid yn llwybr araf, a'i nod yw ffin faint y gellir ei hailadrodd ac nid colled ar hap. Mae caniatáu'r traffig rheoli perthnasol yn rhan o osodiad IPv6 sy'n gweithio, nid yn gwrteisi.
Peidiwch â diffodd y negeseuon y mae eich llwybr eich hun yn dibynnu arnynt ac yna disgrifio'r canlyniad fel nam IPv6. Mae'r un ddadl yn berthnasol i negeseuon Fragmentation Needed IPv4, sydd yr un mor amhoblogaidd gan awduron waliau tân ac yr un mor angenrheidiol.
Mesurwch y ffin, yna trwsiwch yr haen
Archwiliwch yn hytrach na dyfalu: defnyddiwch y fflag don't-fragment ar IPv4 a meintiau llwyth sefydlog ar IPv6, a chofnodwch ble mae ymatebion yn stopio. ping -M do -s 1472 a ping -6 -s 1400 yn ddigon i sefydlu siâp y broblem, a tracepath yn adrodd yr MTU llwybr a ganfuwyd ar hyd y ffordd.
Yna trwsiwch yr haen sy'n berchen ar y rhif: MTU rhyngwyneb y twnnel, y clamp MSS ar gyfer TCP, neu'r llwybr ei hun. RFC 8200 yw'r cyfeiriad ar gyfer rheol IPv6, ac mae'n ddarlleniad byrrach na'r digwyddiad y mae'n ei atal.
Profwch y teulu y mae'r rhaglen yn ei ddefnyddio mewn gwirionedd, oherwydd gall enw deu-stac ateb ar un teulu ac nid ar y llall, a gall rhaglen newid ar ôl newid rhwydwaith. Cofnodwch y cyfeiriad a brofwyd gennych, oherwydd nid yw canlyniad yn erbyn y cofnod A yn dweud dim am y cofnod AAAA.
Trinnwch y ffin faint fel tystiolaeth
Mae ffin faint y gellir ei hailadrodd yn un o'r ychydig namau rhwydwaith sy'n atgynhyrchu'n union, ar yr un cyfrif beit, o'r un ffynhonnell, bob tro. Mae hynny'n ei gwneud yn anrheg ac nid yn ddirgelwch, ac mae hefyd yn golygu y gellir gwirio trwsiad yn lle gobeithio amdano.
Ysgrifennwch yr MTU a ganfuwyd, MTU y twnnel a ffurfweddwyd gennych a'r prawf a brofodd y gwahaniaeth yn y tocyn. Bydd y person nesaf yn cyfarfod yr un rhifyddeg ar gyswllt gwahanol.