본문 바로가기
개인공부/모두의 네트워크

모두의 네트워크 7장 - 응용 계층 : 애플리케이션에 데이터 전송하기

by 하고싶은건많은놈 2023. 2. 19.

Lesson 28 - 응용 계층의 역할

애플리케이션은 응용 계층(OSI 모델에서의 세션 계층 및 표현 계층을 포함)에서 동작

애플리케이션은 서비스를 요청하는 측의 클라이언트와 서비스를 제공하는 서버로 분류할 수 있음

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

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

  • HTTP(HyperText Transfer Protocol) : 웹 사이트 접속
  • DNS(Domain Name System) : 이름 해석(name resolution) - 컴퓨터 또는 장비에 붙여진 이름을 기반으로 IP 주소를 알아내는 작업
  • FTP(File Transfer Protocol) : 파일 전송
  • SMTP(Simple Mail Transfer Protocol) : 메일 송신
  • POP3(Post Office Protocol ver3) : 메일 수신

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

WWW(World Wide Web, W3 또는 Web)에는 HTML / URL / HTTP 기술이 사용됨

  • HTML(HyperText Markup Language) : 웹 페이지에서 문장 구조나 문자를 꾸미는 태그를 사용하여 작성하는 마크업 언어
    하이퍼텍스트를 작성하여 문자 및 이미지를 표시하거나 하이퍼링크(hyperlink)를 걸 수 있음
  • HTTP(HyperText Transfer Protocol) : 서버의 80번 포트를 사용, 클라이언트에서 HTTP 요청(request)을 보내고 서버에서 HTTP 응답을 반환(response)
    클라이언트의 요청시 GET이라고 하는 요청 정보를 서버에 전송, 서버는 요청을 정상적으로 처리했다는 OK라는 정보와 필요한 파일 등을 반환
    • HTTP/1.0 버전에서는 요청을 보낼때마다 연결하고 끊는 작업이 반복됨
    • HTTP/1.1 버전에서는 keepalive 기능을 통해 연결을 계속 유지하다 데이터 교환이 끝나야만 연결을 끊도록 하여 성능을 향상시킴
    • HTTP/2 버전에서는 요청을 보낸 순서와 응답의 순서를 무관하게 하여 콘텐츠를 빠르게 표시할 수 있도록 함
  • URL(Uniform Resource Locator) : DNS를 통해 URL을 IP 주소로 변환하여 웹 사이트에 접속

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

DNS : URL을 IP 주소로 변환하는 서비스

URL과 같은 주소를 사용하여 IP 주소로 접속하도록 돕는 것을 DNS의 이름 해석(name resolution)이라고 함

이 때 URL과 같은 주소를 도메인 이름이라고 하며, 도메인 이름 앞의 www를 호스트 이름(서버 이름)이라고 함

DNS 서버와의 통신 흐름은 다음과 같음

  1. 컴퓨터가 입력된 URL을 DNS 서버에 전달
  2. DNS 서버는 요청에 해당하는 도메인 이름의 IP 주소를 알려줌
  3. IP 주소로 접속

단, 요청받은 DNS 서버가 도메인에 IP 주소 정보가 없을 경우 계층적으로 연결된 다른 DNS 서버로 요청이 넘어감


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

메일 전송에 사용되는 SMTP 프로토콜은 25번 포트, 메일 수신에 사용되는 POP3 프로토콜은 110번 포트를 사용

메일 송수신의 과정은 아래와 같음

  1. SMTP를 사용하여 컴퓨터 1에서 메일 서버 1로 메일을 보냄
    1. 컴퓨터 1에서 메일 서버 1로 세션 시작을 통지
    2. 송신자 메일 주소 통지
    3. 목적지 메일 주소 통지
    4. 메일 본문 전송 통지
    5. 메일 본문 송신
    6. 세션 종료 통지
  2. SMTP를 사용하여 메일 서버 1에서 메일 서버 2로 메일을 보내고, 메일 서버 2는 메일 박스에 메일을 보관
  3. POP3를 사용하여 메일 서버 2에서 컴퓨터 2로 메일 데이터를 보내며, 이 때 사용자 인증이 요구됨
    1. 컴퓨터 2에서 메일 서버 2로 세션 시작을 통지
    2. 수신자의 사용자 이름 통지
    3. 수신자의 비밀번호 통지
    4. 메일 확인
    5. 메일 전송 요청
    6. 세션 종료 통지

ping 명령 : ICMP(Internet Control MEssage Protocol)을 사용해 목적지 컴퓨터에 ICMP 패킷을 전송하고 해당 패킷에 대한 응답을 확인함으로써 목적지 컴퓨터와의 통신을 확인 


연습문제

1. 서비스를 요청하는 측을 클라이언트, 서비스를 제공하는 측을 서버라고 한다.

2. HTML은 문장 구조를 나타내기 위해 태그를 사용하여 작성한다.

3. 웹 브라우저와 웹 서버간의 통신에는 HTTP 프로토콜이 사용된다.

4. 일반적으로 웹 서버에서는 80번 포트를 사용한다.

5. 웹 브라우저가 요청을 보내면 웹 서버는 응답을 반환한다.

6. DNS 서버는 도메인 이름과 IP 주소에 대한 대응표를 가지고있어서 문의가 오면 이름 해석을 한다.

7. 메일 송신 프로토콜에는 SMTP가 있고, 25번 포트를 사용한다.

8. 메일 수신 프로토콜에는 POP3가 있고, 110번 포트를 사용한다.


용어정리

  • 응용 계층(application layer, 애플리케이션 계층) : OSI 모델의 최상위 계층으로 다양하게 존재하는 응용 환경에서 공통적으로 필요한 기능을 다룸
    즉, 상호간 통신하면서 일련의 업무를 처리할 수 있도록 애플리케이션에 대한 서비스를 제공
  • WWW(World Wide Web, 월드 와이드 웹) : 거대한 통신망으로서 언제 어디서든 필요한 곳에 접근하거나 정보를 공유하고 주고받을 수 있는 멀티미디어 인터넷 서버
  • HTTP(HyperText Transfer Protocol) : 웹 서비스에서 클라이언트와 웹 서버간 정보를 주고받기 위해 사용되는 네트워크 프로토콜
  • DNS(Domain Name System) : 네트워크에서 호스트 이름을 IP 주소로 변환하는데 사용하는 시스템
  • FTP(File Transfer Protocol) : 서버와 클라이언트간 파일을 전송하기 위한 프로토콜, 제어 용도로 21번 포트 / 데이터 전송 용도로 20번 포트를 사용
  • SMTP(Simple Mail Transfer Protocol) : 메일 송신에 사용되는 프로토콜으로 일반적으로 25번 포트 사용
  • POP3(Post Office Protocol ver3) : 메일 수신에 사용되는 프로토콜으로 일반적으로 110번 포트 사용
  • HTML(HyperText Markup Language) : WWW를 통해 볼 수 있는 문서를 만들 때 사용하는 프로그래밍 언어
  • URL(Uniform Resource Locator) : 인터넷에서 파일 위치를 지정하기 위해 기술된 주소, 웹 사이트 주소 지정 용도로 사용

댓글