💾 CS

네트워크의 규칙: 프로토콜, 패킷, TCP/IP

별이⭐ 2024. 5. 9. 08:13

네트워크의 규칙

프로토콜

💡 프로토콜이란?

  • 네트워크에서 문제없이 통신하려면 규칙(약속)을 지켜야 한다.
    • 예를 들어 서로 다른 언어를 사용한다면 대화를 나눌 수 없다. 같은 언어를 사용하자는 규칙을 미리 만들어두면 문제없이 대화할 수 있다.
  • 이와 같이 컴퓨터 간에 정보를 주고받을 때의 통신 방법에 대한 규칙이나 표준을 프로토콜이라고 한다.

 

패킷

💡 패킷이란?

  • 패킷은 컴퓨터 간에 데이터를 주고받을 때 네트워크를 통해 전송되는 작은 조각을 말한다.
    • 큰 데이터가 있더라도 작게 나누어서 보내는 게 규칙이다.
      • 데이터는 택배처럼 작게 포장해서 보낸다. (패킷 = 택배)
    • 왜 굳이 작게 나누는가?
      • 큰 데이터를 그대로 보내면 그 데이터가 네트워크의 대역폭을 너무 많이 차지(점유)해서 다른 패킷의 흐름을 막을 위험이 있다.
      • 네트워크와 도로망은 비슷하다. 차선 두 개를 모두 대형 트럭이 점령해 버리면 교통 정체가 일어난다. 마찬가지로 큰 데이터를 네트워크로 내보내면 정체가 발생한다.
  • 목적지에서는 나눠진 패킷을 원래대로 되돌리는 작업을 해야한다.
    • 목적지로 보내진 패킷이 전송한 순서대로 도착하지 않을 수도 있고, 패킷이 전송될 때 네트워크가 지연되어서 늦게 도착하거나 패킷이 누락되기도 한다.
      • 그래서 목적지에 도착한 패킷은 순서 없이 제각각 도착한다.
    • 원래대로 되돌리기 위해서 송신 측에서 수신 측으로 패킷을 보낼 때는 패킷에 순서대로 번호를 붙여서 보낸다. 그럼 번호에 맞춰서 정렬하면 되니까 순서가 꼬여도 괜찮다.
      • 디지털 데이터이기 때문에 순서대로 도착하지 않아도 되돌릴 수 있다.

 

TCP/IP(Transmission Control Protocol, 전송 제어 프로토콜/Internet Protocol, 인터넷 프로토콜)

💡 TCP/IP란?

  • 컴퓨터가 서로 통신하는 경우, 특정 규칙이나 프로토콜을 사용해 순서대로 데이터를 전송 및 수신할 수 있다.
  • 인터넷에서 데이터를 전송하는 데 사용되는 프로토콜 세트(통신 규칙의 모음) 중 하나가 TCP/IP이다.
  • TCP/IP는 4계층 또는 5계층으로 구성되어 OSI 7계층을 대체한다.
    • 이러한 계층은 데이터 전송의 각 단계에서 앱과 기기의 작업을 설명한다.

💡 IP (인터넷 프로토콜)

  • 인터넷의 주소 체계
  • 소스 장치에서 대상 장치로 정보 패킷(패킷 조각)을 전달하는 것이 핵심 기능
    • 패킷 순서 지정 또는 오류 검사를 처리하지 않음
    • 데이터를 수신했다는 확인을 소스에 보내지 않음
    • -> 처리할 다른 프로토콜이 필요함 -> TCP (전송 제어 프로토콜)

💡 TCP (전송 제어 프로토콜)

  • 한 기기에서 다른 기기로 데이터를 전송하는 것을 담당
  • IP와 함께 사용해 발신자와 대상 사이의 연결을 유지하며 패킷 순서를 보장

💡 TCP/IP의 관계

  • 퍼즐에 메세지를 작성해 우편으로 보내는 것!
    • 퍼즐에 메시지를 작성 → 퍼즐은 여러 조각으로 나뉨
    • 퍼즐의 조각들은 각각 다른 우편 경로를 통해 전달되는데 조각마다 걸리는 시간이 다름
    • 다른 경로를 통해 전달된 퍼즐들은 순서가 뒤죽박죽되어 있을 수 있음
  • IP의 역할?
    • 각 조각이 목적지 주소에 도착하도록 함
  • TCP의 역할?
    • 조각들을 올바른 순서로 맞춤
    • 누락된 조각을 다시 보내달라고 요청
    • 발신자에게 조각을 받았음을 알려줌
    • 첫 번째 조각을 보내기 전부터 마지막 조각을 보낸 후까지 발신자와의 접속을 유지

💡 TCP를 통해 이메일을 전송한다면?

  • 연결이 설정되고, 3-way 핸드셰이크가 만들어진다.

  1. 소스가 SYN 최초 요청 패킷을 대상 서버로 보냄
  2. 대상 서버가 SYN-ACK 패킷을 보내 이 과정에 동의함
  3. 소스가 대상에 ACK 패킷을 보내 이 과정을 확인 후 메시지 컨텐츠를 전송
  4. 이메일 메시지는 패킷으로 분할된 후 인터넷으로 보내지며, 인터넷에서는 게이트웨이를 거쳐 장치에 도착
  5. 분할된 패킷들이 다시 TCP에 의해 조립되어 이메일의 원래 메시지로 구성됨