기본적인 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에서처럼 Transmission 부분이 없다.
T 대신 User가 나왔는데. 이 부분을 기준으로 기억하면 쉽다.
즉 유저가 단방향으로 통신을 한다라고 기억하면 쉽다.
위 그림에서 스타크래프트라는 게임을 할 때 세세한 컨트롤을 연습을 하기 위해
가끔씩 UDP로 들어가서 연습을 했었던 경험이 있다.
즉, UDP가 패킷을 처리하는 속도가 빠르기 때문이다.
TCP와 UDP 2개의 공통점과 차이점을 정리?
* 공통점
: 전송 계층에서 프로토콜로 쓰인다.
: 포트 번호를 이용하여 주소 설정
: 데이터 오류 체크
* 차이점
TCP
: 양방향 통신(전화)
: 야 난 너가 받았는지 알아야겠어.. 받았으면 나한테 좀 알려줄래?
UDP
: 단방향 통신(우편)
: 너가 받았는지는 난 몰라. 난 그냥 너한테 보냈어
'* Computer Science > Network' 카테고리의 다른 글
인터넷(Internet), 웹(Web), 이더넷(Ethernet)의 차이 (0) | 2020.12.28 |
---|---|
네트워크(Network)와 네트워킹(Networking) 차이점 (0) | 2020.12.27 |
[TCP/IP] HTTP 왜 응답코드를 사용할까? (0) | 2020.12.26 |
TCP/IP란 무엇이며 왜 배워야 하는가?(+프로토콜 개념) (0) | 2020.12.25 |
댓글