[Network] 7. 네트워크


네트워크 분류

Untitled

  • LAN
    • LAN 은 단일 건물이나 학교 같은 소규모 지역에 위치하는 호스트로 구성된 네트워크이다.
    • 호스트의 간격이 가깝기 때문에 브로드캐스팅 방식으로 전송한다.
    • 버스형과 링형 2가지 연결 방식을 가진다.
    • WLAN
      • 무선 로컬 영역 네트워크로 와이파이 라고도 한다.
      • IEEE 802.11 표준에 기반을 두고있고, 근거리 통신망 이긴하나 무선이다.
    • VLAN
      • 하나의 스위치에 연결된 장비들은 모두 같은 브로드캐스트 도메인 안에 있기 때문에 그 범위를 최소화하기 위한 기능으로 브로드캐스트 도메인을 여러 개로 나눈다.
      • 한 대의 스위치에 VLAN 을 설정하면 VLAN 을 설정한 구역끼리만 통신이 가능하다.
      • 단 나누어진 다른 도메인 구간을 연결하기 위해서는 라우터가 필요하다.
      • 보안이 높고, 불필요한 트래픽을 차단해 준다.
  • MAN
    • LAN 보다는 넓고, WAN 보다는 좁은 구역을 커버한다.
    • 주로 도시와 도시 간의 통신 할 때 사용하며, 넓은 구역을 다루기 때문에 ISP로 활용할 수도 있다.
    • 단, 네트워크를 설계하고 유지하는게 어렵다.
  • WAN
    • 넓은 지리적 영역까지 확장되는 네트워크이다. 예를 들어 한국에서 미국까지 통신이 가능한 네트워크이다.
    • WAN 은 전화선과 전파를 통해 다른 LAN 에 연결하는 LAN 연결이 될 수 있으며 기업으로 제한되거나 일반인이 엑세스할 수 있다.
    • 속도가 상당히 빠르고 비싸다.
    • 국가의 경계 내에 제한이 될 수 있다.
  • VPN
    • 통신 사업자가 독자적으로 구축한 폐쇄 IP 망이다.
    • 중,대규모 크기에 보안성과 품질성이 좋다.
    • VPN 사이에 가상의 암호와 터널로 이루어져있다.

네트워크 구성요소

  • NIC
    • Network Interface Card 의 약자로 컴퓨터를 네트워크에 연결하기 위한 하드웨어 장치이다.
    • 전기적 신호를 데이터 신호로, 데이터 신호를 전기적 신호로 변환하여 보내주는 역할을 한다.(직렬화)
    • 카드마다 고유한 물리적인 MAC 주소를 가지고, 받은 패킷의 주소가 맞지 않으면 폐기하고 맞으면 시스템 내부로 전달한다.
    • 송신측이 수신측의 처리속도 보다 빠르게 데이터를 보내지 못하도록 제어(흐름제어)한다.
  • 케이블과 커넥터
    • 무선 사용 빈도가 높아지고 있지만, 회사 네트워크 접속, 서버를 네트워크와 연결 등 신뢰가 높은 통신에 유선을 사용한다.
    • 케이블은 트위스티드 페어(가장 흔함. 컴퓨터나 서버에 있는 랜포트에 연결하여 사용), 동축(케이블 TV 와 연결할 때 사용하는 두꺼운 검은 케이블), 광케이블이 있다.
  • 허브
    • 여러 대의 장비를 연결 할 목적으로 사용한다.
    • 케이블과 동일한 물리계층(1계층)에서 작동되는 장비다.
    • 신호가 들어오면 모든 포트에 전달한다.
    • 현재는 잘 사용되어지지 않는 장비
  • 스위치
    • 여러 장비를 연결하고 통신을 중재하는 데이터링크(2계층) 장비다.
    • 허브의 역할과 통신을 중재하는 2가지 역할을 모두 포함하기 때문에 스위치허브 라고도 불린다.
    • MAC 주소를 통해 목적지가 연결된 포트에만 신호를 보낸다.
  • 라우터
    • 네트워크와 네트워크 간 데이터 전송을 위해 최적경로를 설정해 준다.
    • OSI 7계층 중 3계층(네트워크)에서 동작한다.
    • 먼 거리로 통신할 수 있는 프로토콜로 변환한다.
  • 로드 밸런서
    • 서버에 가해지는 부하를 분산해 주는 장치
    • 4계층 포트 주소를 확인함과 동시에 IP 주소를 변경할 수 있다.
    • 가장 많이 사용되는 서비스로는 웹이 있다.
    • ADC 라고도 불리며 OSI 7계층 중 4계층(전송계층)에서 동작한다.
  • 보안장비(방화벽/IPS)
    • 정보를 잘 제어하고 공격을 방어하는데 초점을 맞춘 장비
    • 가장 유명한 보안장비는 방화벽이 있다.
    • OSI 7계층 중 4계층(전송계층)에서 동작한다.
  • 모뎀/공유기

    Untitled

    • 모뎀 : 짧은 거리를 통신하는 기술과 먼 거리를 통신할 수 있는 기술이 달라 이 기술들을 변환해주는 장비
    • 공유기 : 하나의 공인 IP 를 사용하여 여러 개의 기기가 인터넷을 사용하기 위해 사용되는 네트워크 기기

네트워크 장비

OSI 계층별 네트워크 장비

  • 물리계층 : 리피터, 허브, 케이블 등
    • 리피터 (Repeater)
      • 하나의 네트워크망 안에서 전기신호를 재생하고 증폭시키는 역할을 한다.
    • 케이블 (Cable)
      • 물리적으로 전기신호를 전송하는 케이블이다.
      • 대표적으로 전선이라고 부르는 것들이 포함된다.
  • 데이터링크계층 : 브릿지, 스위치 등
    • 브릿지 (Bridge)
      • 하나의 네트워크망 안에서 서로 다른 LAN 을 연결한다.
      • MAC 주소 기반 필터링 기능을 통해 더 나은 대역폭을 제공하고, 트래픽을 통제한다.
      • MAC 주소 기반 리피터 기능을 제공한다.
    • 스위치 (Switdh)
      • 목적지의 MAC 주소를 가지고 있는 포트에만 프레임을 전송한다.
      • 브릿지와 리피터 기능을 함께 수행할 수 있다.
      • 사실 스위치는 데이터링크 계층에만 속한 장비가 아니다. 데이터링크 계층에서 동작하는 L2가 대표적인 스위치이다. 이외에도 다양한 계층에서 동작할수 있다. 동작하는 계층에 따라 스위치 명칭이 달라진다.
  • 네트워크계층 : 라우터
    • 라우터
      • 패킷이 목적지까지 가기 위한 경로를 설정한다.
      • 다양한 라우팅 프로토콜이 존재한다. (RIP, OSPF, IGRP, BGP 등)
      • 패킷의 헤더에서 목적지 IP 주소를 확인하고 목적지의 네트워크 망으로만 전송한다. (Brodcasting 차단)
  • 응용계층 : 게이트웨이
    • 게이트웨이
      • 서로 다른 네트워크망을 연결해주는 장비이다.
      • 패킷 헤더의 주소 및 포트 외의 거의 모든 정보를 참조한다.
      • 사실 게이트웨이는 완전히 다른 형태의 네트워크망을 연결해 주는 장비로서 특정 계층에 종속되지 않는다.

스위치

  • 실무에서 L1, L2, L3, L4, L7 등이 자주 보인다. 여기 L 뒤에 붙는 숫자는 OSI 7계층에서 계층을 뜻한다. 그리고 각각은 스위치다. L1이면 1계층인 물리계층에서만 기능을 수행하는 스위치다.
  • L1
    • 흔히 허브, 더미 허브라고 불린다.
    • 물리계층에서 동작한다. 가장 원시적인 장비로 속도가 느리고 패킷 충돌이 날 가능성이 매우 높다. 따라서 지금은 잘 사용하지 않는 장비이다.
    • 허브 VS 스위치
      • 허브와 스위치의 대표적인 차이는 속도와 Collision domain 이다.
      • 같은 시간에 여러 패킷이 동시에 들어온 경우 허브는 서로 충돌하여 패킷 손실이 발생하지만, 스위치는 충돌이 발생하지 않아 손실률이 낮다.
      • 허브는 1/N의 속도지만 스위치는 N개에 거의 동일한 속도를 제공한다.
    • 더미 허브(Dummy Hub)
      • 허브에 연결된 모든 네트워크상에 데이터를 전송하는 기능이다. 허브에 들어온 데이터를 연결된 모든 포트에 동일하게 뿌려준다.
      • 네트워크에 연결된 PC 와 링크 수가 많으면 많을수록 송수신 속도는 급격하게 하락한다.
  • L2
    • 스위칭 허브, 스위치, L2라고 불린다.
    • 데이터링크 계층에서 동작한다. 가장 기본적인 스위치이며 저렴하다.
    • MAC 주소를 기반으로 스위칭하며 특정 포트에 채널(bandwidth)을 할당하여 전이중 방식(전송이 양방향으로 동시에 일어날 수 있음)을 사용한다.
    • 브로드캐스트 방식으로 통신한다. 이로 인해 성능 저하가 발생하기도 한다.
    • L2가 기본적인 스위치이므로 L2의 수행기능은 스위치의 기본 수행기능이다.
    • 수행기능
      1. Learning : 목적지 MAC 주소와 포트를 MAC Table에 저장한다.
      2. Flooding : MAC Table 이 꽉차고, 목적지 주소가 MAC Table 에 없으면 전체 포트에 전달한다. (Broadcasting)
      3. Forwarding : 목적지 주소가 MAC Table 에 있으면 목적지 포트로만 전달한다. (Unicasting)
      4. Filtering : 출발지가 목적지와 같은 세그먼트에 있는 경우에는 다른 세그먼트로는 보내지 못하게 막는다.
      5. Aging : 오래된 MAC Table 데이터를 삭제한다.
  • L3
    • 네트워크 계층에서 동작한다.
    • IP 주소 기반으로 스위칭을 하며 라우팅 기능이 탑재되어 있다.
    • 브로드캐스트 트래픽으로 전체 성능 저하를 방지한다.
    • 수행기능
      1. 스위치의 기본 수행기능
      2. VLAN : 스위치의 일부 포트를 가상 LAN 으로 묶어서 불필요한 프레임 전송이 안되도록 구분한다.
      3. 트래픽 체크
  • L4
    • 전송 계층에서 동작한다.
    • L2 만큼 많이 사용되고 있다.
    • 서버나 네트워크의 트래픽을 로드밸런싱(Load Balancing) 할 수 있다.
    • TCP, UDP 등의 헤더를 보고 FTP, HTTP, SMTP 등 어떤 프로토콜인지 확인하여 스위칭의 우선 순위를 부여한다.
    • IP 주소와 Port 를 기반으로 스위칭한다.
    • 수행기능
      1. L3의 기능 모두 수행
      2. 그룹화
      3. 부하분산
  • L7
    • 응용 계층에서 동작하는 스위치이다.
    • 응용계층의 패킷까지 분석하여 어떤 데이터인지 알 수 있는 스위치로 보안장비에 주로 쓰인다.
    • 웹 방화벽, 보안 스위치가 여기에 포함된다.
    • 사실상 스위치보다는 보안장비라고 봐도 무방하다.

네트워크 기술

NAT

  • 네트워크 주소 변환(network address translation, NAT)은 컴퓨터 네트워킹에서 쓰이는 용어로서, IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말한다. 한 마디로 Network Address 인 IP 를 변환한다는 것이다.
  • IP 패킷이 라우팅 장비를 거치면서 이동할 때, 헤더에 있는 IP 정보를 변환하는 작업을 말하며, 공인 IP 주소에 여러 개의 사설 IP 주소를 할당하여 사용할 수 있게 하는 장치다.
  • NAT 를 이용하는 이유는 대개 사설 네트워크(Private Network)에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다.
  • IP 주소에는 Public IP(공인 IP)와 Private IP(사설 IP)가 있다. IP 를 굳이 두 종류로 나눈 이유는 IPv4 주소의 낭비를 막고 공인 인터넷을 굳이 사용하지 않아도 되는 단말들에게 어느 망이든 중복 사용 가능한 IP 를 주기 위함이다(공인망에서는 공인 IP만이 유통).
  • 사설 IP 를 할당받은 단말이 인터넷을 사용해야 한다면 단말의 IP 는 어떻게 변화하는 것일까?
  • linux 에서 ifconfig 명령어를 입력하면 아래와 같은 결과를 얻을 수 있다(예시).
    • inet 192.168.200.175
    • netmask 0xffffff00
    • broadcast 192.168.200.255
  • 인터넷은 공인 IP 로만 연결되어 통신이 가능하다.
  • Private IP(192.168.200.175)뿐인 컴퓨터가 외부 서비스를 사용하고자 공유기로 나아가면, 공유기는 Private IP(192.168.200.175)뿐인 컴퓨터의 IP 를 공유기 자신의 공인 IP로 변환(Translation)하게 된다.
  • 즉 공유기를 지나 외부 인터넷으로 나아갈 때에는 공유기의 공인 IP를 가지고 원하는 Destination Address로 향하는 것이다.
  • NAT 의 과정
    1. 누가 요청했는지 알기 위해서 먼저 요청받은 내부 IP 를 기록한다. (192.168.0.4)
    2. 요청한 컴퓨터 IP 는 외부에서 접속할 수 없는 사설 IP 다. 따라서 사설 IP 를 공인 IP 로 변환한다.
    3. 이제, 공유기는 이 요청을 public ip address 로 외부 서비스에게 요청을 하고 외부 서비스는 그 요청을 처리한다. 그리고 다시 공인 IP 로 보내고, 공유기에서 다시 사설 IP 로 보내서 통신을 완료한다.
  • 즉, private IP 를 사용하고 있는 컴퓨터가 사설 바깥쪽에 있는 public IP 에 해당되는 외부세계에 접속할 수 있게 된다. 이 때 사용되는 기술이 바로 NAT 이라고 보면 된다.
  • Static NAT
    • IP 주소들을 1대1 매핑으로 변환해주는 가장 간단한 NAT 유형이다.
    • Static NAT 은 호환되지 않는 주소 체계를 가지고 있는 두 개의 IP 네트워크가 서로 통신해야 할 때 사용될 수 있다.
  • Dynamic NAT
    • Static NAT 처럼 NAT 라우터가 사설 IP와 공인 IP 간의 매핑 정보를 만들고 IP 패킷이 네트워크에서 나가거나 들어올 때 그 패킷 헤더의 IP 주소를 변환하게 된다.
    • 이 때 정적인 정보를 기반으로 하는 것이 아닌 동적으로 수행한다.
  • PAT
    • PAT(Port Address Translation)은 Dynamic NAT 의 한 종류라고 볼 수 있는데, 공인 IP 주소 1개에 사설 IP 주소 여러 개를 매핑하는 것이다.
    • 변환된 IP 주소로는 사내망 호스트들을 구분할 수 없기 때문에 포트번호를 부여하여 구분한다.

DHCP

  • 동적 호스트 설정 프로토콜(Dynamic Host Configuration Protocol)로서 해당 호스트에게 IP 주소, 서브넷 마스크, 기본 게이트웨이 IP 주소, DNS 서버 IP 주소 를 자동으로 일정 시간 할당해주는 인터넷 프로토콜이다.
  • DHCP 를 통한 IP 주소 할당은 임대(Lease)라는 개념을 가지고 있는데 이는 DHCP 서버가 IP 주소를 영구적으로 단말에 할당하는 것이 아니고, 임대기간(IP Lease Time)을 명시하여 그 기간 동안만 단말이 IP 주소를 사용하도록 하는 것이다.
  • 단말은 임대기간 이후에도 계속 해당 IP 주소를 사용하고자 한다면 IP 주소 임대기간 갱신(IP Address Renewal)을 DHCP 서버에 요청해야 한다.
  • 또한 단말은 임대 받은 IP 주소가 더 이상 필요치 않게 되면 IP 주소 반납 절차(IP Address Release)를 수행하게 된다.
  • 유동 IP 를 할당한다는 것은 DHCP 서버로부터 IP 를 DHCP 서버에서 설정해놓은 사용 시간만큼 임대해온다는 뜻이다.
  • DHCP 의 구성
    1. DHCP 서버
      • DHCP 서버는 인터넷을 제공해주는 곳의 서버에서 실행되는 프로그램으로, 일정한 범위의 IP 주소를 다른 클라이언트에게 할당하여 자동으로 설정하게 해주는 역할을 한다.
      • DHCP 서버는 클라이언트에게 할당된 IP 주소를 변경없이 유지해 줄 수 있다. DHCP 가 설정해주는 주소 정보들은 아래와 같다.

        Untitled

    2. DHCP 클라이언트

      Untitled

      • 클라이언트들은 시스템이 시작하면 DHCP서버에 자신의 시스템을 위한 IP주소를 요청하고, DHCP 서버로부터 IP주소를 부여받으면 TCP/IP 설정은 초기화되고 다른 호스트와 TCP/IP를 사용해서 통신을 할 수 있게 된다.
      • 즉 서버에게 IP를 할당받으면 TCP/IP 통신을 할 수 있다.
  • DHCP 의 역할 3가지
    • 임대
      • DHCP 가 클라이언트에게 특정 기간동안 IP 를 빌려주는 것을 말한다.
      • IP를 할당하는 과정을 Discovery - Offer - Request - ACK 단계로 나누며, DORA라고 한다.
    • 갱신
      • IP 할당하는 과정에서 RA (Request - ACK)만 재실행 한다.
      • 두 차례로 진행되며, 첫번째는 임대시간이 50% 지났을 때, 두번째는 97.5% 가 지났을 때이다.
    • 반환
      • 임대기간이 끝난 IP 를 DHCP 서버에 반환한다.
  • DHCP 임대 절차
    • IP 주소 할당(임대) 절차에 사용되는 DHCP 메시지는 아래 그림과 같이 4개의 메시지로 구성되어 있다.

      Untitled

    • 자세한 내용은 이 글에서 잘 설명해주었으니 참고하자.

DNS

  • DNS(Domain Name System)은 데이터베이스 시스템이다. 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템이다.
  • 도메인 네임과 IP 주소의 대응 관계를 데이터베이스로 구축해 사용하는 인터넷 프로토콜이다.
  • 클라이언트에게 DNS(Domain Name Server)를 제공하는 것은 DHCP 서버의 책임이다. DNS는 브라우징을 단순화하는 매우 특별한 목적을 수행하는 인터넷 상의 또 다른 컴퓨터라고 볼 수 있다.
  • 네트워크의 각 컴퓨터에는 고유한 IP 주소가 있고, 이는 인터넷에서도 마찬가지이다. 인터넷에 연결된 모든 네트워크 또는 컴퓨터 서버에도 고유한 주소가 있다.
  • 우리가 자주 방문하는 사이트의 각 IP 주소를 매번 기억하는 것은 사실 불가능한 일에 가깝다. 그래서 우리는 도메인 이름(www 로 시작하는 주소)을 사용하는데, 사용자가 입력한 주소(www…)를 125.209.222.141와 같은 IP 주소로 변환해주는 일을 바로 DNS가 수행하는 것이다.
  • 이러한 DNS를 운영하는 서버를 네임서버(Name Server)라고 한다.
  • DNS 절차

    Untitled

    1. 특정 사이트를 방문하기 위해 사용자가 브라우저에 URL 을 입력한다.
    2. 그러면 브라우저는 DNS 에 접속하여 입력한 도메인 이름과 관련된 IP 주소를 요청한다.
    3. 획득한 IP 주소를 사용하여 브라우저는 그 컴퓨터와 통신하고 사용자로부터 요청된 특정 페이지를 요청할 수 있다.

GSLB

  • GSLB(Global Server Load Balancing)은 DNS 서비스에서 문제를 해결하기 위해 발전된 형태로 재해복구, 로드밸런싱, 레이턴시 기반, 위치 기반 등으로 차이가 있다.
  • 재해복구
    • DNS 는 서버의 상태를 알 수 없기 때문에 서버 요청을 실패하는 유저들이 존재한다.
    • GSLB 는 서버의 상태를 모니터링하기 때문에 실패한 서버의 IP 는 응답에서 제외하므로 유저는 서비스를 계속해서 이용할 수 있다.
  • 로드밸런싱
    • DNS 는 RoundRobin 방식으로 로드밸런싱을 하기 때문에 정교한 로드밸런싱이 불가능하다.
    • GSLB 는 서버의 상태를 모니터링하기 때문에 트래픽이 몰리지 않은 서버의 IP 를 반환하며 정교한 로드밸런싱이 가능하다.
  • 레이턴시 기반
    • DNS 는 RoundRobin 방식으로 유저는 자신이 위치한 곳과 아주 먼 곳에 떨어진 서버로 연결될 수도 있다.
    • GSLB 는 각 지역별로 서버에 대한 레이턴시 정보를 가지고 있기 때문에 해당 유저로부터 레이턴시가 적은 서버를 반환해 준다.
  • 위치 기반
    • DNS 는 RoundRobin 방식으로 서버에 연결된다.
    • GSLB 는 유저의 지역정보를 기반해서 가까운 지역의 서버로 연결하게 한다.
맨 위로 이동 ↑

댓글 남기기