독서/(하루 3분)네트워크 교실

(하루 3분)네트워크 교실 1장 - 네트워크 기초 지식

studylida 2022. 12. 1. 21:00

네트워크란?

무언가와 무언가가 무언가에 의해 연결되어서 무언가를 주고받는 것.

=> 컴퓨터 네트워크란? 컴퓨터와 컴퓨터가 통신 매체로 연결되어서 데이터를 주고받는 것.

 

네트워크를 사용하면 리소스를 공유할 수 있고, 공유한 리소스를 바탕으로 더 많은 일을 할 수 있다.

컴퓨터 네트워크에서도 리소스를 공유하는데, 이때 공유하는 리소스를 데이터(Data)라고 부른다.

데이터는 비트(Bit)로 구성되어 있다.

 

컴퓨터 네트워크란 컴퓨터와 컴퓨터가 통신 매체로 연결되어서 데이터를 주고받는 것이라고 했다.

이때 컴퓨터와 통신 매체를 연결하는 것을 인터페이스(Interface)라고 하며, 데이터를 주고받을 때(통신할 때) 사용하는 규칙을 프로토콜(Protocol)이라고 한다. 

때문에 상호 간에 같은 프로토콜을 사용해야만 의도한 내용을 주고받을 수 있다. 

회선 교환과 패킷 교환

데이터를 주고받는 데에는 회선 교환이라는 방식과 패킷 교환이라는 방식 두 가지가 존재한다.

 

회선교환은 전화와 비슷한 방식으로, A가 B와 전화하는 중에는 C가 둘 사이의 전화에 끼어들 수 없듯이, 어느 두 장치 간에 통신하는 경우 특정 회선을 할당받고, 해당 회선을 온전히 점유한다. 때문에 통신이 방해받지 않아 안정적이라는 장점이 있다. 하지만 특정 회선으로만 통신하기 때문에, 통신하는 경로의 한 지점에만 문제가 생겨도(회선에 문제 발생) 통신을 할 수 없게 된다. 때문에 문제가 생기면 통신을 위해 회선 할당부터 다시 시작해야 한다는 단점이 있다. 또한, 회선의 수만큼만 동시에 통신할 수 있다는 단점이 있다.

 

패킷 교환은 송신하려는 데이터를 여러 패킷(Packet)들로 분할하여 보내는 방식이다. 패킷 1개를 보내는 속도는 분할되지 않은 데이터를 보내는 속도보다 빠르기 때문에 오랜 시간 회선을 점유하지 않는다. 덕분에 복수의 컴퓨터가 회선을 공유할 수 있다는 장점이 있다(복수의 패킷이 한 개의 회선을 통해 통신할 수 있다). 

패킷 교환에서 교환기는 수신처와 연결되어 있는 회선을 골라 패킷을 송출하고, 사용하려고 했던 회선이 이용 중일 경우, 회선이 빌 때까지 일시적으로 저장(버퍼)하는 역할을 맡는다.

 

컴퓨터에 의한 데이터 통신에서는 복수의 컴퓨터가 동시에 사용할 수 있는 패킷 교환이 더 편리하기 때문에 패킷 교환 방식을 사용한다. 

통신에 필요한 기기

지금까지 다룬 내용을 바탕으로 통신에 필요한 기기들을 생각해보자면

  • 데이터를 작성해서 송신하고, 데이터를 수신해서 사용하는 컴퓨터
  • 파이프 역할을 하는 통신 매체와 컴퓨터를 연결하는 인터페이스
  • 컴퓨터를 여러 대 연결할 수 있도록 도와주는 패킷 교환기(실제 통신에서는 라우터(Router)가 패킷 교환기 역할을 맡는다.)

가 있다.

멀티액세스 네트워크와 포인트 투 포인트 네트워크

우리가 다룰 네트워크가 컴퓨터와 라우터, 라우터와 라우터, 라우터와 컴퓨터로 연결되어 있다고 가정한다면 컴퓨터 세 대 있을 때, 라우터도 세 대가 필요하다. 물론 실제로는 그렇게 사용하지 않는다. 특정 범위 내에 있는 컴퓨터는 라우터에 의한 패킷 교환이 아니라 회선을 나누어서(파이프를 T자로 나누어서) 연결한다. 이때 패킷 교환 없이 케이블 분배기(회선을 나누어서)로 연결되는 범위를 세그먼트(Segment)라고 부른다. 

 

하지만 케이블에 T자 분배기를 만들려면 케이블을 잘라서 T자 분배기를 끼우는 작업을 해야 하기 때문에 번거롭다는 단점이 있다. 때문에 대신 허브(Hub)라는 기기를 이용한다. 허브를 사용하면 케이블에 T자 분배기를 끼운 것과 같이 되어 해당 네트워크에서는 컴퓨터 한 대가 세그먼트 내의 어떤 컴퓨터에도 자유롭게 데이터를 송신할 수 있게 된다. 이와 같은 네트워크 구조를 멀티 액세스 네트워크(Multi-Access Network)라고 한다. 

 

이와는 반대로 컴퓨터 한 대가 다른 한 대의 컴퓨터에만 데이터를 보낼 수 있다면 이러한 네트워크 구조를 포인트 투 포인트 네트워크(Point to Point Network)라고 한다. 이는 전용선(고정된 수신처에 접속된 회선)을 사용하여 고정된 컴퓨터에만 데이터를 보내는 형식을 예로 들 수 있다. 

 

즉, 컴퓨터와 라우터를 연결하는 방식은 멀티액세스, 라우터와 라우터를 연결하는 방식은 포인트 투 포인트 네트워크라고 할 수 있고, 패킷 교환 네트워크는 이 두 가지 네트워크를 조합하여 만들어진다.

네트워크의 범위

네트워크는 멀티액세스 네트워크, 포인트 투 포인트 네트워크와 같이 구조적인 면에서 분류할 수도 있지만, 범위와 규모 면에서 LAN, MAN, WAN으로 분류할 수 있다.

 

LAN(Local Area Network)은 구내에 설치된 네트워크를 의미한다. 기본적으로 사용하는 쪽에서 책임지고 케이블을 설치하고 라우터를 배치하여 만드는 네트워크이다. LAN 방식으로 커다란 네트워크를 구축하는 것은 추천되지 않는데, 왜냐하면 먼 거리를 잇는 통신 매체(케이블)를 설치하는 과정에서 남의 사유지를 통과해야 할 경우가 생기는 등 번거롭게 문제가 생길 여지가 많기 때문이다.

 

때문에 데이터 통신 서비스를 제공하는 통신사업자에게 그들이 보유하고 있는 케이블에 데이터를 전송할 권리를 구매하여 네트워크를 구축하고는 한다. 즉, 분리되어 있는 LAN끼리 통신사업자의 케이블을 빌려서 연결한 네트워크를 의미한다. 이를 WAN(Wide Area Network)이라고 부른다. 이는 인터넷(The Internet)을 예로 들 수 있다.

  LAN WAN
범위 좁다 넓다
케이블 설치 자비 통신사업자
사용요금 무료 유료
통신속도 고속 저속
에러 발생률 낮다 높다

OSI 참조 모델

앞선 내용에서, 데이터를 주고받을 때(통신할 때) 사용하는 규칙을 프로토콜(Protocol)이라고 했고, 통신하는 상호 간에 같은 프로토콜을 사용해야만 의도한 내용을 주고받을 수 있다고 했다. 

1960년대 ~ 1970년대에는 각 업체가 자신들의 컴퓨터끼리 네트워크를 사용해서 데이터 통신을 할 수 있도록 컴퓨터와 통신에서 사용하는 기기, 프로토콜 규격을 독자적으로 만들었고, 이로 인해 다른 회사와는 규격이 달라 호환되지 않는 문제가 발생했다.

 

이를 해결하고자 데이터 통신의 규격과 프로토콜을 통일하려고 했던 ISO(International Organization for Standardization, 국제표준화기구)라는 단체가 있었다. ISO의 표준화 단계에서 선언한 것이 바로 OSI 참조 모델(Open Systems Interconnection Reference Model)이다. 

 

OSI 참조 모델은 데이터 통신의 단계 구성도로, 데이터 통신 전체를 표준화하기 위해 먼저 데이터 통신 전체의 설계도를 만든 것이다. 즉, 데이터 통신을 단계로 나누어 각 단계의 순서를 명확히 하고, 이 모델에 따라 프로토콜을 정의해서 데이터 통신을 구축하려고 한 것이다. 

 

7계층 응용계층 사용자에게 네트워크 서비스를 제공한다 내용표현
6계층 표현계ᅎᅳᆼ 데이터의 형식을 결정한다 내용표현
5계층 세션계층 데이터 송수신의 순서 등을 관리한다. 내용표현
4계층 전송계층 신뢰성이 높은(에러가 적은) 전송을 시행한다. 전송물
3계층 네트워크계ᅎᅳᆼ 전송 규칙과 수신처를 결정한다. 전송물
2계ᅎᅳᆼ 데이터링크계ᅎᅳᆼ 인접기기 사이의 데이터 전송을 제어한다. 전송
1계층 물리계층 전기 · 기계적인 부분의 전송을 시행한다. 전송

 각 계층마다의 역할과 규칙이 존재한다. 이를 보면서 네트워크에 의한 데이터 통신은 단계마다의 복수의 프로토콜로 실현됨을 알 수 있다. 이는 각 계층을 순서대로 따라가면 데이터 송수신이 가능하다는 의미이기도 하다. 또한, 각 계층이 독립되어있으므로 각 계층의 역할만 잘 수행하면 되고, 독립되어있으므로 어떤 계층의 프로토콜 변경이 다른 계층에 영향을 끼치지 않는다.  

캡슐화

택배를 보낼 때 완충재를 넣거나 주소를 적듯이, 데이터를 주고받기 위해서도 여러 가지 필요한 것이 있다. 때문에 데이터에 수신처, 송신처의 주소, 그리고 데이터 통신을 제어하기 위한 데이터나 각 프로토콜에서 필요한 정보를 덧붙인다. 이렇게 데이터와 데이터를 보내기 위해 필요한 것들이 통합된 상태를 프로토콜 데이터 유닛(Protocol Data Unit:PDU)이라고 한다.

 

각 계층을 지날 때마다 데이터에 통신에 필요한 정보(제어 데이터)를 덧붙인다고 했는데, 이 제어 데이터가 데이터의 앞에 붙으면 헤더(Header), 뒤에 붙으면 꼬리부(Tailer)라고 한다. 

 

각 계층에서 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계층 신호 프레임을 전송매체로 운반하기 위한 신호로 변환

 *3계층 PDU는 '패킷'이라고 부르는 경우도 있다. 다만 패킷은 PDU 자체를 가리키는 경우도 있다. 본 책에서는 3계층 PDU를 데이터그램으로 통일하여 칭한다.

 

실제로 부를 때는 PDU의 호칭 앞에 프로토콜 명을 붙여서 TCP 세그먼트라든가 IP 데이터그램이라고 부르는 것이 일반적이다. 또는 4계층 PDU처럼 계층 번호를 붙여서 부르는 경우도 있다.

 

이렇게 데이터에 제어 데이터를 덧붙여서 PDU로 완성하는 것을 캡슐화(Encapsulation)라고 한다. 수신한 쪽은 반대의 순서로 헤더를 벗겨서 데이터를 입수한다. 

프로토콜군

앞서 배웠듯이, OSI 참조 모델에 따르면, 데이터 통신에 필요한 프로토콜은 한 개가 아니라 여러 개이며, 각각이 독립적이다. 하지만 각 프로토콜이 완전히 독립적이면 상하 계층의 연결이 되지 않기 때문에 곤란하다. 때문에 상위 계층 프로토콜이 하위 계층 프로토콜을 이용할 수 있는 구조를 가지고, 하위 계층 프로토콜이 상위 계층 프로토콜에 데이터를 전송할 수 있는 구조를 가질 필요가 존재한다. 이러한 구조, 또는 프로토콜과 프로토콜의 중개역을 인터페이스라고 부른다. 상하 프로토콜의 인터페이스를 결정해두면 프로토콜 그룹이 되는데, 이것을 프로토콜군(Protocol Sutie)라고 부른다. 

TCP/IP 프로토콜군

 TCP/IP 프로토콜군은 IETF(the Internet Engineering Task Force:국제인터넷표준화기구)에서 제정한 것으로, 이곳에서 제정한 문서를 RFC(Request For Comments)라고 부른다. 즉, IETF의 RFC에 의해 정해진 것이 TCP/IP 프로토콜군이라고 할 수 있고, 이는 TCP/IP 모델을 베이스로 하고 있다. 

TCP/IP 모델

데이터 통신이라는 관점에서 OSI 참조 모델과 TCP/IP 모델을 비교하면, TCP/IP 모델의 4계층은 OSI  참조 모델의 5~7계층과 비슷하고, 3계층은 4계층과, 2계층은 3계층과, 1계층은 1~2계층과비슷하다.

4계ᅎᅳᆼ 애플리케이션 계층 HTTP(Hyper Text Transfer Protocol: 홈페이지 열람), FTP(File Transfer Protocol: 파일전송), SMTP(Simple Mail Transfer Protocol: 전자메일 송수신)
3계층 트랜스포트계층 TCP(Transmission Control Protocol)
UDP(User Datagram Protocol)
2계ᅎᅳᆼ 인터넷계층 IP(Internet Protocol)
ARP(Address Resolution Protocol)
1계층 인터페이스 계층 이더넷(Ethernet)
프레임 릴레이 (Frame Relay)
PPP(Point to Point Protocol)

 

관련된 글

 

참고문헌

  • 아미노 에이지. 2016. (하루 3분)네트워크 교실:인터넷 박사가 조교 넷군에게 알려주는 왕초보를 위한 네트워크 교실. 김현주 역. 서울:영진닷컴.