SDN과 ICMP

dobby·2024년 9월 11일
0
post-thumbnail

SDN

소프트웨어 정의 네트워크
네트워크 제어를 간소화하고 향상하기 위해 네트워크 제어 영역과 포워딩 영역을 분리하는 아키텍처를 말한다.
IT 팀은 변화하는 비즈니스 요구 사항과 애플리케이션 요구 사항에 대한 신속한 대응 능력을 향상할 수 있다.


소프트웨어 정의 네트워킹(SDN)의 특징

  1. 민첩성
    비즈니스 및 애플리케이션 요구 사항이 변화되면 관리자는 필요에 따라 네트워크 구성을 조정할 수 있다.
  2. 중앙 집중식 관리
    SDN은 네트워크 지능을 통합한다.
    따라서 네트워크 구성과 활동을 전체적으로 파악할 수 있다.
  3. 프로그래밍 가능
    자동화된 SDN 서비스를 통해 네트워크 기능을 직접 프로그래밍하고 네트워크 리소스를 신속하고 쉽게 구성할 수 있다.
  4. 개방형 연결성
    SDN은 개방형 표준을 기반으로 하며 이러한 표준을 통해 구현된다.
    그러므로 SDN은 네트워크 설계를 효율화하고 공급업체 중립적 아키텍처에서 일관적인 네트워킹을 제공한다.

요약하자면, 소프트웨어 정의 네트워킹은 API를 사용하여 관리자가 네트워크 행동을 결정하고 프로그래밍할 수 있도록 중앙집중화된 관리 영역을 제공한다.

소프트웨어 정의 네트워킹은 다양한 작업을 수행하고, 다양한 기술을 지원한다.
그러나 소프트웨어 정의 네트워킹의 가장 중요한 원래의 목적은 네트워크 데이터와 네트워크 제어 영역을 분리하는 프로그래밍 가능한 추상화를 만드는 것이었다.

제어 영역은 운영을 위한 '머리' 역할을 수행하며 네트워크 서비스를 관리하고 네트워크 전반에서 패킷이 어떻게 어디로 이동해야 하는지를 결정한다.
데이터 영역은 운송 시스템으로, 최종 지점을 연결하고 제어 영역의 방향에 따라 이러한 패킷을 이동한다.

SDN은 중앙 집중화된 기능이라는 점을 통해 IT 관리자는 보안 정책을 쉽고 빠르게 설정하고 보관할 수 있다.
네트워크 전반에서 보편적으로 집행할 수 있으며, 이러한 정책은 중앙집중 제어를 통해 관리하고 집행할 수 있다.


SDN의 활용

기업은 SDN이 제공하는 강화된 보안과 간소화된 방화벽 관리를 활용할 수 있다.
기업들은 SDN의 가상화 역량을 통해 분산된 방화벽 시스템을 생성하여 한 VM(가상 머신)에 대한 침해가 다른 VM으로 전달되지 않도록 추가 보안 레이어를 제공할 수 있다.
물론, 관리자는 중앙집중식으로 네트워크 활동을 추적하고 변경하여 침해가 영향을 주기 전에 침해를 탐지하고 제거할 수 있다.

기업이 SDN을 사용하는 이유는 트래픽을 효율적으로 제어하고 필요에 따라 확장할 수 있는 방법이기 때문이다.

인터넷 제어 메시지 프로토콜(ICMP)

ICMP는 네트워크 내 장치가 데이터 전송과 관련된 문제를 전달하기 위해 사용하는 프로토콜이다.
ICMP가 사용되는 주요 방법 중 하나는, 데이터가 대상에 도달하는지와 도달 시간이 적절한지를 확인하는 것이다.
따라서 ICMP는 네트워크가 데이터를 얼마나 잘 전송하는지 알 수 있는 오류 보고 프로세스 및 테스트의 중요한 측면이다.

수신자가 보내고 최초 발신자가 받아야 하는 데이터 관련 메시지를 전달한다.
데이터가 수신자에게 도달하지 않거나 잘못된 순서로 수신되면 ICMP는 데이터를 재전송할 것을 발신자에게 알린다.
ICMP는 데이터에 대한 정보를 이러한 방식으로 전달하기 위한 프로토콜이지만, 데이터 자체를 관리하지는 않는다.

ICMP 메시지들은 일반적으로 IP 동작에서 진단이나 제어로 사용되거나 오류에 대한 응답으로 만들어진다.
ICMP 오류들은 원래 패킷의 소스 IP 주소로 보내지게 된다.

즉, ICMP 프로토콜은 네트워크 계층에 속하며 IP 프로토콜과 같이 사용한다.
ICMP는 종종 IP의 한 부분으로 간주되지만, ICMP 메시지가 IP 데이터그램에 담겨 전송되므로 구조적으로는 IP 바로 위에 있다.
즉, TCP나 UDP 세그먼트가 IP 페이로드로 전송되는 것처럼 ICMP 메시지도 IP 페이로드로 전송된다.

비슷하게, 호스트가 상위 계층 프로토콜이 ICMP라고 표시된 IP 데이터그램을 받으면 TCP나 UDP로 데이터그램 내용을 역다중화하는 것처럼 ICMP로 내용을 역다중화한다.

ICMP 용도

  • 가장 큰 용도는 오류 보고이다.
    인터넷을 통해 두 개의 장치가 연결될 때마다 ICMP를 사용하여 일부 데이터가 예상대로 도착하지 않은 경우 수신 장치에서 전송 장치로 이동할 수 있는 오류를 생성할 수 있다.

ex) 지나치게 대규모 데이터 패킷은 라우터가 관리하기에는 너무 클 수 있으며, 이럴 땐 라우터는 데이터 패킷을 폐기하고 ICMP 메시지를 발신자에게 전송하여 문제를 알린다.

  • 네트워크 성능 평가를 위한 진단 도구이다.
    트레이스 라우트와 핑 모두 ICMP를 사용한다.
    트레이스 라우트와 핑은 데이터가 정상적으로 전송되었는가에 대해 전송되는 메시지이다.

  • 네트워크 성능을 저하시키는 데에도 사용된다.
    ICMP 서비스 장애, 스머프 공격 및 네트워크상의 장치를 압도하고 정상적인 기능을 방해하는 PoD 공격으로 수행된다.

트레이스 라우트
데이터 패킷이 대상에 도달하기 위해 통과한 장치가 표시된다.
또한, 데이터가 한 장치에서 다른 장치로 이동하는 데 걸리는 시간을 알려준다.
이를 통해 트레이스 라우트에 의해 파악한 정보로 경로 중 지연을 일으키는 장치를 파악할 수 있다.


데이터가 두 지점 간을 이동하는 데 걸리는 시간을 알려준다.

ICMP 작동 방식

IP와 달리, ICMP는 TCP, UDP와 같은 전송 계층 프로토콜과 연결되지 않는다.
따라서 ICMP가 연결이 없는 프로토콜이 되므로 한 장치에서 ICMP 메시지를 보내기 전에 다른 장치와 연결을 수행하지 않는다.
메시지가 간단히 전송된다. 또한 정보가 전송되는 포트를 지정하는 TCP 및 UDP와 달리 ICMP 메시지에는 정보를 수신할 장치의 특정 포트로 지시하는 정보가 없다.

ICMP 패킷

ICMP 패킷은 ICMP 프로토콜을 사용하는 패킷이다.
ICMP 패킷은 일반 IP 헤더 뒤에 ICMP 헤더를 포함한다.
라우터나 서버가 오류 메시지를 보내야 하는 경우, ICMP 패킷 본문 또는 데이터 섹션에는 항상 오류를 일으킨 패킷의 IP 헤더 사본이 포함된다.

ICMP와 DDoS 공격

DDoS 공격에서 ICMP는 일반적으로 ICMP 플러드 공격, 핑 오브 데스 공격 또는 스머프 공격을 통해 몇 가지 다른 방식으로 사용된다.

  • ICMP DoS 공격
    ICMP DoS 공격에서 공격자는 대상 장치가 ICMP 에코 요청 패킷을 모두 처리할 수 없도록 엄청나게 많은 핑을 보내려고 시도한다.
    패킷은 각각 처리 및 응답이 필요하기 때문에 장치의 리소스가 고갈되어 합법적인 사용자가 장치에서 서비스를 받을 수 없다.

  • PoD 공격
    PoD 공격에는 공격자가 해당 크기의 핑을 처리할 수 없는 장치에 매우 큰 핑을 보내는 것을 말한다.
    그러면 기계가 충돌하거나 정지한다.
    데이터 패킷은 타겟을 향하면서 조각화돠지만, 재조립 프로세스 중 다시 결합한다.
    타겟에 도달하면 버퍼 오버플로가 발생하여 장치가 오작동하며 PoD는 네트워크 내에서 더 오래된 장비일수록 더 위험하다.

  • 스머프 공격
    스머프 공격에서 공격자는 스푸핑 되거나 위조된 IP 주소가 있는 ICMP 패킷을 전송한다.
    네트워크의 장비가 응답하면 각 응답은 스푸핑된 IP 주소로 전송되고 대상은 수많은 ICMP 패킷으로 플러딩된다.
    또한 이런 유형의 공격은 일반적으로 상대적으로 구형 장비에서만 문제가 된다.

스푸핑(spoofing)
직접적으로 시스템에 침입을 시도하지 않고 피해자가 공격자의 악의적인 시도에 의한 잘못된 정보, 혹은 연결을 신뢰하게끔 만드는 일련의 기법들을 말한다.
외부의 악의적 네트워크 침입자가 웹사이트를 구성해 사용자들의 방문을 유도,
인터넷 프로토콜인 TCP/IP의 구조적 결함을 이용해 사용자의 시스템 권한을 획득한 뒤,
정보를 빼가는 해킹 수법을 말한다.
유명업체의 명의로 스팸 메일을 발송하거나 위조 사이트로 접속을 유도하는 등의 기술이 있고,
IP스푸핑은 로그인하려는 컴퓨터가 허가받은 IP를 도용해 로그인 하는 기법을 일컫는다.

플러딩(flooding)
대규모 네트워크에서 수정된 라우팅 정보를 모든 노드에 빠르게 배포하는 수단이다.
하나의 원천 노드로부터 실제 또는 가상 네트워크의 많은 특정 노드로 패킷들을 멀티캐스트하는 용도로 사용되기도 한다.

ICMP란 무엇인가요?
인터넷 제어 메시지 프로토콜인 ICMP는 네트워크 내 장치가 데이터 전송과 관련된 문제를 전달하기 위해 사용되는 프로토콜입니다.
ICMP가 사용되는 주요 방법 중 하나는 데이터가 대상에 도달하는지와 도달 시간이 적절한지를 확인하는 것입니다.
따라서 ICMP는 네트워크가 데이터를 얼마나 잘 전송하는지 알 수 있는 오류 보고 프로세스 및 테스트의 중요한 측면입니다.


NEXT. HTTP 캐시

profile
성장통을 겪고 있습니다.

0개의 댓글