💁🏻♂️프로토콜 계층과 서비스 모델
🤔 프로토콜 스택(계층)이란?
👉🏻 계층 구조
→ 출발 공항과 도착 공항에서의 서비스들은 똑같이 대응됩니다.
→ 마찬가지로 통신 프로토콜도 보내는 쪽과 받는 쪽의 서비스가 대응되기 때문에 이를 레이어로 만듭니다.
🔎인터넷 프로토콜
🔎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 (참고 자료)
- 컴퓨터 네트워킹 하양식 접근(Computer Networking _ A Top Down Approach, 8th)
- K Mooc - 부산대 컴퓨터 네트워킹 ppt 및 강의 video | K-MOOC
video | K-MOOC
Dynamic Host Config, Protocol 시청
www.kmooc.kr
'네트워크' 카테고리의 다른 글
네트워크 - ch1-7. 컴퓨터 네트워킹과 인터넷의 역사 (0) | 2023.03.19 |
---|---|
네트워크 - ch1-6. 공격받는 네트워크 (0) | 2023.03.19 |
네트워크 - ch1-4. 패킷 교환 네트워크에서의 지연, 손실과 처리율 (0) | 2023.03.19 |
네트워크 - ch1-3. 네트워크 코어(Core) (0) | 2023.03.19 |
네트워크 - ch1-2. 네트워크 가장자리(edge) (1) | 2023.03.19 |