Network
Network 기본 개념
Computer Networking
- 컴퓨터 네트워킹이란 컴퓨터/장치들을 유/무선으로 연결하여 사용(통신, 자원 공유)하는 것
- 가정용 네트워크:
- Wi-Fi: 무선 연결을 위한 프로토콜입니다.
- DHCP: IP 주소를 자동으로 할당합니다.
- DNS: 도메인 이름을 IP 주소로 변환합니다.
- 회사 네트워크:
- Ethernet: 유선 연결을 위한 프로토콜입니다.
- VPN: 안전한 원격 접속을 위한 프로토콜입니다.
- SMTP/IMAP/POP3: 이메일 송수신을 위한 프로토콜입니다.
- 인터넷 카페:
- HTTP/HTTPS: 웹 페이지를 전송하는 프로토콜입니다.
- FTP: 파일 전송을 위한 프로토콜입니다.
- 클라우드 서비스:
- HTTPS: 안전한 웹 트래픽을 위한 프로토콜입니다.
- REST/GraphQL: API 호출을 위한 프로토콜입니다.
- 스마트 홈:
- Zigbee/Z-Wave: 스마트 기기 간 통신을 위한 프로토콜입니다.
- MQTT: IoT 기기 간 메시지 전송을 위한 프로토콜입니다.
프로토콜
- 프로토콜이란 컴퓨터 네트워킹에서 데이터 전송을 위한 규칙과 표준의 집합이며, 프로토콜은 장치 간에 정보를 효율적이고 정확하게 주고받을 수 있도록 함
- 표준화 필요: 표준화된 언어를 제공
- 상호 운용성: 서로 다른 시스템과 네트워크가 호환되도록 보장 (이메일 프로토콜: SMTP)
- 효율성과 신뢰성: 데이터 전송 중 오류를 줄이고 전송 속도를 최적화 (TCP)
- 보안: 안전한 데이터 전송을 위한 암호화 및 인증 방법 (HTTPS)
8 Popular Network Protocols
- HTTP (HyperText Transfer Protocol)
- HTML 문서와 같은 리소스를 가져오기 위한 용도. Web에서 데이터 교환의 기반. 클라이언트-서버
- HTTP/3
- HTTP의 차세대 개정판. 모바일 중심의 인터넷 사용을 위해 설계된 QUIC에서 실행. TCP 대신 UDP를 사용하여 웹 페이지 응답 속도가 빨라짐
- HTTPS (HyperText Transfer Protocol Secure)
- HTTP를 확장하고 보안 통신을 위해 암호화 사용
- WebSocket
- TCP를 통해 full-duplex 지원. 백앤드 서버에서 데이터를 실시간으로 가져오기 용이. 온라인 게임, 주식매매, 메시징 등에서 실시간 통신을 위해 사용
- TCP (Transmission Control Protocol)
- 인터넷을 통해 패킷을 전송하고 네트워크를 통해 데이터와 메시지를 성공적으로 전달하도록 설계 많은 애플리케이션 계층 프로토콜이 TCP 기반
- UDP (User Datagram Protocol)
- 연결을 하지 않고 직접 패킷을 보냄. 실시간 통신에서는 패킷을 가끔씩 삭제하는 것이 기다리는 것보다 낫기 때문.
- SMTP (Simple Mail Transfer Protocol)
- 한 사용자에서 다른 사용자로 전자 메일을 전송하는 표준 프로토콜
- FTP (File Transfer Protocol)
Layered Architecture

- 컴퓨터 네트워크는 보통 그 기능을 각각 특정 통신 구성요소를 담당하는 여러 계층으로 나눠서 구성, 이러한 계층적 아키텍처를 통해 복잡한 통신 프로세스를 관리하기 쉽도록 작은 활동으로 나눠서 구성함
IP Address

- IP 주소란 인터넷 프로토콜 주소의 줄임말, 네트워크에 연결된 장치를 식별하는 고유한 숫자 주소 IP
Subnetworking

- 서브네트워킹은 하나의 IP 네트워크를 여러 개의 작은 네트워크(서브넷)로 나누어 IP 자원을 효율적으로 관리하는 기술
CIDR Notation

- CIDR(Classless Inter-Domain Routing) Notation은 IP 주소와 네트워크 프리픽스를 간결하게 표현하는 방법
DNS (Domain Name System)

- DNS(Domain Name System)는 인터넷의 핵심 인프라 중 하나로, 도메인 이름을 IP 주소로 변환하는 시스템
DNS record
- DNS 레코드는 도메인 이름 시스템(DNS)에서 도메인 이름에 대한 정보를 제공하는 데이터베이스 항목
Firewall
- 방화벽은 미리 정의된 보안 규칙에 따라 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템
Port
- 컴퓨터 네트워크에서 포트는 장치 내의 특정 프로세스나 서비스를 식별하는 통신 끝점
Ingress / Egress
- Ingress는 외부에서 네트워크 내부로 들어오는 트래픽, Egress는 내부에서 외부로 나가는 트래픽을 의미
Jump Box, Jump Server, Bastion Host
- 내부 서버로의 안전한 접근을 중계해주는 보안용 게이트웨이 서버
Load balancer

- 로드 밸런서는 서버 간에 트래픽을 분산시켜 성능과 안정성을 높여주는 장치
- L4(전송 계층): IP, 포트, TCP/UDP 기반으로 트래픽 분산
- L7(애플리케이션 계층: URL, 쿠키, HTTP 헤더 등 내용을 보고 분산
Cloud specific Networking
Azure Virtual Networ
https://learn.microsoft.com/ko-kr/azure/virtual-network/virtual-networks-overview

- Azure 가상 네트워크는 Azure에서 사설 네트워크를 구축하기 위한 기본적인 구성 요소를 제공하는 서비스
- 인스턴스(가상 네트워크)는 다양한 유형의 Azure 리소스 (ex: VM)가 내부적으로 또
는 인터넷 및 온-프레미스 네트워크와 안전하게 통신할 수 있도록 함
Subnet
- 서브넷(Subnet)은 큰 네트워크를 더 작은 네트워크로 나누는 것
- 네트워크를 효율적으로 관리하고, 트래픽을 분산시키며, 보안을 강화함
- 자체 IP 주소 범위를 가지며, 네트워크 자원을 논리적으로 분리함
VNet Peering (가상 네트워크 피어링)
https://learn.microsoft.com/ko-kr/azure/virtual-network/virtual-network-peering-overview

- 가상 네트워크 피어링을 사용하면 Azure에서 두 개 이상의 가상 네트워크를 원활하게 연결
Network Interface
- 네트워크 인터페이스는 컴퓨터와 사설 또는 공용 네트워크 간의 연결 지점
Virtual Network Gateways
- Azure virtual network에서 제공하는 소프트웨어 VPN
Azure ExpressRoute
- ExpressRoute를 사용하면 연결 공급자의 도움을 받아 프라이빗 연결을 통해 온-프레미스 네트워크를 Microsoft 클라우드로 확장할 수 있음
- ExpressRoute -> Microsoft Azure / Microsoft 365
Private Links
- Microsoft Azure에서 제공하는 서비스로, 프라이빗 엔드포인트를 통해 Azure PaaS
(Platform as a Service) 서비스, 고객 소유 서비스, 그리고 Microsoft 파트너 서비스에 안전하게 연결함