Mac OS X (10.6)에서 YouTube 비디오 다운로드를 시작하고 이더넷 케이블을 5 초 정도 당긴 다음 다시 연결하면 다양한 결과가 나타납니다 브라우저에서. 오페라와 크롬을 사용하면 케이블을 다시 꽂은 후에 비디오가 계속로드됩니다. 그러나 사파리와 파이어 폭스는 절대로 그렇지 않습니다.다른 브라우저에서 TCP/IP RST가 다르게 전송되는 경우
Wireshark를 사용하여 트래픽을 살펴보면 케이블을 다시 꽂은 후 Opera와 Chrome이 YouTube의 첫 번째 패킷을 ACK하지만 Safari와 Firefox가 TCP 헤더에서 RST 플래그 (0x4)를 설정하고 더 이상 트래픽이 발생하지 않습니다.
기기와 인터넷 연결 사이에 허브를 둘 수 있습니다. 케이블을 허브에 다시 연결할 때 문제가 없어지고 4 개의 브라우저 모두 비디오를 계속로드합니다. Wireshark 로그를 살펴보면, 머신이 멀티 캐스트 연결을 가까이서 볼 수 없으며 통과하는 패킷에 단순히 지연이 있음을 알 수 있습니다.
사파리와 파이어 폭스가 멀티 캐스트 연결을 닫은 다음 나중에 동일한 연결에서 데이터를 볼 경우 RST를 보냅니다.
내 질문은 왜입니까? 올바른 행동 방침은 무엇이며, 2/4 브라우저는 편도를하고있는 반면 다른 2/4는 다른 방식으로하고있는 이유는 무엇입니까? 파이어 폭스 어디에서 코드를 볼 수 있습니까?
대단히 감사합니다.
상당히 기괴합니다. 브라우저가 패킷의 ACK'ing 수준까지가는 것은 브라우저가 될 것이라고 생각하지 않았을 것입니다. 브라우저에서 오류 신호를 처리하는 방법이 아닌 한 네트워크 스택의 작업이 될 것입니다. 네트워크 스택을 다르게. –
이것은 매우 흥미 롭습니다. 이전에 Mac을 다루지 않았습니다. 모든 브라우저가 동일한 Flash Player를 사용하고 있습니까? –