개발일반/도대체

도대체 Software Layers는 무엇일까요?

문괜 2023. 2. 23. 12:00
반응형

Software Layers를 구성하는 3개의 Layers가 있습니다. 바로 Session Layer, Presentation Layer, Application Layer입니다. 여기서부터는 사용자가 사용하는 부분과 좀 더 가깝습니다. 

 

그럼 먼저 Session Layer(SL)에 대해 설명 드리겠습니다.

 

SL의 역할은 일단 연결과 유지, 보안 그리고 인증입니다. 간단하죠? 지금 여태까지 모든 글에서 다 똑같은 역할을 하는 거 같은데 왜 다르지 하는 의문이 들 수 있습니다. 이에 대해서 추후 설명 드릴 테니 걱정 마세요.(걱정 안 했음 뭐 어쩔 수 없죠.) 사실 좀 있음 반전이 하나 나옵니다! 위의

 

역할을 위해서 SL에는 세 가지의 기능들이 있습니다.

1.Session Establishment, Maintenance, and Termination

이 기능은 연결(Connection)을 만들고 사용하고 제거하기 위해 존재합니다.

 

2.Synchronization

이 기능은 Checkpoint를 추가하는데요 이 Checkpoint는 Synchronization Point라고도 불립니다. 이 Checkpoint는 추후에 에러가 발생했을 시 확인을 가능하게 해 줍니다. 또한 오류 발생 이후 다시 연결을 할 때 사용됩니다.

 

3. Dialog Controller

Half-duplex와 full-duplex를 사용하여 연결을 합니다.

 

그 다음으로는 Presentation Layer(PL)가 있습니다.

PL의 경우 Translation Layer이라고도 합니다. 아마 Transport Layer랑 헷갈릴까 봐 일부러 이렇게 만든 거 같아요. 제 뇌피셜입니다. 여기서는

Application Layer에서 내려오는 정보를 해석해서 보내질 수 있는 형태로 바꿉니다. 

 

그래서 위의 역할을 하기 위해 아래와 같은 기능을 사용합니다. 

 

1. Translation : Ascii 같은 걸로 바꿔 줍니다.

2. Encryption/Decryption: Key: Value 형태로 암호화합니다. 그리고 이와 같은 형태로 이용해 암호를 해제합니다. 

3. Compression: 용량이 너무 크면 안 되겠죠? 우리 압축하듯이 PL에서도 압축을 합니다.

 

드디어 마지막으로 Application Layer입니다. 

이거는 Presentation Layer보다 간단합니다. 바로 우리가 사용하는 모든 웹사이트, 브라우저, 메신저가 해당됩니다. 여기서

만들어지는 모든 데이터들이 통신을 주고받을 때 사용하는 게 바로 하위에 존재하는 다양한 Layers들입니다.

 

이렇게 해서 총 7개의 Layers들에 대한 설명을 끝 맞히겠습니다. 원래는 각 Layer별로 하나씩 해서 거의 2주를 꿀빨 생각이었는데 제가 취직을 위해 하고 있는 일이다 보니 3일로 끝내게 됐습니다. 그런데 여기서 사실 반전이 있습니다. 왜냐하면 OSI Model은 처음 언급했듯이 개념적이지 완전히 기술적으로 구현된 거 아닙니다. 그래서 실제로는 그냥 7개의 Layers가 있고 각 Layer별 이름만 알아도 괜찮습니다. 

 

그러면 실질적으로 많이 사용되는건 무엇일까요? 바로 TCP/IP 그리고 IPv4, IPv6입니다. 

하지만 시작하기 이전에 컴퓨터 통신에 대해서 먼저 정리를 하고 가야 할 거 같습니다. 

그러니 다음에는 컴튜터 통신과 네트워크에 대한 설명을 드리겠습니다.

 

도대체 컴퓨터 네트워크와 통신은 뭘까요?

 

감사합니다!

 

참고자료

GeeksforGeeks: Layers of OSI Model

 

Layers of OSI Model - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

* 항상 정확한 정보를 드리고 싶지만 실수가 있을 수도 있습니다! 

* 실수를 찾게 되거나 질문이 있으시면 댓글 달아주세요!!

반응형