개념 정리/CS
네트워크 : 응용계층 : 애플리케이션에 데이터 전송하기
매진2
2023. 11. 20. 15:57
728x90
1. 응용 계층의 역할
a. 응용 계층의 역할
a-1. 웹페이지 볼때는 웹 브라우저, 메일보내고 받을때는 메일프로그램 사용
- 애플리케이션 : 서비스를 요청하는 측에서 사용하는 애플리케이션으로 분류 가능
- 서비스 : 네트워크나 애플리케이션이 제공하는 기능이나 동작, 정보 등
- 서비스를 요청하는 측 : 클라이언트
- 서비스를 제공하는 측 : 서버
- 서버에서는 웹서버 프로그램과 메일 서버 프로그램등이 있고 이런 애플리케이션은 응용계층에서 동작
a-2. 응용계층
- 응용계층 = 세션계층 + 표현계층
- 응용계층 : 애플리계이션과 데이터를 주고받기 위해 필요
- 응용 계층에서는 사용자 측의 요청을 전달하기 위해 통신 대상이 이해할 수 있는 메세지로 변환하고 전송 계층으로 전달하는 역할
- OSI 모델의 최상위 계층으로 다양하게 존재하는 응용 환경에서 공통적으로 필요한 기능 다룸
- 시스템 간의 응용 처리는 상호 간에 통신하면서 일련의 업무를 처리할 수 있도록 필요한 서비스 기능 제공
- 이메일, 파일 전송, 웹 사이트 조회 등 애플리케이션에 대한 서비스 제공하는 계층
a-3. 클라이언트 측 애플리케이션이 서버 측 애플리케이션과 통신하려면 응용계층의 프로토콜 사용해야함
- HTTP (HyperText Transfer Protocol) : 웹사이트를 접속
- FTP(File Transfer Protocol) : 파일 전송
- 일반적으로 통신 포트트 제어용도로 21번, 데이터 전송용도로 20번
- SMTP(Simple Mail Transfer Protocol) : 메일 송신
- 일반적으로 25번 포트 사용
- SMTP 서버 : SMTP 지원하는 서버
- POP3(Post Office Protocol version) : 메일 수신
- 일반적으로 110번 사용
- POP3 서버 : POP3 지원하는 서버
- DNS(Domain Name System) : 이름 해석
- 이름 해석 : 네트워크에서 컴퓨터나 네트워크 장비에 붙여진 이름을 기반으로 IP 주소를 알아내는 것
a-4. OSI 모델의 계층에서 사용되는 프로토콜과 기술
응용계층 | HTTP | DNS | FTP | SMTP | POP3 | 기타 프로토콜 |
전송계층 | TCP | UDP | ||||
네트워크 계층 | IP 등 | |||||
데이터 링크 계층 | 이더넷 | |||||
물리 계층 | 전기 신호 변환 |
2. 웹 서버의 구조(웹 사이트 접속)
a. WWW란?
a-1. WWW(World Wide Web)=W3=웹(Web)
- WWW : 거대한 통신망인 인터넷은 수많은 사이트, 데이터, 정보를 갖고 있으며 통신 회선이 거미줄처럼 서로 연결되어 있어 언제 어디서든 필요한 곳에 접근하거나 정보를 공유하고 주고 받을 수 있는 멀티미디어 인터넷 서버
a-2. WWW에는 HTML, URL, HTTP 라는 기술 사용
HTML
- HTML : 웹 페이지에서 문장 구조나 문자를 꾸미는 태그를 사용해 작성하는 마크업 언어
- 인터넷 서비스의 하나인 WWW를 통해 볼 수 있는 문서를 만들 때 사용하는 프로그래밍 언어
- 제목이나 목록과 같은 문장 구조 지정, 이미지 파일 보여줄 때 태그 사용
- HTML로 작성된 웹 페이지는 웹 브라우저로 볼 수 있음
- 하이퍼 텍스트 작성하기 위해 개발
- 하이퍼 텍스트 : 문자와 이미지를 표시하거나 하이퍼 링크 사용 가능
- 하이퍼 링크 = 링크 : 웹사이트에서 아이콘이나 버튼 등에 있는 링크를 클릭하면 다른 사이트로 이동
- html 파일 : 웹에서 문서를 작성할 때 사용되는 마크업 언어인 HTML로 작성된 파일
URL
- URL (Uniform Resource Locator) : 인터넷에서 파일 위치 지정하기 위해 기술된 주소
- 웹 사이트 주소 지정위해 사용
b. HTTP란?
b-1. HTTP
- HTTP : 웹 서비스에서 클라이언트와 웹 서버 간에 정보를 주고받기 위해 사용되는 네트워크 프로토콜
- 클라이언트는 웹 사이트를 보기 위해 서버의 80번 포트를 사용하여 HTTP 통신
- 클라이언트에서 HTTP요청을 보내고 서버에서 HTTP 응답 반환
b-2. 요청과 응답
- GET : 클라이언트가 데이터 요청 시 요청 정보, 파일이름, 버전 등을 서버에 전송
- 서버는 응답으로 요청을 정상적으로 처리했다는 OK 라는 정보 반환 및 index.html을 클라이언트에게 전송
- 요청 : 데이터나 작업 처리를 요청하는 메시지
- 응답 : 상대에게 보낸 데이터나 처리 요청에 대한 응답
b-3. 현재는 HTTP/2나 HTTP/1.1 버전 사용
HTTP/1.0 버전
- 예전 HTTP/1.0 버전에서는 요청을 보낼 때마다 연결했다 끊는 작업 반복해 웹페이지가 느리게 보였음
HTTP/1.1 버전
- HTTP/1.1 버전에서는 keepalive 기능 추가
- keepalive : 연결을 한번 수립하면 데이터 교환을 마칠 때까지 유지하고 데이터 교환을 모두 끝내면 연결을 끊는 구조
- keepalive는 요청도 순서대로 처리하는 특징이 있어 첫번째 요청에 대해 첫번째 응답 하고 두번째 요청에 대해 두번째 응답 반환
- 이전 요청 처리 시간이 길어지면 다음 요청에 대한 처리 늦어짐
HTTP/2 버전
- 빠르게 콘텐츠 표시할 수 있는 프로토콜
- 요청을 보낸 순서대로 응답을 반환하지 않아도 돼서 콘텐츠 빠르게 표시 가능
3. DNS서버의 구조(이름 해석)
a. 도메인 이름이란?
a-1. DNS
- DNS : 응용계층에서 이름 해석을 통해 도메인 이름을 IP 주소로 변환하는 역할
- DNS : URL을 IP 주소로 변환하는 서비스(시스템)
- DNS의 이름 해석 : IP 주소가 아닌 www.github.co.kr과 같은 주소를 사용해 접속하도록 돕는 것
- DNS 서버 : DNS 서비스가 동작하는 컴퓨터(서버)
- www.github.co.kr에 접속하면 DNS 서버가 이 웹사이트의 서버 IP 주소를 알려주는 것
a-2. 도메인 이름과 호스트 이름
- 도메인 이름 : 컴퓨터나 네트워크를 식별하기 위해 붙여진 이름
- ex) github.co.kr
- 호스트 이름 =서버이름
- 도메인 이름 앞의 www
a-3. DNS 서버는 전세계에 흩어져있고 모두 계층적으로 연결
- 처음에는 웹사이트의 IP 주소를 모르기 때문에 먼저 DNS 서버에 요청해 IP 주소를 확인하고 웹 서버에 접속
- 요청한 첫번째 DNS 서버가 도메인의 IP 주소를 모르는 경우에는 DNS서버 1이 DNS 서버 2에 요청
4. 메일 서버의 구조(SMTP와 POP3)
a. 메일의 송수신 구조
a-1. 클라이언트 측의 메일 프로그램과 서버 측의 메일 서버 프로그램 간에 통신할 때 사용되는 프로토콜은 2가지
- SMTP : 메일 송신, 포트번호 25번
- 메일 서버 간의 메일전송에도 SMTP 이용
- POP3 : 메일 수신, 포트번호 110번
a-2. 송수신 구조
- 컴퓨터 1의 사용자는 메일 서버1 사용
- 메일 서비스를 제공하는 포털사이트나 회사의 메일 서버를 사용하는 경우가 많음
- 포털사이트에 가입하거나 회사에서 메일 주소 받으면 메일 서버 사용
- 메일 보낼때는 메일 서비스를 제공하는 포털 사이트나 회사의 메일 서버에 메일 보내는 것
- 그 서버가 여기서는 메일 서버 1
- 컴퓨터 1에서 사용하는 메일 프로그램에 메일 서비스를 제공하는 메일 서버의 호스트이름(서버 이름) 설정 시 메일 서버 1 로 메일 전송 가능
b. SMTP에 의한 메일 송신과 메일 전송
- 컴퓨터 1의 메일 프로그램은 SMTP 사용해 메일 서버 1로 메일 전송
- SMTP 사용해 메일 서버 1에서 메일 서버2로 메일 전송
c. POP3에 의한 메일 수신
c-1. 메일박스와 사용자 인증
- 메일 서버 2는 POP3을 사용해 메일 서버 2의 메일 박스에서 메일 가져와 컴퓨터 2로 전송
- 메일 박스 : 메일 서버에 있는 메일 보관 기능
- 메일 서버 2에 컴퓨터 1의 메일이 도착하면 컴퓨터 2는 메일 서버2의 메일 박스에 있는 메일을 받아가야하지만 메일을 수신할 땐 사용자 이름과 비밀번호를 이용한 사용자 인증 필요
- 사용자 인증 : 시스템에 접근하려는 사용자가 올바른 사용자인지 판별하는 것
c-2. POP3에 의한 메일 수신 과정
- 세션 시작
- 컴퓨터 2에서 받는 사람의 사용자 이름 통지하고 메일 서버2에 OK라는 확인 응답 반환
- 컴퓨터 2에서 수신자의 비밀번호를 통지하고 메일 서버 2에 비밀번호 확인이라는 확인 응답 반환
- 컴퓨터2에서 자시느이 메일이 있는지 확인하고 메일 서버 2는 있음이라는 확인 응답 반환
- 컴퓨터 2에서 메일 박스에 보관된 이메일 전송받음
- 세션 종료
c-3. ping 명령
- 목적지 컴퓨터와의 통신을 확인하려면 ping 명령 이용
- ping 명령은 ICMP(Internet Control Message Protocol)라는 프로토콜 사용해 목적지 컴퓨터에 ICMP 패킷 전송해 패킷에 대한 응답이 제대로 오는지 확인하는 명령
- ping 명령이 정상으로 실행되면 네트워크 연결이 정상이라고 판단할 수 있어서 문제 확인할 때 자주 사용
- 윈도에서는 명령 프로프트 이용해 ping 실행 가능
참고자료
모두의 네트워크
728x90