Corgi 혼자 공부하는 네트워크 1-3 공부 기록
본문 바로가기
개발자 일상/혼자 공부하는 네트워크

혼자 공부하는 네트워크 1-3 공부 기록

by 짱아아빠 2024. 8. 25.
반응형

네트워크를 미시적으로 살펴보기

네트워크는 복잡한 통신 과정을 효율적으로 관리하기 위해 다양한 개념과 방법론을 사용합니다. 이 글에서는 프로토콜, 네트워크 참조 모델, 캡슐화와 역캡슐화의 세 가지 중요한 요소에 대해 자세히 알아보겠습니다.

1. 프로토콜 (Protocol)

프로토콜은 컴퓨터 네트워크에서 서로 다른 장치들이 데이터를 교환할 때 사용하는 규칙과 절차를 정의합니다. 네트워크에서 주고받는 데이터는 프로토콜을 따르지 않으면 제대로 전달되거나 이해될 수 없습니다.

  • IP (Internet Protocol): 인터넷에서 데이터를 패킷 단위로 나누어 목적지에 전달하는 역할을 합니다. IP 주소를 사용해 데이터를 전달할 위치를 결정합니다.
  • ARP (Address Resolution Protocol): IP 주소를 MAC 주소로 변환해주는 프로토콜입니다. 예를 들어, 192.168.1.1이라는 IP 주소에 대응하는 MAC 주소를 찾아내는 데 사용됩니다.
  • HTTP와 HTTPS (HyperText Transfer Protocol / Secure): 웹 브라우저와 서버 사이에서 데이터를 주고받는 데 사용되는 프로토콜입니다. HTTPS는 HTTP에 보안 계층이 추가된 형태로, 암호화를 통해 데이터의 기밀성을 보호합니다.
  • TCP (Transmission Control Protocol): 데이터 전송의 신뢰성을 보장하는 프로토콜입니다. 데이터의 손실을 방지하고 순서를 보장하며, UDP보다 더 안정적인 전송을 제공합니다.
  • UDP (User Datagram Protocol): TCP와 달리 빠른 전송을 중시하지만, 신뢰성은 상대적으로 낮습니다. 실시간 스트리밍 같은 데이터 손실을 감수하고서라도 속도가 중요한 경우에 사용됩니다.

2. 네트워크 참조 모델 (Network Reference Model)

네트워크 참조 모델은 복잡한 네트워크 통신 과정을 체계적으로 이해하고 관리하기 위해 계층적으로 나눈 모델입니다. 대표적으로 OSI 모델TCP/IP 모델이 있습니다.

  • OSI 모델 (Open Systems Interconnection Model):
    • 국제 표준화 기구(ISO)가 제정한 네트워크 통신의 표준 모델로, 7계층으로 나뉩니다.
    • 물리 계층: 1과 0으로 표현되는 비트 신호를 주고받는 계층입니다. 전기 신호, 빛, 전파 등을 통해 데이터를 전달합니다.
    • 데이터 링크 계층: 같은 네트워크 내의 장치 간 통신을 담당하며, MAC 주소를 사용해 데이터의 송수신을 관리합니다. 또한, 물리 계층에서 발생할 수 있는 오류를 검출하고 수정합니다.
    • 네트워크 계층: 데이터가 목적지까지 가는 경로를 결정합니다. IP 주소를 사용해 데이터를 올바른 네트워크로 라우팅합니다.
    • 전송 계층: 데이터의 흐름을 제어하고, 신뢰성 있는 전송을 보장합니다. 포트 번호를 통해 어떤 응용 프로그램이 데이터를 사용하는지 식별합니다.
    • 세션 계층: 통신 세션을 관리하며, 세션의 시작, 유지, 종료를 담당합니다.
    • 표현 계층: 데이터를 컴퓨터가 이해할 수 있는 형식으로 변환하거나, 압축 및 암호화를 수행합니다.
    • 응용 계층: 사용자가 직접 접하는 부분으로, 웹 브라우저, 이메일 등 다양한 응용 프로그램이 이 계층에서 동작합니다.
  • TCP/IP 모델:
    • OSI 모델과 달리 실용적인 구현에 중점을 둔 모델로, 4계층으로 구성됩니다.
    • 네트워크 액세스 계층: OSI 모델의 물리 계층과 데이터 링크 계층의 역할을 수행하며, 데이터를 실제 네트워크 매체를 통해 전송합니다.
    • 인터넷 계층: OSI 모델의 네트워크 계층에 해당하며, IP 주소를 통해 데이터를 라우팅합니다.
    • 전송 계층: OSI 모델의 전송 계층과 유사한 역할을 하며, 데이터의 흐름 제어와 신뢰성을 보장합니다.
    • 응용 계층: OSI 모델의 세션, 표현, 응용 계층의 기능을 통합한 계층으로, 다양한 네트워크 응용 프로그램이 이 계층에서 동작합니다.

3. 캡슐화와 역캡슐화 (Encapsulation and Decapsulation)

네트워크에서 데이터가 전송될 때, 여러 계층을 거치면서 각 계층에서 필요한 정보를 추가하거나 제거하는 과정이 이루어집니다.

  • 캡슐화 (Encapsulation):
    • 데이터를 송신하는 과정에서 각 계층은 자신만의 헤더 정보를 추가합니다. 예를 들어, 전송 계층은 데이터에 포트 번호를 추가하고, 네트워크 계층은 IP 주소를 추가합니다. 이 과정을 통해 데이터는 점점 더 큰 패킷 형태로 변환됩니다.
  • 역캡슐화 (Decapsulation):
    • 수신 측에서는 송신된 데이터에서 각 계층의 헤더를 제거하여 원래의 데이터를 복원합니다. 이는 캡슐화의 반대 과정으로, 최종적으로는 응용 계층에서 데이터를 이해할 수 있는 형식으로 전달됩니다.
  • PDU (Protocol Data Unit):
    • 각 계층에서 송수신되는 데이터 단위를 PDU라고 합니다. 전송 계층에서는 TCP의 경우 "세그먼트", UDP의 경우 "데이터그램"이라고 부릅니다. 네트워크 계층에서는 이 단위를 "패킷"이라고 부릅니다.

 

===========================================================================================

2024-08-25 회고록

 

네트워크 프로토콜의 종류와 참조 모델, 캡슐화 과정을 공부하며 네트워크 전송 과정에서 발생하는 여러 단계를 이해할 수 있는 시간을 가졌습니다. 이전에는 패킷 전송 시 트레일러와 같은 요소가 있다는 것만 알고 있었고, 개념에 대한 이해가 모호했지만, JWT와 Base64 인코딩된 예제를 통해 개념을 명확히 정리할 수 있었습니다.

또한, 대규모 트래픽 처리와 관련된 학습에서 AB(Apache Benchmark), JMeter, nGrinder와 같은 성능 테스트 도구들, 그리고 Elasticsearch, Prometheus, Grafana와 같은 모니터링 및 분석 도구들을 알게 되어 매우 유익한 시간이었습니다. 이번 학습을 통해 네트워크의 각 과정과 도구 사용에 대한 실질적인 적용 방법에 대해 학습해 나갈 계획입니다

반응형

댓글