Home [Network] 1. 네트워크 기초
Post
Cancel

[Network] 1. 네트워크 기초

본문은 “그림으로 공부하는 TCP/IP 구조” 및 각종 자료를 읽고 재구성한 글임을 밝힙니다.


1. 회선 교환 방식 vs. 패킷 교환 방식

1-1. 회선 교환 방식 (Circuit exchange method)

  • 데이터 교환 전 일대일 전송로를 만들고, 교환을 마칠 때까지 전송로를 계속 사용하는 방식이다.
  • 안정적인 통신 품질을 유지할 수 있다.
  • 회선 이용 효율이 낮다.


1-2. 패킷 교환 방식 (Packet exchange method)

  • 회선 이용 효율을 향상할 목적으로 고안된 것이며, 현대 네트워크는 거대한 패킷 교환 네트워크로 되어 있다. 패킷 교환 네트워크는 패킷 교환기(= 네트워크 기기)로 구성되어 있다.

    패킷(packet): 데이터를 나누는 작은 단위이다.

  • 패킷의 헤더 정보를 보고 수신 컴퓨터로 패킷을 전달하며, 수신 컴퓨터는 헤더를 보고 원 데이터로 복원한다.

    헤더(header): 제어 정보가 포함되어 있는 부분

  • 필요한 만큼만 회선을 이용할 수 있고, 같은 회선을 통해 다른 사용자의 데이터도 전송할 수 있다.
  • 어딘가에서 패킷이 손실되어도 데이터 전체가 아닌 해당 패킷만 재전송하면 되므로 곧바로 복구가 가능하다.



2. 프로토콜

패킷을 처리하기 위한 규칙으로, 통신에 필요한 기능별로 명확하게 규정되어 있어 PC 제조사/운영체제/유무선 등에 상관 없이 동일하게 패킷을 교환할 수 있다.


2-1. 프로토콜에 결정되어 있는 것

  1. 물리적 사양
  2. 송신 상대 특정 (w/ 주소)
  3. 패킷 전송
    • 데이터를 패킷으로 나눈 후, 제어 정보가 포함된 헤더를 붙인다.
    • 프로토콜에는 헤더의 어디에서 어디까지 어떤 정보를 포함하고 어떤 순서로 교환하는지 등이 정의되어 있다.
    • 패킷 교환기는 헤더의 정보를 기반으로 릴레이처럼 패킷을 전송한다.
  4. 신뢰성 확립 (에러, 데이터 재전송, 네트워크 자원 가득 차지 않도록)
  5. 보안 확보 (올바른 상대인지 인증, 통신 암호화)


2-2. 계층 구조

  • 데이터 송신지: 상위 계층부터 순서대로, 계층별 프로토콜에 따라 데이터 처리

    → 패킷 상태로 보내기

  • 데이터 수신지: 하위 계층부터 순서대로, 계층별로 송신지와 동일한 프로토콜을 따라 데이터 처리

    → 원 데이터 복원


2-3. 두 가지 통신 기능 계층 구조 모델

특징

  • 만들어진 곳이 다를 뿐, 통신에 필요한 기능을 계층적으로 정리한 점에서 공통점이 있다.
  • 각 계층의 역할이 명확하게 구분되어 있으며, 순서대로 처리한다.
  • 각 계층은 자신의 처리가 완료되면 다음 계층에 데이터를 전달하고 그 처리에는 관여하지 않는다.

계층 구조의 장점

  1. 특정 계층의 프로토콜이 다른 프로토콜로 대체된다 하더라도 동일하게 통신할 수 있다.
  2. 계층별로 문제를 해결하기 쉽다.

[1] TCP/IP 참조 모델 (4계층)

  1. 링크 계층: 같은 네트워크에 있는 단말과의 연결성 확보
  2. 인터넷 계층: 다른 네트워크에 있는 단말과의 연결성 확보
  3. 트랜스포트 계층: 애플리케이션 식별 및 그에 따라 통신 제어
  4. 애플리케이션 계층: 사용자에게 애플리케이션 제공

[2] OSI 참조 모델 (7계층)

  1. 물리 계층(L1): 디지털 데이터를 전기 신호나 광 신호, 전파로 변환해 네트워크로 보냄
  2. 데이터링크 계층(L2): 물리 계층의 신뢰성 확보, 같은 네트워크에 있는 단말과의 연결성 확보
  3. 네트워크 계층(L3): 다른 네트워크에 있는 단말과의 연결성 확보
  4. 트랜스포트 계층(L4): 애플리케이션 식별 및 그에 따라 통신 제어
  5. 세션 계층(L5): 애플리케이션 데이터를 송신하기 위한 논리적 통신로(세션) 관리
  6. 프레젠테이션 계층(L6): 애플리케이션 데이터를 통신 가능한 방식으로 변환
  7. 애플리케이션 계층(L7): 사용자에게 애플리케이션 기능 제공


2-4. PDU (Protocol Data Unit)

  • 계층에서 처리하는 데이터의 단위로, 다음과 같이 구성된다.

    • 헤더: 제어 정보를 포함
    • 페이로드: 데이터 자체
  • 계층별 PDU

    계층계층 이름PDU 이름
    7애플리케이션 계층메시지
    4트랜스포트 계층세그먼트(TCP), 데이터그램(UDP)
    3네트워크 계층(IP) 패킷
    2데이터링크 계층프레임
    1물리 계층비트


2-5. 각 계층이 연계하여 동작하는 구조

[1] 캡슐화 & 비캡슐화

  • [송신 단말] 캡슐화: 각 계층에서 페이로드에 해당 계층의 헤더를 붙이는 것 (⬇️)

    헤더를 붙여서 PDU로 만들어 한 단계 아래 계층으로 전달 → 아래 계층에서는 PDU를 페이로드로 인식

  • [수신 단말] 비캡슐화: 각 계층에서 PDU로부터 해당 계층의 헤더를 제거하는 것 (⬆️)

    아래 계층에서 전달 받은 PDU로부터 헤더 제거 → 페이로드만 위 계층으로 전달 → PDU로 인식

[2] 커넥션 타입 & 커넥션리스 타입

커넥션: 통신 단말 사이에 확립된 논리적인 통신로

  • 커넥션 타입(연결형): 데이터 송신 전에 커넥션 확립 → 데이터 교환 → 종료
    • 전송 시간이 소요되는 편이다.
    • 데이터를 확실하게 전송할 수 있다.
  • 커넥션리스 타입(비연결형): 곧바로 데이터를 보내면서 커넥션을 확립한 뒤 마음대로 종료
    • 데이터를 확실하게 전송할 수는 없다.
    • 전송에 필요한 시간을 줄일 수 있다.


2-6. 인터넷 환경에서의 대표 프로토콜

계층계층 이름프로토콜 이름
7애플리케이션 계층HTTP, HTTPS(HTTP를 SSL/TLS로 암호화), QUIC, DNS
4트랜스포트 계층TCP(신뢰성), UDP(실시간성)
3네트워크 계층IP
1 & 2물리 계층 & 데이터링크 계층이더넷(유선), IEEE802.11(무선)



3. 네트워크 구성 기기

네트워크 기기는 종류에 따라 처리할 수 있는 범위가 다르다.

3-1. 물리 계층

패킷을 광 신호/전기 신호로 변환, 전파로 변조

  1. NIC (네트워크 인터페이스, 네트워크 어댑터): 네트워크 단말은 애플리케이션/운영체제가 처리한 패킷을 NIC를 이용해 LAN 케이블이나 전파로 전송
  2. 리피터: 파형 증폭/정리해서 전송 (최근엔 광섬유 케이블이 보급되면서 많이 사용 X)
  3. 리피터 허브: 패킷(비트)의 복사본을 그대로 다른 모든 포트에 전송 (최근엔 L2 스위치로 대체)
  4. 미디어 컨버터: 전기 신호와 광 신호를 서로 교환 (중간에 광 케이블을 이용해 네트워크 연장)
  5. 액세스 포인트: 패킷을 전파로 변조/복조하는 기기 (무선 - 유선 사이 다리 역할) (ex. 와이파이 라우터)


3-2. 데이터링크 계층

데이터링크 계층

  • (1) 물리 계층의 신뢰성을 확보하고 (2) 같은 네트워크에 있는 단말과 연결할 수 있도록 하는 계층이다.
  • 해당 계층에서 동작하는 기기는 프레임 헤더에 포함된 MAC 주소(데이터링크 계층에서의 주소)를 기반으로 프레임을 전송한다.
  1. 브리지: 포트 간 다리 역할 (L2 스위치로 대체)
    • 단말에서 받아들인 MAC 주소를 MAC 주소 테이블로 관리 및 전송 처리(= 브리징)
  2. L2 스위치 (스위칭 허브, 스위치): 많은 포트를 가진 브리지
    • 단말에서 받아들인 프레임의 MAC 주소를 MAC 주소 테이블로 관리하고 전송 처리(= L2 스위칭)
    • MAC 주소 테이블: <포트 번호> - <MAC 주소> (여러 개의 단말이 포트에 연결되어 있음)


3-3. 네트워크 계층

네트워크 계층

  • 네트워크와 네트워크를 연결하는 계층이다. (다른 네트워크)
  • 해당 계층에서 동작하는 기기는 IP 패킷의 헤더에 포함된 IP 주소(네트워크 계층에서의 주소)를 기반으로 패킷을 전송한다.
  1. 라우터: IP 패킷의 IP 주소를 보고, 자신이 속한 네트워크를 넘은 범위에 있는 단말로 전달
    • 인터넷은 여러 라우터가 그물 형태로 네트워크를 연결한 것이다.
    • 기능:
      1. 라우팅: IP 패킷을 패키지 릴레이하여 목적지로 보내는 것
        • 라우팅 테이블: 패킷을 전송할 대상지를 관리하기 위한 테이블
        • 라우팅 프로토콜: 라우터끼리 정보 교환 → 라우팅 테이블을 동적으로 생성하는 프로토콜

          ex) RIPv2, OSPF, BGP

      2. NAT: IP 주소를 변환
      3. DHCP: 단말의 IP 주소 등을 동적으로 설정
      4. IPsec VPN: 가상 전용선을 통해 거점이나 사용자 단말 연결
      5. PPPoE: 거점 사이를 일대일로 연결하는 PPP를 이더넷에서 캡슐화하는 프로토콜
  2. L3 스위치: 라우터(라우팅 테이블) + L2 스위치(MAC 주소 테이블)
    • 여러 포트가 있으므로 여러 단말을 연결할 수 있다.
    • IP 패킷을 라우팅할 수 있다.
    • MAC 주소 테이블과 라우팅 테이블을 조합한 정보를 FPGA나 ASIC 등의 패킷 전송 처리 전용 하드웨어에 기록하고, 그 정보를 기반으로 스위칭/라우팅 한다.


3-4. 트랜스포트 계층

트랜스포트 계층

  • 애플리케이션을 식별하고, 그 요건에 맞게 통신 제어하는 계층이다.
  • 해당 계층에서 동작하는 기기는 세그먼트(TCP) 또는 데이터그램(UDP)의 헤더에 포함된 포트 번호(서비스를 식별하기 위한 번호)에 기반하여 패킷을 전송한다.
  • 포트 번호를 통해 어떤 애플리케이션에 데이터를 전달할지 판단한다.
  1. 방화벽: 단말 사이에서 교환되는 패킷의 IP 주소나 포트 번호를 보고 통신을 허가하거나 차단한다.

    → 스테이트풀 인스텍션


3-5. 애플리케이션 계층

애플리케이션 계층

  • 사용자에게 애플리케이션을 제공하는 계층이다.
  1. 차세대 방화벽: 방화벽이 진화한 버전으로, 다양한 보안 기능이 추가되었으며 다양한 정보를 애플리케이션 레벨에서 해석
  2. WAF(Web Application Firewall): 클라이언트-서버 사이에서 교환되는 정보의 움직임을 애플리케이션 레벨에서 검사하고 차단한다.
  3. 부하 분산 장치 (로드 밸런서, L7 스위치): 서버의 부하를 분산한다.
    • 부하 분산 방식을 통해 시스템 전체적으로 처리 가능한 트래픽양을 확장한다.
    • 헬스 체크를 통해 정기적으로 서버를 감시함으로써 장애가 발생한 서버를 부하 분산 대상에서 제외한다.



4. 네트워크 형태

대부분의 단말은 LAN에서 WAN으로 이어져, DMZ 상의 공개 서버에 접속한다.

4-1. LAN (Local Area Network)

  • 가정이나 기업 등 한정된 범위의 네트워크이다.
  • 기업의 경우, 액세스 포인트나 L2 스위치 등에 우선 연결되고, L2 스위치를 집약하는 L3 스위치를 경유해 인터넷 / 사내 서버에 연결된다.


4-2. WAN (Wide Area Network)

  • 인터넷 등 거리상 멀리 떨어진 범위의 네트워크이다.
  • 종류
    1. 인터넷: 공중 WAN, 쉽게 이야기하면 “라우터의 집합”
      • ISP(인터넷 서비스 제공자)/연구기관/기업 등이 가진 수많은 라우터가 패킷을 운반하고 있다.
      • ISP마다 AS(Autonomous System) 번호가 할당되는데, 인터넷은 관련 규칙을 규정하고 있다.

        ex) 몇 번과 몇 번의 AS 번호를 어떻게 연결하는지, 어떤 AS 번호에 대한 경로를 우선 사용하는지 등

    2. 폐역 VPN 망: LAN과 LAN을 연결하는 네트워크 (ex. 본사 - 지사)
      • VPN이란 Virtual Private Network로, 인터넷상에 가상의 전용선을 만드는 기능이다.
      • IPsec 프로토콜을 통해 거점 사이를 peer-to-peer로 연결하고, 통신을 암호화한다.


4-3. DMZ (DeMilitarized Zone)

  • 인터넷에 공개하는 서버를 설치한 네트워크이다.
  • 최근에는 클라우드상에 구축하기도 하지만, 여기에서는 데이터 센터 상에 직접 구축하는 경우를 설명한다.
  • 안정적인 가동을 위해 다중화(redundancy)가 필요하다.

    동일한 종류의 네트워크 기기를 병렬로 배치함으로써 달성한다.

  • 일반적인 구성: L3 스위치로 ISP 인터넷 회선 받기 → 방화벽으로 방어 → 부하 분산 장치로 여러 서버로 트래픽 나눔



5. 새로운 네트워크 형태

  1. SDN (Software Defined Network)
  2. CDN (Content Delivery Network)
    • 이미지, 동영상, HTML, CSS 등 웹 콘텐츠로 사용되는 다양한 파일을 대량으로 송신하기 위해 최적화된 인터넷 상의 서버 네트워크
    • 구성: 오리진 서버(오리지널 웹 콘텐츠 위치) / 에지 서버(그 캐시를 가짐)
    • 사용자는 물리적으로 거리가 가까운 에지 서버에 접속 → 에지 서버가 (1) 캐시를 갖지 않았거나 (2) 유효 기간이 만료되었을 때오리진 서버에 접속
    • 장점:
      • 물리적인 거리가 가까우므로 웹 콘텐츠 다운로드 속도 향상
      • 서버의 처리 부하 분산
  3. IoT (Internet of Things)
    • 가벼움, 빠른 속도, 적은 전력
  4. IaaS (Infrastructure as a Service)
    • 서버나 네트워크 등의 인프라를 인터넷 상에서 구축하는 클라우드 서비스
    • ex) AWS의 Amazon VPC
    • 물리 계층을 의식할 필요가 없다.



References

  • “그림으로 공부하는 TCP/IP 구조(미야타 히로시 저)”, Ch1. 네트워크 기초
This post is licensed under CC BY 4.0 by the author.

[OS] 8. 디스크 관리

[Python] 스코프(Scope)와 클로저(Closure)