TCP/IP란

Kepler·2020년 3월 29일
1

정의

데이터가 의도된 목적지에 닿을 수 있도록 보장해주는 통신 규약이다.
TCP와 IP 두가지의 프로토콜로 이루어져 있다.
(구체적인 예제와 같이 설명은 여기를 참조: hostingadvice.com)

TCP(Transmission Control Protocol)

두 호스트가 교환하는 데이터와 승인 메세지의 형식을 정의하여, 서버와 클라이언트간의 데이터를 신뢰성있게 전달하기 위해 만들어진 규약이다.
컴퓨터와 컴퓨터를 이어주는 네트워크는 네트워크 선로를 통해 전달되는데, 이 선로는 광케이블일수도, 구리선일수도, 인공위성 일수도 있다. 어떤 선로인지에 따라 데이터를 전달하는 속도와 손실되는 데이터의 양이 달라지는데, 이는 데이터를 전달하는 과정에서 그 순서가 의도하지 않게 뒤바뀌거나 손실이 되어 전달될 수 있음을 뜻한다.

TCP는 데이터 패킷에 일련의 번호를 부여함으로써, 데이터 손실을 찾아내서 교정하고, 순서를 재조합하여 클라이언트에게 전달할 수 있게 해준다.

TCP의 장점은 복잡해서 신뢰성이 높다는 점이다.

IP(Internet Protocol)

컴퓨터와 컴퓨터간에 데이터를 전송하기 위해서, 각 컴퓨터의 주소가 필요하다. Internet Protocol은 4바이트로 이루어진 컴퓨터의 주소이며, 192.168.9.255와 같이 3개의 마침표로 나뉘어진 숫자로 표시된다. IP는 TCP와는 달리 데이터의 재조합이나 손실여부 확인이 불가능하며, 단지 데이터를 전달하는 역할만을 담당한다.

참고로 IP주소는 하드웨어 고유의 식별번호인 MAC주소와 다르게 임시적으로 다른 주체(통신사)에게 받는 주소이므로, 바뀔수 있다.

TCP/IP

IP기반에 TCP가 사용되서 이렇게 불린다고 한다.
TCP가 데이터의 추적을, IP가 배달을 처리한다고 보면 된다(출처: 개발자의취미생활)

TCP defines how applications can create communication channels across a network. IP defines the way each packet is addressed and routed to ensure it reaches the correct destination (EDUCABA).

방식

다음의 4가지 레이어로 구성되어 있다.

1. Application Layer
프로그램(브라우저)가 직접 인터액트하는 레이어. 데이터를 처음으로 받는곳. HTTP, SMTP등의 프로토콜을 가진다.

2. Transport Layer
TCP가 있는 레이어. 포트를 통하여 Application 레이어가 TCP에게 데이터를 전송한다. 각각의 포트에 프로토콜을 지정할 수 있다. 예를 들어, HTTP는 80이라는 포트를 사용한다. 이로써, TCP는 어디에서 데이터가 오는지를 정확히 알 수 있다. 포트를 통해 받은 데이터들은 패킷이라는 작은 단위로 쪼개진다. 이 패킷들은 제각각 가장 빨리 전송될 수 있는 인터넷 루트를 찾아 떠난다. 각각의 패킷들은 TCP header에 어떤 순서로 재조합 할지에 관한 정보를 가진다.

3. Internet Layer
패킷들이 인터넷 레이어에 push된다. IP를 사용하여 데이터의 원천지(origin)과 목적지(destination)에 관한 정보를 첨부한다.

4. Network Layer
마지막으로 패킷들은 네트워크 레이어로 전송된다. 알맞은 하드웨어로 데이터가 전달되도록 MAC주소를 핸들링 하는것 뿐 아니라, 데이터 패킷을 전기신호로 변환하여 선로를 통하여 전달할 수 있게 준비 해준다.

장점

  • open source
  • industry standard
  • scalable
  • interoperable (다른 시스템 사이에서도 전송 가능)

쓰임새

EMAIL(SMTP), HTTP, HTTPS, FTP, TELNET 등 우리에게 친숙한 인터넷 서비스의 대부분이 TCP/IP기반이다.


참고 사이트:

profile
🔰

0개의 댓글