본문 바로가기

CS 전공지식/네트워크

[네트워크] OSI 7계층(세션 계층, 표현 계층)

저번 시간에는 전송 계층의 TCP 프로토콜에 대해 알아봤습니다.

오늘은 5계층인 세션 계층과 6계층인 표현 계층에 대해 알아보겠습니다.

 


세션 계층

세션 계층은 통신하려는 두 컴퓨터 내의 프로세스를 연결하기 위해 세션을 생성하고 이를 유지, 해제하는 계층으로, 세션은 두 컴퓨터 사이의 대화의 장이라고 생각하면 됩니다.

 

- 데이터 전송 과정

세션 계층 - 데이터 전송 과정

송신 측의 세션 계층은 표현 계층에서 데이터를 받아 데이터 사이에 동기점(syn)을 삽입한 뒤 전송계층에 전달합니다. 데이터에 동기점을 삽입하는 이유는 오류가 발생할 때 효율적으로 에러를 복구하기 위함입니다. 데이터 전송 중 오류가 발생했을 때, 전체 데이터를 다시 보내는 것은 시간도 오래 걸리고 비효율적입니다. 동기점을 이용하여 오류가 발생한 지점의 동기점부터 재전송한다면 좀 더 효율적으로 에러를 복구할 수 있기 때문에 동기점을 활용하여 에러를 복구합니다.

수신 측은 송신 측과 반대로 전송계층에서 데이터를 받아 동기점을 제거한 뒤 표현 계층으로 데이터를 전달합니다.

 


- 전이중 & 반이중

세션 계층은 두 컴퓨터 사이의 세션을 생성하는데, 이 세션을 통해 두 컴퓨터가 대화를 한다고 생각할 수 있습니다. 이때 대화의 방법에는 전이중과 반이중 방식이 있습니다.

전이중 방식은 데이터 송, 수신이 동시에 이루어지는 방식입니다. 대표적인 전이중 방식의 예로는 다른 사람과 휴대폰을 통해 전화를 하는 것이 있습니다. 통화를 할 때, 동시에 두 사람이 말해도 서로의 목소리가 잘 들리고 끊김이 없는데 이것이 전이중 방식입니다.

세션  계층 - 전이중 방식

반이중 방식은 양쪽 다 송수신이 가능하지만, 한쪽이 송신하고 있을 때 다른 쪽은 수신밖에 하지 못하는 방식입니다. 무전기는 동시에 말하는 것이 불가능한 통신장치로 반이중 방식의 대표적인 예입니다.  무전기를 통해 다른 사람과 대화할 때, 한 사람이 말하고 있으면 다른 사람은 무조건 듣고 있을 수밖에 없는데 이를 반이중 방식이라고 합니다.

세션 계층 - 반이중 방식

 


표현 계층

표현 계층은 다양한 형태의 데이터를 세션 계층이 다룰 수 있는 형태로 바꿔주는 계층입니다. 상위 계층인 응용계층이 다양하기 때문에 그만큼 데이터가 다양하게 표현되어 있습니다. 이러한 다양한 형식의 데이터를 표현 계층이 공통된 형식으로 바꿔줌으로써 세션 계층이 데이터를 이해할 수 있고, 데이터 표현에 대한 독립성을 제공합니다.

 

- 데이터 전송 과정

표현 계층 - 데이터 전송 과정

송신 측의 표현 계층은 응용 계층에서 데이터를 받은 뒤, 효율적으로 전송하기 위해 압축을 하고 데이터의 보안을 위해 암호화를 합니다. 그런 뒤 헤더를 붙여 세션 계층에 전달합니다. 헤더에는 암호화 방식과 압축 방식에 대한 설명이 포함되어 있습니다.

수신 측은 송신 측과는 반대로 압축과 암호를 풀고 응용계층에 데이터를 전달합니다.

 


- 압축과 암호화

압축은 원래의 데이터의 크기를 줄이는 것으로 전송 속도를 높이기 위해 사용하는 방식입니다. 모든 경우에 적용되는 가장 좋은 압축 알고리즘이란 없으며, 데이터 특성에 맞는 압축 방법을 사용해야 합니다. 예를 들어 이미지를 압축할 경우 JPEG가 사용되고, 그래픽을 압축하는 경우 GIF가 사용됩니다.

암호화는 데이터가 유출되더라도 원래의 의미를 이해할 수 없도록 의미 없는 다른 문자로 변환하는 것을 의미합니다. 송신 측에서는 데이터를 암호화해서 전송해야 하고 수신 측에서는 암호화된 데이터를 원래의 데이터로 변환해야 하는데 이를 복호화라고 합니다.

(암호화/복호화하는 방법은 프로토콜마다 다르며, 표현 계층에서 암호화를 한다 정도만 아시면 됩니다!)

 


지금까지 세션 계층과 표현 계층에 대해 알아봤습니다!

다음 시간에는 OSI의 마지막 계층인 응용 계층에 대해 알아보겠습니다!