🌐망 분리하기

2022. 6. 9. 20:59·개발 & 방법론/인프라

네트워크(Network)와 통신망

네트워크는 노드(컴퓨터 등)를 통신망을 통해 서로 물리적으로 연결된 체계를 말한다.

통신망은 노드들과 이들 노드들을 연결하는 링크들로 구성된 하나의 시스템으로 줄여서 '망'이라고 부른다.

- 노드 : IP로 식별할 수 있는 대상

- 링크 : 물리적 회선

 

AWS에서의 망

- Region : 국지 / 지역

- Availability Zone : 데이터 센터(ap-northeast-2a, ap-northeast-2b)

- VPC : 하나의 Region에 종속, 다수의 AZ설정 가능, VPC IP 대역 내에서 망 구성

AWS의 하나의 Subnet을 하나의 망이라고 칭할 수 있다.


네트워크 장비

네트워크를 구성하는 기본적인 장비는 다음과 같다.

- HUB : 네트워크에서 여러 대의 컴퓨터, 네트워크 장비를 연결하는 장치다. 한대의 허브를 중심으로 별 모양으로 연결된다, 같은 허브로 연결된 컴퓨터와 네트워크 장비는 상호 간의 통신이 가능해진다.

 다만, 주고받는 데이터가 허브에 연결된 모든 컴퓨터에 전달되기 때문에 연결된 컴퓨터가 많아질수록 충돌(collision)이 발생한다.

- SWITCH : 허브의 문제점을 개선한 장비로 컴퓨터의 MAC 주소를 사용해서 원하는 컴퓨터와 데이터를 주고 받을 수 있다. 

- ROUTER : 서로 다른 네트워크 간에 데이터 패킷을 전송하는 네트워크 장비다.

 

L2 Switch

- Multiple Access를 위한 장비

- 서버에는 Network Interface Card가 있다.

- Network Interface Card에는 MAC 주소가 있다.

    - 3c:22:fb:78:4a:c0 (앞 6자리는 제조사, 뒤는 식별자) 

L2 Switch 통신방식

- MAC 테이블에 정보가 있을 때 : 해당 포트로 전달 (Forwarding)

- MAC 테이블에 정보가 없을 때 : 전체 포트에 전달 (Flooding)

    - 응답하는 장비가 있으면 그 포트에 장비가 있다고 인지하고 MAC 테이블에 등록

Flooding 모습.

 

Router

- 서로 다른 네트워크 간의 통신을 중계하는 장비

- MAC 테이블에 정보가 있을 때 : Forwarding

- MAC 테이블에 정보가 없을 때 : 해당 통신을 버린다 (Drop) 

- 라우팅 프로토콜을 활용하여, 어떤 대역으로 패킷을 보내는 것이 최적 경로인지 학습함.

인터넷 통신

- 외부 네트워크와 통신하기 위해서는 Public IP가 필요

- 라우터는 Private IP가 목적지일 경우 인터넷 구간으로 보내지 않음. 따라서, Private IP를 Public IP로 변환해주어야 함(NAT)

- 자신이 속한 subnet(172.16.0.0/24)의 서버는 가상 스위치를 통해 직접 통신

- 자신이 속하지 않은 subnet(172.16.1.0/24)은 가상 라우터를 통해 직접 통신

- 그 외의 0.0.0.0/0 (전체 대역)은 Internet Gateway로 통신을 보내도록 학습


VPC 생성

- Virtual Private Cloud는 사용자가 정의하는 가상의 네트워크

- 하나의 서비스를 위한 네트워크 단위(AWS, NHN Cloud 등에서 사용함)

- 서브넷과 라우팅 테이블, 인터넷 게이트웨이 등을 설정할 수 있다. 

    - 서브넷 : VPC에 설정한 네트워크 대역을 더 세부적으로 나눈 네트워크

    - 라우팅 테이블 : 서브넷이 다른 서브넷 혹은 외부막과 통신하기 위한 정보를 가짐

    - 인터넷 게이트웨이 : 외부망과의 연결을 담당

 

서브네팅

- 할당된 네트워크 주소를 작은 네트워크로 쪼깨는 것을 의미.

- VPC는 n개의 Subnet을 가질 수 있으며, VPC의 CIDR 내에서 구성 가능.


Defence in depth, 심층 방어

다양한 계층으로 방어

개인 정보를 다루는 DB 서버 등을 위한 내부망과 사용자가 접근하는 웹 서버를 위한 외부망을 구성한다.

- 여러 겹의 복잡한 방어를 통해 최적화되고 강력한 보안체계를 구축

- 보안 제어가 실패하거나 시스템 수명 주기 동안 직원, 절차, 기술, 보안 등의 취약성이 악용될 경우, 분리된 계층마다 보안 대책으로 최대한 지연시킨다.


참고

인프라공방

Defence in depth 심층방어

 

'개발 & 방법론 > 인프라' 카테고리의 다른 글

🚚 Cloud를 사용하는 이유  (0) 2022.05.30
'개발 & 방법론/인프라' 카테고리의 다른 글
  • 🚚 Cloud를 사용하는 이유
loop-study
loop-study
오늘도 공부하자
  • loop-study
    개발 공부할래?
    loop-study
  • 전체
    오늘
    어제
    • 분류 전체보기 (187)
      • 목표 및 회고 (26)
      • 세미나 & 워크샵 (1)
      • 교육 및 인강 (67)
        • TDD, Clean Code with Java (5)
        • ATDD, 클린 코드 with Spring (6)
        • DDD 세레나데 (3)
        • 인프라 공방 (6)
        • 이규원의 현실 세상의 TDD (19)
        • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (18)
        • 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 (0)
        • 모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한 (8)
        • 코딩으로 학습하는 GoF의 디자인 패턴 (1)
        • 스프링 시큐리티 완전정복 6.x (1)
      • 서적 (62)
        • 객체지향의 사실과 오해 (1)
        • 객체지향과 디자인패턴 (7)
        • 만들면서 배우는 클린 아키텍처 (3)
        • 테스트 주도 개발로 배우는 객체 지향 설계와 실천 (1)
        • 오브젝트: 코드로 이해하는 객체지향 설계 (17)
        • 리팩토링 : 코드 구조를 체계적으로 개선하여 효율적인 리팩터링 구현하기 (0)
        • 토비의 스프링 (3)
        • 엔터프라이즈 애플리케이션 아키텍처 패턴 (9)
        • 개발자의 글쓰기 (1)
        • 소프트웨어 장인 (17)
        • Real MySQL 8.0 (2)
        • JVM 밑바닥까지 파헤치기 (0)
      • 개발 & 방법론 (29)
        • Java (13)
        • TDD (5)
        • ATDD (3)
        • DDD (6)
        • 인프라 (2)
        • SQL (0)
      • 개인이야기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 백엔드 로드맵
  • 인기 글

  • 태그

    Test Driven Development
    넥스트스탭
    엔터프라이즈 애플리케이션 아키텍처 패턴
    Patterns of Enterprise Application Architecture
    DDD 세레나데
    스터디
    소프트웨어 장인
    장인정신
    마틴 파울러
    study
    TDD
    객체지향
    추상화
    ATDD
    fastcampus
    자바
    김영한
    인프런
    오브젝트
    모든 개발자를 위한 HTTP 웹 기본 지식
    java
    이규원
    스프링
    현실세상의 TDD
    인프라공방
    JUnit
    백기선
    조영호
    테스트 주도 개발
    nextstep
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
loop-study
🌐망 분리하기
상단으로

티스토리툴바