인터넷 통신 기초

승훈·2022년 12월 16일
0
  • 인터넷 통신
    ** 클라이언트에서 다른 클라이언트로 데이터를 보낼 경우, 위성, 케이블 등과 같은 인터넷 망을 거쳐서 상대 컴퓨터로 도달하게 된다.
    인터넷 망은 단순하지 않아, 중간에 수많은 노드를 거쳐서 서버 컴퓨터에게 도착한다.
    웹 통신 과정이 어떤 규칙으로 목적지까지 안전하게 도착하는지 이해하기 위해서는
    IP, UCP, DNS 프로토콜 지식을 알아야한다.

  • IP (인터넷 프로토콜)
    IP = 인터넷에 연결되어있는 모든 장치들을 식별할 수 있도록 장비에게 부여되는 고유 주소
    *
    IPv4(32bits(8x4)로 이루어진 주소, 약 43억개), IPv6(128bits(16x8))
    * 고정 ip/유동 ip/공인 ip/사설 ip(어떤 네트워크 안에서만 내부적으로 사용되는 고유한 주소)
    **
    NAT(사설망 <-> 외부 통신 방법): 라우터에 연결되어있는 사설 IP를 받아와
    유일한 공인 IP로 변환
    IP 역할: 패킷이라는 통신단위로 지정한 IP 주소에 데이터를 전달하는 것에 목적
    *
    패킷: 인터넷 데이터를 패킷에 포장하여 인터넷 망을 통해서 전달
    전송하고자 하는 데이터의 한 블록(payload)
    주소지 정보(발신지 주소, 목적지 주소)
    Header, IPv6와 같이 인터넷 망이 패킷을 목적지까지 전달하는데 필요한 관리 정보
    IP 프로토콜의 한계
    *
    비연결성: 패킷을 받을 대상이 없거나 서비스가 불능상태여도 패킷을 전송할 수 있음
    비신뢰성: 패킷을 중간에 소실될 경우 대처방법이 없음, 패킷 순서가 보장되지 않음
    프로그램 구분 불가: 같은 IP를 사용하는 서버에서 통신하는 어플이 여러개일 경우 이를 구분할 수 있는 방법 없음

  • TCP (Transmission Control Protocol)
    ** 데이터 전달 보증하고 순서를 보증하는 신뢰할 수 있는 프로토콜
    TCP 3 way handshake(가상 연결)으로 전송을 제어

  • UDP (User Datagram Protocol)
    ** 비 연결지향적 프로토콜, 데이터 전달 보증하지 않고 순서 보장하지 않음, 오로지 빠르게 패킷을 보내는 것이 목적
    IP와 거의 기능이 같음. 실시간동영상 스트리밍 서비스 등에 사용됨.

  • PORT
    ** 인터넷 프로토콜(IP)는 상대 클라이언트 목적지만을 가지고 있고, 컴퓨터 안의 수십개 어플리케이션중 어느 프로그램에 전달해야 하는지에 대한 목적지 정보가 포트(PORT)라고 보면 된다.

  • AJAX
    ** HTTP를 효과적으로 이용하는 기술, xmlhttprequest 객체를 통해서 서버와 데이터를 주고 받음.
  • 웹 소켓
    ** WebSocket 프로토콜은 접속 확립에 HTTP를 사용하지만, 그 후의 통신은 WebSocket 독자의 프로토콜로 이루어집니다. 또한, header가 상당히 작아 overhead가 적은 특징
    장시간 접속을 전제로 하기 때문에, 접속한 상태라면 클라이언트나 서버로부터 데이터 송신이 가능합니다.
    더불어 데이터의 송신과 수신에 각각 커넥션을 맺을 필요가 없어, 하나의 커넥션으로 데이터를 송수신 할 수 있습니다.

cf) https://inpa.tistory.com/

0개의 댓글