네트워크 기초 지식2

네트워크 기초2

기초1에 이어서 계속..!

과거에는 업체들이 자신이 제작한 컴퓨터끼리 네트워크를 사용해서 통신할 수 있도록 만들었다. 각 업체마다 자신들만의 규격을 만들어서 네트워크를 구성했다는 것이다. 이러한 구조에는 사용하는 기기 전부를 같은 회사 제품으로 통일해야 하는 문제점이 있는데 통신의 규격과 프로토콜을 통일하기 위해서 ISO라는 단체가 나오게 되었다. ISO의 표준화 단계에서 선언한 것이 OSI 참조 모델이라는 건데, 데이터 통신의 단계 구성도라고 보면된다.

데이터 통신을 단계로 나누어 각 단계의 순서를 명확히하고, 이 모델에 따라 프로토콜을 정의해서 데이터 통신을 구축하자!


OSI 참조 모델의 계층

OSI 참조 모델에서는 데이터 통신을 7개의 계층으로 나눈다.

7계층 응용계층 사용자에게 네트워크 서비스를 제공
6계층 표현계층 데이터의 형식을 결정
5계층 세션계층 데이터를 주고받는 순서 등을 관리
4계층 전송계층 신뢰성이 높은(에러가 적은) 전송
3계층 네트워크계층 전송 규칙이나 수신처 결정
2계층 데이터링크계층 인접 기기에 대한 데이터 전송 제어
1계층 물리계층 전기 / 기계적인 부분의 전송

제 1계층부터 제 7계층까지 있으며 각 계층마다 역할과 규칙이 정해져있다. 순서대로 계층의 역할을 수행해 감으로써 송수신을 할 수 있는데, 송신자와 수신자가 거치는 순서는 반대이다.

송신측 : 7계층 -> 1계층

수신측 : 1계층 -> 7계층

프로토콜은 OSI 참조 모델이라는 설계도를 따라서 만드는 것이라고 생각하면 되는데, 계층이 각각 독립해 있다는 것을 장점으로 꼽을 수 있다. 예를 들면 사용자가 어떻게 사용할지에 대해서는 7계층에서만 생각하면 되지, 4계층에서는 고려하지 않아도 된다는 것이다.

어떤 계층의 프로토콜 변경은 다른 계층에 영향을 끼치지 않는다. 그리고 기본적으로 하위 계층은 상위 계층을 위해서 일하고 상위 계층은 하위 계층에 관여하지 않는다.

캡슐화

데이터의 이동을 택배 시스템과 비교해서 생각해보자. 상대방에게 물건을 그대로 보내는 것이 아닌 상자로 한번 감싼뒤 보낸다. 그 이유는 물건의 보호도 있어서지만 받는 사람의 정보가 필요해서 그렇기도 한데, 데이터의 이동도 이와 비슷하다.

데이터만 달랑 보내는 것이 아니라 각 계층에서 필요한 정보를 덧붙여서 보낸다!

그리고 그 필요한 정보들은 수신처 / 송신처의 주소, 데이터 통신을 제어하기 위한 데이터, 기타 등등이 있다. 이렇게 데이터랑 데이터를 보내기 위해 필요한 것들이 통합된 상태를 프로토콜 데이터 유닛(Protocol Data Unit)이라고 한다.

다시 택배에 비유를 해보자면, 보내고 싶은 것 = 데이터 / 상자에 넣은 상태 = PDU 인 것이다.

정리해보면 운반하고 싶은 데이터에 각 계층에서 필요한 정보를 추가해 캡슐화하여 PDU로 완성(캡슐화)하여 송신하는 것이고, 반대로 수신한 쪽에서는 차례대로 캡슐을 벗겨가는 과정인 것이다. 기타 정보가 데이터 앞에 붙으면 헤더(Header) / 뒤에 붙으면 꼬리부(Trailer)라고 부른다.

각 계층을 지나가면서 생성되는 PDU는 계층마다 부르는 이름이 다르다.

  • PDU의 호칭
계층 호칭 내용
사용자 데이터(Data) 송수신 하고 싶은 데이터
7계층 PDU
6계층 PDU
5계층 PDU
메세지(Message) 데이터를 통신용으로 변환한 것과 7계층 헤더
4계층 PDU 세그먼트(Segment)
데이터그램(Datagram)
메세지와 4계층 헤더
3계층 PDU 데이터그램(Datagram) 세그먼트, 데이터그램과 3계층 헤더
2계층 PDU 프레임(Frame) 데이터그램과 2계층 헤더(2계층 꼬리부)
1계층 신호 프레임을 전송매체로 운반하기 위한 신호로 변환

프로토콜

데이터 통신에 필요한 프로토콜을 한 개가 아니라 복수의 프로토콜로 이루어진다

각 계층마다 수행하는 역할이 다르기 때문에 여러개의 프로토콜이 모여있는 것이다. 하지만 상하 계층과 연결이 되지 않을 정도로 독립적인 것도 문제를 발생시킨다. 그렇기 때문에 상하위 계층과 데이터를 주고 받을 수 있는 인터페이스를 가져야햐며 그 결과로써 프로토콜 그룹이 형성된다. 프로토콜 그룹이란 완전히 제각각이 아닌 상하위 프로토콜을 연결하는 인터페이스를 갖고 있을때 1계층부터 7계층까지 연결된 하나의 군(프로토콜군 - Protocol Suite)을 말한다.

프로토콜의 역할은 앞서 얘기했던 데이터의 사용 방법어떤 헤더를 붙일지 결정하는 것, 그리고 데이터를 주고받는 순서이다.

데이터의 내용, 헤더의 내용은 프로토콜로 정해져 있다

프로토콜은 데이터를 송수신하는 순서와 내용을 결정한다

현재 가장 많이 사용되는 것은 TCP/IP 프로토콜군이다. 이 프로토콜은 인터넷에서 사용되는 프로토콜군이다. 즉, 인터넷을 사용하려고 하는 기기나 서비스는 TCP/IP 프로토콜군을 사용해야 한다는 것이다.

TCP/IP 모델

인터넷에서 사용되는 사실상의 표준

OSI 표준 모델을 기준으로 해서 나온 프로토콜군을 OSI 표준 프로토콜군이라고 부른다. 하지만 우리가 사용하는 인터넷에서 사용되는 사실상의 표준은 TCP/IP 프로토콜군이다.

OSI 참조 모델을 따라 OSI 프로토콜군이 정해진 것처럼 TCP/IP 모델에서 TCP/IP 프로토콜군이 만들어지는 것이다.

  • TCP/IP 모델
4계층 애플리케이션계층
3계층 트랜스포트계층
2계층 인터넷계층
1계층 인터페이스계층
  • 인터넷에서 사용되는 프로토콜
4계층 애플리케이션계층 HTTP
FTP
SMTP
3계층 트랜스포트계층 TCP
UDP
2계층 인터넷계층 IP
ARP
1계층 인터페이스계층 Ethernet
PPP

정리

네트워크를 형성하는 크기에 따라서 WAN / LAN으로 나누고, 데이터를 전송하는 방법 두 가지를 알게되었다. 지금은 당연하다고 생각이드는 패킷 교환 방식과 회선 교환 방식이 있었다. 이때, 패킷이란 쪼개어놓은 데이터를 말한다. 그리고 제일 중요한 OSI 참조 모델과 TCP/IP 모델을 알아보았다. OSI 참조 모델로부터 OSI 표준 프로토콜군이 나오고, TCP/IP 모델로부터 TCP/IP 표준 프로토콜군이 나왔다. 데이터 통신은 통신의 단계와 순서라고 볼 수 있으며 각 계층은 독립적이지만 상하위 프로토콜과 연결하는 인터페이스를 갖추어야 한다.

데이터가 각 계층을 통과할때 각 계층에서 필요한 내용을 덧붙이곤 하는데 이러한 과정을 캡슐화라고 부르며 데이터와 기타 정보들이 통합된 상태를 PDU(Protocol Data Unit)이라고 한다. 계층마다 PDU를 부르는 이름은 메세지 / 데이터그램 / 프레임 / 세그먼트처럼 다양하다는 것도 알 수 있었다.

마지막으로 프로토콜은 데이터 통신을 위한 규칙이라고 했다. 이러한 데이터 통신에 필요한 프로토콜은 한 개가 아닌 여러개의 프로토콜로 이루어져 있다. 7계층에서 1계층까지 연결되어 프로토콜군을 형성하며 어느 프로토콜군을 사용하는지에 따라 7계층에서 1계층까지 사용하는 프로토콜이 정해진다는 특징도 있었다. 이와 같은 프로토콜은 데이터에 어떠한 header / trailer를 붙일지, 어떠한 순서로 데이터를 주고 받을지 결정하는 역할을 한다.

Share