250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

[Network] TCP/IP Application layer(응용 계층) 본문

[Snow-ball]프로그래밍(컴퓨터)/네트워크

[Network] TCP/IP Application layer(응용 계층)

Snow-ball 2023. 5. 8. 20:57
반응형

 

TCP/IP의 최상위 계층인 응용 계층은 OSI 참조 모델의 세션 계층과 표현 계층을 포함한다. 

TCP/IP의 응용 계층은 컴퓨터에서 웹 사이트에 접속할 때 필요한 프로토콜과 프로그램을 가진다. 

우리가 많이 사용하는 응용 계층에서는 에지, 크롬 등의 웹 브라우저와 지메일, 아웃룩 등의 메일 프로그램 등이 사용된다.

 

응용 계층에서는 클라이언트의 요청을 전달하기 위해 서버가 이해할 수 있는 메시지(데이터)로 변환하고 전송 계층으로 전달하는데, 이 때 필요한 것이 프로토콜이다. 

 

그렇기 때문에 클라이언트 프로그램과 서버 프로그램이 통신하려면 응용 계층의 프로토콜을 사용해야만 한다.

 

 

 

 


 

 

 

응용 계층 프로토콜의 종류

응용 계층은 클라이언트의 요청을 서버에 전송할 때 서버가 이해할 수 있는 메시지로 변환하여 전송 계층에 전송한다. 이때 클라이언트의 프로그램(웹 브라우저 등)이 서버 측 프로그램(웹 서버 등)과 통신하려면 프로토콜을 사용해야 한다.

 

응용 계층의 프로토콜은 다양하다. 웹사이트에 접속하기 위한 HTTP, 파일을 전송할 때 필요한 FTP, 이메일을 받을 때 필요한 POP3, 이메일을 보낼 때 필요한 SMTP, 원격 접속에 필요한 TELNET 등이 있다. 이러한 프로토콜은 최종 사용자가 직접 사용할 수 있고, 프로토콜뿐만 아니라 관련 서비스가 응용 계층에 정의되어 있다. 이러한 응용 계층 프로토콜은 TCP/UDP를 통해 유용한 기능을 수행하지만, 일반 사용자들은 TCP/UDP에 직접 접속하지 않고, 응용 계층을 통해 통신 서비스를 사용한다.

 

TCP 응용 계층 프로토콜에는 FTP, HTTP, TELNET, SMTP, POP3, IMAP 등이 있고, UDP 응용 계층 프로토콜에는 DHCP, SNMP 등이 있다. 이러한 프로토콜을 사용하기 위해서는 포트 번호가 있어야 한다.

 

포트(port)란 IP 주소에서 프로그램 상호 구분(프로세서 구분)을 위해 사용하는 번호이다.

포트 번호(port number)는 IP주소가 가리키는 컴퓨터에 접속할 수 있는 통로(채널)를 의미한다.

 

 

 

 


 

 

 

웹 서비스

1989년 유럽물리입자연구소(CERN)의 팀 버너스리(Tim Berners-Lee)가 개발한 WWW(World Wide Web: 웹)는 보편적인 인터넷 서비스로 확대되었다. 인터넷은 전 세계를 하나로 연결해 주는 물리적인 네트워크망으로 TCP/IP에 의해 동작한다. 웹은 TCP/IP 응용계층의 HTTP 프로토콜을 사용하고, HTML(Hyper Text Markup Language) 문서를 전송하여 웹 브라우저에 표시한다. 즉, HTTP는 웹에서 사용되는 메시지(데이터)를 송수신하는 데 사용하는 프로토콜이며, 주로 HTML 문서를 송수신한다.

 

 

 

HTTP 프로토콜 개념 

HTTP(Hyper Text Transfer Protocol)는 간단한 프로토콜로 웹을 사용하는 클라이언트가 사이트 정보를 요청하는 것에 대해 서버가 응답하는 방식으로 작동한다. 즉, 클라이언트는 HTML 파일 등 정보를 얻고 싶은 파일의 URL(Uniform Resouce Locator) 등의 요청 정보를 전송하고, 서버는 해당 정보를 받아 데이터를 반환한다.

 

URL로 사용하는 이유는 해당 정보의 서버에서 데이터를 받기 위해서는 웹 사이트의 주소뿐만 아니라 프로토콜(https, http, sftp, smp 등)을 함께 알아야 받아올 수 있기 때문이다.

 

반환되는 정보는 MIME(Multipurpose Internet Mail Extensions)의 정의에 의한 데이터 속성이나 서버 종류 같은 헤더 정보와 함께 요청받은 데이터를 반환한다. 그러나 서버에서는 특별한 처리를 하지 않고, 해당 데이터(정보)를 받는 클라이언트에서 처리한다. 즉, HTTP는 간단한 프로토콜로, 요청된 데이터에 데이터의 속성(정적 이미지, 텍스트 등) 등을 헤더로 붙여 돌려준다. 

 

HTTP의 4가지 특징이 있다.

1) 무상태(Stateless)와 비연결성(Connectionless): 모든 요청과 응답은 이전의 것들과는 상관없이 독립적으로 이루어진다. 즉, 모든 트랜잭션(transaction)이 단 한번의 응답과 요청 사이클을가지며, 이 사이클이 끝나면 연결이 끊긴다.

2) 따라서 해당 요청에 필요한 모든 정보를 처음부터 보내야 한다.

3) 불특정 다수를 대상으로 하는 서비스에 적합하다.

4) 무상태의 단점을 보완하기 위해 최근에는 쿠키, 세션, 로컬 스토리지 등을 사용하여 이전의 상태를 짧은 기간에서 반영구적으로 기억할 수 있게 할 수도 있다.

 

 

 

HTTP 메시지 형식

 

 

 


 

 

 

HTTPS 프로토콜 개념

HTTPS(HyperText Transfer Protocol Secure Socket Layer)는 HTTP의 보안이 강화된 버전이다. 

HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신 SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화한다. 

HTTPS의 기본 TCP/IP 포트는 443이다. 주소창에서 http:// 대신에 https://를 사용한다.

 

SSL과 TLS의 차이점

SSL은 웹에서의 데이터는 가로채면 누구나 읽을 수 있는 일반 텍스트 형태로 전송되었다. 이러한 문제 때문에 인터넷 통신의 개인정보 보호, 인증, 데이터 무결성을 보장하기 위해 Netscape가 1995년 처음으로 SSL을 개발하였다. SSL(Secure Socket Layer)은 암호화 기반 인터넷 보안 프로토콜이다. 전달되는 모든 데이터를 암호화하고 특정한 유형의 사이버 공격도 차단한다. SSL은 TLS(Transport Layer Security) 암호화의 전신이기도 하다.

 

SSL은 1996년 3.0 이후 업데이트 되지 않았으며, 알려준 취약성이 여러가지 있으므로 보안 전문가들은 SSL 사용 중단을 권장하고 있다고 한다. 그 대안으로 TLS를 언급한다. TLS는 최신 암호화 프로토콜로, SSL 암호화로 혼용해서 부르는 경우가 많다. 실제로 현재 SSL을 인증한 업체 및 제공하는 업체는 사실상 TLS 암호화를 제공하고 있는 것이다.

 

결국 TLS는 SSL의 업데이트 버전이지만, SSL을 개발한 Netscape가 업데이트에 참여하지 않게 되어 소유권 변경을 위해 TLS가 되었다고 한다. 결과적으로 SSL의 이후 업데이트 버전이다. 현재(2023년05월08일) 기준으로 TLS는 1.3버전이다. 

 

 

HTTPS 보안키

대칭키 사용 방법은 암호화와 복호화에 쓰이는 키가 같은 보안 방법이다. 만약 클라이언트와 서버가 대칭키를 통해 통신한다면 클라이언트와 서버가 모두 공유키를 가지고 있어야 한다.

 

공개키 사용 방법은 공개키와 개인키를 함께 사용하는 보안 방법이다. 암호화할 때는 공개키를 사용하고 복호화할 때는 개인키를 사용한다. 클라이언트에서 공개키를 사용해서 암호화한 데이터를 서버에 보내면 서버는 해당 공개키로 암호화된 데이터를 복호화 할 수 있는 개인키로 복호화한다.

 

SSL을 적용하려면 인증서가 필요하다. 인증서는 서비스의 정보와 서버 측의 공개키가 포함되어 있다. 이때 인증서를 발급해주는 기업을 CA(Certificate Authrity)라고 하며 브라우저는 CA 리스트를 미리 가지고 있다. 브라우저는 해당 CA가 리스트에 있는지 확인 한 후에 리스트에 있다면 해당 CA의 공개키를 이용해서 인증서를 복호화 한다.

 

 

 

HTTPS 동작 방식

HTTPS는 대칭키와 공개키를 모두 사용하며 데이터 전송을 위해 대칭키 방식을 사용하고 대칭키를 안전하게 전달하기 위해 공개키를 사용한다.

 

HTTPS 작동 원리의 근간은 TLS 핸드셰이크로 구성되어 있다. TLS 핸드셰이크는 사용자가 HTTPS를 통해 웹 사이트를 탐색하고 브라우저가 처음 해당 웹 사이트의 원본 서버를 쿼리하기 시작할 때마다 발생한다. 다른 통신이 API호출 및 HTTPS를 통한 DNS 쿼리를 포함하는 HTTPS를 사용할 때에도 매번 TLS 핸드셰이크가 발생한다.

 

TLS 핸드셰이크는 TCP 연결이 TCP 핸드셰이크를 통해 열린 후에 발생한다. TLS 핸드셰이크의 정확한 단계는 사용되는 키 교환 알고리즘의 종류와 양측에서 지원하는 암호 모음에 따라 달라진다. RSA 키 교환 알고리즘은 지금은 안전하지 않은 것으로 간주되지만, 1.3 이전 버전의 TLS에서 사용되었다. 

 

 

 

동작 과정

 

 

1) Client hello

- 클라이언트가 서버로 '헬로'메시지를 전송하면서 핸드셰이크를 개시한다. 이 메시지에는 클라이언트(웹 브라우저)가 지원하는 암호화 알고리즘과 SSL 버전이 다르기 때문에 해당 정보를 전송하고, 클라이언트가 생성한 랜덤 데이터를 전송한다.

 

2) Server Hello

- Client hello에 대한 응답으로 서버가 사용할 SSL 버전과 암호화 알고리즘, 서버가 생성한 랜덤 데이터를 전송한다.

 

3) Certificate

- CA로부터 발급받은 인증서를 전송한다. 그러면 클라이언트가 서버의 SSL 인증서를 CA를 통해 검증한다. 이를 통해 서버가 인증서에 명시된 서버인지, 그리고 클라이언트가 상호작용 중인 서버가 실제 해당 도메인의 소유자인지 확인한다.

 

4) Server Key Exchange

- 키 교환에 필요한 정보를 전송한다. 

 

5) Certificate Request

- 서버가 클라이언트를 인증해야 할 때 인증서를 요구하고 이에 대해 클라이언트는 서버에 전송한다.

 

6) Client Key Exchange, Change Cipher Spec

- 1번과 2번 과정에서 생성한 랜덤 데이터를 조합하여 pre master secret key를 생성하여 대칭키로 사용한다.

 

7) Change Cipher Spec

- 클라이언트로부터 전송받은 pre master scret key를 복호화한 후에 master key(대칭키)로 승격 후 보안 파라미터를 적용하거나 변경될 때 보내는 과정이다.

 

 

 


 

 

 

파일 전송 서비스 

파일 전송 서비스는 클라이언트와 서버 사이에 파일 전송을 위한 서비스이다. 파일 전송 서비스에는 FTP, SFTP 등이 있다. FTP(File Transfer Protocol)는 TCP/IP를 통해 파일을 전송하기 위한 프로토콜로 인터넷에서 많은 사람과 파일을 공유하는 가장 일반적인 방법이다. 

 

최근들어 HTTP 프로토콜을 통해 일반 문자를 비롯하여 사진, 음악, 동영상 콘텐츠까지 간편히 이용하고, 클라우드 서비스, 웹 하드 서비스 등으로 파일 전송을 해결하고 있어 FTP 사용은 줄어들고 있다.

 

 

 

FTP 프로토콜

FTP는 웹 서비스와 마찬가지로 FTP 서버와 FTP 클라이언트 간에 접속을 하고, 파일을 전송하는 과정을 거친다. FTP 클라이언트는 FTP 프로그램을 통해 21번 포트를 이용하여 FTP 서버 프로그램에 접속한다. 21번 포트는 파일 전송을 제어하기 위한 신호를 주고받는다. 접속된 후에는 20번 포트를 통해 실제 파일 전송을 한다.

 

 

 

 

FTP의 실제 파일 전송 과정은 능동 모드와 수동 모드 2가지를 지원한다.

 

 

능동 모드(자주 사용되는 모드)

능동 모드(active mode)에서는 파일 전송 시 서버는 20번 포트를 이용한다. 능동 모드의 동작 과정은 다음 순서를 따른다.

1단계: 클라이언트는 FTP 서버의 21번 포트로 접속한 후에 사용할 두 번째 포트를 서버에 알려 준다.

2단계: 서버는 ACK(응답 문자)로 응답한다.

3단계: 서버는 클라이언트가 알려 준 두 번째 포트로 접속한다.

4단계: 클라이언트에서는 ACK로 응답한다.

 

능동 모드는 서버가 클라이언트에 접속을 시도함으로써 클라이언트의 방화벽이나 외부적인 환경요인(공유기 등)에 따라 FTP에 접속할 수 없거나 데이터목록을 받지 못해 에러가 발생할 수 있다. 이를 해결하기 위해 수동 모드를 사용한다.

 

 

 

수동 모드

수동 모드(passive mode)로 파일 전송 시 1024~65535 사이의 랜덤 비특권 포트를 사용한다.

1단계: 클라이언트는 FTP 서버의 21번 포트로 접속한다.

2단계: 서버는 클라이언트가 사용할 두 번째 포트를 알려 준다.

3단계: 클라이언트는 다른 포트를 열어 서버가 알려 준 포트로 접속한다.

4단계: 서버는 ACK로 응답한다.

 

 

 

 

 

SFTP 프로토콜

SFTP(SSH File Transfer Protocol)는 SSH 파일 전송 프로토콜로서 신뢰할 수 있는 데이터 흐름을 통해 파일 접근, 파일 전송, 파일 관리를 제공한다. SSH(Secure Shell)를 기반으로 동작하기 때문에 SSH 버전 2.0의 확장으로 설계되었다.

 

장점은 하나의 연결만 필요하고, 데이터 연결이 필요하지 않아 연결이 안전하게 보호되며, 프로토콜이 제공하는 파일 잠금, 속성 조작, 권한 작업 등의 기능이 포함된다. 

 

단점은 SSH 키의 유효성 검사나 관리가 복잡해지고, 소프트웨어 간 호환성이 문제가 되기도 한다. 또한 서버 간 복사 외에 재귀 디렉토리에 대한 제거 작업을 제공하지 않는다.

 

 

 

 


 

 

 

원격 접속 서비스

원격 접속 서비스는 클라이언트에서 사용 권한을 가진 서버 시스템에 접속하여 작업 할 수 있게 해 주는 서비스이다. 

주로 TELNET, SSH 등이 사용된다.

 

TELNET 프로토콜

TELNET(텔넷)은 TCP/IP에서의 응용 계층 프로토콜 중 하나로 원격지의 컴퓨터를 이용하는 가상 단말 기능을 실현하기 위한 프로토콜이다. 텔넷은 프로토콜이면서 클라이언트 일부 기능이 추가된 소프트웨어로도 사용된다. 

 

텔넷 클라이언트는 주로 유닉스 시스템에서 사용되었지만, 실제 모든 플랫폼에서 사용되고 있다. 텔넷을 사용하기 위해서는 23번 포트 번호를 이용하고, 사용자 아이디와 패스워드를 가지고 있어야 한다.

 

 

TELNET 동작 방식

텔넷은 일종의 터미널 에뮬레이션 프로토콜로 NVT(Network Virtual Terminal)라는 가상 터미널의 개념을 사용한다. 이에 텔넷은 터미널과 호스트와의 일대일 대칭적인 관계를 가진다. 

 

NVT는 텔넷 프로토콜의 가장 기본으로 접속하고자 하는 서버 시스템과 로컬 시스템의 버전이 상이할 경우 데이터 형식이 다르므로 원활한 통신을 위해 데이터를 변환시켜 주는 가상장치이다.

 

프로그램은 Putty, SecureCRT, Xshell 등등 다양하게 존재한다.

 

 

1단계: 클라이언트는 원격 로그인을 통하여 서버 시스템에 TCP 연결을 한다(23번 포트).

2단계: 서버 시스템은 연결된 클라이언트에게 가상의 터미널을 제공한다.

3단계: 클라이언트는 실제 터미널인 것처럼 서버 시스템에 명령어를 실행한다.

4단계: 서버 시스템은 클라이언트의 명령을 수행하여 결과를 다시 클라이언트에게 전송해준다.

 

 

 


 

 

 

 

SSH 프로토콜

SSH(Secure SHel)는 서버(원격지 호스트)에 접속하기 위해 사용되는 인터넷 프로토콜이다. 기존의 유닉스 시스템 셸에 원격 접속하기 위해 사용되던 텔넷은 암호화가 되지않아 탈취됬을 때의 위험이 크므로 암호화를 추가해서 나온것이 SSH이다.

 

SSH는 강력한 인증 방법과 안전하지 못한 네트워크에서 안전하게 통신할 수 있는 기능 등을 제공하며, 23번 포트를 사용한다. 이러한 SSH는 rsh, rcp, rlogin, rexec, telnet, ftp 등의 서비스를 안전하게 사용하도록 제공한다.

 

 

SSH 동작 방식

SSH 작동의 핵심은 키(Key)이다. 클라이언트와 서버는 각각의 키를 보유하고 있으며, 이 키를 이용해 연결 상대를 인증하고 안전하게 데이터를 주고 받는다. 

 

SSH 키는 공개키(public key)와 개인키(private key)로 이루어진다. 일반적으로 서버(SSH Server)에서 키를 생성하면 공개키와 개인키가 만들어지며, 개인키를 서버에 두고 공개키는 클라이언트(SSH 클라이언트)에 두게 된다. 클라이언트가 SSH를 통해 접속을 시도하면 SSH 클라이언트가 자신의 공개키와 서버의 개인키를 비교해서 둘이 일치하는지를 확인한다.

 

(1) 서버 인증 및 세션 키 생성

접속하려는 서버가 올바른 서버인지 검증하고, 이후의 데이터 통신을 안전하게 진행 하기 위한 세션 키를 생성하는 과정이다.

1. 접속 요청을 받은 서버는 클라이언트에게 자신의 공개키를 전송한다.

2. 최초 접속이라면 서버로부터 전달받은 공개키를 로컬에 저장할 것인지 확인한다.

3. 동의한다면 해당 공개키가 클라이언트 측 홈 디렉토리의 .ssh/known_hosts 파일 안에 추가된다.

4. 이후부터는 해당 서버에 접속 요청을 할 때마다 서버에서 전달받은 공개키가 로컬에 저장된 공개키와 같은 것인지 검증하며, 같다면 올바른 서버로 판단한다.

5. 이 과정에서 데이터 통신 시 암호화 및 복호화를 위해 사용될 대칭키(=세션키)가 생성된다.

 

 

 

(2) 클라이언트 인증

클라이언트가 해당 서버에 대한 올바른 접근 권한을 가졌는지 검증하는 과정이다. 클라이언트 인증에는 패스워드 인증과 SSH 공개키 인증이 있으며, 패스워드 인증은 보안상 권장하지 않는다. SSH 공개키 인증에 대해서 클라리언트 측에서 Key Pair를 생성하고 서버에 공개키를 전송하는 작업은 이미 완료한 상태라고 가정한다.

 

1. 클라이언트는 해당 서버에 접속하기 위해 Key Pair의 ID를 서버에 전송한다.

2. 서버는 해당 ID에 매칭되는 공개키가 홈 디렉토리의 .ssh/authorized_keys 파일 안에 작성되어 있는지 찾는다.

3. 존재한다면, 난숫값을 생성하고 이를 해당 공개키로 암호화하여 클라이언트에 전송한다.

4. 클라이언트는 전달받은 암호화된 난숫값을 해당 개인키로 복호화한다.

5. 이후 복호화한 난숫값을 이용하여 MD5 해시값을 계산하고, 이를 다시 서버에 전송한다.

6. 서버도 생성했던 난숫값을 이용하여 MD5 해시값을 계산하고, 클라이언트로부터 받은 값과 같은지 검사한다.

7. 같다면, 올바른 클라이언트임이 인증되어 본격적인 데이터 통신이 가능해진다.

 

 

 


 

 

 

메일 서비스

메일 서비스는 메일 주소를 이용하여 인터넷을 통해 이메일을 주고받을 수 있도록 서비스를 제공한다. 이메일 시스템은 TCP/IP 환경 전인 대형컴퓨터(메인프레임)에서 사용되었다. 사용자마다 모두 편지함을 하나씩 가지고 있고, 한 편지함에서 다른 편지함으로 이동하는 방식으로 전달하였다. 이러한 방식은 같은 컴퓨터(메인프레임) 내에 있는 사용자끼리만 메일이 전달되고, 다른 컴퓨터 사용자에게는 메일을 보낼 수 없었다. 그 후 TCP/IP 기술이 개발된 후 전 세계적으로 이메일을 사용할 수 있게 되었다.

 

 

 

메일 관련 프로토콜

이메일의 특징은 메일 사용자 간 이메일을 전달하는 프로토콜과 사용자의 로컬 호스트에 도착한 이메일을 읽을 수 있게 하는 프로토콜이 구분되어 있다는 것이다. 이는 상대에게 직접 이메일을 보낼 때 상대가 인터넷에 접속하지 않은 상태라면 전달할 수 없다. 따라서 로컬 호스트(사용자 PC 등)가 인터넷이 연결되어 있지 않더라도 이메일을 이메일을 전달받을 수 있도록 송신용과 수신용 프로토콜을 나누어서 관리한다.

 

메일 서비스를 위해서는 SMTP, POP3, IMAP 등 크게 세 가지 프로토콜이 사용된다.

송신은 SMTP, 수신은 POP3, IMAP을 주로 사용한다.

 

* SMTP: 메일을 송신할 때 사용하는 프로토콜로, TCP/IP 호스트 사이의 메일을 전달 할 때 사용된다.

* POP3: 메일을 전송받을 때 사용하는 프로토콜로, 로컬에서 메일을 수정, 삭제해도 메일 서버에는 변화가 없다.

* IMAP: 메일을 전송받을 때 사용되는 또 하나의 프로토콜로, POP3의 단점인 비동기성을 보완하기 위한 방식이다. 이는 로컬마다 데이터가 같고 어떤 디바이스에서 메일을 열든 동일하게 동기화하는 방식을 사용하지만 복잡하다는 단점이 있다.

 

 

 

1) abc.com 사용자가 메일 서버에 MUA(Mail user agent)로 작성된 편지를 SMTP를 이용하여 발송한다.

- 메일 내용에는 도착지(def.com)의 정보가 들어 있다.

2) 좌측의 메일 서버는 25번 포트(SMTP)로 메일을 수신한다.

3) 좌측의 메일 서버는 우측의 메일 서버(도착지)의 MX 레코드를 DNS 서버에서 요청하여 가져온다.

4) 좌측 메일 서버는 MX 레코드로 우측의 메일 서버의 IP 주소를 가져온다.

5) 좌측 메일 서버는 받은 메일을 우측 메일 서버로 다시 전송한다.

6) 우측 메일 서버는 MDA(Mail Delivery Agent)를 통해 수신자(def.com)의 메일 박스에 메일을 적재한다.

7) def.com 사용자는 POP3 또는 IMAP 프로토콜로 메일을 가져온다.

 

MX레코드란?

메일 서버의 주소를 알려주는 역할을 한다. 예를 들어 abc.com은 도메인이고, 202.232.182.110은 IP주소이다. 

MX 레코드를 이용하여 abc.com의 IP주소를 가져올 수 있다.

 

한가지 주의할 점은 포털 사이트 메일(구글, 네이버, 다음 등)은 메일 서비스와 조금 다르다. 포털 사이트의 메일은 수신한 메일의 meta-data를 DB에 보관하고 웹 서버에 배포하여 수신자가 서버에 HTTP로 접근하여 메일 정보를 읽을 수 있도록 한다는 점이다.

 

 

 

 

 

 

 

reference

* wiki, List of TCP and UDP port numbers

* 손진곤, 길준민, 박지수 공저, 정보통신망, 한국방송통신대학교출판문화원

* 문톰, 포트와 소켓의 차이 및 호스트

* ELANCER, URI와 URL, 어떤 차이점이 있나요?

* wiki, Transport Layer Security

* cloudflare, TLS 핸드셰이크의 원리는 무엇일까요? | SSL 핸드셰이크

* devkuma, Telnet

 

 

반응형
Comments