본문 바로가기
TIL/CS

네트워크 기기/ IP

by J1-H00N 2023. 10. 18.

네트워크 기기는 계층별로 처리 범위를 나눌 수 있다. 이때 상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만 그 반대는 불가능하다.

  • 애플리케이션 계층 - L7 스위치
    • L7 스위치
      • 스위치는 여러 장비를 연결하고 데이터 통신을 중재하며 목적지가 연결된 포트로만 전기 신호를 보내 데이터를 전송하는 통신 네트워크 장비이다. L7 스위치는 로드밸런서라고도 하며, 서버의 부하를 분산하는 기기다.
      • 클라이언트로부터 오는 요청들을 뒤쪽의 여러 서버로 나누는 역할을 하며 시스템이 처리할 수 있는 트래픽 증가를 목표로 한다.
      • URL, 서버, 캐시, 쿠키들을 기반으로 트래픽을 분산한다. 또한, 바이러스, 불필요한 외부 데이터 등을 걸러내는 필터링 기능 또한 가지고 있으며 응용 프로그램 수준의 트래픽 모니터링도 가능하다.
      • 장애가 발생한 서버는 트래픽 분산 대상에서 제외해야 하는데, 이는 정기적으로 헬스 체크를 이용하여 감시하면서 이루어진다.
      • 헬스 체크 - 전송 주기와 재전송 횟수 등을 설정한 이후 반복적으로 서버에 요청을 보내는 것을 말한다. 이때 서버에 부하가 되지 않을 만큼 적절해야한다. TCP, HTTP 등 다양한 방법으로 요청을 보내며 이 요청이 정상적으로 이루어지면 정상적인 서버로 판별한다.
    • L4 스위치와 L7 스위치의 차이
      • L4 스위치 또한 로드밸런서인데, L4 스위치는 인터넷 계층을 처리하는 기기로 스트리밍 관련 서비스에서는 사용할 수 없으며 메시지를 기반으로 인식하지 못하고 IP와 포트를 기반으로 트래픽을 분산한다.
      • AWS 등의 클라우드 서비스에서 L7 스위치를 이용한 로드밸런싱을 ALB 컴포턴트로 하며, L4 스위치를 이용한 로드밸런싱은 NLB 컴포넌트라 한다.
    • 로드밸런서를 이용한 서버 이중화
      • 로드밸런서의 대표적인 기능이다. 서비스를 안정적으로 운용하기 위해서는 2대 이상의 서버는 필수적이다. 에러가 발생하여 서버 1대가 종료되더라도 서비스는 안정적으로 운용되어야 하기 때문이다.
      • 로드밸런서는 2대 이상의 서버를 기반으로 가상 IP를 제공하고 이를 기반으로 안정적인 서비스를 제공한다.
  • 인터넷 계층 - 라우터, L3 스위치
    • 라우터
      • 여러 개의 네트워크를 연결, 분할, 구분시켜주는 역할을 하며 다른 네트워크에 존재하는 장치끼리 서로 데이터를 주고받을 때 패킷 소모를 최소화하고 경로를 최적화하여 최소 경로로 패킷을 포워딩하는 라우팅을 하는 장비이다.
    • L3 스위치
      • L2 스위치의 기능과 라우팅 기능을 갖춘 장비를 말한다.
      • L3 스위치를 라우터라 말해도 무방하다.
      • 소프트웨어 기반의 라우팅과 하드웨어 기반의 라우티을 하는 것으로 나눠지고 하드웨어 기반의 라우팅을 담당하는 장치를 L3 스위치라고 한다.
구분 L2 스위치 L3 스위치
참조 테이블 MAC 주소 테이블 라우팅 테이블
참조 PDU 이더넷 프레임 IP 패킷
참조 주소 MAC 주소 IP 주소
  • 데이터 링크 계층 - 브리지, L2 스위치
    • L2 스위치
      • 장치들의 MAC 주소를 MAC 주소 테이블을 통해 관리하며, 연결된 장치로부터 패킷이 왔을 때 패킷 전송을 담당한다.
      • IP 주소를 이해하지 못해 IP 주소를 기반으로 라우팅은 불가능하며 단순히 패킷의 MAC 주소를 읽어 스위칭하는 역할을 한다.
      • 목적지가 MAC 주소 테이블에 없다면 전체 포트에 전달하고 MAC 주소 테이블의 주소는 일정 시간 이후 삭제하는 기능도 있다.
    • 브리지
      • 두 개의 근거리 통신망(LAN)을 상호 접속할 수 있도록 하는 통신망 연결 장치로, 포트와 포트 사이의 다리 역할을 하며 장치에서 받아온 MAC 주소를 MAC 주소 테이블로 관리한다.
      • 통신망 범위를 확장하고 서로 다른 LAN 등으로 이루어진 하나의 통신망을 구축하는데 쓰인다.
  • 물리 계층 - NIC, 리피터, AP
    • NIC
      • LAN 카드라고 하는 네트워크 인터페이스 카드(Network Interface Card)이다.
      • 2대 이상의 컴퓨터 네트워크를 구성하는 데 사용하며, 네트워크와 빠른 속도로 데이터를 송수신 할 수 있도록 컴퓨터 내에 설치하는 확장 카드이다.
      • 각각을 구분하기 위한 고유의 식별번호인 MAC 주소가 있다.
    • 리피터
      • 들어오는 약해진 신호 정도를 증폭하여 다른 쪽으로 전달하는 장치이다.
      • 이를 통해 패킷이 더 멀리 갈 수 있으나 광케이블이 보급됨에 따라 현재는 잘 쓰이지 않는다.
    • AP
      • 패킷을 복사하는 기기이다.
      • 유선 LAN을 연결한 후 다른 장치에서 무선 LAN 기술(와이파이 등)을 사용하여 무선 네트워크 연결을 할 수 있다.

 

IP 주소

  • ARP
    • 흔히 컴퓨터와 컴퓨터간의 통신을 IP 주소 기반으로 한다고 생각하지만, 정확이 이야기하자면 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신한다.
    • ARP란 IP 주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜이다.
    • 브로드캐스트 - 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식
    • 유니캐스트 - 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 데이터를 전달하는 방식
  • 홉아이홉 통신
    • IP 주소를 통해 통신하는 과정을 말한다.
    • 홉(hop)이란 건너뛰는 모습을 의미하는데, 이는 통신망에서 각 패킷이 여러 개의 라우터를 건너가는 모습을 비유적으로 표현한 것이다. 각각의 라우터에 있는 라우팅 테이블의 IP를 기반으로 패킷을 전달하고 다시 전달해나간다.
    • 즉, 통신 장치에 있는 라우팅 테이블의 IP를 통해 시작 주소부터 시작하여 다음 IP로 계속해서 이동하는 라우팅 과정을 거쳐 패킷이 최종 목적지까지 도달하는 통신을 말한다.
    • 라우팅 - IP 주소를 찾아가는 과정
    • 라우팅 테이블 - 송신지에서 수신지까지 도달하기 위해 사용되며 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기 위한 방법이 들어 있는 리스트를 말한다. 라우팅 테이블에는 게이트웨이와 모든 목적지에 대해 해당 목적지에 도달하기 위해 거쳐야 할 다음 라우터의 정보를 가지고 있다.
    • 게이트웨이 - 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할을 하는 컴퓨터나 소프트웨어를 두루 일컫는 용어이다. 사용자는 인터넷에 접속하기 위해 수많은 톨게이트인 게이트웨이를 거쳐야 하며 게이트웨이는 서로 다른 네트워크상의 통신 프로토콜을 변환해주는 역할을 하기도 한다. 라우팅 테이블을 통해 볼 수 있으며 라우팅 테이블은 윈도우의 명령 프롬프트에서 netstat -r 명령어를 통해 확인할 수 있다.
  • IP 주소 체계
    • IPv4 - 32비트를 8비트 단위로 점을 찍어 표기하며, 123.45.67.89 같은 방식으로 주소를 나타낸다.
    • IPv6 - 64비트를 16비트 단위로 점을 찍어 표기하며, 2001:db8::ff00:42:8329 같은 방식으로 주소를 타나낸다.
    • 클래스 기반 할당 방식
      • 처음에는 A~E 다섯 개의 클래스로 구분하는 클래스 기반 할당 방식(CIDR)을 썼다. 앞에 있는 부분을 네트워크 주소, 그 뒤에 있는 부분을 컴퓨터에 부여하는 주소인 호스트 주소로 놓아서 사용한다.
      • 클래스 A,B,C는 일대일 통신으로 사용되고 클래스 D는 멀티캐스트 통신, 클래스 E는 앞으로 사용할 예비용으로 쓰는 방식이다. 예를 들어 클래스 A의 경우 0.0.0.0 부터 127.255.255.255(8비트 4자리 이므로 2진수로 표현하면 01111111.11111111.11111111.11111111)까지 범위를 갖는다.
      • 맨 왼쪽에 있는 비트를 구분 비트라고 한다. 클래스 A의 경우 0, B는 10, C는 110이다. 이를 통해 클래스 간의 IP가 나눠진다. 다른 네트워크도 이런 식의 주소 범위를 가진다.
      • 네트워크의 첫 번째 주소는 네트워크 주소로 사용되고 가장 마지막 주소는 브로드 캐스트용 주소네트워크에 속해 있는 모든 컴퓨터에 데이터를 보낼 때 사용된다.
      • 이 방식은 사용하는 주소보다 버리는 주소가 많은 단점이 있었고 이를 해소하기 위해 DHCP, IPv6, NAT가 나온다.
    • DHCP
      • IP 주소 및 기타 통신 매개변수를 자동으로 할당하기 위한 네트워크 관리 프로토콜이다.
      • 네트워크 장치의 IP 주소를 수동으로 설정할 필요 없이 인터넷에 접속할 때마다 자동으로 IP 주소를 할당할 수 있다.
      • 많은 라우터와 게이트웨이 장비에 DHCP 기능이 있으며 이를 토이해 대부분의 가정용 네트워크에서 IP 주소를 할당한다.
    • NAT
      • 패킷이 라우팅 장치를 통해 전송되는 동안 패킷의 IP 주소 정보를 수정하여 IP 주소를 다른 주소로 매핑하는 방법이다.
      • IPv4 주소 체계만으로는 많은 주소들을 모두 감당하지 못하는 단점이 있는데, 이를 해결하기 위해 NAT로 공인 IP와 사설 IP로 나눠서 많은 주소를 처리한다.
      • NAT을 가능하게 하는 소프트웨어는 ICS, RRAS, Netfliter 등이 있다.
      • NAT을 쓰는 이유는 주로 여러 대의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다. 예를 들어 인터넷 회선 하나를 개통하고 인터넷 공유기를 달아서 여러 PC를 연결하여 사용할 수 있는데, 이것이 가능한 이유는 인터넷 공유기에 NAT 기능이 탑재되어 있기 때문이다.
      • NAT을 이용하면 내부 네트워크에서 사요하는 IP 주소와 외부에 드러나는 IP 주소를 다르게 유지할 수 있기 때문에 내부 네트워크에 대한 어느 정도의 보안이 가능해진다.
      • 여러 명이 동시에 인터넷을 접속하게 되므로 실제로 접속하는 호스트 숫자에 따라서 접속 속도가 느려질 수 있다는 단점이 있다.
    • 인터넷에서 사용하는 네트워크 주소이기 때문에 이를 통해 동 또는 구까지 위치 추적이 가능하다. (e.g. mylocation 사이트)

'TIL > CS' 카테고리의 다른 글

운영체제  (0) 2023.10.19
HTTP  (0) 2023.10.19
TCP/IP 4계층 모델  (0) 2023.10.17
네트워크  (0) 2023.10.13
예상 질문  (0) 2023.10.12