본문 바로가기

네트워크의 큰 그림

@9ky02025. 5. 12. 14:57

네트워크의 기본 구조

네트워크는 노드와 간선으로 이루어진 일종의 그래프이다. 네트워크 기기가 노드, 기기 간 정보를 주고받는 유무선 통신 매체가 간선인 셈이다.

한빛, 혼공 - [Network] 네트워크의 기본 구조(호스트, 네트워크 장비, 통신매체, 메시지)

네트워크 상에서 노드와 노드 간 연결 구조는 네트워크 토폴로지라 부른다. 노드가 어떻게 연결되고 배치되느냐에 따라 다음과 같은 유형으로 나눌 수 있다.

좌측 상단부터 시계방향으로 망형, 트리형, 링형, 성형, 버스형(선형)

이때 네트워크 가장자리에 위치하며 네트워크를 통해 주고받는 정보를 최초 송신/최종 수신하는 노드를 호스트라 부르는데, 평소에 흔히 접하는 대부분의 네트워크 기기가 호스트이다. 예를 들어 노트북의 웹 브라우저를 통해 구글 홈페이지에 접속했다면 노트북과 구글의 서버 컴퓨터가 각각 호스트로서 정보를 주고받은 것이다. 두 호스트가 정보를 주고받는 과정은 다음과 같다.

  1. 노트북이 구글의 서버 컴퓨터에 웹 페이지를 가져다 달라는 요청 전송
  2. 서버 컴퓨터가 노트북에게 웹 페이지로 응답

이 과정에서 노트북처럼 요청을 보내는 호스트를 클라이언트, 구글 서버 컴퓨터처럼 응답을 보내는 호스트를 서버라 부른다. 즉 클라이언트와 서버는 주고받는 정보의 방향(요청/응답)에 따라 부여된 역할이다.

또한 네트워크 그래프 가운데에 위치한 중간 노드는 가장자리에 위치한 호스트가 주고받는 정보들을 원하는 수신지까지 안정적으로 전송하는 역할을 한다. 스위치와 라우터, 공유기 등이 이러한 중간 노드로써의 역할을 수행하는 장비들에 해당된다.

LAN과 WAN

전 세계에 하나의 네트워크만 존재하는 것은 아니다. 여러 개의 네트워크로 나뉠 수 있는데, 규모에 따라 LAN과 WAN으로 나뉜다.

 

근거리 네트워크를 의미하는 LAN(Local Area Network)은 가정이나 기업처럼 비교적 가까운 거리를 연결하는 한정된 공간에서의 네트워크를 의미한다. 집이나 사무실에 있는 공유기를 통해 모든 네트워크 기기가 통신하고 있다면 LAN이 공유기를 기준으로 구축된 것이며, 공유기와 연결된 네트워크 기기들은 모두 같은 네트워크(LAN)에 속해 있다고 인식한다.

 

하지만 모든 네트워크 기기들이 같은 네트워크(LAN)에서만 정보를 주고받지는 않는다. LAN 끼리도 통신이 이뤄지는데, 이를 WAN(Wide Area Network)이라 부른다. WAN은 일반적으로 ISP(Internet Service Provider)라는 인터넷 서비스 업체가 구축하고 관리하는데, SKT, KT, LG U+가 이에 해당한다.

패킷 교환 네트워크

네트워크를 통해 주고받는 데이터는 한 번에 송수신되지 않고, 패킷이라는 여러 데이터로 쪼개져서 송수신된다. 오늘날 네트워크는 패킷 단위로 주고받는 정보를 쪼개서 송수신하고 수신지에서 재조립하며 패킷을 주고받는 '패킷 교환 네트워크'가 대부분이다.

 

하나의 패킷은 페이로드와 헤더로 구성되어 있으며, 가끔 트레일러라는 정보가 포함되기도 한다. 페이로드는 패킷에서 송수신하고자 하는 데이터, 헤더와 트레일러는 패킷에 추가되는 부가 정보이다. 페이로드가 택배를 통해 송수신하고자 하는 물품이라면, 헤더와 트레일러는 택배 앞뒤로 붙이는 송장과 같다.

주소의 개념과 전송 방식

네트워크 상 두 호스트가 패킷을 올바르게 주고받기 위해서는 서로를 특정할 수 있는 정보, 즉 주소가 필요하다. 주소는 패킷 헤더에 명시되는 정보로, 네트워크에서 사용되는 대표적인 주소로는 IP 주소와 MAC 주소가 있다.

 

주소를 바탕으로 다양한 수신지 유형을 지정해 패킷을 전송할 수 있는데, 예를 들어 수신지를 특정 호스트 하나로 지정할 수도 있고, 네트워크 내 모든 호스트로 지정할 수도 있다. 전자의 송신지와 수신지가 1:1로 메시지를 주고받는 방식을 유니캐스트, 후자의 네트워크 상 모든 호스트에게 메시지를 전송하는 방식을 브로드캐스트라 한다. 이때 브로드캐스트가 전송되는 범위를 브로드캐스트 도메인이라 하며, 호스트가 같은 브로드캐스트 도메인에 속해 있는 경우 같은 LAN에 있다고 간주한다.

좌: 유니캐스트, 우: 브로드캐스트

이 밖에도 네트워크 내 동일 그룹에 속한 호스트에게만 전송하는 멀티캐스트, 네트워크 내 동일 그룹에 속한 호스트 중 가장 가까운 호스트에게 전송하는 애니캐스트 등이 있다.

두 호스트가 패킷을 주고받는 과정

프로토콜

네트워크 내 호스트는 서로 주고받을 내용(패킷)을 이해할 수 있어야 하고, 이를 올바르게 주고받을 수 있어야 한다. 만약 패킷을 주고받는 두 호스트가 서로 다른 LAN에 속해 있어 패킷이 네트워크 장비를 거치게 된다면, 호스트뿐만 아니라 패킷이 거쳐 갈 네트워크 장비 역시 패킷의 내용을 이해할 수 있어야 한다.

 

프로토콜은 네트워크에서 통신을 주고받는 노드 간 합의된 규칙이나 방법을 말한다. 패킷을 주고받는 호스트와 네트워크 장비들이 서로 주고받는 정보를 이해하려면 같은 프로토콜을 이해해야 하고, 같은 프로토콜로 통신해야 한다. 마치 일상 속 언어와 같다.

 

네트워크 프로토콜의 종류는 매우 다양한데, 각각의 프로토콜마다 목적특징이 다르다. 예를 들어 IP는 네트워크 간 주소를 지정한다는 목적을 지닌 프로토콜이고, ARP는 IP 주소와 MAC 주소를 대응시킨다는 목적을 지닌 프로토콜이다. 또 HTTPS는 보안상 HTTP에 비해 안전하며, TCP는 UDP에 비해 신뢰성이 높다는 특징을 갖는다.

 

마찬가지로, 각각의 목적과 특징이 다른 프로토콜로 구성된 '패킷의 내용' 또한 달라질 수 있다. 패킷은 패킷을 구성하는 프로토콜의 목적과 특징에 따라 그에 걸맞은 패킷 헤더를 가진다.

좌: TCP 헤더, 우: UDP 헤더

네트워크 참조 모델

호스트 간 패킷을 주고받는 과정은 택배를 주고받는 과정과 비슷하다. 택배를 주고받을 때 정형화된 순서가 있듯, 네트워크 또한 다르지 않다.

이렇게 통신이 이루어지는 단계를 계층적으로 표현한 것을 네트워크 참조 모델이라 한다. 패킷을 송신하는 쪽에서는 상위 계층에서 하위 계층으로 정보를 보내고, 패킷을 수신하는 쪽에서는 하위 계층에서 상위 계층으로 정보를 받아들이는 것이다.

OSI 모델

OSI 모델은 국제 표준화 기구 ISO에서 만든 네트워크 참조 모델로, 통신 단계를 7개의 계층으로 나눠 OSI 7 계층이라 부른다.

 

1. 물리 계층(Physics Layer)

비트 신호를 주고받는 계층이다. 컴퓨터는 0과 1만을 이해할 수 있기 때문에 네트워크를 통해 주고받는 정보 또한 0과 1로 이루어져 있다. 비트 신호를 유무선 통신 매체를 통해 운반하는 계층이다.

 

2. 데이터 링크 계층(Data Link Layer)

같은 LAN에 속한 호스트끼리 올바르게 정보를 주고받기 위한 계층이다. 이를 위해 같은 네트워크에 속한 호스트를 식별할 수 있는 MAC 주소를 사용하고, 물리 계층을 통해 주고받는 정보에 오류가 없는지 확인하기도 한다. 물리 계층과 밀접하게 연관된 계층이며, 하드웨어와 밀접하게 맞닿아 있는 계층이다.

 

3. 네트워크 계층(Network Layer)

네트워크 간 통신을 가능하게 하는 계층이다. 데이터 링크 계층이 같은 LAN에 속한 호스트끼리 올바르게 정보를 주고받기 위해 필요한 계층이라면, 네트워크 계층은 LAN을 넘어 다른 네트워크와 통신을 주고받기 위해 필요한 계층이다. 따라서 네트워크 통신 과정에서 호스트를 식별할 수 있는 IP 주소가 필요하다.

 

4. 전송 계층(Transport Layer)

네트워크를 통해 송수신되는 패킷은 전송 도중 유실되거나 순서가 뒤바뀔 수 있는데, 이러한 상황에 대비해 신뢰성 있는 전송을 가능하게 하는 계층이다. 또한 포트라는 정보를 통해 특정 응용 프로그램과의 연결 다리 역할을 수행하는 계층이다. TCP, UDP 프로토콜이 전송 계층에 속한다.

 

5. 세션 계층(Session Layer)

응용프로그램 간 연결 상태를 의미하는 세션을 관리하기 위한 계층이다. 응용 프로그램 간의 연결 상태를 유지하거나 새롭게 생성하고, 필요하다면 연결을 끊는 역할을 한다.

 

6. 표현 계층(Presentation Layer)

인코딩, 압축, 암호화와 같은 작업을 수행하는, 마치 번역가와 같은 역할을 하는 계층이다. 세션 계층과 표현 계층은 다른 계층과 달리, 두 계층을 명확하게 구분하지 않거나 응용 계층에 포함하여 간주하는 경우가 많다.

 

7. 응용 계층(Application Layer)

사용자와 가장 밀접하게 맞닿아 있어 여러 네트워크 서비스를 제공하는 계층이다. HTTP, HTTPS, DNS와 같이 중요한 프로토콜이 다수 포함되어 있다.

TCP/IP 모델

TCP/IP 4 계층이라고도 불리는 TCP/IP 모델은 네트워크 액세스 계층과 인터넷 계층, 전송 계층, 응용 계층으로 구성되어 있다. OSI 모델이 네트워크의 이론적 기술을 목적으로 사용하는 반면, TCP/IP 모델은 구현과 프로토콜에 중점을 둔 모델이다.

우측은 TCP/IP 모델의 확장된 관점이다

1. 네트워크 액세스 계층(Network Access Layer)

링크 계층 또는 네트워크 인터페이스 계층이라고도 부르는데, OSI 모델의 데이터 링크 계층과 유사하다. OSI 모델에서의 물리 계층에 해당하는 개념이 없다고 보는 견해도 존재한다.

 

2. 인터넷 계층(Internet Layer)

OSI 모델의 네트워크 계층과 유사하다.

 

3. 전송 계층(Transport Layer)

OSI 모델의 네트워크 계층과 유사하다.

 

4. 응용 계층(Application Layer)

OSI 모델의 세션계층, 표현 계층, 응용 계층을 합친 것과 유사하다.

캡슐화와 역캡슐화

프로토콜과 네트워크 참조 모델을 토대로 이뤄지는 패킷 송수신 과정 중 송신 과정에서는 캡슐화가, 수신 과정에서는 역캡슐화가 이뤄진다.

  • 패킷 송신 측에서는 상위 계층에서 하위 계층으로 정보를 보내고, 패킷 수신 측에서는 하위 계층에서 상위 계층으로 정보를 받아들인다.
  • 네트워크 계층 구조를 이용하면 프로토콜을 계층 별로 구성할 수 있다.
  • 하나의 패킷은 헤더와 페이로드(+트레일러)를 포함하며, 프로토콜의 목적과 특징에 따라 헤더의 내용이 달라질 수 있다.

각 계층에서는 어떤 정보를 송신할 때 상위 계층으로부터 내려받은 패킷을 페이로드로 삼아, 각 계층에 포함된 프로토콜의 각기 다른 목적과 특징에 따라 헤더 혹은 트레일러를 덧붙인 뒤 하위 계층으로 전달한다. 즉 상위 계층의 패킷이 하위 계층의 페이로드로 간주되는 것이다. 이것이 캡슐화이다. 반대로 캡슐화 과정에서 붙인 헤더(및 트레일러)를 각 계층에서 확인한 뒤 제거하는 과정을 역캡슐화라 한다.

각 계층에서 주고받는 패킷(메시지)을 부르는 이름이 다르다.
캡슐화와 역캡슐화의 과정

9ky0
@9ky0 :: Hello, 9ky0!

공감하셨다면 ❤️ 구독도 환영합니다! 🤗

목차