본문 바로가기
CS/Network

[Network] 네트워크 시작하기!

by 그냥하는거지뭐~ 2024. 5. 4.
목차
1. 네트워크 거시적 관점
   - 네트워크의 기본 구조
   - 네트워크의 분류
2. 네트워크 미시적 관점
   - 프로토콜
   - 네트워크 참조 모델
   - 캡슐화와 역캡슐화
3. 트래픽과 네트워크 성능 지표

 

1. 네트워크 거시적 관점에서 보기 

① 네트워크의 기본 구조

네트워크는 그래프 형태, 즉 노드가 간선으로 연결된 구조로 호스트, 네트워크 장비, 통신 매체로 구성된다. 

출처: https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.mydraw.com%2Fdiagrams-network-diagram&psig=AOvVaw0jWjXencH1pcS0bUMO81az&ust=1714898074484000&source=images&cd=vfe&opi=89978449&ved=0CBIQjRxqFwoTCJippKfL84UDFQAAAAAdAAAAABAY

 
호스트

가장자리 노드, 즉 네트워크 정보를 최초로 송신하거나 최종으로 수신하는 노드를 호스트라고 한다. 우리가 친구에게 메시지를 보낼 때, 내 스마트폰도 호스트, 그 메시지를 받은 친구의 스마트폰도 호스트이다. 네트워크를 통해서 정보를 보내고, 전달받은 정보를 최종적으로 수신했기 때문이다. 요즘에는 스마트폰, 노트북, 데스크탑, 서버 컴퓨터뿐만 아니라 스마트 워치, 냉장고, TV도 호스트가 될 수 있다. 
 
 

네트워크 장비

네트워크 장비는 라우터, 공유기, 스위치 등으로, 중간 노드에 위치하며 호스트들끼리 주고받는 정보가 목적지까지 안정적으로 송수신될 수 있도록 돕는 역할을 수행한다. 

라우터 (Router): 라우터는 다양한 네트워크 간에서 데이터 패킷을 전달하는 장치로, 패킷이 목적지까지 최적의 경로를 통해 도달하도록 한다.
스위치 (Switch): 스위치는 네트워크 내의 다양한 장치들 간의 데이터 통신을 중개하며, 데이터 패킷을 받아 적절한 목적지로 전달한다.
허브 (Hub): 허브는 네트워크 내의 모든 장치에 데이터를 방송하는 기본적인 네트워킹 장치이다. 스위치와 비교했을 때, 허브는 지능적이지 않아 네트워크 효율이 낮을 수 있다.

 

통신 매체

통신 매체는 유/무선의 연결 매체로 노드 간의 연결을 수행한다. 유선 매체는 데이터가 전기 신호나 광 신호로 변환되어 케이블을 통해 전송되며, 무선 매체는 데이터가 전자기파로 변환되어 전송된다. 
 

② 네트워크의 분류

2.1. 범위에 따른 분류

컴퓨터 초창기에는 IBM의 메인프레임 머신들이 서버의 주류를 이뤘다. 이 메인프레임 서버는 중앙 처리 장치와 메인 메모리를 갖춘 대형 캐비넷들로, 많은 terminal들이 연결되어 있었다. 메인프레임 상에서 실행되는 애플리케이션을 사용자들이 자신의 터미널에서 모니터와 키보드를 통해 조작하는 방식이었다. 그래서 메인프레임에 문제가 발생하면 모든 작업이 중단되었다. 이러한 원격 client terminal들은 단지 메인프레임에 접근하기 위한 통로였고, 단순히 모니터에 보이는 데이터를 키보드로 조작해서 그 내용을 메인프레임에게 전달하는 역할만 했기 때문에 이런 터미널 컴퓨터를 dummy terminal이라고 불렀다. 

출처: 위키백과

 
메인프레임이 처리할 수 있는 터미널의 수가 증가하면서 부하가 증가하게 되었고, 이에 대응하여 부하를 분산시킬 수 있는 방법으로 PC가 고안되었다. PC는 personal computer의 약자로, 터미널처럼 메인프레임에 연결되지만 자체 CPU, RAM, HDD 등을 가지고 있어서 자체적으로 작업을 처리할 수 있다. 이때 마우스도 등장해 소형 사무실과 가정에서도 널리 보급되기 시작했다. 
 
#LAN
PC를 메인프레임에 효율적으로 연결하기 위한 방법이 뭘까? 생각하다가 나온게 바로 LAN(Local Area Network)이다. LAN은 여러 리소스들, 즉 컴퓨터, 데이터, 프린터 등을 효율적으로 공유하기 위해 묶는 개념에서 출발하였는데, 조직에서는 이더넷이나 토큰링 같은 기술을 사용해서 구축한다. 이때 각 노드는 NIC(네트워크 카드)를 통해 LAN에 연결된다. 
 
#WAN
LAN들이 점점 늘어나면서, 이 LAN 네트워크들을 서로 다른 층, 건물, 도시, 국가 간에도 연결해야 했다. 그래서 나온게 MAN(Metropolitan Area Network)이나 WAN(Wide Area Network)이다. 즉, WAN은 LAN끼리 연결하는 개념이며, 조직 내부의 네트워크를 LAN, 인터넷을 구성하는 네트워크를 WAN이라고 할 수 있다. 가장 대표적인 WAN 네트워크가 WWW(World Wide Web)이며, WAN은 ISP라는 특별한 업체에서 구축하고 관리하는데, 우리에게 익숙한 KT, LG U+ 등을 생각하면 된다. 
 
라우터 장비는 LAN과 LAN을 연결해주는 역할을 하며, LAN 내에서의 부분적인 네트워크를 '세그먼트(segment)'라고 부른다. 사실 그 경계가 모호한데, 간단히 정의하면 LAN은 라우터 이하의 영역, WAN은 라우터 이상의 영역이라고 생각하자. 정리하면, Segment -> LAN -> MAN -> WAN이라고 볼 수 있다. 
 

Segment -> LAN -> MAN -> WAN

 
 

2.2. 메시지 교환 방식에 따른 분류

#회선교환 #패킷교환
 

회선 교환(Circuit Switching)

회선 교환은 전통적인 전화 네트워크에서 사용되는 기술이다. 이 방식에서는 호스트 간에 메시지를 주고받기 전에 물리적인 메시지 전송로(회선)를 설정한 뒤, 해당 전송로를 통해서만 메시지를 주고받는다. 연결이 설정되면 통신이 종료될 때까지 해당 경로가 유지되기 때문에 데이터 전송이 매우 안정적이고 전송 속도가 매우 안정적이다. 또한 데이터의 순서가 변경되거나 손실될 가능성이 매우 적다. 
 
하지만 단점도 굉장히 많은데, 일단 연결을 설정하는 데에 시간이 걸린다는 점이다. 또한 연결이 유지되는 동안 해당 회선은 다른 통신에는 사용할 수 없어서 자원 활용도가 낮다. 회선을 설정했는데 통신을 주고받지 않는 경우에 이 연결이 낭비되는 문제, 트래픽이 많지 않은 경우에도 회선이 유지되어 비효율적이라는 문제도 들 수 있다. 
 

패킷 교환(Packet Switching)

그래서 요즘에는 패킷 교환을 주로 쓴다. 이 방식에서는 데이터를 '패킷'이라는 작은 단위로 분할해서 전송한다. 각 패킷은 독립적으로 최적의 경로를 통해 목적지까지 전송되며, 목적지에서 다시 데이터 순서대로 재조합된다. 패킷 교환은 회선 교환처럼 전송로를 예약할 필요가 없어서 네트워크 자원을 효율적으로 사용할 수 있으며, 높은 트래픽에서도 효율적으로 데이터를 처리할 수 있다. 또한 다양한 경로를 통해 데이터를 전송할 수 있어 네트워크 장애에 강하다. 패킷은 header + payload + (trailer)로 구성되는데, payload에는 담고자 하는 정보가, header에 패킷에 대한 부가정보가 들어간다. 
 


2. 네트워크 미시적 관점에서 보기

두 대의 네트워크 기기가 서로 정보를 주고받는 과정에서 어떤 일이 벌어지는지 좀 더 자세히 살펴보자. 

① 프로토콜

프로토콜이란 시스템 혹은 노드 간에 정보를 올바르게 주고받기 위해 합의된 규칙이나 방법을 뜻하며, 두 노드는 프로토콜이 같아야 통신이 가능해진다. 현재 사용되는 프로토콜은 TCP, IP, FTP, DHCP, RIP, OSPF 등 만개가 넘고 일반적으로 여러 프로토콜을 함께 사용한다.
 
각 프로토콜마다 목적과 특징이 다른데, 예를 들어 IP는 패킷을 수신지까지 전달하기 위해 사용되는 프로토콜, HTTPS는 HTTP에 비해 보안상 더 안전한 프로토콜, TCP는 UDP에 비해 일반적으로 느리지만 신뢰성이 높은 프로토콜이다. 이 프로토콜들은 각 목적과 특징에 맞는 정보를 헤더에 포함하게 된다. 
 

② 네트워크 참조 모델

택배를 보내고 받을 때를 생각해보자. 

1. 물건을 준비한다
2. 포장용지로 감싼다.
3. 택배상자에 넣는다.
4. 상자를 밀봉한다. 
5. 보내는 이, 도착지 등의 정보가 담긴 메시지를 적는다. 
6. 택배기사에게 전달한다. 

 
보낼 때는 1->6으로, 받을 때는 6->1의 순서를 거칠 것이다. 네트워크를 통해 패킷을 주고받는 과정에도 어떤 정형화된 순서가 있다. 이를 계층적으로 표현한 모델을 네트워크 참조 모델이라고 한다. 

 
이 계층은 OSI 모델(OSI 7 layer) 또는 TCP/IP 모델(TCP/IP 4계층)로 표현할 수 있는데, 계층이 높아질수록 사용자와 가까워진다. 우선 이 정도만 알고 넘어가자. 
 

③ 캡슐화와 역캡슐화

지금까지의 내용을 정리하보면, 네트워크를 통해서 정보를 주고받는 통신의 과정에는 정형화된 단계가 있고, 그 단계는 여러 계층으로 나타낼 수 있다(네트워크 참조모델). 어떤 데이터를 보낼 때와 받을 때 송신의 과정과 수신의 과정은 반대의 과정으로 이루어진다. 프로토콜은 네트워크 상에서 정보를 주고받기 위한 어떤 합의된 규칙을 의미하는데 프로토콜마다 목적과 특징이 다르기 때문에 특정 프로토콜로 구현된 패킷은 포함된 정보가 다를 수 있다. + 통신 과정에서 일반적으로는 여러 프로토콜을 함께 사용한다. 
 
각 프로토콜의 목적과 특징에 따라 어떤 프로토콜은 특정 계층에 속해 있을 수 있다. 예를 들어 응용 계층의 HTTP, 전송 계층의 TCP, UDP가 있다. 각 계층에 포함되어 있는 프로토콜엔 어떤 것들이 있는지 아는 것도 중요하다. 
 
응용 계층에서부터 물리 계층까지 쭉 데이터를 내려보내는 과정에서 각 계층에 속해 있는 프로토콜별 헤더들이 보내고자 하는 데이터에 붙는 것, 즉 송신 과정에서 헤더 및 트레일러를 추가해 나가는 과정을 '캡슐화'라고 한다. 한 단계 아래 계층은 위의 계층에서 내려받은 데이터를 페이로드로 삼는다. (택배 상자 안에 또 다른 상자를 넣는 느낌) 역캡슐화는 그 반대 과정으로, 캡슐화되는 과정에서 덧붙은 헤더 또는 트레일러를 제거해 나가는 과정이다. 

 
계층별로 주고받는 메시지에 각기 다른 이름을 붙인다.

응용 계층 data
표현 계층
세션 계층
전송 계층 segment, datagram
네트워크 계층 packet
데이터 링크 계층 frame
물리 계층 bit

 


3. 트래픽과 네트워크 성능 지표

트래픽은 네트워크를 통해 전송되는 데이터의 양과 속도를 의미한다. 이는 네트워크의 사용량을 나타내며, 트래픽이 많을수록 네트워크 자원의 사용도 증가하여 과부하로 인상 성능 저하가 발생할 수 있다. 트래픽은 주로 데이터 패킷의 형태로 측정되며, 성능 지표에는 처리율, 대역폭, 패킷 손실이 있다. 
 
처리율(Throughput)
- 단위 시간당 네트워크를 통해 실제로 전송되는 정보량
- 단위: bps(bit/s), Mbps(Mbit/s), Gbps(Gbit/s), pps(packets/s)
 
대역폭(bandwidth)
- 통신 매체를 통해 송수신할 수 있는 최대 정보량
- 단위: bps(bit/s), Mbps(Mbit/s), Gbps(Gbit/s), pps(packets/s)
 
패킷 손실(Packet Loss)
- 몇 개의 패킷이 손실되었는지를 나타내는 지표 
 


Reference

- 혼자 공부하는 네트워크 https://www.youtube.com/watch?v=b_V79kE9hhA