Network

IPv4와 IPv6 비교 / HTTP와 TCP 비교

gamjadori 2024. 6. 7. 15:21
728x90

<IPv4와 IPv6 비교 / HTTP와 TCP 비교>

  • 둘 다 네트워크 통신을 할 때 사용하는 비연결 프로토콜을 의미

IPv4

  • 주소의 길이가 32 비트
  • 3자리 숫자가 4마디로 표현되어 있고, 네트워크 주소와 호스트 주소로 나뉨
  • A~E 클래스로 나누어짐
    • A~C: 일반 사용자
    • D: 멀티캐스트
  • 브로드 캐스트 (송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식) 지원

IPv6

  • IPv4의 주소공간 부족으로 출현하게 되었으며 주소의 길이가 128비트로 IPv4보다 많은 IP 주소 생성 가능
  • 콜론으로 나뉨
  • IPv4보다 보안 측면에서 강화되었으며 브로드 캐스트를 지원하지 않음

 

HTTP (HyperText Transfer Protocol)

  • 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 7계층(애플리케이션 계층)동작 프로토콜
  • 요청이나 응답 후 결과를 확인하지 않는 비연결성 특징
  • 직접 연결이 불가능이기 때문에 신뢰성이 없고, 이를 보완하기 위해 TCP위에서 작동하여 신뢰성을 확보

TCP(Transmission Control Protocol)

  • 서버와 클라이언트간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 4계층(전송) 동작 프로토콜
  • 실시간 처리 (동영상 스트리밍이나 온라인 게임 콘텐츠 전송에 적합) 및 양방향 통신 (채팅 기능)
  • 연결 지향 (3-Way Handshake)
    • 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정
    Client > Server : TCP SYN
    Server > Client : TCP SYN-ACK
    Client > Server : TCP ACK
    
    ** SYN (Synchronize):
    클라이언트는 서버에 연결 요청을 보내기 위해 SYN 패킷을 전송
    클라이언트의 초기 시퀀스 번호(ISN)가 포함
    ** SYN-ACK (Synchronize-Acknowledge):
    서버는 클라이언트의 요청을 받으면 SYN-ACK 패킷 전송
    서버의 ISN과 클라이언트의 SYN 패킷에 대한 확인 응답(ACK) 포함
    ** ACK (Acknowledge):
    클라이언트가 서버에 확인 응답(ACK) 전송
    >> 양쪽이 시퀀스 번호와 ACK 번호를 서로 교환하여 연결 설정
    
  • 패킷 손실 시 재전송하여 신뢰성을 보장