본문 바로가기
재미.

TCP통신과 UDP통신의 차이점

by 단창 2011. 3. 15.
스타크래프트1을 중학교때인가.. 할때,  얘들끼리 우루루 게임방 몰려가서 UDP를 선택하고 치열하게 무한맵ㅋㅋㅋ 을 즐겼었다. ㅋㅋ 어린마음에는 무조건 많고 거대하고 때려뿌수는게 좋았던 모양이다.

그리고 지난 학기 많이 다루어보았던 TCP/IP 통신!
UDP랑은 뭐가 다르지?

생각난 김에 정리해 본다. 쓸데없는 짓일수도 있지만... 그냥 요즘에 포스팅이 부족하니까 ㅋㅋ

- TCP 통신
TCP(Transmission Control Protocol)는 인터넷에서 가장 흔하게 그리고 많이 쓰이는 프로토콜 방식이다. 그 이유는 TCP통신은 error correction이라는게 존재하는데 말 그대로 에러를 다시 잡아주는 것이다. 서버에서 클라이언트에게 어떤 정보를 보냈다고 하자! 그러면 클라이언트는 서버가 보낸 정보를 제대로 받았는지, 확인해주는 메세지를 다시 서버에게 돌려주고, 클라이언트가 제대로 받지 못했을 경우엔 resend를 서버에 요청 할 수 있다. 그러면 loss된 데이터를 다시 클라이언트에게 보낼 수 있는 것이다. 이런 방법들을 flow control이라고 하며, 오리지널 데이터를 로스 하지 않고 받을 수 있게 한다. 즉, guaranteed delivery!

- UDP 통신
UDP(User Datagram Protocol) 은 인터넷에서 또 많이 쓰이는 프로토콜인데 그 사용처는 tcp 통신과는 다르다. tcp통신과의 가장 큰 차이는 단방향 통신이라는것! 서버가 클라이언트에게 혹은 클라이언트가 서버에게! error correction이 없고, 무조건 보내는 쪽에선 던지기만 하고 받는 쪽에선 받기만 한다. 그러다가 데이터 로스가 중간에서 발생하면 어쩌냐? 무시한다. 그냥 던지고 받는거다 ! 이렇게 되면 장점은 TCP통신 보다는 훨씬 빠른 전송을 보여주게 된다.

두 통신방법은 사용되는 곳이 다르다. 웹페이지 전송이다. 어떤 데이터 베이스를 전송할때는 반드시 TCP통신이 사용되어야 한다. 웹페이지가 전송오류로 얼빵한 화면이 떠져 있다면 사용자는 얼마나 황당하겠는가... 데이터 베이스는 물론이고
UDP통신은 비디오 오디오 신호 전송에 사용된다. 빠른 프레임으로 돌아가는 비디오 스트리밍 프로그램에 한두 프레임 로스가 생겼다고 resend를 재요청하고, 데이터 로스를 일일이 확인해서는 버퍼링 때문에 오히려 속터질것이다.  몇 프레임 정도 놓쳐도 오히려 상관없고 놓친 프레임은 과감하게 버리는 방식. 큰 파일을 스트리밍으로 내려 받을 때 적합하다. 인터넷 스트리밍 영상이나 음향들이 퀄리티가 오프라인으로 받아놓고 보는것 보다 좋지 않은 이유도 이것이다.



흠.. 이정도면 됐지! ㅋㅋ 더이상은 생략..ㅋㅋ 
반응형

'재미.' 카테고리의 다른 글

Terminal 에서 CD(DVD) 꺼내기/ 넣기  (0) 2011.07.29
MATLAB, Debug시 Breakpoint에서 멈추지 않을때  (5) 2011.06.19
et al. 의 뜻  (3) 2011.03.28
Welcome to Evernote  (0) 2011.01.12
우분투 10.10 Release  (0) 2010.10.10