공부용 블로그 | seokmin100

혼공네트 - 1차시_컴퓨터 네트워크 시작하기 본문

Network/혼자 공부하는 네트워크

혼공네트 - 1차시_컴퓨터 네트워크 시작하기

seokmin100 2024. 8. 25. 05:05

네트워크 거시적으로 살펴보기

네트워크의 기본구조

모든 네트워크는 '노드', 노드를 연결하는 '간선', 노드 간 주고받는 '메시지'로 구성된다.

노드는 정보를 주고받을 수 있는 장치, 간선은 정보를 주고 받을 수 있는 유무선의 통신메체라고 이해하면 쉽다.

 

- 호스트

네트워크의 가장자리에 위치한 노드는 네트워크를 통해 흐르는 정보를 최초로 생성 및 송신하고, 최종적으로 수신한다.

이런 가장자리 노드를 호스트라고 부른다.

때로는 호스트가 네트워크상에서 특정한 역할을 수행하기도 하는데, 대표적인 역할로는 서버클라이언트가 있다.

 

서버는 '어떠한 서비스'를 제공하는 호스트이다. 여기서 '어떠한 서비스'는 파일이 될 수도, 웹 페이지가 될 수도, 메일이 될 수도 있다.

클라이언트란 서버에게 어떠한 서비스를 요청하고 서버의 응답을 제공하는 호스트이다.

클라이언트는 서버에게 요청(request)를 보내고 그에 대한 응답(response)를 제공받는다.

 

- 네트워크 장비

네트워크 가장자리에 위치하지 않은 노드, 즉 호스트 간 주고받을 정보가 중간에 거치는 노드도 존재하는데 이를 중간노드라고 한다. 이러한 중간 노드들을 네트워크 장비라고 통칭한다.

네트워크 장비는 호스트 간 주고 받는 정보가 원하는 수신지까지 안정적이고 안전하게 전송될 수 있도록 한다.

 

- 통신 매체

그래프는 노드와 이를 연결 짓는 간선(링크)으로 이루어지기에, 호스트와 네트워크 장비 또한 유무선 매체를 통해 연결되어 있어야합니다. 이렇게 각 노드를 연결하는 간선이 통신 매체이다.

이 통신 매체에는 노드들을 유선으로 연결하는 유선 매체, 무선으로 연결하는 무선 매체가 있다.

 

- 메시지

통신 매체로 연결된 노드가 주고받는 정보를 메시지라고 한다. 메시지는 웹 페이지가 될 수도, 파일이 될 수도, 메일이 될 수도 있다.

네트워크는 가장자리 노드인 호스트, 중간 노드인 네트워크 장비, 노드들을 연결하는 간선인 통신 매체, 노드들이 주고받는 정보인 메시지로 구성된다.

 

 

범위에 따른 네트워크 분류

- LAN

LAN(Local Area Network)은 가까운 지역을 연결한 근거리 통신망을 의미한다. 예를 들어서 가정, 기업, 학교처럼 한정된 공간에서의 네트워크를 LAN이라고 부른다.

 

- WAN

WAN(Wide Area Network)은 먼 지역을 연결하는 광역 통신망을 의미한다. 다른 LAN에 속한 호스트와 메시지를 주고 받아야 할 때 WAN이 필요하다.

인터넷을 사용하기 위해 접속하는 WAN은 ISP라는 인터넷 서비스 업체가 구축하고 관리한다.

ISP는 사용자에게 인터넷과 같은 WAN에 연결 가능한 회선을 임대하는 등 WAN과 관련한 다양한 서비스를 제공한다.

 

- CAN과 MAN

CAN(Campus Area Network)은 학교 또는 회사의 여러건물 단위로 연결되는 규모의 네트워크를 의미한다.

MAN(Metropolitan Area Network)은 도시나 대도시 단위로 연결되는 규모의 네트워크를 의미한다.

 

 

메시지 교환 방식에 따른 네트워크 분류

- 회선 교환 방식

회선 교환 방식은 먼저 메시지 전송로인 회선을 설정하고 이를 통해 메시지를 주고받는 방식이다.

회선 교환 네트워크에서는 호스트들이 메시지를 주고 받기 전에 두 호스트를 연결한 후, 연결된 경로로 메시지를 주고 받는다.

 

회선 교환 방식은 두 호스트 사이에 연결을 확보한 후에 메시지를 주고받는 특성 덕분에 주어진 시간 동안 전송되는 정보의 양이 비교적 일정하다는 장점이 있다.

회선 교환 네트워크가 올바르게 동작하기 위해서는 호스트 간의 회선을 적절하게 설정해야 한다. 이 역할을 수행하는 회선 교환 네트워크 장비로는 회선 스위치가 있다. 즉, 회선 스위치는 호스트 사이에 일대일 전송로를 확보하는 네트워크 장비이다.

 

회선 교환 방식에는 회선의 이용 효율이 낮아질 수 있다는 문제가 있다. 가능한 모든 회선에 끊임없이 메시지가 흐르고 있어야만 회선의 이용 효율이 높아진다. 즉, 메시지를 주고받지 않으면서 회선을 점유하는 것은 낭비라고 볼 수 있다.

 

- 패킷 교환 방식

패킷 교환 방식은 회선 교환 방식의 문제점을 해결한 방식으로, 메시지를 패킷이라는 작은 단위로쪼개어 전송한다.

패킷은 패킷 교환 네트워크상에서 송수신되는 메시지의 단위이다. 현대 인터넷은 대부분 패킷 교환 방식을 이용한다.

 

패킷 교환 방식은 정해진 경로만으로 메시지를 송수신 하지 않는다.

메시지는 다양한 중간 노드를 거칠 수 있는데, 이때 중간 노드인 패킷 스위치는 패킷이 수신지까지 올바르게 도달할 수 있도록 최적의 경로를 결정하거나 패킷의 송수신지를 식별한다.

대표적인 패킷 스위치 네트워크 장비로는 라우터스위치가 있다.

 

패킷을 통해 전송하고자 하는 데이터를 페이로드라고 한다. 페이로드와 더불어 헤더라는 정보도 패킷 앞에 포함된다. 때로는 패킷 뒤에 트레일러라는 정보가 포함되기도 한다.

헤더와 트레일러는 패킷에 붙은 일종의 부가 정보, 내지는 제어 정보이다.

 

 

주소와 송수신지 유형에 따른 전송방식

패킷의 헤더에 담기는 대표적인 정보로는 주소가 있다. 주소는 송수신지를 특정하는 정보를 의미한다. IP주소, 혹은 MAC주소 모두 네트워크에서 사용되는 주소이다.

이렇게 송수신지를 특정할 수 있는 주소가 있다면 송수신지 유형에 따라 다양한 방식으로 메시지를 보낼 수 있게 된다. 수신지를 하나로 지정할 수도 있고, 네트워크 내 모든 호스트로 지정할 수도 있다. 또 수신지를 자신과 동일한 그룹에 속한 호스트로 지정할 수도 있다. 네트워크의 기본 동작을 파악하기 위해 알아야할 가장 중요한 전송방식은 유니캐스트브로드캐스트이다.

 

유니캐스트는 가장 일반적인 형태의 송수신 방식으로, 하나의 수신지에 메시지를 전송하는 방식이다.

송수진와 수신지가 일대일로 메시지를 주고받는 경우이다.

 

브로트캐스트는 자신을 제외한 네트워크상의 모든 호스트에게 전송하는 방식이다. 브로드캐스트가 전송되는 범위를 브로드캐스트 도메인이라고 한다. 즉, 브로드캐스트의 수신지는 브로드캐스트 도메인이며 이는 자신을 제외한 네트워크상의 모든 호스트이다.

 

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

 


 

네트워크 미시적으로 살펴보기

프로토콜

프로토콜은 노드간에 정보를 올바르게 주고받기 위해 합의된 규칙이나 방법을 의미한다. 즉, 서로 다른 통신 장치들이 정보를 주고받으려면 프로토콜이 통해야 한다.

 

모든 프로토콜에는 저마다의 목적특징이 있다. 프로토콜의 임무는 정해져 있기에 저마다 목적과 특징이 다양하다. 프로토콜마다 목적과 특징이 다르기에 이에 부합하는 정보도 달라질 수 있으며, 특정 프로토콜로 주고받는 패킷의 부가 정보도 달라질 수 있다. 즉, 프로토콜마다 패킷의 헤더 내용이 달라질 수 있다.

 

 

네트워크 참조 모델

네트워크를 통해 정보를 주고 받을 때는 정형화된 여러 단계를 거치는데 이 과정은 계층오 표현할 수 있다. 이렇게 통신이 일어나는 각 과정을 계층으로 나눈 구조를 네트워크 참조 모델이라고 한다. 계층으로 표현한다는 점에서 네트워크 계층 모델이라 부르기도 한다.

 

이와 같이 통신 과정을 계층으로 나눈 이유는 크게 두 가지이다.

 

1. 네트워크 구성과 설계가 용이하다.

각 계층이 수행해야 할 역할이 정해져 있으므로 계층의 목적에 맞게 프로토콜과 네트워크 장비를 계층별로 구성할 수 있다. 물론 모든 프로토콜이나 네트워크 장비가 참조 모델과 완벽히 들어맞는 것은 아니다. 특히 네트워크 장비는 상위 계층의 장비가 하위 계층의 장비 역할을 포괄해서 수행하는 경우도 많다.

 

2. 네트워크 문제 진단과 해결이 용이하다.

통신 과정에서 문제가 발생하더라도 문제의 원인을 계층별로 진단하기 수월하다. 가령 잘되던 인터넷이 갑자기 안 되면 가장 먼저 최하위에 있는 1계층에서 발생한 문지인지 판단하기 위해 케이블 등 유무선 매체의 접속상태를 확인해 볼 수 있다. 이상이 없다면 다음 2계층에서 발생한 문제인지 판단하기 위해 정보가 수신지까지 제대로 전달되었는지 진단해본다. 여기서도 이상이 없다면 3계층에서 이상이 없는지 순서대로 진단해보면 된다.

이렇듯 네트워크를 계층별로 진단하면 문제 발생 지점을 추측할 수 있어, 문제 진단과 해결이 수월하다는 장점이 있다.

 

- OSI 모델

OSI 모델은 국제 표준화 기구에서 만든 네트워크 참조 모델이다. 통신 단계를 7단계로 나누는데, 최하위 계층에서 최상위 계층순으로 각각 물리 계층, 데이터 링크 계층, 네트워크 계층, 전송 계층, 새션 계층, 표현 계층, 응용 계층이다.

 

1. 물리 계층

물리 계층(Physicla Layer)은 OSI 모델의 최하단에 있는 계층으로, 1과 0으로 표현되는 비트 신호를 주고 받는 계층이다. 가장 근원적인 통신이 이루어지는 계층이라 할 수 있다. 컴퓨터는 기본적으로 1(on)과 0(off)만 이해한다. 1과 0으로 표현된 비트 데이터는 다양한 통신 매체를 통해 다양한 신호로 운반될 수 있다. 가령 같은 비트 데이터라도 통신 매체에 따라 전기, 빛, 전파 등의 신호로 운반될 수도 있다.

통신 매체 맞는 신호로 운반되도록 비트 데이터의 비트 데이터의 변환이 이루어지고 통신 매체를 통한 송수신이 이루어지는 통신 매체를 통한 송수신이 이루어지는 계층이 바로 물리 계층이다.

 

2. 데이터 링크 계층

데이터 링크 계층(Data Link Layer)은 네트워크 내 주변 장치 간의 정보를 올바르게 주고 받기 위한 계층이다. 이더넷을 비록한 많은 LAN 기술이 데이터 링크 계층에 녹아 있다. 여기서는 물리 계층을 통해 주고받는 정보에 오류가 없는지 확인하고, MAC 주소라는 주소 체계를 통해 네트워크 내 송수신지를 특정할 수 있는 있다. 때로는 전송 과정에서 발생할 수 이쓴ㄴ 충돌 문제를 해결하는 계층이기도 하다.

 

3. 네트워크 계층

네트워크 계층(Network Layer)은 메시지를 수신지까지 전달하는 계층이다. 데이터 링크 계층에서 네트워크 내의 주변 장치 간의 통신이 이루어진다면, 네트워크 계층에서는 네트워크 간의 통신이 이루어진다. 예컨데 네트워크 계층은 인터넷을 가능하게 하는 계층이라고 할 수 있다. 네트워크 계층에서는 IP주소라는 주소 체계를 통한 통신을 하고자 하는 수신지 호스트와 네트워크를 식별하고 원하는 수신지에 도달하기 위한 최적의 경로를 결정한다.

 

4. 전송 계층

전송 계층(Transprot Layer)은 신뢰성 있고 안정성 있는 전송을 해야 할 때 필요한 계층이다. 패킷이 정상적으로 보내졌는지, 중간에 유실된 정보는 없는지, 여러 개의 패킷을 보낼 때 순서가 뒤바뀐 것은 없는지 등을 확인해야 할 때가 있다. 이때 전송 계층에서는 패킷의 흐름을 제어하거나 전송 오류를 점검해 신뢰성 있고 안정적인 전송이 이루어지도록 한다. 이 외에도 포트라는 정보를 통해 실행 중인 응용 프로그램의 식별이 이루어지기도 한다.

 

5. 세션 계층

세션 계층(Session Layer)은 '세션'을 관리하기 위해 존재하는 계층이다. 세션이라는 용어는 다양한 상황에서 폭넓게 사용되지만, 일반적으로 통신을 주고받는 호스트의 응용 프로그램 간 연결 상태를 의미한다. 세션 계층에서는 이러한 연결 상태를 생성하거나 유지하고, 종료되었을 때는 끊어 주는 역할을 담당한다.

 

6. 표현 계층

표현 계층(Presentation Layer)은 번역가와 같은 역할을 하는 계층이다. 사람이 이해할 수 있는 언어인 문자를 컨퓨터가 이해할 수 있는 코드로 변환하거나, 압축, 암호화와 같은 작업이 표현 계층에서 이루어진다.

 

7. 응용 계층

응용 계층(Application Layer)은 OSI 참조 모델 최상단에 있는 계층으로 사용자 및 사용자가 이용하는 응용 프로그램과 가장 밀접히 맞닿아 있는 계층이다. 응용 계층은 사용자가 이용할 응용 프로그램에 다양한 네트워크 서비스를 제공한다. 응용 프로그램에 다양한 서비스가 제공될 수 있는 만큼 타 계층에 비해 응용 계층에 속한 프로토콜이 많습니다.

 

- TCP/IP 모델

TCP/IP 모델은 이론보다는 구현에 중점을 둔 네트워크 참조 모델이다. TCP/IP 모델은 TCP/IP 4계층, 인터넷 프로토콜 스위트, TCP/IP 프로토콜 스택이라고 부른다.

TCP/IP 모델은 최하위 계층에서 최상위 계층순으로 각각 네트워크 액세스 계층, 인터넷 계층, 전송 계층, 응용 계층으로 이루어진다.

 

1. 네트워크 액세스 계층

네트워크 액세스 계층(Network Access Layer)은 링크 계층 또는 네트워크 인터페이스 계층이라고도 부른다. OSI 모델의 데이터 링크 계층과 유사하다. OSI 모델과 TCP/IP 모델을 대응하여 설명하기 위해 TCP/IP 모델에 물리 계층을 추가해 TCP/IP 모델을 5계층으로 확장하여 기술하기도 한다.

 

2. 인터넷 계층

인터넷 계층(Internet Layer)은 OSI 모델에서의 네트워크 계층과 유사하다.

 

3. 전송 계층

전송 계층(Transport Layer)은 OSI 모델에서의 전송 계층과 유사하다.

 

4. 응용 계층

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

 

 

캡슐화와 역캡슐화

패킷은 송신 과정에서 캡슐화가 이루어지고, 수신 과정에서 역캡슐화가 이루어진다. 송수신하는 메시지는 송신지 입장에서는 가장 높은 계층에서부터 가장 낮은 계층으로 이동하고, 수신지 입장에서는 가장 낮은 계층에서부터 가장 높은 계층으로 이동한다.

 

- 캡슐화

패킷 교환 네트워크에서 메시지는 패킷 단위로 송수신된다. 어떤 정보를 송신할 때 각 계층에서는 상위 걔층으로부터 내려받은 패킷을 페이로드로 삼아, 프로토콜에 걸맞는 헤더(혹은 트레일러)를 덧붙인 후 하위 계층으로 전달한다.

데이터 링크 계층을 지날 때는 오류 감지를 위한 트레일러도 함께 붙는다. 상위 계층의 패킷은 하위 계층에서의 페이로드로 간주된다.

즉, 한 단계 아래 계층은 바로 위의 계층으로부터 받은 패킷에 헤더 및 트레일러를 추가해 나간다. 이렇게 송신 과정에서 헤더 및 트레일러를 추가해 나가는 과정을 캡슐화(Encapsulation)라고 부른다. 혹은 영문 그대로 인캡슐레이션이라고도 부른다.

 

- 역캡슐화

역캡슐화는 받는 입장에서 생각해 보면 된다. 어떤 메시지를 수신할 때는 캡슐화 과정에서 붙였던 헤더 및 트레일러를 각 계층에서 확인한 뒤 제거한다. 이를 역캡슐화(Decapsulation)라고 한다. 영문 그대로 디캡슐레이션이라고 부른다.

 

 

PDU

각 계층에서 송신되는 메시지의 단위를 PDU(Protocol Data Unit)이라고 한다. 즉, 상위 계층에서 전달 받은 데이터에 현재 계층의 프로토콜 헤더 및 트레일러를 추가하면 현재 계층의 PDU가 된다. OSI 모델의 각 계층에서의 PDU를 정리해 보면 아래와 같다.

OSI 계층 PDU
응용 계층 데이터(Data)
표현 계층
세션 계층
전송 계층 세그먼트(Segment). 데이터그램(Datagram)
네트워크 계층 패킷(Packet)
데이터 링크 계층 프레임(Frame)
물리 계층 비트(bit)

 

PDU는 주로 전송 계층 이하의 메시지를 구분하기 위해 사용한다. 전송 계층보다 높은 계층에서는 일반적으로 데이터 혹은 메시지로만 지칭하는 경우가 많다. 전송 계층의 PDU는 TCP 프로토콜이 사용되었을 경우에는 세그먼트, UDP 프로토콜이 사용되었을 경우에는 데이터그램이 된다.

 

참고로, 패킷이라는 용어는 패킷 교환 네트워크에서 쪼개어져 전송되는 단위를 통칭하기 위한 일반적인 용어로 사용되기도 하지만, 네트워크 계층에서의 송수신 단위를 지칭하기 위해 사용되기도 한다.