[그림으로 배우는 HTTP & Network Basic] 1장 웹과 네트워크의 기본
[그림으로 배우는 HTTP & Network Basic] 1장 웹과 네트워크의 기본

[그림으로 배우는 HTTP & Network Basic] 1장 웹과 네트워크의 기본

Tags
우에노 센
Network
HTTP
Published
June 1, 2023
Author
lkdcode

네트워크의 기본은 TCP/IP

  • 네트워크는 TCP/IP 라는 프로토콜에서 움직이고 있다.
  • HTTP 는 그 중 하나.
 

프로토콜 ?

컴퓨터와 네트워크 기기가 상호간에 통신하기 위해서는 서로 같은 방법으로 통신하지 않으면 안 된다.
어떻게 상대를 찾고, 어떻게 상대에게 이야기를 시작하고, 어떠한 언어로 이야기를 하며, 어떻게 이야기를 종료할까와 같은 규칙을 결정할 필요가 있다. 이러한 규칙을 프로토콜이라 한다.
 

계층을 관리하는 TCP/IP

계층화의 장점
  • 각 계층의 내부는 자유롭게 설계할 수 있다.
  • 사양이 변경된 해당 계층만 변경하면 된다.
  • 약간 객체지향 느낌이 난다
  • 애플리케이션 계층
    • 유저에게 제공되는 애플리케이션에서 사용하는 통신의 움직임을 결정한다
    • FTP, DNS, HTTP 등 도 애플리케이션의 한 가지이다.
  • 트랜스포트 계층
    • 네트워크로 접속되어 있는 2대의 컴퓨터 사이의 데이터 흐름을 제공
    • TCP, UDP 두 가지 프로토콜이 있다.
  • 네트워크 계층 (인터넷 계층)
    • 네트워크 상에서 패킷의 이동을 다룬다.
  • 링크 계층 (데이터 링크 계층, 네트워크 인터페이스 계층)
    • 네트워크에 접속하는 하드웨어적인 면을 다룬다.
 

TCP/IP 통신의 흐름

송신측 - 계층을 통과할 때마다 헤더를 추가
  • 클라이언트의
    • 어플리케이션 계층 (HTTP 클라이언트) →
      • HTTP 데이터 (HTTP 메시지)
    • 트랜스포트 계층 (TCP) →
      • TCP 헤더 (TCP 세그먼트)
    • 네트워크 계층 (IP) →
      • IP 헤더 (IP 데이터그램)
    • 링크 계층 (네트워크) →
      • Ethernet 헤더 (네트워크 프레임)
수신측 - 계층을 통과할 때마다 헤더를 삭제
  • 서버의
    • 링크 계층 (네트워크) →
      • Ethernet 헤더
    • 네트워크 계층 (IP) →
      • IP 헤더
    • 트랜스포트 계층 (TCP) →
      • TCP 헤더
    • 어플리케이션 계층 (HTTP 서버)
      • HTTP 데이터
 

HTTP 와 관계가 깊은 프로토콜은 IP/TCP/DNS

IP
  • 네트워크 계층에 해당한다.
  • 배송을 담당한다.
  • 통신은 ARP를 이용하여 MAC 주소에서 한다.
  • 각각의 패킷을 상대방에게 전달하는 것
  • 라우터 등의 네트워크 기기는 대략적인 목적지만 알고 있다.
신뢰성을 담당하는 TCP
  • 트랜스포트 계층에 해당한다.
  • 신뢰성 있는 바이트 스트림 서비스를 제공한다.
  • 대용량의 데이터를 보내기 쉽게 작게 분해하여 상대에게 보내고, 정확하게 도착했는지 확인한다
  • 쓰리웨이 핸드셰이킹 (three way handshaking)
    • 패킷을 보내고 보내졌는지 여부를 상대에게 확인하는 것
이름 해결을 담당하는 DNS
 

URI와 URL

URI
  • 리소스 식별자 (자원)
  • 리소스
    • 식별 가능한 모든 것
  • Identifier
    • 식별 가능한 것을 참조하는 오브젝트, 식별자
URL
  • 리소스의 장소(네트워크 상의 위치)를 나타낸다
  • URI의 서브셋이다.