네트워크의 모델
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를 까보면 데이터가 나온다.
'sw > 네트워크' 카테고리의 다른 글
네트워크 기초 03. 가까이 있는 컴퓨터끼리의 통신(2계층, Ethernet, MAC주소) (0) | 2024.02.11 |
---|---|
네트워크 기초 01. 네트워크란 무엇인가? (분류, 프로토콜) (0) | 2024.02.10 |