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

0

network

목록 보기
3/39

두 대의 컴퓨터, 즉 두 대의 호스트가 패킷을 주고받는 과정을 세부적으로 살펴보는 미시적인 관점을 다룹니다.
패킷이 어떻게 이동하며, 네트워크에서 어떤 일들이 일어나는지를 설명합니다.


1. 패킷을 주고받는 과정

  • 패킷은 네트워크에서 데이터부가 정보를 포함하는 정보 단위입니다.
  • 데이터페이로드(Payload)라고 부르고, 부가 정보헤더(Header)트레일러(Trailer)로 불립니다.

패킷의 구조:

  • 패킷은 택배와 비슷하게 생각할 수 있습니다. 페이로드(물품)는 상자에 담기고, 헤더(송장)트레일러(추가 정보)가 함께 첨부되어 목적지로 보내집니다.

2. 택배에 비유한 네트워크 통신

네트워크 통신을 이해하기 쉽게 택배에 비유할 수 있습니다.

  • 여러분이 친구에게 책을 택배로 보내는 과정을 생각해 봅시다. 책(페이로드)을 상자에 넣고 송장(헤더)을 부착합니다. 택배 기사가 그 상자를 받아 친구에게 전달하는 과정을 통해 네트워크 통신 과정을 이해할 수 있습니다.
  • 택배 기사는 네트워크의 중간 노드 또는 네트워크 장비 역할을 합니다. 택배 기사가 송장을 보고 올바른 주소로 책을 보내는 것처럼, 네트워크 장비도 패킷의 헤더 정보를 읽고 올바른 수신지로 패킷을 전달합니다.

3. 언어의 중요성 - 프로토콜

네트워크에서 서로 통신하려면 언어가 통해야 합니다. 택배 송장의 주소를 택배 기사가 읽을 수 있어야 하며, 친구도 책의 내용을 이해할 수 있어야 하듯, 네트워크에서도 서로 이해할 수 있는 언어가 필요합니다.

  • 프로토콜은 네트워크에서 노드 간에 정보를 주고받기 위한 규칙이나 방법을 의미합니다. 통신을 위해서는 두 대의 컴퓨터가 동일한 프로토콜을 사용해야 합니다.

프로토콜의 예시:

프로토콜계층설명예시 활용 사례
IP (Internet Protocol)네트워크 계층데이터가 어떤 경로로 전달될지 결정하는 프로토콜데이터 전송을 위한 라우팅
TCP (Transmission Control Protocol)전송 계층신뢰성 있는 연결 지향형 통신을 제공하며, 데이터의 순서 보장파일 다운로드, 웹 브라우징
UDP (User Datagram Protocol)전송 계층빠른 비연결형 통신을 제공하며, 데이터 전송의 신뢰성을 보장하지 않음실시간 스트리밍, 온라인 게임
HTTP (Hypertext Transfer Protocol)응용 계층웹 브라우저와 웹 서버 간에 데이터를 주고받기 위한 프로토콜웹사이트 로딩
HTTPS (HTTP Secure)응용 계층SSL/TLS 암호화를 통해 HTTP 통신을 보안보안 웹사이트 접속 (https://)
FTP (File Transfer Protocol)응용 계층파일 전송을 위한 프로토콜로, 파일 업로드와 다운로드에 사용됨서버 간 파일 전송
SMTP (Simple Mail Transfer Protocol)응용 계층이메일 발송을 위한 프로토콜이메일 전송
IMAP (Internet Message Access Protocol)응용 계층이메일을 서버에 저장하고 원격 액세스를 제공이메일 클라이언트에서 메일 읽기
DNS (Domain Name System)응용 계층도메인 이름(예: google.com)을 IP 주소로 변환웹사이트 접속 시 도메인 해석
DHCP (Dynamic Host Configuration Protocol)응용 계층장치에 자동으로 IP 주소를 할당네트워크 연결 시 IP 주소 설정

4. 프로토콜의 목적과 특징

각 프로토콜은 서로 다른 목적을 가지고 있으며, 그 목적에 맞는 특징이 있습니다.

  • 예를 들어, TCP는 데이터 전송의 신뢰성을 보장하는 것이 목적이므로, 패킷 전송 시 재전송 메커니즘을 제공합니다.
  • UDP는 신뢰성보다는 빠른 전송을 목적으로 하므로, 헤더에 최소한의 정보만 포함되고 신뢰성 검증이 상대적으로 적습니다.

5. 프로토콜과 패킷의 관계

  • 패킷을 주고받을 때, 사용하는 프로토콜의 목적에 따라 헤더에 포함되는 정보가 달라집니다.
    • TCP를 사용하면 패킷의 헤더에 신뢰성을 높이기 위한 정보(예: 확인 응답, 시퀀스 번호)가 추가됩니다.
    • UDP를 사용할 경우에는 신뢰성 검증 정보가 생략되므로 더 빠르게 전송됩니다.

6. 정리

  • 프로토콜은 네트워크에서 정보를 주고받기 위한 규칙입니다.
  • 각 프로토콜은 서로 다른 목적특징을 가지고 있으며, 이에 따라 패킷의 헤더에 포함되는 정보가 달라집니다.

네트워크 참조 모델

네트워크 통신 과정을 계층적으로 나누는 네트워크 참조 모델을 설명합니다.
네트워크에서 데이터를 주고받는 모든 과정을 효율적으로 관리하기 위해 계층적 구조를 사용하는 것이 매우 중요합니다.


1. 네트워크 참조 모델이란?

  • 네트워크 참조 모델은 네트워크 통신 과정을 여러 단계로 나누어 설명하는 계층적 구조입니다.
  • 참조 모델은 네트워크 설계, 문제 해결, 프로토콜의 상호 운용성을 높이는 데 큰 역할을 합니다.

2. 대표적인 네트워크 참조 모델

OSI 모델 7계층

계층 번호계층 이름기능예시
1물리 계층비트 신호 전송, 물리적 장치 연결케이블, 전송 속도
2데이터 링크 계층근거리 네트워크 간 데이터 전송 및 오류 검출MAC 주소, 스위치
3네트워크 계층IP 주소를 사용한 경로 설정 및 데이터 전송라우터, IP 프로토콜
4전송 계층데이터의 신뢰성 보장 (TCP/UDP)TCP, 포트 번호
5세션 계층응용 간 연결 설정 및 관리세션 관리 프로토콜
6표현 계층데이터 인코딩, 압축, 암호화SSL/TLS, 데이터 변환
7응용 계층사용자와 응용 프로그램이 직접 사용하는 계층HTTP, FTP, 이메일

TCP/IP 모델 4계층

계층 번호계층 이름기능예시
1네트워크 액세스 계층물리 및 데이터 링크 계층의 기능이더넷, MAC 주소
2인터넷 계층IP 주소를 사용한 경로 설정 및 데이터 전송IP 프로토콜, 라우팅
3전송 계층데이터의 신뢰성 보장 (TCP/UDP)TCP, UDP, 포트 번호
4응용 계층세션, 표현, 응용 계층의 기능을 통합HTTP, FTP, DNS, 이메일

3. OSI 모델과 TCP/IP 모델 비교

  • OSI 모델은 이론적인 참조 모델로, 개념적 학습에 적합합니다.
  • TCP/IP 모델은 실용적이고 실제 인터넷 통신에서 사용되며, 구현 중심의 모델입니다.
  • 두 모델의 계층은 완전히 일치하지 않지만 유사한 역할을 한다고 볼 수 있습니다.

캡슐화와 역캡슐화

네트워크에서 패킷을 주고받는 과정에서 발생하는 캡슐화역캡슐화에 대해 살펴봅니다.


1. 캡슐화(Encapsulation)

  • 캡슐화는 데이터를 송신하는 과정에서 각 계층별로 헤더와 트레일러를 추가하는 과정입니다.
  • 데이터가 응용 계층에서 시작해 물리 계층까지 내려가면서, 각 계층의 특성에 맞는 부가 정보가 헤더로 덧붙여집니다.

캡슐화 과정 (Encapsulation Process)

단계계층처리 내용추가되는 헤더/정보
1단계응용 계층데이터를 생성하여 전송응용 계층 헤더 (HTTP, FTP 등)
2단계전송 계층응용 계층 데이터를 받아 전송 프로토콜 처리TCP/UDP 헤더 (포트 번호, 순서 정보 등)
3단계네트워크 계층전송 계층 데이터를 받아 IP 주소 추가IP 헤더 (송신자/수신자 IP 주소 등)
4단계데이터 링크 계층네트워크 계층 데이터를 받아 프레임 생성프레임 헤더와 트레일러 (MAC 주소 등)
전송 과정 결과-캡슐화된 데이터가 비트 스트림으로 전송네트워크 장치를 통해 전달됨

2. 역캡슐화(Decapsulation)

  • 역캡슐화는 캡슐화의 반대로, 수신 측에서 각 계층별로 헤더와 트레일러를 제거하는 과정입니다.
  • 데이터를 수신할 때 물리 계층부터 시작해 응용 계층까지 각 계층에서 헤더가 하나씩 제거됩니다.

역캡슐화 과정 (Decapsulation Process)

단계계층처리 내용제거되는 헤더/정보
1단계데이터 링크 계층프레임 헤더트레일러를 제거하여 데이터 추출프레임 헤더와 트레일러 (MAC 주소 등)
2단계네트워크 계층IP 헤더를 제거하여 상위 계층 데이터 추출IP 헤더 (송신자/수신자 IP 주소 등)
3단계전송 계층TCP/UDP 헤더를 제거하여 응용 계층 데이터 추출TCP/UDP 헤더 (포트 번호, 순서 정보 등)
4단계응용 계층최종적으로 원본 데이터를 복구응용 계층 헤더 (HTTP, FTP 등)

3. 캡슐화와 역캡슐화의 흐름

  • 송신 시에는 위에서 아래로 데이터를 내려보내며 헤더가 추가됩니다.
  • 수신 시에는 아래에서 위로 헤더를 제거하며 원본 데이터를 복원합니다.

4. 메시지 단위 (PDU - Protocol Data Unit)

PDU(프로토콜 데이터 단위)는 네트워크 계층 간에 데이터를 주고받을 때 각 계층에서 사용하는 데이터 형식을 의미합니다. 각 계층은 데이터를 처리하면서 고유한 PDU 형식을 사용합니다.


계층별 PDU

계층 (OSI 모델)PDU 명칭설명
물리 계층비트(Bit)비트 단위로 전송되는 전기적 신호
데이터 링크 계층프레임(Frame)네트워크 인터페이스에서 전송되는 데이터 단위
네트워크 계층패킷(Packet)네트워크에서 라우팅되는 데이터 단위
전송 계층세그먼트(Segment) (TCP) / 데이터그램(Datagram) (UDP)전송 계층에서 신뢰성 있는 데이터 전송을 위한 단위
세션, 표현, 응용 계층메시지(Message)최종적으로 응용 프로그램 간에 전송되는 데이터

PDU의 캡슐화 및 역캡슐화 과정

단계과정설명
1단계캡슐화 (Encapsulation)상위 계층에서 생성된 메시지에 각 계층별 헤더(필요시 트레일러 포함)를 추가하여 PDU를 생성
2단계전송 (Transmission)캡슐화된 PDU가 네트워크를 통해 물리 계층의 비트 스트림 형태로 전송됨
3단계역캡슐화 (Decapsulation)수신 측에서 각 계층별로 헤더와 트레일러를 제거하여 원래의 메시지를 복구

예시

  • 웹 브라우저에서 HTTP 요청을 전송하는 경우:
    1. 응용 계층에서 메시지가 생성됨 (예: HTTP 요청).
    2. 전송 계층에서 세그먼트(TCP)가 추가됨.
    3. 네트워크 계층에서 패킷이 추가됨 (IP 주소 포함).
    4. 데이터 링크 계층에서 프레임이 생성됨 (MAC 주소 포함).
    5. 물리 계층에서 비트 스트림으로 전송됨.

5. 중요한 포인트

  • 캡슐화는 송신 과정에서 헤더트레일러를 추가하는 과정입니다.
  • 역캡슐화는 수신 과정에서 헤더트레일러를 제거하는 과정입니다.
  • 각 계층에서 데이터는 PDU 단위로 주고받습니다.

네트워크 참조 모델에 대한 실무적 적용

실무에서는 OSI 7계층TCP/IP 4계층이 반드시 정확히 일치하지 않으며, 계층 모델은 참조용으로만 사용됩니다. 실무에서 중요한 것은 프로토콜네트워크 장비의 동작 방식입니다.


트래픽과 네트워크 성능 지표

트래픽이란?

  • 트래픽은 네트워크에서 주고받는 정보량을 의미합니다. 과도한 트래픽은 네트워크 성능 저하를 일으킬 수 있습니다.

네트워크 성능 지표:

용어설명예시
처리율 (Throughput)단위 시간당 실제 전송된 정보량1초당 50Mbps의 실제 데이터 전송량
대역폭 (Bandwidth)단위 시간당 최대 전송 가능한 정보량네트워크의 최대 속도 100Mbps
패킷 손실 (Packet Loss)네트워크에서 전송된 패킷 중 손실된 비율손실률 5%: 전송된 100개의 패킷 중 5개 손실

0개의 댓글