[모두의 네트워크]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 서버라 한다.
메일 송수신 과정
- SMTP를 사용해 컴퓨터 1에서 메일 서버 1로 메일 전송
- 메일 프로그램에 메일 서버의 호스트 이름(서버 이름)을 설정
- 메일 서버: 메일 서비스를 제공하는 포털사이트나 회사의 서버
- 메일 서버 1의 25번 포트 사용
- 메일 프로그램에 메일 서버의 호스트 이름(서버 이름)을 설정
- SMTP를 사용해 메일 서버 1에서 메일 서버 2로 메일 전송
- 메일 서버 2의 25번 포트 사용
- POP3을 사용해 메일 서버 2에서 컴퓨터 2로 메일 데이터 전송
SMTP를 이용한 메일 송수신
과정마다 메일 서버 1은 컴퓨터 1로 응답을 보낸다.
- 컴퓨터 1에서 메일 서버 1로 세션 시작을 통지
- 컴퓨터 1에서 메일 서버 1로 목적지 메일 주소를 통지
- 컴퓨터 1에서 메일 서버 1로 메일 본문 전송을 통지
- 컴퓨터 1에서 메일 서버 1로 메일 본문을 송신
- 컴퓨터 1에서 메일 서버 1로 세션 종료를 통지
POP3을 이용한 메일 수신
- 메일 서버 2는 메일 박스에서 메일을 가져와 컴퓨터 2로 전송한다.
- 메일 박스: 메일을 보관하는 공간
- 메일을 수신할 때는 사용자 인증이 필요하다.
과정
과정마다 메일 서버 2는 컴퓨터 2로 응답을 보낸다.
- 컴퓨터 2에서 메일 서버 2로 세션 시작 통지
- 컴퓨터 2에서 메일 서버 2로 수신자의 사용자 이름 통지
- 컴퓨터 2에서 메일 서버 2로 수신자의 비밀번호 통지
- 컴퓨터 2에서 메일 서버 2로 메일이 있는지 확인
- 컴퓨터 2에서 메일 서버 2로 메일 박스에 보관된 메일 전송 요청
- 컴퓨터 2에서 메일 서버 2로 세션 종료 통지
ping
명령
- 목적지 컴퓨터와의 통신을 확인하기 위해 이용
- 목적지 컴퓨터에 ICMP 패킷을 전송하고, 패킷에 대한 응답이 제대로 오는지 확인하는 명령
- ICMP: Internet Control Message Protocol
ping
명령이 정상적으로 실행되면 네트워크 연결이 정상적이라고 판단
This post is licensed under CC BY 4.0 by the author.