hyunn

면접을 위한 CS 전공지식 노트 - 네트워크 본문

Book

면접을 위한 CS 전공지식 노트 - 네트워크

hyunn383 2025. 2. 20. 19:08

네트워크란?

노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합

 

좋은 네트워크란?

많은 처리량을 처리할 수 있으며, 지연 시간이 짧고, 장애 빈도가 적으며, 좋은 보안을 갖춘 네트워크이다.

 

네트워크 토폴로지

노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태

- 트리 토폴로지 : 계층형
- 버스 토폴로지 : 중앙 통신 회선 하나에 여러 개의 노드가 연결
- 스타 토폴로지 : 중앙에 있는 노드에 모두 연결된 네트워크 구성
- 링형 토폴로지 : 각각의 노드가 양 옆의 두 노드와 연결
- 메시 토폴로지 : 그물망 형태

 

병목 현상

전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한 받는 현상

 

네트워크 계층 구조

- TCP/IP 4계층
애플리케이션 계층 - 전송 계층 - 인터넷 계층 - 링크 계층

- OSI 7계층
애플리케이션 계층 - 프레즌테이션 계층 - 세션 계층 - 전송 계층 - 네트워크 계층 - 데이터 링크 계층 - 물리 계층
- 애플리케이션 계층 : 프로토콜 계층 (FTP, HTTP, SSH, SMTP, DNS)
FTP : 파일 전송 통신 프로토콜
SSH : 암호화 네트워크 프로토콜
HTTP : 웹을 위한 데이터 통신 프로토콜
SMTP : 전자 메일 전송 통신 프로토콜
DNS : 도메인 이름과 IP 주소를 매핑해주는 서버

- 전송 계층 : 송신자와 수신자 연결 (TCP, UDP)
TCP : 패킷 사이의 순서 보장, 연결지향, 가상회선 패킷 교환 방식 사용
UDP : 패킷 사이의 순서 보장 x, 수신 여부 확인 x, 단순히 데이터만 주는 데이터그램 패킷 교환 방식 사용

- 인터넷 계층 : 장치로부터 받은 네트워크 패킷을 IP 주소로 지정된 목적지로 전송하기 위해 사용되는 계층 (IP, ARP, ICMP)

- 링크 계층 : 전선, 광섬유, 무선 등으로 실질적으로 데이터 전달

 

HTTP

HTTP는 애플리케이션 계층으로서 웹 서비스 통신에 사용된다.

 

HTTP/1.0

한 연결당 하나의 요청을 처리하도록 설계되어 있다.

- 단점
RTT 증가 (RTT란? 패킷 왕복 시간)

- 단점 극복 방법
이미지 스플리팅, 코드 압충, 이미지 Base64 dlszheld

 

HTTP/1.1

한번 TCP 초기화를 한 이후에 keep-alive 옵션으로 여러 개의 파일을 송수신할 수 있다.

- 단점
HOL Blocking (같은 큐에 있는 첫번째 패킷이 지연될 때 발생하는 성능 저하 현상), 무거운 헤더 구조 (압축이 되지 않았음)

 

HTTP/2

멀티플렉싱, 헤더 압축, 서버 푸시, 요청의 우선순위 처리를 지원하는 프로토콜

- 멀티플랙싱 : 여러 개의 스트림을 사용하여 송수신
- 서버 푸시 : 클라이언트 요청 없이 서버가 바로 리소스를 푸시할 수 있음

 

HTTP/3

TCP가 아닌 QUIC라는 계층 위에서 돌아가며, UDP 기반으로 돌아간다.

- 장점
3-웨이 핸드셰이크 과정을 거치지 않으므로 초기 연결 설정 시 지연 시간이 감소한다.

 

HTTPS

애플리케이션 계층과 전송 계층 사이에 SSL/TLS 계층을 넣은 신뢰할 수 있는 HTTP 요청

- SSL/TLS : 보안을 제공하는 프로토콜, 보안 세션을 기반으로 데이터를 암호화하며 인증 메커니즘, 키 교환 암호화 알고리즘, 해싱 알고리즘이 사용된다.

 

해싱 알고리즘

데이터를 추정하기 힘든 더 작고, 섞여 있는 조각으로 만드는 알고리즘
ex. SHA-256, SHA-384

 

SEO

검색엔진 최적화를 뜻하며, 사용자들이 검색엔진으로 웹사이트를 검색했을 때, 그 결과를 상단에 노출시킬 수 있도록 최적화하는 방법

- 방법
캐노니컬 설정, 메타 설정, 페이지 속도 개선, 사이트맵 관리

 

 

* 참고 용어

- 브로드캐스트 : 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식

- 유니캐스트 : 고유 주소로 하나의 네트워크 목적지에 1:1로 데이터를 전송하는 방식

- 라우팅 : IP 주소를 찾아가는 과정

- 게이트웨이 : 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할을 하는 컴퓨터나 소프트웨어

- 해시 : 다양한 길이를 가진 데이터를 고정된 길이를 가진 데이터로 매핑한 값

- 해싱 : 임의의 데이터를 해시로 바꿔주는 일

- 해시 함수 : 임의의 데이터를 입력으로 받아 일정한 길이의 데이터로 바꿔주는 함수