응용 계층 : 애플리케이션에 데이터 전송하기
LESSON 28 - 응용 계층의 역할
응용 계층 (application layer, 애플리케이션 계층)
- OSI 모델의 최상위 계층으로 다양하게 존재하는 응용 환경에서 공통적으로 필요한 기능을 다룬다.
- 시스템 간의 응용 처리는 상호 간에 통신하면서 일련의 업무를 처리할 수 있도록 필요한 서비스 기능을 제공한다.
- 이메일, 파일 전송, 웹 사이트 조회 등 애플리케이션에 대한 서비스를 제공하는 계층이다.
- 애플리케이션과 데이터를 주고받기 위해 필요하다.
- 5계층의 세션 계층과 6계층의 표현 계층이 포함한다.
응용계층의 역할
- 애플리케이션은 서비스를 요청하는 측(사용자 측)에서 사용하는 애플리케이션으로 분류할 수 있다.
- 서비스
- 네트워크나 애플리케이션이 제공하는 기능이나 동작, 정보 등을 말한다.
- 서비스를 요청하는 측 - 클라이언트
- 웹 브라우저나 메일 프로그램은 사용자 측에서 사용하는 애플리케이션이므로 클라이언트이다.
- 서비스를 제공하는 측 - 서버
- 웹 서버 프로그램과 메일 서버 프로그램 등은 서비스를 제공하는 측이므로 서버이다.
- 응용 계층에서는 사용자 측(클라이언트)의 요청을 전달하기 위해 통신 대상(서버 등)이 이해할 수 있는 메세지로 변환하고 전송 계층으로 전하는 역할을 한다.
- 클라이언트 측 애플리케이션(웹 브라우저, 메일 프로그램 등)이 서버 측 애플리케이션(웹 서버 프로그램, 메일 서버 프로그램 등)과 통신하려면 응용 계층의 프로토콜을 사용해야 한다.
프로토콜 | 내용 | |
HTTP (HyperText Transfer Protocol, 하이퍼텍스트 전송 프로토콜) |
웹 사이트 접속 | - 웹 서비스에서 클라이언트(웹 브라우저)와 웹 서버 간에 정보를 주고받기 위해 사용되는 네트워크 프로토콜이다. |
DNS (Domain Name System, 도메인 이름 시스템) |
이름 해석 | - 네트워크에서 호스트 이름을 IP 주소로 변환하는 데 사용하는 시스템(서비스)이다. - DNS 서비스가 동작하는 컴퓨터(서버)를 DNS 서버라고 한다. |
FTP (File Transfer Protocol, 파일 전송 프로토콜) |
파일 전송 | - 서버와 클라이언트 간에 파일을 전송하기 위한 프로토콜이다. - 일반적으로 통신 포트는 제어용도로는 21번을 사용하고 데이터 전송 용도로는 20번 포트를 사용한다. |
SMTP (Simple Mail Transfer Protocol, 전자자 우편 전송 프로토콜) |
메일 송신 | - 인터넷 메일을 송신하는 데 사용하는 프로토콜이다. - 통신 포트는 일반적으로 25번을 사용한다. SMTP를 지원하는 서버를 SMTP 서버라고 한다. |
POP3 (Post Office Protocol version, 포스트 오피스 프로토콜) |
메일 수신 | - 인터넷에서 메일을 수신하는 데 사용하는 프로토콜이다. - 통신 포트는 일반적으로 110번을 사용한다. POP3를 지원하는 서버를 POP3 서버라고 한다. |
- 응용 계층은 각각의 애플리케이션에 대응되는 데이터를 전송하는 역할을 한다.
LESSON 29 - 웹 서버의 구조 (웹 사이트 접속)
WWW (World Wide Web, 월드 와이드 웹)
- 거대한 통신망인 인터넷은 수많은 사이트, 데이터, 정보를 갖고 있으며, 통신 회선이 거미줄처럼 서로 연결되어 있어서 언제 어디서든 필요한 곳에 접근하거나 정보를 공유하고 주고받을 수 있는 멀티미디어 인터넷 서버다.
- W3나 웹(Web)이라고 불린다.
- WWW는 HTML, URL, HTTP라는 세 가지 기술이 사용된다.
- HTML (HyperText Markup Language, 하이퍼텍스트 마크업 언어)
- 웹 페이지에서 문장 구조나 문자를 꾸미는 태그를 사용하여 작성하는 마크업 언어이다.
- 마크업 언어 : 문장의 일부를 태그로 감싸고 문장을 꾸미기 위한 형식이다.
- URL (Uniform Resource Locator)
- 인터넷에서 파일 위치를 지정하기 위해 기술된 주소다.
- 웹 사이트 주소를 지정하기 위해 사용한다.
- HTTP
- HTML (HyperText Markup Language, 하이퍼텍스트 마크업 언어)
HTTP (HyperText Transfer Protocol)
- 웹 서비스에서 클라이언트(웹 브라우저)와 웹 서버 간에 정보를 주고받기 위해 사용되는 네트워크 프로토콜이다.
- 클라이언트(웹 브라우저)는 웹 사이트를 보기 위해 서버(웹 서버 프로그램)의 80번 포트를 사용하여 HTTP 통신을 한다.
- 클라이언트에서 **HTTP 요청(request)**을 보내고 서버에서 **HTTP 응답(response)**을 반환한다.
- 요청 (request)
- 데이터나 작업 처리를 요청하는 메시지
- 응답 (response)
- 상대에게 보낸 데이터나 처리 요청에 대한 응답
- 요청 (request)
- 클라이언트가 데이터를 요청할 때 “GET”이라고 하는 요청 정보, 파일 이름, 버전 등을 서버에 전송한다.
- HTTP/1.0 버전에서는 요청을 보낼 때마다 연결했다 끊는 작업을 반복했다.
- HTTP/1.1 버전에서는 keepalive 라는 기능이 추가되었다.
- keepalive
- 연결을 한 번 수립하면 데이터 교환을 마칠 때까지 유지하고, 데이터 교환을 모두 끝내면 연결을 끊는 구조이다.
- keepalive
- ①의 요청에 대해 ①의 응답을 반환하고, ②의 요청에 대해 ②의 응답을 반환한다.
- HTTP/2 버전은 요청을 보낸 순서대로 응답을 반환하지 않아도 되므로 콘텐츠를 빠르게 표시할 수 있다.
LESSON 30 - DNS 서버의 구조 (이름 해석)
도메인
- **DNS는 URL을 IP 주소로 변환하는 서비스(시스템)**이다.
- DNS 서버는 ‘이름 해석(name resolution)’을 사용하여 도메인 이름을 IP 주소로 변환한다.
- 컴퓨터나 네트워크를 식별하기 위해 붙여진 이름을 도메인 이름이라고 한다.
- 도메인 이름 앞에 있는 www는 호스트 이름(서버 이름)이라고 한다.
- www.google.com에서 www는 호스트 이름이고 google.com은 도메인 이름이다.
- 첫 번째 DNS 서버가 도메인의 IP 주소를 모르는 경우도 있다.
- DNS 서버 1이 DNS 서버 2에 요청한다.
- DNS 서버는 전 세계에 흩어져 있고 모두 계층적으로 연결되어 있다.
LESSON 31 - 메일 서버의 구조 (SMTP와 POP3)
① 메일의 송수신 구조
- 메일을 송수신하기 위하여 클라이언트 측의 메일 프로그램과 서버 측의 메일 서버 프로그램 간에 통신을 해야 한다.
- 메일을 보내는 데 사용되는 프로포콜 : SMTP (포트번호 : 25번)
- 메일을 받는 데 사용되는 프로토콜 : POP3 (포트번호 : 110번)
① SMTP를 사용해 컴1에서 메일 서버 1로 메일을 보낸다.
- 컴1 사용자는 메일 서버 1을 사용하는데, 메일 서비스를 제공하는 포털사이트나 회사의 메일 서버를 사용하는 경우가 많다.
- 포털사이트에 가입하거나 회사에서 메일 주소를 받으면 메일 서버를 사용할 수 있게 된다.
- 메일을 보낼 때는 메일 서비스를 제공하는 포털사이트나 회사의 메일 서버에 메일을 보낸다.
- 컴1에 사용하는 메일 프로그램에 메일 서비스를 제공하는 **메일 서버의 호스트 이름(서버 이름)**을 설정하면 메일 서버를 사용할 수 있다.
② SMTP를 사용해 메일 서버 1에서 메일 서버 2로 메일을 보낸다.
③ POP3를 사용해 메일 서버 2에서 컴2로 메일 데이터를 보낸다.
② SMTP에 의한 메일 송신과 메일 전송
- 컴1의 메일 프로그램은 SMTP를 사용해 메일 서버 1로 메일을 보낸다.
- SMTP를 사용해 메일 서버 1에서 메일 서버 2로 메일을 전송한다.
③ POP3에 의한 메일 수신
- 메일 서버에는 메일 박스라고 하는 메일을 보관해 주는 기능이 있다.
- 메일 서버 2는 POP3를 사용해 메일 서버 2의 메일 박스에서 메일을 가져와서 컴2로 전송한다.
- 메일 서버 2에 컴1의 메일이 도착하면 컴2는 메일 서버2의 메일 박스에 있는 메일을 받아야 하지만 메일을 수신할 때는 사용자 이름과 비밀번호를 이용한 사용자 인증이 필요하다.
- 사용자 인증
- 시스템에 접근하려는 사용자가 올바른 사용자인지 판별하는 것을 말한다.
① 세션을 시작한다.
② 컴2에서 받는 사람의 사용자 이름을 통지하고 메일 서버 2에 ‘OK’라는 확인 응답을 반환한다.
③ 컴2에서 수신자의 비밀번호를 통지하고 메일 서버 2에 ‘비밀번호 확인’이라는 확인 응답을 반환한다.
④ 컴2에서 자신의 메일이 있는지 확인하고 메일 서버 2는 ‘있음’이라는 확인 응답을 반환한다.
⑤ 컴2에서 메일 박스에 보관된 이메일을 전송받는다.
⑥ 세션을 종료한다.
ping 명령
- 목적지 컴퓨터와의 통신을 확인하기 위해 ping 명령을 이용한다.
- ping 명령은 ICMP(Internet Control Message Protocol)라는 프로토콜을 사용하여 목적지 컴퓨터에 ICMP 패킷을 전송하여 패킷에 대한 응답이 제대로 오는지 확인하는 명령이다.
- ping 명령이 정상으로 실행되면 네트워크 연결이 정상이라고 판단할 수 있으므로 문제를 확인할 때 자주 사용한다.
- 명령 프롬프트를 이용하여 실행할 수 있따.
- ping 명령의 사용법
- ping 목적지 IP주소
- ping 목적지 호스트 이름
'네트워크 > 책 <모두의 네트워크>' 카테고리의 다른 글
9장 | 무선 랜 이해하기 (0) | 2023.01.20 |
---|---|
8장 | 네트워크의 전체 흐름 살펴보기 (0) | 2023.01.19 |
6장 | 전송 계층 : 신뢰할 수 있는 데이터 전송하기 (0) | 2023.01.17 |
5장 | 네트워크 계층 : 목적지에 데이터 전달하기 (0) | 2023.01.13 |
4장 | 데이터 링크 계층 : 랜에서 데이터 전송하기 (1) | 2023.01.12 |