해결된 질문
작성
·
178
·
수정됨
1
안녕하세요. 궁금한 것이 있어서 질문 드립니다.
두 컴퓨터가 인캡슐, 디캡슐을 통해서 패킷을 주고 받는건 이해를 했는데요
1번 컴퓨터에서 2번 컴퓨터로 인캡슐레이션 된 패킷이 전송된다고 하면
스위치에서는 2계층 헤더를 까서 보고 라우터에서는 3~4계층 헤더를 까서 보는거 아닌가요?
(라우터에서 네트워크로 전송을 해야 되니 전송계층인 4계층까지 깐다고 생각했습니다.)
그렇게 패킷이 전송된다면 4계층까지 디캡슐레이션 된 패킷이 되는데
목적지에 도달해서 다시 디캡슐레이션 하는게 이해가 가지 않습니다.
라우터에서 4계층까지 헤더를 보고 다시 헤더를 재생성해서 패킷에 붙여주는건지요..
그리고 OSI 7 레이어가 컴퓨터 기준에서는 이해가 되는데
네트워크 장비, 스위치는 2계층 장비라고 하고, 라우터는 3계층 스위치인데
컴퓨터에 적용해서 OSI 7레이어를 생각하다가 장비쪽에서 또 2계층, 3계층이 나오니 헷갈립니다.
그냥 데이터 링크 역할을 하고 전송을 하는 역할을 하니까
OSI7 레이어 기준으로 보면 2계층 장비다, 3계층 장비다 라고 하는건지요
답변 2
1
1
라우터는 패킷을 읽고 정보를 확인 할 뿐 디캡슐레이션을 하지는 않습니다. 따라서 라우터가 헤더를 재생성하는 경우는 아니라 하겠습니다. 그리고 말이 거창해서 En/Decapsulation인데 그게 코드로 보면 생각보다 별게 아닙니다. 어떤 의미로는 개념적인 표현으로 봐도 무방할 정도라 할 수 있습니다.
계층에 따른 스위치 분류는 그 근거가 매우 간단합니다. OSI 7 layer 상 어느 수준에 속한 정보를 스위칭의 근거로 사용하는 것인지 따지는 것에 불과 합니다. 그리고 높은 계층의 스위치는 그 하위에 속하는 스위칭 기능을 포함하는 경우가 많습니다. 가령 L4 스위치라면 L2~3 스위칭 능력도 가졌다고 봐야 합니다.
만일 C언어 개발자라면 이 코드를 참고해보시기 바랍니다. 얼마 전 올린 '이해하면 인생이 바뀌는 네트워크 프로그래밍' 수업에 사용된 예제 화면의 일부입니다. 이것으로 패깃 디캡슐레이션에 대해 어느 정도 감을 잡는데 도움이 될 수 있겠습니다. 참고하시기 바랍니다. 😄
코드를 보니 그냥 단순히 각 헤더만 이동하여 필요한 값을 확인하네요...
코드만 봐도 간단히 해결될 문제를.. 반성하게 됬습니다. 감사합니다.