[Network] Chapter 7. 응용 계층 : 애플리케이션에 데이터 전송하기
Table of Contents
모두의 네트워크 책을 읽고 공부한 노트입니다.
응용 계층의 역할 #
- 응용 계층
- 애플리케이션과 데이터를 주고받기 위해 서비스를 제공하는 계층이다.
- 클라이언트의 요청을 서버에 전달하기 위해서, 서버가 이해할 수 있는 데이터로 변환한 후 전송 계층으로 전달하는 역할을 한다.
- 클라이언트 측 애플리케이션이 서버 측 애플리케이션과 서로 통신하려면 응용 계층의 프로토콜이 필요하다.
프로토콜 내용 HTTP 웹 사이트 접속 DNS 이름 해석 FTP 파일 전송 SMTP 파일 수신 POP3 메일 수신
웹 서버의 구조(웹 사이트 접속) #
- HTML(HyperText Markup Language)
- 웹 페이지에서 문장 구조나 문자를 꾸미는 태그를 사용하여 작성하는 마크업 언어이다.
- HTML로 작성하면 웹 브라우저로 볼 수 있다.
- HTTP(HyperText Transfer Protocol)
- 웹 서비스에서 클라이언트(웹 브라우저)와 웹 서버 간에 정보를 주고받기 위해 사용되는 네트워크 프로토콜이다.
- 클라이언트(웹 브라우저)는 웹 사이트를 보기 위해서 서버(웹 서버 프로그램)의 80번 포트를 사용해서 HTTP 통신을 한다.
- 클라이언트가 데이터를 요청할 때는
GET
이라고 하는 요청 정보, 파일 이름, 버전 등을 서버에 전송한다. (HTTP 요청) - 그러면 서버는 응답으로 요청을 정상적으로 처리했다는
OK
라는 정보를 반환하고 html을 보낸다. (HTTP 응답)
- HTTP 버전
HTTP/1.0
- HTTP 요청을 보내고 HTTP 응답을 받은 후에는 연결을 끊는 작업을 반복했다.
HTTP/1.1
- keepalive 라는 기능이 추가되서 연결을 한 번 수립하면 데이터 교확을 마칠 때까지 유지하였다.
HTTP/2.0
- 요청과 응답을 순서대로 응답하지 않아도 되어서 콘텐츠를 빠르게 표시할 수 있게 되었다.
DNS 서버의 구조(이름 해석) #
- DNS(Domain Name System)
- 사람이 읽을 수 있는 도메인 이름(URL)을 IP 주소로 변환해주는 서비스(시스템)이다.
- 이것을 이름 해석(name resolution)이라고 한다.
- 53번 포트를 사용한다.
Image Source
- DNS 서버는 전 세계에 흩어져 있고 모두 계층적으로 연결되어 있다.
- 그래서 어떤 DNS 서버가 해당 도메인의 IP 주소를 모르면 다음 DNS 서버에 요청한다.
메일 서버의 구조(SMTP와 POP3) #
- SMTP(Simple Mail Transfer Protocol)
- 이메일을 전송할 때 사용하는 프로토콜이다.
- 클라이언트가 작성한 메일을 서버로 전송할 때나, 서버 간 메일을 전송할 때 사용한다.
- 25번 포트를 사용한다.
- POP3(Post Office Protocol 3)
- 이메일을 수신할 때 사용하는 프로토콜이다.
- 이메일 서버에 도착한 메일을 메일 박스(메일 서버에 있는, 메일을 보관하는 곳)에서 클라이언트로 가져올 때 사용한다. 사용자 인증이 필요하다.
- 110번 포트를 사용한다.
- ping(Packet INternet Groper) 명령
- ICMP(Internet Control Message Protocol)라는 프로토콜을 사용해서, 목적지에 ICMP 패킷을 보내고, 패킷에 대한 응답이 제대로 오는지 확인하는 명령이다.
- 대상 컴퓨터 동작 여부 혹은 네트워크 상태를 파악할 수 있다.
ping 목적지 IP 주소 혹은 목적지 도메인 이름