인터넷 네트워크

길셔·2022년 1월 4일
0

HTTP

목록 보기
1/8
post-thumbnail

1. 인터넷 통신


  • 인터넷은 굉장히 복잡한 망을 가지고 있고, 그 수많은 노드들을 거쳐 데이터를 주고 받는다.
  • 근데 누구에게 어떻게 가는지 알고 데이터는 전송되는 걸까?
    그건 IP를 통해서 지정한 IP 주소로 데이터가 전달되는 것이다.

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


  • 역할
    • 지정한 IP 주소(IP Address)에 데이터 전달
    • 패킷(Packet)이라는 통신 단위로 데이터 전달
  • 패킷
    • IP 전송 계층에서는 패킷으로 데이터를 주고 받는데, 이는 패킷에 출발지 IP, 목적지 IP의 정보를 담아 데이터를 감싸서 전송하는 것이다.
    • 그러면 클라이언트-서버의 노드가 많아도 해당 목적지 IP에 맞게 노드를 찾아가서 데이터가 전송된다.
  • 한계
    • 비연결성
      • 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷은 일단 전송
    • 비신뢰성
      • 중간에 패킷이 사라질 수도 있고,
      • 패킷이 순서대로 안올 수도 있다. ( 1,2 ->1,2 BUT, 1,2 -> 2,1 )
    • 프로그램 구분
      • 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 못찾을 수도 있다.
  • 인터넷 프로토콜 4계층
    - 애플리케이션 계층 - HTTP, FTP
    - 전송 계층 - TCP, UDP
    - 인터넷 계츨 - IP
    - 네트워크 인터페이스 계층

  • 동작을 간략히 설명하면,
    • 애플리케이션 계층 : 웹브라우저나 다른 프로그램에서 데이터를 생성
      SOCKET 라이브러리를 통해서 TCP/IP 계층으로 전달
    • TCP : TCP 정보를 생성, 메시지 데이터를 포함
    • IP : TCP 데이터포함, IP 패킷 생성
    • 네이퉈크 인터페이스 : LAN 드라이버와 장비를 통해 LAN 카드로 인터넷을 통해 서버로 전달!

  • 그래서 흔히 TCP와 IP를 따로 나눠서 표현하기 보단 TCP/IP로 다룬다.

3. TCP / UDP


  • TCP - 전송 제어 프로토콜(Transmission Control Protocol)

    • TCP 특징
      • 연결지향 - TCP 3 way handshake (가상 연결)

      • 데이터 전달 보증
      • 순서 보장
      • 신뢰할 수 있는 프로토콜
      • 현재는 대부분 TCP 사용

  • UDP : 사용자 데이터그램 프로토콜(User Datagram Protocol)
    • UDP 특징
      • 하얀 도화지에 비유(기능이 거의 없음)
      • 연결지향 - TCP 3 way handshake X
      • 데이터 전달 보증 X
      • 순서 보장 X
      • 데이터 전달 및 순서가 보장되지 않지만, 단순하고 빠름

    • 정리
      • IP와 거의 같다. +PORT +체크섬 정도만 추가
      • 애플리케이션에서 추가 작업 필요
      • 흔히 동영상 같은 데이터 전송에서 쓰인다.

4. PORT


  • 출발지 IP와 목적지 IP를 통해 데이터를 주고 받는데, 게임을 하다 잠시 죽었을 때 인터넷 쇼핑도 하고 영상통화도 할 때, 1개의 IP로 이런 여러 웹을 구별하기 위해서는 PORT를 사용한다.
  • TCP에는 출발지 PORT와 목적지 PORT가 존재하며 전송,순서를 제어하는 정보를 담고 있다.
  • 그래서 TCP/IP로 부르며 출발지 IP, PORT / 목적지 IP, PORT로 보내며 이는 아파트로 비유할 때, 아파트 단지를 IP, 아파트 동, 호수를 PORT로 비유할 수 있다.
  • 0 ~ 65535 할당 가능
  • 0 ~ 1023: 잘 알려진 포트, 사용하지 않는 것이 좋음
    • FTP - 20, 21
    • TELNET - 23
    • HTTP - 80
    • HTTPS - 443

      • HTTP나 FTP와 같이 자주 쓰이는 PORT는 정해져있다. 그래서 PORT를 내가 지정해서 사용할 때는 0~1023는 사용하면 안되고 그 이상으로 정해서 사용하면 된다.

5. DNS


  • DNS : 도메인 네임 시스템(Domain Name System)
    • 도메인 명을 IP 주소로 변환
    • IP를 도메인명으로 바꿔주고, 클라이언트가 도메인 명으로 전송을 하면 DNS 서버에서 도메인 명에 맞는 IP로 응답해주면 클라이언트는 해당 IP로 서버에 접속한다.
profile
까먹지말자

0개의 댓글