[CS] TCP/IP의 각 계층에 대해서

geun·2022년 11월 25일
0

CS

목록 보기
3/3
post-thumbnail

TCP/IP의 각 계층에 대해서.

인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 통신규약(프로토콜)의 모음을
Internet Protocol Suite 이라고 하는데, TCP 와 IP는 그 통신규약(프로토콜) 중 하나이며
그 중 TCP 와 IP는 가장 많이 쓰이기 때문에 TCP/IP Protocol Suite 라고 불린다.

자......쉽게 풀어서 알아보자.......

TCP/IP 를 사용하겠다는 의미란?

  • TCP/IP 를 사용하겠다는 것을 쉽게 말하면 IP주소 체계를 따르고 IP Routing을 이용해 목적지에 도달하며 TCP의 특성을 활용해서 송신자와 수신자의 논리적 연결을 생성하고 신뢰성을 유지할 수 있도록 하겠다는 의미이다.
  • 즉, TCP/IP를 말한다는 것은 송신자가 수신자에게 IP 주소를 사용하여 데이터를 전달하고 그 데이터가 제대로 갔는지, 너무 빠르지는 않는지, 제대로 받았다고 피드백이 오는지에 대한 이야기를 하는 것 이다.

그럼 여기서 TCP와 IP의 개념을 알아보자.

TCP란?

  • Transmission Control Protocol : 전송 제어 프로토콜
  • TCP는 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에
    일련의 옥텟을 안정적으로, 순서대로, 에러없이 교환할 수 있게하는 프로토콜이다.
  • TCP는 데이터를 교환하는 기기 간 데이터의 무결성( 정확성 ) 과 전달의 신뢰성을 보장하기 때문에 거의 모든 애플리케이션 수준의 프로토콜에서 사용하고 있다.

IP란?

  • Internet Protocol 이라고 하며 인터넷을 통해 데이터를 전송하기 위해 지켜야하는 규칙이다.
  • 쉽게 생각하면 현실의 주소처럼 각 컴퓨터가 통신하기 위해 데이터를 전송하기 위한 목적지를 IP 주소화 해서 체계를 만들어 놓은 것이다.

데이터 통신에 대해 더 생각해보기 전에 패킷(Paket)통신 이라는 용어에 대한 이해가 필요하다.


패킷(Packet)이란?

  • 데이터를 전송할 때는 하나의 완전한 데이터를 바로 보내지 않고 분할 작업을 거치게 되는데, 이때 분할되어 작아진 데이터 단위를 패킷(Packet)이라고 한다.

Packet 통신이란?

옛날 프로토콜이 정의되지 않았을때에는 컴퓨터 통신도 기본적으로는 전화처럼 양 쪽이 1 대 1 로 연결되는 방식인 서킷 통신을 사용했다.

하지만 시대를 거듭하면서 서킷 방식의 통신은 회선이 끊어지면 다시 연결을 해야하고, 누군가 선을 사용 중이면 기다려야 하는 불편함이 있었다.

이 고민을 해결하기 위해서 고안된 방법이 여러 개의 노드(망)을 만들어서 일부 선이 끊어지더라도 끊어지지 않은 선을 통해 통신을 하는 방식이다.

하지만 이 방법도 모든 불편함을 해결한 방법은 아니었다. 중간에 연결이 끊어지면 처음부터 다시 연결을 해주어야하고, 연결이 끊기거나 이미 망이 사용 중이라면 가능한 망을 찾아 다시 연결하는 것이 딱히 효율적이지 않기 때문이다.

따라서 고안된 방법이 노드를 다중화 하고, 데이터를 작게 잘라서 보내는 방법이다. 여기서 작게 쪼개진 데이터의 단위를 패킷(packet)이라고 하고 이렇게 작게 쪼개진 패킷(packet)들은 목적지를 향해서 각각 효율적인 방법으로 이동한다.

여기서 의문점이 생길 수 있는데, 데이터를 작게 쪼개어 보내면 뒤섞이거나 빠진 내용이 생길 수 있지 않을까? 라는 생각이다.

하지만 이 내용은 간단하게 해결이 가능하다. 목적지에서 점검해서 순서대로 다시 정렬하고, 잘못되거나 빠진 데이터가 있다면 다시 요청을 해서 합치는 과정만 거치면 된다.

이렇게 데이터를 잘게 쪼개는 패킷(packet) 통신을 함으로 동시에 여러 곳에서 통신을 하더라도 문제가 없어졌다.


TCP vs IP

TCP와 IP는 각기 다른 목적을 가진 프로토콜이지만 인터넷 통신을 위해서는 대부분 두 프로토콜을 함께 사용하기 때문에 흔히 TCP/IP라고 부른다. 즉, TCP는 IP에 대한 대체가 아니라 보완을 목적으로 두는 프로토콜이다. 만약 IP를 통해서만 데이터를 주고받는다면 원치 않는 이슈를 맞닥뜨릴 수 있다.

  • 비연결성 - 패킷을 받을 대상을 확인하지 않고 패킷을 전달
  • 비신뢰성 - 패킷이 유실되거나 잘못된 순서로 전달
  • IP 주소의 한계 - 동일 IP 내에서 구동 중인 프로그램이 두 개 이상일 때 패킷의 목적지 구분 불가

TCP는 위와 같은 문제를 사전에 방지하고자 3 Way-Handshake나 PORT와 같은 메커니즘을 주요한 특징으로 삼고 있다.

TCP/IP의 각 계층에 대해 알아보자

  • Transport Layer(4 Layer)
    • 송신자와 수신자의 논리적 연결을 담당하는 계층으로 신뢰성 있는 연결을 유지할 수 있도록 도와준다.
    • 즉, 사용자 간의 연결을 생성하고 데이터를 얼마나 보냈는지, 얼마나 받았는지, 제대로 받았는지 등을 확인한다.
    • TCP와 UDP가 대표적이다.
  • Network Layer(3 Layer)
    • IP(Internet Protocol)이 활용되는 부분으로, 한 Endpoint가 다른 Endpoint로 가고자 할 경우, 경로와 목적지를 찾아준다. 이를 Routing이라 하며 대역이 다른 IP들이 목적지를 향해 제대로 찾아갈 수 있도록 돕는 역할을 한다.

끗.

profile
말하는 감자🥔에서 기록도 하는 감자🥔로 거듭나기

0개의 댓글

관련 채용 정보