Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- UXUI기초정복
- Be
- 백엔드
- 국비지원취업
- Spring
- 국비지원교육
- 디자인강의
- 오블완
- 디자인교육
- 오픈챌린지
- 내일배움카드
- 디자인챌린지
- 내일배움캠프
- 환급챌린지
- UXUI챌린지
- KDT
- UXUIPrimary
- 티스토리챌린지
- OPENPATH
- 오픈패스
- 백엔드 부트캠프
- 백엔드개발자
- 부트캠프
- 패스트캠퍼스
- baekjoon
- mysql
- 객체지향
- Java
- 백준
- 국비지원
Archives
- Today
- Total
군만두의 IT 공부 일지
[스터디3] 네트워크 - 02. 네트워크 기기 본문
목차
이번에는 이전 게시글에 정리하지 않았던 2.3 섹션과 2.5 섹션을 정리해보고 넘어가려고 합니다. 네트워크 공부를 안 한지 오래 되어서 그런지, 배운 내용이어도 어렵게 느껴지는 것 같습니다.
2장 네트워크
2.3 네트워크 기기
2.3.1 네트워크 기기의 처리 범위
- 네트워크 기기는 계층별로 처리 범위를 나눌 수 있음.
- 상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만, 하위 계층을 처리하는 기기는 상위 계층을 처리할 수 없음.
- 애플리케이션 계층: L7 스위치
- 인터넷 계층: 라우터, L3 스위치
- 데이터 링크 계층: L2 스위치, 브리지
- 물리 계층: NIC, 리피터, AP
2.3.2 애플리케이션 계층을 처리하는 기기
- 스위치: 여러 장비를 연결하고 데이터 통신을 중재하며 목적지가 연결된 포트로만 전기 신호를 보내 데이터를 전송하는 통신 네트워크 장비
- L7 스위치: 로드밸런서. 서버의 부하를 분산하는 기기.
- 클라이언트로부터 오는 요청들을 여러 서버로 나누는 역할을 함.
- IP, 포트 외에도 URL, HTTP 헤더, 쿠키 등을 기반으로 트래픽을 분산함. 필터링 기능도 가지고 있음. 응용 프로그램 수준의 트래픽 모니터링도 가능함.
- 클라우드 서비스에서 L7 스위치를 이용한 로드밸런싱은 ALB(Application Load Balancer) 컴포넌트로 함.
- L7 스위치와 L7 스위치 차이
- L7 스위치와 L7 스위치는 로드밸런싱을 수행하는 방식과 처리하는 데이터 계층에서 차이가 있음.
- L4 스위치: 로드밸런서. 전송 계층을 처리하는 기기
- 스트리밍 관련 서비스에서는 사용할 수 없음.
- 메시지를 기반으로 인식하지 못하고, IP와 포트를 기반으로 트래픽을 분산함.
- 클라우드 서비스에서 L4 스위치를 이용한 로드밸런싱은 NLB(Network Load Balancer) 컴포넌트로 함.
구분 | L4 스위치 | L7 스위치 |
작동 계층 | 전송 계층(계층 4) | 애플리케이션 계층(계층 7) |
주요 기능 | IP 주소와 포트 번호 기반의 트래픽 분산 | URL, HTTP 헤더, 쿠키 기반의 고급 트래픽 분산 |
클라우드 컴포넌트 | NLB(Network Load Balancer) | ALB(Application Load Balancer) |
트래픽 분석 수준 | 중간(연결 및 세션 관리) | 높음(응용 프로그램 데이터 분석 및 필터링) |
사용 사례 | 네트워크 내 간단한 트래픽 분산 및 관리, 데이터 센터 서버 밸런싱 | 복잡한 웹 애플리케이션 및 API 트래픽의 로드 밸런싱, 콘텐츠 기반 라우팅 |
*OSI 7계층: 물리 계층(계층 1) / 데이터 링크 계층(계층 2) / 네트워크 계층(계층 3) / 전송 계층(계층 4) / 세션 계층(계층 5) / 표현 계층(계층 6) /
애플리케이션 계층(계층 7)
- L4 스위치, L7 스위치 모두 헬스 체크를 통해 정상적인 서버 또는 비정상적인 서버를 판별함.
- 헬스 체크: 전송 주기와 재전송 횟수 등을 설정한 이후 반복적으로 서버에 요청을 보내는 것
- 서버에 부하가 되지 않을 만큼 요청 횟수가 적절해야 함.
- 요청이 정상적으로 이루어졌다면 정상적인 서버로 판별하고, 정상적으로 이루어지지 않았다면 비정상적인 서버로 판별함.
- 로드밸런서의 대표적인 기능: 서버 이중화
- 서버를 안정적으로 운용하기 위해서 로드밸런서는 2대 이상의 서버를 기반으로 가상 IP를 제공하고 안정적인 서비스를 제공함.
2.3.3 인터넷 계층을 처리하는 기기
- 라우터(router): 다른 네트워크에 존재하는 장치끼리 서로 데이터를 주고받을 때 패킷 소모를 최소화하고 경로를 최적화하여 최소 경로로 패킷을 포워딩하는 라우팅을 하는 장비
- L3 스위치: L2 스위치의 기능과 라우팅 기능을 갖춘 장비
- 라우터는 소프트웨어 기반의 라우팅과 하드웨어 기반의 라우팅을 하는 것으로 나눠지는데, 하드웨어 기반의 라우팅을 하는 장치를 L3스위치라고 함.
구분 | L2 스위치 | L3 스위치 |
작동 계층 | 데이터 링크 계층(계층 2) | 인터넷 계층(계층 3) |
주요 기능 | MAC 주소를 기반으로 한 데이터 전송 및 스위칭 | IP 주소를 기반으로 한 라우팅 및 네트워크 관리 |
참조 테이블 | MAC 주소 테이블 | 라우팅 테이블 |
참조 PDU | 이더넷 프레임 | IP 패킷 |
참조 주소 | 물리적 주소(MAC) | 논리적 주소(IP) |
사용 사례 | 사무실 네트워킹, 스위칭 장비 간 연결, VLAN 구성 | 서로 다른 네트워크 및 서브넷 간의 연결, 다양한 라우팅 시나리오 구성 |
2.3.4 데이터 링크 계층을 처리하는 기기
- L2 스위치: 장치들의 MAC 주소를 MAC 주소 테이블을 통해 관리하며, 연결된 장치로부터 패킷이 왔을 때 패킷 전송을 담당함.
- IP 주소를 이해하지 못해 IP 주소를 기반으로 라우팅은 불가능함. 단순히 패킷의 MAC 주소를 읽어 스위칭하는 역할을 함.
- 브리지(bridge): 두 개의 근거리 통신망(LAN)을 상호 접속할 수 있도록 하는 통신망 연결 장치. 장치에서 받아온 MAC 주소를 MAC 주소 테이블로 관리함.
2.3.5 물리 계층을 처리하는 기기
- NIC(Network Intervface Card): LAN 카드
- 2대 이상의 컴퓨터 네트워크를 구성하는 데 사용함.
- 네트워크와 빠른 속도로 데이터를 송수신할 수 있도록 컴퓨터 내에 설치하는 확장 카드.
- 고유의 식별번호인 MAC 주소가 있음.
- 리피터(repeater): 들어오는 약해진 신호 정도를 증폭하여 다른 쪽으로 전달하는 장치
- 패킷이 더 멀리갈 수 있게 함.
- 광케이블이 보급되면서 잘 쓰지 않음.
- AP(Access Point): 패킷을 복사하는 기기
- 유선 LAN을 연결한 후 다른 장치에서 무선 LAN 기술을 사용하여 무선 네트워크 연결을 할 수 있음.
2.5 HTTP
2.5.1 HTTP/1.0
- HTTP/1.0: 기본적으로 한 연결당 하나의 요청을 처리하도록 설계됨. RTT(패킷 왕복 시간)가 증가하는 단점이 있음.
- RTT의 증가를 해결하기 위해 이미지 스플리팅, 코드 압축, 이미지 Base64 인코딩을 사용함.
- 이미지 스플리팅: 많은 이미지가 합쳐 있는 하나의 이미지를 다운받고, 이를 기반으로 background-image의 position을 이용하여 이미지를 표기하는 방법
- 코드 압축: 코드를 압축해서 개행 문자, 빈칸을 없애서 코드의 크기를 최소화하는 방법
- 이미지 Base64 인코딩: 이미지 파일을 64진법으로 이루어진 문자열로 인코딩하는 방법
2.5.2 HTTP/1.1
- HTTP/1.1: HTTP/1.0에서 발전한 것. 매번 TCP 연결을 하는 것이 아니라 한 번 TCP를 초기화한 이후에 keep-alive라는 옵션으로 여러 개의 파일을 송수신할 수 있음.
2.5.3 HTTP/2
- HTTP/2: SPDY 프로토콜에서 파생된 HTTP/1.x 보다 지연 시간을 줄이고 응답 시간을 더 빠르게 할 수 있으며, 멀티플렉싱, 헤더 압축, 서버 푸시, 요청의 우선순위 처리를 지원하는 프로토콜
- 멀티플렉싱: 여러 개의 스트림을 사용하여 송수신한다는 것
- 헤더 압축: HTTP/1.x가 크기가 큰 헤더라는 문제를 해결하기 위해 HTTP/2에서는 헤더 압축을 써서 해결함. 허프만 코딩 압축 알고리즘을 사용하는 HPACK 압축 형식을 가짐.
- 서버 푸시: HTTP/1.1에서는 클라이언트가 서버에 요청을 해야 파일을 다운받을 수 있지만, HTTP/2는 클라이언트 요청 없이 서버가 바로 리소스를 푸시할 수 있음.
2.5.4 HTTPS
- HTTP/2는 HTTPS 위에서 동작함. TCP 위에서 돌아감.
- HTTPS: 애플리케이션 계층과 전송 계층 사이에 신뢰 계층인 SSL/TLS 계층을 넣은 신뢰할 수 있는 HTTP 요청
- SSL(Secure Socket Layer)/TLS(Transport Layer Security Protool): 전송 계층에서 보안을 제공하는 프로토콜
- SSL 1.0부터 시작해서 SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.3까지 버전이 올라가며 마지막으로 TLS로 명칭이 변경됨.
- 보통 SSL/TLS라고 합쳐서 부름. 책에서는 TLS 1.3을 기반으로 설명함.
- HTTPS 구축 방법
- 직접 CA에서 구매한 인증키를 기반으로 HTTPS 서비스를 구축함.
- 서버 앞단의 HTTPS를 제공하는 로드밸런서를 둬서 구축함.
- 서버 앞단에 HTTPS를 제공하는 CDN을 둬서 구축함.
2.5.5 HTTP/3
- HTTP/3: HTTP/1.1 및 HTTP/2와 함께 World Wide Web에서 정보를 교환하는 데 사용되는 HTTP의 세 번째 버전
- HTTP/3은 QUIC라는 계층 위에서 UDP 기반으로 돌아감.
- 멀티플렉싱을 가지고 있으며, 초기 연결 설정 시 지연 시간 감소라는 장점이 있음.
⭐참고자료
1) coco3o, "신입 개발자 기술면접 질문 정리 - 네트워크", 2022.02.28, https://dev-coco.tistory.com/161
이 글은 『 면접을 위한 CS 전공지식 노트 』 책을 학습한 내용을 정리한 것입니다.
'학습일지 > CS 지식' 카테고리의 다른 글
[스터디3] 데이터베이스 - 06. 트랜잭션과 무결성 (1) | 2025.01.03 |
---|---|
[스터디3] 데이터베이스 - 05. ERD와 정규화 과정 (0) | 2025.01.03 |
[스터디3] 운영체제 - 04. CPU 스케줄링 알고리즘 (1) | 2025.01.01 |
[스터디3] 운영체제 - 03. 프로세스와 스레드 (1) | 2024.12.24 |
[스터디3] 네트워크 - 01. 네트워크 (0) | 2024.12.16 |
Comments