"데이터 통신 규약"으로
각각의 프로그램, DB, 파일 서비스 등을 가지고 있는
컴퓨터 네트워크가 데이터를 주고 받기 위해 지켜야 하는 약속을 공식화 한 것
형식(syntax)
데이터를 어떻게 구성할 것인가?
어떻게 해석할 것인가?
의미(semeantic)
데이터를 어떻게 제어할 것인가?
오류는 어떻게 처리할 것인가?
순서(timing)
통신하는 속도와 속도의 조절,
데이터 전송의 순서 관리
7계층 | 응용 계층 | DNS / TELNET / SSH / SMTP / POP3 / IMAP / FTP / TFTP / HTTP / HTTPS |
5계층 | 세션 계층 | SSL / NETBIOS / RCP / WINSOCK |
4계층 | 전송 계층 | TCP / UDP |
3계층 | 네트워크 계층 | IP / ICMP / IGMP / ARP / RARP |
2계층 | 데이터링크 계층 | HDLC / PPP / ETHERNET /WiFi |
1계층 | 물리계층 계층 | RS-232 / X.25 / X.21 |
SSH (port : 22) | TELNET (port : 23) | |
개념 | Telnet 응용 프로그램으로 보안 버전의 프로그램 | 원격 접속 서비스, 인터넷 표준 프로토콜 |
정보 | DES, RSA 등 고급 암호화를 통해 통신 | byte 스트림 형식으로 통신 |
환경 | Telnet에 비하여 정보 노출 위험이 적음 | 정보 노출 위험이 큼 |
데이터의 크기 |
암호화 때문에 Telnet에 비하여 트래픽이 크게 늘어나지 않음 약간의 부하가 더 생길 수 있음 |
SSH에 비하여 트래픽이 크게 늘어날 수 있음 |
- SSH는 암호화된 문자를 이용하여 통신 TELNET은 평문으로 통신하기 때문에
과거에는 TELNET이 많이 사용되었으나 평문으로 통신하기때문에 보안에 취약한 문제가 있어
현재는 암호화된 문자를 이용하는 SSH로 대체됨
메일의 송수진 과정은 위 그림과 같은데 말로 풀이하자면
1) A라는 사용자는 평상시에 아웃룩(클라이언트)을 이용하여 메일을 보내고 클라이언트에만 메일을 저장 (POP3)하여 사용하고 있습니다.
A는 아웃룩(클라이언트를) 이용하여 b(b@메일서버 2)에게 메일을 보냅니다. (SMTP)
2) 메일 서버 1은 A가 보낸 메일을 받아 메일 서버 2로 전송합니다. (SMTP)
3) 메일 서버 2에서는 메일 서버 1에서 A가 보내온 메일을 수신합니다. (SMTP)
4) B라는 사용자도 아웃룩(클라이언트)을 이용하고 있고 서버와 클라이언트에 메일을 모두 저장(IMAP)하고 있습니다.
클라이언트에서 설정에 따라 메일을 동기화하여 A(A@메일서버 1)가 보내온 메일을 확인할 수 있습니다.
메일전송시 사용했던 각 프로토콜의 특징은 아래의 표와 같습니다.
SMTP(Port 25) | POP3(Port 110) | IMAP(port 143) |
Simple Mail Transfer Protocol | Post Office Protocol 3 | Internet Message Access Protocol |
메일 송신 프로토콜 | 메일 수신 프로토콜 | 메일 수신 프로토콜 |
이메일 클라이언트 송신 시 사용 |
메일 서버의 사서함에서 클라이언트로 메일을 직접 다운로드 |
POP3에 없는 동기화 방식 사용 |
메일 서버 간 송신 시 사용 | 다운로드 시 메일 헤더와 첨부파일을 포함한 본문 전체를 다운로드 |
메일 수신 시 삭제되지 않고 여러 디바이스에서 메일 확인 가능 |
다운로드가 된 메일은 메일 서버 사서함에서 삭제 하는 기능이 기본 설정 |
동기화 시 트래픽을 줄이기 위해 메일 헤더만 우선 다운로드 |
|
수신 후 서버에서 삭제하지 않게 설정 가능 | 메일 접근 시 본문을 다운로드 하는 방식 사용 |
- 보안쪽에 좀 더 초점이 맞춰진다면 POP3
동기화나 메일서버의 부하의 초점이 맞춰진다면 IMAP를 사용하는것이 좋음
FTP | TFTP | |
약어 | File Transfer Protocol (파일 전송 프로토콜) |
Trivial File Transfer Protocol (간단한 파일 전송 프로토콜) |
인증 | 클라이언트와 서버 간의 통신을 위해 인증이 필요 |
인증이 필요 없음 |
서비스 | 연결형 서비스인 TCP 서비스를 사용 | 비연결형 서비스인 UDP 서비스를 사용 |
소프트웨어 | TFTP 소프트웨어보다 큼 | FTP 소프트웨어보다 작고 디스크 없는 워크 스테이션의 읽기 전용 메모리에 맞음 |
연결 | 데이터 연결(TCP 포트 20번) 제어 연결(TCP 포트 21번) |
파일 전송을 위한 단일 연결을 설정(UDP 포트 69번) |
명령 / 메시지 | 많은 명령어가 있음 | 5개의 메시지만 있음 |
복잡성 | TFTP에 비해서 굉장히 복잡함 | FTP에 비해서 덜 복잡함 |
- FTP의 보안의 취약성을 보안하기위해 현재는 SFTP를 이용하고 있으며,
SFTP (SSH File Transfer Protocol)란?
SSH로 파일 전송하는 프로토콜
SFTP 는 FTP를 사용하지 않음 (SSH 기반의 새로운 파일전송 프로토콜)
22번포트만 사용 (보안에 유리함)
HTTP | HTTPS | |
약어 | Hyper Text Transfer Protocol (서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜) |
Hyper Text Transfer Protocol Secure (HTTP에 데이터 암호화가 추가된 프로토콜) |
포트번호 | 80 포트 | 443 포트 |
보안 | 암호화가 추가되지 않았기 때문에 보안에 취약함 |
안전하게 데이터를 주고 받을 수 있음 |
속도 | 속도가 굉장히 빠름 | 암호화/ 복호화 과정으로 인해 HTTP에 비하여 속도가 느림 |
비용 | 추가비용이 없음 | 인증서를 발급하고 유지하기 위해서 추가비용이 발생 |
데이터 처리 용도 |
단순한 정보 조회 용도 | 개인 정보와 같은 민감한 데이터 처리 용도 |
- HTTP의 HTTPS 큰차이는 암호화를 하였는가 하지 않았는가로
노출이 되어도 괜찮은 단순 정보 조회만을 처리한다면 HTTP사용하고
개인정보나 금융정보 같은 민감한 데이터를 처리해야 한다면 HTTPS를 사용하는 것이 좋다고 생각됩니다.
[리팩토링_7주차] DDoS, Firewall, IDS 와 IPS (0) | 2023.03.03 |
---|---|
[리팩토링_6주차] 계층별 프로토콜(2) (0) | 2023.03.03 |
[리팩토링_5주차] OSI 계층별 장비 (0) | 2023.01.30 |
[리팩토링_4주차] TCP&UDP (0) | 2023.01.30 |
[리팩토링_3주차] OSI 7 Layer (0) | 2023.01.04 |