Network

4 분 소요

Network

Network Fundamentals

OSI(Open Systems Interconnection) model

  • 네트워크 통신 기능을 7개 계층으로 나누는 개념적 프레임워크
  • 컴퓨터 네트워킹을 위한 범용 언어 제공

TCP/IP model

  • 네트워크 프로토콜, 안전한 데이터 전송
  • TCP/IP 4계층 → Application, Transport , Internet, Network Interface
  • TCP/IP 5계층 → Application, Transport , Network , Data Link, Physical

OSI model vs TCP/IP model

  • TCP/IP가 실질적인 통신을 위해 사용되는 것과 달리, OSI는 이론을 기반으로 설계되어 실제 통신에는 사용되지 않음
TCP/IP Model OSI Model 기능 PDU 프로토콜
Application Layer Application Layer 사용자의 데이터와 직접 상호 작용 (인터페이스 제공) message HTTP, SMTP 등
Application Layer Presentation Layer 데이터의 변환, 암호화, 압축 등 담당 message JPG, PAP 등
Application Layer Session Layer 세션 형성, 유지, 종료 + 데이터 전송 동기화 담당 message NFS, SMB 등
Transport Layer Transport Layer 패킷 보존 + 데이터 흐름/오류 제어 segment TCP, UDP 등
Internet Layer(Network) Network Layer 서로 다른 네트워크 간 데이터를 전송 + 라우팅, 패킷 전달 및 주소 지정 paket IP, ICMP, ARP 등
Network Interface(Data Link) Data Link Layer 동일한 네트워크에 있는 장치 간 데이터 전송 + 데이터의 흐름/오류 제어 freme Ethernet 등
Network Interface(Physical) Physical Layer 물리적 통신 매체(케이블 등)를 통해 비트 스트림(신호) 전송 bit RS-232 등

데이터 송수신

image1

  • 송신 측에서는 응용 계층부터 물리 계층까지 데이터를 송신. 캡슐화를 통해 헤더/트레일러를 덧붙여 전송

image2

  • 수신 측에서는 물리 계층부터 응용 계층까지 데이터가 전송되어 수신. 역캡슐화를 통해 헤더를 제거하여 데이터를 수신

Network devices

  • 라우터(네트워크 계층) → LAN/WAN간 IP주소를 사용하여 데이터 패킷 전달, 네트워크간 데이터 전송을 위한 최적 경로 설정.
  • 스위치 → 네트워크 단위를 연결하는 통신 장비.
    • L2 : MAC 주소를 기반으로 스위칭 (가장 기본적 스위치)
    • L3 : IP주소 기반으로 스위칭 + 라우팅 기능
    • L4 : IP주소와 Port 기반으로 스위칭, 로드 밸런싱 가능
    • L7 : 보안에 더욱 유리한 로드 밸런싱 가능
  • 모뎀 → ISP의 신호를 연결된 모든 장치에서 해석 가능한 디지털 신호로 변환하여 인터넷 연결 구축

라우터 vs 스위치

  • 라우터는 서로 다른 네트워크 간 전달 vs 스위치는 동일한 네트워크 간 데이터 전달

라우터 vs 모뎀

  • 라우터는 네트워크 형성, 해당 데이터 흐름 관리 vs 모뎀은 네트워크를 인터넷에 연결

e.g. Wi-Fi 공유기

  1. 모뎀 - 인터넷 연결
  2. 모뎀과 라우터 연결
  3. 라우터에서 내보낸 와이파이 무선 신호를 노트북이나 핸드폰에 연결

IP Addressing

IPv4 vs IPv6

  • IP(Interent Protocol) → 장치 고유의 식별자
  • IPv4 → 점으로 구분된 네 개의 숫자(32비트)로 구성
  • IPv6 → 하나 또는 두개의 콜론으로 구분되는 숫자와 문자(128비트)로 구성
  • IPv6는 IPv4의 고유 IP주소의 부족 문제와 개인 정보 보호 측면에서 개선된 버전

Subnetting basics

  • 서브넷팅 → IP주소 낭비 방지를 위해 네트워크를 분할하여 효율적으로 사용

서브넷팅의 필요성 (IPv4 기준)

  • IP주소는 네트워크 영역/호스트 영역 두 가지로 나뉨

→ 클래스에 따라 데이터가 알맞은 장치를 찾는데에 시간이 소요되기 때문에, 서브넷을 사용하여 IP주소를 장치 범위 내에서 찾도록 범위를 좁혀줌.

▼ 클래스 구분

image3

서브넷 마스크

  • IP주소에서 네트워크 주소(1)와 호스트 주소(0)를 구분하기 위해 사용됨.

→ 연속된 1과 0으로 이루어짐

→ 서브넷 마스크와 IP를 AND연산을 한 결과가, 해당 IP의 네트워크 주소. 네트워크 주소를 제외한 나머지가 호스트 주소

Address Assignment

정적(static) IP vs 동적 IP(DHCP, Dynamic Host Configuration Protocol)

  • 인터넷에 연결된 대부분의 장치는 임시 IP주소가 할당됨. → 동적 IP 주소
  • 사용자마다 정적 IP주소를 할당하는 것보다 비용 효과적임

Static IP를 사용하는 이유?

  • 특정 IP로만 접속되는 웹 서버, 원격 데스크탑, DB 서버 운용하기 위한 용도

Network Protocols

HTTP, HTTPS, FTP, SFTP, SMTP, etc

TCP/IP의 응용 계층 프로토콜

  • HTTP(Hypertext Transfer Protocol) → WWW 기반, 웹에서 데이터 통신에 사용
  • HTTPS(Hypertext Transfer Protocol Secure) → HTTP 보안 강화, 데이터를 암호화해서 전달
  • FTP(File Transfer Protocol) → 파일 교환에 사용
  • SFTP(Secure File Transfer Protocol) → FTP 보안 강화
  • SMTP(Simple Mail Transfer Protocol) → 전자우편을 송수신하는데 사용

TCP & UDP

TCP(Transmission Control Protocol)

  • 데이터 손실 없이 성공적으로 수신되기 위한 프로토콜 (데이터 무결성 보장)

TCP 통신 순서

  1. 송신 컴퓨터가 수신 컴퓨터에게 SYN 메세지를 보내 연결을 요청
  2. 수신 컴퓨터가 요청에 대한 승인으로 SYN-ACK 메세지를 전달
  3. 송신 컴퓨터가 승인 메세지를 확인

→ 데이터 전송 시작

UDP(User Datagram Protocol)

  • 보안/신뢰성 보다 전송 속도와 효율을 더 중요시 하는 프로토콜

image4

TCP vs UDP

  • 연결 지향 프로토콜 vs 비연결 지향 프로토콜
  • 패킷 수신 여부 확인 vs 확인X
  • 패킷에 문제가 생기면 재전송 vs 재전송X
  • 1:1 통신 vs 1:1, 1:N, N:M 통신
  • 데이터의 도착 순서 보장 vs 순서 바뀜

활용 분야

→ 데이터의 순서와 신뢰가 중요한 금융 거래 시스템, DB 관리 시스템에는 TCP가 적합

→ 실시간 비디오 스트리밍이나 온라인 게임처럼 지연 시간 최소화해야 하는 경우 UDP가 적합

DNS(Domain Name System)

  • 웹사이트의 도메인 주소 → IP주소 변환

DNS의 다른 역할

  • 별칭 도메인 → IP주소 또는 정식 도메인을 여러 별칭 도메인과 연결, 여러 도메인으로 같은 IP주소에 접속 가능
  • 로드 밸런싱 → 클라우드 서비스와 분산 인터넷 서비스를 이용할 때 로드 밸런싱 역할을 함.

DNS 구조

  • 클라이언트-서버 모델을 이용하는 분산 계층형 DB 시스템

Network Architectures

LAN, WAN, PAN, MAN, BAN

  • WAN(Wide Area Network) → 국가, 대륙 등 넓은 영역에 걸쳐 구축하는 통신망
  • MAN(Metropolitan Area Network) → 대도시 중심으로 WAN과 LAN 연결
  • LAN(Local Area Network) → 근거리 통신망
  • PAN(Personal Area Network) → 사람 활동 범위 통신망 (NFC, 블루투스 등)
  • BAN(Body Area Network) → 사람 신체 범위 통신망 (웨어러블)

참고 자료

  • https://aws.amazon.com/ko/what-is/osi-model/
  • https://www.cloudflare.com/ko-kr/learning/ddos/glossary/open-systems-interconnection-model-osi/
  • http://www.jidum.com/jidums/view.do?jidumId=415
  • https://docs.tosspayments.com/resources/glossary/http-protocol
  • https://www.checkpoint.com/kr/cyber-hub/network-security/what-is-the-osi-model-understanding-the-7-layers/osi-model-vs-tcp-ip-model/
  • https://www.juniper.net/kr/ko/research-topics/what-is-a-router.html
  • https://www.cloudflare.com/ko-kr/learning/network-layer/what-is-a-router/
  • https://www.cloudflare.com/ko-kr/learning/dns/glossary/what-is-my-ip-address/
  • https://docs.tosspayments.com/resources/glossary/dns
  • https://ko.wikipedia.org/wiki/SSH_파일_전송_프로토콜
  • https://www.geeksforgeeks.org/what-is-transmission-control-protocol-tcp/
  • https://massive.io/ko/file-transfer/what-is-transmission-control-protocol-tcp/
  • https://developer.mozilla.org/ko/docs/Glossary/UDP
  • https://f-lab.kr/insight/tcp-udp-difference-and-use-cases
  • https://itwiki.kr/w/네트워크

태그:

카테고리:

업데이트:

댓글남기기