본문으로 바로가기

[K.Knock]TCP와 UDP 소켓 통신 과정

category Study/network 2017. 6. 7. 22:50

TCP와 UDP의 차이는 이전에 블로그를 통해 공부했었던 것으로 기억한다.


이를 통해 TCP와 UDP의 소켓 통신의 차이점도 한번 알아보자


우선 TCP는 신뢰성을 보장한다. 그래서 저번에 3,4핸드셰이킹에 대해서 조사할 수 있었던 것이다.

즉, 서로 통신이 완결됨을 확인하는 작업이 소켓프로그래밍에 들어가야한다는 것이다.


UDP의 경우 서로 통신이 성공적으로 이루어졌는지 확인하는 작업이 없다. 하지만 그러한 작업이 없기 때문에 오히려 속도가 빨라진다는 장점이 있다. 이러한 UDP는 멀티미디어와 같이 적은 패킷손실에도 큰 영향을 받지 않는 상황에서 사용한다고 한다.




그렇다면 소켓 통신은 어떻게 다를까?



우선 TCP 소켓 통신 과정에는 우선적으로 연결과정을 거친 후에 데이터 송수신을 하게된다. 데이터의 송수신이 모두 완료되면 연결을 종료하는 과정또한 존재한다. 즉, TCP는 연결이 성립된 두 장치끼리만 데이터를 주고받을 수 있다.


그와는 반대로 UDP의 소켓 통신 과정에는 연결된 상태로 데이터를 송수신하지 않기 때문에  하나의 소켓을 가지고 데이터를 전송하고, 데이터를 받게된다. 즉, IP와 포트번호만 알면 누구든지 데이터를 보낼 수 있다.

'Study > network' 카테고리의 다른 글

[K.Knock]소켓 주소 구조체  (0) 2017.06.08
[K.Knock]TCP와 UDP에서 사용되는 소켓함수  (0) 2017.06.08
[K.Knock]소켓 관련 함수  (0) 2017.06.06
[K.Knock]소켓이란?  (0) 2017.06.02
[K.Knock]OSI 7 Layer vs TCP/IP  (0) 2017.06.02