SangKins

[혼공학습단 12기] 혼자 공부하는 네트워크 - 5주차 본문

Dev/혼공단

[혼공학습단 12기] 혼자 공부하는 네트워크 - 5주차

holdbird 2024. 8. 4. 22:51

시작한 지 얼마 되지도 않은 것 같은 혼공학습단 12기도 얼추 75%를 넘겼다 혼자 공부하는 네트워크는 이미 한번 읽었던 책이라 좀 더 수월하게 할 수 있었던 것 같다.

 

이번주에는 OSI 7계층 중 7계층에 해당하는 응용 계층에 대해서 알아봤습니다.

 

응용 계층의 첫번째 챕터는 DNS와 자원이다.

 

통신을 하기 위해서는  IP주소 이외에 도메인 네임을 사용할 수 있다.

URL : 위치 기반의 식별자

URN : 이름 기반의 식별자

 

도메인 네임과 네임서버

도메인 네임과 IP는 네임서버에서 관리 (DNS 서버)

 

도메인 네임은 계층적으로 분류된다.

1. root 도메인

2. TLD 도메인

3. SLD 도메인

전체 주소 도메인 : FQDN

 

이렇게 계층적이고 분산된 도메인 네임에 대한 관리 체계를 도메인 네임 시스템이라고 한다.

 

계층적 네임 서버

도메인 네임 리졸빙

 

로컬 네임 서버 : 클라이언트와 맞닿아 있는 네임 서버

공개 DNS 서버 : 구글 8.8.8.8 , 클라우드 플레어 1.1.1.1 (ISP에서 할당하는 게 아님)

 

루트 네임 서버 : 질의에 대해 TLD 네임 서버 IP 반환

TLD 네임 서버 : 그 하위 반환

책임 네임 서버 : 특정 도메인 영역을 관리하는 서버 (naver, google, github...)

 

네임 서버는 DNS 레코드 타입이라고 하는 정보를 저장하고 관리한다.

레코드 유형 설명
A 특정 호스트에 대한 도메인 네임과 IPv4 주소와의 대응 관계
AAAA 특정 호스트에 대한 도메인 네임과 IPv6 주소와의 대응 관계
CNAME 호스트 네임에 대한 별칭 지정
NS 특정 호스트의 IP 주소를 찾을 수 있는 네임 서버
MX 해당 도메인과 연동되어 있는 메일 서버

 

도메인 네임 리졸빙 과정

- 재귀적 질의

- 반복적 질의

 

응답받은 결과를 임시로 저장 : DNS 캐시 (TTL 적용)

 

자원을 식별하는 URI

자원 : 네트워크상의 메시지를 통해 주고받는 대상.

  • URI : 자원을 식별할 수 있는 정보
  • URI, URN: 위치, 이름으로 식별

URL 

  1. scheme : 자원에 접근하는 방법
  2. authority : 호스트를 특정할 수 있는 정보
  3. path : 자원이 위치한 경로
  4. query : 쿼리 parameter
  5. frament : 자원의 특정 조각을 지칭

URN 

위치와 무관하게 자원을 식별할 수 있다. 널리 채택된 방식이 아님.

 

 

HTTP

응용 계층에서 정보를 주고받는 데 사용되는 프로토콜

  1. 요청-응답 기반 프로토콜
  2. 미디어 독립적 프로토콜
  3. 스테이트리스 프로토콜
  4. 지속 연결 프로토콜

HTTP 메시지 구조

  1. 시작 라인(start-line)
  2. method(POST, GET...)
  3. request-target
  4. HTTP-version

응답인 경우

  1. status-line
  2. HTTP-version
  3. status code
  4. reason phrase

 

필드 라인

HTTP 헤더 (header-line)

  • 헤더 이름
  • 헤더 값
  • 메시지 본문

HTTP 메서드: 다양한 종류가 있다 (POST, GET)

HTTP 상태코드 : 100 ~ 500까지 다양하다.

 

 

HTTP 헤더와 HTTP 기반 기술

 

HTTP 헤더

  1. Host
  2. User-Agent
  3. Referer
  4. Authorization

응답 시 활용되는 HTTP 헤더

  1. Server
  2. Allow
  3. Retry-after
  4. Location
  5. WWW-authenticate

요청과 응답 모두에서 활용되는 HTTP 헤더

  1. Date
  2. Connection
  3. Content-length
  4. Content-Type, Content-Language, Content-Encoding

캐시

불필요한 대역폭 낭비와 응답 지연을 방지하기 위해 사본을 임시로 저장하는 기술

 

저장위치

웹 브라우저 : 개인 전용 캐시

서버 : 공용 캐시

 

쿠키

서버에서 생성되어 클라이언트 측에 저장되는 데이터로 상태를 유지하지 않는 HTTP의 특성을 보완하기 위한 수단

 

콘텐츠 협상과 표현

가장 적합한 형태의 자원을 제공하는 메커니즘 즉 같은 URI에 대해 가장 적합한 자원의 표현을 제공하는 메커니즘

 

 


http://www.example.com에서 루트 도메인은. TLD가 com

HTTP 상태코드 300은 리다이렉션 관련 상태 코드입니다.