프로토콜?
프로토콜은 통신을 위한 약속을 말한다.
사람도 대화를 할 때 명시적으로 말을 하지 않아도 서로 알고 있는 언어를 사용해 소통하듯, 컴퓨터도 통신하기 위해 미리 정해둔 약속이 있다. 그것이 바로 프로토콜이다.
사람들도 대화를 할 때 사용하는 언어가 한국어, 영어, 불어, 러시아어 등으로 다양하듯 프로토콜도 종류가 많다.
TCP, HTTP, FTP 등이 대표적인 예이다.
HTTP
Hyper Text Transfer Protocol
인터넷 상에서 데이터를 주고 받기 위한 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜
주로 HTML 문서를 주고 받는데 쓰이며 HTTP를 따르는 브라우저로부터 요청을 받으면, HTTP 응답으로 응답한다.
웹 브라우저를 이용해 통신하지만, 이외에도 특정 프로그램을 이용해 통신할 수 있다.
HTTP의 단점은 인터넷 상에서 통신한 패킷을 보면 평문이 그대로 노출되어 보안에 취약한 점이다.
+) HTTPS는 HTTP 프로토콜의 보안이 강화된 버전이다.
HTTP에 대해 더 알고 싶다면 참고하면 좋을 사이트
medium.com/@rachid1982fsb/what-is-http-5b01392678d5
FTP
File Transfer Protocol
인터넷 상에서 파일을 주고 받기 위한 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜
원래 FTP는 네트워크에 연결된 컴퓨터끼리 데이터를 원활하게 교환하기 위한 목적으로 개발되었는데, 연결에 따라 제어연결과 데이터 연결로 구분할 수 있다.
제어 연결
클라이언트에서 서버로 명령과 서버의 응답을 위한 연결을 의미
데이터 연결
파일이 전송 될 때 생성되는 데이터 연결을 의미
FTP도 HTTP와 마찬가지로 보안에 취약하다는 단점이 있다.
+)FTPS는 FTP 프로토콜의 보안이 강화된 버전이다.
TELNET
인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜
TELNET은 양방향 대화형 통신기능을 제공하기 위해 사용할 수 있다.
또한 TELNET을 사용하면 네트워크의 다른 컴퓨터에 로그인할 수 있다.
그렇지만 HTTP, FTP과 마찬가지로 보안에 취약하다는 단점이 있다.
+)SSH는 TELNET 프로토콜보다 보안이 강화된 프로토콜이다.
TELNET에 대해 더 알고 싶다면 참고하면 좋을 사이트
www.educba.com/what-is-telnet/
www.servercake.blog/what-is-telnet/
SSL
Secure Socket Layer
기존 프로토콜에 통신 보안을 제공하기 위해 설계된 프로토콜
인터넷과 같이 TCP/IP 네트워크를 사용하는 통신에 적용된다.
위에 잠깐 나타났던 HTTPS, FTPS, SSH는 SSL과 같은 보안 프로토콜이 결합되어 보안이 강화된 프로토콜들이다.
TLS
Transport Layer Security
SSL 3.0을 기초로 해서 만든 프로토콜로 SSL과 거의 동일한 프로토콜이다.
SSL(TLS)의 3단계 기본 절차
1. 지원 가능한 알고리즘 서로 교환
2. 키 교환 및 인증
3. 대칭키 암호로 암호화하고 메시지 인증
SSL(TLS)의 원리
- 연결지향 통신을 위한 3-HandShake를 수행한다.
3-HandShake는 다음 과정과 같다.
1. 연결 수행하기 위해 서버에 SYN 패킷 전송 (SYN 패킷은 접속을 요청한다는 패킷)
2. 서버가 연결이 가능하다면 SYN/ACK 패킷 전송 (서버는 연결이 가능할 시에만 응답을 줄 수 있음)
3. 서버로부터 SYN/ACK 패킷을 받았다면, ACK 패킷을 보내 연결을 완전 수행
(ACK 패킷은 연결이 가능하다라는 응답을 들었다는 패킷)
- SSL, TLS 암호화 통신 과정
아래 그림을 참고해서 이해하면 좋을 것 같다.
SSL/TLS에 대해 더 알고 싶다면 참고하면 좋을 사이트
wiki.gurubee.net/display/SWDEV/SSL+%28TLS%29
SECURE PROTOCOL
안전한 프로토콜은 안전하지 않은 프로토콜과 SSL/TLS를 결합한 프로토콜들이 있다.
참고) raonctf.com/essential/study/web/what_is_protocol
'Network' 카테고리의 다른 글
[Network 개념] SMB, DNS, ARP, ICMP (0) | 2021.01.27 |
---|---|
[Network 개념] TCP/IP (0) | 2021.01.25 |
[Network 개념] OSI 7 layer 참조 모델 (0) | 2021.01.19 |
[Network 개념] 네트워크란? (0) | 2021.01.18 |
댓글