네트워크의 모델

TCP/IP 모델

  • 현재 인터넷에서 컴퓨터들이 데이터를 주고 받는데 쓰이는 프로토콜의 모음이다.
  • 아래는 그냥 참고
    • 4계층 응용
    • 3계층 전송
    • 2계층 네트워크
    • 1계층 네트워크 인터페이스

OSI 7계층 모델

  • 표준으로 지정된 모델임. 데이터를 주고 받을 때 데이터의 흐름을 각 구간별로 나눠놓은 형태
  • 7계층은 응용 / 표현 / 세션 / 전송 /네트워크 / 데이터링크 / 물리 로 이루어져있음.
  • 계층별 프로토콜은 아래와 같음(그냥 참고)

네트워크 모델의 공통점과 차이점

  • 위 그림을 보면 TCP/IP의 1계층을 OSI에서는 1,2계층이라고 역할과 기능을 더 세분화 해두었음
  • 참고만 할 것.

패킷이란?

패킷의 정의

  • 네트워크 상에서 전달되는 데이터를 통칭하는 말
  • 패킷은 제어정보와 사용자 데이터(페이로드라고도 부름)로 이루어짐
  • 패킷은 여러가지 프로토콜의 조합으로 이루어져 있음(보통 통신할 때 하나의 프로토콜만 사용하기보다는 여러가지 프로토콜을 조합해서 사용함)
  • 여러프로토콜을 묶어둔 형태(물론 실제로는 0101110.. 이런 식이겠지만 우리가 보기에는 그렇게 보인다는 것)

패킷의 구조

  • 페이로드를 보낼 때 헤더가 붙을 수도 있고 풋터가 붙을 수도 있다. 그러너ㅏ 대부분은 헤더에 페이로드가 붙은 구조다.

  • 아래 예시 패킷 그림을 이해해 보자
    • HTTP 페이로드에 TCP 헤더가 붙었다.
    • TCP, HTTP 페이로드에 IPv4 헤더가 붙었다.
    • IPv4, TCP, HTTP 페이로드에 Ethernet 헤더가 붙었다.

 

캡슐화

  • 어떤 노드에서 데이터를 다른 노드를 보낼 때 패킷을 만드는 과정

캡슐화(아래에 설명을 보조하는 그림)

  • 데이터를 보낼 때는 캡슐화(인캡슐레이션)을 통해서 패킷을 만들어 보낸다.
  • 데이터를 받을 때는 디캡슐레이션을 통해서 패킷을 까본다.
  • 위의 그림으로 데이터 보내기 위한 캡슐화 과정을 이해해 보자.
    • 네이버 웹툰 쿠베라 721화를 보고 싶은 상황.
    • 데이터: '네이버웹툰 쿠베라 721화를 보여줘' 라는 요청이 담긴 데이터
    • TCP: 네이버 웹서버와 통신해야 하므로 TCP를 인캡슐레이션 (통신순서 3번째)
    • IPv4: 네이버 웹서버라는 멀리 있는 서버와 통신해야하므로 IPv4를 인캡슐레이션(통신순서 2번째)
    • Ethernet: 우선은 가까운 곳과 통신해야하므로 Ethernet을 인캡슐레이션(통신순서 1번째)
  • 즉, 인캡슐레이션은 상위계층에서 하위계층으로 내려가면서 프로토콜을 붙인다.
    • 순서가 뒤바뀔 수는 없다. (2-3-4 순서로 되어있음. 역순은 불가)
    • 순서의 생략도 없다.(1-2-4 같은 것 불가)
    • 같은 계층이 연속으로 붙는 경우는 가능(2-3-3-4 이런건 가능)

디캡슐레이션(아래 설명을 보조하는 그림)

  • 반대로 캡슐화된 패킷을 받았을 때 디캡슐레이션 과정을 거쳐 속에 담긴 데이터를 확인하는 흐름은 아래와 같다.
    •  하위프로토콜 부터 하나씩 확인을 한다.
    • 이더넷을 까보고, 그 뒤에 IPv4를 까보고, 그 다음에 TCP를 까보면 데이터가 나온다.  

+ Recent posts