728x90
복습
파일 디스크립터(File Descriptor, FD)
- 운영 체제에서 파일이나 입출력 자원에 접근하기 위해 사용되는 추상적인 핸들 또는 참조 번호이다.
- 주로 유닉스 계열 운영 체제(리눅스 포함)에서 많이 사용되며, 파일 디스크립터는 프로세스가 열어놓은 파일, 소켓, 파이프 등을 식별하는 데 사용한다.
특징
- 정수 형태
- 파일 디스크립터는 정수 형태의 값으로, 각 파일 디스크립터는 프로세스 내에서 고유하다.
- 표준 파일 디스크립터
- 0 : 표준 입력(Standard Input, stdin)
- 1 : 표준 출력(Standard Output, stdout)
- 2 : 표준 오류(Standard Error, stderr)
Datagram Socket vs Stream Socket
- Datagram 소켓과 스트림 소켓은 네트워크 프로그래밍에서 자주 사용되는 두 가지 주요 소켓 유형이다.
Datagram Socket
- Datagram 소켓은 비연결 지향형 소켓으로, UDP(User Datagram Protocol) 프로토콜을 사용한다.
- 특징
- 연결 지향 없음
- 송신자와 수신자 간에 연결을 설정하지 않고 데이터를 전송한다. 각 메시지는 독립적으로 처리된다.
- 패킷 기반 전송
- 데이터를 작은 패킷 단위로 전송한다. 각 패킷은 독립적으로 전송되며, 순서가 보장되지 않는다.
- 빠름
- 연결 설정 없이 전송하므로 오버헤드가 적고 속도가 빠르다.
- 신뢰성 없음
- 패킷 손실, 중복, 순서 변경이 발생할 수 있다. 애플리케이션에서 이러한 문제를 처리해야 한다.
- 용도
- 실시간 애플리케이션(스트리밍, 온라인 게임), DNS 조회, SNMP등에 주로 사용된다.
- 연결 지향 없음
Stream Socket
- Stream 소켓은 연결 지향형 소켓으로, TCP(Transmission Control Protocol) 프로토콜을 사용한다.
- 특징
- 연결 지향
- 송신자와 수신자 간에 연결을 설정한 후 데이터를 전송한다. 연결이 안정적으로 유지된다.
- 스트림 기반 전송
- 데이터를 연속된 바이트 스트림으로 전송한다. 데이터의 경계가 없으며, 순서가 보장된다.
- 신뢰성
- 데이터 전송의 신뢰성을 보장한다. 패킷 손실, 중복, 순서 변경 등을 TCP 프로토콜이 자동으로 처리한다.
- 오버헤드
- 연결 설정과 유지에 따른 오버헤드가 있다.
- 용도
- 웹 브라우징, 이메일 전송, 파일 전송 등에 주로 사용된다.
- 연결 지향
728x90
'Study > TIL(Today I Learned)' 카테고리의 다른 글
24.06.10 복습 (1) | 2024.06.10 |
---|---|
24.06.09 복습 (0) | 2024.06.10 |
24.06.07 복습 (0) | 2024.06.07 |
24.06.06 복습 (0) | 2024.06.07 |
24.06.05 복습 (0) | 2024.06.06 |