소프트웨어 기술(스타트업 위주)

네트워크

네트워크 정리 입니다.


네트워크 기본 개념 정리

1. OSI 모델 (Open Systems Interconnection Model)

  • 물리적 정의

OSI 모델은 네트워크 통신을 7계층으로 나눈 개념적 프레임워크로, 서로 다른 네트워크 장비와 시스템이 상호 운용될 수 있도록 표준화된 구조를 제공한다. 각 계층은 특정 기능을 수행하며, 데이터를 송수신하는 과정에서 상위 계층에서 하위 계층으로 데이터가 전달되거나, 반대로 하위 계층에서 상위 계층으로 전달된다.

  • 계층별 설명 및 예시
  1. 물리 계층 (Physical Layer)

    • 데이터 전송을 위한 물리적 매체와 신호를 정의
    • 전기적, 광학적, 기계적, 기능적 특성을 규정
    • 예: 이더넷 케이블, 광섬유, 라우터의 포트, RS-232
  2. 데이터 링크 계층 (Data Link Layer)

    • MAC 주소 기반의 데이터 프레임 전송, 오류 감지 및 수정
    • 이더넷 스위치, 브리지 장치 등이 포함됨
    • 예: 스위치, MAC 주소, PPP 프로토콜, ARP
  3. 네트워크 계층 (Network Layer)

    • IP 주소를 기반으로 패킷을 라우팅하여 목적지로 전달
    • 패킷 스위칭 및 라우팅 기능 수행
    • 예: 라우터, IP 프로토콜, ICMP, OSPF, BGP
  4. 전송 계층 (Transport Layer)

    • TCP/UDP를 사용한 신뢰성 있는 데이터 전송 제공
    • 흐름 제어, 오류 검출, 혼잡 제어 수행
    • 예: TCP, UDP, 포트 번호 (HTTP: 80, HTTPS: 443)
  5. 세션 계층 (Session Layer)

    • 연결 설정 및 유지 관리, 세션 복구 수행
    • 데이터 송수신의 논리적인 흐름을 제어
    • 예: NetBIOS, RPC, SOCKS
  6. 표현 계층 (Presentation Layer)

    • 데이터 인코딩, 압축, 암호화 수행
    • 서로 다른 시스템 간의 데이터 표현 변환 역할
    • 예: SSL/TLS, JPEG, GIF, MP3, ASCII, Unicode
  7. 응용 계층 (Application Layer)

    • 사용자와 직접 상호 작용하는 네트워크 서비스 제공
    • 응용 프로그램과 네트워크 간 인터페이스 역할 수행
    • 예: HTTP, FTP, SMTP, DNS, SNMP
  • 장단점

  • 장점: 네트워크 문제 해결이 용이, 표준화된 프로토콜 설계 가능, 계층별 모듈화 가능

  • 단점: 실제 네트워크에서는 계층 간 경계가 명확하지 않음, 실용적인 구현이 어려울 수 있음


2. TCP/IP 모델

  • 물리적 정의

OSI 모델과 달리 실제 인터넷에서 사용되는 네트워크 모델로, 네 개의 계층으로 구성된다. TCP/IP 프로토콜 스택은 인터넷을 통한 데이터 전송의 표준으로 사용되며, 효율적인 패킷 전달을 가능하게 한다.

  • 계층별 설명 및 예시
  1. 네트워크 인터페이스 계층 (Network Interface Layer)

    • 물리적 장치 및 데이터 링크 계층 포함
    • 네트워크 하드웨어와 통신하는 계층
    • 예: 이더넷, Wi-Fi, MAC 주소, ARP, PPP
  2. 인터넷 계층 (Internet Layer)

    • 패킷 라우팅 및 전송을 담당하며, 최적의 경로를 결정함
    • 예: IP(IPv4, IPv6), ICMP, ARP, RIP, BGP
  3. 전송 계층 (Transport Layer)

    • 애플리케이션 계층과 인터넷 계층 간 데이터 흐름을 관리
    • TCP: 신뢰성 있는 연결형 통신 제공
    • UDP: 빠른 전송을 위한 비연결형 통신 제공
    • 예: TCP, UDP, 포트 번호 (SSH: 22, SMTP: 25)
  4. 응용 계층 (Application Layer)

    • 최종 사용자와 직접 상호 작용하며, 데이터 포맷 및 메시지 교환을 관리
    • 예: HTTP, FTP, SMTP, SNMP, DHCP
  • 장단점

  • 장점: 실용적이며 실제 인터넷에서 사용됨, OSI 모델보다 간결함

  • 단점: 계층 간 구분이 모호할 수 있음, 보안 기능이 기본적으로 포함되지 않음


3. DNS (Domain Name System)

  • 정의

IP 주소와 도메인 네임을 매핑하는 시스템으로, 사람이 기억하기 쉬운 도메인 이름을 IP 주소로 변환하는 역할을 한다.

  • 동작 원리
  1. 사용자가 example.com 입력
  2. DNS 서버에 쿼리 전송 (로컬 캐시 확인 후 없으면 상위 DNS 서버에 요청)
  3. 최종적으로 해당 도메인의 IP 주소를 반환
  4. 해당 IP 주소로 웹사이트 요청 수행
  • 주요 구성 요소

  • 루트 네임서버: 최상위 DNS 서버

  • TLD 네임서버: .com, .org, .net 등을 관리

  • 권한 네임서버: 특정 도메인에 대한 정보를 보관

  • 장점

  • 사람이 이해하기 쉬운 도메인 사용 가능

  • 트래픽 부하를 줄이기 위해 캐싱 기능 제공

  • 단점

  • DDoS 공격의 대상이 될 수 있음

  • DNS 스푸핑 등의 보안 위협 가능


4. HTTP & HTTPS

  • 정의

  • HTTP (Hypertext Transfer Protocol): 웹 브라우저와 웹 서버 간의 데이터 전송을 위한 프로토콜

  • HTTPS (HTTP Secure): HTTP에 TLS(SSL) 암호화를 추가하여 보안성을 높인 프로토콜

  • 차이점

구분HTTPHTTPS
보안성암호화 없음TLS(SSL) 암호화 적용
포트기본 80기본 443
인증서 사용없음SSL/TLS 인증서 필요
  • 장점

  • HTTPS는 데이터 암호화로 보안성이 뛰어남

  • 신뢰성 있는 통신 가능 (MITM 공격 방지)

  • 단점

  • HTTPS는 추가적인 SSL 인증서 비용 발생

  • 데이터 암호화로 인해 처리 속도가 다소 느려질 수 있음


5. Sockets

  • 정의

소켓(Socket)은 네트워크에서 프로세스 간 통신을 가능하게 하는 인터페이스로, 클라이언트와 서버 간의 데이터 송수신을 관리한다.

  • 주요 개념

  • TCP 소켓: 신뢰성 있는 연결 지향형 통신

  • UDP 소켓: 빠른 속도의 비연결형 통신

  • 예시

  • 웹 브라우저가 웹 서버와 통신할 때 TCP 소켓 사용

  • 실시간 스트리밍 서비스에서 UDP 소켓 활용


Previous
운영체제