네트워크의 전반적인 내용을 살펴보자
네트워크는 여러 개의 네트워크 기기를 기반으로 구축됩니다.
계층별 네트워크 기기에는 아래와 같은 종류가 있습니다.
- 애플리케이션 계층 : L7 스위치
- 인터넷 계층 : 라우터, L3 스위치
- 데이터 링크 계층 : L2 스위치, 브리지
- 물리 계층 : NIC, 리피터, AP
상위 계층의 네트워크 기기는 하위 계층을 처리할 수 있습니다.
예를 들어 L7 스위치는 모든 계층을 처리할 수 있지만, AP는 물리 계층만 처리할 수 있습니다.
네트워크 기기로 구성된 네트워크
위의 사진을 통해 네트워크가 어떻게 구성되어 있는지 살펴봅시다.
- 수 많은 라우터들끼리 연결
- 중심부에는 백본 또는 코어 라우터가 존재
- 라우터는 스위치와 연결
- 스위치는 데스크톱, 노트북 등으로 연결
반대로 생각해보면 우리가 사용하는 PC는 스위치에 연결되어 있고,
스위치는 라우터에, 라우터는 라우터끼리 연결되어 있다는 것을 알 수 있습니다.
그림에 나오는 장치들을 하나씩 살펴봅시다.
[참조] 백본 망(backbone network)이란?
백본이란 등뼈 혹은 척수를 가르키는 용어이다.
네트워크에서 백본 망이란 중추 망을 뜻하는 용어이다.
코어 라우터라고 하는 고성능 라우터들이 연결되어 네트워크에서 중추적인 역할을 수행 하고 있다.
라우터
https://www.hyundaihds.com/brandsite/product/networkRouter.jsp
라우터
는 여러 개의 네트워크를 연결, 분할, 구분시켜주는 역할- 다른 네트워크와 통신할 때 패킷 소모를 최소화, 경로를 최적화하는 역할
스위치
https://www.hyundaihds.com/brandsite/product/networkL3.jsp
- 라우터가 외부와 통신할 수 있는 장치라면, 스위치는 내부 네트워크간 통신
- 네트워크 회선과 컴퓨터를 연결하는 역할
- 허브는 10 Mbps의 속도를 나눠 쓴다면, 스위치는 각각 10 Mbps의 속도
- 스위치에 연결된 장비의 주소를 기억해두고, 트래픽이 들어왔을 때 연결된 목적지로만 전달해주기 때문에 빠름
L1 스위치
- L1 스위치는
물리계층
에서 작동하는 네트워크 기기 - 위에서 잠깐 언급한 허브를 L1 스위치라고 함
- 허브는 자신에게 꽂혀있는 모든 장비에게 데이터를 전부 전달
NIC
- NIC는
물리계층
에서 작동하는 네트워크 기기 - Network Interface Card의 줄인말
- 랜카드로 흔히 불림
- 각 랜카드에는 고유한 식별번호인 MAC 주소가 존재
리피터
- 리피터는
물리계층
에서 작동하는 네트워크 기기 - 들어오는 약해진 신호를 증폭하여 다른 쪽으로 전달하는 장치
- 광케이블이 보급됨에 따라 잘 쓰이지 않는 장치
AP
- AP는
물리계층
에서 작동하는 네트워크 기기 - AP는 패킷을 복사하는 기기
- 유선 네트워크 → 무선 네트워크를 만들어주는 장치
L2 스위치
- L2 스위치는
데이터 링크 계층
에서 작동하는 네트워크 기기 - 스위칭 기능이 존재해 스위칭 허브라고 부르기도 함
- 자신에게 꽂혀있는 장비의 MAC 주소를 기억
- 트래픽이 들어왔을 때 목적지 MAC 주소를 찾아 전달
- 간단한 구조와 신뢰성이 높고 성능이 좋음
- Broadcast 패킷에 의해 성능 저하가 발생
- 라우팅이 불가능하고 상위 레이어 프로토콜을 이용한 스위칭이 불가능
[참고] Broadcast 패킷이란?
모든 네트워크 장비들에게 보내는 패킷이다.
공지사항을 위한 방송이라고 생각하면 된다.
ex) L2 스위치는 IP 주소를 이해하지 못하기 때문에, Broadcast를 통해 IP → MAC 주소를 찾아야 한다.
브리지
- 브리지는
데이터 링크 계층
에서 작동하는 네트워크 기기 - 두 개의 LAN을 상호 접속할 수 있도록 다리 역할을 하는 장치
- 통신망 범위를 확장하고 서로 다른 LAN으로 이루어진 ‘하나의’ 통신망을 구축할 때 사용
L3 스위치
- L3 스위치는
네트워크 계층
을 처리하는 네트워크 기기 - L3 스위치는 MAC 주소뿐만 아니라 IP 주소까지 알고 있음
- 즉, L2 스위치에 라우팅 기능이 추가된 장비
- 따라서 라우터라고 부르기도 함
- 가정에서 많이 사용하는 공유기도 L3 기능과 WIFI 기능을 포함하고 있음
L4 스위치
- L4 스위치는
전송 계층
을 처리하는 네트워크 기기 - 외부에서 들어오는 모든 요청을 먼저 받아 들이는 계층
- 요청을 받아 내부의 서버들에게 적절히 분산하는 역할
- 스트리밍 서비스에서는 사용할 수 없음
- 여러 대의 서버를 한 대처럼 묶을 수 있는 부하 분산(로드 밸런싱) 기능 제공
- IP 주소뿐만 아니라 Port 정보도 참고하고, 주로 포트를 기반으로 트래픽을 분산한
- L4 스위치를 이용한 로드 밸런싱은 NLB(Network Load Balancer)라고 함
L7 스위치
- L7 스위치는
애플리케이션 계층
을 처리하는 네트워크 기기 - L7 스위치가 L5, L6 기능까지 같이 처리
- IP와 포트 이외에도 URL, HTTP, 헤더, 쿠키를 기반으로 트래픽을 분산
- 바이러스, 불필요한 외부 데이터를 걸러내는 필터링이 있어 응용 프로그램 수준의 트래픽 모니터링도 가능
- 정기적 헬스 체크를 이용해 장애가 발생한 서버를 트래픽 분산 대상에서 제외한
- L7 스위치를 이용한 로드 밸런싱은 ALB(Application Load Balancer)라고 함
헬스 체크
- L4, L7 스위치 모두 헬스 체크를 통해 비정상적인 서버를 검출
- TCP, HTTP 등 다양한 방법으로 요청을 보내며 정상적인 응답을 받는다면 정상으로 판별
로드밸런서
https://www.cloudv.kr/etc/lb.html
- 서비스를 안정적으로 운용하기 위해서는 2대 이상의 서버는 필수
- 에러가 발생하여 1대의 서버가 종료되더라도 서비스는 안정적으로 운용되어야 하기 때문
- 로드밸런서는 평소에는 부하 분산을 위해 사용
- 헬스체크를 통해 서버에 장애가 발생했다고 파악이 되면, 로드밸런서는 해당 서버로 접근을 막아버림
참조
- 면접을 위한 CS 전공지식 노트 서적
- https://siahn95.tistory.com/entry/Network장비-L1-L2-L3-L4-L5-L6-L7-스위치란
- https://jaejin0me.github.io/post/posts131/
- http://wiki.hash.kr/index.php/L2_스위치#cite_ref-.ED.8B.B0.EC.8A.A4.ED.86.A0.EB.A6.AC_3-2
- https://startingpitcher.tistory.com/8
- https://www.cloudv.kr/etc/lb.html
질문
- 미국의 구글에서 보낸 패킷이 어떤 과정으로 내 PC에 전달되는지 설명하시오.
- 어떤 상황에 ALB와 NLB를 사용하는지 각각 설명하시오.
- 동일한 MAC 주소는 존재할 수 있는가?
- 동일한 MAC이 존재한다면 어떤 혼란이 발생하고, 어떻게 해결할 수 있는가?
- 헬스 체크의 빈도로 적당한 시간은?