HTTP 웹 [기본] 인터넷 네트워크

신재원·2023년 1월 14일
0

HTTP

목록 보기
1/18

IP(인터넷 프로토콜)

  • 지정한 IP 주소(IP Address)에 데이터 전달, 목적지 서버를 찾는것
    • IP 패킷 정보 : 출발지 IP, 도착지 IP, 기타 등등을 담고있어야된다.
      • 출발지 IP와 도착지 IP의 중간에서 노드를 거쳐 전달된다.
  • 패킷(Packet)이라는 통신 단위로 데이터 전달

IP 프로토콜의 한계

  • 비연결성
    • 패킷을 받을 대상이 없거나 받을 대상이 서비스 불능 상태여도 패킷 전송
  • 비신뢰성
    • 중간에 패킷이 사라질경우
    • 패킷이 순서대로 오지 않는경우
  • 프로그램 구분
    • 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 ?

TCP (IP 프로토콜의 한계를 해결)

  • 인터넷 프로토콜 스택의 4계층
    • 애플리케이션 계층 - HTTP, FTP
    • 전송 계층 - TCP, UDP
    • 인터넷 계층 - IP
    • 네트워크 인터페이스 계층
  • 프로토콜 계층
      1. 프로그램에서 메시지 생성 ->
      1. Socket 라이브러리를 통해 전달 ->
      1. TCP정보생성(메시지 데이터포함)("한번더 포장하는 느낌") ->
      1. IP 패킷 생성, (TCP 데이터 포함)

TCP/IP 패킷 정보

  • TCP/IP 패킷정보 = IP 패킷정보 (출발지 IP, 도착지 IP, 기타 등등을 담고) + TCP세그먼트 출발지 Port, 목적지 Port, 전송 제어, 순서, 검증 정보
  • TCP(전송 제어 프로토콜) 특징
    • 연결지향 - TCP 3 way handshake (가상연결)
        1. 클라이언트 SYN(접속요청) ->
        1. 서버 SYN+ACK(요청 수락및접속요청) ->
        1. 클라이언트 ACK(수락) ->
        1. 데이터 전송가능
    • 데이터 전달 보증
        1. 클라이언트에서 서버로 데이터 전송한다 ->
        1. 서버에서 데이터 잘 받았다고 응답한다
    • 순서 보장
        1. 클라이언트가 패킷1 패킷2 순서로 서버에 전송한다 ->
        1. 서버에 패킷2 패킷1 순서로 도착 하게된다 ->
        1. 서버에서 클라이언트에게 패킷1 부터 다시 보내라고 응답한다.
    • 신뢰할 수 있는 프로토콜
    • 현재는 대부분 TCP 사용

UDP (사용자 데이터그램 프로토콜)

  • 하얀 도화지에 비유 (기능이 거의 없음)
  • 연결지향 - TCP 3 way handshake X
  • 데이터 전달 보증 X
  • 순서 보장 X
  • "데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름

    정리

    • IP와 거의 같다 + "Port" + "체크섬" 정도만 추가
    • 애플리케이션에서 추가작업 필요

Port

  • 한번에 둘 이상 연결해야 하면 ?
    • 서버안에서 동작하는 애플리케이션을 구분하는것은 Port이다.
  • HTTP : 80 Port , HTTPS : 443 Port

DNS (도메인 네임 시스템)

  • IP는 변경될수 있다.
  • 도메인 명을 IP 주소로 변환
    • ex : google.com, naver.com <- 도메인 명

번외
IP는 아파트로 생각, Port는 같은 IP(아파트)에서 ~호로 생각

0개의 댓글