[CISCO 보안 아카데미 1기] 3일차 정리(계층, Domain, RARP, CSMA/CD, CSMA/CA, NAT, Routing Table)

Jin_Hahha·2024년 6월 26일
0
post-thumbnail


OSI 7 Layer

  • 통신 공학을 하는 인원들에게 흔한 개념
  • 현재 과정에서는 1, 2, 3계층 내용 위주로 학습
  • 1계층 물리, 2계층 데이터 링크, 3계층 네트워크로 구성

물리 계층(Layer 1)

Topology_2

  • Bus Topology
    • 네트워크 망의 범위가 Terminator로 시작과 끝까지의 범위가 정해져 있음
    • 시작단과 끝단을 연결하는 회선의 중간 지점에 물리적으로 PC를 연결하여 사용
    • 망에 연결되는 PC의 수가 많을수록 회선 손상도 증가
    • 최초 연결 이후 PC의 위치 변경이 불가능
  • Star Topology
    • Bus Topology보다 확장성 좋음
    • Switch를 통한 쉬운 PC 연결
  • Extended Topology
    • 기존 Star Topology의 포트 부족 문제를 해소하기 위한 구성
  • Ring Topology
    • 특정 기기 사이 회선이 끊겨도 우회 경로가 존재하기 때문에 PC 사이 연결 복구에 문제가 없음
    • 현재 가장 대중화된 형태
      가상화와 경로 이중화의 특징이 있음
      • 경로 이중화는 L2와 L3 측면에서 다름
      • 경로 이중화는 Traffic Control이 필수적
    • WAN, LAN, Gateway(End Device 단에서) 경로 이중화 가능

데이터링크 계층(Layer 2)

  • DataLink 계층은 기본적으로 Frame을 전송
  • MAC-Table을 통해 Switch의 통신 설정 구축

Collision Domain?

  • Ethernet의 근간은 CSMA/CD(Carrier Sense Multiple Access/Collosion Detection) 방식에 존재하고 있음
  • 해당 과정도의 특징
    1. 회선 공유를 하지 않음
      • 특정 PC간의 통신이 이루어지고 있을 때(회선이 사용되는 중), 다른 PC들은 회선 이용 불가능
      • 채널 상태 감지 과정(Carrier Sensing, 현재 채널이 사용 중인가?)
      • exponential backoff algorithm, 채널이 사용 중일 때, PC가 대기해야 하는 정도를 알려주는 알고리즘
    2. Collision Detection(충돌 탐지)
      • 한 PC가 통신 시도할 때, 다른 PC가 동시에 작업을 시작할 경우, 충돌 발생
      • 채널 감지 이후로 채널과 PC들의 상태 점검을 끝내는 것이 아니라, 끊임없이 작업 요청이 들어오는지 점검
      • 만약 collision이 발생할 경우, 앞서 얘기한 exponential backoff algorithm을 통해 대기
  • Collision Domain은 collision이 발생할 수 있는 네트워크 망을 일컫는 단어
  • 망이 서로 분리되면 분리되어 있을수록, Collision Domain은 늘어남

Broadcast Domain?

  • 정의는 ARP 프로토콜 발생 시 flooding의 영향을 받는 영역
  • flooding 형태로 패킷이 전달될 때, Router는 A 네트워크에서 발생한 Broadcast 통신을 B 네트워크로 전달하지 않음
    • 쉽게 말하자면
    • 위의 사진에서 203.230.7.X IP를 사용하는 구간과 203.230.8.X를 사용하는 구간은 Router로 연결되어 하나의 네트워크로 보이는 것 같지만, 엄연히 IP 대역이 7.X와 8.X로 다르기 때문에 다른 네트워크 영역으로 봄(그렇기에 7.X에서 발생한 flooding 형태의 무작위 패킷 전송은 8.X 영역으로 전달되지 않음)
  • 이러한 특성으로 봤을 때, Broadcast Domain은 Router로 구분된다고 보면 쉽게 이해할 수 있음
  • 여기서 flooding과 Broadcast가 혼동될 수 있음
    • flooding은 패킷을 받았을 때, 다음 기기로의 MAC 주소가 특정되지 않았을 경우(MAC-Table 미완성) 수신단 경로를 제외하고 연결된 모든 노드로 패킷을 전송(해당 행위는 반복될 수 있음)
    • Braodcast는 패킷을 받고 목적지의 MAC 주소가 특정되지 않았을 경우, ARP 프로토콜을 전송하여 MAC 주소를 특정하기 위해 모든 HOST로 오직 1번의 패킷 전송을 시도(해당 행위는 더 반복되지 않음)
    • 해당 특징을 주의하여 학습 진행
  • Data의 크기가 클 경우, Data는 Segmentation(분할) 형태로 전송
    • 이때 MTU(Maximum Transmission Unit, 최대 전송 단위/1054bytes) 이하 크기의 패킷으로 나누어, 각 패킷마다 Sequence Number를 새긴 후 수신단에서 차례대로 재조합

네트워크 계층(Layer 3)

  • 3계층을 대표하는 장비, Router
  • Packet 형태의 Data 전송
  • 어떤 경로로 Packet을 전송하지는 Routing-Table을 통해 결정

Routing-Table?

  • Routing-Table은 현재 Router에 저장된 패킷을 어느 경로로 보낼지 결정하는 일정의 경로 정리표

  • 열람 방법

    • CLI 환경에서 show ip route 입력
  • 현재 Router의 Port에 등록된 IP 주소의 목록과, 연결 상태 등을 표시

  • 앞서 언급한 Packet의 이동 경로를 결정하는 것은 Routing Protocol에 의해 결정

LAN 구간과 WAN 구간 구분

  • LAN 구간은 Switch to Router

  • Router 이전까지의 단계를 지칭(같은 네트워크 환경이라고 할 수 있음)

  • WAN 구간은 Router 이후의 구간

  • Router에서의 Output이 발생한 이후의 구간(앞서 언급한 내용과 같이, IP의 대역이 바뀌었으므로 다른 네트워크 환경이라 볼 수 있음)


RARP?

RARP 개념

  • RARP란 Reverse ARP의 약어
  • 말 그대로 ARP의 역 기능을 한다고 볼 수 있음
  • ARP의 기능은 IP를 기반으로 MAC 주소를 탐지 (해당 설명은 완벽한 정리는 아님, RARP 동작 과정 기술에서 상세 설명 진행)
  • RARP는 MAC 주소를 기반으로 IP를 탐지
  • 흔히 시작 host 기기에 IP를 저장할 수 없을 경우에 사용(Diskless 환경)

RARP 동작 과정 파악 (정인철 교육생의 내용 인용)

  1. 전제, RARP를 시도하는 PC와 RARP에 응답을 할 수 있는 Server는 동일 네트워크 상에 존재(해당 Server는 동일 네트워크에 존재하는 기기들의 MAC 주소에 대응되는 IP를 정리한 RARP-Table 존재)
  2. 시작은 ARP와 유사 (목적지를 향해 Packet 전송을 시도 > 목적지 MAC 주소의 상실 발견)
  3. IP가 없는 HOST PC에서 본인의 MAC 주소를 포함한 RARP Packet 전송
  4. 브로드캐스트 방식으로 동일 네트워크에 존재하는 모든 기기에 패킷 전송
    • 위의 2번, 3번 과정은 시작 PC의 IP를 찾는다는 일종의 광고 행위
  5. 자신의 MAC 주소를 들고 IP를 찾는다는 광고를 본 기기들 중, 해당 MAC에 대응되는 IP를 지녔다고 대답할 수 있는 Server 기기가 RARP Reply 패킷에 MAC 주소, AA에는 IP 주소 11이 매칭된다는 내용을 담아 전송
  6. 해당 Reply를 받은 No IP PC에서는 IP를 확정

  • 본인의 IP를 알려달라고 자신의 MAC 주소를 들고 동일 네트워크 상의 모든 기기에 광고를 하는 HOST A의 모습

  • RARP Server가 사전에 구비한 RARP-Table을 통해 MAC 주소에 대응되는 IP 주소를 Reply 할 수 있다고 판단, HOST A에게 Reply 패킷을 통해 IP를 전달(배정)하는 모습

Diskless PC는 왜 IP를 저장할 수 없는가?

  • 디스크가 없는 PC는 부팅 이후에 할당된 IP 주소를 저장하고 보관할 곳이 없었기에 부팅을 진행할 때마다 IP를 새로 배정받아야 했음
  • 따라서 본체에 부착된 랜카드에 기록된 MAC 주소만을 가지고 RARP를 통해 부팅할 때마다 Server에서 IP를 배정받는 과정을 거침

무선 Router가 사용된 네트워크

CSMA/CA

  • LAN 환경에서는 CSMA/CD 방식으로 통신이 진행

  • Wireless 환경에서는 CSMA/CA 방식으로 진행

    • CSMA/CA는 Carrier Sensing Multiple Access/Collision Avoidance의 약어
    • LAN 환경과 다르게 Collision이 발생하기 전, 간단한 신호 전송을 통한 충돌 발생 여부를 판단하여 만약 충돌이 발생될 거라 판단될 경우 약간의 대기 시간을 갖고 통신 진행
    • 무선 통신에 사용되는 주파수 대역은 2.4GHz, 5GHz
    • 해당 주파수 대역이 모두 혼잡할 경우, 크게 벗어나지 않는 범위에서 미세하게 주파수 조정

  • 무선 라우터에 연결되는 PC에는 사설 IP 배정
    • 사설 IP는 실제 인터넷 구간에서 사용되는 IP와 충돌되므로 오직 무선 라우터와 연결되는 네트워크 구간에서만 사용
  • 위의 그림에서 PC to Server 통신은 동작
  • But, Server to PC 통신은 차단됨

NAT(Network Address Translation)

  • Server to PC 통신이 차단되는 이유
  • PC to Server Packet을 살펴보면

  • Src IP가 PC에 할당된 사설 IP에서 무선 라우터의 포트 IP로 변경
  • 일단 계속 진행하며 Server에서 PC로 반환되는 패킷을 분석

  • DST IP가 여전히 무선 라우터의 포트로 설정
  • 이렇게 되면 최종적으로 ICMP Reply 패킷은 PC0 에 무사히 도착

  • 이제 Server to PC Packet 분석 진행

  • DST IP가 무선 라우터의 포트 IP가 아닌 PC0에 할당된 사설 IP로 설정
  • 계속 진행

  • 무선 라우터 직전의 라우터에서 패킷 전송이 중단되고, 해당 사실을 Server에 전송하는 패킷 전송

  • 사진에서 알 수 있듯이, 여전히 DST IP는 PC0 의 사설 IP

  • 위의 과정을 통해 알 수 있는 사실

    1. PC에서 무선 라우터로 패킷이 전송될 때, Src IP는 PC의 사설 IP가 아닌 무선 라우터에서 다음 라우터로 향하기 위한 포트의 IP로 변경됨
      • NAT 과정이라 함
    2. NAT 과정을 거친 이후에는 Server에서 PC까지의 Reply 패킷 전송이 문제없이 동작
    3. Server to PC 패킷 전송에서는 DST IP가 처음부터 PC의 사설 IP로 설정
    4. 무선 라우터로 향하는 과정에서 패킷이 전송 실패됨
  • 결론, 무선 라우터로 구성된 네트워크에서 사용된 사설 IP는 외부 인터넷 네트워크에서 인식할 수 없음

  • 무선 라우터의 NAT 과정을 통해서만 실질적 통신이 가능

    • 이는 무선 라우터의 Internet 구간과 연결된 포트의 공인 IP까지만 Server가 인식할 수 있다는 의미

      • 무선 라우터 직전의 유선 라우터에는 PC0의 사설 IP에 대한 Routing Table 정보가 없음을 알 수 있음

      • 실제 무선 라우터 바로 다음 라우터의 Routing-Table
      • Server를 향한 정보와 무선 라우터를 향한 정보만 있을 뿐
      • PC0를 향한 정보는 없음
  • 그렇기에 무선 라우터에는 NAT 기술이 필수적

  • 무선 기기 간 연결을 위해서는 라우터에 등록된 SSID를 기기에서 정확히 입력해야 함

0개의 댓글