007. 응용 계층 : 애플리케이션에 데이터 전송하기

Cornchip·2022년 10월 13일
0

모두의 네트워크

목록 보기
7/9
post-thumbnail

목차
1. 응용 계층의 역할
2. 웹 서버의 구조 (웹 사이트 접속)
3. DNS 서버의 구조(이름 해석)
4. 메일 서버의 구조(SMTP와 POP3)



1. 응용 계층의 역할

1) 응용 계층

  • 클라이언트 : 서비스를 요청하는 측(사용자 측)

  • 서버 : 서비스를 제공하는 측

  • 서버 프로그램을 이용하는 애플리케이션은 응용 계층에서 동작한다.

  • 클라이언트 측 앱이 서버 측 앱과 통신하기 위해서는 응용계층의 프로토콜을 사용해야 한다.

    프로토콜 : 내용

    HTTP : 웹 사이트 접속
    DNS(Domain Name System) : 이름 해석
    FTP(File Transfer Protocol) : 파일 전송
    SMTP(Simple Mail Transfer Protocol) : 메일 송신
    POP3(Post Office Protocol version) : 메일 수신

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



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

1) WWW(웹)

  • WWW에 사용된 세가지 기술

    1. HTML
    2. URL
    3. HTTP
  • HTML

    웹 페이지에서 문장 구조나 문자를 꾸미는 태그를 사용하여 작성하는 마크업 언어

    HyperText를 작성하는 마크업 언어
    : 문자, 이미지, 하이퍼링크를 사용할 수 있다.

  • HTTP

    • 80번 포트를 사용해서 HTTP 통신을 한다.
    • 클라이언트에서 HTTP요청(request)를 보내고
    • 서버에서 HTTP응답(response)를 반복한다.

클라이언트가 데이터를 요청할 때
"GET"이라고 하는 요청 정보, 파일 이름, 버전 등을 서버에 전송한다.

서버가 응답으로 요청을 정상적으로 처리했다는 정보를 반환한다.
요청에 대한 html을 클라이언트에게 보낸다.

  • 현재는 HTTP/2 나 HTTP/1.1 버전을 사용한다. 1.1버전에서 keepalive 기능 추가

  • HTTP/1.0 에서는 요청을 보낼 때마다 연결했다 끊는 작업을 반복했다.

  • keepalive

    Connection을 한 번 수립하면
    데이터 교환을 마칠 때까지 유지한다.
    데이터 교환을 모두 끝내면 연결을 끊는 구조이다.

    요청을 순서대로 처리한다.

  • HTTP/2 버전

    • 1.1버전의 요청을 보낸 순서대로 응답을 반환하는 구조에서 발생하는 문제를 해결하기 위한 방법 추가

      이전 요청을 처리하는 데 시간이 길어져 다음 요청에 대한 처리가 늦어지는 문제



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

1) DNS

  • DNS : URL을 IP 주소로 변환하는 서비스(시스템)

    ex)
    DNS 서버가
    http://www.gilbut.co.kr
    222.235.64.222
    로 변환하는 것을 돕는다.

  • DNS의 name resolution : 도메인 이름을 사용하여 접속하도록 돕는 것

    www : 호스트 이름
    gilbut.co.kr : 도메인 이름

  • 요청받은 DNS 서버가 해당 도메인 이름의 IP 주소를 모르는 경우에는 다른 DNS 서버에 질의한다.

  • DNS 서버는 전 세계에 흩어져 연계해서 동작한다.



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

1) 메일의 송수신 구조

  • 프로토콜 : SMTP, POP3
  1. 컴퓨터1에서 메일을 보낼 때 SMTP를 사용해서 메일 서버1로 메일을 보낸다.
  2. SMTP를 사용해서 메일 서버1에서 메일 서버2로 메일을 보낸다.
  3. POP3를 사용해서 메일 서버2에서 컴퓨터2로 메일 데이터를 보낸다.

  • 메일 서비스를 제공하는 포털사이트나 회사의 메일 서버를 사용한다.

  • SMTP를 이용해 컴퓨터1에서 메일 서버1로 메일을 보낸다.

    1. 세션 시작을 통지한다.
    2. 송신자의 메일 주소를 통지한다.
    3. 목적지 메일 주소를 통지한다.
    4. 메일 본문 전송을 통지한다.
    5. 메일 본문을 송신한다.
    6. 세션 종료를 통지한다.
  • 메일 서버에는 메일 박스라고 하는 메일을 보관해 주는 기능이 있다.

  • POP3를 이용해 컴퓨터2가 메일박스에서 메일을 가져온 메일 서버2로부터 메일을 받는다.

  • 메일을 수신할 때는 사용자 인증 이 필요하다.

    1. 세선 시작을 통지한다.
    2. 수신자의 사용자 이름을 통지한다.
    3. 수신자의 비밀번호를 통지한다.
    4. 메일을 확인한다.
    5. 메일의 전송을 요청한다.
    6. 세션 종료를 통지한다.

  • ping : 목적지 컴퓨터와의 통신을 확인하기 위한 명령

    ICMP (Internet Control Message Protocol) 프로토콜을 사용하여 목적지 컴퓨터에 ICMP 패킷을 전송하고 패킷에 대한 응답이 제대로 오는지 확인한다.

  • URL(Uniform Resource Locator) : 인터넷에서 파일 위치를 지정하기 위해 기술된 주소. 웹사이트 주소를 지정하기 위해 사용한다.

profile
cornchip

0개의 댓글