기출문제/정보처리기사

2020년 4회 정보처리기사 기출문제 65번

엉클지니 2025. 4. 3. 18:36

65. OSI 7계층에서 단말기 사이에 오류 수정과 흐름제어를 수행하여 신뢰성 있고 명확한 데이터를 전달하는 계층은?

     전송 계층     응용 계층

    세션 계층    표현 계층

 

 

 

이 문제는 OSI 7계층에 대한 이해를 묻는 문제입니다. OSI 7계층은 네트워크 통신에서 데이터를 전송하고 처리하는 여러 단계를 정의하는 모델입니다. 각 계층은 특정한 역할을 맡고 있으며, 이 중에서 오류 수정과 흐름 제어를 담당하는 계층을 찾는 문제입니다.

OSI 7계층

OSI(Open Systems Interconnection) 7계층은 네트워크 통신을 7단계로 나누어 각각의 역할을 정의한 모델입니다. 각 계층은 아래와 같습니다:

  1. 물리 계층 (Physical Layer): 전기적 신호와 물리적 연결 담당
  2. 데이터 링크 계층 (Data Link Layer): 오류 수정과 흐름 제어 담당
  3. 네트워크 계층 (Network Layer): 라우팅 및 경로 설정
  4. 전송 계층 (Transport Layer): 신뢰성 있는 데이터 전송, 흐름 제어, 오류 수정 담당
  5. 세션 계층 (Session Layer): 세션 관리, 통신 연결 유지
  6. 표현 계층 (Presentation Layer): 데이터 형식 변환, 암호화, 압축
  7. 응용 계층 (Application Layer): 사용자와의 직접적인 상호작용 담당

문제 분석

문제: OSI 7계층에서 단말기 사이에 오류 수정과 흐름 제어를 수행하여 신뢰성 있고 명확한 데이터를 전달하는 계층은?

  • 전송 계층 (Transport Layer)
    • 오류 수정과 흐름 제어를 담당하는 계층입니다.
    • 신뢰성 있는 데이터 전송을 위해 데이터를 분할하고, 전송 후 오류를 확인하며 재전송을 요청하는 기능을 제공합니다.
    • 예시: **TCP (Transmission Control Protocol)**는 전송 계층에서 동작하며, 오류 수정과 흐름 제어를 제공합니다.
  • 응용 계층 (Application Layer)
    • 사용자가 프로그램과 상호작용하는 계층으로, 오류 수정이나 흐름 제어와는 관련이 없습니다.
  • 세션 계층 (Session Layer)
    • 두 시스템 간의 세션을 관리하는 계층으로, 통신의 시작과 종료를 담당합니다. 오류 수정이나 흐름 제어와는 직접적인 관련이 없습니다.
  • 표현 계층 (Presentation Layer)
    • 데이터의 표현 방식(형식, 압축, 암호화 등)을 담당하는 계층입니다. 오류 수정과 흐름 제어와는 관련이 없습니다.

결론

따라서 **오류 수정과 흐름 제어를 담당하는 계층은 '전송 계층'**입니다. 전송 계층은 데이터의 신뢰성을 확보하고 흐름 제어오류 수정을 수행하여 데이터를 정확하게 전달합니다.

3. 정답

정답은 ❶ 전송 계층입니다. 📡

4. 정리 (표로)

계층 주요 기능

물리 계층 전기적 신호와 물리적 연결 담당
데이터 링크 계층 오류 수정, 흐름 제어, 프레임 전송
네트워크 계층 라우팅, 주소 지정, 패킷 전송
전송 계층 오류 수정, 흐름 제어, 신뢰성 있는 데이터 전송
세션 계층 세션 관리, 통신 연결 유지
표현 계층 데이터 형식 변환, 압축, 암호화
응용 계층 사용자와의 상호작용, 애플리케이션 지원

5. 예시 코드 (TCP의 흐름 제어)

import java.net.*;
import java.io.*;

public class TCPClient {
    public static void main(String[] args) throws IOException {
        Socket socket = new Socket("localhost", 8080);
        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
        BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

        // 데이터 전송
        out.println("Hello, Server!");

        // 서버로부터 응답 받기
        String response = in.readLine();
        System.out.println("Server: " + response);

        // 연결 종료
        socket.close();
    }
}

이 코드에서 TCP는 전송 계층에서 동작하며, 데이터가 신뢰성 있게 전송될 수 있도록 흐름 제어 및 오류 처리를 합니다.


결론

정답은 ❶ 전송 계층입니다. 전송 계층은 데이터를 신뢰성 있게 전송하고, 오류 수정과 흐름 제어를 수행하여 정확한 통신을 보장합니다. 🎉

반응형