Web

Web Network 기본 지식

TeoJeon 2023. 1. 15. 14:30

포스팅 목차

    IP (Internet Protocol)의 문제점

    • 비연결성
      • 상대가 요청을 받을 수 있는 상태인지 확인하지 않음
    • 비신뢰성
      • 순서 보장 X
      • 패킷 소실 가능성 O
    • 프로그램 구분
      • 한 컴퓨터 내에서 구동되는 여러 프로그램들 중 어떤 프로그램으로 데이터를 전송해야 하는지 구분할 수 없음

    위에서 나타나는 문제를 해결하기 위해서 TCP, UDP가 등장

    현재 HTTP가 주로 TCP/IP 위에서 동작하기 때문에 TCP 위주로 설명하겠음

    TCP의 특징

    • 연결 지향
      • 3way-handshake
      • 물리적으로 연결된 건 아님. 논리적 연결
      • 데이터를 보낼 수 있는지 확인하는 정도
    • 데이터 전달 보장
      • 전송과정에서 소실된 데이터가 있으면 재요청함.
    • 순서 보장
      • 도착한 패킷들을 순서에 맞게 정렬
    • 위의 특징들로 인해 신뢰할 수 있는 프로토콜

    UDP의 특징

    • 거의 기능 없음
    • PORT 구분 정도
    • 데이터 전달 및 순서가 보장되진 않지만 단순하고 빠름

    3 way-handshake

    Client와 Server 간에 통신할 준비가 되었는지 확인하는 과정

    더보기

    1
    Client — SYN→ Server
    클라이언트: 서버야 너 통신할 준비되었니?

    더보기

    2
    Client ←SYN + ACK— Server
    서버: 응 나 통신할 준비됐어! 너도 준비됐어?

    더보기

    3
    Client — ACK → Server
    클라이언트: 응 나도 준비되었지!

    더보기

    4
    연결완료(위에서 말했듯이 물리적이 연결이 아닌 논리적 연결)

     


    Port

    한 컴퓨터 안에서 여러 프로세스가 동시에 작동할 수 있다. IP만으로 통신을 한다면 어떤 프로세스에서 수신해야 할 데이터인지 알 수 없다. 이를 구분하기 위해 데이터를 수신할 프로세스마다 port를 할당해서 수신한다.
    0 ~ 65535: 할당 가능한 포트 번호 범위
    0 ~ 1023: 아래와 같이 규약처럼 이미 사용하고 있는 포트. 사용하지 않는 것이 좋음
    FTP - 20, 21
    TELNET - 23
    HTTP - 80
    HTTPS - 443


    DNS(Domain Name System)

    문자로 된 주소를 DNS 서버에 보내면 해당 IP를 돌려줌. 그 IP로 원하는 서버에 접근


    URI(Uniform Resource Identifier)

    통합 자원 식별자. 웹에서 논리적 또는 물리적 리소스를 식별하는 고유한 문자열 시퀀스

    • URL(Uniform Resource Locator) : 흔히 웹 주소라고도 하며, 네트워크 상에서 리소스가 어디 있는지 알려주기 위한 규약. URI의 서브셋
    URL 형식
    {scheme}://{hosts}/{url-path}?{query}
    https://google.com/search?id=Teo
    • URN(Uniform Resource Name) : 리소스 자체에 부여된 영구적이고 유일한 이름이며 변하지 않는다. URL과 달리 리소스 접근 방법과 웹 상의 위치가 표기되지 않는다.