개발여행

웹 통신: TCP/IP 프로토콜과 OSI 7 계층모델 본문

CS

웹 통신: TCP/IP 프로토콜과 OSI 7 계층모델

jbilee 2024. 10. 31. 01:59

컴퓨터 프로토콜이란?

기기들이 통신할 때 통신을 허용할지, 연결된 기기에게 무엇을 요청할지, 데이터를 어떤 형식으로 보낼지 등의 소통이 오가는데, 이때 사용하는 것이 프로토콜이다. 프로토콜은 컴퓨터 네트워크의 노드들이 서로와 통신하기 위해 따르는 규칙들이다.

사람의 프로토콜(좌)과 컴퓨터 기기들의 프로토콜(우)

 

우리가 소통할 때 상대의 메세지에 적절한 응답을 주고 받는 것처럼 프로토콜도 메세지 포맷, 전달 순서, 취할 액션 등이 규정되어 있다. 소통 방식에 따라 다양한 프로토콜이 존재한다.

 

TCP/IP

TCP/IP는 패킷 통신의 규약인 IP(Internet Protocol)와 전송 조절에 대한 규약인 TCP(Transmission Control Protocol)를 합쳐서 부르는 프로토콜 스위트(같은 통신 목적에 사용되는 여러 프로토콜의 집합)이자 계층화된 통신 아키텍쳐 모델 중 하나다. IP 프로토콜과 TCP 프로토콜을 사용해 네트워크상에서 패킷으로 나눠진 데이터를 전송한다고 해서 TCP/IP라고 부르게 됐다.

 

기본적으로 4개의 레이어로 계층화된 구조를 가지고 있다. (OSI 7 Layer과 비교하기 위해 5계층으로 나누기도 한다) 데이터는 각 계층을 차례대로 거치면서 전송되기 위한, 또는 전송 받은 경우에는 데이터를 읽기 위한 가공 과정을 거친다.

  • Layer 4: 응용 계층(Application Layer)
    • 이메일(SMTP/POP3/IMAP), 파일 전송(FTP), 웹사이트(HTTP) 등의 서비스 응용 프로그램이 사용되는 계층이다. 우리가 이메일을 보내거나 웹사이트에 접속할 때 응용 계층의 프로토콜이 관련 작업을 수행한다.
  • Layer 3: 전송 계층(Transport Layer)
    • 응용 계층에서 내려온 메세지를 세그먼트 단위로 쪼개거나 쪼개진 데이터를 응용 계층에서 사용할 수 있도록 재정렬하고 이어붙인다.
  • Layer 2: 인터넷 계층(Internet Layer)
    • 패킷이 가진 출처(source) IP 주소와 목적지(destination) IP를 파악해서 라우팅을 처리한다.
  • Layer 1: 네트워크 접근 계층(Network Access Layer)
    • MAC 주소를 사용해 데이터를 전송하고 디지털 데이터↔전자신호 간의 변환을 처리한다.

데이터를 보낼 땐 4계층에서 시작해 1계층으로 내려가면서 데이터를 캡슐화한다. 전송할 데이터에 각 계층에서 헤더라는 추가 정보를 붙이는 것을 캡슐화라고 한다.

 

데이터를 받은 노드는 1계층에서 시작해 4계층까지 전달하면서 캡슐화된 데이터를 비캡슐화한다. 캡슐화된 데이터에 붙어있는 헤더를 각 해당 계층에서 제거하고 데이터를 원본 형태로 되돌리는 과정을 비캡슐화라고 한다.

 

OSI 7 Layer

OSI 7 계층은 네트워크 통신이 어떤 단계로 이루어지는지를 정하는 네트워크 표준 모델이다. TCP/IP 이후에 나온 모델이지만 개념적으로만 활용되고 실제 상용화되지는 않았다.

  • Layer 7: 응용 계층(Application Layer)
    • 응용 프로그램을 수행하는 계층으로, TCP/IP의 응용 계층과 같다.
  • Layer 6: 표현 계층(Presentation Layer)
    • 데이터 암호화, 압축, 변환 등 데이터의 표현 방식을 담당한다.
  • Layer 5: 세션 계층(Session Layer)
    • 통신하는 호스트 간의 연결 세션을 유지한다. TCP/IP 세션을 만들거나 없앨 수 있다.
  • Layer 4: 전송 계층(Transport Layer)
    • 통신을 활성화하는 계층으로, TCP 등의 프로토콜을 사용해서 포트를 열어준다. TCP/IP처럼 메세지 분리와 재결합을 담당한다.
  • Layer 3: 네트워크 계층(Network Layer)
    • IP 주소를 읽어 라우팅을 처리한다.
  • Layer 2: 데이터 링크 계층(Data Link Layer)
    • 데이터에 MAC 주소를 부여하고 전송한다.
  • Layer 1: 물리 계층(Physical Layer)
    • 데이터를 전기신호로 변환하거나 전기신호를 다시 데이터로 변환한다.

 

TCP/IP나 OSI 7 Layer처럼 계층화된 아키텍쳐는 각 계층이 각자의 주어진 역할만 수행하도록 모듈화하여 하나의 크고 복잡한 프로세스를 여러 단계로 나눔으로서 아래와 같은 이점을 제공한다:

  • 문제 파악이 쉬워진다. 어느 계층에서 문제가 발생했는지를 파악해서 트러블슈팅이 가능하다.
  • 한 계층에 기술적인 변화가 있어도 다른 계층에 영향을 주지 않는다. 시스템 전체를 바꾸지 않아도 된다.
  • 각 모듈이 독립적이기 때문에 표준화가 가능하다. 기기마다 하드웨어나 소프트웨어 스펙이 달라도 동일한 모듈의 프로토콜을 지원하면 통신할 수 있다.

'CS' 카테고리의 다른 글

DNS가 뭔가요?  (0) 2024.11.06
HTTP 버전에 대해 알아보기  (0) 2024.11.04
컴퓨터 네트워크의 기본 구성  (0) 2024.10.29
인코딩(encoding)과 암호화(encryption)의 차이  (0) 2024.08.02
HTTP와 HTTPS의 차이가 뭔가요?  (0) 2024.07.20