[network] 7. 응용 계층 : 애플리케이션에 데이터 전송

est.log·2023년 2월 16일

network

목록 보기
3/4

모두의 네트워크 7장 스터디


28. 응용계층의 역할

28-1 응용계층의 역할

클라이언트 - 서비스를 요청
서버 - 서비스 제공

웹브라우저나 메일 프로그램은 사용자측에서 사용하는 앱이니 클라리언트, 서비스를 제공하는 측인 서버에는 웹 서버 프로그램, 메일 서버 프로그램 등이 있는데 이러한 애플리케이션은 응용 계층에서 동작한다.

응용 계층 = 애플리케이션이 (데이터를 주고 받기 위해) 동작하는 계층
응용 계층 = 세션계층 + 표현계층

응용계층의 역할 = 클라이언트의 요청을 전달하기 위해 통신 대상 (서버 등)이 이해할 수 있는 메시지(데이터)로 변환하고 전송계층으로 전달하는 역할을 한다

클라이언트 측 애플리케이션과
서버 측 애플리케이션이
통신 하기 위해 응용계층의 프로토콜을 사용

웹사이트 HTTP
파일 전송 FTP
메일 보낼 때 SMTP
메일 받을 때 POP3
이름 해석 DNS

네트워크에서 컴퓨터나 네트워크 장비에 붙여진 이름을 기반으로 IP주소를 알아내는 것을 이름 해석 (name resolution)이라고 하는데, 이를 위해 DNS를 사용한다.

이 외에도 여러 프로토콜들이 있다


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

29-1. www란?

HTML

웹페이지에서 문장 구조나 문자를 꾸미는 태그를 사용하여 작성하는 마크업 언어. HTML로 작성하면 웹 브라우저를 볼 수 있다. 하이퍼텍스트(링크를 걸 수 있는 텍스트)를 작성하는 마크업 언어로, 문자와 이미지를 표시하거나 하이퍼링크를 사용할 수 있다.

문서와 이미지는 별도 요청

29-2 HTTP란?

클라이언트는 웹 사이트를 보기 위해 서버의 80번 포트를 사용하여 HTTP 통신을 한다. HTTP 요청 (request)과 HTTP 응답(response)을 반환.

HTTP/1.0 이전의 연결


요청을 보낼 때마다 연결했다가 끊음을 반복

HTTP/1.1 버전 : keepalive


연결을 한번 수립하면 데이터 교환을 마칠 때까지 유지. 요청은 순서대로 처리.

HTTP/2.0 버전 : 응답 반환 순서대로 하지 않아도 됨


빠르게 표시할 수 있다.


30. DNS 서버의 구조 (이름 해석)

컴퓨터(서버)의 숫자로 된 IP주소가 있지만, 웹 브라우저 주소 창에는 URL을 입력하여 접근한다.
DNS는 URL을 IP 주소로 변환하는 서비스(시스템)이다.
IP주소가 아닌 URL로 접속하도록 돕는 것을 DNS의 이름 해석(name resolution)이라고 한다.

  1. 컴퓨터에서 이 도메인의 IP 주소는 무엇인지 물어봄
  2. DNS 서버는 해당 요청에 해당하는 도메인 이름의 IP 주소를 알려줌
  3. 컴퓨터는 IP 주소로 서버에 접속

-> IP주소 확인 요청이 도착한 DNS 서버에서 그 도메인의 IP 주소를 모르는 경우

DNS 서버가 다른 DNS 서버에 요청을 한다.
DNS 서버는 전세계에 흩어져 있고, 모두 계층적으로 연결되어 있다.


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

31-1 메일 송수신 구조

메일을 보낼 때 SMTP - 25번 포트
메일을 받을 때 POP3 - 110번 포트
메일 서버 간 전송 SMTP

  1. SMTP를 사용해 컴퓨터1에서 메일서버1로 메일 보냄
  2. SMTP를 사용해 메일서버1에서 메일서버2로 메일 보냄
  3. POP3를 사용해 메일서버2로부터 컴퓨터2가 메일 데이터 받음

컴퓨터 1에서 사용하는 메일 프로그램에 메일 서비스를 제공하는 메일 서버의 호스트 이름을 설정

kimmaroo@gmail.com

31-2 SMTP에 의한 메일 송신과 메일 전송

컴퓨터1에서 메일서버1로 메일 전송 (SMTP)

메일서버1에서 메일서버2로 메일 전송 (SMTP)

메일 박스 : 메일서버2에서 메일을 보관해주는 기능

메일서버2는 메일박스에서 메일을 가져와 컴퓨터2로 전송(POP3)

메일서버2의 사용자 인증


(보강) ping 명령

목적지 컴퓨터와의 통신 확인 (ICMP)
목적지 컴퓨터에 패킷을 전송하고, 패킷에 대한 응답이 제대로 오는지 확인

ping 목적지 IP 주소
ping 목적지 호스트 이름

profile
내가.. 개발자?

0개의 댓글