minghxx.blog
  • [HTTP] HTTP 웹 기본 지식 1) 인터넷 네트워크
    2023년 10월 29일 09시 37분 01초에 업로드 된 글입니다.
    작성자: 민발자
    728x90

    HTTP 웹 기본 지식

    Session 1 인터넷 네트워크

    1. 인터넷 통신

    클라이언트와 서버가 가까이 있으면 케이블로 연결하여 통신할 수 있다.

    클라이언트와 서버사이에 인터넷이 있으면 인터넷망을 통해 서로 통신

    클라이언트는 복잡한 인터넷망 내부의 중간 노드(서버)를 거쳐 서버와 통신하는데 어떤 규칙으로 통신이 되는 건지 IP에 대해 학습


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

    복잡한 인터넷망에서 통신을 하기 위해서 IP 주소 부여

     

    1) IP 인터넷 프로토콜 역할

    지정한 IP 주소(IP Address)에 데이터 전달

    패킷(Packet)이라는 통신 단위로 데이터 전달

     

    2) IP 패킷 정보

    전송데이터와 함계 출발지, 목적지 IP와 기타 정보를 묶어 패킷 단위로 데이터를 전달

     

     

    3) 클라이언트 패킷 전달

    출발 IP와 목적 IP를 통해 중간 노드들을 거쳐 서버에게 클라이언트 패킷 전달

     

    4) 서버 패킷 전달

    서버 또한 패킷의 출발 IP와 목적 IP를 이용해 클라이언트에게 패킷 전달

     

    5) IP 프로토콜의 한계

    비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송

    비신뢰성 : 중간에 패킷이 소실되거나 순차적으로 전송이 안되면?

    프로그램 구분 : 같은 IP 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?


    3. TCP, UDP

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

    2) 프로토콜 계층

    메시지 작성 → 소켓 라이브러리를 통해 os계층으로 전달 → TCP 계층에서 메시지와 TCP 정보를 생성 → IP 계층에서 TCP 데이터와 메시지를 IP 패킷으로 묶음 → IP 패킷이 LAN카드를 통해 나갈 때 Ethernet frame을 포함해 전송

     

    3) TCP/IP 패킷 정보

    TCP - 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보 등 

     

    4) TCP(전송 제어 프로토콜) 특징

    연결지향(TCP 3 way handshake(가상연결)), 데이터 전달 보증, 순서 보장

    신뢰할 수 있는 프로토콜, 현재는 대부분 TCP 사용

     

    4-1) TCP 3 way handshake

     

    논리적으로 연결되었는지 확인하는 과정

    클라이언트 SYN(접속 요청) 보냄→서버 SYN과 ACK(요청 수락) 보냄→클라이언트가 SYN을 받았으면 서버로 ACK 보냄데이터 전송 가능한 연결상태로 인식→클라이언트가 서버로 데이터 전송

     

    4-2) 데이터 전달 보증

    서버가 데이터를 잘 전송받으면 클라이언트에게 응답

     

    4-3) 순서 보장

    클라이언트에서 패킷을 보낸 순서대로 서버에 전송되지 않으면 클라이언트에게 재요청

     

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

    기능이 거의 없음

    데이터 전달 및 순서가 보장되지 않지만 단순하고 빠름

    IP와 거의 같고 PORT, 체크섬 정도만 추가

    애플리케이션에서 추가 작업이 필요


    4. PORT

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

    하나의 클라이언트가 여러 서버와 통신 필요, IP만 사용시 어떤 프로그램에서 온 패킷인지 알 수 없다 ▶ PORT 사용

     

    2) 같은 IP 내에서 프로세스 구분

    TCP/IP 패킷을 보면 출발지, 목적지 PORT 정보가 포함되어 있음

    포트를 이용하면 같은 IP에서 어떤 프로세스인지 구분할 수 있다.

    IP : 서버를 찾음

    PORT : 프로세스를 찾음

     

    0~65535 할당가능

    0~1023 잘 알려진 포트로 사용하지 않는 것이 좋음

    FTP : 20, 21

    TELENET : 23

    HTTP : 80

    HTTPS : 443


    5. DNS

    1) DNS(도메인 네임 시스템)

    IP는 기억하기 어렵고 변경됨 ▶ DNS 사용

     

    728x90
    댓글