용어 설명/네트워크

소켓통신

ssNi 2014. 8. 13. 14:25

소켓 통신

 

네트워크를 통하여 서로 다른 컴퓨터에서 수행되는 프로세스간의 통신 채널이다.

 

소켓통신에는 신뢰성 프로토콜인 TCP(Transfer Control Protocol)와 비신뢰성 프로토콜인 UDP(User Datagram Protocol)가 있다.

 

 

 

TCP 통신의 개념

 

TCP 통신은 쉽게 전화 통화하는 방식으로 동작한다. 상대방의 전화번호를 알고 있어야 전화를 걸 수 있듯이 상대방의 IP 주소와 포트를 알고 있어야 연결을 할 수 있다.

 

서버가 응답을 받아주지 않으면 계속적으로 요청을 하게 된다. 어느 시점에서 요청을 포기하게 될 수도 있다.

 

이처럼 TCP 통신은 계속적으로 소켓을 통해 데이터를 주고 받을 수 있는 양방향 통신이 가능하다. 또한 데이터를 받지 못했을 때 다시 요청하는 메커니즘을 가지고 있다.

 

 

 

UDP 통신의 개념

 

상대방과 연결되어 있는 개념이 아니다. 소켓을 개설하고 그냥 데이터를 보내는 개념이다.

 

이는 편지를 보내는 방식과 유사하다. 편지를 보냈더라도 편지를 받는 사람은 편지함을 열어보기 전에는 편지가 왔는지 안왔는지 알 수 없다.

 

따라서 UDP 통신은 UDP 소켓을 통해서 자신의 포트를 열어보기 전에는 데이터가 왔는지 오지 않았는지 알 수 없다.

 

 

 

TCP UDP의 비교

 

TCP 통신은 데이터를 주고 받을 때 데이터가 도착했는지 여부를 내부적으로 확인한다.

 

만약 데이터가 오지 않았다면 재요청을 하는 메커니즘을 가지고 있어 양방향으로 연결 되어 있지만 이러한 확인 절차로 인해 속도면에서 느리다.

 

하지만 UDP는 이러한 확인 절차를 거치지 않고 계속적으로 데이터를 전송하기만 하기 때문에 속도면에서 훨씬 빠르다.

 

속도면에서는 UDP가 빠르지만 UDP는 데이터가 도착했는지 알 수 었는 비신뢰성 프로토콜이다.

 

http://blog.naver.com/cache798/130004442830

'용어 설명 > 네트워크' 카테고리의 다른 글

PORT Number 정보  (0) 2013.11.04
SOAP와 RESTfull 방식  (0) 2013.09.16
프록시  (0) 2013.07.02
apache의 구동 원리 & PHP (서버 사이드 언어) & HTML  (0) 2013.03.21