본문 바로가기
CS/Network

[Network] 02. 네트워크의 기본 규칙

by 원만사 2021. 11. 25.
반응형

네트워크의 규칙

프로토콜(protocol)

 컴퓨터끼리나 컴퓨터와 단말기 사이와 같이 정보기기 간에 정보교환이 필요한 경우 이를 원활하게 교환할 수 있게 하기 위해 필요한 여러 가지 통신규칙과 방법의 집합을 의미한다. 상호 간에 이해할 수 있는 내용을 신뢰성이 유지되도록 표현하는 방식이다.

 같은 통신 규약(communication protocol)을 사용하면 기종과 모델이 달라도 컴퓨터 상호 간에 통신할 수 있게 되고, 각각의 컴퓨터상에서 다른 프로그램을 사용하고 있더라도 컴퓨터 사이에서 데이터의 의미를 일치시켜 프로그램을 동작시킬 수 있게 된다.

 

OSI 모델과 TCP/IP 모델

OSI 모델이란? (개방형 시스템 상호 연결)

 다양한 통신 시스템이 표준 프로토콜을 사용하여 통신할 수 있도록 국제 표준화 기구가 만든 개념 모델이다. 통신 시스템을 7개의 추상적 계층으로 나누는 형태이다. 각 계층은 특정 작업을 처리하고 그 위와 아래의 계층과 통신한다.

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

OSI 7계층

[7계층 - 응용 계층(Application)]

  • 사용자 또는 애플리케이션이 네트워크에 접속할 수 있도록 해준다.
  • 사용자를 위한 인터페이스 지원
  • 메일 전송, 인터넷 접속 등의 작업 수행 

[6계층 - 표현 계층(Presentaion)]

  • 전달받거나 전송하는 데이터의 인코딩 및 디코딩이 이루어지는 계층
  • 응용 계층에서 데이터를 이해할 수 있게 변환
  • JPEG, MPEG 등 다양한 포맷을 구분함

[5계층 - 세션 계층(Session)]

  • 네트워크상 양쪽 연결을 관리하고 연결을 지속시켜주는 계층
  • 세션을 만들고 유지하며, 세션 종료, 전송 중단시 복구하는 기능이 있음
  • TCP/IP 세션을 만들고 없애는 역할
  • 통신하는 사용자들을 동기화 하고 오류 복구를 진행함
  • 통신 연결은 포트를 기반으로 연결함

[4계층 - 전송 계층(Transport)]

  • 데이터를 전송하고 전송 속도를 조절하며 오류가 발생된 부분은 다시 맞춰주는 계층
  • 보통 TCP 프로토콜을 주로 사용함
  • 헤더에 송/수신지 포트번호를 포함하여 전달함
  • 데이터의 전송 단위는 TCP의 경우 Segement이고 UDP의 경우 Datagram이다.

[3계층 - 네트워크 계층(Network)]

  • 전송 데이터를 목적지까지 경로를 찾아 전송하는 계층
  • 주소(IP)를 정하고, 경로(Route)를 선택하고, 패킷을 전달하는것이 핵심인 계층
  • 네트워크 라우팅 기능이 이루어진다

[2계층 - 데이터 링크 계층(Data Link)]

  • 물리적인 네트워크 사이에서 Data 전송을 담당하는 계층
  • 물리계층으로 데이터 전송 시 데이터 전송 오류를 감지하는 기능을 제공하며 오류를 감지하면 재전송하는 방법으로 처리한다
  • MAC 주소를 가지고 통신한다.

[1계층 - 물리 계층(Physical)]

  • 통신 케이블을 통해 전기 신호를 사용하여 비트 스트림을 전송하는 계층이다.
  • 전기신호를 주고받는 데 주 목적이 있으며 데이터의 종류나 에러가 있는지 등은 확인하지 않는다.

 

TCP / IP 모델이란?

 OSI 7계층 모델을 4계층 모델로 바꾼 형태이다.

TCP / IP 계층

캡슐화와 역캡슐화

캡슐화(encapsulation)

캡슐화

 데이터를 보내기 위해서 데이터의 앞부분에 전송하는 데 필요한 정보를 붙여서 다음 계층으로 보내야 한다. 이러한 정보를 헤더라고 하는데 헤더에는 데이터를 전달받을 상대에 대한 정보도 포함되어 있다. 이처럼 헤더를 붙여 나가는 걸 캡슐화라고 한다.

 

 송신 측 컴퓨터에서 요청 데이터가 만들어지면 데이터는 응용 계층에서 전송계층으로 전달되는 데, 전송계층에서 신뢰할 수 있는 통신이 이루어지도록 응용계층에서 만들어진 데이터에 헤더를 붙인다. 

 

 전송계층에서 만들어진 데이터를 다른 네트워크와 통신하기 위해 네트워크 계층에서 헤더를 붙인다.

 

 또 네트워크 계층에서 만들어진 데이터를 물리적인 통신 채널을 연결하기 위해 데이터 링크 계층에서 헤더와 트레일러(데이터를 전달할 때 데이터의 마지막에 추가하는 정보)를 붙인다.

 

 데이터링크 계층에서 만들어진 데이터는 최종적으로 전기 신호로 변환되어 수신 측에 도착한다.

 

역캡슐화(decapsulation)

 수신측에서 헤더를 하나씩 제거하는 것을 역캡슐화라고 한다. 캡슐화와 반대로 데이터 링크 계층부터 순서대로 상위 계층으로 전달되며 각 계층에 해당되는 헤더(또는 트레일러)를 제거하여 최종적으로 송신 측에서 보낸 데이터가 수신 측에 전달된다.

 

 

 

참고

- https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=on21life&logNo=221509574568

- https://blockdmask.tistory.com/185

- https://velog.io/@qmasem/TIL-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%BA%A1%EC%8A%90%ED%99%94-%EC%97%AD%EC%BA%A1%EC%8A%90%ED%99%94-encapsulation-decapsulation

 

 

모두의 네트워크 - 교보문고

10일 만에 배우는 네트워크 기초 | 즐거운 프로그래밍 경험 | 누구나 10일이면네트워크를 이해할 수 있다!준비 | 네트워크 기초 지식 익히기네트워크, 패킷, 비트, 바이트, 랜, 서버 등 네트워크 용

www.kyobobook.co.kr

 

 

반응형

댓글