모든 개발자를 위한 HTTP 웹 기본 지식-01 인터넷 네트워크

수갱22·2023년 6월 29일
0

spring

목록 보기
11/14

1. 인터넷 통신


-바로 붙어 있을 때는 연결을 통해 가능

2. IP(인터넷 프로토콜)


-IP 주소 통해서 인터넷 망 연결

IP 역할

  • 지정한 IP 주소(IP Address)에 데이터 전달
  • 패킷(Packet)이라는 통신 단위로 데이터 전달

    -(출발IP, 도착IP, 메시지) 전송

IP 프로토콜의 한계

-비연결성

  • 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송
    -비신뢰성
  • 중간에 패킷이 사라지면?
  • 패킷이 순서대로 안오면?
    -프로그램 구분
  • 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?
    (EX. 작업, 노래 듣기, 영상 시청 등 동시 진행)

(1) 대상이 서비스 불능, 패킷 전송

(2) 패킷 소실

(3) 패킷 전달 순서 문제 발생

3. TCP, UDP

: IP 프로토콜에서 발생한 문제들을 해결함.

IP 스택의 4계층

프로토콜 계층

메시지 전송

TCP/IP 패킷 정보


-IP 패킷: 출발지IP, 목적지IP, 기타
-출발지 포트, 목적지 포트, 전송 제어, 순서, 검증 정보 등

TCP 특징

: 전송 제어 프로토콜(Transmission Control Protocol)
-연결지향(연결 우선) - TCP 3 way handshake (가상 연결)
-데이터 전달 보증(메시지 누락 등 확인 가능)
-순서 보장
• 신뢰할 수 있는 프로토콜
• 현재는 대부분 TCP 사용

(1) TCP 3 way handshake


-요새는 3. ACK 전송 시 데이터도 같이 전송
-논리적 연결임(실제 연결됨은 X, 실제 연결 보장은 X)

(2) 데이터 전달 보증

(3) 순서 보장

UDP 특징

: 사용자 데이터그램 프로토콜(User Datagram Protocol)
-하얀 도화지에 비유(기능이 거의 없음)

  • 연결지향 X - TCP 3 way handshake X
  • 데이터 전달 보증 X
  • 순서 보장 X
    -데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름
    => 최적화 시에 TCP를 바꿀 수 없으므로, UDP를 최적화함
    HTTP 3.0에서 최근 사용
    정리
  • IP와 거의 같다. +PORT +체크섬 정도만 추가
  • 애플리케이션에서 추가 작업 필요

4. PORT

한번에 둘 이상 연결해야 하면?


서버 안에서 돌아가는 애플리케이션 구분=> PORT

TCP/IP 패킷 정보

PORT: 같은 IP 내에서 프로세스 구분

PORT 번호

-0 ~ 65535 할당 가능
-0 ~ 1023: 잘 알려진 포트, 사용하지 않는 것이 좋음

  • FTP - 20, 21
  • TELNET - 23
  • HTTP - 80
  • HTTPS - 443

5. DNS

-IP는 기억하기 어렵다.

-IP는 변경될 수 있다.

DNS

: 도메인 네임 시스템(Domain Name System)
-전화번호부 같은 서버 제공
-도메인 명을 IP 주소로 변환

DNS 사용


->IP의 문제 해결함

profile
Cyber Security

0개의 댓글