TCP / IP 란?
TCP/IP 들어가기 전 간단히 프로토콜에 대해서 먼저 알아보자.
- 프로토콜
정의는 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙의 체계이다.
간단히 서로 주고 받는 것에 대한 약속이라고 생각하면 된다.
현재는 TCP/IP 프로토콜이 주로 사용되고 있다.
그러면 TCP/IP 가 뭔지 알아보자.
- TCP/IP
TCP/IP 패킷 통신 방식의 인터넷 프로토콜인 IP와 전송 조절 프로토콜인 TCP로 이루어져 있다.
IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다.
TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해 준다.
HTTP, FTP, SMTP 등 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 IP 위에서 동작하기 때문에, 묶어서 TCP/IP로 부르기도 한다.
각각 확인해 보자.
TCP(Transmission Control protocol)
TCP는 전송 계층에 위치한다.
네트워크의 정보 전달을 통제하는 프로토콜이자 인터넷을 이루는 핵심 프로토콜의 하나이다.
TCP는 웹 브라우저들이 월드 와이드 웹에서 서버에 연결할 때 사용되며, 이메일 전송이나 파일 전송에도 사용된다.
두 호스트가 교환하는 데이터와 승인 메시지의 형식을 정의하여, 서버와 클라이언트 간의 데이터를 신뢰성 있게 전달하기 위해 만들어진 규약이다.
- 특징
* 신뢰성
TCP의 가장 중요한 특징은 신뢰할 수 있는 말단 장치간 데이터 전달이다. TCP는 신뢰성을 실현하기 위해 적극적 수신, 통지, 재전송 체계를 사용한다.
* 흐름제어
TCP 데이터 세그먼트를 송수신하는 컴퓨터는 CPU와 네트워크 대역폭의 차이 때문에 서로 다른 데이터 속도로 작동할 수 있다.
* TCP 연결은 데이터를 양방향으로 운반할 수 있다.
즉, 하나의 전송선로에서 데이터가 동시에 양쪽 방향으로 전송될 수 있는 것을 의미한다.
* TCP 연결을 3way handshake 절차를 사용하여 열린다.
간단히 보면 다음과 같다.
1. 송신자가 수신자에게 SYN을 날려 통신이 가능한지 확인한다.
2. 수신자가 송신자로부터 SYN을 받고 SYN/ACK를 송신자에게 날려 통신할 준비가 되어있음을 알린다.
3. 송신자가 수신자의 SYN/ACK를 받고 ACK를 날려 전송을 시작함을 알린다.
IP(Internet Protocol)
인터넷 프로토콜은 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약이다.
OSI 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당한다.
- 특징
* 비신뢰성, 비연결성
흐름에 관여하지 않기 때문에 보낸 정보가 제대로 갔는지 보장하지 않는다.
예를 들어 전송과정에서 패킷이 손상될 수도 있고, 같은 호스트에서 전송한 패킷의 순서가 뒤죽박죽이 될 수 도 있고, 같은 패킷이 두 번 전송될 수도 있으며, 아얘 패킷이 사라질 수도 있다.
이러한 특징때문에 다른 또 하나의 프로토콜을 필요로 하며 대개의 경우 전송 제어 프로토콜 TCP가 그 역할을 한다.
출처 :
위키백과,
https://aws-hyoh.tistory.com/entry/TCPIP-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0
TCP/IP 쉽게 이해하기
IT 분야에서 실무를 담당하시는 분들뿐만 아니라 학생, IT 쪽에 조금이라도 관심이 있는 분들이라면 TCP/IP에 대해 들어보셨을 겁니다. 저 또한 학부시절에 TCP/IP에 대해서 여러 번 들어보았는데요.
aws-hyoh.tistory.com