[네트워크] 14. 세션 계층, 표현 계층, 응용 계층 (L5, L6, L7)

2025. 12. 12. 01:22·컴퓨터공학/네트워크

1. 세션 계층 (L5)

세션 계층: 응용 프로그램 간의 대화(dialogue)를 유지하고 관리하며, 통신 중 연결이 끊어지지 않도록 하거나 오류 발생시 복구하는 기능을 수행한다.

 

* 대화(dialogue): 메시지가 왔다갔다 하는 것

 

(1) 동기(synchronization) 기능: 오류 복구 기능

  • 전송 중 오류 발생 시 효율적인 복구를 위해 동기점(Synchronization Point) 일종의 savepoint 지점을 설정한다.
    즉, 동기 지점이 설정되었다는 의미는 해당 내용까지는 전송이 완료되었다는 의미
  • 오류가 발생하면 처음부터 다시 보내는 것이 아니라, 합의된 동기점 이후의 데이터만 복구(재동기, Resynchronization)한다.
  • 주동기점: 대화의 큰 단위가 완료되는 지점. 이전 데이터는 완벽히 처리되었음을 보장하므로, 이 지점 이전으로 롤백(Rollback)하지 않는다.
  • 부동기점 : 대화 내의 작은 단위. 오류 시 이전 부동기점으로 복구하며, 복구가 안 되면 그 전 단계로 이동한다.

 

(2) 토큰 관리

: 대화의 권한을 관리하기 위해 토큰이라는 특수 메시지를 사용한다.

  • 데이터 토큰: 데이터를 전송할 권한
  • 해제 토큰: 연결을 끊을 권한
  • 동기 토큰: 동기 처리가 필요한 시점에 사용 (주동기 토큰, 부동기 토큰)

 

(3) 세션 연결 방식

  • 다중 세션 연결 지원 서버 (Iterative Server): 하나의 서버 프로세스가 여러 클라이언트를 순차적으로 처리한다. 서비스 시간이 짧은 경우에 적합함. (fork 하지 않는 서버: 응답시간이 길어질 수 있따)
  • 단일 세션 연결 지원 서버 (Concurrent Server): 클라이언트 요청마다 새로운 프로세스를 생성(fork)하여 병렬로 처리함. 텔넷, FTP 등이 이 방식을 사용하며 오버헤드가 발생할 수 있다.

2. 표현 계층 (L6)

표현계층: 시스템 간 데이터 표현 방식(인코딩, 암호화 등)의 차이를 처리하여 상호 이해할 수 있게 한다.

 

[추상 문법 vs 전송 문법]

: 컴퓨터마다 문자를 표현하는 방식(예: ASCII vs EBCDIC)이 다를 수 있어서 변환하는 과정이 필요하다.

 

  • 추상 문법: 각 컴퓨터가 내부적으로 사용하는 데이터 표현 규칙. (한국어)
  • 전송 문법: 네트워크 전송 시 일관성을 위해 사용하는 표준화된 표현 규칙. (만국공통어)

송신 측은 추상 문법을 전송 문법으로 변환(Encoding)하여 보내고, 수신 측은 이를 다시 자신의 추상 문법으로 변환(Decoding)해서 확인한다. (예: 소켓의 htonl, ntohl 함수)

 

[데이터 압축과 보안]

  • 압축: 전송될 비트 수를 줄이기 위한 것
  • 보안: 중간에 스니핑시 데이터를 알아보지 못하게 하는 것

3. 응용 계층 (L7)

응용계층: 하위 계층을 이용하여 사용자에게 편리한 서비스를 제공하는 환경.

(응용계층의 하부 계층은 신뢰성 있는 데이터 전송을 보장하는 것이다.)

 

  • 클라이언트-서버 모델: 가장 보편적인 모델로, 서버는 대기 상태(Listen)에 있고 클라이언트가 요청(Request)을 보낸다.
  • 연결형 vs 비연결형:
    • UDP: 비연결형, 빠르지만 신뢰성 낮음. (데이터 분실, 도착순서오류)
    • TCP: 연결형, 신뢰성 높음, 처리속도 느림 (프로토콜 복잡, but 대부분 TCP를 사용한다.)
  • 상태정보: 서버가 클라이언트의 이전 요청 내용을 기억하고 있는지 여부
    • 상태 서비스 (Stateful): 서버가 클라이언트와의 이전 동작과 연계된 정보를 유지함. 오류 복구가 복잡할 수 있음.
    • 비상태 서비스 (Stateless): 서버가 클라언트의 상태를 저장하지 않음. 모든 요청은 독립적이고, 요청 하나에 필요한 모든 정보가 다 들어있어야한다. 오류 복구 과정이 간단 (상태정보를 복구할 필요 없이 재전송만 하면 끝남) HTTP에서 서버는 클라이언트를 기억할 필요 없이 요청 하나만 딱 처리해주면 끝남.
  • 동시성 (Concurrency):
    • 서버 하나가 여러 클라이언트를 동시에 처리하는 것처럼 보이는 것(빠른 Context Switching으로 동시에 실행되는 것처럼 속임).
    • 독립적인 프로세스 실행 순서가 결과에 영향을 주지 않아야 한다.

 

'컴퓨터공학 > 네트워크' 카테고리의 다른 글

[네트워크] 15. HTTP, DNS, FTP, TFTP, 네트워크보안  (0) 2025.12.12
[네트워크] 13. 소켓 프로그래밍 2 (비동기 통신 / 반복 서버 / 동시 동작 서버)  (0) 2025.12.11
[네트워크] 12. 소켓 프로그래밍 1 (소켓 주소 / 핵심 함수 / TCP, UDP 서버 클라이언트 흐름)  (0) 2025.12.11
[네트워크] 11. 전송 계층 (L4: 3-way handshake, TCP, UDP, RTP)  (0) 2025.12.10
[네트워크] 10. 네트워크 계층 2 (L3: 라우터, LPM, 버퍼링, IPv6, SDN)  (0) 2025.12.10
'컴퓨터공학/네트워크' 카테고리의 다른 글
  • [네트워크] 15. HTTP, DNS, FTP, TFTP, 네트워크보안
  • [네트워크] 13. 소켓 프로그래밍 2 (비동기 통신 / 반복 서버 / 동시 동작 서버)
  • [네트워크] 12. 소켓 프로그래밍 1 (소켓 주소 / 핵심 함수 / TCP, UDP 서버 클라이언트 흐름)
  • [네트워크] 11. 전송 계층 (L4: 3-way handshake, TCP, UDP, RTP)
sophon
sophon
sophon 님의 블로그 입니다.
  • sophon
    sophon 님의 블로그
    sophon
    • 카테고리 (172) N
      • 컴퓨터공학 (36)
        • 데이터베이스 (19)
        • 네트워크 (15)
        • 기타 이슈 (2)
      • 프로젝트 (16)
        • Java (8)
        • Spring (4)
        • Docker (4)
      • 코딩테스트 (95) N
        • BOJ (74)
        • 프로그래머스 (7)
        • 프로그래머스 SQL (12) N
        • PS Snippets (2)
      • 🌱 잡담 (22)
        • 자격증 (7)
        • 좋은 시 모음 (12)
        • 책과 영화 (3)
        • 기록 (0)
  • 전체
    오늘
    어제
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
sophon
[네트워크] 14. 세션 계층, 표현 계층, 응용 계층 (L5, L6, L7)
상단으로

티스토리툴바