응용 계층 / www / HTTP / DNS / FTP / SMTP / POP3 / HTML / URL
1. 응용 계층의 역할
애플리케이션은 서비스를 요청하는 클라이언트 와 서비스를 제공하는 서버로 구분됨
세션계층 + 표현계층 포함
응용계층에서는 사용자 측(클라이언트)의 요청을 전달하기 위해 통신 대상(서버 등)이 이해할 수 있는 메시지(데이터)로 변환하고 전송 계층으로 전달하는 역할
클라이언트 측 애플리케이션이 서버 측 애플리케이션과 통신하려면 응용 계층의 프로토콜을 사용해야 함
대표 프로토콜 : HTTP(웹 사이트 접속), DNS(이름 해석) , FTP(파일 전송), SMTP(메일 송신), POP3(메일 수신)
2. 웹 서버의 구조 ( 웹 사이트 접속 )
2-1. WWW (world wide web)
HTML, URL, HTTP 세 가지 기술이 사용됨
문서와 이미지를 각각 별도로 요청 => 글이 먼저 뜨고 이미지는 나중에 뜨는 이유
2-2. HTTP
클라이언트(웹 브라우저)는 웹 사이트를 보기 위해 서버(웹 서버 프로그램)의 80번 포트를 사용하여 HTTP 통신을 함
클라이언트에서 HTTP요청(request)을 보내고 서버에서 HTTP 응답(response)을 반환
클라이언트가 데이터를 요청할 때는 "GET"이라고 하는 요청 정보, 파일 이름, 버전 등을 서버에 전송.
서버는 응답으로 요청을 정상적으로 처리했다는 "OK" 정보를 반환하고 index.html을 클라이언트에 보냄
*keepalive : 매번 연결 수립과 끊기를 하지 않아도 됨 (매번 요청하고 응답할 때 마다 연결 수립과 끊기를 반복하면 성능이 떨어짐)
3. DNS 서버의 구조
3-1. 도메인 이름
기본적으로 컴퓨터(서버)에는 IP 주소가 있어서 인터넷을 통해 웹 서버에 접속하여 웹 사이트를 볼 수 있음
DNS는 URL을 IP주소로 변환하는 서비스(시스템)
이때 www는 호스트 이름(서버 이름) naver.com은 도메인 이름
도메인의 IP 주소 확인하는 CMD 명령어
nslookup 도메인
만약 DNS 서버1에 해당 IP가 없으면 다른 DNS 서버 2에 요청해서 IP 주소 받아옴
DNS 서버는 전 세계에 흩어져 있고 모두 계층적으로 연결되어 있음
4. 메일 서버의 구조 (SMTP 와 POP3)
4-1. 메일의 송수신 구조
메일을 송수신하려면 클라이언트 측의 메일 프로그램과 서버 측의 메일 서버 프로그램 간에 통신을 해야 함.
SMTP : 메일을 보내는 데 사용되는 프로토콜 , 25번 포트 사용
POP3 : 메일을 받는 데 사용되는 프로토콜 , 110번 포트 사용
컴1에서 사용하는 메일 프로그램에 메일 서비스를 제공하는 메일 서버의 호스트 이름(서버 이름) 설정하면, 메일 서버 1로 메일을 보낼 수 있음
4-2. SMTP에 의한 메일 송신과 메일 전송
컴1의 메일 프로그램은 SMTP를 사용하며 메일 서버 1로 메일을 보냄
STMP를 사용하여 메일 서버 1에서 메일 서버 2로 메일을 전송
4-3. POP3에 의한 메일 수신
메일 서버에는 메일 박스 라고 하는 메일을 보관해주는 기능이 있음
메일 서버 2는 POP3를 사용하여 메일 서버 2의 메일 박스에서 메일을 가져와서 컴2로 전송
메일 서버 2에 컴1의 메일이 도착하면 컴2는 메일 서버 2의 메일 박스에 있는 메일을 받아 가야 하지만, 메일을 수신할 때는 사용자 이름과 비밀번호를 이용한 사용자 인증이 필요함.
ping 명령
목적지 컴퓨터와의 통신을 하기 위한 명령어
ICMP(Internet Control Message Protocol)라는 프로토콜을 사용하여 목적지 컴퓨터에 ICMP 패킷을 전송하고 패킷에 대한 응답이 제대로 오는지 확인하는 명령
ping 명령이 정상으로 실행되면 네트워크 연결이 정상이라고 판단할 수 있음 - 문제 확인용으로 활용 가능
ping 목적지 IP 주소
ping 목적지 호스트 이름
'🏷️CS > Network' 카테고리의 다른 글
[네트워크] 무선 랜 (0) | 2023.07.07 |
---|---|
[네트워크] 네트워크 전체 흐름 (0) | 2023.07.07 |
[네트워크] 전송 계층 : 신뢰할 수 있는 데이터 전송 (0) | 2023.07.07 |
[네트워크] 네트워크 계층 : 목적지에 데이터 전달하기 (0) | 2023.07.02 |
[네트워크] 데이터 링크 계층 : 랜에서 데이터 전송 (0) | 2023.07.02 |