Puncte:0

Cum alege iPhone adresa IP când primește mai multe adrese IP în răspunsul dns?

drapel in

Încerc să înțeleg cum Iphone decide ce adresă IP să folosească din 2 adrese IP returnate în răspunsul dns în acest scenariu specific de mai jos.

Scenariul este astfel:

1- Iphone trimite o interogare dns pentru un Arecord precum „bsf.mncxx.mccxx.pub.3gppnetwork.org” și primește 2 adrese IP în răspuns.

2- Iphone trimite cereri GET la una dintre adresele IP pentru a se autentifica (nu este important ce IP BSF a selectat la acest pas)

3- BSF returnează 401 Neautorizat cu provocare de autentificare

4- Iphone calculează răspunsul și îl trimite în a doua cerere GET.

Problema începe aici. Iphone selectează BSF la întâmplare aici. Se așteaptă să se trimită acest al doilea GET (cu răspuns calculat) către același BSF în pasul 2. Toate celelalte telefoane (Samsung, Huawei, Sony etc) îl trimite la BSF în pasul 2. Dar se pare că Iphone selectează doar aleatoriu. Dacă este selectat alt BSF, autentificarea eșuează.

Ca o soluție, am configurat BSF să trimită Connection:keep-alive în răspunsul http 401, dar, din păcate, nu a ajutat. Iphone îl selectează în continuare aleatoriu.

Aici, în configurația noastră, adresele IP BSF sunt în subrețele apropiate (BSF1 = 172.31.59.165, BSF2 = 172.31.59.181)

Este foarte ciudat că, într-o altă configurare (nu exact aceleași BSF-uri cu ale noastre, dar cererea http și răspunsurile similare) același Iphone selectează întotdeauna același BSF în pasul 2 și pasul 4 (BSF1=10.216.138.78, BSF2= 10.210.149.79). Dacă selectează BSF1 în pasul 2, continuă cu BSF1 în pasul 4. Același lucru pentru BSF2.

Este posibil ca Iphone să verifice subrețele în timpul deciziei? Orice altă presupunere sau sugestie va fi foarte apreciată.

Mulțumiri alb

Michael Hampton avatar
drapel cz
Este valid să vă conectați la oricare dintre adresele IP la solicitările ulterioare. Aplicația dvs. trebuie să poată face față acestui lucru.
White11 avatar
drapel in
Mulțumesc, poate ai dreptate, dar nu explică de ce același iPhone se comportă diferit în 2 configurații diferite. Este foarte ușor să înfrunți problema în prima configurare, dar în a doua configurare este imposibil să o produci. Nu vorbesc despre câteva apeluri, mii de apeluri și toate au succes.
drapel us
Nu merită timpul să ne întrebăm de ce iPhone funcționează așa cum funcționează. Funcționează conform specificației DNS, iar singura modalitate sensibilă este să repari aplicația.
drapel in
Ai 50% șanse să folosești același server.Unele implementări pot reutiliza mai întâi ultima lucrare, altele ar putea încerca mai întâi un rezultat diferit pentru a ajuta la echilibru, este încă aproximativ 1/4 - 1/3 șansa de a folosi rezultate diferite. Dacă aveți înregistrări diferite, trebuie să vă așteptați să se schimbe la FIECARE solicitare.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.