네트워크

오가람·2023년 1월 3일

*요청과 응답

<서버와 클라이언트>

서버 : 서비스를 제공하는 프로그램 또는 컴퓨터

클라이언트 : 서비스를 요청하여 사용하는 프로그램 또는 컴퓨터

프론트엔드 == 클라이언트
백엔드 == 서버

네트워크로 연결된 컴퓨터간의 관계를 역할로 구분한 개념
서버는 서비스를 제공하는 프로그램으로 클라이언트의 연결을 수락하고
요청 내용을 처리 후 응답을 보내는 역할
클라이언트는 서비스를 받는 프로그램으로 네트워크 데이터를 필요로 하는 모든 어플리케이션이 해당됨

<IP주소>
Internet Protocol == IP (인터넷 규약)

네트워크 상에서 컴퓨터를 식별하는 번호로 네트워크 어댑터(랜카드)마다 할당 되어 있음

<포트>

한개의 프로그램만 한개의 포트가 들어갈수 있음
같은 컴퓨터 내에서 프로그램을 식별하는 번호로
클라이언트는 서버 연결 요청 시 IP주소와 포트 번호를 알아야 함

*소켓 프로그래밍

소켓을 이용한 통신 프로그래밍

<소켓(Socket)>

프로세스 간의 통신에 사용되는 양쪽 끝 단

<프로토콜(Protocol)>

컴퓨터 간의 정보를 주고 받을 때의 통신방법에 대한 규약으로
접속이나, 전달방식, 데이터의 형식, 검증 방법 등을 맞추기 위한 약속

<TCP(Transmission Control Protocol)>

  • 금융기관, 결제 등 사용

데이터의 전달이 신뢰성을 최대한 보장하기 위한 방식으로 연결지항형 통신이다.
순차적으로 데이터를 전송하고 확인 및 오류 시 재전송을 한다.

<UDP(User Datagram Protocol)>

  • 스트리밍 서비스에 사용(유튜브 등)
    데이터의 빠른 전달을 보장하기위한 방식으로 비연결 지향형 통신이다.
    확인 및 재전송 작업이 없다.

클라이언트가 요청(포트)
서버에서 accept(수락)하면 연결

profile
개발자준비생

0개의 댓글