본문 바로가기
IT/네트워크

TCP/IP 프로토콜에 대한 설명, TCP, IP의 개념

by 미니송 2017. 8. 11.



이번 포스팅은 TCP IP 프로토콜에 대해 하겠습니다. 많이 들어보셨을 것이라 생각됩니다. 특징에 대해 설명하도록 하겠습니다. 나중에 한번 더 포스팅 하도록 하겠습니다.



프로토콜

프로토콜은 컴퓨터 간의 주고받는 메시지를 전송할 때 에러가 발생하지 않도록 알맞은 크기로 나누어져 전송하고 이를 받아서 다시 원래의 정보로 변환하는 것을 약속해 놓은 것입니다. TCP/IP 1960년대 말 미국방성(DARPA)의 연구에서 시작되어 1980년대 초 프로토콜 모델이 공개되었습니다.


 

TCP/IP 프로토콜

인터넷 프로토콜 중 가장 중요한 역할을 하는 TCP IP의 합성어로 인터넷 동작의 중심이 되는 통신규약으로 데이터의 흐름 관리, 데이터의 정확성 확인(TCP 역할), 패킷을 목적지까지 전송하는 역할(IP 역할)을 담당합니다.

 

IP는 데이터를 한 장소에서 다른 장소로 정확하게 옮겨주는 역할을 하며, TCP는 전체 데이터가 잘 전송될 수 있도록 데이터의 흐름을 조절하고 성공적으로 상대편 컴퓨터에 도착할 수 있도록 보장해주는 역할을 합니다.


TCP/IP는 개방형 프로토콜의 표준으로 특정 하드웨어나 OS에 독립적으로 사용하는 것이 가능합니다. 또 인터넷에서 서로 다른 시스템을 가진 컴퓨터들을 서로 연결하고, 데이터를 전송하는데 사용하는 통신 프로토콜로 근거리 및 원거리 모두에 사용할 수 있습니다.

 


TCP/IPOSI 7계층

TCP/IP는 응용 계층, 트랜스포트층, 인터넷층, 네트워크 인터페이스층의 4개의 계층으로 구성되어 있습니다. 응용 계층은 사용자 응용 프로그램으로부터 요청을 받아서 이를 적절한 메시지로 변환하고 하위계층으로 전달하는 역할하는 기능을 담당합니다. 트랜스포트층은 IP에 의해 전달되는 패킷의 오류를 검사하고 재전송을 요구하는 등의 제어를 담당하는 계층으로 TCP, UDP 두 종류의 프로토콜이 사용됩니다. 그리고 인터넷층은 전송 계층에서 받은 패킷을 목적지까지 효율적으로 전달하는 것만 고려합니다.


데이터그램이 가지고 있는 주소를 판독하고 네트워크에서 주소에 맞는 네트워크를 탐색, 해당 호스트가 받을 수 있도록 데이터그램에 전송합니다. 마지막으로 네트워크 인터페이스층은 특정 프로토콜을 규정하지 않고, 모든 표준과 기술적인 프로토콜을 지원하는 계층으로서 프레임을 물리적인 회선에 올리거나 내려받는 역할을 담당합니다.


TCP/IP OSI 참조모델과 비교하면 공통점으로는 다양한 서비스 기능을 가진 응용 프로그램 계층이 존재하고, 전송계층/네트워크 계층과 호환하는 계층이 존재합니다. 차이점으로는 TCP/IP 프로토콜의 응용 계층은 OSI 참조모델의 표현계층과 세션계층을 포함하며, TCP/IP 프로토콜은 물리계층과 데이터 링크계층을 하나로 취급한다는 점입니다.

 


TCP 프로토콜

TCP(Transmission Control Protocol) IP 프로토콜 위에서 연결형 서비스를 지원하는 전송계층 프로토콜로, 인터넷 환경에서 기본으로 사용한다. TCP에서 제공하는 주요 기능은 다음과 같습니다.


1. 연결형 서비스를 제공합니다.


2. 전이중(Full Duplex) 방식의 양방향 가상 회선을 제공합니다.


3. 신뢰성 있는 데이터 전송을 보장합니다.


인터넷에서 네트워크 계층의 기능을 제공하는 프로토콜은 IP, IP 프로토콜 위에서 실행되는 전송 계층 프로토콜은 서비스의 유형에 따라 두 종류로 구분합니다.

TCP는 연결형 서비스를 지원하는 프로토콜이고, UDP는 비연결형 서비스를 지원하는 프로토콜입니다. 전송 계층 프로토콜은 운영체제 내부 기능으로 구현됩니다. 따라서 이 서비스를 사용하려면 상위 계층에서 시스템 콜이라는 프로그램 호출 방식을 이용해야 합니다.

 

전송 계층 프로토콜인 TCP UDP 위에는 세션 계층, 표현 계층, 응용 계층의 기능을 지원하는 다양한 응용 프로그램이 존재할 수 있습니다. 응용 프로그램이 해당 응용 환경에 적합한 기능을 지원하기 위해 연결형 서비스가 필요한지, 비연결형 서비스가 필요한지를 판단해 TCP UDP를 선택합니다. TCP UDP 선택에서는 단순히 신뢰성이나 연결 유무의 차이뿐만 아니라, 이러한 차이가 응용 프로그램의 구축에 어떤 영향을 끼치는지를 이해해야 합니다.

 

응용 프로그램의 종류는 아주 다양하다. 파일 전송 기능, 메일 송수신 기능 등은 일반 사용자가 가장 많이 이용하는 인터넷 서비스입니다. 호스트의 이름과 주소를 변환하는 네임 서버 기능은 사용자가 의식하지는 못하지만 가장 많이 이용하는 인터넷 서비스입니다. 사용자도 모르는 사이에 이용하고 있는 것들이 많습니다. 마지막의 NFS(Network File System)는 원격 분산 파일 시스템 기능을 지원하는 것으로, 호스트 사이의 파일 공유와 유사한 기능을 제공합니다. 점점 기술이 발달해 가면서 쓰지 않는 기술들도 나오게 되고 새로운 기술들도 나오게 됩니다.

 


IP프로토콜

인터넷 환경에서 네트워크 계층의 전송 프로토콜로 이용되는 IP(Internet Protocol)은 호스트 주소 표기, 패킷 분할에 관한 기능을 지원하지만, End-to-End 형식의 오류 제어나 흐름 제어 기능은 제공하지 않습니다.


IP프로토콜에서 라우터 간의 패킷 중개할 때는 Best Effort 라는 원칙에 따라 전송하는데, 이 방식은 전송 패킷이 수신 호스트에게 100% 도착하는 것을 보장하지 않습니다. 따라서 IP프로토콜에서 제공하지 않는 전송 오류 문제를 상위 계층에서 고려해야 합니다. IP프로토콜의 주요 특징입니다.


1. 비연결형 서비스를 제공합니다. (CL방식)


2. 패킷을 분할, 병합하는 기능을 수행합니다.


3. 데이터 체크섬은 제공하지 않고, 헤더 체크섬만 제공합니다.


4. Best Effort 원칙에 따른 전송 기능을 제공합니다.

댓글