소켓
소켓은 네트워크에서 두 대의 디바이스 간의 데이터 송수신을 위한 통신 엔드포인트(도착점, 시작점)이라고 할 수 있다.
즉, 소켓은 클라이언트-서버 모델에서 클라이언트와 서버 사이에 데이터를 전송할 수 있는 통신 경로를 제공해주는 일종의 톨게이트같은 역할을 한다.
보통 인터넷 프로토콜(IP), 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP)을 사용하여 소켓 통신을 사용한다.
한가지 예시를 들어보자.
이메일을 전송할 때, 송신자의 컴퓨터와 수신자의 메일 서버 사이에는 소켓이 만들어져 이메일 데이터가 전달된다. 소켓을 통해 두 기기는 안전하고 효율적으로 통신을 할 수 있다.
포트
포트는 네트워크에서 특정 소프트웨어에 데이터를 전달하기 위한 통신 채널을 식별하는 번호다. 포트 번호는 0부터 65535까지의 범위를 가지며, 일반적으로 잘 알려진 포트 번호와 동적 포트 번호로 나뉜다.
예를 들어, HTTP 통신은 기본적으로 80번 포트를 사용하며, HTTPS 통신은 443번 포트를 사용한다.
즉, ip주소가 우리나라의 도로명 주소라면, 포트번호는 아파트의 동 호수라고 볼 수 있다.
소켓과 포트, 둘의 차이점
소켓은 데이터 통신을 위한 통신 엔드포인트로, 컴퓨터와 서버 간의 연결을 가능하게 하는 기능을 한다.
그러나 포트는 특정 프로세스나 서비스에 데이터를 전달하기 위한 통신 채널을 식별하는 번호다.
소켓은 통신 경로를 제공하고 관리하는 역할을 하며, 포트는 통신 과정에서 데이터가 어떤 프로세스나 서비스에 도달해야 하는지를 구분한다.
즉, 소켓이 아파트 입구의 도로라고 한다면, 포트는 아파트의 동호수라고 할 수 있다.
참고 : https://www.geeksforgeeks.org/difference-between-socket-and-port/
Difference between Socket and Port? - GeeksforGeeks
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
www.geeksforgeeks.org
https://www.ibm.com/docs/ko/ssw_ibm_i_73/rzab6/rzab6soxoverview.htm
소켓 프로그래밍
소켓은 네트워크에서 이름 및 주소를 지정할 수 있는 통신 연결점(종료점)입니다. 소켓 프로그래밍은 리모트 프로세스와 로컬 프로세스 간에 통신 링크를 설정하기 위해 소켓 API를 사용하는 방
www.ibm.com
'Network, Web' 카테고리의 다른 글
[Network] 4/7 TIL : 아키텍처의 구성요소들 (0) | 2023.04.07 |
---|---|
[Network] HTTP와 HTTP의 여러버전들 (0) | 2023.04.06 |
[NetWork] nginx를 사용한 정적 웹페이지 호스팅 (0) | 2023.03.27 |
[Network] HTTP 상태 코드 정리 (0) | 2023.03.16 |
[Network/Database] HTTP의 메소드와 데이터베이스의 CRUD (2) | 2023.03.16 |