목차
네트워크 분기점
1 Gbps의 한계 - PC 라우터의 한계
리눅스 커널을 사용하면 대략 30만 패킷/초가 한계
평큔 패킷 길이가 300 바이트면 대략 1 Gbps
한계
- 커널의 성능 = 30만 패킷/초
- Gigabit Ethernet 레벨 = 1 Gbps
대책
- PC 라우터를 여러 대 병렬화
- 박스형 라우터(Cisco 라우터) 사용 - 비싼 가격
500 호스트의 한계 - 1 서브넷, ARP 테이블에서의 한계
500 호스트의 한계는 스위치의 ARP 테이블 (Address Resolution Protocol table)과 관련된 한계
*ARP 테이블? IP 주소(호스트 주소와 서브넷 주소)와 MAC 주소 간 관계를 나타내는 테이블로 스위치가 이 테이블을 지니고 있음
1 서브넷에 배치 할 수 있는 호스트수 = 약 500
브로드캐스팅 통신에 의존한 처리가 많아지면(트래픽) → CPU 부하가 수십%까지 상승 → 패킷 손실 발생
*브로드캐스팅: 네트워크 상의 모든 장치에 데이터 패킷을 전송하는 통신 방법
- 브로드캐스트 트래픽이 많아지면 네트워크 장비나 서버의 CPU에 상당한 부하를 줄 수 있고, 이는 처리 능력의 한계로 인해 CPU 사용률이 상승하게 됩니다. CPU 부하가 과도하게 높아지면 패킷 처리가 지연되거나 제대로 이루어지지 않아 패킷 손실이 발생
네트워크 구조 계층화
앞에서 언급된 한계에 대한 대책으로 네트워크를 3단계로 구성하고 있다.
- Access 계층(액세스 영역): 서버의 엔드포인트에 접근을 제공하는 계층
- Distrution 계층 : 트래픽을 각 서브넷에 전송하는 계층
- Core 계층 혹은 OSPF(Open Shortest Path First) 영역 : 트래픽의 큰 흐름을 담당하는 계층
이 3단 구조로, 가장 작은 서브넷 Access 계층에서 100대 200대 로 억제하고 디스트리뷰션을 1000대 정도 코어 전체로는 10,000대 단위를 다룰 수 있다는 계층구조를 설계한다.
글로벌화, CDN
세계 각지에서 HTTP로 데이터를 가져가려고 한다면 하나의 나라에 위치하고 있는 데이터 센터에서 전송을 한다는 것은 비현실적이다.
이에 대한 대안으로 CDN(Content Delivery Network) 가 있다.
CDN 전문 업체 중 하나가 Amazon Cloudfront 이다.
CDN 의 작동원리
세계 각지에 서버를 두고 데이터를 캐싱해서 사용자가 가지고 가려고 할때 사용자와 가장 가까운 서버로 엑세스해서 접근할 수 있게 해주는 원리
Amazon Cloudfront 작동 원리
- 사용자가 웹사이트나 어플리케이션을 요청할 때 가장 가까운 CloudFront 엣지 로케이션으로 요청이 전송됨.
- 요청받은 콘텐츠가 해당 엣지 로케이션에 캐시되어 있지 않은 경우, CloudFront는 원본 서버(예: Amazon S3 버킷 또는 EC2 인스턴스)로부터 콘텐츠를 가져와 사용자에게 전달.
- 콘텐츠는 최적화된 네트워크 경로를 통해 사용자에게 전달( 로딩 시간 단축)
- 콘텐츠가 업데이트 되었을 경우, 새 콘텐츠로 캐시를 갱신하고, 필요시 무효화 처리를 통해 최신 콘텐츠가 사용자에게 제공됨.
한층 높은 단계로
10Gbps 이상의 세계
- AS(Autonomous system) 번호 보유
- IX(Internet exchange) 에 접속해서 트래픽 교환
- BGP(Boader Gateway Protoclo)로 라우팅 제어
'책 > 웹 개발자를 위한 대규모 서비스를 지탱하는 기술' 카테고리의 다른 글
[대규모][책] 14장 효율향상전략 - 하드웨어의 리소스 사용률 높이기 (0) | 2024.11.18 |
---|---|
[ 대규모 ] [책] 13 장 다중성 확보, 시스템 안정화 (0) | 2024.11.16 |
[대규모서비스] [책] 12 장 확장성 확보에 필요한 사고방식 (2) | 2024.11.15 |
[ 대규모 서비스 ] [ 책 ] 11 장 대규모 데이터 처리를 지탱하는 서버/인프라 입문 (3) | 2024.11.02 |
[대규모 서비스 ] [ 책 ] 9장 전문 검색기술 도전 : 대규모 데이터 처리의 노하우 (0) | 2024.10.22 |