TCP/IP 애니메이션 TCP/IP 애니메이션

TCP/IP 애니메이션 , TCP, UDP 통신

Google Play Apple store


TCP, UDP 통신

TCP와 UDP는 데이터 통신을 제어하는 규칙입니다. TCP가 UDP보다 엄격하게 통신을 관리합니다. 따라서 TCP는 정확성을 필요로하는 통신에 적합 UDP는 신속성을 필요로하는 통신에 적합합니다.

통신 중 데이터는 패킷이라고 불리는 작은 조각으로 나누어 져 있습니다. 그리고 TCP 또는 UDP 헤더가 모든 패킷에 추가됩니다.

* TCP 대한 자세한
TCP는 먼저 원본 PC와 대상 PC 간의 연결이 설정됩니다. 그런 다음 데이터 패킷의 상태에서 전송되고 수신자가 수신 원래 상태로 조립합니다.그리고 TCP 헤더에 포함되어있는 정보와 실제 데이터를 확인하고 오류가 없는지 확인합니다. 확인 후 수신자가 매번 응답합니다.
통신에 문제가있을 경우 동일한 데이터를 다시 전송됩니다.

* TCP 및 UDP 헤더의 내용
'원본 및 대상 포트': PC 포트 번호
'일련 번호': 데이터 전송 번호. 1 바이트마다 1 씩 증가합니다.
'ACK No.':받은 시퀀스 번호에 1 추가
'MSS (option)': 패킷의 최대 데이터 크기 (바이트).
'Window': ACK를 기다리지 않고 순차적으로 전송되는 데이터 크기. (예) Window (2000 바이트) = MSS (1000 바이트) * 2
'Checksum': 데이터의 정확성을 확인하기위한 값




TCP

표준 TCP 통신


* '[(S) No.00]'에 대해
'No.00'TCP 헤더의 시퀀스 번호를 의미합니다.'(S)'는 서버 측 시퀀스 번호를 의미하고 '(P)'는 PC 측 시퀀스 번호를 의미합니다.

1.PC가 웹 서버에 접속하면 처음에 PC와 서버 간 통신을위한 TCP 연결이 설정됩니다.

2.이 연결은 '3 way hand shake'이라고합니다. 연결을 설정하는 동안 각각의 시작 시퀀스 번호와 MSS 크기가 결정됩니다.

3.TCP 연결 설정 중

4.PC : Web 사이트 'http://www.ogumo.co.jp'에 액세스합니다.(SYN) TCP 연결을 요청합니다. [(P)No.4800]

5.Server : (ACK) OK. [(P)No.4801] (SYN) 나도 TCP 연결을 요청합니다. [(S)No.4900]

6.PC : (ACK) OK. [(S)No.4901]

7.PC : 연결이 설정되었습니다.

8.Server : 연결이 설정되었습니다.

9.PC 또는 서버가 'SYN'을 보낼 때 각 시작 시퀀스 번호가 무작위로 설정되었습니다.PC(4800),Server(4900)

10.PC : (PSH) Web 사이트의 데이터를 요청합니다.

11.Web 사이트 데이터 통신을 시작합니다.

12.PC : 이 요청 크기는 1 패킷 금액은 10 바이트입니다. [(P)No.4801-4810]

13.PC와 서버 간의 요청과 응답

14.Server : (ACK) OK. [(P)No.4811] (PSH) Web 사이트의 데이터를 전송합니다.(1 패킷 양은 1000 바이트) [(S)No.4901-5900]

15.PC : Web 사이트 데이터의 절반을 취득했습니다.

16.PC : (ACK) OK. [(S)No.5901]

17.Server : (PSH) 사이트 데이터의 후반 (1 패킷, 1000 바이트)를 보냅니다. [(S)No.5901-6900]

18.PC : Web 사이트의 데이터를 검색했습니다.

19.PC : (ACK) OK. [(S)No.6901]

20.연결 종료 중

21.PC : (FIN) Web 사이트의 표시를 종료합니다.이 요청 크기는 1 패킷 양은 1 바이트입니다. [(P)No.4811]

22.Server : (ACK) OK. [(P)No.4812]

23.Server : (FIN) 연결을 종료합니다. [(S)No.6901]

24.PC : (ACK) OK. [(S)No.6902]

25.Server : 연결이 종료되었습니다.

26.PC : 전송이 완료되었습니다.



TCP 수고

TCP 통신 중에 문제가 발생합니다.


* '[(S) No.00]'에 대해
'No.00'TCP 헤더의 시퀀스 번호를 의미합니다.'(S)'는 서버 측 시퀀스 번호를 의미하고 '(P)'는 PC 측 시퀀스 번호를 의미합니다.

1.간결한 설명을 위해, 통신의 연결이 이미 확립 된 상태에서 시작합니다.

2.PC 또는 서버가 'SYN'을 보낼 때 각 시작 시퀀스 번호가 무작위로 설정되었습니다.PC[4800],Server[4900].그 번호는 3 방향 핸드 셰이크 중에 1 증가합니다.

3.PC : (PSH) Web 사이트의 데이터를 요청합니다.

4.Web 사이트 데이터 통신을 시작합니다.

5.PC : 이 요청 크기는 1 패킷 금액은 10 바이트입니다. [(P)No.4801-4810]

6.PC와 서버 간의 요청과 응답

7.Server : (ACK) OK. [(P)No.4811] (PSH) Web 사이트의 데이터를 전송합니다.(1 패킷 양은 1000 바이트) [(S)No.4901-5900]

8.데이터의 일부가 누락되어 있습니다.

9.PC : 데이터를 복원 할 수 없습니다.

10.PC : 받은 실제 데이터 량은 800 바이트입니다 .200 바이트 감소했습니다.

11.PC : 잃어버린 시퀀스 번호 [(S)No.5701-5900]

12.PC : Checksum에서 데이터 유효성 검사 오류가 발생합니다.이 경우 PC는 ACK를 보낼 수 없습니다.

13.Server : (PSH) 일정 시간 경과해도 ACK가 반환되지 않으므로 동일한 패킷을 재전송합니다. [(S)No.4901-5900]

14.PC : (ACK) OK. [(S)No.5901]

15.Server : (PSH) Web 사이트의 데이터를 전송합니다.(1 패킷 양은 1000 바이트) [(S)No.5901-6900]

16.PC : Web 사이트의 데이터를 검색했습니다.

17.PC : (ACK) OK. [(S)No.6901]

18.PC : ACK 패킷이 소실되었습니다.

19.Server : (PSH) 일정 시간 경과해도 ACK가 반환되지 않으므로 동일한 패킷을 재전송합니다. [(S)No.5901-6900]

20.PC : (ACK) Web 사이트의 데이터를 검색했습니다.

21.Server : ACK를 수신했습니다. [(S)No.6901] 모든 Web 사이트 데이터가 전송되었습니다.

22.연결의 종료는 생략되어 있습니다.



TCP Window

'Window size'를 설정하면 지속적인 통신이 가능합니다.


* '[(S) No.00]'에 대해
'No.00'TCP 헤더의 시퀀스 번호를 의미합니다.'(S)'는 서버 측 시퀀스 번호를 의미하고 '(P)'는 PC 측 시퀀스 번호를 의미합니다.

1.간결한 설명을 위해, 통신의 연결이 이미 확립 된 상태에서 시작합니다.

2.시퀀스 번호, MSS 및 'Window size' 는 연결이 설정 될 때 결정됩니다.Window = MSS * 2. 따라서 사이트 데이터는 ACK를받지 않고 2 회 이상 전송됩니다.

3.Web 사이트 데이터 통신을 시작합니다.

4.PC : (PSH) Web 사이트의 데이터를 요청합니다.

5.PC : 이 요청 크기는 1 패킷 금액은 10 바이트입니다. [(P)No.4801-4810]

6.PC와 서버 간의 요청과 응답

7.ACK를 받기 전에 'Window size' 에 따라 사이트 데이터를 연속적으로 전송합니다.

8.Server : (ACK) OK. [(P)No.4811] (PSH) Web 사이트의 데이터를 전송합니다.(1 패킷 양은 1000 바이트) [(S)No.4901-5900]

9.Server : (PSH) 다음 패킷을 전송합니다. [(S)No.5901-6900]

10.PC : (ACK) Web 사이트 데이터의 절반을 취득했습니다.

11.Server : ACK를 수신했습니다. [(S)No.5901]

12.PC : (ACK) Web 사이트의 데이터를 검색했습니다.

13.Server : ACK를 수신했습니다. [(S)No.6901] 모든 Web 사이트 데이터가 전송되었습니다.

14.연결의 종료는 생략되어 있습니다.

15.'Window size' 가 설정되어 있기 때문에 통신 시간이 단축됩니다.



TCP Window 수고

'Window size'를 설정하면 문제가 발생합니다.


* '[(S) No.00]'에 대해
'No.00'TCP 헤더의 시퀀스 번호를 의미합니다.'(S)'는 서버 측 시퀀스 번호를 의미하고 '(P)'는 PC 측 시퀀스 번호를 의미합니다.

1.간결한 설명을 위해, 통신의 연결이 이미 확립 된 상태에서 시작합니다.

2.시퀀스 번호, MSS 및 'Window size' 는 연결이 설정 될 때 결정됩니다.Window = MSS * 2. 따라서 사이트 데이터는 ACK를받지 않고 2 회 이상 전송됩니다.

3.Web 사이트 데이터 통신을 시작합니다.

4.PC : (PSH) Web 사이트의 데이터를 요청합니다.

5.PC : 이 요청 크기는 1 패킷 금액은 10 바이트입니다. [(P)No.4801-4810]

6.PC와 서버 간의 요청과 응답

7.ACK를 받기 전에 'Window size' 에 따라 사이트 데이터를 연속적으로 전송합니다.

8.Server : (ACK) OK. [(P)No.4811] (PSH) Web 사이트의 데이터를 전송합니다.(1 패킷 양은 1000 바이트) [(S)No.4901-5900]

9.PC : Web 사이트의 데이터를 검색했습니다. [(S)No.4901-5700] 데이터의 일부가 누락되어 있습니다.

10.Server : (PSH) 다음 패킷을 전송합니다. [(S)No.5901-6900]

11.데이터의 일부가 누락되어 있습니다.

12.Server : 서버는 첫 번째 ACK를 기다리고 있습니다. [(S)No.5901]

13.PC : (ACK) Web 사이트 데이터 후반의 절반을 취득했습니다. [(S)No.5901-6900]

14.PC : 두 번째 ACK 만 반환됩니다. ACK 번호는 PC가 첫 번째 패킷을 요청 함을 나타냅니다. [(S)No.4901]

15.PC : 처음과는 다른 사이트 데이터 패킷을 PC에 전송되는 동일한 ACK가 반환됩니다. [(S)No.4901]

16.Server : 동일한 ACK가 연속해서 여러 번 반환되거나 타임 아웃이 발생하면 서버는 패킷을 다시 보냅니다. [(S)No.4901-5900]

17.Server : (PSH) 과거 ACK 번호가 아직 전송되어 있기 때문에 동일한 패킷을 재전송합니다. [(S)No.4901-5900]

18.PC : (ACK) Web 사이트의 데이터를 검색했습니다. [(S)No.4901-5900]

19.Server : ACK를 수신했습니다. [(S)No.6901] 모든 Web 사이트 데이터가 전송되었습니다.

20.연결의 종료는 생략되어 있습니다.

21.데이터가 제대로 전송되지 않은 경우, 수신자는 부족한 데이터를 기다 같은 ACK 번호를 발신자에게 통지하고 있습니다.



UDP

UDP 통신이 예는 과거의 Web 동영상의 형태입니다.


1.동영상 데이터의 다운로드를 UDP 시작하기 전에 PC는 TCP를 사용하여 동영상을 공개하고있는 Web 사이트에 액세스해야합니다 .TCP 대한 설명을 쉽게합니다.

2.PC : (PSH) Web 사이트의 데이터를 요청합니다.

3.Server : (ACK)+(PSH) Web 사이트의 데이터를 전송합니다.

4.PC : (ACK) Web 사이트의 데이터를 검색했습니다.

5.연결이 설정되고, 사이트 데이터를 TCP로 다운로드됩니다. 동영상 데이터는 아직 다운로드되지 않습니다.

6.PC : (PSH) 버튼으로 동영상을 재생합니다.

7.Server : (ACK) OK.

8.이 연결은 TCP 통신입니다 .UDP 그것을 필요로하지 않습니다. 설명을 위해 여기에 표시하지 않습니다.

9.이 동영상 응용 프로그램은 UDP로 데이터를 전송합니다.

10.Server : 이 동영상 응용 프로그램은 UDP로 데이터를 전송합니다.

11.PC : 동영상 데이터를 검색하고 표시합니다.

12.Server : 데이터 확인 및 응답 대기없이 다음 데이터를 보냅니다.

13.Server : 이 동영상 응용 프로그램은 UDP로 데이터를 전송합니다.

14.동영상 데이터가 계속 전송됩니다.

15.PC : 동영상 데이터를 검색하고 표시합니다.

16.Server : 이 동영상 응용 프로그램은 UDP로 데이터를 전송합니다.

17.PC 조작으로 갑자기 UDP 통신이 종료되었습니다. 이제부터는 데이터가 TCP로 전송됩니다.

18.PC : (PSH) 종료 버튼을 누릅니다.

19.Server : (ACK) OK.

20.PC : 비디오 시청을 마쳤습니다.



UDP 수고

UDP 통신하는 동안 문제가 발생합니다.


1.동영상 데이터의 다운로드를 UDP 시작하기 전에 PC는 TCP를 사용하여 동영상을 공개하고있는 Web 사이트에 액세스해야합니다 .TCP 대한 설명을 쉽게합니다.

2.PC : (PSH) Web 사이트의 데이터를 요청합니다.

3.Server : (ACK)+(PSH) Web 사이트의 데이터를 전송합니다.

4.PC : (ACK) Web 사이트의 데이터를 검색했습니다.

5.연결이 설정되고, 사이트 데이터를 TCP로 다운로드됩니다. 동영상 데이터는 아직 다운로드되지 않습니다.

6.PC : (PSH) 버튼으로 동영상을 재생합니다.

7.Server : (ACK) OK.

8.이 연결은 TCP 통신입니다 .UDP 그것을 필요로하지 않습니다. 설명을 위해 여기에 표시하지 않습니다.

9.이 동영상 응용 프로그램은 UDP로 데이터를 전송합니다.

10.Server : 이 동영상 응용 프로그램은 UDP로 데이터를 전송합니다.

11.PC : 동영상 데이터를 검색하고 표시합니다.

12.Server : 데이터 확인 및 응답 대기없이 다음 데이터를 보냅니다.

13.Server : 이 동영상 응용 프로그램은 UDP로 데이터를 전송합니다.

14.동영상 데이터가 계속 전송됩니다.

15.PC : 동영상 데이터를 검색하고 표시합니다.

16.Server : 이 동영상 응용 프로그램은 UDP로 데이터를 전송합니다.

17.데이터가 손실 되더라도 데이터는 UDP에 의해 확인되지 않습니다.

18.그러나 데이터 량은 UDP 헤더에 기록되기 때문에 응용 프로그램에서이를 인식하고 문제를 해결하는 용 설정할 수 있습니다.

19.PC 조작으로 갑자기 UDP 통신이 종료되었습니다. 이제부터는 데이터가 TCP로 전송됩니다.

20.PC : (PSH) 종료 버튼을 누릅니다.

21.Server : (ACK) OK.

22.PC : 비디오 시청을 마쳤습니다.



실제 네트워크 / Web 사이트, SSL / 편지 / FTP / VPN /

기기 / DNS / LAN, DHCP, NAT / IP 주소 / PC 포트 /

TCP/IP 레이어 / TCP, UDP 통신 / IP 통신 / 시작 화면


us / es / cn / ja / kr / de / fr / pt / it / ru / ar / Ogumo top