이석복 교수님의 컴퓨터네트워크 강의를 듣고 정리하였습니다.

네트워크 계층 모델 3가지

  • 네트워크 계층 모델
    • 네트워크 프로토콜 디자인과 통신을 여러 계층으로 나누어 정의
    • 계층별로 역할을 분리
    • 각 계층이 독립적으로 기능 수행
    • 계층 간 통신을 통해 전체 통신 프로세스를 이룬다.
    • 장점
      • 네트워크 통신 과정 단계별로 파악
      • 문제 발생 시 문제 발생 계층을 빠르게 진단할 수 있음.
      • H/W와 S/W를 표준화함으로써 서비스나 기기 간 호환을 가능하게 한다.
  • OSI(Open Systems Interconnetion Reference Model)
    • 다양한 컴퓨터 시스템이 표준 프로토콜을 사용하여 통신할 수 있도록 국제 표준화 기구(ISO)에서 만든 개념 모델
    • 7계층
  • TCP/IP Model
    • 미국 국방부(DoD)에서 정의한 현재 산업 표준 네트워크 통신 모델이다.
      • TCP/IP가 OSI보다 더 먼저 사용되었기 때문
    • 4계층 / 5계층(Updated)

 

TCP/IP 5계층 모델

L5 - Application Layer(응용 계층)

  • 프로그램 구현체와 사용자 인터페이스를 의미
  • OS에서 제공하는 TCP/UDP 기반의 응용 프로그램을 구현할 때 사용
  • Protocol Data Unit
    • Message
  • Protocol
    • HTTP, SMTP, FTP, SSH, POP

 

L4 - Transport Layer(응용 계층)

  • Process-to-Process Delivery
    • Port 번호를 사용해 최종 도착지인 프로세스까지 데이터를 전달
    • OS 커널에서 구현
  • Addressing
    • Port Number
  • Protocol Data Unit
    • Segment, Datagram
  • Protocol
    • TCP, UDP

 

L3 - Network Layer(네트워크 계층)

  • Host-to-Host Delivery
    • 라우팅(Routing)과 포워딩(Forwarding)을 수행해서 목적지 IP 주소까지 패킷을 전달한다.
    • OS 커널에 구현
    • URL이 주어지면 DNS를 통해 IP주소를 찾고 실제 패킷은 IP 주소를 향해 전송된다.
    • IP 주소의 광역대에 따라 Routing Table에 지정된 경로로 패킷을 Forwarding한다.
  • Addressing
    • IP Address
  • Protocol Data Unit
    • Packet
  • Protocol
    • IP
      • Internet Potocol Address
      • Host의 논리적 주소로, 전 세계의 네트워크 상에서 유일하다.
      • IPv4는 4byte, IPv6은 8byte 주소를 갖는다.

 

L2 - Data-Link Layer(데이터 링크 계층)

  • 1-hop delivery
    • 라우팅(Routing)과 포워딩(Forwarding)을 수행해서 목적지 MAC 주소까지 프레임을 전달한다.
    • 인접 노드들 간의 신뢰할 수 있는 전달
    • Ethernet Card에 구현
  • Addressing
    • MAC Address
      • Media Access Control Address
      • Ethernet Card의 물리적 주소, 로컬 네트워크 안에서만 유일
      • Gateway(라우터)는 Ethernet Card를 2개 가지며, LAN과 WAN을 연결
  • ARP
    • Address Resolution Protocol
    • LAN 내부의 ARP Table을 참조하여 IP 주소를 MAC 주소로 변환
  • Protocol Data Unit
    • Frame
  • Protocol
    • IEEE 802, Ethernet, Wi-Fi

 

L1 - Physical Layer(물리 계층)

  • Encoding: 0과 1의 디지털 신호를 아날로그 신호로 변환하여 전송
  • Decoding: 아날로그 신호를 0과 1의 디지털 신호로 해석
  • Hardware에 구현

 

(사진 및 내용 출처: 티스토리)

 

Client-Server Architecture

  • server
    • 바뀌지 않는 고정된 IP 주소를 가져야 함
  • client
    • IP 주소를 가지고 있되, 고정되지 않아도 됨

 

Sockets

  • 소켓은 프로세스가 네트워크를 통해 데이터를 보내거나 받기 위한 실제적인 창구 역할을 한다.
  • 소켓의 주소(인덱싱) 역할은 IP와 Port가 담당한다.
    • IP: 인터넷 상에 존재하는 컴퓨터의 위치
    • Port: 하나의 컴퓨터에 존재하는 여러 프로세스 중 하나를 특정

 

Port를 통일하는 이유

웹 브라우저를 이용해 구글, 네이버 등 웹페이지를 접속할 때 우리는 일반적으로 www.google.com, www.naver.com 과 같은 url을 입력한다. 이는 DNS를 거쳐 IP로 변환되고 생략된 port는 기본값이 80이다.

모든 웹 서비스의 port가 제각기 다르다면 각각의 웹페이지에 접속하기 위해 우리는 매번 port를 입력해야하고 이는 번거로운 일이다. 따라서 http 기본 port를 80으로 통일한다.

 

앱이 네트워크에 기대하는 4가지

  1. Data Integrity
    • 중간에 유실되는 문제 없이 정확하게 데이터가 전송되는 것
  2. Timing
    • 데이터가 전달되는 속도
    • low delay, 빠른 전송 속도
  3. Throughput
    • 단위 시간당 디지털 데이터 전송으로 처리하는 양
    • 빠른 처리량
  4. Security
    • 전송되는 과정에서의 보안

 

Transport Layer에서는 1번만을 보장한다 (TCP 한정) . Security는 Application Layer에서 구현한다.

 

HTTP

  • Hypter Text Transfer Protocol: 하이퍼텍스트를 전송하는 프로토콜
  • Application Layer 프로토콜이다.
    • 특히, Transport Layer의 TCP를 사용한다.
  • 클라이언트-서버 모델
    • 클라이언트의 Http Request
    • 서버의 Http Response
  • Stateless
    • Client의 상태를 저장하지 않는다.

 

Persistent vs Non-persistent

  • Persistent 방식
    • 추가적으로 요청할 오브젝트가 있을 수 있기 때문에 소켓 연결을 끊지 않고, 바로 다시 요청을 할 수 있다.
    • 병렬 요청 (파이프라인)
  • Non-Persistent 방식
    • 하나의 Request에 대한 Response 후 접속(Connection)을 끊는다.
    • Connection: close를 하지 않아도 소켓 연결이 알아서 끊긴다.

'Computer Science > 📡Network' 카테고리의 다른 글

[Network] Application Layer (응용 계층)  (0) 2021.11.17
[Network] 네트워크 기본 - 3  (0) 2021.11.14
[Network] 네트워크 기본 - 1  (0) 2021.11.05
[Network] HTTP 메서드  (0) 2021.10.11
[Network] HTTP 기본  (0) 2021.10.04
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기