후니의 IT인프라 사전
네트워크 개론 본문
학습내용
네트워크 구조, LAN/WAN, 회선교환/패킷교환, 주소
우리가 네트워크를 배운다는 것은 다음 구조도를 이해하는 것과 같습니다.
네트워크는 각각의 노드(정점, vertex)에 도달하기 위해 간선(link)로 연결됩니다.
그리고 이 중심이되는 호스트(host)가 있고, 이를 역할에 따라 서버, 클라이언트라고 호칭하기도 합니다.
이들이 주고 받는 내용을 메시지(message)라고 합니다.
거리(범위)에 따라서 LAN, CAN, MAN, WAN이 있지만 우리가 확실하게 알아야 할 것은 근거리 통신은 LAN과 이 LAN 네트워크 끼리 연결시켜주는 WAN이 있습니다. WAN은 주로 ISP(이동통신사업자)가 관리하게 됩니다.
메시지 교환 방식에 따라서 네트워크를 분류하기 도합니다.
회선교환방식, 패킷교환방식 이 두 가지로 나뉘는데 현대에는 패킷교환방식을 주로 사용합니다.
회선교환방식은 서로 노드 간의 통신 회선을 설치하고 해당 회선을 통해 주고받는 방식입니다. 이 방식은 스위치를 통해서 다양한 회선에 메시지를 전달할 수 있는데 회선이 사용중이라면 다른 회선에 동시처리가 불가능합니다. 따라서 회선의 효율에 대한 문제점이 발생합니다.
대표적으로 전통적인 전화선이 있습니다.
현대에는 그래서 패킷교환방식을 이용합니다. 패킷교환 방식은 메시지를 패킷이라는 단위로 잘게 쪼개서 네트워크에 뿌리는 방식입니다. 패킷교환방식부터는 지정된 경로를 사용하는게 아니라 모든 경로를 이용하면서 최적의 경로를 찾습니다. 이를 위해서 최적의 경로를 찾아주는 라우터와 스위치가 등장합니다.
패킷은 header(송장), payload(데이터), trailer(정보)로 주로 구성됩니다.
주소(Address)
송수신지 정보이다.
unicast : 단일 주소로 보내는 방식
broadcast : 자신을 제외한 네트워크의 모든 주소로 보내는 방식
multicast : 네트워크 내 동일 그룹에 속한 호스트에게만 전송하는 방식
anycast : 네트워크 내 동일 그룹 중 가장 가까운 호스트에게만 전송하는 방식
프로토콜
자 그럼 이제 메시지가 교환되기 위해서 사용하는 프로토콜에 대해서 알아보겠습니다. 네트워크 상에는 프로토콜을 통해서 메시지가 전달되는데, 해당 프로토콜은 각 네트워크 계층별로 다 다르며, 같은 프로토콜을 사용하는 노드들끼리만 소통할 수 있습니다. 일종의 네트워크 언어이죠.
네트워크 참조 모델
네트워크에서 데이터를 주고 받기 위한 계층을 나눈 것이며, 해당 계층을 나눠 얻을 수 있는 이득은 첫째 문제점 식별시 어느 계층에서 문제인지 확인하기가 용이하므로 해결이 쉽다. 약속된 모델이므로 네트워크를 구성과 설계가 용이하다. 다만 이 참조모델은 가이드라인이지 절대적인 것은 아니라는 것만 기억해 두기 바란다.
OSI 모델
ISO(국제 표준화 기구)에서 만든 네트워크 참조 모델이다.
물리계층
1과 0으로 표현되는 비트신호를 주고 받음. 즉 전기신호를 통해 다이렉트로 주고받는 주로 LAN선을 통한 물리 통신으로 보면된다.
데이터 링크 계층
네트워크 내 주변 장치 간의 정보를 주고 받는 계층이다. LAN의 주요 기술이며, 물리 계층에서 주고받는 정보에 오류는 없는지, MAC 주소라는 주소 체계를 통해 네트워크 내 송수신지를 특정할 수 있다. 때로는 전송 과정에서 발생하는 충돌 문제를 해결하는 계층이다.
네트워크 계층
메시지를 수신지까지 전달하는 계층이다. 즉 다른 네트워크와 통신하는 과정이다. 인터넷과 밀접하게 관계된다고 볼 수 있어, 이제부터 송수신지가 중요해진다. IP주소 체계를 통해 수신지 호스트와 네트워크를 식별하고, 원하는 수신지에 도달하기 위한 최적의 경로를 설정한다.
전송 계층
신뢰성 있고 안정성 있는 전송을 해야할 때 필요한 계층이다. 패킷이 정상적으로 보내졌는지 중간에 유실된 것은 없는지, 여러 개의 패킷을 보낼 때 순서가 뒤바뀐 것은 없는지 등을 확인해야 한다. 패킷의 흐름을 제어하거나 전송 오류를 점검해 신뢰성 있고 안정적인 전송이 이뤄지도록 해야한다. 포트를 통해서 응용프로그램까지 지정한다.
세션 계층
세션을 관리하는 계층으로 세션이란 통신을 주고받는 호스트의 응용 프로그램 간연결 상태를 의미한다. 세션 계층엥서는 이러한 연결상태를 생성하거나 유지하고 종료되면 끊어준다.
표현 계층
컴퓨터가 이해할 수 있는 코드로 변환하거나, 압축, 암호화 등을 담당한다.
응용 계층
사용자가 이용하는 응용프로그램에 사용되는 프로토콜을 담당한다.
TCP/IP모델
네트워크 구현에 중심을 둔 모델로 인터넷 프로토콜 스위트, TCP/IP 프로토콜 스택이라고 부른다. 프로토콜 스위트 혹은 스택은 다양한 계층의 프로토콜 집합을 말하는 것이다.
네트워크 액세스 계층
- 링크 계층, 네트워크 인터페이스 계층이라고도 하며, 데이터 링크 계층과 유사하다.
캡슐화와 역캡슐화
이제 패킷을 송신과정에서 이뤄지는 캡슐화와 역캡슐화에 대해서 알아봅니다. 각 계층 별로 헤더와 트레일러와 같은 정보를 붙여나가는 과정을 캡슐화, 이것을 받아서 해독하는 과정을 역캡슐화라고 합니다.
PDU(Protocol Data Unit)
각 계층에서 송수신되는 메시지의 단위를 PDU라고 합니다.
참고로 전송계층에서 TCP 통신의 경우 메시지를 세그먼트, UDP는 데이터 그램이라고 합니다.
네트워크 트래픽(Network Traffic)
네트워크 내 정보량을 트래픽이라고 하며, 단위 시간당 네트워크를 통해 전송되는 정보량을 throughput (처리율)이라고 합니다. bps, Mbps, Gbps 단위로 표현합니다. 초당 패킷 수를 표현하는 것은 pps입니다. 평균값을 통해 트래픽을 확인하고 트래픽이 잘 처리되는데 중점을 두면됩니다.
대역폭(bandwidth)
신호 처리 영역에서는 주파수의 범위이고, 네트워크 성능 측정시에는 단위 시간 동안 통신 매체를 통해 송수신할 수 있는 최대 정보량을 의미합니다.
패킷 손실(packet loss)
높은 트래픽으로 인해 노드가 순간적으로 처리할 패킷이 너무 많아지거나 네트워크 상에 예기치 못한 장애가 발생해 패킷을 처리하지 못하면 패킷 손실이 발생할 수 있다. 전체 패킷 중 유실된 패킷을 백분위로 표현한 값을 사용한다.
ping 명령어로 확인해보면 여기서 0.0% packet loss를 통해 확인할 수 있다.