Study/TIL(Today I Learned)

24.06.08 복습

에린_1 2024. 6. 10. 21:49
728x90

복습

파일 디스크립터(File Descriptor, FD)

  • 운영 체제에서 파일이나 입출력 자원에 접근하기 위해 사용되는 추상적인 핸들 또는 참조 번호이다.
  • 주로 유닉스 계열 운영 체제(리눅스 포함)에서 많이 사용되며, 파일 디스크립터는 프로세스가 열어놓은 파일, 소켓, 파이프 등을 식별하는 데 사용한다.

특징

  1. 정수 형태
    • 파일 디스크립터는 정수 형태의 값으로, 각 파일 디스크립터는 프로세스 내에서 고유하다.
  2. 표준 파일 디스크립터
    • 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) 프로토콜을 사용한다.
  • 특징
    1. 연결 지향 없음
      • 송신자와 수신자 간에 연결을 설정하지 않고 데이터를 전송한다. 각 메시지는 독립적으로 처리된다.
    2. 패킷 기반 전송
      • 데이터를 작은 패킷 단위로 전송한다. 각 패킷은 독립적으로 전송되며, 순서가 보장되지 않는다.
    3. 빠름
      • 연결 설정 없이 전송하므로 오버헤드가 적고 속도가 빠르다.
    4. 신뢰성 없음
      • 패킷 손실, 중복, 순서 변경이 발생할 수 있다. 애플리케이션에서 이러한 문제를 처리해야 한다.
    5. 용도
      • 실시간 애플리케이션(스트리밍, 온라인 게임), DNS 조회, SNMP등에 주로 사용된다.

Stream Socket

  • Stream 소켓은 연결 지향형 소켓으로, TCP(Transmission Control Protocol) 프로토콜을 사용한다.
  • 특징
    1. 연결 지향
      • 송신자와 수신자 간에 연결을 설정한 후 데이터를 전송한다. 연결이 안정적으로 유지된다.
    2. 스트림 기반 전송
      • 데이터를 연속된 바이트 스트림으로 전송한다. 데이터의 경계가 없으며, 순서가 보장된다.
    3. 신뢰성
      • 데이터 전송의 신뢰성을 보장한다. 패킷 손실, 중복, 순서 변경 등을 TCP 프로토콜이 자동으로 처리한다.
    4. 오버헤드
      • 연결 설정과 유지에 따른 오버헤드가 있다.
    5. 용도
      • 웹 브라우징, 이메일 전송, 파일 전송 등에 주로 사용된다.
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