TCP, UDP의 차이
-
TCP
- TCP는 신뢰성을 보장하는 프로토콜
- 3way handshaking을 통해 연결을 수립하고 4way handshaking을 통해 연결을 종료한다.
- 모든 데이터는 전송 이후 ACK를 일정시간 기다리며 ACK가 오지 않을 경우 데이터 전송에 실패 했음을 의미하기 때문에 새롭게 데이터를 전송한다.
- 또한 sequence number를 통해 패킷이 순서대로 오지 않았을 경우 순서를 맞춰주기도 한다.
- flow control(흐름제어)
- 상대방이 데이터를 더 이상 받을 수 없는 경우 데이터를 보내지 않는 기능
- stop and wait
- sliding window
- congestion control(혼잡제어)
- 네트워크(송신자와 수신자 사이에 존재하는 라우터들)가 데이터를 처리하지 못할 경우 데이터를 보내지 않는 기능
- 상대방의 응답이 없는 경우 네트워크가 혼잡하다고 판단하여 데이터의 전송량을 줄이고 차츰 늘려나간다.
- slow start
- fast recorvery
-
UDP
- 헤더에 출발지와 목적지의 ip, port 등의 간단한 정보만 가지고 있으며 전송이후의 추가 과정이 없어 신뢰성을 보장하지 않는다.
- 추가 과정이 없기 때문에 속도가 빠르다.
tcp 가상회선 신뢰성 보장 흐름제어 혼잡제어 오류제어 속도 느림 파일 전송과 같은 신뢰성이 중요한 서비스
udp 데이터그램 rtp? 실시간 전송 프로토콜, 스트리밍 서비스
syn으로 가상 난수를 보내고 +1한 값을 받음
ack?
가상회선이란? 3hand-shaking이 끝나면 소켓을 열어놓음! 연결 수립
가상회선이 생성되면 주고 받는 과정에서 무조건 ack를 보내고 받을 때까지 기다리고 받으면 또 무조건 보내주고 이런식으로 신뢰성 보장함
닫는걸 4way hand-shaking
HTTP, HTTPS의 차이
- 차이점
- 단적으로 말하면 SSL 인증서를 통한 암호화 과정이 있는지 없는지로 구분된다.
- HTTP
- www 상에서 정보를 주고 받을 수 있는 프로토콜
- 주로 HTML문서를 주고받을때 사용하며 TCP 프로토콜을 사용한다.
-
HTTPS
참고자료: https://opentutorials.org/course/228/4894