728x90
반응형
28 응용 계층의 역할
응용 계층의 역할
- 응용 계층은 세션 계층과 표현 계층을 표현하는 것으로 간주
- 클라이언트의 요청을 서버가 이해할 수 있는 데이터로 변환하고 전송 계층으로 전달하는 역할 → 애플리케이션과 데이터를 주고받기 위해 필요
- 클라이언트 측의 애플리케이션이 서버 측 애플리케이션과 통신하려면 응용 계층의 프로토콜이 필요
- HTTP - 웹 사이트 접속
- DNS - 이름 해석
- FTP - 파일 전송
- SMTP - 메일 송신
- POP3 - 메일 수신대표적인 프로토콜
29 웹 서버의 구조 (웹 사이트 접속)
WWW
- HTML, URL, HTTP라는 3가지 기술이 사용
- HTML : 하이퍼텍스트를 작성하는 마크업 언어, 태그 사용
- 하이퍼텍스트로는 문자와 이미지를 표시, 하이퍼링크를 사용할 수 있음
HTTP
- 클라이언트는 웹 사이트를 보기 위해 서버의 80번 포트를 사용하여 HTTP 통신을 함
- 클라이언트 → HTTP 요청 → 서버
- 클라이언트 ← HTTP 응답 ← 서버
- 예전 HTTP/1.0 버전에서는 요청을 보낼 때마다 연결, 연결 끊기를 반복 → 웹 페이지가 느린 문제
- 지금은 HTTP/2, HTTP/1.1 버전 사용
- HTTP/1.1 버전에 keepalive 기능 추가
- keepalive
- 연결을 한 번 수립하면 데이터 교환을 마칠 때까지 유지, 데이터 교환이 끈나면 연결을 끊음 → 매번 연결 수립과 끊기를 하지 않아도 됨
- 요청을 순서대로 처리하는 특징
- 1 요청 시 1 응답, 2 요청 시 2 응답 반환 → 이전 요청을 처리하는 데 시간이 길어지면 다음 요청에 대한 처리가 늦어지는 단점
- keepalive
- HTTP/2 버전
- 요청을 보낸 순서대로 응답을 반환하지 않음 → 콘텐츠를 빠르게 표시 가능
- HTTP/1.1 버전에 keepalive 기능 추가
30 DNS 서버의 구조 (이름 해석)
도메인 이름
- 컴퓨터(서버)에는 IP 주소가 있어 인터넷을 통해 웹 서버에 접속하여 웹 사이트를 볼 수 있었음
- 하지만 우리는 IP 주소 대신 URL을 입력하여 웹 페이지 접속
DNS
- URL을 IP 주소로 변환하는 서비스(시스템)
- URL을 이용해 사이트에 접속하도록 하는 것 → 이름 해석 (name resolution)
도메인 이름
- 컴퓨터나 네트워크를 식별하기 위해 붙여진 이름 (ex. www.google.com)
호스트 이름 (서버 이름)
- 도메인 이름 앞에 있는 www
DNS를 이용한 접속 과정
- 웹 브라우저가 www.google.com에 접속하는 경우
- C → www.google.com의 IP 주소를 알려주세요 → DNS 서버
- C ← 해당 URL의 주소는 222.235.64.222 입니다 ← DNS 서버
- C → IP 주소로 웹 서버 접속
- DNS 서버가 도메인의 IP 주소를 모르는 경우
- C → www.google.com의 IP 주소를 알려주세요 → DNS 서버1 → IP 주소 알려주세요 → DNS 서버2
- C ← 222.235.64.222 입니다 ← DNS 서버1 ← 222.235.64.222 입니다 ← DNS 서버2
- C → IP 주소로 웹 서버 접속
- DNS 서버는 전 세계에 흩어져 있고, 계층적으로 연결되어 있다 (서로 연계하며 동작)
31 메일 서버의 구조 (SMTP와 POP3)
메일 송수신 구조
- 클라이언트 측의 메일 프로그램과 서버 측의 메일 서버 프로그램 간 통신 필요
- 사용 프로토콜
- SMTP : 메일 전송 시 사용 (포트번호 25), 메일 서버 간의 메일 전송에도 사용
- POP3 : 메일 수신 시 사용 (포트번호 110)
- 과정
- C1 → SMTP로 메일 전송 → 메일서버1 → SMTP로 메일 전송 → 메일서버2 ↔ POP3로 메일을 가져옴 C2
SMTP에 의한 메일 송신과 메일 전송
- C1과 메일서버1 간의 통신 (각 통지 후 응답 과정 표기 생략)
- C1 → 세션 시작을 통지 → 메일서버1
- C1 → 송신자의 메일 주소 통지 → 메일서버1
- C1 → 목적지의 메일 주소 통지 → 메일서버1
- C1 → 메일 본문 전송을 통지 → 메일서버1
- C1 → 메일 본문 송신 → 메일서버1
- C1 → 세션 종료 통지 → 메일서버1
POP3에 의한 메일 수신
- 메일 박스 : 메일 서버의 메일을 보관해주는 기능
- 메일 서버2는 POP3를 사용하여 메일 서버2의 메일 박스에서 메일을 가져와 C2로 전송
- 메일 수신 시에는 사용자 이름과 비밀번호를 이용한 사용자 인증 필요
- 사용자 인증 흐름
- 메일서버2 ← 세션 시작 통지 ← C2
- 메일서버2 ← 수신자의 사용자 이름 통지 ← C2
- 메일서버2 → ‘OK’ → C2
- 메일서버2 ← 수신자의 비밀번호 통지 ← C2
- 메일서버2 → 비밀번호 확인 → C2
- 메일서버2 ← 메일 확인 ← C2
- 메일서버2 → ‘있음’ → C2
- 메일서버2 ← 메일의 전송 요청 ← C2
- 메일서버2 → 메일 박스에 보관된 이메일 → C2
- 메일서버2 ← 세션 종료 통지 ← C2
- 사용자 인증 흐름
*ping명령
- 목적지 컴퓨터와의 통신을 확인하려면 ping 명령 이용
- ICMP(Internet Control Message Protocol)라는 프로토콜 사용
- 목적지 컴퓨터에 ICMP 패킷 전송 후 패킷에 대한 응답이 제대로 오는지 확인
- ping 명령이 정상으로 실행되면 네트워크 연결이 정상이라고 판단할 수 있으므로 문제 확인 시 자주 사용
ping 목적지 IP 주소
ping 목적지 호스트 이름
728x90
반응형
'CS' 카테고리의 다른 글
[네트워크] 모두의 네트워크 : 무선 랜 이해하기 (0) | 2024.08.11 |
---|---|
[네트워크] 모두의 네트워크 : 전송 계층 - 신뢰할 수 있는 데이터 전송하기 (0) | 2024.08.07 |
[네트워크] 모두의 네트워크 : 네트워크 계층 - 목적지에 데이터 전달하기 (0) | 2024.08.07 |
[네트워크] 모두의 네트워크 : 데이터 링크 계층 - 랜에서 데이터 전송하기 (0) | 2024.08.07 |
[네트워크] 모두의 네트워크 : 물리계층 - 데이터를 전기 신호로 변환하기 (0) | 2024.08.06 |