[Network] 7) 응용 계층: 애플리케이션에 데이터 전송하기

Gon Kim·2022년 11월 11일
0

28) 응용 계층의 역할

응용 계층 www html http DNS SMTP POP3

응용 계층

OSI 최상위 계층으로, 각각의 애플리케이션에 대응되는 데이터를 생성하고 전송하는 역할을 한다.

사용자 측의 요청을 전달하기 위해 통신 대상이 이해할 수 있는 데이터로 변환하고 전송 계층으로 전달하는 역할을 한다.

  • 애플리케이션이 동작하는 계층. 여기서는 세션 계층과 표현 계층을 포함하는 것으로 가정한다.

프로토콜

  • 웹사이트 → http
  • 파일 전송 → FTP
  • 메일 송신 → SMTP
  • 메일 수신 → POP3

DNS

  • 사용자가 ip를 항상 기억하고 있기에는 무리가 있다. 따라서 ip에 도메인 이름을 지정하고, 도메인 이름으로 ip를 찾아내 ip를 제공하는 서비스를 DNS라고 한다.

29) 웹 서버의 구조 (웹 사이트 접속)

www html http

WWW

W3, Web3라고도 불린다. HTML, URL, HTTP 3가지로 구성된다.

  • HTML
    • HyperText Markup Language
    • 하이퍼 텍스트를 작성하기 위한 마크업 언어. 문자, 이미지를 표시하거나 하이퍼 링크 사용 가능
  • http
    • HyperText Transfer Protocol
    • 본래 html을 송/수신하기 위한 프로토콜이나, 요즈음에는 다양한 데이터 교환에 사용된다.
    • 요청/응답을 기반으로하며, stateless(무상태성) 프로토콜이다.
    • 80번 포트 사용
    • 본래 매 요청마다 연결을 해야했지만, http/1.1에서 keepalive 기능이 추가 되어 한번의 연결 수립으로 필요한 만큼의 데이터 교환을 마칠 수 있게 됐다.
      • 요청들도 알아서 순서대로 처리해준다.
      • http/2에서는 꼭 요청을 보낸 순서대로 응답을 반환하지 않도록 변경됐다.

30) DNS 서버의 구조

DNS

DNS

URL을 IP 주소로 변환하는 서비스(시스템)이다.

  • https://www.example.com에서 example.com을 도메인 주소, www를 호스트 주소라고 한다.
  • DNS 서버는 전 세계에 분포되어있으며, 계층적으로 구성된다.

클라이언트는 다음과 같은 과정을 거쳐 ip 주소를 얻는다. 아래는 매우 간략화된 과정이다.

  • DNS1에 해당 url에 매핑되는 ip를 요청한다.
  • DNS1이 알지 못하면 2에 요청한다.
  • ip 주소를 받으면, 해당 ip 주소로 요청을 보낸다.

31) 메일 서버의 구조 (SMTP와 POP3)

메일의 송수신 구조

  • 기본적으로 다음과 같은 구조를 갖는다.
    1. 클라이언트1이 메일 서버1에 SMTP를 통해 메일을 보낸다.
    2. 서버1이 서버2로 SMTP를 통해 메일을 보낸다.
    3. 서버2가 클라이언트2로 POP3를 통해 메일을 보낸다.
  • SMTP는 메일 송신을 위한 프로토콜이다.
    • 클라이언트 → 서버, 서버 → 서버 메일 송신
  • POP3는 메일 수신을 위한 프로토콜이다.
    • 서버 → 클라이언트 메일 송신
    • 클라이언트가 먼저 수신을 위한 요청을 보낸다.

SMTP에 의한 메일 송신과 메일 전송

25번 포트 사용

위의 1, 2 과정에 해당한다. SMTP를 통한 데이터 전송은 다음과 같은 절차를 거친다.

모두 클라이언트가 서버에게 먼저 요청을 보내고, 서버가 응답하는 형태이다.

  • 클라이언트에서 서버로 세션 시작 통지, 서버 응답
  • 송신자의 메일 주소 통지, 서버 응답
  • 목적지 메일 주소 통지, 서버 응답
  • 메일 본문 전송 통지, 서버 응답
  • 메일 본문 송신, 서버 응답
  • 세션 종료 통지, 서버 응답

POP3에 의한 메일 수신

110번 포트 사용

메일 서버는 메일을 보관해두는 메일 박스라는 기능이 있다. 사용자가 메일을 요청할 때(로그인 했을 때 등), 사용자 인증 후 메일 박스에서 메일을 확인하고 전송해준다. 다음과 같은 절차를 거친다.

모두 클라이언트가 서버에게 먼저 요청을 보내고, 서버가 응답하는 형태이다.

  • 클라이언트에서 서버로 세션 시작 통지, 서버 응답
  • 수신자의 사용자 이름 통지, 서버 OK 응답
  • 수신자의 비밀번호 통지, 서버 비밀번호 확인 응답
  • 메일 확인, 서버는 클라이언트에게 클라이언트에게 보낼 메일이 있다는 응답
  • 메일의 전송 요청, 서버 메일 전송 응답
  • 세션 종료 통지, 서버 응답
profile
응애

0개의 댓글