네트워크의 기본 규칙

뚝딱이·2022년 8월 13일
0

Network

목록 보기
2/3

네트워크의 규칙

프로토콜이란

네트워크에서 문제 없이 통신하려면 규칙을 지켜야한다.

만약 예를 들어, 한국인과 독일인이 아무런 규칙없이 각각의 나라의 언어로 소통한다면 의사소통은 하나도 되지 않을 것이다. 따라서 한국인과 독일인은 소통할 때 영어로 소통한다는 규칙을 세우면 소통할 수 있다. 이러한 규칙을 프로토콜이라고 한다.

또 예를 들어 편지를 우체국을 통해 전송한다고 가정하자. 그렇다면, 편지에 주소를 적지 않거나 우표를 붙이지 않으면 어떻게 될까. 주소도 적지 않고 우표도 붙이지 않으면 우편 배달부는 편지를 어디로 보내야 하는지 알 수 없기 때문에 곤란하다. 따라서 편지를 보낼 때는 주소를 적고 우표를 붙이는 작업이 필요하다. 이러한 규칙에는 '편지를 쓰는 규칙','편지를 보내는 규칙','우체국의 규칙'등 여러가지가 있다. 또한 이 규칙들은 서로 영향을 주지 않는다는 특징이 있다.

OSI 모델과 TCP/IP 모델

OSI 모델이란

예전엔 같은 회사의 컴퓨터 끼리만 통신이 가능하던 때도 있었다. 또한 케이블을 연결하는 커넥터도 회사별로 다르면 굉장히 불편했다. 따라서 공통으로 사용할 수 있는 표준 규격을 정했다.

ISO라는 국제 표준화기구가 OSI모델이라는 표준규격을 제정했는데, 이는 네트워크 기술의 기본이 되는 모델이다.

데이터의 송수신은 컴퓨터에서 컴퓨터로 데이터를 전송하는 것이다. 이때 컴퓨터 내부에서는 여러가지 일을 하는데, 이러한 여러가지 일을 7개의 계층, 혹은 7개의 레이어로 나누어서 한다. 통신할 때 데이터는 맨 위의 응용계층에서 순차적으로 아래계층으로 전달된다.

계층이름설명
7계층응용 계층 (Application Layer)이메일 & 파일 전송, 웹사이트 조회 등 애플리케이션에 대한 서비스를 제공한다.
6계층표현 계층 (Presentation Layer)문자 코드, 압축, 암호화 등의 데이터를 변환한다.
5계층세션 계층 (Session Layer)세션 체결, 통신 방식을 결정한다.
4계층전송 계층 (Transport Layer)신뢰할 수 있는 통신을 구현한다.
3계층네트워크 계층(Network Layer)다른 네트워크와 통신하기 위한 경로 설정 및 논리 주소를 결정한다.
2계층데이터 링크 계층(Data Link Layer)네트워크 기기 간의 데이터 전송 및 물리 주소를 결정한다.
1계층물리 계층 (Physical Layer)시스팀 간의 물리적인 연결과 전기 신호를 변환 및 제어한다.

데이터를 전송하는 쪽은 데이터를 보내기 위해 상위 계층에서 하위 계층으로 데이터를 전달한다. 각 계층은 독립적이므로 데이터가 전달되는 동안에 다른 계층의 영향을 받지 않는다. 데이터를 받는 쪽은 하위 계층에서 상위 계층으로 각 계층을 통해 전달된 데이터를 받는다.

TCP/IP 모델이란

OSI와 달리 4계층(응용 계층) - 3계층 (전송 계층) - 2계층 (인터넷 계층) - 1계층(네트워크 접속 계층)으로 4계층으로 이루어져 있다.

OSI와 비교하면 아래와 같다.

OSITCP/IP
응용 계층응용 계층
표현 계층응용 계층
세션 계층응용 계층
전송 계층전송 계층
네트워크 계층인터넷 계층
데이터 링크 계층네트워크 접속 계층
물리 계층네트워크 접속 계층

캡슐화와 역캡슐화

캡슐화와 역캡슐화란

데이터를 보내려면 데이터의 앞부분에 전송하는데 필요한 정보를 붙여서 다음 계층으로 보내야한다. 이 정보를 헤더라고 하는데 헤더에는 데이터를 전달받을 상대방에 대한 정보도 포함되어 있다.

이와 같이 헤더를 붙이는 걸 캡슐화라고 하며, 데이터를 받아 헤더를 제거하는 걸 역캡슐화라고 한다.

일반적으로 5계층인 세션계층과 6계층인 표현계층은 7계층인 응용계층에 포함하여 생각할 수 있다. 캡슐화와 역캡슐화의 전체적인 흐름을 알아보자

캡슐화

  1. 응용 계층 : 데이터
    응용 계층에서는 웹 사이트에 접속하기 위한 요청 데이터가 만들어진다.
  2. 전송 계층 : 전송 계층 헤더 -> 데이터
    전송 계층에서는 신뢰할 수 있는 통신이 이루어지도록 응용 계층에서 만들어진 데이터에 헤더를 붙인다.
  3. 네트워크 계층 : 네트워크 계층 헤더 -> 전송 계층 헤더 데이터
    네트워크 계층에서는 전송 계층에서 만들어진 데이터를 다른 네트워크와 통신하기 위해 헤더를 붙인다.
  4. 데이터 링크 계층 : 데이터 링크 계층 헤더-> 네트워크 계층 헤더 전송 계층 헤더 데이터 <- 데이터 링크 계층 트레일러
    네트워크 계층에서 만들어진 데이터에 물리적인 통신 채널을 연결하기 위해 데이터 링크 계층에서 헤더와 트레일러를 붙인다.

트레일러는 데이터를 전달할 때 데이터의 마지막에 추가하는 정보를 말한다.

위와 같이 캡슐화를 통해 만들어진 데이터는 최종적으로 전기신호로 변환되어 수신측데 도착한다.

역캡슐화

  1. 데이터 링크 계층 : 데이터 링크 계층 헤더 <- 네트워크 계층 헤더 전송 계층 헤더 데이터 -> 데이터 링크 계층 트레일러
    헤더와 트레일러를 제거한다.
  2. 네트워크 계층 : 네트워크 계층 헤더 <- 전송 계층 헤더 데이터
  3. 전송 계층 : 전송 계층 헤더 <- 데이터
  4. 응용 계층 : 웹 사이트 요청 데이터
    헤더를 각 계층에서 모두 제거한 뒤, 데이터가 응용계층에 도착한다.
profile
백엔드 개발자 지망생

0개의 댓글