프로그래밍/네트워크

[네트워크 시리즈] 네트워크란 무엇일까 : Network Overview

강민재02 2024. 9. 5. 12:43
728x90

네트워크란 무엇일까

목차

1. 네트워크라는 용어의 의미

2. 네트워크의 구성요소

3. 네트워킹을 위해 사용되는 장비

4. 네트워크 연결 구조와 데이터 전송 방식

4-1. ISP

5. 네트워크 성능 평가 척도

6. 네트워크 보안


728x90

네트워크라는 용어의 의미

 컴퓨터 공학에서 네트워크는 컴퓨터 간 연결되어 자원과 정보를 공유하기 위해 구축된 연결망을 의미한다. 공유 주체와 공유 방법의 차이만 있을 뿐 사전적 의미와 다르지 않다.


네트워크의 구성요소

네트워크는 노드, 링크, 패킷, 프로토콜로 구성되어 있다.

 

1. 노드 : node

자원과 정보를 공유하는 주체를 의미한다.

동의어 : host, end point, access point, 단말

 

2. 회선 : link

데이터가 전송되는 통로이다.

 

2-1) 회선의 소재

광 섬유: fiber
광통신 방식에서 사용하는 소재이다.
장점 : 속도
단점 : 내구성, 비용

 

구리 : copper
전자통신 방식에서 사용하는 소재로 주위에서 가장 흔하게 볼 수 있는 회선이다.
장점 : 가격, 준수한 속도
단점 : 광통신에 비해 느린 속도

 

라디오 : radio
주파수를 이용하여 통신하는 방식으로 AM, FM, M/W, WIFI 등 무선통신에서 사용하는 회선이다. 현재 일상생활에서 대중이 가장 많이 사용하는 회선이다.
장점 : 사용성
단점 : 서비스 제공 범위와 대역폭의 반비례 관계

 

위성 : satellite
 위성을 이용하여 통신하는 방식이다. 고도로 인한 높은 지연 시간, 높은 위성 발사 비용으로 주목받지 못하였으나 현재 6G의 커버리지 문제의 해결책으로 주목받고 있는 통신 방법이다. 다시 주목 받게 된 배경에는 스타링크 프로젝트가 있는데, 저궤도 위성의 개발로 지연 문제가 해결되었고 위성 발사 비용이 감소했기 때문이다.

 

3. 패킷 : packet

 패킷이란 데이터 전송의 기본 단위를 뜻하며 헤더, 메세지, 트레일러로 구성되어있다. 일반적으로 데이터를 전송할 때 패킷 단위로 쪼개어 전송한다. 패킷은 메세지 외에 부가적인 정보가 붙어야 하기 때문에 header overhead가 발생한다.

 

Q) 데이터를 쪼개어 전송하는 이유

 물리적으로 데이터를 전송하는 과정에서 데이터가 손상될 가능성이 있기 때문에 전송 실패 시 재전송 비용을 줄이고자 패킷 단위로 데이터를 쪼개어 전송한다. 무조건 잘게 쪼개는 것이 이득일 것 같지만 전송하는 모든 데이터에 header overhead가 발생하기 때문에 적절한 크기를 설정하는 것이 중요하다. header overhead를 고려해야하는 사례로 IoT 센서 데이터 전송이 있다.

 

4. 프로토콜 : protocol

 프로토콜이란 네트워크 통신 규칙을 의미하며 사전적 의미의 프로토콜과 다르지 않다. 데이터 전송 과정이 많고 복잡하기 때문에 분할 정복 되어 계층 구조로 모듈화되어 관리되며, 이러한 계층 구조를 프로토콜 스택이라고 한다. 번외로, 네트워크가 시스템이 가장 복잡한 시스템이라고 불리는 이유는 오랜 역사동안 축적되어 온 프로토콜 때문이다. 따라서, 네트워크를 공부한다는 것은 프로토콜을 공부한다는 것이다.

 

4-1) 프로토콜 스택

 프로토콜 스택은 크게 보면 physical layer, link layer, network layer, transport layer, application layer 순으로 스택 구조를 이루고 있으며 각 계층마다 다양한 프로토콜이 존재한다. 프로토콜 스택 또한 하나가 아니라 여러 모델을 가지고 있으며 대표적으로는 OSI 7계층 모델과 TCP/IP 4계층 모델이 있다.

가) 물리 계층 : physical layer

물리적 신호를 처리하는 단계이다. 컴퓨터는 디지털 신호를 사용하지만 전송은 아날로그 신호로 해야하기 때문에 ModulationDemodulation 과정이 필요하며 여기엔 많은 수학적 테크닉이 녹아들어있다.

 

나) 링크 계층 : link layer

장치를 식별할 수 있는 MAC주소를 이용하여 지역 네트워크(LAN) 내 컴퓨터를 식별한다. 택배 주문 시 주민번호를 사용하지 않는 것처럼, 장치를 효율적으로 식별하기 위해 IP 주소가 아닌 MAC 주소를 사용한다.

 

다) 네트워크 계층 : network layer

네트워크를 식별할 수 있는 IP 주소를 이용하여 광역 네트워크(WAN)까지 데이터를 전송한다.

 

라) 전송 계층 : transport layer

패킷의 신뢰성을 확보하고 라우터 버퍼 오버플로우를 막는 역할을 한다. 패킷의 신뢰성을 보장하는 TCP 프로토콜과 신뢰성을 보장하지는 않지만 빠른 UDP 프로토콜이 있다.

 

마) 응용 계층 : application layer

네트워크를 사용하는 애플리케이션 간 통신을 위해 필요한 프로토콜이다. 앱 마다 다양한 프로토콜이 존재합니다.

예시 : HTTP, POP3, DNS, ...

 

4-2) 프로토콜 적용 과정

 사용자가 소켓을 이용해서 데이터를 전송을 요청하면 OS는 데이터를 encapsulation하여 전달한다. encapsulation이란 각 계층을 통과시키면서 메세지(데이터)에 헤더를 붙이는 행위를 의미한다. 전송 계층 -> 네트워크 계층 -> 링크 계층 순으로 OS가 메세지에 segment, datagram, frame이라는 이름의 헤더를 적층하여 전송한다. 데이터를 수신받는 쪽은 다시 역순으로 소켓을 통해 OS가 헤더를 해석하여 메세지를 수신받는다.

 

4-3) 프로토콜 표준기구

전세계의 모든 컴퓨터를 연결해야하는만큼 프로토콜은 국제 기구에 의해 일반적이고 엄격하게 관리된다. 각 기관의 홈페이지에서 누구나 프로토콜 문서를 볼 수 있다.

 

국제기구&문서 종류 : IETF(유선통신)의 RFC, 3GPP(무선통신), IEEE(WLAN, bluetooth)


네트워킹을 위해 사용되는 장비

네트워크를 구성하는 장비는 스위치와 라우터가 있으며 다중화 기술을 통해 여러 신호를 관리한다.

 

1. 스위치 : Switch

컴퓨터와 컴퓨터를 연결하여 LAN을 구성하는 하드웨어 장치이다. 패킷을 임시 저장하고 MAC 주소를 해석하여 다른 컴퓨터로 전송한다. Link Layer까지 해석할 수 있다고 하여 L2 장비라고 불린다.

 

2. 라우터 : Router

네트워크와 네트워크를 연결하여 WAN을 구성하는 하드웨어 장치이다. 스위치의 기능 뿐만 아니라 최단 경로를 탐색하는 Routing 기능이 있다. IP 주소를 해석하고 다른 네트워크로 패킷을 전송한다. Network Layer까지 해석할 수 있다고 하여 L3 장비라고 불린다.

 

3. 다중화 : Multiplexing

 네트워크에서 다중화란 두 개 이상의 링크를 통합하는 과정을 의미한다. 하나의 네트워크를 만들기 위해 여러 개의 PC를 네트워크 장비에 연결하면, 하나의 장비가 여러개의 pc에서 보내는 신호들을 다중화하여 관리한다. 시분할 다중화 방식, 주파수 분할 다중화 방식, 등 등 다양한 방식이 있다.

 

시분할 다중화 방식 : TDM; Time Division Multiplexing

여러 개의 프로세스가 하나의 CPU를 시간 단위로 쪼개어 사용하듯이, 여러 개의 회선이 하나의 장비를 시간 단위로 쪼개어 사용하는 방식이다. 각 장비마다 타임 슬롯이라는 것이 있으며 회선 가입자는 타임 슬롯에 매치된 포트로 통신할 수 있다.


네트워크의 연결 구조와 데이터 전송 방식

네트워크는 교통망과 비슷한 형태로 연결되어 있으며 현재는 패킷 교환 방식을 통해 통신한다.

 

가. 컴퓨터 - 컴퓨터

나. 컴퓨터 - switch - 컴퓨터 ( = network )

다. 컴퓨터 - switch - router - network - router - switch - 컴퓨터 ( = internetwork; inter + network )

 

 컴퓨터 연결 구조는 수요를 감당하기 위해 위의 순서대로 발전해왔으며 현재는 '다'와 같이 지역성을 기준으로 하나의 네트워크를 만들고 네트워크와 네트워크 간 연결을 통해 세상의 모든 pc가 연결되어있다. 또한, 가입자 수가 많아짐에 따라 이를 커버하기 위해 데이터 전송 방식에 대한 연구가 활발히 진행되었다.

 

1) 회선 교환 방식 : Circuit switching

단말에서 단말로 회선 하나를 지정하여 통신하는 방법이다. 음성 데이터 전송을 목적으로 개발되었으며, LTE 도입 초창기까지도 계속 사용되었습니다. 회선이 구성되고 삭제되는 과정이 필요합니다. 

 

장점

한 사용자가 회선을 독점하여 사용하기 때문에 안정적입니다.

 

단점

독점되는 회선에 비해 교환되는 패킷의 양이 적어 효율적이지 못합니다. (약 90%의 유휴 상태를 가짐)

 

2) 패킷 교환 방식 : Packet Switching

단말에서 단말까지 패킷 단위로 통신하는 방법이며 store and forward 방식을 이용하여 패킷을 전송한다. 현재 주를 이루는 패킷 전송 방식이다.

store and forward

중간 노드에 패킷을 임시로 저장하여 패킷이 모두 도착하면 전송하는 방식이다.
패킷 신뢰성을 높이고 트래픽을 제어할 수 있다.

 

장점

동일한 자원으로 회선 교환 방식보다 더 많은 사용자를 수용할 수 있다.

 

단점

패킷 간 충돌 가능성이 존재하며, 중간 노드가 수용할 수 있는 데이터의 양보다 더 많은 데이터의 양이 들어오게 되면 네트워크가 마비된다.


ISP (Internet Service Provider)

 ISP란 인터넷 서비스 사업자를 말하며, 네트워크를 관리하고 사용자들에게 access point를 제공하는 기업을 의미한다. 하나의 글로벌 ISP를 통해 통신하는 것이 가장 이상적이나 사회적 문제로 현실에서는 수많은 ISP가 존재하며 규모에 따라 Tier1, Tier2로 나누어져 계층 구조를 이루고 있다. 자체 통신량이 많은 기업은 Content Provider Network를 자체 구축하여 사용하기도 한다.


네트워크 성능 평가 척도

1. bandwidth

특정 회선의 데이터 전송 속도의 상한선을 나타낸다.

단위 : bps (bit per second)

 

2. throghput

자국에서 대국까지 네트워크를 통해 전달할 수 있는 순간 또는 평균 데이터 양을 나타낸다. 다양한 속도의 여러 회선을 거치더라도 throughput은 항상 가장 느린 회선의 bandwidth이다. 이 때, 가장 느린 회선을 bottleneck link라고 하며, 일반적으로 core network보다 access network에서 bottleneck link가 나온다.

단위 : bps

 

3. delay

하나의 패킷이 다른 노드로 도착하기까지의 소요된 지연 시간을 의미한다. 4가지 종류의 delay가 존재한다.

 

1) 처리 지연 (Processing delay) : 노드에서 패킷을 처리하고 목적지로 보낼 준비를 하는 데 걸리는 시간

 

2) 큐잉 지연 (Queuing delay) : 패킷이 스케쥴링 큐에서 대기하는 시간

 

3) 전송 지연 (Transmission delay) : 데이터가 회선에 실리는 데 걸리는 시간

 

4) 전파 지연 (Propagation delay) : 데이터를 목적지까지 물리적으로 전송하는데 걸리는 시간

 


네트워크 보안

 

 

 

728x90