[CS-network] 모두의 네트워크 - 제 7장(lesson 28~31)

sing sang song·2022년 1월 9일
0

CS-네트워크

목록 보기
7/9
post-thumbnail

Lesson 28

응용계층의 역할

클라이언트 = 서비스를 요청하는 요청하는 측
서버 = 서비스를 제공하는 측

응용계층(세션계층과 표현계층을 포함)
애플리케이션과 데이터를 주고받기 위해서 필요하다.

사용자 측(클라이언트)의 요쳥을 전달하기 위해 통신대상(서버 등)이 이해할 수 있는 메시지(데이터)로 변환하고 전송 계층으로 전달하는 역할을 한다

클라이언트 측 애플리케이션(웹 브라우저, 메일 프로그램 등)이 서버측 애플리케이션(웹 서버 프로그램, 메일 서버 프로그램)과 통신하려면 응용 계층의 프로토콜을 사용해야 한다.

프로토콜내용
HTTP웹사이트접속
DNS이름해석
FTP파일 전송
SMTP메일 송신
POP3메일 수신
HTTP = Hyper Text Transfer
FTP = File Transfer Protocol
SMTP = Simple Mail Protocol
POP3 = Post Office Protocol version
DNS = Domain Name System

Lesson 29

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

1. www란? World Wide Web, 줄여서 웹(web)

www에서는 HTML,URL,HTTP 라는 세가지 기술이 쓰인다.

HTML은 웹페이지에서 문장 구조나 문자를 꾸미는 태그를 사용하여 작성하는 마크업 언어이다.

또한 HTML은 하이퍼텍스트(hypertext)를 작성하는 마크업 언어라고도 한다.

하이퍼텍스트로는 문자와 이미지를 표시하거나 하이퍼링크(hyperlink)를 사용할 수 있다. 하이퍼링크는 보통 링크(Link)라고 부른다.

2. 클라이언트(웹 브라우저)

HTTP란?

클라이언트(웹 브라우저)는 웹 사이트를 보기 위해 서버(웹 서버 프로그램)의 80번 포트를 사용하여 HTTP통신을 한다.

request(요청) = 데이터나 작업처리를 요청하는 메세지
response(응답) = 상대에게 보낸 데이터나 처리 요청에 대한 응답

클라이언트가 데이터를 요청할 때는 "GET"이라고 하는 요청 정보, 파일 이름, 버전 등을 서버에 전송한다. 그러면 서버는 응답으로 요청을 정상적으로 처리했다는 "OK"라는 정보를 반환하고 index,html를 클라이언트에게 보내준다.

html/2 , html/1.1 , html/1.0

http/1.0버전에서는 요청을 보낼때마다 끊는 작업을 반복
-> keepalive 기능추가 -> html/1.1

keepalive는 연결이 한번 수립하면 데이터 교환을 마칠 때까지 유지하고, 데이터 교환을 모두 끝내면 연결을 끊는 구조이다. keepalive는 요청도 순서대로 처리하는 특징이 있어서 이전 요청을 처리하는 데 시간이 길어지면 다음 요청에 대한 처리가 늦어진다.

-> 콘테츠 표시가 늦어지는 걸 방지하기 위해서 요청을 순서대로 반환하지 않는 방법 적용
-> http/2

Lesson 30

DNS서버의 구조

도메인 이름이란?

DNS는 간단히 말하면 URL을 IP주소로 변환하는 서비스(시스템)이다

ip주소가 아닌 http://velog.io와 같은 주소를 사용하여 접속하도록 돕는 것을 DNS의 이름 해석(name resolution)이라고 한다.

웹사이트에 접속하면 DNS서버가 웹사이트 서버의 IP주소를 알려주는 것이다.

URL에는 호스트이름과 도메인 이름이 있다.

웹주소www.github.com
도메인github.com
호스트www

요청받은 DNS 서버가 해당 도메인 이름의 ip주소를 모르는 경우에는 다른 DNS서버에서 질의를 한다.

DNS서버는 전 세계에 흩어져 있고 모두 계층적으로 연결되어 있다.

Lesson 31

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

메일 송수신 구조

메일을 송수신하려면 클라이언트 측의 메일 프로그램과 서버 측의 메일 서버 프로그램 간에 통신을 해야한다. 이 때 프로토콜이 필요하다

프로토콜 이름내용포트번호
SMTP메일을 보내는데 사용25
POP3메일을 받는데 사용110

출처:https://post.naver.com/viewer/postView.naver?volumeNo=26957131&memberNo=2521903

SMTP , POP3 , IMAP

  1. SMTP(Simple Mail Transfer Protocol)
    Simple Mail Transfer Protocol(SMTP)은 이메일을 전송할 때 사용하는 프로토콜입니다. 이메일 송신 프로토콜이 사용되는 경우는 크게 두 가지.
    (1) 클라이언트가 작성한 메일을 서버로 전송할 때
    (2) 인터넷을 통해 서버 간 메일을 전송할 때
    위 그림의 경우 Sunny라는 발신자가 메일 서버(A)에 메일을 보낼 때(1), 그리고 메일 서버(A)가 인터넷을 통해 서버(B)에 메일을 전달할 때(2) 발신 프로토콜인 SMTP를 사용한다.

  2. POP3(Post Office Protocol 3)
    Post Office Protocol 3(POP3)은 이메일을 수신할 때 사용하는 프로토콜의 한 종류입니다. 보다 구체적으로는 이메일 서버에 도착한 메일을 클라이언트로 가져올 때 사용됩니다. 현재 통용되고 있는 Post Office 프로토콜의 버전이 세 번째이기 때문에 프로토콜명에 숫자 3을 붙여 POP3라고 부릅니다.
    POP3의 경우 서버의 사서함으로부터 클라이언트 PC로 메일을 직접 다운로드 하는 형식입니다. POP3로 서버로부터 메일을 다운로드 할 때는 헤더 부분(발신자의 정보, 수신 서버의 호스트 주소, 해당 메일의 고유한 식별자와 메일이 수신된 날짜 시간 등의 정보를 담은 메일의 앞머리 부분)과 본문(메일 본문 및 첨부파일을 포함한 실제 메일 내용)을 모두 다운로드합니다. 또한 다운로드와 동시에 사서함에 있는 이메일이 삭제되는 것이 기본적 특징입니다. (다운로드 후에도 서버에서 메일이 삭제되지 않도록 별도로 설정하는 것은 가능) 따라서 POP3 방식을 이메일을 수신한 경우 메일을 다운로드 받은 로컬 PC에만 해당 메일이 남아있게 되어 추가적인 설정을 하지 않는 이상 다른 PC나 모바일 등의 기기로 동일한 이메일을 확인할 수 없고, 별도 설정 없이 로컬 PC에서 메일을 삭제한 경우 서버에서 해당 메일을 확인할 수 없다는 단점이 존재합니다.

  3. IMAP(Internet Message Access Protocol)
    Internet Message Access Protocol(IMAP)은 위에서 설명한 POP3와 마찬가지로 이메일을 수신할 때 사용하는 또 다른 프로토콜의 종류입니다.
    IMAP의 경우 이메일 서버와 동기화되는 방식이기에 스마트폰, 태블릿, PC 등 다양한 클라이언트 장치에서 동일하게 미리 설정한 ‘받은 편지함’, ‘보낸 편지함’ 등을 확인할 수 있다.
    이는 서버에 직접 접속하여 직접 메일을 확인하는 방식이기 때문에 메일 열람 후에도 서버에 이메일이 그대로 남아있어 여러 클라이언트를 통해서도 반복적으로 이메일을 확인할 수 있는 것입니다.
    또한 수신자에게 메일을 보여줄 때 메일의 헤더 부분만 보여주고 수신자가 해당 메일을 클릭해야만 메일 내용과 첨부파일 등의 본문을 다운로드하기 때문에 POP보다 빠른 방법으로 메일을 확인할 수 있습니다.
    ! 하지만 메일을 확인할 때마다 클라이언트와 서버가 통신해야만 하므로 메일 서버의 통신 트래픽을 높이며, 오프라인 상태에서는 메일을 확인할 수 없다는 점과 개인 메일함의 용량이 곧 서버의 용량이기 때문에 주기적인 용량 관리가 필요하다는 점은 단점으로 작용할 수 있습니다.

용량이 큰 메일을 자주 주고받아 주기적인 용량 관리가 필요하고 오프라인 상태에서도 메일 확인이 필요한 경우라면 POP3가 적합하고, 다양한 단말기에서 메일 확인이 필요하거나 불필요한 메일 다운로드 없이 빠르게 필요한 메일만 확인하고자 하는 경우 IMAP를 사용하는 것이 바람직합니다.

메일 서버간에도 SMTP를 사용하여 메일을 전송한다.
메일 서버에는 메일 박스가 있는데 이곳에 메일이 보관되는 것이다.


Reference
책 - [모두의 네트워크]
https://post.naver.com/viewer/postView.naver?volumeNo=26957131&memberNo=2521903

profile
세상을 선명하게

0개의 댓글