목표
응용 계층의 역할을 이해한다
웹 서버의 구조를 이해한다
DNS의 이름 해석 구조를 이해한다
메일의 송수신 구조를 이해한다
응용 계층
사용자와 직접 상호작용하는 인터페이스를 제공하는 계층입니다. 이 계층은 전자메일, 웹 브라우저, 파일 전송 프로토콜 (FTP) 등과 같은 응용 프로그램을 지원합니다. 응용 계층은 사용자 데이터를 전송하기 위해 하위 계층들을 사용하고, 이 데이터를 인코딩하거나 디코딩하고, 전송을 관리하는 등의 역할을 수행합니다. 이 계층은 최종 사용자에게 가장 가까운 계층으로, 사용자가 네트워크에 접속하여 데이터를 전송하고 수신하는 데 필수적인 역할을 합니다.
이름해석(Name Resolution)
컴퓨터 네트워크에서 도메인 이름 등과 같은 이름을 기반으로 해당 이름에 대응하는 IP 주소를 찾는 과정을 말합니다. 이름해석은 주로 인터넷에 연결된 컴퓨터나 기기들이 서로 통신하기 위해 사용됩니다. 대표적인 이름해석 프로토콜로는 DNS(Domain Name System)이 있습니다. DNS는 도메인 이름을 해당 도메인에 대응하는 IP 주소로 변환해주는 역할을 합니다.
WWW(World Wide Web)
인터넷 상에서 정보를 공유하고 검색할 수 있는 전 세계적인 정보 공간을 의미합니다. WWW는 HTTP 프로토콜을 사용하여 인터넷에 연결된 컴퓨터들 간에 하이퍼텍스트 문서를 주고 받는 기술입니다. 이 기술을 이용하여 다양한 정보를 제공하고, 전 세계적으로 웹 사이트와 웹 어플리케이션이 활발하게 개발되고 있습니다. (HTTP, HTML, URL 기술을 사용합니다.)
HTTP (Hypertext Transfer Protocol)
웹에서 데이터를 주고받기 위한 통신 규약 중 하나입니다. HTTP는 클라이언트와 서버 간의 요청과 응답으로 이루어지며, 일반적으로 웹 브라우저와 웹 서버 사이의 통신에서 사용됩니다. (80번 포트 사용)
HTML (Hypertext Markup Language)
웹 페이지를 작성하는 데 사용되는 마크업 언어입니다. HTML은 웹 브라우저에서 웹 페이지를 렌더링하는 데 필요한 요소와 구조를 정의합니다. HTML은 일반적으로 웹 개발에서 가장 기본적인 언어로 사용됩니다.
URL (Uniform Resource Locator)
인터넷에서 특정 리소스의 위치를 나타내는 문자열입니다. URL은 프로토콜, 호스트 이름, 포트 번호, 경로 및 파일 이름 등의 정보로 구성됩니다. URL은 웹 브라우저에서 특정 웹 페이지나 파일 등을 찾기 위해 사용됩니다.
HTTP 요청(Request), HTTP 응답(Response)
HTTP 요청(Request)
클라이언트가 서버로부터 리소스(HTML, 이미지, 동영상 등)를 요청할 때 보내는 메시지입니다. 이 메시지는 HTTP 메소드(GET, POST, PUT, DELETE 등)와 함께 특정한 URL, HTTP 버전, 요청 헤더, 요청 본문 등의 정보를 포함합니다.
HTTP 응답(Response)
서버가 클라이언트에게 요청받은 리소스를 제공할 때 보내는 메시지입니다. 이 메시지는 HTTP 버전, 상태 코드, 응답 헤더, 응답 본문 등의 정보를 포함합니다. 상태 코드는 클라이언트가 보낸 요청에 대한 서버의 처리 결과를 나타내며, 예를 들어 200번대 코드는 성공, 400번대 코드는 클라이언트 오류, 500번대 코드는 서버 오류를 나타냅니다.
keepalive
HTTP 프로토콜에서 사용되는 기능으로, 클라이언트와 서버 간의 연결을 유지하고, 다수의요청을하나의연결로처리함으로써, 요청 및 응답 시간을 단축시키는 기술입니다. 클라이언트가 서버에 요청을 보내고, 서버가 응답을 반환한 뒤에도 연결을 끊지 않고 계속해서 연결을 유지합니다. 이를 통해 연결을 재설정하거나 연결 시간을 줄이는 데 필요한 추가적인 데이터를 전송하지 않아도 되므로, 서버의 처리량을 향상시킬 수 있습니다.
DNS(Domain Name System)
인터넷에서 도메인 이름을 IP 주소로 변환하는 시스템을 말합니다. 인터넷에서 컴퓨터나 서버는 IP 주소로 식별됩니다. 하지만 이러한 IP 주소는 숫자로 이루어져 있어서 사람들이 쉽게 기억하고 사용하기 어렵습니다. 이 때문에 DNS는 사용자가 입력한 도메인 이름을 해당하는 IP 주소로 해석하여, 사용자가 쉽게 웹사이트에 접근할 수 있도록 도와줍니다. DNS는 전 세계적으로 분산되어 운영되고 있으며, 인터넷 사용의 원활한 진행을 위해 중요한 역할을 수행합니다.
메일서버(SMTP 포트 25 , POP3 포트 110)
메일 서버는 전자 메일을 보내고 받기 위한 서버입니다. 일반적으로, 메일 서버는 사용자 계정을 관리하고 전자 메일을 수신하며 보내기 위한 프로토콜을 지원합니다.
메일 서버의 구조는 보통 다음과 같습니다.
- 메일 사용자 에이전트 (Mail User Agent, MUA)
전자 메일을 작성하고 읽기 위한 응용 프로그램입니다. 일반적으로, 이메일 클라이언트 소프트웨어인 Microsoft Outlook, Gmail, Apple Mail 등을 사용합니다. - 메일 전송 에이전트 (Mail Transfer Agent, MTA)
메일 서버와 다른 메일 서버 간의 전자 메일을 전송합니다. 이러한 전송은 Simple Mail Transfer Protocol (SMTP)를 사용합니다. - 메일 전달 에이전트 (Mail Delivery Agent, MDA)
전자 메일을 사용자의 계정에 전달하는 데 사용됩니다. 사용자의 계정은 보통 메일박스라고 불리는 곳에 저장됩니다. - 메일 저장소
메일 서버에 저장되는 메일 데이터베이스입니다. 이 메일 저장소는 일반적으로 파일 시스템, 데이터베이스 또는 전용 하드웨어를 사용하여 구현됩니다.
위와 같은 구조를 가지고 메일 서버는 사용자가 전자 메일을 보내고 받을 수 있도록 합니다.
Ping 명령어
네트워크 상태를 확인하기 위한 명령어 중 하나입니다. 이 명령어는 주로 인터넷 연결 상태를 확인하거나, 네트워크 기기 간의 연결 상태를 확인하는 데 사용됩니다.
Ping 명령어는 네트워크 상의 다른 기기나 호스트에 ICMP(Internet Control Message Protocol) 패킷을 보내고, 이에 대한 응답을 확인함으로써 해당 호스트와의 연결 상태를 파악합니다. 이를 통해 호스트가 살아있는지, 패킷이 전송되는 데 얼마나 걸리는지 등을 확인할 수 있습니다.
Ping 명령어는 일반적으로 윈도우나 리눅스 운영체제에서 모두 사용할 수 있으며, 사용 방법은 각 운영체제에 따라 다소 차이가 있을 수 있습니다. 보통은 "ping [호스트명 또는 IP 주소]"와 같은 형식으로 사용됩니다.
'네트워크' 카테고리의 다른 글
무선 랜 이해하기 (1) | 2023.05.02 |
---|---|
네트워크 전체 흐름 살펴보기 (0) | 2023.05.01 |
전송 계층 : 신뢰할 수 있는 데이터 전송하기 - 2 (0) | 2023.04.30 |
전송 계층 : 신뢰할 수 있는 데이터 전송하기 - 1 (0) | 2023.04.29 |
네트워크 계층 : 목적지에 데이터 전달하기 - 2 (0) | 2023.04.29 |