ARP

1. ARP(Address Resolution Protocol)란?

  • IP 주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜
  • 주소 확인 프로토콜은 MAC 주소를 IP 주소에 매핑하는 데 사용되는 계층 2 프로토콜
    1. 호스트가 LAN(Local Area Network)에서 IP 주소 10.5.5.1과 같은 다른 호스트로 패킷을 보내려고 할 때 먼저 ARP 패킷을 보냄(브로드캐스트).
    2. ARP 패킷에는 간단한 질문이 포함되어 있음
    • IP 주소 10.5.5.1에 해당하는 MAC 주소는 무엇입니까?
    1. IP 주소를 사용하도록 구성된 호스트는 MAC 주소가 포함된 ARP 패킷으로 응답
  • RARP를 통해 실제 주소인 MAC 주소를 가상 주소인 IP 주소로 변환하기도 함
    • 이 매핑 절차는 IP 주소와 MAC 주소의 길이가 다르기 때문에 중요하며, 시스템이 서로를 인식할 수 있도록 변환이 필요함
    • MAC 주소는 데이터 링크 계층이라고도 하며, 물리적으로 연결된 두 장치 간의 연결을 설정하고 종료하여 데이터 전송이 이루어질 수 있도록 함
    • IP 주소는 네트워크 계층 또는 다른 라우터를 통해 데이터 패킷을 전달하는 역할을 하는 계층이라고도 함
    ⇒ ARP는 이러한 계층 사이에서 작동함

2. ARP 동작방식

동작과정

  1. 새 컴퓨터가 근거리 통신망(LAN)에 연결되면 식별 및 통신에 사용할 고유한 IP 주소를 받게 됨
  2. 데이터 패킷은 특정 호스트 시스템을 대상으로 하는 게이트웨이에 도착함
  3. 게이트웨이 또는 데이터가 한 네트워크에서 다른 네트워크로 흐르도록 하는 네트워크의 하드웨어는 ARP 프로그램에 IP 주소와 일치하는 MAC 주소를 찾도록 요청함
  4. 장치가 LAN에 연결된 다른 장치로 데이터를 보내기 위해 MAC 주소를 요청할 때마다 장치는 IP-MAC 주소 연결이 이미 완료되었는지 확인하기 위해 ARP 캐시를 확인함
  5. 캐시가 존재하는 경우 새 요청이 필요하지 않지만, 아직 변환이 수행되지 않은 경우 네트워크 주소에 대한 요청이 전송되고 ARP가 수행됨
    1. 사용자의 장치가 대상 호스트의 하드웨어 주소를 모르는 경우 장치는 이 주소를 요청하는 네트워크의 모든 호스트에 메시지를 보내고  적절한 대상 호스트가 요청을 알게 되면 하드웨어 주소로 응답한 다음 ARP 디렉토리 또는 테이블(ARP 캐시)에 저장됨

[예제]

PC1은 동일한 LAN 및 동일한 서브넷 10.1.1.0/24에 있는 PC3에 ping을 시도함

사용자가 ping 10.1.1.3 명령을 실행하면 PC1은 ICMP 요청(ping)을 네트워크를 통해 보내기 전에 이더넷 프레임에 캡슐화하기 시작함

  • PC가 프로토콜 데이터 단위(PDU)를 구성하는 방법
    • 계층 4에서
    PC1은 ICMP 에코 요청을 보내 ping이 작동한다는 것을 알고 ICMP 에코 응답을 기다림⇒ 따라서 이 계층에 필요한 모든 것을 사용할 수 있음
    • 계층 3
    PC1에서 대상 IP 주소를 알고 있으며 ping 10.1.1.3 명령에서 사용자가 명시적으로 언급하므로 대상 IP 필드에 넣음⇒ 따라서 이 계층에 필요한 모든 것을 사용할 수 있음
    • 계층 2
    PC1은 자신의 구성된 MAC 주소를 알고 소스 필드에 넣음따라서 목적지 MAC 주소는 PC1에서 사용할 수 없으며 ARP 를 사용해야 함
  • 그러나 PC1이 LAN의 어떤 최종 클라이언트에 10.1.1.3이 구성되어 있고 MAC 주소가 무엇인지 알 수 있는 방법은 없음
  • PC1은 자체적으로 구성된 IP 주소 10.1.1.1을 알고 이를 소스 필드에 넣음
  • 이에, 레이어 4의 프로토콜을 에코 요청 플래그가 설정된 ICMP로 설정

ARP 캐시?

  • ARP 캐시는 각 IP 주소 및 일치하는 MAC 주소 목록을 유지함
  • ARP 캐시는 동적이지만 네트워크의 사용자는 IP 주소와 MAC 주소가 포함 된 고정 ARP 테이블을 구성할 수도 있음
  • ARP 캐시는 IPv4 이더넷 네트워크의 모든 운영 체제에 보관됨
  • ARP 캐시 크기는 설계에 따라 제한되며 주소는 캐시에 몇 분 동안만 유지되는 경향이 있음
  • 공간을 확보하기 위해 정기적으로 제거됨
  • 이 디자인은 또한 사이버 공격자가 IP 주소를 도난당하거나 스푸핑하는 것을 방지하기 위한 개인 정보 보호 및 보안을 위한 것임
  • ARP 캐시(Windows 운영 체제에서)를 보려면 명령 프롬프트를 열고 명령 —' arp -a '(따옴표 제외)를 입력하면 되고 ARP 테이블은 아래와 같음

ARP 요청/응답 메시지

  • MAC 주소가 ARP 테이블에 없으면 소스 장치는 ARP 요청 메시지를 생성하고 요청 메시지에서 소스는 자신의 MAC 주소, IP 주소, 대상 IP 주소 및 대상 MAC 주소를 소스가 찾으려고 하므로 공백으로 남겨둠
  • ARP 응답 메시지에는 보내는 장치의 MAC 주소 가 포함되어 있고 대상 장치는 ARP 테이블을 업데이트하고 곧 소스에 연결해야 하므로 소스의 MAC 주소를 저장함 이제 소스가 이 장치의 대상(대상)이 되고 ARP 응답 메시지가 전송됨
  • 요청 메시지 예제
    • 대상 MAC 주소가 비어 있음(예 : 00:00:00:00:00:00 ).
    • 요청 메시지에는 다음과 같은 다양한 다른 필드가 포함됨
    1. 하드웨어 종류 - ARP 메시지를 전송할 때 사용하는 하드웨어의 종류를 지정함. 대부분의 하드웨어 유형은 이더넷임
    2. 프로토콜 유형 - IPv4 각 프로토콜에 번호가 할당되며 여기에서는 IPv4가 사용되었음
    3. 프로토콜 크기 - IPv4 주소의 길이(여기서는 4바이트).
    4. Opcode - ARP 메시지의 특성을 지정(ARP 요청용 1개 등)
    5. 소스 IP 주소 - 10.10.10.2
    6. 대상(대상) IP 주소 - 10.10.10.1
    7. 소스 MAC 주소 - 00:1a:6b:6c:0c:cc

  • ARP 응답 메시지 의 샘플 예입니다 .
    • 응답 메시지에는 소스에서 요청한 MAC 주소가 포함됨 (MAC 주소 00:1d:09:f0:92:ab는 ARP 응답 메시지에서 전송됨)

ARP 스푸핑?

  • ARP 스푸핑은 ARP 포이즌 라우팅 또는 ARP 캐시 포이즈닝이라고도 함
  • 이것은 사이버 범죄자가 네트워크 내의 합법적인 장치 또는 서버의 IP 주소와 MAC 주소를 연결할 의도로 가짜 ARP 메시지를 대상 LAN에 보내는 일종의 악의적인 공격임
  • 링크를 통해 피해자 컴퓨터의 데이터를 원래 대상 대신 공격자의 컴퓨터로 보낼 수 있음

⇒ ARP 스푸핑 공격은 피해자가 모르는 사이에 컴퓨터 간에 민감한 정보가 전달될 수 있으므로 위험할 수 있음

참고사항

  • MAC 주소는 고정되어 있지만 IP 주소는 지속적으로 업데이트됨
    • 사용자에게 보안과 개인정보보호를 제공하기 위해 지속적으로 변경됨
    • 제거 프로세스에서 사용되지 않는 주소는 삭제됨
    • 네트워크에 연결되지 않았거나 전원이 켜져 있지 않은 컴퓨터와의 통신 시도 실패와 관련된 모든 데이터도 마찬가지임

요약

  • ARP(Address Resolution Protocol)는 LAN: IP-to-MAC 바인딩 에서 주어진 논리적 주소( IP )의 물리적 주소( MAC)를 확인하는 메커니즘
  • ARP 요청 은 브로드캐스트 프레임일대일에 캡슐됨 ⇒ 따라서
  • 통신이며 LAN의 모든 호스트는 ARP 요청의 복사본을 받고 대상 IP의 소유자만 응답
  • ARP 응답은 유니캐스트 프레임 에 캡슐화됨⇒  따라서  요청자와 응답자 간의 일대일 통신임
  • 장치가 IP의 물리적 주소를 수신하면 **ARP 테이블(ARP 캐시)**에 항목을 생성하고 모든 후속 통신은 캐시된 항목을 사용함
  • ARP 테이블의 모든 항목은 기본적으로 일정 시간 동안 보관됩니다. 이것을 ARP Time Out이라고 함

3. 다양한 ARP

Proxy ARP

어떤 네트워크의 Proxy device가 해당 네트워크에 없는 IP 주소에 대한 ARP 요청에 응답하는 기술

즉, 네트워크 프록시가 네트워크 외부에 있는 IP 주소에 대한 ARP 쿼리에 응답할 수 있음

⇒ 이렇게 하면 패킷이 한 하위 네트워크에서 다른 하위 네트워크로 성공적으로 전송될 수 있음

Gratuitous ARP

네트워크 상의 호스트가 IP-to-MAC 주소를 안내하거나 갱신하는 방법을 수행하는 관리 절차와 같음

IP주소를 MAC주소로 변경하라는 ARP 요청을 통해 발생되지는 않음

Reverse ARP(RARP)

자신의 IP주소를 모르는 Host 기기가 이를 찾기위해 사용 가능

Inverse ARP(IARP)

ARP는 MAC주소를 찾기 위해 IP주소를 이용하지만, IARP는 IP주소를 찾기위해 MAC 주소를 활용함

라우팅 테이블

1. 라우팅 테이블?

  • IP 주소를 기반으로 라우터의 위치를 저장하는 테이블 또는 데이터베이스로서, 이 테이블은 다양한 네트워크에 대한 주소 맵 역할을 함
  • 송신지에서 수신지까지 도달하기 위해 사용되며, 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기 위한 방법이 들어있는 리스트
  • 라우팅 테이블에는 게이트웨이와 모든 목적지에 대해 해당 목적지에 도달하기 위해 거쳐야 할 다음 라우터의 정보를 가지고 있음
    • (참고) 게이트웨이 : 한 네트워크(segment)에서 다른 네트워크로 이동하기 위하여 거쳐야 하는 지점으로서, 서로 다른 네트워크 상의 통신 프로토콜을 변환해주는 역할을 하기도 함
  • 라우터는 패킷을 수신하면 대상 IP 주소를 검사하고 라우팅 테이블 을 조회하여 어떤 인터페이스 패킷을 보낼지 알아냄

2. 라우팅 테이블 요소

라우팅 테이블에 있는 각 항목의 기본 구성 요소

  • 목적지 주소: 목적지 네트워크의 IP 주소
  • 서브넷 마스크/넷마스크: 대상 주소의 클래스 또는 범위로, 대상 주소를 올바른 네트워크에 매핑하는 데 사용됨
  • 게이트웨이/다음 홉: 패킷이 전달되는 다음 IP 주소
  • 인터페이스: 목적지에 연결되는 outgoing 인터페이스
  • Metric: 패킷 전송을 위해 최적의 경로가 선택되도록 각 경로에 값을 할당하며, 경우에 따라 Metric은 대상 네트워크에 도달하기 위해 건너야 하는 홉 수 또는 라우터 수가 되기도 함. 경로가 여러 개 있는 경우 일반적으로 메트릭이 가장 낮은 경로가 선택됨

라우터가 저장할 수 있는 경로 유형

  • 직접 연결된 네트워크 ID
  • 원격 네트워크 ID
  • 호스트 경로
  • 기본 경로
  • 목적지

3. 라우팅 테이블 관리

직접 연결된 네트워크는 자동으로 추가됨

정적 라우팅 사용

정적 네트워크 장치에 대한 테이블은 네트워크 관리자가 수동으로 변경하지 않는 한 변경되지 않음

동적 라우팅 사용

동적 라우팅 에서 장치 는 라우팅 프로토콜을 사용하여 주변 네트워크 토폴로지에 대한 정보를 교환함으로써 라우팅 테이블을 자동으로 구축하고 유지함

동적 라우팅 테이블을 사용하면 장치가 네트워크를 "수신"하고 장치 오류 및 네트워크 혼잡과 같은 발생에 응답할 수 있음

4. 라우팅 테이블 작동방식

라우터 는 자신의 올바른 서브넷 (서브넷 ID, 보안을 유지하기 위해 더 큰 네트워크를 더 작은 네트워크로 나누는 것을 서브넷이라고 함)을 찾기 위해 데이터 패킷에 언급된 목적지 IP 주소와 모든 서브넷 마스크를 하나씩 Bitwise AND를 수행

  • 일치하는 항목이 하나만 있는 경우 라우터는 해당 인터페이스에 데이터 패킷을 전달
  • 둘 이상의 일치가 발생하면 라우터는 가장 긴 서브넷 마스크에 해당하는 인터페이스의 데이터 패킷을 전달
  • 일치하는 항목이 없으면 라우터는 기본 항목에 해당하는 인터페이스의 데이터 패킷을 전달

예제를 통해 알아보자

[1번째 항목]

PC1이 101.25.67.0에 있는 대상의 PC3에 패킷을 보내려고 함

그러나 PC3은 PC1의 네트워크에 없으므로 PC1은 이 패킷을 라우터 A로 전달

라우터 A에 도착하면 라우터는 대상 101.25.67.0에 대한 경로에 대한 라우팅 테이블을 확인

경로가 존재하므로 패킷은 라우터 A의 인터페이스 eth3을 통해 10.0.0.2의 게이트웨이로 전달

[2번째 항목]

PC1의 사용자가 네트워크 200.0.2.0의 PC25로 패킷을 보내려고 함

라우터 A는 라우팅 테이블에서 PC25가 있는 주소에 대한 항목을 확인

기록된 항목이 없기 때문에 라우터 A는 이 패킷을 eth0 인터페이스를 통해 10.0.0.1의 기본 게이트웨이에 연결된 다른 네트워크로 전달

기본 게이트웨이 경로는 항상 모든 라우팅 테이블에 있음

라우팅 테이블에 특정 네트워크에 대한 항목이 없을 때 사용함

기본 게이트웨이는 일반적으로 다른 원격 네트워크에 연결함

예를 들어 가정 환경에서 기본 게이트웨이는 인터넷에 연결됨

[3번째 항목]

첫 번째 항목과 마찬가지로 마지막 항목에서는 대상 192.25.67.0으로 주소가 지정된 패킷이 인터페이스 eth5를 통해 10.0.0.3의 게이트웨이로 전달됨

IP 주소체계

1. 클래스 기반(IPv4)

일반적으로 IP 주소를 쓰는 표기법에는 점으로 구분된 10진수 표기법과 16진수 표기법의 두 가지 표기법이 있음

[점+10진수 표기법 주의사항]

  1. 모든 세그먼트(바이트)의 값은 0에서 255(둘 다 포함) 사이임
  2. 어떤 세그먼트에서도 값 앞에 0은 없음(054 : X , 54 : O)

32비트 IP 주소는 5개의 하위 클래스로 나뉨 (클래스 A, 클래스 B, 클래스 C, 클래스 D, 클래스 E)

이러한 각 클래스에는 유효한 IP 주소 범위가 있음

클래스 D 및 E는 각각 멀티캐스트 및 실험 목적으로 예약되어 있음

첫 번째 옥텟의 비트 순서는 IP 주소의 클래스를 결정

IPv4 주소는 두 부분으로 나뉨

  • 네트워크 ID
  • 호스트 ID

IP 주소의 클래스는 네트워크 ID 및 호스트 ID에 사용되는 비트와 해당 특정 클래스에서 가능한 총 네트워크 및 호스트 수를 결정하는 데 사용

각 ISP 또는 네트워크 관리자는 네트워크에 연결된 각 장치에 IP 주소를 할당

[참고사항]

  • IP 주소는 IANA(Internet Assigned Numbers Authority) 및 RIR(지역 인터넷 레지스트리)에서 전 세계적으로 관리
  • 모든 네트워크의 첫 번째 IP 주소는 네트워크 번호이고 마지막 IP 주소는 브로드캐스트 IP용으로 예약되어 있으므로 호스트 IP 주소의 총 수 산출 시에, 2개의 IP 주소는 계산에서 제외

클래스 A

클래스 A에 속하는 IP 주소는 호스트가 많은 네트워크에 할당됩니다.

클래스 A에 속하는 IP 주소 범위는 1.xxx – 126.xxx입니다.

클래스 B

클래스 B에 속하는 IP 주소는 중대형 네트워크에 이르는 네트워크에 할당됩니다.

클래스 B에 속하는 IP 주소 범위는 128.0.xx – 191.255.xx입니다.

클래스 C

클래스 C에 속하는 IP 주소는 소규모 네트워크에 할당됩니다.

클래스 C에 속하는 IP 주소의 범위는 192.0.0.x – 223.255.255.x입니다.

클래스 D

클래스 D에 속하는 IP 주소는 멀티캐스팅을 위해 예약되어 있습니다.

클래스 D에는 서브넷 마스크가 없습니다. 클래스 D에 속하는 IP 주소의 범위는 224.0.0.0 – 239.255.255.255입니다.

클래스 E

클래스 E에 속하는 IP 주소는 실험 및 연구 목적으로 예약되어 있습니다. 클래스 E의 IP 주소 범위는 240.0.0.0 – 255.255.255.254입니다. 이 클래스에는 서브넷 마스크가 없습니다.

특수 IP 주소 범위

  • 169.254.0.0 – 169.254.0.16 : 링크 로컬 주소
  • 127.0.0.0 – 127.0.0.8 : 루프백 주소
  • 0.0.0.0 – 0.0.0.8 : 현재 네트워크 내에서 통신하는 데 사용

호스트 ID 할당 규칙

호스트 ID는 네트워크 내에서 호스트를 식별하는 데 사용됩니다. 호스트 ID는 다음 규칙에 따라 할당

  • 모든 네트워크 내에서 호스트 ID는 해당 네트워크에 대해 고유해야 함
  • 모든 비트가 0으로 설정된 호스트 ID는 이 호스트 ID가 IP 주소의 네트워크 ID를 나타내는 데 사용되기 때문에 할당할 수 없음
  • 모든 비트가 1로 설정된 호스트 ID는 이 호스트 ID가 해당 특정 네트워크에 있는 모든 호스트에 패킷을 보내기 위한 브로드캐스트 주소로 예약되어 있기 때문에 할당할 수 없음

네트워크 ID 할당 규칙

동일한 물리적 네트워크에 있는 호스트는 동일한 물리적 네트워크에 있는 모든 호스트에 동일한 네트워크 ID가 할당되므로 네트워크 ID로 식별됨. 네트워크 ID는 다음 규칙에 따라 할당됨.

  • 127은 클래스 A 주소에 속하고 내부 루프백 기능을 위해 예약되어 있기 때문에 네트워크 ID는 127로 시작할 수 없음
  • 1로 설정된 네트워크 ID의 모든 비트는 IP 브로드캐스트 주소로 사용하기 위해 예약되어 있으므로 사용할 수 없음
  • 0으로 설정된 네트워크 ID의 모든 비트는 로컬 네트워크의 특정 호스트를 나타내는 데 사용되며 라우팅되지 않으므로 사용되지 않음

Classful 주소 지정 요약

Classful 주소 지정 문제

이 클래스 주소 지정 방법의 문제는 수백만 개의 클래스 A 주소가 낭비되고 클래스 B 주소의 많은 부분이 낭비되는 반면 클래스 C에서 사용할 수 있는 주소의 수가 너무 적어 조직의 요구를 충족할 수 없다는 것임.

클래스 D 주소는 멀티캐스트 라우팅에 사용되므로 단일 블록으로만 사용할 수 있음.

클래스 E 주소는 예약되어 있음.

⇒ 이러한 문제가 있기 때문에 Classful 네트워킹은 1993년 CIDR(Classless Inter-Domain Routing)로 대체됨

2. CIDR(Classless Inter-Domain Routing)

                        (예) **192.168.10.70/26**

CIDR?

  • 네트워크 정보를 여러개로 나누어진 Sub-Network들을 모두 나타낼 수 있는 하나의 Network로 통합해서 보여주는 방법
  • 클래스가 없다는 뜻은 네트워크 구분을 아래와 같이 Class로 하지 않는다는 것
  • 도메인간의 라우팅에 사용되는 인터넷 주소를 원래 IP주소 클래스 체계를 쓰는 것보다 더욱 능동적으로 할당하여 지정하는 방식
  • Class 체계보다 더 유연하게 IP주소를 여러 네트워크 영역으로 나눌 수 있게 됨
  • 서브네팅 뿐만아니라 서브넷을 합치는 슈퍼네팅 역시 CIDR의 일환이며, 정리하자면, 서브네팅, 슈퍼네팅 이러한 IP나누고 합치는 기법이 모두 CIDR

  • Intra-Domain과 같이 각 네트워크 대역을 구분 짓고 Inter-Domain 과 같이 구분된 네트워크간 통신을 위한 주소 체계

CIDR를 계산해보자

[예제1] 143.7.65.203/24

CIDR이 "/24" 라면 아래 그림과 같이 앞에서부터 24비트 이후에 오는 4번째 옥텟(파란색 부분)을 전부 사용할 수 있다는 표현

하나의 옥텟은 8비트로 2의8승 인 256개 이기 때문에,  143.7.65.203/24 일때 143.7.65.0 ~ 143.7.65.255 까지 사용이 가능한 것

이렇게 CIDR값이 각 자리의 옥텟을 전체를 포함하는 /8, /16, /24, /32 일 경우는 계산하기 쉬움.

0부터 그자리에 해당하는 255 까지 라고 보면되기 때문

⇒ 결국 143.7.65.203/16 이라면 143.7.0.0 ~ 143.7.255.255 가 됨

[예제2] 143.7.65.203/23

사이더 값이 23일경우 아래와 같이 노란색과 파란색 두개의 옥텟에 걸치게 되므로 바로 계산하기가 애매해 짐 이 경우 애매하게 걸친 옥텟을 2진수로 표현하고 최소 값과 최대값을 찾아 내야 함

예를들어 143.7.65.203/23 일때, 4번째 옥텟(파란색 부분) 전체와 3번째 옥텟(노란색 부분)영역의 1비트가 포함됨

그럼 애매하게 걸친 3번째 옥텟을 2진수로 표현해보면,  65로 01000001 가 됨.

사이더에 의해 마지막 자리 1비트를 0 또는 1을 사용할 수 있게 되면 01000000, 01000001 이기 때문에 64, 65가 됨.

여기서 64가 3번째 옥텟에서 사용할 수 있는 최소값이 되며 최대값은 65가 됨.

나머지 4번째 옥텟(파란색 부분)은 전체를 사용할 수 있기 때문에 최소값 0, 최대값 255가 됨.

⇒ 따라서 143.7.65.203/23 는  143.7.64.0 ~ 143.7.65.255 대역을 사용할 수 있는 것

[예제3] 143.7.65.203/22

01000000, 01000001,  01000010, 01000011 총 4개를 사용할 수 가 있을 것이며, 이를 10진수로 표현하면 최소값인 64부터, 65, 66, 최대값인 67 가 됨.

즉  143.7.65.203/22 는  143.7.64.0 ~ 143.7.67.255 임.

[예제4] 143.7.65.203/25

4번째 옥텟(파란색 부분)을 2진수로 고쳐서 표현할 수 있는 최소값 최대값을 찾아 내야 함.

십진수 203은 2진수로 11001011 입니다. 여기서 최소 값은  10000000 인 128이고, 최대값은 11111111인 255 임

⇒ 따라서 143.7.65.128 ~ 143.7.65.255 가 됨.

[예제5] 192.168.10.70/26

  • 192.168.10.70/26 에서 "/26"이 사이더 표기법임(이 숫자는 비트 단위이며 0~32 까지 표현이 가능)
  • 192.168.10.70/26 풀이법

[참고 : 서브넷 마스크와 IP 주소 간에는 &연산이 일어남]

  • 서브넷마스크의 1의 갯수가 26개
  • 네번째 옥텟의 최상위 2개의 비트가 1이고, 나머지 6비트를 호스트ID로 할당
  • 그러면 서브넷마스크는 255.255.255.192
  • 256 - 192 = 64 (특수목적 IP - 2) = 62 이므로 62개의 호스트를 가질 수 있게 된다.
  • 256 / 64 = 4이므로 4개의 서브넷 네트워크를 가진다는것도 알수 있다.
  • 그래서 사용할 수 있는 IP의 대역에 대한 정보는 다음과 같이 된다.

  • 단, 각 네트워크의 첫번째와 마지막 IP는 사용이 불가능
  • 정리하자면, 192.168.10.70/26 은 이렇게 분리된 4개의 네트워크와 각 62개의 호스트를 가진 네트워크를 사용한다는 것을 의미하며, 자신이 두번째 네트워크에 속해 있다

장점

  • 단 한줄만으로 네트워크 범위를 추측 또는 측정가능
  • /24의 숫자를 필요에따라 더 쓰거나 적게 사용하여 IP를 적절하게 할당할 수 있음 : 서브넷팅(더 적게 쓰기) 와 슈퍼넷팅 (더 많이 쓰기)
    • 서브넷 마스크를 호스트ID 방향(오른쪽)으로 움직이면(값 증가) 서브네팅이고 네트워크 방향(왼쪽)으로 움직이면(값 감소) 슈퍼네팅임
    • 만일 서브네팅을 추가적으로 더 해야 되면 /24를 증가시켜 /25로 표기해 제공 해주면 되고, 반대로 슈퍼네팅을 해야된다면 /24를 감소시켜 /23으로 표기해 제공해주면 됨
  • 이진 배수를 통해 효율적으로 주소 공간 할당 가능
  • 클래스 불균형 제거를 통해, 주소 공간의 일부를 널리 사용할 수 있음

단점

  • 클래스를 기반으로 하는 이전 시스템의 주요 이점은 단순성이었음(첫 번째 옥텟을 보고 IP 주소의 몇 비트가 네트워크 ID를 나타내고 호스트 ID가 몇 비트인지 결정할 수 있었음)
  • CIDR의 주요 단점은 복잡성임

3. DHCP

DHCP(Dynamic Host Configuration Protocol)?

네트워크의 각 호스트가 효율적으로 통신할 수 있도록 IP 주소 및 기타 정보를 동적으로 할당하는 데 사용되는 네트워크 관리 프로토콜

DHCP는 네트워크 관리자의 작업을 용이하게 하는 IP 주소 할당을 자동화하고 중앙에서 관리

인터넷 프로토콜(IP) 호스트에 해당 IP 주소와 서브넷 마스크 및 기본 게이트웨이와 같은 기타 관련 구성 정보를 자동으로 제공하는 클라이언트/서버 프로토콜

DHCP는 IP 주소 외에도 서브넷 마스크, 기본 게이트웨이 및 DNS(Domain Name Server) 주소 및 기타 구성을 호스트에 할당하여 네트워크 관리자의 작업을 보다 쉽게 만들어 줌

DNS, NTP와 같은 네트워크 서비스 외에도, UDP 또는 TCP 기반의 모든 통신 프로토콜을 사용할 수 있음

DHCP 서버는 다른 IP 네트워크와 통신할 수 있도록 네트워크의 각 장치에 IP 주소 및 기타 네트워크 구성 매개변수를 동적으로 할당함

DHCP는 BOOTP라고 하는 이전 프로토콜의 향상된 기능임

DHCP 왜 쓰는데?

  1. 운영 작업 감소
  • 네트워크 관리자는 더 이상 네트워크를 사용하기 전에 각 클라이언트를 수동으로 구성할 필요가 없음
  • 중복되거나 잘못된 IP 할당이 없으므로 IP 주소 충돌이 없음
  • TCP/IP 기반 네트워크의 모든 장치에는 네트워크와 해당 리소스에 액세스할 수 있는 고유한 유니캐스트 IP 주소가 있어야 함
  • DHCP가 없으면 한 서브넷에서 다른 서브넷으로 이동하는 새 컴퓨터 또는 컴퓨터의 IP 주소를 수동으로 구성해야 함
  • 네트워크에서 제거된 컴퓨터의 IP 주소는 수동으로 회수해야 함 DHCP를 사용하면 이 전체 프로세스가 중앙에서 자동화되고 관리됨
  1. IP 주소 지정 계획이 최적화됨.
  • 더 이상 사용되지 않는 주소가 해제되고 연결하는 새 클라이언트에서 사용 가능
  • IP 주소는 고정(영구 할당)이 아닌 동적(임대)이므로 더 이상 사용하지 않는 주소는 재할당을 위해 자동으로 풀로 반환됨
  1. 사용자 이동성을 쉽게 관리할 수 있음
  • 관리자는 네트워크 액세스 포인트가 변경될 때 클라이언트를 수동으로 재구성할 필요가 없음
  • 무선 네트워크의 다른 위치로 이동하는 휴대용 장치와 같이 자주
  • 업데이트해야 하는 클라이언트의 IP 주소 변경을 효율적으로 처리

DHCP의 구성 요소

  1. DHCP 서버
  2. 일반적으로 네트워크 구성 정보를 보유하는 서버 또는 라우터
  3. DHCP 클라이언트
  4. 다른 컴퓨터나 모바일과 마찬가지로 서버에서 구성 정보를 가져오는 끝점
  5. DHCP 릴레이 에이전트(DHCP 패킷이 라우터를 통해 이동할 수 없기 때문에, DHCP 서버가 모든 네트워크의 요청을 처리할 수 있도록 릴레이 에이전트가 필요)
  6. 여러 LAN에 대해 하나의 DHCP 서버만 있는 경우 모든 네트워크에 있는 DHCP 릴레이 에이전트가 DHCP 요청을 서버로 전달
  7. IP 주소 풀
  8. 클라이언트에 할당할 수 있는 IP 주소 목록을 포함
  9. 서브넷 마스크
  10. 현재 존재하는 네트워크를 호스트에게 알려줌
  11. 임대 시간
  12. 클라이언트가 IP 주소를 사용할 수 있는 시간임.  이 시간이 지나면 클라이언트는 IP 주소를 갱신해야 함.
  13. 게이트웨이 주소
  14. 게이트웨이 주소는 호스트가 게이트웨이가 인터넷에 연결할 위치를 알려줌.

DHCP는 어떻게 동작할까?

  • 기본 흐름
    • (요약) 응용 프로그램 계층에서 작동하여 IP 주소를 클라이언트에 동적으로 할당하며 이는 DHCP 트랜잭션 또는 DHCP 대화라고 하는 일련의 메시지 교환을 통해 발생
    • DHCP 서버가 관리자의 정책에 따라 구성 데이터를 요청하는 클라이언트에 전달
    • 요청된 공통 네트워크 매개변수( " DHCP 옵션 " )에는 서브넷 마스크, 라우터, 도메인 이름 서버, 호스트 이름 및 도메인 이름이 포함됨
    • 요청하는 클라이언트는 네트워크에 가입할 때 IP 주소가 없으므로 요청을 브로드캐스트함
    ⇒ 따라서 프로토콜은 IP 통신의 초기 단계에서 사용됨
    • 이러한 동적 프로토콜이 IP 주소를 가져오는 데 사용되지 않는 경우 클라이언트는 일반적으로 "고정 IP 주소"라고 하는 미리 정의된 IP 주소를 사용해야 함.
    • 이 주소는 구성 파일 또는 특정 명령으로 클라이언트 네트워크 인터페이스에서 수동으로 구성됩니다.

DHCP 동작 예제

  • DHCP 검색 DHCP 클라이언트는 DHCP 서버를 검색하기 위해 메시지를 브로드캐스트함 클라이언트 컴퓨터는 기본 브로드캐스트 목적지(255.255.255.255) 또는 설정된 특수 서브넷 브로드캐스트 주소와 함께 패킷을 보냄
    • 255.255.255.255 : “현재 네트워크” 로서, 이 주소를 사용하면 연결된 네트워크에 브로드캐스트 패킷을 보낼 수 있음.

  • DHCP Offer:
  • DHCP 서버가 DHCP Discover 메시지를 수신하면 클라이언트에게 DHCP 제안 메시지를 전송하여 클라이언트에게 IP 주소(IP 주소 풀 형식)를 제안함 이 DHCP 제안 메시지에는 DHCP 클라이언트에 대해 제안된 IP 주소, 서버의 IP 주소, 클라이언트의 MAC 주소, 서브넷 마스크, 기본 게이트웨이, DNS 주소 및 임대 정보가 포함됨

  1. DHCP 클라이언트에 대해 제안된 IP 주소 : 192.168.1.11
  2. 네트워크를 식별하기 위한 서브넷 마스크 : 255.255.255.0
  3. 서브넷의 기본 게이트웨이 IP : 192.168.1.1
  4. 이름 번역을 위한 DNS 서버의 IP : 8.8.8.8
  • DHCP 요청그러나 클라이언트는 하나의 DHCP 제안만 수락나머지 DHCP 서버에서 제공되는 다른 모든 IP 주소는 철회되고 사용 가능한 IP 주소 풀로 반환됨
  • 제안에 대한 응답으로 클라이언트는 DHCP 서버 중 하나에서 제안된 주소를 요청하는 DHCP 요청을 보냄
  • 대부분의 경우 클라이언트는 네트워크에 많은 DHCP 서버가 있기 때문에(결함에 대한 용인을 제공하므로), 한 서버의 IP 주소 지정이 실패하면 다른 서버가 백업을 제공할 수 있음

  • DHCP Acknowledgement서버는 클라이언트가 요청할 수 있는 다른 설정을 보낼 수도 있음
  • 이 단계에서 IP 구성이 완료되고 클라이언트는 새 IP 설정을 사용할 수 있음
  • 그런 다음 서버는 클라이언트에 대한 DHCP 임대를 확인하는 Acknowledgement를 클라이언트에 보냄

DHCP는 장점만 있나? 단점은 뭐지?

  1. 보안 위험성 DHCP 서버에는 클라이언트 인증을 위한 보안 메커니즘이 없으므로 모든 새 클라이언트가 네트워크에 참여할 수 있음 ⇒ 이는 승인되지 않은 클라이언트에 IP 주소가 부여되고 승인되지 않은 클라이언트로부터 IP 주소가 고갈되는 것과 같은 보안 위험이 있음
  2. 실패의 Single Point가 될 수 있음 네트워크에 DHCP 서버가 하나만 있는 경우 DHCP 서버는 실패의 Single Point가 될 수 있음

4. NAT(Network Address Translation)

  • NAT는 네트워크 주소 변환 을 나타냄
  • NAT의 개념은 여러 장치가 단일 공용 주소를 통해 인터넷에 액세스할 수 있도록 하는 것임
  • 이를 위해서는 사설 IP 주소를 공인 IP 주소로 변환해야 함 ⇒ 주어진 개인 IP 주소 세트를 게이트웨이 장치에 연결된 단일 공용 IP 주소로 변환함
  • 로컬 호스트에 인터넷 액세스를 제공하기 위해 하나 이상의 로컬 IP 주소를 하나 이상의 글로벌 IP 주소로 또는 그 반대로 변환하는 프로세스임즉, 대상으로 라우팅될 패킷에서 호스트의 포트 번호를 다른 포트 번호로 마스킹하고 NAT 테이블에 해당하는 IP 주소 및 포트 번호 항목을 만듦.
  • 또한 포트 번호 변환을 수행함
  • NAT는 일반적으로 라우터 또는 방화벽에서 작동
  • 일반적으로 경계 라우터가 NAT용으로 구성됨패킷이 로컬(내부) 네트워크 외부를 통과하면 NAT는 해당 로컬(개인) IP 주소를 글로벌(공용) IP 주소로 변환하고 패킷이 로컬 네트워크에 들어오면 글로벌(공용) IP 주소가 로컬(사설) IP 주소로 변환됨
  • NAT에 주소가 부족한 경우, 즉 구성된 풀에 주소가 남아 있지 않으면 패킷이 삭제되고 ICMP(Internet Control Message Protocol) 호스트에 연결할 수 없는 패킷이 대상으로 전송됨
  • 즉, 로컬(내부) 네트워크에 하나의 인터페이스가 있고 글로벌(외부) 네트워크에 하나의 인터페이스가 있는 라우터.
  • 예를 들어, 조직의 홈 모뎀 또는 방화벽 장치임그러나 문제는 사설 IP 주소를 가진 장치가 있는 사설 네트워크가 있을 때 대상 서버가 사설 IP 범위로 응답을 라우팅할 수 없기 때문에 트래픽을 공용 인터넷으로 라우팅할 수 없다는 것또한, 사설 네트워크를 외부 네트워크로부터 안전하게 보호할 수 있음
  • ⇒ 여기에서 NAT이 이용됨.  공용 주소로 ISP에 연결된 가정이나 조직의 게이트웨이 장치가 Nating을 수행함. AWS, Azure 또는 Google 클라우드와 같은 클라우드 플랫폼의 경우 NAT 게이트웨이는 프라이빗 서브넷의 서버가 외부 세계와 통신할 수 있도록 퍼블릭 서브넷에 배포됨
  • IPV4 고갈 문제를 해결하기 위해 사설 IP 범위가 도입되었으며 조직은 수만 대의 컴퓨터와 서버에 대해 사설 IP 범위를 사용할 수 있었음

NAT는 어떻게 작동할까?

예제를 통해 알아보자

다음은 NAT 장치(라우터)를 통해 전달되는 요청의 상위 수준 아키텍처임

1단계 사설 네트워크에 있는 컴퓨터가 공용 웹사이트에 액세스를 시도함.  이 예에서는 google.com으로 가정

2단계 요청 패킷이 먼저 라우터에 도달함.  라우터에는 public IP 주소가 있음.  아래 이미지와 같이 public address를 요청 IP 패킷 헤더에 소스 IP 주소로 추가하고 요청을 전달함.  (이 과정을 "masquerading"이라 부르기도 함)

3단계 요청이 서버(google.com)에 도달하고 소스를 서버 IP로 변경하고 대상을 라우터 공용 IP로 변경하여 웹페이지를 응답으로 보냄

4단계

응답이 라우터에 도달하면 대상 주소를 요청된 컴퓨터의 사설 IP 주소로 수정

라우터는 **NAT 테이블(**NAT 지원 장치에서 관리하는 고유한 테이블)을 통해 요청을 추적함

라우터는 NAT 테이블 정보를 사용하여 요청이 시작된 장치와 응답을 다시 보내야 하는 장치를 알고 있음

NAT은 뭐가 좋지?

NAT는 IPV4 고갈과 관련된 문제를 해결

RFC1918 (사설 IP 범위)은 NAT로 인해 가능

RFC1918 서브넷의 범위는 다음과 같음.

  1. 10.0.0.0/8
  2. 172.16.0.0/16(172.16/12 접두사)
  3. 192.168.0.0/16

NAT FAQ

  • NAT는 MAC 주소를 매핑합니까?
  • 아니오. NAT는 패킷을 처리하는 네트워크 계층(계층 3)에서 작동합니다. MAC 주소는 데이터 링크 계층에 속합니다.
  • 공용 IP 및 인터넷 연결이 있는 서버에 NAT가 필요합니까?
  • 아니오. NAT는 사설 IP 범위가 있는 장치가 인터넷에 연결할 수 있도록 설계되었습니다.
  • 포트 번호를 마스킹하는 이유는 무엇입니까?
  • 네트워크에서 두 호스트 A와 B가 연결되어 있다고 가정합니다. 이제 둘 다 호스트 측에서 동일한 포트 번호(예: 1000)에서 동일한 대상을 동시에 요청합니다. NAT가 IP 주소만 변환하는 경우 패킷이 NAT에 도착하면 두 IP 주소가 모두 네트워크의 공용 IP 주소로 마스킹되어 대상으로 전송됩니다. 대상은 라우터의 공용 IP 주소로 응답을 보냅니다. 따라서 응답을 수신하면 어떤 응답이 어느 호스트에 속하는지 NAT에 명확하지 않습니다(A와 B의 소스 포트 번호가 동일하기 때문). 따라서 이러한 문제를 피하기 위해 NAT는 소스 포트 번호도 마스킹하고 NAT 테이블에 항목을 만듭니다.

NAT Types(3종류)

  1. Static NAT

로컬주소가 공용 주소로 변환될 때, NAT은 같은 것을 선택함.

이것은, NAT 장치나 라우터에 연관된 일관성있는 공용 IP가 있다는 것을 뜻함.

  1. Dynamic NAT

매번 같은 IP 주소를 선택하는 것 대신에, 이 NAT은 공용 주소 풀을 지남.

이것은 라우터가 로컬 주소를 공용 주소로 변환할 때마다 라우터나 NAT 장치가 다른 주소를 얻는 결과를 낳음.

  1. PAT

PAT은 port 주소 변환을 위해 있음.

dynamic NAT의 종류이지만, 몇 가지 로컬 IP 주소들을 하나의 공용 주소로 묶음

모든 직원들의 활동이 하나의 IP를 사용하길 원하는 조직들은 때때로 네트워크 관리의 감시 아래 PAT을 사용함

 

IPv4 vs. IPv6

  • 오늘날 시스템에 널리 구현되는 IP 프로토콜에는 IPv4와 IPv6의 두 가지 버전이 있음
  • Pv6은 프로토콜의 개선과 IPv4 주소 공간의 제한으로 인해 천천히 IPv4를 대체하고 있음  ⇒ 간단히 말해서, 현재 세계에는 IPv4를 통해 사용할 수 있는 주소의 양에 비해 너무 많은 인터넷 연결 장치가 있음
  • IPv4 주소는 32비트 주소입니다. 주소의 각 바이트 또는 8비트 세그먼트는 마침표로 나뉘며 일반적으로 숫자 0-255로 표시됨
  • 이러한 숫자는 일반적으로 인간의 이해를 돕기 위해 10진수로 표시되지만, 각 세그먼트는 일반적으로 8비트의 표현이라는 사실을 표현하기 위해 옥텟 (octet)이라고 함

IPv4 형태?

  • 일반적인 IPv4 주소는 다음과 같음
192.168.0.5
  • 각 옥텟에서 가장 낮은 값은 0이고 가장 높은 값은 255임
  • 이것을 이진법으로 표현하여 4개의 옥텟이 어떻게 보일지 더 잘 알 수 있음. 가독성을 위해 각 4비트를 공백으로 구분하고 점을 대시로 대체함.
1100 0000 - 1010 1000 - 0000 0000 - 0000 0101

⇒ 이 두 형식이 동일한 숫자를 나타낸다는 것을 인식하는 것은 나중에 개념을 이해하는 데 중요

IPv6 형태?

  • IPv4 및 IPv6의 프로토콜 및 백그라운드 기능에는 몇 가지 다른 차이점이 있지만 가장 눈에 띄는 차이점은 주소 공간임.
  • IPv6은 주소를 128비트 숫자로 표현함.⇒ 이 확장된 주소 범위를 표현하기 위해 IPv6은 일반적으로 4자리 16진수의 8개 세그먼트로 작성됨
  • 16진수는 숫자 0-9를 사용하여 숫자 0-15를 나타내고 더 높은 값을 나타내는 숫자 a-f를 사용함
  • ⇒ 이를 고려하면 IPv6에는 IPv4 주소 양의 28 배에 해당하는 7.9×10 이상의 공간이 있음.
  • 일반적인 IPv6 주소는 다음과 같음
1203:8fe0:fe80:b897:8990:8a7c:99bf:323d
  • 압축 형식으로 작성된 이러한 주소를 볼 수도 있음
  • IPv6 규칙을 사용하면 각 옥텟에서 선행 0을 제거하고 0으로 채워진 단일 그룹 범위를 이중 콜론(::)으로 바꿀 수 있음

IPv4의 특징

  • 비연결 프로토콜
  • 다양한 장치에 간단한 가상 통신 계층 생성 허용
  • 메모리가 덜 필요하고 주소를 기억하기 쉬움
  • 수백만 개의 장치에서 이미 지원되는 프로토콜
  • 비디오 라이브러리 및 회의 제공

IPv6의 특징

  • 계층적 주소 지정 및 라우팅 인프라
  • 상태 저장 및 상태 비저장 구성
  • 서비스 품질(QoS) 지원
  • 인접 노드 상호 작용을 위한 이상적인 프로토콜

IPv4와 IPv6의 주요 차이점

  • IPv4는 32비트 IP 주소이고 IPv6은 128비트 IP 주소
  • IPv4는 숫자 주소 지정 방법인 반면 IPv6은 영숫자 주소 지정 방법
  • IPv4 바이너리 비트는 점(.)으로 구분되는 반면 IPv6 바이너리 비트는 콜론(:)으로 구분
  • IPv4는 12개의 헤더 필드를 제공하는 반면 IPv6은 8개의 헤더 필드를 제공
  • IPv4는 브로드캐스트를 지원하지만 IPv6은 브로드캐스트를 지원하지 않음
  • IPv4에는 체크섬 필드가 있지만 IPv6에는 체크섬 필드가 없음
  • IPv4와 IPv6을 비교할 때 IPv4는 VLSM(Variable Length Subnet Mask)을 지원하지만 IPv6은 VLSM을 지원하지 않음
  • IPv4는 ARP(Address Resolution Protocol)를 사용하여 MAC 주소에 매핑하는 반면 IPv6은 NDP(Neighbour Discovery Protocol)를 사용하여 MAC 주소에 매핑

IPv4 주소와 IPv6 주소의 차이점 요약

차이점의 근거  IPv4 IPv6
IP 주소의 크기 IPv4는 32비트 IP 주소입니다. IPv6은 128비트 IP 주소입니다.
주소 지정 방법 IPv4는 숫자 주소이며 이진 비트는 점(.) IPv6은 이진 비트가 콜론(:)으로 구분되는 영숫자 주소입니다. 16진수도 포함합니다.
헤더 필드 수 12 8
헤더 파일의 길이 20 40
체크섬 체크섬 필드가 있음 체크섬 필드가 없습니다.
예시 12.244.233.165 2001:0db8:0000:0000:0000:ff00:0042:7879
주소 유형 유니캐스트, 브로드캐스트 및 멀티캐스트. 유니캐스트, 멀티캐스트 및 애니캐스트.
Class 수 IPv4는 5가지 클래스의 IP 주소를 제공 합니다. 클래스 A에서 E. lPv6은 무제한의 IP 주소를 저장할 수 있습니다.
구성 새로 설치된 시스템이 다른 시스템과 통신하려면 먼저 구성해야 합니다. IPv6에서 구성은 필요한 기능에 따라 선택 사항입니다.
VLSM 지원 IPv4는 VLSM(가변 길이 서브넷 마스크)을 지원합니다. IPv6은 VLSM을 지원하지 않습니다.
분열 단편화는 경로를 보내고 전달하여 수행됩니다. 조각화는 발신자가 수행합니다.
라우팅 정보 프로토콜(RIP) RIP는 routed 데몬에서 지원하는 라우팅 프로토콜입니다. RIP는 IPv6을 지원하지 않습니다. 정적 경로를 사용합니다.
네트워크 구성 네트워크는 수동으로 구성하거나 DHCP를 사용하여 구성해야 합니다. IPv4에는 더 많은 유지 관리 노력이 필요한 인터넷 성장을 처리하기 위한 여러 오버레이가 있습니다. IPv6은 자동 구성 기능을 지원합니다.
최고의 기능 단일 NAT 주소를 허용하는 NAT(네트워크 주소 변환) 장치를 광범위하게 사용하면라우팅할 수 없는 수천 개의 주소를 마스킹하여 종단 간무결성을 달성할 수 있습니다. 방대한 주소 공간 으로 인해 직접 주소 지정이 가능 합니다.
주소 마스크 호스트 부분에서 지정된 네트워크에 사용합니다. 사용되지 않습니다.
SNMP SNMP는 시스템 관리에 사용되는 프로토콜입니다. SNMP는 IPv6을 지원하지 않습니다.
이동성 및 상호 운용성 이동이 제한되는 상대적으로 제한된 네트워크 토폴로지는 이동성과 상호 운용성 기능을 제한합니다. IPv6은네트워크 장치에 내장된 상호 운용성 및 이동성 기능을 제공합니다.
보안 보안은 애플리케이션에 따라 다릅니다. IPv4는 보안을 염두에 두고 설계되지 않았습니다. IPSec(Internet Protocol Security)은 IPv6 프로토콜에 내장되어적절한 키 인프라와 함께 사용할 수 있습니다.
패킷 크기 패킷 크기 576바이트 필요, 조각화 선택 사항 조각화 없이 1208바이트 필요
패킷 단편화 라우터 및 전송 호스트에서 허용 호스트만 보내기
패킷 헤더 체크섬 옵션을 포함하는 QoS 처리를 위한 패킷 흐름을 식별하지 않습니다. 패킷 헤드에는 QoS 처리를 위한 패킷 흐름을 지정하는 흐름 레이블 필드가 포함됩니다.
DNS 레코드 주소(A) 레코드, 호스트 이름 매핑 주소(AAAA) 레코드, 호스트 이름 매핑
주소 구성 수동 또는 DHCP를 통해 ICMPv6(Internet Control Message Protocol 버전 ​​6) 또는 DHCPv6을 사용한 상태 비저장 주소 자동 구성
IP 대 MAC 해상도 브로드캐스트 ARP 멀티캐스트 이웃 요청
로컬 서브넷 그룹 관리 인터넷 그룹 관리 프로토콜 GMP) 멀티캐스트 수신기 검색(MLD)
선택 필드 선택적 필드가 있음 선택적 필드가 없습니다. 그러나 확장 헤더를 사용할 수 있습니다.
IPSec 네트워크 보안과 관련된 IPSec(인터넷 프로토콜 보안)은 선택 사항입니다. IPSec(Internet Protocol Security) 네트워크 보안 관련 필수
동적 호스트 구성 서버 클라이언트는 네트워크에 연결하려고 할 때마다 DHCS(동적 호스트 구성 서버)에 접근합니다. 클라이언트는 영구 주소가 제공되므로 이러한 서버에 접근할 필요가 없습니다.
매핑 ARP(Address Resolution Protocol)를 사용하여 MAC 주소에 매핑 NDP(Neighbour Discovery Protocol)를 사용하여 MAC 주소에 매핑
모바일 장치와의 호환성 IPv4 주소는 점-10진수 표기법을 사용합니다. 그렇기 때문에 모바일 네트워크에는 적합하지 않습니다. IPv6 주소는 콜론으로 구분된 16진수로 표시됩니다. IPv6은 모바일 네트워크에 더 적합합니다 .

듀얼 IP?

  • IPv4와 IPv6은 서로 통신할 수 없지만 동일한 네트워크에 함께 존재할 수 있고 이것을 듀얼 스택이라 함
  • Dual-IP 스택을 사용하면 컴퓨터, 라우터, 스위치 및 기타 장치가 두 프로토콜을 모두 실행하지만 IPv6이 기본 프로토콜임

IPv6는 어떤 점이 좋을까?

  • 더 이상 NAT(네트워크 주소 변환)는 필요하지 않음
  • 자동 구성
  • 더 이상 개인 주소 충돌이 없음
  • 더 나은 멀티캐스트 라우팅
  • 더 간단한 헤더 형식
  • 간소화되고 더 효율적인 라우팅
  • "흐름 레이블 지정"이라고도 하는 진정한 서비스 품질(QoS)
  • 내장된 인증 및 개인 정보 보호 지원
  • 유연한 옵션 및 확장
  • 더 쉬운 관리(더 이상 DHCP 필요 없음)
  • 더 많은 주소를 지원
    • IPv4는 인터넷 주소로 32비트 주소를 사용.⇒ 많은 것처럼 보일 수 있지만 현재 42억 9천만 개의 IP 주소가 모두 할당되어 오늘날 우리가 직면한 주소 부족 문제로 이어짐⇒ IPv6 주소의 수는 IPv4 주소의 수보다 1028배 더 많기 때문에, 인터넷 장치가 매우 오랫동안 확장될 수 있도록 충분한 IPv6 주소가 있음.
    • ⇒ IPv6은 128비트 인터넷 주소를 사용하기 때문에, 2^128개의 인터넷 주소(정확히 340,282,366,920,938,463,463,374,607,431,768,211,456)를 지원 가능
    • ⇒ 즉, 총 2^32개의 IP 주소(약 42억 9천만 개)를 지원

 

 

부탁드리는 사항

혹시 잘못된 내용이나, 인용/차용 등에 있어 문제의 소지가 되는 내용이 있다면 언제든 알려주시면 큰 도움이 될 것 같습니다!

긴 글 읽어주셔서 감사합니다 :)

 

 

 

출처
정의들 (책) 면접을 위한 CS 전공지식 노트
ARP란? & ARP 작동방식
https://www.fortinet.com/resources/cyberglossary/what-is-arp https://www.techtarget.com/searchnetworking/definition/Address-Resolution-Protocol-ARP https://www.ibm.com/docs/en/zos-basic-skills?topic=layer-address-resolution-protocol-arp https://www.networkacademy.io/ccna/ethernet/what-is-arp
https://www.geeksforgeeks.org/how-address-resolution-protocol-arp-works/ https://www.juniper.net/documentation/en_US/junose15.1/topics/concept/ip-arp-understanding.html https://afteracademy.com/blog/what-is-arp-and-how-does-it-work
라우팅테이블 요소
https://www.geeksforgeeks.org/routing-tables-in-computer-network/
https://ipwithease.com/ip-routing-table-and-its-components/
https://www.baeldung.com/cs/routing-table-entry
라우팅테이블 작동방식
https://www.grandmetric.com/2018/01/20/how-does-routing-table-work/
https://www.routerfreak.com/what-is-ip-routing-how-does-it-work/
라우팅테이블과 홉바이홉
https://www.techopedia.com/definition/2447/next-hop
라우팅테이블과 게이트웨이
https://docs.freebsd.org/doc/6.0-RELEASE/usr/share/doc/handbook/network-routing.html
IP주소체계-클래스기반
https://www.geeksforgeeks.org/introduction-of-classful-ip-addressing/
https://docs.oracle.com/cd/E19504-01/802-5753/planning3-78185/index.html https://www.meridianoutpost.com/resources/articles/IP-classes.php
https://study-ccna.com/classes-of-ip-addresses/ https://www.tutorialspoint.com/ipv4/ipv4_address_classes.htm
클래스기반 IP주소의 단점/한계
https://service.snom.com/display/wiki/Limitations+of+class-based+IP+addressing https://public.support.unisys.com/framework/publicterms.aspx?returnurl=%2Faseries%2Fdocs%2FClearPath-MCP-20.0%2F37877693-226%2Fsection-000021665.html
CIDER
https://www.digitalocean.com/community/tutorials/understanding-ip-addresses-subnets-and-cidr-notation-for-networking
https://kim-dragon.tistory.com/9 https://inpa.tistory.com/entry/WEB-🌐-CIDR-이-무얼-말하는거야-⇛-개념-정리-계산법
https://www.geeksforgeeks.org/cidr-full-form/
DHCP
https://www.efficientip.com/what-is-dhcp-and-why-is-it-important/
https://learn.microsoft.com/en-us/windows-server/networking/technologies/dhcp/dhcp-top https://afteracademy.com/blog/what-is-dhcp-and-how-does-it-work
NAT
https://www.comptia.org/content/guides/what-is-network-address-translation https://www.geeksforgeeks.org/network-address-translation-nat/
https://devopscube.com/what-is-nat-how-does-nat-work/
IP주소와 위치추적
https://www.iplocation.net/
IPv4의 단점
https://www.hitechwhizz.com/2020/08/6-advantages-and-disadvantages-drawbacks-benefits-of-ipv4.html
IPv4 vs. IPv6
https://www.geeksforgeeks.org/differences-between-ipv4-and-ipv6/ https://www.thousandeyes.com/learning/techtorials/ipv4-vs-ipv6 https://www.guru99.com/difference-ipv4-vs-ipv6.html

 

'Network' 카테고리의 다른 글

Network기기-스위치와 라우터(L2, L3 중심)  (6) 2022.11.05

네트워크 계층 구조와 네트워크 기기

애플리케이션 계층 : L7 스위치

인터넷 계층 : 라우터, L3 스위치

데이터링크 계층 : L2 스위치, 브리지

물리 계층 : NIC, 리피터, AP

스위치?

1. 정의?

네트워크 스위치는 컴퓨터와 같은 2개 이상의 IT 디바이스가 서로 통신하도록 허용하는 장비

  • IT 디바이스는 네트워크상에서 "패킷"을 교환하는 방식으로 통신함
    • 기본 스위치는 특정 디바이스의 패킷을 다른 디바이스로 전달함
    • 패킷을 지정된 목적지에 보내도 될지 결정하는 등 좀 더 복잡한 작업은 보통 다른 유형의 네트워크 디바이스가 담당
  • 스위치는 전용 어플라이언스의 형태일 수도 있고, 네트워크 라우터나 무선 액세스 포인트(AP) 등과 같이 데이터 패킷에 작업을 수행하는 다른 장비의 구성 요소일 수도 있음
  • 기본적인 스위칭 기술은 수십 년 전부터 사용되어 왔으며 인터넷을 포함한 오늘날 모든 IT 네트워크의 기본 요소 중 하나임

2. 스위치를 왜 쓰는거야?

  • 허브와의 차이점을 통해 이해해보자

⇒ 허브가 뭐야?

기본적으로 허브는 이더넷 케이블을 위한 많은 연결(소켓)이 있는 상자.

허브는 수신한 모든 메시지를 연결된 모든 노드에 반복하고 이러한 노드는 자신을 위한 메시지만 필터링함(이 필터링은 이더넷 수준에서 발생)

들어오는 메시지는 목적지인 수신자의 이더넷 네트워크 주소를 전달함

⇒ 이 접근 방식의 문제는 허브가 특히 대규모 네트워크에서 많은 트래픽을 생성한다는 것임

⇒ 이 트래픽의 대부분은 하나의 노드만을 위한 것이지만 네트워크의 모든 노드로 전송되기 때문에 낭비됨

⇒ 해결하기 위한 방법?

오늘날 일반적으로 사용되는 솔루션은 스위치

스위치는 여전히 허브처럼 모든 노드를 서로 연결하지만 메시지가 어느 노드로 전달되는지에 있어 더 지능적

스위치는 들어오는 이더넷 메시지를 검사하여 어떤 노드가 의도된 수신자인지 확인한 다음 메시지를 해당 노드에 직접 전달

⇒ 이렇게 하면 다른 노드가 불필요하게 모든 트래픽을 수신하지 않음

스위치는 허브보다 비싸기 때문에 네트워크의 트래픽이 적은 부분은 허브를 사용하여 설정할 수 있으며 트래픽이 많은 노드는 스위치에 상호 연결되고 그림 2와 같이 허브 세그먼트도 스위치에 연결됨

라우터?

1. 정의?

라우터는 컴퓨팅 디바이스와 네트워크를 다른 네트워크에 연결하는 네트워킹 디바이스

라우터는 주로 3가지 기본 기능을 수행

  • 경로 결정

라우터는 소스에서 대상으로 이동하는 데이터의 경로를 결정

(지연, 용량 및 속도와 같은 네트워크 지표를 분석하여 최상의 경로를 찾으려고 시도함)

  • 데이터 전달

라우터는 선택한 경로의 다음 디바이스로 데이터를 전달하여 최종적으로 대상에 도달하도록 함

(디바이스와 라우터는 동일한 네트워크에 있거나 서로 다른 네트워크에 있을 수 있음)

  • 로드 밸런싱

경우에 따라 라우터가 여러 경로를 사용하여 동일한 데이터 패킷의 여러 사본을 전송할 수도 있음

⇒ 이 방법을 통해 데이터 손실로 인한 오류를 줄이고 이중화를 구현하고 트래픽 볼륨을 관리

2. 라우터는 왜 쓰는거야?

네트워크가 분할된 경우에도 모든 노드는 여전히 서로 통신할 수 있는데, 이 때 네트워크를 연결하기 위해 라우터 또는 게이트웨이 가 사용함

3. 라우터 vs. 게이트웨이?

라우터는 두 개의 서로 다른 네트워크에 연결되어 있으며, 그림 4와 같이 두 네트워크 간에 패킷을 전달함

일반적인 홈 네트워크에서 라우터는 네트워크와 인터넷 간의 연결을 제공

게이트웨이는 하나의 네트워크 시스템 또는 프로토콜과 다른 네트워크 시스템 간에 변환을 시행한다는 점을 제외하고는 라우터와 동일

예를 들어 NAT 프로토콜은 NAT 게이트웨이를 사용하여 사설 네트워크를 인터넷에 연결함

스위치 vs. 라우터?

1. 주요 차이점

스위치는 주로 레이어 2 연결을 제공하는 기능을 하고 라우터는 레이어 3 연결을 제공함

2. 그게 어떤 뜻이야?

  • 상위 단계에서 이는 스위치를 통해 호스트들이 공통 네트워크(예: 근거리 통신망 – LAN)에 있는 한 호스트들이 통신이 가능함을 의미
  • 반면, 라우터는 서로 다른 네트워크가 서로 통신할 수 있도록 하고 서로 다른 호스트가 서로 다른 원격 네트워크에 연결되어 있어도 통신을 허용

3. 엔터프라이즈 네트워크에서 인기있는 한 네트워크 토폴로지를 바탕으로 비교해보자

  • 이 다이어그램은 L2/L3 스위치와 라우터에 대해 비교하기 좋음

  • Layer2 스위치
    • 가장 일반적인 스위치 유형(데이터 링크 레이어)
    • Layer2와 Layer3 모두에서 작동 가능한 고급 스위치도 있음
    • 시나리오를 통해 이해해보자
    • 호스트 A 가 TCP/IP 네트워크에서 다른 호스트 B 와 통신하려고 할 때 대상 호스트 B의 MAC 주소를 찾기 위해 ARP(주소 결정 프로토콜, Address Resolution Protocol) 요청을 보냄
    • 호스트 A는 호스트 B의 IP 주소를 알고 있지만 해당 호스트에 도달하는 방법을 정확히 알지 못함(MAC 주소를 모름)
    • ARP 요청은 스위치의 다른 모든 호스트로 브로드캐스트되어 이런 질문을 함 “나는 IP 주소가 abcd 인 호스트와 통신하고 싶어. 이 호스트의 MAC 주소가 뭐야?”
    • 호스트 B가 호스트 A와 동일한 스위치(또는 Layer2 브로드캐스트 도메인)에 있는 경우 호스트B는 ARP에 응답하고 호스트A에 MAC 주소 제공
    • 스위치에 연결된 호스트는 동일한 스위치의 다른 호스트 및 인터페이스와 함께 Layer2 브로드캐스트 도메인을 구성함
    • 쉽게 이해하기 위해, 브로드캐스트 도메인을 단일 LAN 연결로 생각해보자. 스위치는 연결된 모든 호스트의 모든 MAC 주소를 학습하고 모든 MAC 주소에 도달 가능한 물리적 포트도 알고있음
    • 스위치를 사용하면 이러한 브로드캐스트 도메인을 분할 가능. 하나의 브로드캐스트 도메인에 너무 많은 호스트가 있으면 네트워크에 적합하지 않은 브로드캐스트 트래픽이 많이 발생할 수 있음
    • 이로인해, 지연이 발생할 수 있고 이를 확인하지 않으면 서비스 중단 및 손실 발생 가능. 스위치는 어떤 LAN 인터페이스가 속해있는지, 즉 그것이 속한 브로드캐스트 도메인을 선택할 수 있는 기능이 있음
    • 가상 LAN 또는 VLAN을 만들어 이를 수행. 단일 스위치에는 수천개의 VLAN이 동시에 실행될 수 있음
    • 스위치가 직면한 문제는 호스트를 서로 다른 VLAN으로 분리할 때 스위치에 Layer3 기능이 없으면 장치가 VLAN 간에 통신할 수 없다는 것임 ⇒ 여기서 라우터나 L3 스위치가 등장함
  • Layer3 스위치 기능
    • Layer3 스위치는 Layer2와 Layer3 모두에서 작동하는 콤보 장치임 ⇒ Layer3 스위치는 포트 간에 이더넷 프레임을 전달하지만, 라우팅 테이블과 Layer3 IP 주소를 기반으로 라우팅 결정도 내릴 수 있음
    • 예를 들어, 3개의 서로 다른 VLAN이 구성된 Layer2 스위치가 있다고 가정했을 때, VLAN 2의 호스트가 VLAN3(다른 Layer3 서브넷에 속함)의 호스트와 통신하려는 경우, L2 스위치는 VLAN간에 트래픽을 라우팅할 수 없음
    • 이제 3개의 서로 다른 VLAN이 있는 Layer3 스위치가 있다고 가정해보자. 이제 이 유형의 스위치는 Layer3 서브넷과 IP 주소를 알고있고 이러한 세그먼트 간 패킷을 라우팅할 수 있기 때문에 VLAN 간 라우팅도 제공 가능
    • 위의 다이어그램에서도 볼 수 있듯이 Layer3 스위치는 호스트를 직접 연결할 수 있으며 VLAN 간의 라우팅을 제공하기 위해 다른 Layer2 스위치도 연결 가능
  • 라우터의 기능
    • 라우터를 사용하면 서로 다른 LAN 또는 네트워크가 서로 통신할 수 있음
    • 라우터의 메모리에 저장된 라우팅 테이블 내부에는 장치가 알고 있는 모든 네트워크와 거기에 도달하는 방법에 대한 자세한 정보가 있음
    • 위의 그림과 같이 네트워크 스위치는 내부 호스트와 VLAN에 이더넷 연결을 제공하기 위해 대부분 내부 LAN 네트워크에 존재함
    • 반면에, 라우터는 일반적으로 내부 LAN과 외부 WAN(예: 인터넷 또는 다른 WAN 네트워크) 사이의 경계를 제공하기 위해 경계에 연결됨
    • 라우팅 테이블은 동적으로(Dynamic routing protocol) 또는 정적으로(관리자가 장치에서 고정 경로 구성)으로 구축됨
    • 라우터가 특정 대상 IP에 도달해야 하는 패킷을 수신하면 라우팅 테이블에서 일치하는 항목을 찾음. 일치하는 항목이 발견되면, 라우터는 해당 대상 IP에 대한 다음 hop(컴퓨터 네트워크에서 출발지와 목적지 사이에 위치한 경로의 한 부분) 게이트웨이가 무엇인지 확인하고 적절한 물리적 또는 논리적 인터페이스로 패킷을 보냄
    • 컴퓨터와 프린터가 있고 사무실의 공통 서브넷에 IP가 있는 두 개의 장치가 있는 경우 두 장치가 통신하는 데 스위치만 있으면 됨. 공통 VLAN에 배치하고 트래픽을 직접 보낼 수 있음
    • 그러나 다른 네트워크에 있는 프린터에서 멀리 떨어진 사무실에 있는 무언가를 인쇄하기 위해 컴퓨터가 필요하다고 가정했을 때, 컴퓨터에서 패킷을 가져와 별도의 서브넷에 있는 IP에 도달하도록 지시할 수 있는 경로에 라우터가 필요

4. Layer2 스위치 vs. 라우터

  • 스위치
    • 스위치를 사용하면 장치가 공통 네트워크에서 통신할 수 있을 뿐만 아니라 이러한 네트워크를 더 작은 브로드캐스트 도메인으로 나눌 수 있음.
    • 스위치는 레이어 2의 호스트 간에 트래픽을 전달하기 위해 연결된 모든 호스트의 모든 MAC 주소를 학습함.
  • 라우터
    • 라우터를 사용하면 레이어 3에서 서로 다른 네트워크를 사용하고 트래픽을 서로 전달할 수 있음
    • 라우터는 다른 네트워크에 도달하는 방법에 대한 맵("라우팅 테이블")을 구축하고 "트래픽 cops"로 작동하여 어디로 가야 하는지 지시. 먼 목적지에 도달하기 위해 패킷을 보냄.
  • 스위치와 라우터는 몇 가지 하드웨어적 차이점이 존재
    • 스위치 연결은 이더넷 포트(예: electrical RJ45, fiber gigabit ports 등)만 사용하여 호스트를 네트워크에 연결
    • 라우터에는 ADSL, 케이블, 광섬유, 전화 접속 등(이더넷 포함)과 같은 다양한 유형의 포트가 있을 수 있음

5. Layer3 스위치 vs. 라우터

  • Layer3 스위치는 순수한 레이어 2 기능 외에 라우팅 기능도 제공할 수 있음
  • Layer3 스위치와 라우터의 유사점
    • 두 장치 모두 각 IP 패킷이 장치를 통해 전달되는 방법을 결정하기 위해 라우팅 테이블을 가지고 있음
    • 둘 다 각 패킷 헤더에 포함된 대상 IP 주소를 살펴본 다음 각 대상 네트워크에 도달할 수 있는 위치와 관련된 정보를 제공하는 라우팅 테이블을 확인
    • 라우팅 테이블을 구축하기 위해 L3 스위치와 라우터 모두 OSPF , RIP 등과 같은 동적 라우팅 프로토콜 또는 정적으로 구성된 경로를 지원
    • 또한 두 장치 모두 네트워크 간의 트래픽을 허용하거나 차단하기 위해 패킷(일반적으로 액세스 제어 목록 사용)에 대한 트래픽 제어를 시행할 수 있음(이러한 액세스 제어 목록은 일반적으로 TCP 계층 4까지 작동할 수 있으므로 포트 수준에서도 트래픽을 제어할 수 있음(예: 포트 443에서 IP 5.5.5.5에 대한 트래픽 허용))
  • Layer3 스위치와 라우터의 차이점
    • 주요 차이점은 라우터 장치는 다양한 유형의 WAN 인터페이스를 지원하는 반면 스위치는 여러 이더넷 포트(예: RJ45 전기 포트 또는 다중 기가비트 광섬유 포트)로 구성된다는 것
    • 반면에 라우터는 광섬유, ADSL, 케이블, ATM, 프레임 릴레이, 전기 이더넷 등과 같은 다양한 WAN 인터페이스를 지원할 수 있음
    • 또한 스위치의 포워딩 성능은 하드웨어 ASIC 칩을 사용하여 패킷 포워딩을 수행하는 반면 라우터는 일반적으로 소프트웨어 라우팅(일부 고급 라우터 제외)을 사용하기 때문에 라우터보다 훨씬 높음
    • Layer3 스위치는 라우터와 같은 기본 라우팅 기능을 제공할 수 있지만, 이는 스타 토폴로지의 이더넷 물리적 연결(LAN 네트워크)에서만 가능
    • 반면에 라우터는 QoS(트래픽에 대한 서비스 품질), 터널 종료(예: VPN의 경우 GRE 또는 IPSEC), NAT(네트워크 주소 변환), BGP 등과 같은 고급 라우팅 프로토콜과 같은 고급 네트워킹 기능을 지원
  • Layer3 스위치의 사용 사례
    • 레이어 3 스위치는 주로 캠퍼스 LAN 네트워크, 데이터 센터 및 대규모 내부 기업 네트워크에서 VLAN 간의 라우팅을 제공하는 데 사용
    • 포트 밀도가 크기 때문에 여러 내부 호스트를 수용할 수 있으며 기가비트, 10기가비트 등과 같은 초고속으로 작동
    • 대규모 내부 LAN을 여러 VLAN으로 분할하고 VLAN 간에 라우팅을 제공하려는 경우 L3 스위치가 이러한 시나리오에 이상적
  • 라우터의 사용 사례
    • 주요 사용 사례는 위에서 설명한 대로 WAN 연결을 위한 것
    • 특히, WAN redundancy 또는 인터넷 액세스 redundancy를 제공하려는 경우 라우터는 여러 WAN 네트워크에 연결하고 BGP(Border Gateway Protocol의 약자로 서로 다른 AS(망 식별번호 Autonomous System)를 연결해 주는 경계 게이트웨이 프로토콜)를 사용하여 페일오버(컴퓨터 서버, 시스템, 네트워크 등에서 이상이 생겼을 때 예비 시스템으로 자동전환되는 기능) 및 로드밸런싱(애플리케이션을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법)을 라우팅하는데 이상적
  • 비교표레이어 3 스위치 라우터
    OSI 모델의 Layer 2 및 Layer 3 모두에서 작동 OSI 모델의 Layer 3에서만 작동
    이더넷 인터페이스만 지원(전기, 광) 이더넷, ADSL, 케이블, 파이버, ATM, E1 등과 같은 다양한 유형의 인터페이스 지원
    더 높은 전달 처리량 낮은 포워딩 처리량
    기본 라우팅 기능 지원 BGP, ISIS, MPLS 지원, VRF 등과 같은 더 많은 프로토콜로 고급 라우팅 기능을 지원
    고급 네트워킹 기능 없음 QoS, VPN, 터널링(GRE, IPSEC), NAT, VRF 등과 같은 고급 네트워킹 기능 지원
    비용 절감 더 높은 비용
    주로 내부 네트워크, 데이터 센터, 캠퍼스 LAN 등에서 사용 ISP 환경 등에서 LAN/WAN 사이의 경계 장치로 주로 사용
    높은 포트 밀도 낮은 포트 밀도
    더 작은 라우팅 테이블 대형 라우팅 테이블
  • 일부 라우터 모델 예
    • 라우터는 다양한 사양과 기능으로 구분할 수 있음
    • 예를 들어, 네트워크 인터페이스의 수와 유형(주로 WAN 및 LAN), 하드웨어 성능(예: 처리할 수 있는 초당 패킷 수), 소프트웨어 기능(예: 지원하는 라우팅 프로토콜) 등
    • 보다 일반적인 범주에는 가정용 라우터, 비즈니스 라우터, 엔터프라이즈 모델, ISP 모델 등이 있음
  • 일부 스위치 모델 예
    • 주로 하드웨어 기능과 가장 중요한 물리적 인터페이스 포트로 구별
    • 거의 모든 최신 스위치는 소형 가정용 모델에서도 최소한 기가비트 이더넷 포트를 지원하며 고급 모델은 10기가비트 포트와 광섬유 포트도 지원함

위의 자료는 다소 예전 기술 상의 스위치3, 라우터의 차이점이고 요즘에는 기술이 발전하면서 L3 스위치가 라우터를 거의 대체가능해졌음

(참조 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=nackji80&logNo=220228728915)

6. IP 패킷의 네트워크 흐름을 살펴보자

네트워크를 통해 컴퓨터 A에서 컴퓨터 B로 전송된 IP 패킷은 여러 네트워크 세그먼트를 통과해야 할 가능성이 높음

일부는 이더넷에 연결되고 일부는 WiFi에 연결됨

모든 네트워크 세그먼트는 다른 매체 액세스 방법을 사용하므로 프레임은 다르지만 패킷은 동일하게 유지됨

  • 장치 A는 이더넷 프레임으로 캡슐화된 IP 패킷을 보냄
  • 스위치는 프레임을 라우터인 다음 장치로 전환하여 프레임을 유지
  • 라우터는 IP 헤더를 살펴보고 프레임을 스트립(캡슐화 해제)함
  • 라우팅할 올바른 인터페이스를 선택한 후 패킷은 WiFi 프레임으로 캡슐화됨
  • WiFi 프레임이 장치 B에 들어오면 장치가 프레임을 캡슐화 해제하고 IP 패킷을 해석함

스위치의 작동방식?

모든 장치에는 MAC 주소라는 하드코딩된 물리적 주소가 있음

컴퓨터가 다른 장치로 IP 패킷을 보내면 목적지인 장치 B의 MAC 주소와 자신의 MAC 주소를 소스로 사용하여 패킷을 프레임으로 캡슐화하여 보냄

프레임이 장치 B에 도착하면, 프레임이 제거되고 IP 패킷이 수신되고 이 과정에서 이더넷 스위치를 통과하게됨

1. 스위칭 프로세스

프레임이 스위치에 도착하면 스위치는 올바른 포트를 통해 프레임을 보내야 하며 이 리디렉션을 스위칭 이라고

프레임이 스위치 포트에 들어가면 스위치는 물리적 포트와 MAC 주소 쌍을 저장하는 메모리의 동적 테이블을 확인하여 프레임을 전달하는 데 사용할 포트를 인지함

  • 이 때, 스위치는 IP 패킷을 조사하지 않고 대상 MAC 주소를 기반으로 프레임을 전달함
  • 스위치는 테이블을 어떻게 구성하나?
    • 스위치는 MAC 학습 이라는 프로세스에서 mac 및 포트 쌍을 학습
    • 프레임이 스위치 포트에 처음 도착하면 스위치는 프레임 내의 소스 MAC 주소를 확인하고 수신된 포트 번호 옆에 저장
    • 이 프로세스는 CAM(Content Addressable Memory) 또는 TCAM(Ternary Content Addressable Memory)으로 알려진 테이블을 작성

  • 아직 스위치에 알려지지 않은 대상 MAC 주소는?
    • 아래 그림에서 장치 B의 MAC 주소는 아직 스위치에 알려지지 않았음
    • 이 B장치의 MAC으로 향하는 프레임이 스위치 포트에 도착하면 스위치는 TCAM 테이블을 참조하고 MAC 주소를 찾지 못하면 수신된 포트를 제외한 모든 포트로 보내는 프레임을 복제함
    • 프레임이 의도되지 않은 모든 장치는 프레임을 삭제하고 장치 B만 이 프레임을 올바르게 해석함
    • 장치 B가 장치 A로 프레임을 다시 보낸 후 스위치는 장치 B MAC을 학습하고 테이블에 저장하고 이미 MAC 및 포트가 있기 때문에 프레임을 장치 A로 직접 전달합니다. (1A).

2. 스위치 및 브로드캐스트 트래픽

스위치는 특히 브로드캐스트 트래픽을 처리함

대상 MAC 주소가 모두 "1"이거나 FF:FF:FF:FF:FF:FF(16진수 표기법)인 프레임은 수신된 포트를 제외한 모든 포트에서 무조건 전송됨

브로드캐스트 트래픽은 ARP(Address Resolution Protocol) 와 같은 이더넷 작업에 매우 중요

⇒ 하지만, 브로드캐스트는 브로드캐스트 폭풍이나 원치 않는 트래픽 처리 또는 리소스 과사용과 같은 심각한 네트워크 문제의 원인이 될 수 있음

⇒ 그렇기 때문에 레이어 2의 적절한 트래픽 분할은 네트워크 보안과 안정성을 위해 매우 중요

3. 그런데, 프레임이 뭐야?

프레임은 패킷이 한 장치 인터페이스에서 다른 장치 인터페이스로 특정 매체를 통과할 수 있도록 하는 정보의 일부임

  • 예를 들어 이더넷은 장치가 네트워크에 액세스하는 방법, 케이블 커넥터의 모양, 전송 속도, 마지막으로 비트 및 주소 구성 방법에 대한 많은 기술 매개변수를 설명함
  • 따라서, 레이어 2는 장치의 매체 또는 인터페이스 유형과 엄격하게 연결됨 (레이어 2는 스위치가 작동하는 곳임, 빨간색으로 표시)

4. 이더넷 프레임

모든 IP 장치는 패킷을 생성하고 네트워크 액세스 유형에 관계없이 네트워크를 통해 전달됨

모든 액세스 유형은 자체 구조를 사용하여 해당 환경에서 데이터를 전달함

이더넷은 이더넷 프레임이라는 구조를 사용(프레임은 아래 그림과 같이 패킷을 "둘러싸고" 있음)

이더넷 환경을 통해 IP 패킷을 전송하기 위해서 이더넷 페이싱 장치는 프레임을 만드는 IP 패킷의 앞뒤에 여분의 비트를 추가함(이 비트 추가 프로세스를 캡슐화 라고 함)

프레임 헤더는 특히 소스 및 대상 MAC 주소를 포함함

소스 MAC 주소는 송신 장치의 물리적 주소이고, 대상 MAC 주소는 동일한 이더넷 세그먼트 내에서 대상 장치의 이더넷(물리적 인터페이스) 주소임

프레임은 이더넷 세그먼트에 고유하므로 프레임이 다수의 매개체와 다수의 분리된 이더넷 세그먼트를 횡단하지 못한다는 점을 기억하자

라우터가 아닌 스위치를 쓰는 경우는 왜 그럴까?

포트 밀도를 위해 설계됨

컴퓨터 간 직접 이더넷 연결이 있는 경우 이더넷 스위치가 필요한 이유는 무엇일까?

⇒ 하지만, 여기서 세 번째 장치를 장치 그룹(이더넷 세그먼트)에 연결해야 하는 경우 어떻게 해야 할까?

⇒ 이 때, 특정 논리를 가진 통신 장치가 필요하고 이것이 스위치의 목적임

이제 많은 수의 사용자와 유선 장치를 연결할 수 있는 장치가 필요함

이것은 라우터를 위한 것이 아님

대부분의 상황에서 라우터는 제한된 수의 포트를 가지고 있기 때문에 더 고급 기능으로 작동하며 더 비쌈

아래와 같이, 라우터가 있는 소규모 홈 네트워크(노트북 4대)를 인터넷 제공업체에 연결해야 한다고 가정해 보았을 때, 포트가 충분하지 않아 불가능 함!

스위치는 이러한 요구 사항에 적합한 매체임

스위치는 많은 이더넷 장치를 유선 연결하는 데 가장 적합한 네트워크 장치로 간주됨

라우터의 작동방식?

수십억 개의 컴퓨터 장치 간의 통신을 허용하려면 중간 네트워크 장치가 필요

⇒ 교차로 및 도로 표지판과 같은 라우터는 패킷을 소스에서 목적지로 적절하게 보냄

목적지 IP 주소를 검색하는 IP 패킷 헤더를 조사하고(패킷 헤더에 소스 및 목적지 IP가 포함됨) 로컬 라우팅 테이블을 기반으로 패킷을 목적지를 향하는 다음 홉으로 라우팅함

따라서 라우터는 레이어 3에서 작동함(IP 패킷은 네트워크 레이어 – 레이어 3의 통신 구조).

비트는 기계를 위한 언어의 한 형태이고 패킷은 네트워크를 가로지르는 이러한 비트의 시리즈(그룹)임

이러한 패킷이 네트워크를 통해 이동하는 메커니즘은 인터넷 프로토콜 덕분에 구성될 수 있음(IP는 공통 규칙, 구조 및 설명의 집합).

일반적으로 우리는 BITS 라고 부르는 기호 를 생성하고 보낼 준비가 된 IP 패킷으로 형성하는 엔드 장치  (노트북 또는 스마트폰과 같은)를 가지고  있음

전송할 정보의 양이 많을수록 더 많은 비트를 전송해야 하고 더 많은 패킷이 형성되어야 함

이러한 IP 패킷은 목적지를 향한 적절한 패킷 라우팅을  담당하는 라우터로 구성된 네트워크 의 경로를 따라 전송됨

라우터가 정보(비트)를 라우팅하는 방법을 이해할 수 있도록 하는 IP 패킷 내 정보는 무엇이 있을까?

  • IP 패킷을 송수신하는 모든 장치에는 단순히  IP 주소 라고 하는 고유한 주소가 있음. IP 주소는 우편 집 주소와 같음  예를 들어, 누군가 시카고에서 애틀랜타로 엽서를 보내려면 봉투에 애틀랜타의 목적지 우편 주소를 적어야 함  이러한 봉투가 시카고 우체국에 도착하면 목적지 우편 주소와 대조하여 애틀랜타 우체국으로 전달됨 애틀랜타의 PO는 목적지 우편 주소(애틀랜타 포스트의 지역)를 기반으로 봉투를 배달할 위치를 알고 있음

  • IP 주소의 목적은 우편 주소와 매우 유사하고 네트워크 내에서 발신자와 수신자를 찾음

  • 라우터는 목적지를 향한 경로를 알고 있기 때문에 패킷을 올바른 방향으로 전달할 수 있음  ⇒ 라우터가 우체국과 같다고 생각하면, 라우팅 프로세스를 이해할 수 있음

1. 라우터가 패킷을 라우팅할 위치를 확인하는 방법

라우터에는 다른 네트워크 장치와 인터페이스하는 포트 또는 더 정확하게는 인터페이스가 있음

인터페이스는 패킷 전달에 사용되는 링크를 연결함.

링크는 케이블, 광섬유 또는 무선일 수 있음

2. 라우팅 프로세스

  1. 패킷이 인터페이스(입구 인터페이스)로 들어 오면  라우터는 패킷을 보내는 데 사용해야 하는 인터페이스(출구 인터페이스)를 알아야 함
  2. 라우터는 알려진 각 DESTINATION과 관련된 항목이 있는 ROUTING TABLE 에 대해 이를 확인
  3. 각 Routing ENTRY 는 목적지 주소와 NEXT HOP device이라고 부르는 경로상의 다음 장치의 주소를 저장
  4. 이제 NEXT HOP 주소가 있으면 라우터는 나가는 인터페이스를 결정 하고 패킷을 보낼 수 있음
  • 정확히 지정된 주소가 있을 때, 다음과 같은 방식으로 동작함

  1. 장치 A는 주소가 192.168.1.20인 장치 B로 IP 패킷을 보내고 이러한 패킷에는 장치 B의 대상 IP 주소(패킷 헤더에 있음)가 포함됨
  2. 패킷이 라우터 1 인터페이스로 오고 라우터는 192.168.1.20인 패킷의 목적지 IP를 분석함
  • 그런 다음 라우팅 항목을 조회하여 가장 일치하는 대상 을 찾음
  • 장치 B의 IP에 도달하려면 패킷이 라우터 2(10.254.2.1을 통해)를 통해 보내져야 함
  • 그런 다음 라우터 2가 인터페이스 2에서 액세스 가능한지 확인함
  • 이제 라우터는 패킷을 보내기 위한 모든 정보를 가지고 있음

목적지까지의 경로를 따라 모든 라우터에서 동일한 프로세스가 발생함

 

부탁드리는 사항

혹시 잘못된 내용이나, 인용/차용 등에 있어 문제의 소지가 되는 내용이 있다면 언제든 알려주시면 큰 도움이 될 것 같습니다!

긴 글 읽어주셔서 감사합니다 :)

 

출처:
네트워크 계층구조와 기기 이미지
https://junroot.github.io/programming/OSI-7계층/
계층별 기기분류
(책) 면접을 위한 CS 전공지식 노트
스위치의 정의
https://www.juniper.net/kr/ko/research-topics/what-is-a-network-switch.html
라우터의 정의
https://aws.amazon.com/ko/what-is/routing/
스위치와 라우터의 기본적인 이해
https://www.iusmentis.com/technology/tcpip/networks/
스위치 vs. 라우터
https://www.networkstraining.com/router-vs-switch-in-networks/
스위치 작동방식
https://www.grandmetric.com/2018/03/08/how-does-switch-work-2/
라우터 작동방식
https://www.grandmetric.com/blog/2018/01/04/how-does-router-work/
패킷 스위칭
https://www.informit.com/articles/article.aspx?p=27569&seqNum=4

 

'Network' 카테고리의 다른 글

IP주소(ARP, 라우팅 테이블, CIDR, DHCP, NAT, IPv4, IPv6)  (8) 2022.11.12

+ Recent posts