CS

[HTTP] 인터넷 네트워크

뱅타 2021. 12. 13. 08:44

IP(인터넷 프로토콜)

지정한 IP 주소(IP Address)에 데이터 전달

패킷(Packet)이라는 통신 단위로 데이터 전달

IP 패킷 정보

출발지 ip

목적지 ip

전송 데이터

image-20211213075930570

IP 프로토콜의 한계

  • 비연결성

    패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송

  • 비신뢰성

    중간에 패킷이 사라지면 어떻게 될 것인가?

    패킷이 순서대로 오지 않으면 어떻게 될 것인가?

  • 프로그램 구분

    같은 IP를 사용하는 서버에서 통신하는 어플리케이션이 둘 이상이면 어떻게 구분할 것인가?

위의 문제로 인해 TCP UDP 가 존재합니다

TCP, UDP

image-20211213080928828

TCP의 특징

연결지향 - TCP 3 way handshake(가상연결)

데이터 전달 보증(데이터 전송이 잘 되었다고 응답이 옵니다.)

순서 보장(순서가 다를 시 순서가 다른것부터 재요청합니다.)

신뢰할 수 있는 프로토쿨

TCP 3 way handshake

SYN: 접속 요청

ACK: 요청 수락

  1. SYN (클라이언트 -> 서버)
  2. SYN + ACK (서버 -> 클라이언트)
  3. ACK (클라이언트 -> 서버)
  4. 데이터 전송 (상호연결)

** 3.ACK의 과정에서 ACK와 함께 데이터 전송이 가능합니다. **

UDP

IP와 거의 같습니다.

PORT

체크섬 (해당 메시지가 제대로 맞는지 검중해주는 데이터)

UDP는 추가되는 기능이 거의 없습니다. 따라서 하얀 도화지라고 불립니다. 또한 위에 있는 기능들은 TCP에 존재하는 기능입니다.

HTTP3가 나오면서 UDP의 사용 빈도가 늘어나고 있는 추세입니다.

PORT

TCP/IP 패킷 정보

출발지 PORT

도착지 PORT

정보...

의 값들을 갖고 있기에 서로 IP로만 구분하기 힘든 것들을 PORT로 구분해서 하나의 IP로 게임, 화상통화, 웹브라우저 등을 사용할 수 있습니다.

ex) 하나의 아파트(IP)에 여라가지 동들과 호수(PORT)로 이해하시면 될 듯 합니다.

0 ~ 65535 : 할당 가능

0 ~ 1023 : 잘 알려진 포트.(역할이 이미 부여되어 있습니다. 따라서 사용하지 않는 것이 좋습니다.)\

​ FTP - 20, 21

​ TELNET - 23

​ HTTP - 80

​ HTTPS - 443

DNS

IP는 기억하기 힘듭니다.

IP는 변경될 수 있습니다.

도메인을 사서 DNS 서버에 도메인명, IP로 등록할 수 있습니다.

Result

  • IP(internat Protocol): 복잡한 인터넷 망에서 메시지를 보내기 위해서 IP(ip 프로토콜이라고도 합니다.)가 존재해야합니다.
  • TCP, UDP: Port, 패킷 순서 등이 추가됩니다.
  • PORT: 아파트(IP)와 동호수(PORT)
  • DNS: 도메인명을 IP에 등록해서 사용하는 것입니다.
728x90
반응형

'CS' 카테고리의 다른 글

[JPA] 기본 키 매핑  (0) 2021.12.15
[HTTP] URI와 웹 브라우저 요청 흐름  (0) 2021.12.14
[JPA] 필드와 컬림매핑  (2) 2021.12.10
[JPA] 엔티티매핑  (8) 2021.12.09
[JPA] 준영속 상태  (0) 2021.12.08