대가는 결과를 만든다

TCP와 UDP 비교 본문

이론/일반 이론

TCP와 UDP 비교

yunzema 2018. 5. 29. 15:24
반응형

채팅구현에 필요한 프로토콜로써 TCP와 UDP를 실질적으로 비교 해보고 테스트하고 정리한 자료이다.



일반적으로 알고있는 이론적인 차이점


TCP

UDP

전송

세그먼트

Datagram

헤더크기

20byte

8byte

연결

연결 후 전송, 전송 후 해제

(3Way Hand, 4Way Hand)

그냥 전송

패킷 순서, 중복 확인

세그먼트 넘버링 해서 보낸 후

받아서 순서에 맞게 배치

그냥 보내고 받는 대로 처리

(순서 변경, 중복 발생 가능)

유실 패킷

설정된 윈도우 크기만큼 보내고

응답 기다림(다음으로 안 넘어감)

안 받은 데이터 재전송 요구

수신 측에선 누락된 지 모름

여러 대상에게 전송

각 보낼 대상과 모두 연결 수립

여러 대상에게 전송 가능

(멀티캐스트, 브로드캐스트)













질문


1.TCP의 절차와 제어가 서비스에 필요한가오버헤드인가?

2.TCP UDP 실제 동작 차이, 정확성 차이 관찰














1. TCP





-3way Handshaking이란

SYN C : 내 말 잘 들리니?

SYN,ACK S : 응 들려! 너는 내 말 들리니?

ACK C : 들려!

=> 양방향 연결 확인 완료 절차




-4way Handshaking















TCP 와이어샤크로 확인






1. 번호화

  - 중복 데이터 확인 및 데이터 순서 정렬 가능

 

2. 흐름 제어 : 송신하는 데이터와 수신 데이터 속도의 균형

  - 윈도우 : 통신하는 상대편에게 자신의 버퍼 여유용량 크기를 지속적으로 통보

3. 오류 제어

  - 타이머를 통한 ACK 손실 체크

  - 번호화를 통한 누락 세그먼트 체크















2. UDP

















3. TCP UDP 실제 테스트

인터넷 환경을 달리하고 TCP, UDP를 이용,

반복문을 1~100까지의 숫자를 클라이언트에서 서버로 전송하여 출력,

유실되는 값을 확인




3.1 TCP

환경 : LTE 핫스팟 연결 상태 (양호, 불량)

- 연결상태 양호한 상황에서 패킷 100* 10번 시도에 유실 없음

- 연결상태 불량한 상황에서  패킷 100* 10번 시도 1개의 패킷 유실 발생



3.2 UDP










4. TCP UDP 단위 와이어샤크


'이론 > 일반 이론' 카테고리의 다른 글

개인정보 보호법 및 암호화 관련 정리  (0) 2019.12.12
REST API  (0) 2018.09.27
파이프라인 구조  (0) 2018.06.01
시간 복잡도 관련 공부  (0) 2018.06.01
Comments