본문으로 바로가기

Application Layer (TCP/IP)

category MLOps/Network 2022. 1. 5. 18:58

TCP/IP

4. Application

3. Transport

2. Internet

1. Network Interface


Application Layer

- 사용자에게 체감할 수 있는 서비스 제공

- transport 이하의 계층을 제외한 모든 영역이 해당

 

종류

프로토콜 동작 방식
HTTP 웹 페이지 데이터
POP, SMTP, IMAP 메일 송수신 & 보관
SMB, AFP LAN 안에서 파일 공유
FTP 서버를 통해 파일 송수신
SSH, Telnet 원격에서 서버 제어
프로토콜 동작 방식
DNS 도메인과 IP 주소 정보를 서로 변환할 때 사용
DHCP LAN 내의 컴퓨터에게 IP 주소 할당할 때 사용
SSL/TLS 통신 데이터를 암호화하여 주요 정보를 주고 받을 때 사용
NTP 네트워크에 연결된 장비들의 시스템 시간을 동기화할 때 사용
LDAP 네트워크에 연결된 자원의 통합관리에 필요한 디렉터리 서비스 제공할 때 사용

HyperText Transfer Protocol (HTTP)

- 웹 브라우저가 웹 서버로 웹 페이지를 요청하면 웹 서버가 해당 페이지의 내용을 HTML 형식으로 응답

- HTTP Message: 요청 (request), 응답 (reponse)

- stateless (무상태 프로토콜): 정보를 주고 받은 후 통신을 끊음

 

1. HTTP 요청과 URL

- 요청을 보낼 때, URL (Uniform Resource Locator) 문자열 사용

ex) http://www.sample.co.kr/sample/index.html

- [요청 정보 행 / 헤더]가 포함되는데 GET 요청인 경우 별도의 요청 내용인 메시지 바디가 없음

 

2. HTTP 응답과 상태 코드

- 응답에는 첫 번째 행에 요청에 대한 응답 상태를 시하기 위한 상태 코드가 포함 ex) 200, 404

- [응답 정보 행 / 헤더 / 메시지 바디]

 

3. GET / POST 방식

- HTML 요청을 보낼 때 GET 방식과 POST 방식의 두 종류를 많이 사용

- GET: 입력 폼의 내용이 요청 행에 포함 -> 결과 웹 페이지의 URL의 '?' 문자 뒤에 입력 폼의 내용이 붙음

- POST: 입력 폼의 내용이 메시지 바디에 포함 -> 정보를 저장하거나 변경할 때 사용 (상대적으로 많은 데이터 전송 가능)

- POST 방식도 전송한 메시지를 해석하면 내용이 노출되어 보안상 안전하지 않음

 

4. Asynchronous JavaScript and XML (AJAX)

- HTTP 메시지로 통신하지만 서버에 요청을 보내는 주체가 브라우저가 아닌 자바스크립트

- 자바스크립트가 웹 페이지의 특정 부분에만 응답받은 내용이 갱신되도록 처리함


Cookie

- HTTP는 stateless이기 때문에 여러 건의 요청 처리를 동일한 사용자 접속 세션 (session)을 유지할 수 있도록 쿠키를 사용

- 웹 브라우저는 응답받은 메시지에 'Set-Cookie:' 문자열을 확인하고 있으면 로컬 디스크에 cookie 형태로 저장

- 보안을 위해 동일한 사용자인지 확인하기 위한 session ID 등의 식별 정보만 클라이언트에 쿠키로 저장하도록 제한


Simple Mail Transfer Protocol (SMTP) & Post Office Protocol (POP)

- 발신자는 SMTP를 사용하여 메일 서버로 메일을 보내고 수신자는 POP를 사용해서 메일 서버로부터 자신의 메일을 받아옴

 

1. SMTP의 동작 방식

- Stateful 프로토콜이기 때문에 전송 종료 명령이 보내져야 통신이 종료됨

- 메일 서버 간에도 SMTP가 사용됨

- SMTP Auth: 사용자 인증 기능이 추가된 확장 프로토콜

 

2. POP의 동작 방식

- POP 프로토콜을 사용해 수신자의 메일 서버에 저장된 메일을 확인하거나 삭제

 

3. IMAP

- IMAP 프로토콜은 클라이언트 PC가 메일을 수신하더라도 메일 서버에서 수신한 메일을 지우지 않고 보관


File Transfer Protocol (FTP)

- 파일 전송 프로토콜로 LAN과는 달리 주로 인터넷에 연결된 서버에 파일을 전송할 때 사용

- 파일을 주고 받기 위한 data connection, 명령어를 보내기 위한 control connection의 2가지 접속 형태 사용

-> 접속 형태가 분리되어 전송 중에도 명령을 줄 수 있어서 전송 중인 파일 중단 가능

'MLOps > Network' 카테고리의 다른 글

Network Interface Layer (TCP/IP)  (0) 2022.01.07
Internet Layer (TCP/IP)  (0) 2022.01.06
Transport Layer (TCP/IP)  (0) 2022.01.06
컴퓨터 네트워크  (0) 2022.01.04