ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 분산 처리 환경 구축 1 - 로컬 네트워크 세팅
    Projects/a101 2026. 3. 12. 09:52

    분산 처리 환경 구축

    로컬 네트워크 세팅

    • 고정 IP 설정
    • Ping test

    분산 처리를 하기 위해 여러 대의 노트북을 하나의 네트워크로 묶어야 했다. 이번 프로젝트에서는 여러 노트북을 클러스터처럼 사용하여 분산 연산을 수행하는 환경을 구축하는 것이 목표이다.

    네트워크 구조

    SSAFY 내부망
          │
          │
       공유기
          │
          │
       스위치 (Netgear)
          │
     ┌────┼────┬────┬────┐
    노트북1 노트북2 노트북3 ...
    

    가장 먼저 해결해야하는 문제는 노트북들의 IP 주소 관리

    Setting Flow

    1. 왜 고정 IP가 필요한가?

    기본적으로 공유기는 DHCP를 통해 IP를 자동 할당한다.

    하지만 DHCP는 다음 문젝가 있다.

    • 일정 시간이 지나면 IP가 변경될 수 있음
    • 서버 간 통신 주속가 바뀜
    • 분산 시스템 구성 시 노드 식별이 어려움

    예를 들어

    node1 → 192.168.0.10
    node2 → 192.168.0.11
    node3 → 192.168.0.12
    

    이렇게 설정해두고 작업했는데

    다음날 DHCP 재할당으로

    node1 → 192.168.0.15
    

    로 바뀌면 모든 연결 설정이 깨진다.

    그래서 MAC 기반 DHCP 예약 (IP Reservation) 을 사용했다.


    2. 공유기에서 MAC 기반 고정 IP 예약

    공유기 설정에서 각 노트북의 MAC 주소를 기준으로 IP를 예약했다.

    동작 방식은 다음과 같다.

    1. 장치가 네트워크에 연결되면
    2. DHCP 서버가 MAC 주소 확인
    3. 미리 예약된 IP를 할당

    동적 할당처럼 보이지만 사실상 고정 IP처럼 동작한다.

    iptime-setting

    이 방식의 장점

    • OS에서 IP 수동 설정 불필요
    • 중앙에서 관리 가능
    • 노드 재부팅해도 IP 유지

    3. 스위치 연결 확인

    네트워크 장비는 Netgear 스위치를 사용했다.

    스위치를 통해

    공유기 → 스위치 → 각 노트북
    

    구조로 연결되어 있으며

    스위치 관리 페이지에서 각 포트 연결 상태를 확인했다.

    확인해야 할 것

    • 링크 업 상태
    • 연결된 장치
    • 포트 속도

    4. 노드 간 통신 확인 (Ping test)

    네트워크가 연결되었으면 노드 간 통신이 가능한지 확인해야 한다.

    가장 기본적인 방법은 ping 테스트다.

    하지만 Windows에서는 기본적으로 ICMP 요청이 방화벽에 의해 차단된다.

    그래서 방화벽 규칙을 열어줘야 한다.


    5. Windows 방화벽에서 Ping 허용

    관리자 권한으로 CMD 실행한 후 다음 명령을 실행

    netsh advfirewall firewall set rule group="파일 및 프린터 공유" new enable=Yes
    

    이 설정은 다음을 허용한다.

    • ICMP echo request
    • 네트워크 장치 간 Ping

    직접 gui 방화벽 설정으로 허용해줘도 된다.


    6. Ping test

    이제 다른 노드로 ping을 보내보면 된다.

    예시

    ping192.168.0.11
    

    응답이 오면 네트워크 통신이 정상이다.

    Reply from 192.168.0.11: bytes=32 time<1ms TTL=128
    

    이 과정을 통해

    • 노드 간 연결
    • 방화벽 설정
    • IP 예약

    이 정상적으로 동작하는지 확인할 수 있다.

    실제 수행 결과

    SSAFY@DESKTOP-6OOP6F-Terry MINGW64 ~
    $ echo;
    ping 192.168.0.14;
    ping 192.168.0.18;
    ping 192.168.0.21;
    ping 192.168.0.22;
    ping 192.168.0.41;
    ping 192.168.0.80;
    
    Ping 192.168.0.14 32바이트 데이터 사용:
    192.168.0.14의 응답: 바이트=32 시간=2ms TTL=128
    192.168.0.14의 응답: 바이트=32 시간=2ms TTL=128
    192.168.0.14의 응답: 바이트=32 시간=1ms TTL=128
    192.168.0.14의 응답: 바이트=32 시간=2ms TTL=128
    
    192.168.0.14에 대한 Ping 통계:
        패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
    왕복 시간(밀리초):
        최소 = 1ms, 최대 = 2ms, 평균 = 1ms
    
    Ping 192.168.0.18 32바이트 데이터 사용:
    192.168.0.18의 응답: 바이트=32 시간=1ms TTL=128
    192.168.0.18의 응답: 바이트=32 시간=1ms TTL=128
    192.168.0.18의 응답: 바이트=32 시간=2ms TTL=128
    192.168.0.18의 응답: 바이트=32 시간=2ms TTL=128
    
    192.168.0.18에 대한 Ping 통계:
        패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
    왕복 시간(밀리초):
        최소 = 1ms, 최대 = 2ms, 평균 = 1ms
    
    Ping 192.168.0.21 32바이트 데이터 사용:
    192.168.0.21의 응답: 바이트=32 시간=3ms TTL=128
    192.168.0.21의 응답: 바이트=32 시간=3ms TTL=128
    192.168.0.21의 응답: 바이트=32 시간=3ms TTL=128
    192.168.0.21의 응답: 바이트=32 시간=2ms TTL=128
    
    192.168.0.21에 대한 Ping 통계:
        패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
    왕복 시간(밀리초):
        최소 = 2ms, 최대 = 3ms, 평균 = 2ms
    
    Ping 192.168.0.22 32바이트 데이터 사용:
    192.168.0.22의 응답: 바이트=32 시간<1ms TTL=128
    192.168.0.22의 응답: 바이트=32 시간<1ms TTL=128
    192.168.0.22의 응답: 바이트=32 시간<1ms TTL=128
    192.168.0.22의 응답: 바이트=32 시간<1ms TTL=128
    
    192.168.0.22에 대한 Ping 통계:
        패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
    왕복 시간(밀리초):
        최소 = 0ms, 최대 = 0ms, 평균 = 0ms
    
    Ping 192.168.0.41 32바이트 데이터 사용:
    192.168.0.41의 응답: 바이트=32 시간=1ms TTL=128
    192.168.0.41의 응답: 바이트=32 시간=2ms TTL=128
    192.168.0.41의 응답: 바이트=32 시간=2ms TTL=128
    192.168.0.41의 응답: 바이트=32 시간=2ms TTL=128
    
    192.168.0.41에 대한 Ping 통계:
        패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
    왕복 시간(밀리초):
        최소 = 1ms, 최대 = 2ms, 평균 = 1ms
    
    Ping 192.168.0.80 32바이트 데이터 사용:
    192.168.0.80의 응답: 바이트=32 시간=4ms TTL=128
    192.168.0.80의 응답: 바이트=32 시간=2ms TTL=128
    192.168.0.80의 응답: 바이트=32 시간=3ms TTL=128
    192.168.0.80의 응답: 바이트=32 시간=3ms TTL=128
    
    192.168.0.80에 대한 Ping 통계:
        패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
    왕복 시간(밀리초):
        최소 = 2ms, 최대 = 4ms, 평균 = 3ms
    
    

    정리

    분산 환경 구축에서 네트워크 설정은 생각보다 중요한 단계다.

    이번 단계에서 진행한 작업은 다음과 같다.

    1. 공유기에서 MAC 기반 IP 예약
    2. Netgear 스위치로 노드 네트워크 구성
    3. Windows 방화벽 설정 수정
    4. Ping 테스트로 노드 간 통신 확인

    이 작업을 통해 여러 노트북을 하나의 클러스터처럼 사용할 수 있는 기본 네트워크 환경을 만들었다.

Designed by Tistory.