Socket
컴퓨터 네트워크에서 프로세스 간 통신을 가능하게 해주는 소프트웨어 인터페이스이다.
서버와 클라이언트 간 통신에 사용된다.
클라이언트 -> 서버 (데이터 요청)
서버 -> 클라이언트 (응답)
Application Layer와 Transport Layer 사이에 존재한다.
소켓은 주로 IP주소와 포트번호를 사용해서 데이터를 주고받는다.
소켓은 2가지의 타입이 있다.
UDP
- 데이터의 신뢰성이나 연결 지향성을 보장하지 않습니다.
- 그렇기에 빠른 전송이 필요하거나, 데이터 손실이 허용되는 경우에 주로 사용됨.
- 실시간 멀티미디어 애플리케이션(음성, 비디오)
- 간단한 조회 및 상태 요청, 네트워크 게임
- 데이터 그램 단위로 전송.
- 비연결성 프로그램 (connect가 없음)
데이터 그램 단위로 교환하는 것을 알 수 있다.
편지를 쓰는 개념.
누가- 누구에게 - 보낸다. 명확하기에 포트넘버와 아이피 주소가 필요 없음)
TCP
- 데이터의 신뢰성과 연결지향성을 보장해 준다.
- 데이터의 안전성을 보장하는 용도로 주로 사용됨.
- 연결성 프로토콜(Connect 존재)
UDP랑 다르게 포트번호와 아이피주소를 포함시켜서 보내야 함.
😀요약
- 컴퓨터 네트워크에서 프로세스 간 통신을 가능하게 해주는 소프트웨어 인터페이스이다.
- 소켓의 종류는 TCP, UDP가 있다.
- TCP
- 연결성 프로토콜, 연결을 유지하고 전송이 끝난 뒤에 연결을 종료해야 함.
- 데이터의 신뢰성을 보장하기에, 신뢰성이 중요한 애플리케이션에서 사용됨.
- UDP
- 비연결성 프로토콜, 연결을 유지할 필요가 없음.
- 데이터의 신뢰성을 보장하지 않기에, 속도가 빠르기에, 데이터 전송 속도가 빠르게 요구되는 애플리케이션에서 사용됨.
- 즉 애플리케이션 상황에 맞게 TCP/UDP를 사용함.
'Computer Science > Network' 카테고리의 다른 글
[컴퓨터망] - Multiplexing and demultiplexing (0) | 2023.04.12 |
---|---|
[컴퓨터망] - Transport Layer 개요 (0) | 2023.04.12 |
[컴퓨터망] CDN & DASH (1) | 2023.04.12 |
[컴퓨터망] CDN & DASH (0) | 2023.04.12 |
[컴퓨터망]- Peer-to-Peer(P2P) (0) | 2023.04.12 |