https://helloworld-88.tistory.com/215
https://velog.io/@yoho98/%EB%B0%94%EC%9D%B8%EB%94%A9binding
Socket
- Client와 Server가 특정 Port를 통해 실시간으로 양방향 통신하며, 실시간 동영상 Streaming이나 온라인 게임 등과 같은 경우에 자주 사용
- 프로세스가 드넓은 네트워크 세계로 데이터를 내보내거나 혹은 그 세계로부터 데이터를 받기 위한 실제적인 창구 역할을 함. 그러므로 프로세스가 데이터를 보내거나 받기 위해서는 반드시 소켓을 열어서 소켓에 데이터를 써보내거나 소켓으로부터 데이터를 읽어들여야 함.
- 소켓은 네트워크 상에서 돌아가는 두 개의 프로그램 간 양방향 통신의 하나의 엔드 포인트임
- 소켓은 포트 번호에 바인딩하여 TCP Layer에서 데이터가 전달되야하는 애플리케이션을 식별할 수 있게 함
엔드 포인트
- 아이피 주소와 포트 번호의 조합을 의미
- 모든 TCP 연결은 2개의 엔드 포인트로 유일하게 식별되어질 수 있음
- 따라서 Client와 서버 간 여러 개의 연결이 맺어질 수 있음
IP (Internet Protocol)
- 전 세계 컴퓨터에 부여된 고유의 식별 주소
포트 (Port)
- 네트워크 상에서 통신하기 위해서 호스트 내부적으로 프로세스가 할당 받아야 하는 고유한 숫자이다. 한 호스트 내에서 네트워크 통신을 하고 있는 프로세스를 식별하기 위해 사용되는 값이므로, 같은 호스트 내에서 서로 다른 프로세스가 같은 포트 넘버를 가질 수 없다. 즉, 같은 컴퓨터 내에서 프로그램을 식별하는 번호임.
바인딩 (Binding)
- 컴퓨터 프로그래밍에서 각종 값들이 확정되어 더 이상 변경할 수 없는 구속(Bind) 상태가 되는 것
- 원시 프로그램의 컴파일링 또는 링크 시에 확정되는 바인딩을 정적 바인딩(Static binding)이라 하고, 프로그램 실행되는 과정에서 바인딩 되는 것을 동적 바인딩(Dynamic binding)이라 함.
- 정적 바인딩 장점 : 실행시 효율 높아짐 -> 컴파일 시, 이미 값이 확정되어 있기 떄문에 실행만 하면 끝
속도가 빠름
값이 변하지 않아서 안정적임
- 동적 바인딩 장점 : 값이 변할 수 있어 유연함
단점 : 들어올 값보다 많은 메모리 공간을 차지하고 있기 때문에, 메모리 공간 낭비 O
들어오는 값이 메모리 타입에 맞는 지 확인하기 때문에, 속도가 늦어짐
Socket 종류
TCP/IP 프로토콜 (Transmission Control Protocol)
- TCP는 데이터를 일정한 크기로 분할하고, IP는 TCP가 분할한 데이터에 송신처를 붙여서 네트워크를 보낸다.
- 데이터 전송의 정확성을 강조한 프로토콜
- 오류 수정, 전송 처리, 흐름제어 보장
- 소량의 데이터보다 대량의 데이터 전송에 적합 -> TCP를 사용
- 송식된 순서에 따라 중복되지 않게 데이터를 수신 -> 오버헤드 발생
UDP 프로토콜 (User Data Protocol)
- 데이터 전송의 속도를 강조한 프로토콜
- 비연결형 소켓, 신뢰성이 없는 전송 프로토콜
- 데이터 크기 제한이 있음
- 데이터가 손실되도 오류가 발생하지 않음
- 실시간 멀티미디어 정보를 처리를 하기 위해 주로 사용 EX) 전화
HTTP 프로토콜
- Client의 요청(Request)이 있을 떄만, 서버가 응답(Response)하여 해당 정보를 전송하고, 곧바로 연결을 종료하는 방식
- 웹 브라우저에 따라 요청에 따라 HTML 파일이나 그림을 보내고 받는다.
- 인터넷에서 하이퍼텍스트 문서를 전송하기 위해서 사용되는 통신 규약이다.
- http://www. 로 되어 있는 것은 www 주소에서 문서 전송을 HTTP 통신 규약으로 처리하는 것임.
HTTP 통신의 특징
- Client가 요청을 보내는 경우에만 Server가 응답하는 단방향 통신
- Server로부터 응답을 받은 후에는 연결이 바로 종료됨.
- 요청을 보내 Server의 응답을 기다리는 어플리케이션의 개발에 주로 사용
<비교>
Socket 통신은 Server와 Client가 서로 양방향 통신을 하며, 실시간으로 데이터를 주고 받을 수 있음
HTTP 통신은 Client의 요청이 있을 때만, Server와 통신을 할 수 있으며, Server가 응답하여 해당 정보를 전송하고, 곧바로
연결 종료하는 방식
'IT 용어 정리 > Network' 카테고리의 다른 글
대역폭과 트래픽 이란 (0) | 2023.09.08 |
---|---|
IOT(Internet Of Thing) 정의와 작동원리 및 종류 (0) | 2023.09.05 |
공인 IP와 사설 IP와 추가로, 정적 IP 및 동적 IP란, (0) | 2023.07.19 |
HTTP 1.0 과 HTTP 1.1 차이 (0) | 2023.07.07 |
IPC 란 (0) | 2023.07.04 |