본문 바로가기
* Computer Science/Network

쉽게 이해하는 전송방식의 차이 : TCP와 UDP 차이

by codinguser 2020. 12. 29.

기본적인 OSI 7 Layer를 알면 더 좋지만, 이 글은 OSI 7 layer에 대한 지식 없이

 

쉽게 이해하도록 글을 작성하였다.

 

또한 깊이 있는 특징이나, 전문적인 예시는 빼고 머릿속에 그림을 그리는 것을 목표로 글을 작성하였다.

 

 

 

 

 

 

 

< 서 론 >


 

 

우리가 컴퓨터로 어떠한 데이터를 보내기 될 때 전송하는 방식이라는 게 존재한다.

 

그 방식들 중 TCP와 UDP라는 개념이 있다.

 

즉 전송방식에 TCP와 UDP라는 개념이 있다라고만 알고 이 글을 읽어 나가자.

 

 

 

 

 

 

 

 

 

 

< 살펴보기 > 


 

 

* 패킷이란?

: 네트워크를 통해 전송하기 쉽도록 자른 데이터 전송 단위

 

 

각 OSI 계층별로 데이터가 불려지는 이름은 달라진다. 하지만 이 글은 전체 흐름을 잡는 것이기 때문에 그냥 데이터 = 패킷이라고 받아들여도 괜찮다. 나중에 세부적으로 디테일을 잡아갈 때 그때 바꿔서 기억하면 된다.

 

 

 

 

 

 

 

TCP


Transmission

Control

Protocol

 

:데이터를 전송하기 위해 IP와 함께 사용하는 프로토콜

전송을 하려면? 통로가 있어야겠지? 이러한 통로를 만들어 놓는 작업을 해놓고 데이터를 전송하는 프로토콜

 

 

 

단어로 기준을 잡으면 쉬워진다.

 

전송이라는 의미는 : ~을 ~로 보낸다 라는 의미다.

 

즉 보내는 어떠한 것과 받는 주체가 있다.

 

또한 받는 곳이 있다면, 보내는 누군가가 있다는 것이다.

 

이러한 3가지의 관점에서 보면

 

클라이언트, 패킷, 서버라는 이 3가지의 주체를 생각할 수 있다.

 

~가 ~에게 ~을 보내려면 우선 통로가 확보가 되어 있어야 한다.

 

 

1. 클라이언트는 서버에게 접속을 요청한다.

2. 서버는 요청을 수락하고 + 클라이언트에게 요청을 수락한다는 패킷을 발송

3. 클라이언트가 패킷을 받은 후 서버로 보내면 연결 성립.

 

이 과정을 3 way hand shake라고 부르고 데이터를 전송하기 위해 통로를 확보 해놓는 작업이다.

 

 

과정들을 보니 서로서로가 연결 지향적이고 안정적으로 무언가를 보낼 수 있을 것 같다.

 

 

 

 

 

UDP


User

Datagram

Protocol

 

: 유저가 데이터를 데이터그램(패킷의 일종) 단위로 전송하는 단방향적인 프로토콜

 

 

 

쉽게 이해하는 전송방식의 차이 : TCP와 UDP 차이
스타크래프트에서 보이는 UDP

 

 

 

 

같은 통신으로 쓰이는 방식인데 TCP에서처럼 Transmission 부분이 없다.

 

T 대신 User가 나왔는데. 이 부분을 기준으로 기억하면 쉽다.

 

즉 유저가 단방향으로 통신을 한다라고 기억하면 쉽다.

 

위 그림에서 스타크래프트라는 게임을 할 때 세세한 컨트롤을 연습을 하기 위해

 

가끔씩 UDP로 들어가서 연습을 했었던 경험이 있다.

 

즉, UDP가 패킷을 처리하는 속도가 빠르기 때문이다.

 

 

 

 

 

 

 

 

 

TCP와 UDP 2개의 공통점과 차이점을 정리?


* 공통점

 

: 전송 계층에서 프로토콜로 쓰인다.

: 포트 번호를 이용하여 주소 설정

: 데이터 오류 체크

 

 

 

 

* 차이점

 

TCP

: 양방향 통신(전화)

: 야 난 너가 받았는지 알아야겠어.. 받았으면 나한테 좀 알려줄래?

 

 

UDP

: 단방향 통신(우편)

: 너가 받았는지는 난 몰라. 난 그냥 너한테 보냈어

 

댓글