제이제이
article thumbnail

 

💁🏻‍♂️프로토콜 계층과 서비스 모델


🤔 프로토콜 스택(계층)이란?

 

👉🏻 계층 구조


→ 출발 공항과 도착 공항에서의 서비스들은 똑같이 대응됩니다.

→ 마찬가지로 통신 프로토콜도 보내는 쪽과 받는 쪽의 서비스가 대응되기 때문에 이를 레이어로 만듭니다.

 

 

🔎인터넷 프로토콜

 

🔎OSI 7계층

🤔 OSI 7계층이란?

  • OSI = Open System Interconnection의 약자
  • OSI Layer를 결정하는 기관 = ISO(International Standard Organization : 국제 표준화 기구)에서 OSI 7계층을 표준으로 작성하였습니다.

→ “모든 통신 프로토콜은 해당 표준을 따르면 네트워크에 접속이 가능하다”라는 의미를 내포하고 있습니다.

→ 어떤 기관 내에서만 쓰는 네트워크가 아니라 개방해서 모두가 연결 할 수 있는 네트워크를 의미하는데, 해당 표준을 지켜야 한다는 것을 의미합니다.

  • OSI 7계층은 인터넷 프로토콜에 비해 2가지 레이어가 더 들어있습니다.

→ 인터넷 프로토콜에도 해당 레이어가 응용 계층에 포함되어 있으나, ISO가 더욱 세분화해서 별도의 레이어로 만들어 두었습니다.

 

🤔 OSI 7계층은 왜 만든거야?

  • 인터넷(프로토콜)이 먼저 만들어 진 후 OSI 7계층이 만들어 졌습니다.

 

인터넷

  • 원래는 군사용 목적이었다가 이후 일반인에게 공개되면서 상용화됨

→ “인터넷이나 다른 네트워크에 접속하려면, 표준의 프로토콜을 만들어야겠다!”라고 생각하게됨

→ OSI 7계층을 만듬

 

👨🏻‍🏫 결론

  • OSI 7계층은 인터넷(인터넷 프로토콜)이 만들어진 후 한참 뒤에 더욱 세분화해서 나눈 것으로, 인터넷 프로토콜은 5계층인 반면 OSI는 7계층입니다.

 

 

🤔 왜 레이어를 만든거야?

  • 레이어를 만들어서 각 서비스를 모듈화해서 편리하기 때문입니다.

 

😒 모듈화하면 장점은?

  • 해당 계층에 속한 개발자들, 기술자들은 자신이 속한 계층의 모듈만 잘 개발하고 관리하면 됩니다.

 

ex) 물리계층과 링크 계층

  • 물리계층을 쌍꼬임선에서 광케이블로 바꿈

→ 링크 계층의 기술자는 영향을 받지 않고 작업을 수행할 수 있습니다.

→ 해당 계층에 새로운 신 기술들이 출시되거나, 변경될 때 개인이 속한 계층이 아니라면 아무런 영향을 받지 않습니다.

→ 각 기술자들은 자신의 영역만 열심히 연구하고 발전할 수 있습니다.

 

🤫 그럼 장점만 있는거야?

  • 경우에 따라서는 비효율적일 수도 있습니다.
  • 하나의 계층 서비스를 구현할 때 아래 계층의 상황, 지식이 있다면 좀 더 효율적으로 서비스를 구현할 수 있습니다.

→ 계층을 정확해 나누어서, 정해진 정보만 주도록 설계가 되어 있기 때문에 효율성을 떨어트릴 수도 있습니다.

 

ex) 네비게이션 시스템을 만들때, 목적지까지의 길을 설정한다면?

 

과거의 네비게이션

  • 지도만 보고 출발지에서 목적지까지의 최단 경로를 찾아줍니다.

→ 네트워크 계층에서 길의 정보만을 보고 설정한 것

 

현재의 네비게이션

  • 최단 경로뿐만 아닌 “해당하는 길이 얼마나 혼잡한가? 차량이 얼마나 많은가?”를 제공합니다.

→ 이를 통해 실시간 네비게이션 정보를 제공합니다.

→ 현재 실시간으로 길이 혼잡한 정보는 물리계층을 통해 전달됨으로, 보다 물리계층에 대한 개념이 있다면 좋은 결정을 할 수 있습니다.

 

→따라서 요즘에는 계층의 엄격한 구분을 없앤 프로토콜도 많이 제안되고 있습니다.

 

🔎캡슐화


 

🏃🏻‍♂️ 출발지 엔드 호스트(Source)

  • 응용 계층(Appliction Layer) = 메신저 프로그램을 통해 보내고 싶은 메시지를 생성함 ⇒ 메시지(Message)

 

  • 전송 계층(Transport Layer) = 데이터 전송을 위한 정보들을 헤더에 붙임 ⇒ 세그먼트(Segment)

 

  • 네트워크 계층(NetWork Layer) = 목적지까지 길을 찾는데 필요한 제어정보들을 헤더에 붙임 ⇒ 데이터 그램(Datagram)

 

  • 링크 계층(Link Layer) = 이더넷 주소 같은 주소들이 헤더에 붙임⇒ 프레임(Frame)

 

  • 물리계층 = 유선이나 무선을 통해 전송됩니다.

 

🌲 중간에 거치는 스위치, 라우터들

  • 스위치 = 2계층 장치(링크 계층까지 동작함)

역할: 물리 계층을 통해 연결된 장치가 보낸 패킷을 받아 목적지 호스트로 가는길에 전달합니다.

 

  • 라우터 = 3계층 장치(네트워크 계층까지 동작함)

역할: 출발지 엔드 호스트에서 목적지 엔드호스트까지 패킷을 어떤 경로로 전송할 것인지를 결정합니다.

 

🦈 목적지 엔드 호스트(Destination)

  • 각 계층별로 담긴 정보들을 오픈해서 최종적으로 원래 출발 호스트가 보내고 싶은 메시지를 응용 계층에게 전달해줍니다.

 

👨🏻‍🏫 정리

⇒ 이렇게 출발 엔드 호스트(Source)에서 목적지 엔드 호스트(Destination)까지 패킷을 전달하면서 응용 계층의 메시지에 각 계층을 거치면서 헤더를 붙이는 작업을 “캡슐화”라고 합니다.

 

📒Reference (참고 자료)


  1. 컴퓨터 네트워킹 하양식 접근(Computer Networking _ A Top Down Approach, 8th)
  2. K Mooc - 부산대 컴퓨터 네트워킹 ppt 및 강의  video | K-MOOC
 

video | K-MOOC

Dynamic Host Config, Protocol 시청

www.kmooc.kr

profile

제이제이

@아사비치즈스틱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!