HTTPS는 TCP 또는 UDP를 사용합니까?


답변:


41

HTTPS는 안정적인 스트림 전송 프로토콜을 통해 실행될 수 있습니다 . 일반적으로 TCP이지만 SCTP 일 수도 있습니다. 신뢰할 수없는 데이터 그램 프로토콜 인 UDP를 통해 실행되는 것은 아닙니다 (사실 공식 이름은 아니지만 그것이 무엇인지 기억하는 좋은 방법입니다).

UDP에 대한 IANA 할당은 과거입니다. 당시에는 거의 모든 프로토콜에 TCP와 UDP 포트 번호가 모두 할당되었는데, 단 하나만 사용할 것으로 예상 되더라도 말입니다. 포트 번호 레지스트리를 병합하는 것에 대한 논의가 있었고 지금까지 하나의 포트에 하나의 프로토콜 만 할당했습니다. 즉, 자체 레지스트리가 필요한 미래의 전송 프로토콜을보다 쉽게 ​​배포 할 수 있습니다. 나는 그 토론이 어떻게 끝났는지 모른다.


1
대부분의 SSL 구현은 SSL 소켓으로 표시하므로 TCP를 의미합니다. 다른 전송을 사용하는 경우는 매우 드 rare니다.
Nasko

3
경고 :이 답변은 구식입니다 (9 년 전). Google이 Chrome에 사용하는 구현 인 QUIC 프로토콜에 대한 답변을 살펴보세요. 그냥 말하면
ivanleoncz

33

TCP를 사용합니다. 패킷 도착을 보장하지 않으면 UDP에서 실행하기가 어려울 수 있습니다. 패킷이 도착하지 않으면 암호화 된 데이터를 해독 할 수 없습니다.


4
또는 UDP에 TCP와 같은 패킷 순서를 바꿀 수있는 규정이 없기 때문에 패킷 순서가 잘못되면.
janneb

3
약간의 pedantic이기 때문에 -1하지는 않지만 UDP를 통해 실행할 수없는 이유는 없다는 점에 주목할 가치가 있습니다. 비정형 일 수 있지만 가능합니다.
ThatGraemeGuy

12

다음에 기본 포트 서비스가 tcp 또는 udp에서 실행되는지 궁금하면 Linux 시스템에서 / etc / services를 볼 수 있습니다.


3
또는 명령 프롬프트에서 Windows 시스템 :find "https" %windir%\system32\drivers\etc\services
ThatGraemeGuy

1
내 / etc / services에도 80 / udp가 있습니다. 실제로 많은 서비스가 두 포트를 모두 할당했습니다.
Peter Eisentraut

8

요즘 HTTPS는 TCP 또는 UDP 위에서 실행될 수 있습니다.

새로운 "QUIC"프로토콜은 여러 개의 TCP 연결을 하나의 다중화 된 UDP 연결로 바꾸는 것을 목표로하므로 SSL 및 HTTPS를 처리 할 수 ​​있습니다.

HTTPS → SSL → QUIC 흐름 → UDP → IP

QUIC는 원래 Google에 의해 2012 년에 개발되었으며 IETF 검토를 받고 있습니다. 자세한 내용은 Wikipedia를 참조하십시오.


현재 시나리오를 고려할 때 답이되어야합니다. 예를 들어 실험 목적 DROP으로 mangle표의 대상을 사용 udp하고 규칙에 프로토콜을 사용 하여 특정 IP에 대한 HTTPS 트래픽 만 차단할 수있었습니다 .
ivanleoncz

2
+1,이 질문을 클릭 할 때 무언가 배우기를 기대하지 않았습니다.
T.Coutlakis 2016 년

7

OSI 모델을 사용하면 올바른 서비스를 제공하는 기본 프로토콜을 통해 상위 계층 프로토콜을 실행할 수 있습니다. HTTPS는 SSL / TLS 보안을 사용하는 HTTP입니다. SSL / TLS는 일반적으로 TCP 위에서 실행되지만 UDP, SCTP 또는 기타 전송 계층 프로토콜에서 실행하지 못하게 막을 방법은 없습니다.

사실상 HTTPS over TCP 및 UDP는 모두 IANA에 의해 "잘 알려진"것으로 정의되며 예약 된 포트 번호를 갖습니다.

"공식"포트 / 프로토콜 조합에 대해서는 http://www.iana.org/assignments/port-numbers 를 참조 하십시오 .


1
SSL을 통해 SSL / TLS를 실행할 수있는 방법은 tools.ietf.org/html/rfc4347 (데이터 그램 전송 계층 보안)을 참조하십시오 .
pehrs

0
  • HTTPS는 TCP over IP를 통한 HTTP over TLS 입니다.
  • UDP를 통한 TLS는 DTLS 라는 특정 구현입니다 . 여기서 D는 "데이터 그램"을 나타냅니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.