개요
오늘은 OSI 7 계층 중 5 계층에 속한 세션 계층을 정리할 차례이다.
레츠기릿
세션 계층의 역할
이전까지 정리했던 1~4계층(물리 계층부터 전송 계층까지)은 데이터의 전송을 담당한다.
예를 들어, 물리적으로 데이터를 전송하고, 오류를 처리하고, 데이터를 세그먼트로 나누어 목적지로 보내는 일을 한다.
반면 세션 계층인 5계층부터 애플리케이션 계층인 7 계층까지는 컴퓨터 내에서 실행되는 프로세스 간의 통신과 관련된 계층이다.
세션 계층의 예시
쉽게 말하면 ‘서울에 있는 철수에게 카톡 보내기’에서 전달은 물리 계층부터 전송 계층이 담당하고, 그 다음은 컴퓨터 내부에서 실행되는 카톡 애플리케이션에서 철수와의 채팅방을 어떻게 연결을 유지할지, 어떤 식으로 데이터를 시각화할지를 관리하는 계층은 세션 계층부터 애플리케이션 계층까지인 것이다.
여기서 세션 계층은 이런 식으로 애플리케이션 레벨에서 연결 상태가 수립되고, 유지되다가 마지막엔 종료되는 역할을 담당한다.
만약 내가 바탕화면에 카카오톡을 백그라운드에서 실행시켜놔도, 철수에게 카톡이 오면 바로 채팅방 알림이 뜬다.
이렇게 세션 계층이 카카오톡 애플리케이션 간 연결을 유지하고 있기 때문이다.
세션 계층의 기능
전이중 통신
전이중 통신에서는 양방향 통신이 동시에 이루어진다. 세션 계층에서는 이 연결을 유지하며, 두 애플리케이션 간의 통신이 동시에 이루어질 수 있도록 세션을 관리한다.
ex) 전화통화
반이중 통신
반이중 통신에서는 데이터 전송이 양방향으로 이루어지지만, 동시에 하나의 방향으로만 이루어진다. 세션 계층은 이때 데이터 흐름을 제어하고, 전송 방향을 순차적으로 변경하여 데이터를 주고받을 수 있도록 한다.
ex) 군대에서 사용되는 무전기 (동시에 송신과 수신이 불가능함)
단방향 통신
단방향 통신에서는 데이터가 오직 하나의 방향으로만 흐른다. 세션 계층은 연결을 설정하고 유지하되, 데이터 흐름이 한쪽 방향으로만 이어지도록 관리한다.
ex) TV 방송 (송신자 : 방송국, 수신자 : 시청자)
SSH
우리가 AWS EC2에 접속할 때 사용되는 Shell도 세션 계층에 의해 사용되는 기술이다. 실제 원격으로 실행되는 서버와 연결을 유지하는 것이다. 이를 통해 실시간으로 Shell에 명령어를 실행해 원격으로 컴퓨터를 조작할 수 있는 것이다.
느낀 점
계속해서 세션 계층을 이전 1 계층 ~ 4 계층과의 관계를 묶어서 생각을 했는데, 이러한 생각을 버리고 단순히 컴퓨터 상에서 실행되고 있는 애플리케이션의 관점에서 바라보니까 더 쉽게 이해할 수 있었던 것 같다..
참고로 오늘 네트워크 관련 서적을 구매했다.. 책이 절판돼서 무려 중고로..!
'개발 일기' 카테고리의 다른 글
[개발 일기] 2025.01.12 - OSI 7계층 (응용 계층) (0) | 2025.01.12 |
---|---|
[개발 일기] 2025.01.11 - OSI 7계층 (표현 계층) (0) | 2025.01.11 |
[개발 일기] 2025.01.09 - OSI 7계층 (전송 계층) (0) | 2025.01.09 |
[개발 일기] 2025.01.08 - OSI 7계층 (네트워크 계층) (0) | 2025.01.08 |
[개발 일기] 2025.01.07 - OSI 7계층 (데이터 링크 계층) (0) | 2025.01.07 |