HTTP 웹 기본 지식 #1

슈퍼콜라·2022년 3월 29일
1

http

목록 보기
1/6
post-thumbnail

#1

  • IP
  • TCP
  • UDP
  • PORT
  • DNS

1.1 IP(Internet Protocol)

  • 사전적 의미
    • 인터넷으로 연결된 모든 컴퓨터에 주어지는 고유의 식별 번호
  • 역할
    • 지정한 IP 주소에 데이터 전달
    • 패킷이라는 통신 단위로 데이터 전달
  • IP 패킷 정보
    • 출발지 아이피 , 목적지 아이피 , 전송 데이터 , 기타..
  • IP의 한계
    • 비연결성 : 대상이 없거나 서비스가 불능일 경우는?
    • 비신뢰성 : 중간에 패킷이 사라지거나 순서대로 오지 않으면?
    • 프로그램 구분 : 같은 아이피를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?

==> TCP로 보완

인터넷 프로토콜 스택의 4계층

  • 애플리케이션 계층 - HTTP, FTP
  • 전송 계층 - TCP, UDP
  • 인터넷 계층 - IP
  • 네트워크 인터페이스 계층

ex) 채팅
1. 메세지 생성
2. 소켓 라이브러리를 통해 전달
3. TCP 정보 생성 , 메시지 데이터 포함 (감싼다고 이해)
(TCP 패킷 정보에는 출발지와 목적지 포트 , 전송 제어 , 순서 , 검증 정보가 있음)
4. IP 패킷 생성 , TCP 데이터 포함

1.2 TCP (Transmission Control Protocol)

  • 특징
    • 연결지향
      - (3 way handshake) 연결을 해야지 메세지를 보냄
      - 가상연결 (개념적으로만 연결됨 물리적으로는 모름)
    • 데이터를 전달한걸 보증받을 수 있음
    • 순서 보장 (순서는 패킷정보로 알 수 있음)

1.2.1 3way 핸드쉐이크

SYN : 접속 요청 , ACK : 요청 수락
1. SYN (클라이언트가 서버에 접속 요청을 함)
2. SYN + ACK (서버가 클라이언트의 접속 요청을 수락하고 클라이언트에게도 접속 요청을함)
3. ACK (클라이언트는 요청 수락을 함)
4. 데이터 전송
이렇게 되면 클라이언트와 서버간의 신뢰가 생김
쉽게말해서 가능? -> ㅇㅋ가능 너도 가능? -> ㅇㅋ 가능

1.3 UDP (User Datagram Protocol)

  • 특징
    • 기능 없음 3way , 전달 보증과 순서 보장 없음
    • 단순하고 빠름
    • IP와 거의 같다 , 포트와 체크섬 정도만 추가 , 애플리케이션에서 추가 작업 필요

1.4 PORT

같은 IP 내에서 프로세스 구분
한번에 둘 이상 연결할 때 (게임,웹서핑,화상통화 등 동시에..) 포트번호로 구분함

아이피:포트 (101.202.0.1:8080)
ex) 행복아파트:100동101호

1.5 DNS (Domain Name System)

  • IP는 기억하기 어렵다 , 변결될 수 있다 101.202.0.1 => google , naver
    도메인 명을 IP 주소로 변환

<출처>

모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한

profile
공부하는거 정리

0개의 댓글