Post

[모두의 네트워크]7장 응용 계층

응용 계층의 역할

세션 계층과 표현 계층을 모두 포함하여 설명

  • 클라이언트의 요청을 통신 대상(서버 등)이 이해할 수 있는 데이터로 변환하여 전송 계층으로 전달하는 역할 수행
    • 클라이언트: 서비스를 요청하는 측
      • 서비스: 네트워크나 애플리케이션이 제공하는 기능이나 동작, 정보 등
    • 서버: 서비스를 제공하는 측
  • 애플리케이션은 응용 계층에서 동작
    • 서버 프로그램과 애플리케이션 사이에 데이터를 주고받기 위한 계층
  • HTTP, FTP, SMTP, POP3 등의 프로토콜과 DNS 사용
    • HTTP(Hyper Text Transfer Protocol): 웹 사이트 접속
    • FTP(File Transfer Protocol): 서버와 클라이언트 간 파일 전송
      • 제어 용도로 21번 포트, 데이터 전송 용도로 20번 포트 사용
    • SMTP(Simple Mail Transfer Protocol, 전자 우편 전송 프로토콜): 메일 송신
    • POP3(Post Office Protocol, 포스트 오피스 프로토콜): 메일 수신
    • DNS(Domain Name System): 네트워크에서 이름을 기반으로 IP 주소를 알아내는 이름 해석(name resolution) 수행

각 계층의 프로토콜과 기술

응용 계층HTTP, FTP, SMTP, POP3, DNS, 기타 프로토콜
전송 계층TCP, UDP
네트워크 계층IP 등
데이터 링크 계층이더넷
물리 계층전기 신호 변환

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

WWW

  • 멀티미디어 인터넷 서버
  • HTML, URI, HTTP 기술을 사용

HTML

  • 웹 페이지에서 문장 구조나 문자를 꾸미는 태그를 사용해 작성하는 마크업 언어
  • 하이퍼텍스트를 작성하는 마크업 언어
    • 하이퍼텍스트: 문자와 이미지를 표시하거나 하이퍼링크 사용 가능

HTTP

  • 웹 서비스에서 클라이언트와 웹 서버 간 정보를 주고받기 위해 사용하는 네트워크 프로토콜
  • 클라이언트는 웹 사이트를 보기 위해 웹 서버(웹 서버 프로그램)의 80번 포트를 사용해 HTTP 통신 진행
    • 요청: 요청 정보(GET 등), 파일 이름, 버전 등을 클라이언트에서 서버에 전송
    • 응답: 서버에서 클라이언트로 처리 상태 정보와 파일을 전송
  • HTTP/1.0
    • 요청마다 연결 수립과 연결 끊는 작업을 반복해 속도가 느림
  • HTTP/1.1
    • 연결을 한 번 수립하면 데이터 교환을 모두 마칠 때까지 연결을 유지하고, 데이터 교환이 모두 끝나면 연결을 끊는 구조
      • 이를 keepalive라 한다.
    • 요청과 응답이 순서대로 진행된다.
  • HTTP/2
    • 요청을 보낸 순서대로 응답을 반환하지 않아도 되어 콘텐츠를 빠르게 표시할 수 있다.

DNS

  • URL을 IP 주소로 변환하는 시스템(이름 해석)
    • DNS 서비스가 동작하는 서버를 DNS 서버라 한다.
  • 도메인 이름: 컴퓨터나 네트워크를 식별하기 위해 붙여진 이름
  • 호스트 이름(서버 이름): 도메인 이름 앞의 이름(www 등)
  • DNS 서버가 도메인 이름의 IP 주소를 알려주면 컴퓨터는 IP 주소로 서버에 접속
    • DNS 서버가 IP 주소를 모르면 다른 DNS 서버에 질의한다.
    • DNS 서버는 전 세계에 흩어져 있어 연계하며 작동한다.

SMTP와 POP3

  • SMTP
    • 메일을 보내는 데 사용
    • 25번 포트 사용
    • SMTP를 지원하는 서버를 SMTP 서버라 한다.
  • POP3
    • 메일을 받는 데 사용
    • 110번 포트 사용
    • POP3을 지원하는 서버를 POP3 서버라 한다.

메일 송수신 과정

  1. SMTP를 사용해 컴퓨터 1에서 메일 서버 1로 메일 전송
    1. 메일 프로그램에 메일 서버의 호스트 이름(서버 이름)을 설정
      1. 메일 서버: 메일 서비스를 제공하는 포털사이트나 회사의 서버
    2. 메일 서버 1의 25번 포트 사용
  2. SMTP를 사용해 메일 서버 1에서 메일 서버 2로 메일 전송
    1. 메일 서버 2의 25번 포트 사용
  3. POP3을 사용해 메일 서버 2에서 컴퓨터 2로 메일 데이터 전송

SMTP를 이용한 메일 송수신

과정마다 메일 서버 1은 컴퓨터 1로 응답을 보낸다.

  1. 컴퓨터 1에서 메일 서버 1로 세션 시작을 통지
  2. 컴퓨터 1에서 메일 서버 1로 목적지 메일 주소를 통지
  3. 컴퓨터 1에서 메일 서버 1로 메일 본문 전송을 통지
  4. 컴퓨터 1에서 메일 서버 1로 메일 본문을 송신
  5. 컴퓨터 1에서 메일 서버 1로 세션 종료를 통지

POP3을 이용한 메일 수신

  • 메일 서버 2는 메일 박스에서 메일을 가져와 컴퓨터 2로 전송한다.
    • 메일 박스: 메일을 보관하는 공간
  • 메일을 수신할 때는 사용자 인증이 필요하다.

과정

과정마다 메일 서버 2는 컴퓨터 2로 응답을 보낸다.

  1. 컴퓨터 2에서 메일 서버 2로 세션 시작 통지
  2. 컴퓨터 2에서 메일 서버 2로 수신자의 사용자 이름 통지
  3. 컴퓨터 2에서 메일 서버 2로 수신자의 비밀번호 통지
  4. 컴퓨터 2에서 메일 서버 2로 메일이 있는지 확인
  5. 컴퓨터 2에서 메일 서버 2로 메일 박스에 보관된 메일 전송 요청
  6. 컴퓨터 2에서 메일 서버 2로 세션 종료 통지

ping 명령

  • 목적지 컴퓨터와의 통신을 확인하기 위해 이용
  • 목적지 컴퓨터에 ICMP 패킷을 전송하고, 패킷에 대한 응답이 제대로 오는지 확인하는 명령
    • ICMP: Internet Control Message Protocol
  • ping 명령이 정상적으로 실행되면 네트워크 연결이 정상적이라고 판단
This post is licensed under CC BY 4.0 by the author.