이전 게시글 홈 네트워크 구성기와 같이 라우터와 스위치가 늘어남에 따라 주변기기가 너무 많아진 탓에 이를 하나로 정리할 수 있는 수단이 필요하게 되었다. 서버랙 구매를 위해 자료를 찾아보았으나 필자는 자취생으로 너무 오버스펙인 것 같아 리빙박스에 홈 네트워크를 이전한 내용을 다음과 같이 공유한다.
홈 네트워크 구성도와 같이 필자는 라우터 두대 스위치 세대를 포함해 다양한 네트워크 장비를 이용중이다. 해당 장비들의 특징은 발열이 크지 않고 가까이 위치해 랜 케이블 연결이 원활해야하며 전원 공급이 안정적이어야 한다는 점이다. 이에 따라 필자는 적당한 크기의 리빙 박스에 이 장비들을 모아두고 관리하고자 한다.
네트워크 장비 정리를 위한 재료
네트워크 박스를 만들어 홈 네트워크 장비를 한 공간에서 관리하는 것을 목표로 하고 있다. 여기에 들어간 재료의 목록은 다음과 같다.
리빙박스 선정 : 13,890원 x 1 = 13,890원
리빙 박스의 경우 다음 링크의 상품을 이용하였다. 네트워크 장비의 경우 발열이 적긴 하나 바람이 원활히 오갈 수 있어야한다. 하지만, 타공 리빙박스의 경우 별도로 구매할 수 있는 경로가 없으므로 접이식 리빙 박스를 활용해 접히는 부분의 틈새를 통한 공기 흐름과 손잡이 부분의 쿨러 설치를 통해 쿨링 효과를 얻어보고자 한다.
필자는 IT 기기가 늘어남에 따라 다양한 장비에서 균등한 인터넷 속도를 보장 받고 싶었으며 상호 간섭을 최소화 하고 싶었다. 이에 따라 다음과 같이 라우터 한개만 사용하던 네트워크 망을 세부적으로 나누어 관리를 해보고자 한다.
과거의 네트워크 구성
홈 네트워크 구성도 (과거)
필자의 과거 네트워크 구성도는 위의 그림과 같다. ipTIME A2004MU 유/무선 라우터를 기반으로 무선 WiFi를 통해 휴대폰, 아이패드, 맥북 등이 인터넷을 사용중이며, 유선 연결을 통해 ipTIME NAS가 1G 2회선을, 작업용 컴퓨터가 1G 1회선을, 웹 서버가 1G 1회선을 사용하고 있었다. 해당 구성은 통상적으로 가정에서 가장 많이 사용하는 네트워크 구성이지만, 유선 망과 무선 망을 동시에 사용함으로써 라우터의 부하도 늘어날 뿐만 아니라 유선과 무선을 동시에 사용할 때 네트워크 속도에 제약사항을 많이 느꼈다.
이에 따라 유선 망과 무선망을 분리하는 라우터를 추가하고 스위치를 통해 적절히 각 장비의 회선을 분리해주기로 하였다.
현재의 네트워크 구성
홈 네트워크 구성도 (현재)
필자의 현재 네트워크 구성도는 위의 그림과 같다. 설명은 ISP HCN 1G Ethernet을 기반으로 하향식으로 설명을 이어가겠다.
라우터 분리
기존 ISP HCN 1G Ethernet으로 부터의 이더넷의 모든 부하는 ipTIME A2004MU 1G 라우터가 감당하고 있었다. 하지만 ipTIME T5004 2G유선 라우터를 추가하여 유선과 무선의 망 분리를 진행하였다.
스위치 분리 및 웹 서버
차후 글에서 설명을 이어갈 웹 서버의 경우 ipTIME H8005, ipTIME H8008의 스위치와 1G 4port NIC 세장을 통해 총 12G의 이더넷 대역폭을 보장해주었다. NIC 두장은 클라이언트의 원활한 접속을 위해 스위치를 통해 분리를 진행하였으며, NIC 한장은 관리 사용자인 필자의 원활한 데이터 이동을 위해 ipTIME H8008 스위치를 통해 작업용 컴퓨터와 NAS등을 같은 망에 연결해주었다.
홈 네트워크 구성 결과
ISP
1G Ethernet
무선
iphone (13 mini) : 430Mbps 3ms
ipad (mini 6) : 490Mbps 4ms
macbook (m2) : 320Mbps 3ms
유선
웹 서버 : 783Mbps 1ms
작업용 컴퓨터 : 810Mbps 1ms
네트워크 스토리지 : 1G (측정 불가)
결과
무선의 경우 라우터 변경으로 속도가 상승할 여지가 있지만 평균 350Mbps 3ms의 속도가 보장되었으며, 유선의 경우 800Mbps 1ms의 속도가 보장되었다.
#include <stdio.h>
#include <stdbool.h>
int solution(int a, int d, bool inc[], size_t inc_len) {
int res = 0;
for(int idx = 0; idx < inc_len; idx++)
if(inc[idx])
res += (a + d * idx);
return res;
}