Note-Taking / / 2024. 12. 4. 16:30

네트워크 개념 정리

네트워크 개념 정리

1. 프로토콜 (Protocol)

네트워크에서 데이터를 교환하기 위한 규칙과 표준을 정의한 것입니다. 다양한 프로토콜은 특정한 목적에 따라 설계되어 있으며, 주요 프로토콜은 다음과 같습니다:

  • HTTP/HTTPS: 웹 상의 데이터 전송 프로토콜.
  • FTP: 파일 전송을 위한 프로토콜.
  • SMTP/IMAP/POP3: 이메일 전송 및 수신을 위한 프로토콜.
  • TCP/IP: 인터넷에서 데이터를 전송하는 데 사용되는 기본 프로토콜 스택.
  • UDP: 빠른 데이터 전송을 지원하는 프로토콜.
  • DNS: 도메인 이름을 IP 주소로 변환.
  • DHCP: 동적으로 IP 주소를 할당하는 프로토콜.

2. 인터페이스와 포트 (Interface and Port)

2.1 인터페이스 (Interface)

네트워크 인터페이스는 컴퓨터가 네트워크에 연결되기 위해 사용하는 장치나 가상 구성 요소입니다. 주요 인터페이스는 다음과 같습니다:

  • 이더넷(Ethernet): 유선 연결을 위한 표준 네트워크 인터페이스.
  • Wi-Fi: 무선 네트워크 인터페이스.
  • Loopback 인터페이스: 자기 자신을 참조하는 가상 네트워크 인터페이스.
  • vboxnet: VirtualBox에서 생성된 호스트 전용 네트워크 인터페이스.

2.2 포트 (Port)

포트는 네트워크에서 특정 서비스를 식별하기 위한 논리적 접점입니다. TCP/IP 프로토콜에서는 0부터 65535까지의 포트 번호가 사용됩니다:

  • 0~1023: 잘 알려진 포트(HTTP: 80, HTTPS: 443, FTP: 21 등).
  • 1024~49151: 등록된 포트(애플리케이션 사용 가능).
  • 49152~65535: 동적 또는 개인용 포트.

3. 네트워크 (Network)

네트워크는 데이터를 교환하기 위해 연결된 장치들의 집합입니다. 주요 네트워크 유형은 다음과 같습니다:

  • LAN (Local Area Network): 제한된 지역 내에서 장치 연결.
  • WAN (Wide Area Network): 광범위한 지역에 걸쳐 연결.
  • VLAN (Virtual LAN): 논리적으로 분리된 네트워크.
  • VPN (Virtual Private Network): 공용 네트워크를 통한 안전한 통신.

4. NAT (Network Address Translation)

NAT는 네트워크 경계에서 IP 주소를 변환하는 기술입니다:

  • 역할: 내부 네트워크의 프라이빗 IP 주소를 공용 IP 주소로 변환하여 인터넷에 연결.
  • 유형:
    • Static NAT: 하나의 고정 공용 IP를 하나의 내부 IP에 매핑.
    • Dynamic NAT: 여러 내부 IP를 여러 공용 IP 풀에서 동적으로 매핑.
    • PAT (Port Address Translation): 여러 내부 IP를 하나의 공용 IP로 매핑하면서 포트를 사용하여 식별.

5. 포트 포워딩 (Port Forwarding)

포트 포워딩은 외부 네트워크에서 내부 네트워크의 특정 장치로 트래픽을 전달하는 설정입니다.

  • 사용 목적:
    • 원격 접속 (예: SSH, RDP).
    • 서버 호스팅 (예: 웹 서버, FTP 서버).
  • 구성 예:
    • 외부 포트: 8080 → 내부 포트: 80
    • 외부에서 http://example.com:8080으로 접속하면 내부 서버의 포트 80으로 트래픽 전달.

6. 네트워크 개념 시각화

[ 외부 네트워크 ] --> [ NAT 라우터 ] --> [ 내부 네트워크 ]
    (Public IP)         (포트 포워딩)       (Private IP)

참고 자료

'Note-Taking' 카테고리의 다른 글

IntelliJ 단축키 모음  (0) 2024.11.15
React 정리  (2) 2024.11.13
Spring Data JPA 정리  (0) 2024.10.28
Spring MVC 구성 요소와 설정 방법에 대한 정리  (2) 2024.10.15
C언어, Java에서의 Server, Client 프로그래밍 정리  (0) 2024.09.27
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유