학교 공부/데이터 통신론

데이터통신론 01 네트워크 기초

_빌런 2022. 3. 18. 09:26

1. 네트워크란

    1.1. 네트워크의 역사

    1.2. 회선 교환 방식과 패킷 교환 방식 

2. 통신을 위한 규칙, 프로토콜

    2.1. 프로토콜에 결정되어 있는 것

    2.2. 프로토콜은 계층으로 정리한다

    2.3. 두 가지 계층 구조 모델

    2.4. 표준화 단체가 프로토콜을 결정한다

    2.5. 각 계층이 연계하여 동작하는 구조

3. 네트워크 구성 기기

    3.1. 물리 계층에서 동작하는 기기

    3.2. 데이터링크 계층에서 동작하는 기기

    3.3. 네트워크 계층에서 동작하는 기기

    3.4. 트랜스포트 계층에서 동작하는 기기

    3.5. 애플리케이션 계층에서 동작하는 기기

    3.6. 모든 기기를 연결하기

4. 다양한 네트워크 기기 형태

    4.1. 물리 어플라이언스

    4.2. 가상 어플라이언스

5. 네트워크 형태

    5.1. LAN

    5.2. WAN

    5.3. DMZ

6. 새로운 네트워크 형태

    6.1. SDN

    6.2. CDN

    6.3. IoT

    6.4. IaaS


1. 네트워크란

    1.1. 네트워크의 역사

1960년대에는 한 대의 대형 컴퓨터를 TSS 방식으로 이용

1970년대에는 소형 컴퓨터의 등장으로 현재의 네트워크의 원형이 만들어지기 시작함

 └ ARPANET (Advanced Research Projects Agency NETwork)

 └ 미국 방위 고등 연구 계획국(DARPA)이 학술 목적으로 만든 네트워크

 └ 네트워크에서는 데이터를 '패킷'이라는 단위를 사용

 

    1.2. 회선 교환 방식과 패킷 교환 방식

회선 교환 방식

회선 교환방식(Circuit Exchange Method) : 데이터를 교환하기 전 1:1의 전송로를 만들고 사용하는 방식

 ㄴ 접속하는 동안에는 해당 선로를 점유하여 다른 전화를 받을 수 없고, 다른 이가 사용할 수 없음

 ㄴ 회선 점유를 통한 안정적인 통신이 되나, 데이터의 이동이 없을 때도 연결되어 회선 이용 효율이 낮음

 ㄴ 데이터 교환에 적합한 통신 방식 (Ex. 웹사이트 서핑)

 

패킷 교환 방식

패킷 교환 방식(Packet Exchange Method) : 데이터를 패킷 단위로 잘게 쪼개어 네트워크로 보내는 방식

 ㄴ 패킷에 헤더를 붙여 데이터를 패킷 교환 네트워크로 보냄

 ㄴ 헤더에는 수신 컴퓨터의 정보, 몇 번째 데이터인지 등의 다양한 정보를 포함하고 있음

 ㄴ 패킷 교환 네트워크는 헤더를 보고 수신 컴퓨터로 헤더를 전달 후 원 데이터로 복원

 ㄴ 패킷이 손상 되어도 해당 패킷만 재전송하면 된다는 장점

 

2. 통신을 위한 규칙, 프로토콜

프로토콜(Protocol) : 네트워크 세계에서 패킷을 처리하기 위한 규칙

// 프로토콜 덕분에 유무선, PC 제조사, 운영 체제에 관계없이 통신할 수 있다.

 

    2.1. 프로토콜에 결정되어 있는 것

물리적 사양

LAN 케이블 소재, 커넥터 형태, 핀 배열 등의 눈에 보이는 모든 것들을 프로토콜에 정의한다.

와이파이 환경에서 전파의 주파수, 패킷을 전파로 변조하는 방법도 프로토콜에 정의한다.

 

송신 상대 특정

어느 위치에 누구와 통신을 하는지에 대한 수신자 주소를 프로토콜에 정의한다.

 

패킷 전송

헤더의 어디부터 어디까지가 어떤 정보인지, 어떤 순서로 교환하는지에 대한 패킷 정보를 프로토콜에 정의한다.

 

신뢰성 확립

패킷 전송 중 오류가 발생했을 때 이를 알리거나, 데이터틑 재전송하는 구조를 프로토콜에 정의한다.

유한한 네트워크 자원이 패킷으로 가득차지 않게 방지하는 구조도 정의한다.

 

보안 확보

올바른 통신 상대인지 인증하고 암호화하는 구조를 프로토콜에 정의한다.

 

    2.2. 프로토콜은 계층으로 정리한다

계층 구조의 예시

 

    2.3. 두 가지 계층 구조 모델

TCP/IP 참조 모델(위쪽), TCP/IP 모델에서 사용하는 프로토콜(아래쪽)

TCP/IP 모델은 1970년 '미국 방위 고등 연구 계획국(DARPA)'에서 개발하여 'DARPA 모델'이라고도 한다.

4계층으로 구성하며 OSI 모델보다 실용성을 중시한 구조라, 현재 대부분의 프로토콜에 대응하는 모델이다.

 

OSI 참조 모델

ISO에서 만든 OSI 7계층 모델이다.

 └ ISO(International Organization for Standardization) : 국제 표준화 기구

 └ OSI(Open Systems Interconnection) : 개방형 시스템 간 상호 접속

 

1984년 난립하던 벤더 규격을 표준화하기 위해 만들었지만, 현재 순수하게 이 모델을 대응하는 프로토콜은 없다.

통신 기능을 너무 세세하게 불려해놓아 사용하기에는 불편하지만, 통신 기능을 체계적으로 논의할 때는 유용하다.

실제 Layer에 대한 언급을 할 때는 이 OSI 7 Layer를 기준으로 설명한다.

 

TCP/IP 참조 모델(왼쪽), OSI 참조 모델(가운데), 앞으로 사용할 모델(오른쪽)

 

    2.4. 표준화 단체가 프로토콜을 결정한다

계층별 PDU 명칭

PDU(Protocol Data Unit)

제어 정보를 포함한 헤더, 데이터 자체인 페이로드로 이루어져 있으며 계층마다 명칭이 다르다.

 

IEEE(Institute of Electrical and Electronics Engineers)

전기 기술, 통신 공학 등의 분야를 연구하는 '전기 전자 기술학회'

네트워크 인터페이스나 케이블 같은 하드웨어와 관련한 네트워크 기술의 표준화를 IEEE802 위원회에서 연구한다.

// 1980년 2월에 설립하여 IEEE 802라고 한다.

 

IEEE는 통신 기술별로 설립된 '워킹 그룹(WG)', 실제 연구나 표준화를 논의하는 '태스크 포스(Task Force)'로 구성한다.

워킹 그룹은 IEEE802 뒤에 점과 숫자로 식별하고, 태스크 포스는 워킹 그룹 뒤에 영문자를 붙여 식별한다.

예를 들어 IEEE802.11ac는 11 워킹 그룹에 속하는 ac 태스크 포스에서 표준화했다는 의미이다.

 

IETF(Internet Engineering Task Force)

인터넷에 관련된 기술의 표준화를 추진하는 임의의 조직

HTTP, SLS/TLS 등의 OS나 애플리케이션에서 처리하는 소프트웨어와 관련한 프로토콜을 책정한다.

이때 표준화한 규칙은 RFC(Request For Coments)라는 형태로 문서화하여 인터넷에 공개한다.

 

    2.5. 각 계층이 연계하여 동작하는 구조

캡슐화와 비캡슐화

캡슐화(Encapsulation) : 헤더를 페이로드에 붙여 PDU로 만드는 행위

비캡슐화(Decapsulation) : PDU에서 헤더를 제거하여 페이로드만을 얻는 행위

// 각 계층의 프로토콜은 밑에 설명할 두 가지의 타입을 따른다. 커넥션이란, 통신 단말 사이의 논리적인 통신로이다.

 

커넥션 타입

커넥션 타입

수신 측에게 데이터를 보내도 좋은지 확인을 한 뒤에 커넥션을 확립, 데이터를 교환, 종료를 한다.(Ex. TCP)

확실하게 정해진 순서를 따라, 전송에는 시간이 걸리지만 데이터를 확실하게 전송할 수 있다.

 

커넥션리스 타입

커넥션리스 타입

커넥션을 확립한 뒤에 곧바로 데이터를 보내고 마음대로 종료한다. (Ex. UDP)

일방적으로 데이터를 보내 빠르게 보낼 수 있지만, 상대에게 도착한다고 단정지을 수 없다.

 

대표적인 프로토콜들

물리 계층, 데이터링크 계층 : 유선 환경(IEEE802.3), 무선 환경(IEEE802.11)

네트워크 계층 : IP

트랜스포트 계층 : TCP, UDP

애플리케이션 계층 : HTTP, HTTPS, QUIC, DNS

// 실제로 통신할 때는 NIC이나 OS가 프로토콜을 알아서 선택해 통신한다.

// NIC(Network Interface Card) : LAN 카드나 무선 LAN 어댑터 등 네트워크에 접속하기 위해 필요한 하드웨어

 

3. 네트워크 구성 기기

네트워크 기기의 처리 범위

 

    3.1. 물리 계층에서 동작하는 기기

물리 계층은 케이블이나 커넥터 형태, 핀 할당(핀 배열) 등 물리적인 사양에 관해 모두 정의되어 있는 계층이다.

물리 계층에서 동작하는 기기는 패킷을 광 신호와 전기 신호로 상호 변환하거나 전파로 변조하는 기능을 갖고 있다.

 

NIC

NIC(Network Interface Card)

PC나 서버 등 컴퓨터를 네트워크에 연결하기 위해 필요한 하드웨어이다.

USB 포트와 연결하는 USB 타입, 마더보드에 내장된 온보드 타입을 포함한 네트워크 연결을 위한 하드웨어의 총칭이다.

모든 네트워크 단말은 NIC을 통해 패킷을 LAN 케이블이나 전파로 내보낸다.

 

Repeater

리피터(Repeater)

파형을 증폭해 정돈하여(전송 거리를 늘려) 패킷을 더 멀리까지 전송하는 기기이다.

LAN 케이블에 흐르는 전기 신호는 전송 거리에 따라 감쇠하는데 100m 정도가 되면 파형이 깨진다.

광섬유 케이블을 사용함에 따라 리피터의 사용은 많이 줄었다.

 

리피터 허브(Repeater Hub)

전달받은 패킷의 복사본을 다른 모든 포트에 전송하는 기기이다.

패킷을 함께 공유하는 동작 때문에 'Shared Hub'라고도 불린다. L2 스위치로 대체되었다.

 

Media Convertor

미디어 컨버터(Media Convertor)

전기 신호와 광 신호를 서로 교환하는 기기이다. 

광섬유 케이블을 연결하지 못하는 기기만 있는 상황에서 네트워크를 연장하고자 할 때 사용한다.

 

Access Point

액세스 포인트(Access Point)

패킷을 전파로 변복조하는 기기이다.

와이파이가 있는 곳에는 반드시 액세스 포인트가 존재한다. 

 

    3.2. 데이터링크 계층에서 동작하는 기기

Bridge

브리지(Bridge)

포트와 포트 사이의 다리 역할을 하는 기기이다.

단말에서 받은 MAC 주소를 MAC 주소 테이블에서 관리하고 전송 처리를 한다. 이를 브릿징(Bridging)이라고 한다.

 

L2 스위치(L2 Switch)

많은 포트를 가진 브리지, '스위칭 허브(Switching Hub)' 또는 '스위치(Switch)'라고도 부른다.

L2 스위치가 하는 전송 처리를 'L2 스위치(L2 Switching)'이라고 한다.

 

    3.3. 네트워크 계층에서 동작하는 기기

Router

라우터(Router)

단말에서 받아들인 IP 패킷의 IP 주소를 보고, 다른 네트워크 범위에 있는 단말로 전달하는 기기이다.

라우터는 IP 패킷을 다른 라우터로 보내고, 보내는 과정을 통해 목적지까지 데이터를 송신한다.

이러한 릴레이 과정을 '라우팅(Routing)'이라고 한다.

라우터는 '라우팅 테이블(Routing Table)'을 바탕으로 패킷을 전송할 대상지를 관리한다.

그외에도 NAT, IPsec VPN, PPPoE 등의 다양한 기능을 제공한다.

 

L3 Switch

L3 스위치(L3 Switch)

라우터에 L2 스위치를 추가한 기기이다.

여러 포트가 있어서 여러 단말을 동시에 연결할 수 있고, IP 패킷을 라우팅할 수도 있다.

MAC 주소 테이블과 라우팅 테이블을 조합한 정보를 FPGA나 ASIC 등의 하드웨어에 기록하고 스위칭/라우팅한다.

 └ FPGA(Field Programmable Gate Array) : 패킷 전송 처리 전용 하드웨어

 └ ASIC(Application Specific Integrated Circuit) : 패킷 전송 처리 전용 하드웨어

 

    3.4. 트랜스포트 계층에서 동작하는 기기

애플리케이션을 식별하고, 그 요건에 맞게 통신 제어하는 계층이다.

세그먼트(TCP) 또는 데이터그램(UDP)의 헤더를 포함한 포트 번호에 기반하여 패킷을 전송한다.

 

Firewall

방화벽(Firewall)

네트워크의 안전을 지키기 위해 이용하는 기기이다. 전통적 방화벽이라고 부르기도 한다.

단말 사이에서 교환하는 패킷의 IP 주소나 포트 번호를 보고, 통신을 허가하거나 차단한다.

이런 통신 제어 기능을 '스테이트풀 인스펙션(Stateful Inspection)'이라고 한다.

 

    3.5. 애플리케이션 계층에서 동작하는 기기

Next-Generation Firewall

차세대 방화벽(Next-Generation Firewall)

전통적 방화벽의 발전한 버전이다.

스테이트풀 인스펙션(Stateful Inspection)과 VPN, IDS, IPS 등의 다양한 보안 기능을 활용한다.

 └ VPN(Virtual Private Network) : 가상 사설 통신망

 └ IDS(Intrusion Detection System) : 침입 탐지 시스템

 └ IPS(Intrustion Prevention System) : 침입 차단 시스템

 

WAF

WAF(Web Application Firewall)

웹 애플리케이션 서버의 안전을 지키기 위해 사용하는 기기이다.

클라이언트/서버 관계에서 교환하는 정보의 움직임을 애플리케이션 레벨에서 하나하나 검사하고, 차단한다.

 

L7 Switch

부하 분산 장치(L7 Switch)

서버의 부하를 분산하는 기기이다.

'로드 밸런서(Load Balancer)' 또는 'L7 스위치(L7 Switch)'라고도 부른다.

서버 1대로 처리 가능한 트래픽(Traffic)은 한정되어, 부하 분산 방식을 통해 시스템 전체적으로 트래픽양을 확장한다.

 └ 트래픽(Traffic) : 통신 데이터

 └ 부하 분산 방식(Load Balancing, 로드 밸런싱)

헬스 체크(Health Check)를 통해 정기적으로 서버를 감시하여 장애 발생 시 부하 분산 대상에서 제외한다.

 

    3.6. 모든 기기를 연결하기

 

4. 다양한 네트워크 기기 형태

데이터링크 계층에서 동작하는 네트워크 기기를 2가지로 나눌 수 있다.

 └ 물리 어플라이언스(Physical Appliance)와 가상 어플라이언스(Virtual Appliance)

 

    4.1. 물리 어플라이언스(Physical Appliance)

눈에 보이는 '상자 모양의 장치'이다. 서버 랙에 탑재되거나 마트에 진열된 네트워크 기기같은 것이다.

물리 어플라이언스는 패킷을 처리하는 소프트웨어가 동작하기 위해 처적의 하드웨어로 구성한다.

아주 단순한 처리나, 아주 복잡한 처리를 전용 하드웨어가 담당하게 함으로써 성능 향상을 목표로 한다.

 

    4.2. 가상 어플라이언스(Virtual Aplliance)

가상화 기술을 제공하는 소프트웨어(Virtualization Software) 위에서 동작하는 네트워크 기기이다.

 └ 가상화 기술 : 물리 서버를 소프트웨어적으로 가상화한 여러 서버나 네트워크 기기로 나누는 기술

가상화 기술을 통해 만들어진 기기를 가상 머신(Virtual Machine)이라고 한다.

CPU의 코어, 메모리, 네트워크 기능을 가상화하는 NFV도 있다.

 └ NFV(Network Function Virtualization) : 네트워크 기능 가상화 기술​

 

5. 네트워크 형태

크게 LAN, WAN, DMZ의 3종류로 구분한다.

네트워크를 이용하는 대부분의 단말은 LAN에서 WAN으로 이어져서, DMZ 상의 공개 서버에 접속한다.

 

    5.1. LAN(Local Area Network)

가정 LAN 환경(왼쪽), 기업 LAN 환경(오른쪽)

가정이나 기업 등의 한정된 범위의 네트워크를 의미한다.

가정에서는 단말을 라우터가 제공하는 LAN에 연결한 뒤에 인터넷에 연결한다.

기업에서는 크게 다르지는 않지만 구성하는 네트워크의 기기와 성능만이 다르다.

 

    5.2. WAN(Wide Area Network)

거리상 멀리 떨어진 범위의 네트워크를 의미한다.

크게 '인터넷(Internet)'과 'VPN을 사용한 내부망(Closed-Area VPN Network)'로 나눈다.

 

인터넷(왼쪽), 폐역 VPN망(오른쪽)

인터넷(Internet)

누구나 접속할 수 있는 공중 WAN으로써 라우터의 집합이다.

각 ISP에는 AS 번호가 할당되는데, 이 번호를 보고 어디로 패킷을 보낼지, 어디와 통신할지에 대한 규칙을 따라간다.

 └ ISP(Internet Service Provider) : 인터넷 서비스 제공자

 └ AS 번호(Autonomous System Number) : 각 조직이 관리하는 범위의 일련 번호

 

폐역 VPN망(Closed-Area VPN Network)

LAN과 LAN을 직접 연결하는 네트워크이다.

인터넷상에 가상의 전용 터널을 만들어 IPsec이라는 프로토콜을 통해 1대1 암호화 통신을 한다.

 

    5.3. DMZ(DeMilitarized Zone)

DMZ 네트워크의 예시

인터넷에 공개하는 서버를 설치한 네트워크이다.

달리 말하면 외부와 내부 모두 안전하지 않다고 판단하는 네트워크라 DMZ(비무장지대)라는 이름이 붙었다.

 

DMZ는 서버가 제공하는 서비스를 안정적으로 가동하는 것이 기본 목표이다.

어떤 기기가 고장나거나, 케이블이 끊어지더라도 경로를 즉시 전환해 서비스를 계속 제공할 수 있게 한다.

이러기 위해서는 동일한 종류의 네트워크 기기를 병렬로 배치한다.

 └ 이것을 다중화(Redundancy)라고 한다.

 

6. 새로운 네트워크 형태

    6.1. SDN(Software Defined Network)

소프트웨어에 의해 관리와 제어되는 가상 네트워크, 또는 이를 구성하는 기술을 의미한다.

네트워크 전체를 제어하는 '제어 영역(Control Plane)'과 패킷을 전송하는 '데이터 영역(Data Plane)'으로 구성한다.

제어 영역의 SDN 컨트롤러는 데이터 영역에 있는 물리적인 네트워크를 설정해서 가상 네트워크를 만든다.

SDN은 '오버레이 타입(Overay Type)'과 '홉바이홉(Hop-by-Hop)'으로 나눈다.

 

SDN 오버레이 타입 네트워크 구조

오버레이 타입(Overay Type)

스위치 사이에 가상적인 터널을 만들어 패킷을 전송하는 방식이다.

이때 VXLAN이라는 프로토콜로 패킷을 한 번 더 캡슐화한다.

SDN 컨트롤러는 사용자 요청을 기반으로 스위치 간 터널링을 계산하고 양쪽 스위치에 설정을 보낸다.

 

SDN 홉바이홉 타입 네트워크 구조

홉바이홉(Hop-by-Hop)

각 스위치에 경로 정보(Flow Entry)를 배포하고, 그 정보를 기반으로 패킷을 전송하는 방식이다.

이때 OpenFlow라는 프로토콜로 경로 정보를 배포한다.

SDN 컨트롤러는 사용자 요청을 기반으로 경로 정보를 계산하고 각 경로 정보를 배포한다.

 

    6.2. CDN(Contetn Delivery Network)

CDN 네트워크 구조

이미지, 동영상, HTML, CSS 등 웹콘텐츠로 사용하는 다양한 파일을 대량 송신하기 위해 최적화된 서버 네트워크이다.

오리지널 웹콘텐츠를 가진 '오리진 서버(Origin Server)'와 캐시를 가진 '엣지 서버(Edge Server)'로 구성한다.

 

사용자는 사용자로부터 가장 가까운 엣지 서버에 접속하여 통신한다.

엣지 서버에 데이터가 없거나, 유효 기간이 만료되었을 때는 오리진 서버에 접속을 한다.

이 방법을 통해 통신 속도를 향상하고 서버 처리 부하를 분산한다.

때문에, 최근에는 OS나 게임, APP 업데이트 파일도 CDN을 활용한다.

 

    6.3. IoT(Internet of Things)

주변에 다양한 것들(Things)이 인터넷(Internet(IP))에 연결된 구조를 의미한다.

CoAP나 MQTT처럼 IoT 요건에 맞는 프로토콜을 사용한다.

 └ CoAP(Constrained Application Protocol) : UDP 계층에서 사용

 └ MQTT(Message Queuing Telemetry Transport) : TCP 계층에서 사용

 

    6.4. IaaS(Infrastructure as a Service)

서버나 네트워크 등의 인프라르, 인터넷상에서 구축하는 클라우드 서비스이다.

클라우드상의 네트워크 특징은 케이블을 연결하거나 기기를 랙에 탑재하는 등의 '물리 계층의 필요가 없다'는 것이다. 

대표적으로는 아마존의 AWS의 Amazon VPC라는 것이 있다.