'포트(Port)'에 해당되는 글 1건

  1. 2020.12.17 소켓 프로그래밍의 개요

소켓(Socket)

- 전구나 형광등을 고정하는 도구이자 전기를 공급하기 위한 투입구 역할을 수행

- 컴퓨터 네트워크에서 소켓은 통신을 위한 종착지와도 같은 역할을 수행함

- 두 개의 컴퓨터가 통신을 할 때는 각 컴퓨터의 소켓을 통해서 데이터를 교환함

- 소켓 프로그래밍은 크게 TCP와 UDP 방식으로 나뉨

 

TCP(Transmission Control Protocol)

- TCP는 연결형 프로토콜

- UDP에 비해서 속도가 느리지만 신뢰성 있는 데이터의 송수신을 보장

- 인터넷 내에서 데이터를 주고받을 때는 경로 설정을 효과적으로 수행하기 위해 데이터를 여러 개의 패킷으로 나누어 송신

 

UDP(User Datagram Protocol)

- UDP는 비연결형 프로토콜

- TCP에 비해서 통신의 신뢰성이 부족하지만 빠른 데이터 송수신이 가능

- 데이터를 주고받기 전에 사전 통신 절차를 거치지 않음

 

서버 & 클라이언트 구조

- 가장 대표적인 네트워크 구성 모델

- 일반적으로 웹 서비스를 이용할 때 웹 브라우저는 [클라이언트]에 해당하며 웹 서버는 [서버]에 해당

- 모든 데이터의 관리 및 처리가 [서버]에 집중된다는 특징이 있음

 

소켓 프로그래밍

- 서버: socket > bind > listen > accept > send & recv > closesocket

- 클라이언트 : socket > connect > send & recv > closesocket

 

포트(Port)

- 특정한 프로그램이 통신을 하기 위해서는 포트 번호를 할당해야 함

- 포트 번호는 16비트로 65,536개를 사용할 수 있으며 1번부터 1024번 포트는 시스템 포트로 사용

- 특정한 서버 프로그램을 만들었다면 해당 서버 프로그램이 사용될 포트 번호를 1025번 이상으로 선택하여 미리 설정해야 함

 

포트 설정

- 서버 & 클라이언트 구조의 시스템을 구축할 때 서버 프로그램의 포트 번호는 명시적으로 할당해야 함

- 또한 클라이언트 프로그램은 서버의 IP 주소와 포트 번호를 모두 알고 있어야 함

- 서버와 클라이언트의 연결이 수립되면 클라이언트 컴퓨터에는 사용 중이지 않은 임의의 포트가 할당됨

'C++' 카테고리의 다른 글

C++ 문제 풀이  (0) 2021.01.11
소켓 프로그래밍 함수와 Winsock2  (0) 2020.12.17
예외 처리  (0) 2020.12.16
STL 연관 컨테이너  (0) 2020.12.16
STL 시퀀스 컨테이너  (0) 2020.12.16
Posted by khon98
,