2017-11-09 5 views
0

두 장치 D1 및 (다른 네트워크의) D2는 P1 다음 P2로부터 데이터를 얻기 원한다면 프로세스 P1 및 P2는 다음 그들 각각 실행해야 할 때 -TCP 연결

P1이 함께 TCP 접속을 설정 P2. P1이 SYN 패킷을 보냅니다.
P2가 SYN-ACK 패킷을 보냅니다.
P1은 ACK 패킷으로 응답하여 3 방향 TCP 연결 설정을 마무리합니다. 이 HTTP 요청이이 TCP 연결을 통해 전송 된 후.

D1과 D2가 같은 네트워크에 있다고 가정하면이 프로세스가 더 빠르며 그 이유는 무엇입니까?

+1

"_P1이 P2.p의 IP 주소로 TCP 연결을 설정합니다." "아니요, 잘못보고 있습니다. TCP는 IP가 아닌 TCP와의 연결을 설정합니다. D1의 TCP는 D2의 TCP와 TCP 연결을 설정합니다. 또한 프로세스가 핸드 셰이 킹을 수행하지 않으므로 TCP 연결까지 복잡하므로 연결 프로세스가 복잡해집니다. –

답변

1

P1의 메시지가 P2에 도달하는 데 걸리는 시간이 짧을수록이 프로세스가 더 빠릅니다. 그 시간은 다양한 요소에 달려 있으며, 그 중 기계 간의 물리적 거리와 네트워킹 장비 및 링크의 수와 용량이 길을 따라 가고 있습니다.

로컬 네트워크에있는 시스템은 일반적으로 네트워크 장비가 거의 없기 때문에 가까운 사이에 시스템이 멀어 질 때보 다 빠른 연결이 이루어져야합니다.

물론 그럴 수는없는 시나리오를 상상할 수 있지만 비정상적인 경우입니다.

+0

ok 그래야 프로세스가 동일하지만 시스템이 닫히고 네트워크 점프가 없으므로 속도가 빨라집니다. – iajnr

+0

또한 질문이 있습니다. 두 장치가 네트워크에 있으면 네트워크와 항상 물리적으로 연결됩니다. @Malt – iajnr

+0

프로세스는 유사하지만 동일하지는 않습니다. 네트워크 간 라우팅이 필요합니다. 단일 네트워크에는 라우팅이 없습니다. "네트워크"는 "스위치 네트워크"또는 유사한 것을 의미합니다. 두 번째 질문에 대해 - 이해가 안됩니다. 장치가 물리적으로 연결이 끊어진 경우 "장치가 네트워크에 있습니다"라는 것은 무엇을 의미합니까? – Malt