티스토리 뷰

CS

헷갈리는 network 개념 요약

신잼 2022. 2. 28. 19:16

◼ DHCP(Dynamic Host Configuration Protocol)

한빛네트워크-DHCP 구현과 이해

IP주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공

네트워크 안에 컴퓨터에 자동으로 네임 서버 주소, IP주소, 게이트웨이 주소를 할당해주는 것을 의미, 해당 클라이언트에게 일정 기간 임대를 하는 동적 주소 할당 프로토콜

 

  • 장점
    • PC의 수가 많거나 PC 자체 변동사항이 많은 경우 IP 설정이 자동으로 되기 때문에 효율적으로 사용 가능
    • IP를 자동으로 할당해주기 때문에 IP 충돌 방지
  • 단점
    • DHCP 서버 의존적, 서버가 다운되면 IP 할당 문제

◼ Network Interface (ethernet interface)

udemy-github.com/kodekloudhub/certified-kubernetes-administrator-course/tree/master/docs/09-Networking

network interface는 하드웨어와 networking 하기 위한 소프트웨어 인터페이스다. 리눅스 커널은 network interface를 physical와 virtual의 두 가지 타입으로 구분한다. 

  • physical network interface는 실제로 NIC[각주:1]와 같은 하드웨어 네트워크 장치를 나타낸다. Ethernet network card를 나타내는 eth0가 해당된다.
  • Virtual network interface는 실제 하드웨어 장치를 나타내지 않고 하드웨어 장치에 연결된다.대표적으로 여러 종류가 있는데 loopback, bridge, VLAN, 등이 있다.

  • eth0: physical interface로 Etherenet network card를 나타낸다. 인터넷상에서 다른 컴퓨터와 통신하는 데 사용된다.
  • lo: 특별한 virtual network interface로 loopback device라고 불린다. loopback은 주로 local host에서 실행되는 서비스에 연결하거나 진단 및 트러블 슈팅하는 데 사용된다.
  • docker0: virtual bridge interface로 Docker에 의해 만들어 진다. 이 bridge는 docker container들을 위해 분리된 네트워크를 만들어주고 서로 통신할 수 있게 해 준다.

centos 7 및 ubuntu > 15.04에서의 NIC device 이름 규칙

eth0에 해당하는 device 이름이 centos에서는 en33 ununtu에서는 enp0s25 와같은 형식이다.

그 이유는 예측 가능한 네트워크 디바이스명이라는 규칙을 위해서다. 네트워크 장치가 많아지고 다양해지면서 세분화가 필요해졌다

 

◼ DNS(Domain Name System)

aws.amazon.com/ko/route53/what-is-dns/

도메인 이름 시스템(DNS)은 사람이 읽을 수 있는 도메인 이름(예: www.amazon.com)을 머신이 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환시켜주기 위해 존재

  • 포트 번호: UDP, TCP 모두 53번
    • UDP: 일반적인 DNS 조회를 할 경우 사용한다.
    • TCP: Zone Transfer(영역 전송)와 512Byte를 초과하는 DNS 패킷을 전송해야 할 경우이다.
  • Nameserver(네임서버)
    • 도메인 별 정보를 가지고 있는 서버 역할
    • Resolver의 쿼리에 의해 정보 전달
  • Resolver(리졸버)
    • client에 위치한 s/w
    • 도메인 정보를 응용프로그램으로부터 요청받아 쿼리 하여 Caching
  • Zone file(존 파일)
    • 도메인 네임 별 레코드 데이터를 존파일 포맷으로 표현
      • 도메인 네임: 도메인 네임 공간에서 확보한 도메인 영역에서 도메인 네임 생성(i.e. www.my-domain.com)
      • 리소스 레코드: 도메인 네임에 생성할 데이터를 미리 정의된 리소스 레코드 타입 설정(i.e. IPv4 주소  A 타입 레코드 설정, A 192.168.1.80) 
    • Resource Recode
      • SOA: 해당 Domain  관리 권한 및 Zone Transfer(영역 전송)과 관련된 정보
      • NS: NameServer의 정보
      • A(AAAA): 특정 host의 FQDN과 연결된 IP주소 정보
      • CNAME: 특정 A레코드에 대한 별칭
      • MX: Mail eXchange의 약자로 Mail 서비스에 관련된 정보(해당 Domain의 Mail서버 정보)
      • PTR: 역방향[각주:2] 조회에 사용되는 레코드, 특정 IP주소에 대한 FQDN 정보
      • ANY: 도메인에 대한 모든 레코드 질의 시에 주로 이용 (DNS 증폭 DRDOS 공격에 악용)
  • 네트워크 설정 파일
    • /etc/hosts
      • IP와 Hostname 또는 Domain Name을 Mapping
      • 작은 네트워크에서는 DNS를 대신하도록 설정 가능
    • /etc/resolv.conf
      • 요청할 DNS 서버 지정

 NAT

en.wikipedia.org/wiki/Network_address_translation

IP 패킷 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고받는 기술

  • 사용 이유
    1. IP 주소 절약
    2. 보안
  • 주소 할당 방식에 따른 NAT
    1. Static NAT (1:1 NAT): 공인 IP주소와 사설 IP가 1:1 매칭 되는 방식
    2. Dynamic NAT(N:N NAT): 공인 IP 주소 대비 사설 IP가 더 많을 경우 사용하는 방식
    3. PAT(Port Address Translation) (1:N NAT): 공인 IP 주소 1개에 사설 IP가 여러 개 매칭 되는 방식
  • 패킷 방향에 따른 NAT
    • Twice NAT
      • 출발지 주소와 목적지 주소가 모두 바뀌는 방식
      • 두 지점 간 연결을 위한 중간 네트워크 허브 구조에 사용
    • SNAT (Source Network Address Translation, IP Masquerade)
      • 인터넷으로 나가는 패킷의 출발지 IP 주소를 게이트웨이의 공인 IP로 바꾸는 방식
      • 가정에서 쓰이는 공유기에서 사용
    • DNAT (Destination Network Address Translation)
      • 외부에서 내부로 들어오는 패킷의 목적 IP 변환
      • 방화벽, 로드밸런서

 

  • IP Masquerade
    • 가면이라는 뜻으로 NAT가 갖고 있는 기술
    • 주소 변환만 하는 것이 아닌 포트번호까지 포워딩시켜주는 기능

Reference

 

 

 

 

 

  1. Network Interface Controller [본문으로]
  2. IP주소를 이용하여 Domain Name 조회 [본문으로]
반응형

'CS' 카테고리의 다른 글

[Network] HTTP/3 and QUIC  (0) 2022.01.18
[Network] HTTP/2  (0) 2022.01.10
[Network] HTTP/0.9 ~ 1.1  (0) 2022.01.03
[Network/OS] Network Socket(IP Socket, WebSocket)  (0) 2021.12.27
Interpreter VS Compiler  (0) 2021.11.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함