반응형

TCP(Transmission Control Protocol)의 개념

 

 

인터넷 프로토콜 기반 소켓의 경우, 

 

데이터 전송방법에 따라 TCP 소켓 UDP 소켓으로 나뉘고,

 

특히 TCP 소켓의 경우 연결을 지향하기 때문에 "스트림 기반 소켓" 이라고도 한다.

 

TCP Transmission Control Protocol의 약자로써

 

"데이터 전송 과정의 컨트롤"이라는 뜻을 담고 있다.

 

그렇기에 TCP 소켓의 정확한 이해를 위해서는 컨트롤의 방법 범위에 대해 살펴보는 것이 도움이 된다.

 

-

 

※ TCP/IP 프로토콜 스택 ※

 

 

TCP를 이해하기 앞서

 

TCP가 속해있는 TCP/IP 프로토콜 스택을 먼저 알아야 한다.

 

아래의 사진은 TCP/IP 프로토콜 스택(계층)을 보여준다.

 

-

 

 

 

-

 

위 그림을 통해 TCP/IP 스택이 총 4개의 계층으로 나누어졌다는 것을 알 수 있는데

 

이는 데이터 송수신 과정을 4개의 영역으로 계층화했다는 의미이다.

 

즉, "인터넷 기반의 효율적인 데이터 전송"이라는 커다란 하나의 문제를

 

하나의 덩치 큰 프로토콜 설계로 해결하는 것이 아니라

 

그 문제를 작게 나눠서 계층화하려는 노력이 시도되었고

 

그 결과로 탄생된게 TCP/IP 프로토콜 스택인 것이다.

 

따라서 TCP 소켓을 생성해서 데이터를 송수신할 경우

 

 4개의 계층의 도움을 통해서 데이터를 송수신하게 된다.

 

단, TCP 소켓 TCP 계층을 이용해서 데이터를 송수신하고

 

UDP 소켓 UDP 계층을 이용해서 데이터를 송수신한다는 것만 다르고

 

이외의 계층들은 두 소켓 모두 같다.

 

-

 

그리고 각각의 계층을 담당하는 것

 

운영체제와 소프트웨어이기도 하고

 

NIC와 같은 물리적인 장치이기도 하다.

 

-

 

※ OSI 7 Layer(계층) ※

 

 

데이터 통신에 사용되는 프로토콜 스택(계층) 7계층으로 세분화된다.

 

그러나 위에서 배운 TCP/IP 프로토콜 스택처럼 4 계층으로 구분 짓기도 한다.

 

만약, 프로토콜 스택 7 계층을 세부적으로 이해하기 원한다면

 

데이터 통신에 관련된 서적이나 네트워크에 관한 서적을 참고하면 된다.

 

하지만 프로그래머의 입장으로써 4 계층으로 이해하고 있어도 충분하다.

반응형

+ Recent posts