네트워크 OSI 7 계층

2

CS 지식

목록 보기
2/7
post-thumbnail

네트워크 관련 개념을 공부하던 중에 '데이터를 패킷으로 감싼다' 이런 개념이 많이 나왔습니다. 대략적으로 이해를 하고 있다가 스터디 중에 검색키워드를 알려주셔서이 부분에 대해서 조금 더 정리를 하면 좋겠다고 생각을 했습니다.

네트워크에서 전송이 이루어질 때는 데이터가 단순히 전송만되는 것이 아니라 포트정보, IP 정보 등등이 같이 전달이 됩니다. 자세한 내용은 아래 게시글을 통해서 확인해보시면 좋습니다.

네트워크 기본 개념

제가 다룰 내용은 데이터가 어떤 과정을 거쳐서 전달이 되는지에 대한 것입니다.

네트워크 OSI 7계층

위에 보이는 이미지가 네트워크 OSI 계층을 한 눈에 보도록 만든 이미지입니다.
왼쪽은 각 계층의 이름이고 가운데 내용은 계층의 기능 마지막은 데이터 단위의 이름입니다.
글은 OSI 개념을 다루고 프로그램 사용자 입장인 응용계층부터 정리하고 유튜브 영상에 나온 편지발송의 예를 적겠습니다.

위키피디아블로그1,블로그2,유튜브를 참고하여 작성했습니다.

네트워크 OSI?

네트워크 OSI란 국제표준기구 (ISO)에서 발표한 것으로 '인터넷 연결을 할 떄 이렇게 설계를 하면 통신이 정상적으로 작동을 할것이다'라는 권고안입니다. 즉 따르지 않아도 되지만 따르지 않는다면 정상적인 연결은 보장을 할 수 없는 구조입니다.

응용 계층 (application layer)

우리가 사용하는 프로그램들을 '응용프로그램'이라고 합니다. 또한 우리가 사용하는 어플,앱이라는 말은 영어단어 'application'에서 온 것이지요. 그래서 응용계층은 우리가 사용하는 웹 브라우저, 어플 등등에서 하는 활동입니다. 편지를 발송하는 과정 중 편지를 작성하는 과정을 응용계층에서 담당한다고 볼 수 있습니다.

표현 계층 (presentation layer)

다음으로 표현 계층은 말그대로 응용계층에서 내린 명령, 발송한 데이터 등을 어떻게 표현할지 정해주는 계층입니다.

  • 암호화: 암호가 설정되어있으면 이 자료는 암호를 해석해야한다 알려줌
  • 인코딩: 언어가 중국어로 작성이 되었으면 영어가 아니라 중국어로 읽어야 함을 알려줌
  • 압축 : 해당 자료가 압축이 되어있다면 압축해제가 필요함을 알려줌

이와같이 자료를 받는 상대방도 보내는 사람의 의도대로 자료를 확인하기 위해 공통된 양식으로 표현을 하는 계층이라고 할 수 있습니다. 편지를 발송할 때 상대방으로 하여금 이 편지가 중국어인지 영어인지, 암호로적힌 건지 텍스트로 적힌 건지 등을 알려주는 계층입니다.

세션 계층 (session layer)

세션 계층은 '연결'을 담당하는 계층입니다.
연결을 생성(created), 유지(establish), 종료(close)를 관리하는 층입니다.
연결 방식에는 한쪽만 전달이 가능한 단방향, 무전기와 같이 한쪽이 연락을 할 때는 상대방이 연락을 할 수 없는 반이중, 전화와 같이 동시에 전달이 가능한 전이중이 있습니다.

전송 계층 (transport layer)

전송계층은 전송을 위해서 포트번호를 정하는 계층입니다. 포트는 전송할 대상이 누구인지 파악하는 것이라 생각할 수 있습니다. 이와 더불어 TCP / UDP 중 어떤 방식을 사용할지 결정합니다.

편지 주소 중에 이름인 '김철수'가 포트번호에 해당이 됩니다. 철수씨에 맞는 포트번호를 지정해주어야 편지가 잘 발송 될 수 있습니다.

네트워크 계층 (network layer)

네트워크 계층에서는 도착할 곳으로 어떤 경로로 가야할지 안내를 해주는 계층입니다. 이 때 사용되는 것이 IP입니다.

경기도 성남시 분당구 판교로 000

위 주소에서 편지가 적절히 목적지를 찾아가기 위해서는 경기도-> 성남시 -> 분당구 -> 판교에 과정을 거쳐서 방문을 하는 것이 가장 적절할 것입니다. 저 주소 자체는 IP라 하고 그 찾아가는 최단 경로는 라우팅을 통해서 확인할 수 있습니다.

데이터링크 계층에서는 아파트의 호수에 해당하는 MAC(media access control)이라는 고유주소를 확인 가능합니다.
맥 주소는 하드웨어에 보유된 고유한 번호로 중복되거나 변경되서는 안됩니다. 이 맥주소를 통해서 좀 더 효율적으로 우리가 찾고자 하는 '김철수'씨를 찾을 수 있는 것입니다.

물리계층 (physical layer)

0과 1로 되어있는 데이터를 전기신호로 바꿔주는 계층입니다. 이를 통해 전선을 통해서 정보가 전달이 됩니다. 물리계층에서는 0과1로 데이터가 구성이 되어서 데이터단위는 'bit'입니다. 조금 더 하드웨어적인 부분은 나중에 필요할 때 포스팅하겠습니다.

캡슐화 (encapsulation)와 역캡슐화

데이터를 전달하는 과정에서 데이터는 응용계층부터 시작해서 물리계층까지 여러 단계를 거치게 됩니다. 각 계층을 거칠 때마다 해당 계층의 기능을 위해서 헤더가 추가됩니다. 이 과정이 데이터를 캡슐로 감싸는 것과 같아 캡슐화라고 합니다.
반대로 수신측에서는 받은 정보를 다시 확인할 수 있는 응용프로그램에서 열려면 각각의 헤더를 떼어내는 과정이 필요하고 이를 역캡슐화 라고 합니다.

profile
기록을 통해 한 걸음씩 성장ing!

0개의 댓글