http://www.yes24.com/Product/Goods/61794014
이 장의 목표
- 응용 계층의 역할을 이해한다
- 웹 서버의 구조를 이해한다
- DNS의 이름 해석 구조를 이해한다
- 메일의 송수신 구조를 이해한다
LESSON28 응용 계층의 역할
1. 응용 계층의 역할
- 클라이언트
- 서비스를 요청하는 측
- 웹 브라우저, 메일 프로그램
- 서버
- 서비스를 제공하는 측
- 웹 서버 프로그램과 메일 서버 프로그램
- 응용 계층
- 애플리케이션과 데이터를 주고받기 위해 필요하다
- 5계층의 세션 계층과 6계층의 표현 계층을 포함하는 것으로 생각
- 사용자 측(클라이언트)의 요청을 전달하기 위한 통신 대상(서버)가 이해할 수 있는 메세지(데이터)로 변환하고 전송 계층으로 전달하는 역할을 한다.
- 응용 계층의 프로토콜
- 클라이언트 측 애플리케이션(웹 브라우저, 메일 프로그램 등)이 서버 측 애플리케이션(웹 서버 프로그램, 메일 서버 프로그램 등)과 통신하려면 응용 계층의 프로토콜을 사용해야 한다.
- 주요 응용 계층 프로토콜
프로토콜 내용 HTTP(HyperText Transfer Protocol) 웹 사이트 접속 DNS(Domain Name System) 이름 해석 FTP(File Transfer Protocol) 파일 전송 SMTP(Simple Mail Transfer Protocol) 메일 송신 POP3(Post Office Protocol version) 메일 수신 - DNS(Domain Name System)
- 이름 해석을 위해 DNS를 사용
- 이름 해석(name resolution)
- 네트워크에서 컴퓨터나 네트워크 장비에 붙여진 이름을 기반으로 IP를 알아내는 것
- DNS(Domain Name System)
- OSI 모델의 계층에서 사용되는 프로토콜과 기술
LESSON29 웹 서버의 구조(웹 사이트 접속)
응용 계층에는 웹 페이지를 접속하기 위한 프로토콜이 있다.
이번에는 웹 페이지에 접속하는 구조에 대해 설명한다.
1. WWW란?
- WWW(World Wide Web)
- HTML, URL, HTTP 기술이 사용 됨
- HTML
- 웹 페이지에서 문장 구조나 문자를 꾸미는 태그를 사용하여 작성하는 마크업 언어
- 제목이나 목록과 같은 문장 구조를 지정하거나 이미지 파일을 보여 줄 때도 태그를 사용한다.
- HTML로 작성한 웹 페이지는 웹 브라우저로 볼 수 있다.
- 하이퍼텍스트(hypertext)를 작성하는 마크업 언어라고도 한다
- 웹 서버에서 웹 브라우저로 전송되는 html 파일과 이미지 파일
- 1. 클라이언트 - index.html을 보내주세요
- 2. 서버 - index.html을 보냄
- 3. 클라이언트 - picture.jpg을 보내주세요
- 4. 서버 - picture.jpg을 보냄
2. HTTP란?
- HTTP(HyperText Transfer Protocol) 통신
- 웹 서비스에서 클라이언트(웹 브라우저)와 웹 서버 간에 정보를 주고받기 위해 사용되는 네트워크 프로토콜이다.
- 클라이언트(웹 브라우저)는 웹 사이트를 보기 위해 서버(웹 서버 프로그램)의 80번 포트를 사용하여 HTTP 통신을 한다.
- HTTP요청과 HTTP 응답
- 클라이언트에서 HTTP 요청을 보내고 서버에서 HTTP 응답을 반환
- 클라이언트
- HTTP 요청
- GET/index.html HTTP/1.1
- HTTP 요청
- 서버
- HTTP 응답
- HTTP/1.1 200 OK
- HTTP 응답
- HTTP/1.1
- keepalive 기능
- HTTP/1.1 버전에서 keepalive 기능이 추가
- 연결을 한 번 수립하면 데이터 교환을 마칠 때까지 유지
- 데이터 교환을 모두 끝내면 연결을 끊는 구조
- 요청을 보낸 순서대로 응답을 반환
- 이전 요청을 처리하는 데 시간이 길어지면 다음 요청에 대한 처리가 늦어짐
- keepalive 기능
- HTTP/2
- 요청을 보낸 순서대로 응답을 반환하지 않아도 됨
- 콘텐츠를 빠르게 표시할 수 있음
LESSON30 DNS 서버의 구조(이름 해석)
응용 계층에는 이름 해석을 통해 도메인 이름을 IP 주소로 변환하는 역할을 하는 DNS가 있다.
이번에는 DNS의 구조에 대해 알아본다.
1. 도메인 이름이란?
- 컴퓨터(서버)에는 IP 주소가 있어서 인터넷을 통해 웹 서버에 접속하여 웹 사이트를 볼 수 있다.
- DNS(Domain Name System)
- 네트워크에서 호스트 이름을 IP 주소로 변환하는 데 사용하는 시스템(서비스)이다.
- DNS 서비스가 동작하는 컴퓨터(서버)를 DNS 서버라고 한다.
- DNS는 URL을 IP 주소로 변환하는 서비스(시스템)이다.
- IP 주소가 아닌 http://www.gilbut.co.kr과 같은 주소를 사용하여 접속하도록 돕는 것을 DNS의 이름 해석(name resolution)이라고 한다.
- http://www.gilbut.co.kr에 접속하면 DNS서버가 이 웹 사이트 서버의 IP 주소를 알려준다.
- 도메인 이름
- www.gilbut.co.kr 과 같이 컴퓨터나 네트워크를 식별하기 위해 붙여진 이름을 도메인 이름이라고 한다.
- 도메인 이름 앞에 있는 www는 호스트 이름(서버 이름)이라고 한다.
- 컴퓨터와 DNS 서버 간에 일어나는 IP 주소 교환
- [컴퓨터] 웹 브라우저에 URL을 입력하여 접속 http://www.gilbut.co.kr
- [컴퓨터] http://www.gilbut.co.kr의 IP 주소를 알려 주세요
- [DNS 서버] 해당 URL의 IP 주소는 222.235.64.222입니다.
- [컴퓨터] IP 주소로 웹서버에 접속한다.
- DNS 서버가 도메인의 IP 주소를 모르는 경우
- 다른 DNS 서버에 질의
- DNS 서버는 전 세계에 흩어져 있으므로 연계하면서 동작한다.
LESSON31 메일 서버의 구조(SMTP와 POP3)
응용 계층에서 메일을 송수신하기 위한 프로토콜이 있다.
메일을 송수신하는 구조에 대해 알아본다.
1. 메일의 송수신 구조
- 클라이언트 측의 메일 프로그램과 서버 측의 메일 서버 프로그램 간의 통신을 해야 한다.
- 프로토콜 2가지 종류
- SMTP
- 메일을 보내는 데 사용되는 프로토콜
- 포트 번호 : 25번
- POP3
- 메일을 받는 데 사용되는 프로토콜
- 포트 번호 : 110번
- SMTP
- 메일 송수신 과정
- SMTP를 사용하여 컴퓨터 1에서 메일 서버 1로 메일을 보낸다.
- 메일 서버 1
- 메일 서비스를 제공하는 포털사이트나 회사의 메일 서버를 사용하는 경우가 많다.
- 메일 서버 1
- SMTP를 사용하여 메일 서버 1에서 메일 서버 2로 메일을 보낸다.
- 메일 서버 간에도 SMTP를 사용하여 메일을 전송한다.
- POP3를 사용하여 메일 서버 2에서 컴퓨터 2로 메일 데이터를 보낸다.
- SMTP를 사용하여 컴퓨터 1에서 메일 서버 1로 메일을 보낸다.
2. SMTP에 의한 메일 송신과 메일 전송
- 메일 송수신 과정
- SMTP를 사용하여 컴퓨터 1에서 메일 서버 1로 메일을 보낸다.
- 세션 시작을 통지한다
- 송신자의 메일 주소를 통지한다
- 목적지 메일 주소를 통지한다
- 메일 본문 전송을 통지한다
- 메일 본문을 송신한다
- 세션 종료를 통지한다
- SMTP를 사용하여 메일 서버 1에서 메일 서버 2로 메일을 보낸다.
- SMTP를 사용하여 컴퓨터 1에서 메일 서버 1로 메일을 보낸다.
3. POP3에 의한 메일 수신
- 메일 박스
- 메일 서버에는 메일 박스라고 하는 메일을 보관해 주는 기능이 있다.
- 메일 서버 2는 POP3를 사용하여 메일 서버 2의 메일 박스에서 메일을 가져와서 컴퓨터 2로 전송한다.
- 사용자 인증
- 메일 서버 2에 컴퓨터 1의 메일이 도착하면 컴퓨터 2는 메일 서버 2의 메일 박스에 있는 메일을 받아 가야 한다.
- 하지만 메일을 수신할 때는 사용자 이름과 비밀번호를 이용한 사용자 인증이 필요하다.
- 메일 송수신 과정
- POP3를 사용하여 메일 서버 2에서 컴퓨터 2로 메일 데이터를 보낸다.
- 세션 시작을 통지한다.
- 수신자의 사용자 이름을 통지한다
- 컴퓨터 2에서 받는 사람의 사용자 이름을 통지하고 메일 서버 2에 ‘OK’라는 확인 응답을 반환한다.
- 수신자의 비밀번호를 통지한다
- 컴퓨터 2에서 수신자의 비밀번호를 통지하고 메일 서버 2에 ‘비밀번호 확인’이라는 확인 응답을 반환한다.
- 메일을 확인한다
- 컴퓨터 2에서 자신의 메일이 있는지 확인하고 메일 서버 2는 ‘있음’이라는 확인 응답을 반환한다.
- 메일의 전송을 요청한다
- 컴퓨터 2에서 메일 박스에 보관된 이메일을 전송받는다.
- 세션 종료를 통지한다
- POP3를 사용하여 메일 서버 2에서 컴퓨터 2로 메일 데이터를 보낸다.
- ping 명령
- 목적지 컴퓨터와의 통신을 확인
- ICMP(Internet Control Message Protocol)을 사용하여 목적지 컴퓨터에 ICMP 패킷을 전송하고 패킷에 대한 응답이 제대로 오는지 확인하는 명령
- ping 명령이 정상으로 실행되면 네트워크 연결이 정상이라고 판단할 수 있음
- 사용법
- ping 목적지 IP 주소
- ping 목적지 호스트 이름