IT·테크/인프라

네트워크 개론 — LAN·WAN부터 OSI 7계층과 TCP/IP까지

레루루 2026. 8. 2. 20:47
반응형

이 글은 2021년 6월 기준 기록입니다.

 
네트워크(Network)는 net과 work의 합성어로, 통신 가능한 장비들이 그물망처럼 연결된 상태를 뜻합니다. PC와 PC, PC와 프린터, PC와 공유기처럼 서로 데이터를 주고받을 수 있으면 그것이 네트워크입니다.
 
초기에는 PC와 PC를 직접 연결해 데이터를 주고받는 것이 목적이었습니다. 기술이 발전하면서 다수의 PC가 네트워크 장비를 통해 연결되었고, 전화기나 프린터 같은 주변기기도 네트워크에 참여할 수 있게 되었습니다. 공유기 하나에 여러 대의 PC와 프린터가 물려 있는 지금의 가정 환경이 그 결과입니다.

인터넷은 네트워크의 연결이고, 웹은 그 일부다

인터넷(Internet) 역시 Inter와 Net(work)의 합성어로, 네트워크 간의 연결을 의미합니다. 웹(Web, World Wide Web)은 그 인터넷의 일부로, HTTP를 통해 웹 문서를 주고받을 수 있는 환경을 가리킵니다. 인터넷과 웹은 같은 말이 아닙니다.
 
통신은 데이터를 주고받는 행위이고, 그 행위의 양쪽에 서버와 클라이언트가 있습니다. 서버(Server)는 서비스(Service)를 제공하는 프로그램 또는 컴퓨터이고, 클라이언트(Client)는 서비스를 요청하는 사용자 또는 컴퓨터입니다. 웹 서버, FTP 서버, 데이터베이스 서버가 전형적인 서버입니다.
 
이와 대비되는 구조가 P2P(peer to peer)입니다. 사용자 간에 직접 데이터를 주고받는 방식으로, 각 사용자가 서버이면서 동시에 클라이언트가 됩니다.

LAN은 좁고 빠르며, WAN은 넓고 느리다

네트워크는 규모에 따라 나뉩니다.
 
LAN(Local Area Network)은 로컬 범위, 즉 좁은 지역의 네트워크입니다. 하나의 회사, 학교, 가정 정도의 소규모 네트워크가 여기에 해당합니다. 회사의 LAN을 구성할 때는 외부로 노출될 영역인 DMZ(웹·메일·DNS 서버 등)와 내부에 둘 영역(파일·DB 서버 등)을 분리해서 구성합니다.
 
WAN(Wide Area Network)은 도시 간, 국가 간에 이르는 광역 네트워크로, LAN과 MAN을 연결합니다. WAN을 구축하고 거기에 LAN을 연결해 쓸 수 있게 서비스를 제공하는 업체가 ISP(Internet Service Provider)입니다. SK, KT 같은 회사가 여기에 속합니다.
 
그 사이에 MAN(Metropolitan Area Network)이 있습니다. 캠퍼스 범위를 지칭할 때는 CAN이라고도 부르며, 도시나 캠퍼스 단위의 중규모 네트워크로 LAN 간을 연결합니다.
 
LAN과 WAN을 비교하면 범위는 LAN이 좁고 WAN이 넓으며, 속도는 LAN이 빠르고 WAN이 느리고, 오류는 LAN이 적고 WAN이 많습니다.

LAN의 세 가지 통신 방식

유니캐스트는 네트워크에서 가장 많이 사용되는, 주소를 사용한 일대일 통신 방식입니다. 목적지 주소가 자신의 주소와 일치하면 수신하고 불일치하면 폐기합니다. 수신한 데이터를 CPU가 처리하지 않아도 되므로 컴퓨터 성능에 영향을 주지 않습니다.
 

브로드캐스트는 LAN에 있는 모든 단말에 데이터를 보내는 일 대 전체 방식입니다. 브로드캐스트 주소는 주소의 가장 마지막 번호인 FF-FF-FF-FF-FF-FF를 사용합니다. 받은 데이터를 일단 CPU로 보내기 때문에 컴퓨터 성능이 떨어지고, 전체 장치로 보내므로 네트워크 성능도 함께 떨어집니다. 그럼에도 브로드캐스트가 필요한 대표적인 경우가 ARP입니다. 처음에는 상대의 MAC 주소를 알지 못하므로, IP 주소로 MAC 주소를 알아내는 ARP(Address Resolution Protocol)가 브로드캐스트로 동작합니다.

 
멀티캐스트는 여러 장치에 동시에 전송하는 방식입니다. 유니캐스트로 같은 데이터를 여러 장치에 보내면 송신지의 작업이 늘고 동일한 데이터가 네트워크에 반복적으로 뿌려져 불필요한 성능 저하가 생깁니다. 반대로 브로드캐스트를 쓰면 전체 사용자에게 보낼 수는 있지만 불필요한 트래픽이 늘고, 데이터를 받은 컴퓨터들이 CPU에 작업을 요청하게 되어 역시 성능이 떨어집니다. 스위치나 라우터가 지원한다면 멀티캐스트로 특정 그룹에게만 전송하는 편이 낫습니다.
 
전송 방향으로 나누면 반이중 통신(Half-Duplex)은 하나의 연결에 대해 송신과 수신을 번갈아 사용하는 방식으로 무전기가 그 예이고, 전이중 통신(Full-Duplex)은 하나의 연결 안에서 송신과 수신이 동시에 가능한 방식으로 통화가 그 예입니다.

WAN의 교환 방식은 회선에서 패킷으로 왔다

WAN의 통신 방식에는 회선 교환, 메시지 교환, 패킷 교환이 있습니다.
 
회선 교환(circuit switching)은 두 장치 사이에 전용 통신 경로를 두는 방식입니다. 데이터를 전송하기 전에 물리적 경로를 설정하고, 통신이 끝날 때까지 그 경로를 독점합니다. 전화가 대표적인데, 회선교환기가 비어 있는 회선을 할당해 줍니다. 회선 연결 → 데이터 링크 설정 → 데이터 전송 → 데이터 링크 해제 → 회선 해제의 순서로 진행되며, 회선이 연결되면 데이터를 그대로 투과시키므로 오류 제어가 되지 않습니다.
 
메시지 교환은 가변 길이의 메시지 단위로 저장하고 전송하는(store and forward) 방식입니다. 메시지를 완전히 수신한 뒤 오류가 없으면 다음 교환기로 경로를 설정해 전송합니다.
 
패킷 교환은 메시지 교환의 단점을 보완한 방식으로, 데이터를 패킷이라는 조각으로 나눠 전송한 뒤 재조립합니다. 패킷의 크기는 옥텟으로 나타내며 1옥텟은 1바이트입니다. ITU-T(국제전기통신연합 전기통신표준화부문) 표준으로 보통 128옥텟(1024비트), 최고 4096옥텟으로 정의됩니다. 패킷은 헤더, 데이터, 순환 중복 검사로 구성되는데 헤더에는 송신지와 수신지, 패킷 번호, 패킷 길이 등이 들어가고 순환 중복 검사는 데이터 오류를 검사합니다. 현재 WAN에서 널리 쓰이는 교환 방식입니다.
 
패킷 교환은 접속 방식에 따라 다시 둘로 나뉩니다. 데이터그램 패킷 교환은 데이터 전송 전에 논리적 연결을 설정하지 않고, 패킷마다 주소를 추가해 독립적으로 전송합니다. 이렇게 독립적으로 전송되는 패킷을 데이터그램이라고 하며, 각 패킷은 서로 다른 경로로 전송될 수 있어 도착 순서도 달라질 수 있습니다. 비연결 지향형이라고도 합니다. 가상 회선 패킷 교환은 데이터 전송 전에 논리적 연결인 가상 회선을 설정합니다. 전용 경로가 설정되므로 전송된 순서대로 수신측에 도착하며, 연결 지향형이라고 합니다.

접속 형태는 장애가 어디까지 번지는지를 결정한다

네트워크를 물리적으로 어떻게 잇느냐에 따라 성능과 장애 범위가 달라집니다.
 
성형(Star)은 가장 일반적인 구성입니다. 중앙의 허브(스위치)가 통신하려는 노드 간의 전용 회선을 구성하므로 허브의 성능이 곧 통신망의 성능이 되고, 대신 한 노드가 고장 나도 다른 노드에 영향을 주지 않습니다. 설치 비용이 저렴하고 중앙 집중 구조라 유지보수와 확장이 쉽다는 것이 장점입니다. 반면 중앙 장치에 문제가 생기면 네트워크 전체가 마비되고, 통신량이 많으면 전송이 지연되며, 각 노드가 중앙까지 연결되어야 하므로 케이블이 많이 필요합니다.
 
버스형(Bus)은 모든 노드와 주변 장치가 일자형 케이블(bus)에 연결된 형태입니다. 케이블의 시작과 끝에는 터미네이터(Terminator)를 장착해 케이블 끝에서 신호가 반사되어 되돌아오는 것을 막습니다. 한 노드가 데이터를 전송하면 연결된 노드들에 브로드캐스트되고, 수신한 노드는 자신에게 온 데이터가 아니면 폐기합니다. 신호가 버스를 이동할 때 저항 때문에 점점 약해지므로 사용할 수 있는 거리와 연결 가능한 노드 수가 제한됩니다. 설치가 간단하고 케이블 비용이 적으며 장치 추가가 쉽고 한 노드의 고장이 전체에 영향을 주지 않는 것이 장점입니다. 단점은 장비 수가 많아지면 충돌로 성능이 떨어지고, 중앙 케이블이 고장 나면 네트워크가 마비되며, 케이블이 끊어지면 잡음 때문에 끊어진 한쪽 구간에서도 전송이 불가능해지고, 재구성이 어렵고, 연결 부위의 신호 반사로 성능이 떨어져 중계기가 필요하다는 점입니다.
 
트리형(Tree)은 성형의 변형으로, 중앙 제어 장치에 다시 제어 장치를 연결하고 그 밑에 노드를 연결합니다. 성형과 마찬가지로 관리와 확장이 쉽고, 중앙 장치에 여러 장치를 연결해 전송 거리를 늘릴 수 있으며 특정 장치에 우선순위를 줄 수 있습니다. 대신 중앙에 트래픽이 집중되고 중앙 장치에 문제가 생기면 전체 네트워크 장애로 이어집니다.
 
링형(Ring)은 노드가 링에 순차적으로 연결된 형태입니다. 한 노드에서 보낸 데이터는 링을 따라 한 방향으로 전송되고, 수신 노드는 자신의 데이터가 아니면 신호를 재생해 다음 노드로 넘깁니다. 신호를 재생하기 때문에 잡음에 강하고 오류가 적습니다. 수신 노드가 데이터를 수신하면 그 데이터는 링에서 제거됩니다. 단순 링형(single ring)과 이중 링형(double ring)이 있는데, 이중 링형은 장애가 발생하면 반대 방향으로 전송합니다. 구조가 단순해 설치와 재구성이 쉽고 장애 복구가 빠르며 성형보다 케이블 비용이 저렴합니다. 다만 링 제어 절차가 복잡하고, 단순 링형은 장애가 발생하면 전체 네트워크가 마비됩니다.
 

그물형(Mesh)은 중앙 제어 장치 없이 모든 노드가 서로 점대점으로 연결된 형태입니다. n(n-1)/2개의 물리적 연결이 필요하고 모든 장치가 n-1개의 입출력 포트를 가져야 합니다. 비용이 많이 들지만 신뢰성이 높습니다. 장치별 전용 연결을 쓰므로 통신량 문제가 해결되고, 한 연결이 고장 나도 전체에 문제가 없으며, 전용 연결이라 비밀 유지와 보안에 유리합니다. 반대로 설치와 재구성이 복잡하고 전선이 많이 필요해 비용이 크게 듭니다.

 
실제로는 혼합형이 대부분입니다. 소규모 네트워크를 제외하면 순수한 버스형·링형·성형을 보기 어렵고, 부서별로 다양한 형태를 구성한 뒤 중앙에 성형으로 연결하는 식으로 씁니다.

통신하려면 연결·주소·데이터·프로토콜이 있어야 한다

장비 간에 통신을 하려면 네 가지가 필요합니다.
 
첫째는 물리적인 연결입니다. 케이블이 있어야 하고, 그 케이블을 연결할 랜카드가 있어야 하며, 랜카드를 인식할 수 있는 운영체제가 있어야 합니다.
 

둘째는 주소(Address)입니다. 물리적 주소는 MAC 주소, 논리적 주소는 IP 주소, 프로세스를 가리키는 것은 Port 번호입니다. 자신의 주소는 명령 프롬프트에서 ipconfig /all로 확인할 수 있습니다.

 
셋째는 데이터(Data)입니다. 송수신하려는 데이터는 전기 신호로 전환되며, 전기가 흐르는지 여부에 따라 1과 0으로 이루어집니다.
 
넷째는 프로토콜(Protocol)입니다. 전송되는 전기 신호의 규칙성에 대한 약속으로, 구문(Syntax)·의미(Semantic)·타이밍(Timing)의 세 요소를 가집니다. 구문은 데이터의 형식, 부호화, 신호 레벨 등이고, 의미는 협조 사항과 오류 관리를 위한 제어 정보 등이며, 타이밍은 통신 속도와 순서 제어 등입니다.

OSI 7계층은 통신을 표준화하고 문제를 격리한다

네트워크를 계층 구조로 나누는 데는 세 가지 목적이 있습니다. 다양한 네트워크 장치들 사이의 통신 표준을 제공해 서로 다른 벤더의 장치끼리도 통신할 수 있게 하고, 문제가 생겼을 때 어느 계층에서 발생했는지 빠르게 찾아 그 계층의 기능만 보완해 해결할 수 있게 하며, 계층별로 필요한 프로토콜을 조합해 원하는 기능을 구현할 수 있게 합니다.
 
OSI는 ISO에서 만든 표준 네트워크 모델로, Open System Interconnection — 개방형 시스템 간 연결을 뜻합니다.
 
1계층 물리 계층(Physical Layer)은 기본 네트워크 하드웨어 전송 기술을 담당합니다.
 
2계층 데이터링크 계층(Datalink Layer)은 점대점(Point to Point) 간 신뢰성 있는 전송을 보장합니다. CRC 기반의 오류 제어와 흐름 제어를 수행하고, 물리 계층의 오류를 발견하고 수정하는 수단을 제공하며, 프레임에 MAC 주소를 부여합니다. 에러 검출, 재전송, 흐름 제어가 여기서 이루어집니다. MAC 주소는 랜카드(NIC)에 새겨지는 고유 번호로, 48비트 주소 체계이며 앞의 24비트는 OUI 코드(Vendor), 뒤의 24비트는 시리얼 번호입니다.
 
3계층 네트워크 계층(Network Layer)은 경로를 결정하고 데이터를 전달합니다. 전송 계층에서 요구하는 서비스 품질(QoS)을 제공하기 위한 기능적·절차적 수단을 제공하고, IP 주소를 부여하며, 경로 설정(Routing)을 수행합니다. IP 주소는 사람이 필요에 따라 임의로 지정한 주소로, IPv4는 32비트, IPv6는 128비트 주소 체계입니다.
 
4계층 전송 계층(Transport Layer)은 종단(End to End) 간 신뢰성 있는 데이터 전송을 지원합니다. 오류 검출 및 복구, 흐름 제어, 중복 검사를 수행하고 포트 번호를 사용합니다. 포트 번호는 특정 프로세스를 찾아가기 위한 주소로, 잘 알려진 포트(Well-Known-Port)는 다음과 같습니다.

21FTP
22SSH
23Telnet
25SMTP
53DNS
80HTTP
110POP3
443HTTPS

5계층 세션 계층(Session Layer)은 종단 응용 프로세스가 통신을 관리하기 위한 방법을 제공하며, 통신을 위한 세션을 확립·유지·중단합니다.
 
6계층 표현 계층(Presentation Layer)은 인코딩과 암호화를 담당합니다. 사용자의 명령어를 완성하고 결과를 표현하며, 포장·압축·암호화가 여기서 이루어집니다.
 
7계층 응용 계층(Application Layer)은 응용 서비스를 수행합니다. 네트워크 소프트웨어의 UI 부분이자 사용자의 입출력(I/O) 부분입니다.
 
OSI 7계층은 ISO(국제 표준화 기구)가 제정한 표준으로 각 계층의 기능이 독립적으로 작동하고 상위 계층은 하위 계층의 정보만 사용합니다. TCP/IP 계층은 이 OSI 모델을 네 개 계층 — 네트워크 접속, 네트워크(인터넷), 전송, 응용 — 으로 단순화한 것입니다.

계층마다 데이터 단위와 장비가 다르다

1계층의 데이터 단위는 비트(Bit) 또는 비트스트림(BitStream)입니다.
 
여기에 속하는 장비가 허브입니다. 여러 포트를 가지는 집선 장치로 리피터 기능을 포함하며, 연결된 모든 장치로 데이터를 전송합니다. 이를 플러딩(Flooding)이라고 합니다. 동시에 여러 장치가 데이터를 송신하려 하면 충돌이 발생하고, 연결된 전체가 하나의 충돌 영역(Collision Domain)이 되므로 장치가 많을수록 충돌이 잦아 느려집니다. 충돌은 곧 지연이므로, 충돌 영역을 분리할 수 있는 2계층 장비를 주로 사용하게 되었습니다.
 
리피터는 전기 신호가 전선의 저항 때문에 거리가 멀어질수록 약해지는 것을 원래 크기로 되살려 주는 장비입니다. 신호를 복원하고 세기를 증폭하며, 요즘은 다른 네트워크 장치가 리피터 기능을 포함하고 있습니다.
 
케이블도 1계층의 전송 매체입니다. 동축(Coaxial) 케이블은 케이블 내부의 와이어와 그것을 감싸는 차폐용 그물망으로 구성되며 10Base-5와 10Base-2가 있습니다. 10Base-5는 굵은(Thick) 케이블로 약 500m의 전송 거리에 10Mbps 속도를 내지만 설치가 어렵고 비쌉니다. 10Base-2는 얇은(Thin) 케이블로 약 200m 전송 거리에 같은 10Mbps 속도이며 설치가 쉽고 저렴합니다. 동축 케이블은 꼬임선보다 데이터 전송이 빠르고 외부 신호와 전자파 차단 능력이 뛰어납니다.
 
광섬유(Optical Fiber) 케이블은 머리카락보다 가늘어 잘 휘어집니다. 다만 빛을 이용해 데이터를 전송하므로 휘어지는 각도에 제한이 있고, 잡음의 영향은 받지 않습니다.
 
꼬임선(Twisted Pair)은 구리선을 나선형으로 꼬아 만든 케이블입니다. 두 선 사이의 전기적 신호 간섭을 최소화하기 위해 꼬아 둔 것으로, 성형에 가장 많이 사용되며 설치가 쉽고 비용이 저렴합니다. 신호 간섭을 막는 보호망의 종류에 따라 UTP(Unshielded Twisted Pair), FTP(Foiled Twisted Pair), STP(Shielded Twisted Pair)로 나뉩니다. FTP는 전체 케이블에 피복을 씌운 형태이고, STP는 피복을 씌운 뒤 한 번 더 금속 물질로 감싼 형태입니다. 성능은 STP, FTP, UTP 순이지만 저렴하고 쉽게 만들 수 있어 주로 UTP 케이블에 RJ45 커넥터를 사용합니다.
 
꼬임선에는 다이렉트 케이블과 크로스 케이블이 있습니다. 장치 인터페이스의 송신부와 수신부 위치에 따라 적절한 케이블을 써야 하는데, 컴퓨터와 라우터의 인터페이스는 MDI, 스위치와 허브의 인터페이스는 MDI-X입니다. MDI와 MDI-X를 연결할 때는 다이렉트를, 같은 인터페이스끼리 연결할 때는 크로스를 씁니다. 최근 장치에는 이 문제를 자동으로 해결해 주는 auto MDIX 기능이 포함되어 있습니다.
 
2계층의 데이터 단위는 프레임(Frame)입니다. 브릿지는 충돌 영역을 분리하는 장비로, 두 개의 포트가 각각 고유의 충돌 영역을 가지므로 허브에 비해 성능이 향상됩니다. 스위치는 허브와 비슷하게 생겼지만 각 포트가 각각의 충돌 영역이라 대역폭 낭비가 없습니다. 브로드캐스팅을 이용해 통신하므로 하나의 Broadcast Domain을 가집니다. 스위치와 허브의 가장 큰 차이는 통신 방식입니다. 허브는 반이중 통신이라 송신 중에는 수신이 불가능해 충돌이 발생하지만, 스위치는 전이중 통신으로 송신과 수신이 동시에 가능하고 MAC 주소 테이블을 이용해 특정 포트로만 전송합니다. 따라서 충돌이 발생하지 않고 각 포트가 각각의 충돌 영역을 갖게 됩니다.
 
3계층의 데이터 단위는 패킷(Packet)입니다. 라우터는 IP 주소를 활용해 특정 네트워크를 찾아갈 수 있도록 합니다. 각 인터페이스에서 브로드캐스트를 차단하므로 브로드캐스팅 도메인을 나눌 수 있고, 그래서 각 인터페이스는 같은 네트워크로 설정할 수 없습니다. 기본 게이트웨이 역할도 수행합니다. L3 스위치는 3계층 주소인 IP 주소를 이해하고 활용할 수 있도록 설계된 스위치입니다.
4계층의 데이터 단위는 세그먼트(Segment)이고, 5~7계층의 데이터 단위는 메시지(Message)입니다.

TCP/IP는 접속·인터넷·전송 계층으로 데이터를 실어 나른다

네트워크상에서 전송되는 데이터는 최종적으로 기계가 인식할 수 있도록 디지털 신호로 변환되어 전송됩니다. 디지털 신호는 켜짐과 꺼짐의 두 가지 상태로 신호를 나타내므로, 컴퓨터에서는 0을 꺼짐으로 1을 켜짐으로 표현해 두 가지 숫자로만 데이터를 다룹니다. 0과 1만 사용하므로 2진수 표기법을 쓰게 됩니다.
 

진수 변환을 몇 개 연습해 두면 이후가 편합니다. 10진수를 2진수로 바꾸면 9는 1001, 10은 1010, 7은 111입니다. 반대로 2진수 1001은 9, 1011은 11입니다. 10진수를 16진수로 바꾸면 100은 64, 57은 39, 75는 4B이고, 16진수 5E는 10진수 94입니다. 자신의 MAC 주소를 10진수와 2진수로, 자신의 IP 주소를 2진수로 바꿔 보면 감이 잡힙니다.

네트워크 접속 계층 — 매체를 누가 언제 쓸 것인가

여러 장치가 하나의 매체를 공유하려면 접근 규칙이 필요합니다.
 
CSMA/CD(Carrier Sense Multiple Access With Collision Detection, 반송파 감지 다중 접근 및 충돌 탐지)는 세 단계로 동작합니다. CS는 현재 케이블이 전송 중인 상태인지 확인하는 것이고, MA는 케이블이 전송 중이 아니면 데이터를 전송하는 것이며, CD는 충돌이 발생하는지 확인하는 것입니다. 충돌이 발생하면 무작위 시간 동안 대기했다가 재시도합니다.
 
토큰 방식은 통신의 기회를, 주기적으로 네트워크를 순환하는 토큰이라는 자원으로 제공합니다. 토큰은 네트워크상의 노드들을 차례로 돌고, 토큰을 가진 노드가(프리 토큰에서 비지 토큰으로 바뀌며) 송신할 기회를 얻습니다. 목적지까지 수신을 마치면 다시 원래 위치로 돌아와 빈 토큰이 되고(비지 토큰에서 프리 토큰으로) 다음 노드에 차례가 넘어갑니다. CSMA/CD가 경쟁적으로 충돌을 탐지해 작동하는 방식이라면, 토큰 방식은 기회를 균등하게 부여한다는 점이 다릅니다. 토큰 버스(IEEE 802.4)와 토큰 링(IEEE 802.5)이 있습니다.
 
무선랜의 CSMA/CA(IEEE 802.11)는 무선 환경에서 충돌을 탐지하기 어렵기 때문에 충돌을 회피(Avoidance)하는 식으로 설계되었습니다.
 
LAN 구성 방식의 표준은 이더넷(IEEE 802.3)입니다. LAN에서 데이터를 주고받기 위한 종합 규칙으로, 원래 Xerox 사에서 개발한 통신 방식(Ethernet)을 IEEE(Institute of Electrical and Electronics Engineers, 전기전자기술자 협회)가 LAN 통신 표준으로 정의한 것입니다.
 
케이블 규격은 속도-방식-거리를 정의합니다. 10Base-2, 10Base-5, 10Base-T(이더넷), 100Base-T(패스트 이더넷), 1000Base-T(기가비트 이더넷) 등이 있으며, 앞의 숫자가 속도이고 Base는 Baseband(대비 개념은 Broadband), T는 Twisted Pair를 의미합니다.
 
이더넷은 매체 접근 제어에 CSMA/CD 방식을 활용하지만, 스위치가 보급되면서 실질적으로는 CSMA/CD가 이용되지 않습니다. 네트워크 연결 형태도 초기의 버스형(허브, CSMA/CD)에서 현재의 성형(스위치)으로 바뀌었습니다.
 
이더넷 프레임 구조는 수신지 MAC 주소(6바이트), 송신지 MAC 주소(6바이트), 유형(2바이트)으로 시작합니다. MAC 주소가 48비트 주소 체계이므로 6바이트 크기를 가지며, 유형에는 전송될 상위 계층의 프로토콜 종류가 들어갑니다. 패킷에 이더넷 헤더를 입혀 물리 계층으로 전달합니다.
 
이더넷과 비교되는 것이 FDDI입니다. 광섬유를 사용하고 이중 링 구조이며 토큰 방식으로 동작합니다.

인터넷 계층 — IP 주소와 클래스, 그리고 서브넷

IP(인터넷 프로토콜)는 논리 주소인 IP 주소를 활용해 다른 네트워크를 찾아갈 수 있도록 하는 프로토콜입니다. IPv4와 IPv6 주소가 존재하며, IPv4의 주소 부족 때문에 IPv6가 등장했습니다.
 

IPv4는 32비트 주소 체계로, 8비트마다 마침표를 찍어 X.X.X.X 형식으로 구분합니다. 따라서 각 자리에는 십진수로 0~255가 들어갈 수 있고, 전체 범위는 0.0.0.0부터 255.255.255.255까지이며 총 2^32개의 주소를 사용할 수 있습니다. 주소는 네트워크의 주소를 나타내는 네트워크ID와 그 네트워크 내에서 호스트의 주소를 나타내는 호스트ID로 구성됩니다.

 
주소를 효율적으로 사용하기 위해 규모와 필요에 따라 전체 주소를 클래스로 나눕니다.

클래스 고정 비트 범위 네트워크 주소 규모
A 첫 비트 0 0.0.0.0 ~ 127.255.255.255 첫 번째 옥텟 128개 네트워크 + 2^24개 호스트
B 앞 두 비트 10 128.0.0.0 ~ 191.255.255.255 두 번째 옥텟 2^14개 네트워크 + 2^16개 호스트
C 앞 세 비트 110 192.0.0.0 ~ 223.255.255.255 세 번째 옥텟 2^21개 네트워크 + 2^8개 호스트
D 앞 네 비트 1110 224.0.0.0 ~ 239.255.255.255 멀티캐스트 용도
E 240.0.0.0 ~ 255.255.255.255 연구 및 특수용도

 
각 호스트 구간별 첫 번째 주소는 네트워크 주소로, 마지막 주소는 브로드캐스트 주소로 사용되므로 호스트로 쓸 수 없습니다.
 

넷마스크(서브넷 마스크)는 네트워크 주소를 장치가 인식할 수 있도록 해 주는 표시입니다. IP 주소와 AND 연산(둘 다 1이면 1)을 해서 나오는 주소가 네트워크 주소입니다. 클래스별 기본 서브넷 마스크는 A 클래스가 255.0.0.0(/8), B 클래스가 255.255.0.0(/16), C 클래스가 255.255.255.0(/24)입니다.

 

기존 IP 체계에서 네트워크 장비가 늘어나 주소가 모자라게 되면서, WAN 영역에는 공인 IP를 쓰고 LAN 영역에는 사설 IP를 쓰게 되었습니다. 클래스별 사설 IP 주소는 A 클래스가 10.0.0.0 ~ 10.255.255.255, B 클래스가 172.16.0.0 ~ 172.31.255.255, C 클래스가 192.168.0.0 ~ 192.168.255.255입니다. 공인 IP와 사설 IP를 연결해 주는 것이 NAT(Network Address Translation)입니다.

 
주소를 더 잘게 혹은 더 크게 다루는 기법도 있습니다. 서브넷팅(subnetting)은 IP 주소를 더 효율적으로 사용하거나 하나의 네트워크를 여러 개로 나눠야 할 때(브로드캐스트 영역 감소) 서브넷 마스크를 1비트씩 호스트 주소 자리로 확장해 가며 기존 네트워크를 작은 서브넷으로 쪼개는 방법입니다. 슈퍼넷팅(supernetting)은 그 반대로, 한 네트워크에서 더 많은 호스트를 쓰고 싶을 때 기본 서브넷 마스크를 1비트씩 네트워크 주소 자리로 확장해 가며 네트워크를 합치는 방법입니다.
 
CIDR(사이더, Classless Inter-Domain Routing)는 마스크를 기본 클래스와 상관없이 prefix 표기법으로 표기해 라우팅하는 방법으로, 서브넷팅뿐 아니라 슈퍼넷팅으로 다른 네트워크를 하나로 묶을 수 있습니다. VLSM(Variable Length Subnet Mask, 가변길이 서브넷 마스크)은 기존 서브넷 방식이 서브넷팅한 만큼 동일한 크기의 서브넷을 만드는 방식이었던 것과 달리, 규모에 따라 더 세분화해서 나눠 가며 서브넷하는 방식입니다.
 
IPv6는 클래스 개념이 없고 128비트 주소 체계를 씁니다. IPv4에 비해 헤더가 단순하며, 브로드캐스트가 없어지고 애니캐스트가 생겼습니다.
 
인터넷 계층에는 IP 외에도 몇 가지 프로토콜이 함께 있습니다. ARP와 RARP는 IP 주소와 MAC 주소를 교환하는 기능을, ICMP는 ping 등을 지원하는 네트워크 제어 기능을, IGMP는 멀티캐스트 그룹 관리 기능을 담당합니다.
 
이 중 ARP(Address Resolution Protocol)는 대상의 IP 주소로 MAC 주소를 알아내는 프로토콜로, 다음 순서로 동작합니다.

  1. MAC 주소를 모르는 대상의 IP 주소로 통신을 시도합니다.
  2. 목적지 IP, 출발지 IP, 목적지 MAC(모름), 출발지 MAC을 입력해 네트워크에 브로드캐스트합니다. 이때 목적지 MAC은 FF:FF:FF:FF:FF:FF입니다.
  3. 각 노드는 브로드캐스트 패킷이므로 일단 열어서 확인합니다.
  4. 자신의 IP와 일치하는 노드는 기존 헤더 내용에서 출발지와 목적지 주소를 바꾸고, 출발지 MAC에 자신의 MAC 주소를 넣어 회신합니다.
  5. 요청 노드는 패킷을 받아 대상의 MAC 주소를 확인하고 ARP 테이블에 IP - MAC 형식으로 기록합니다.
  6. 다음부터는 테이블의 정보를 이용해 MAC 주소를 넣어 유니캐스트로 전송합니다.

전송 계층 — TCP는 신뢰성을, UDP는 효율을 택한다

전송 계층은 두 시스템 간 신뢰성 있는 데이터 전송을 담당합니다. 송신하려는 데이터를 패킷으로 분할하고, 수신한 데이터를 올바른 순서로 재조립합니다. 연결형 통신은 신뢰성이 우선이라 TCP를, 비연결형 통신은 효율성이 우선이라 UDP를 씁니다.
 
TCP는 데이터를 송수신할 수 있는 연결 통로를 만들고 나서 송수신합니다. 상대 호스트의 상태를 확인하고 데이터 전송이 가능한지 확인한 뒤에 전송합니다. 상위 계층에서 전송된 데이터에 TCP 헤더를 붙이면 TCP 세그먼트가 되며, 헤더에는 송수신 포트, 순서, 확인 응답 등의 정보가 포함됩니다.
 
데이터를 전송하기 전 연결을 확인하는 과정을 3-way-handshaking이라고 합니다. 연결을 시도하려는 컴퓨터가 SYN 패킷을 보내면, 받은 쪽에서 가능하다는 ACK 패킷과 상대 컴퓨터에게도 확인을 요청하는 SYN 패킷을 함께 보내고, 처음 컴퓨터가 다시 ACK를 보내 가능함을 알리면 연결이 설정됩니다.

1. SYN >
2. < SYN + ACK
3. ACK >

연결을 끊을 때는 FIN과 ACK 패킷을 사용합니다.

1. FIN >
2. < ACK
3. < FIN
4. ACK >

 
TCP에서는 데이터를 일정 크기만큼 보낸 뒤, 상대가 받고 나서 몇 번부터 받아야 하는지 응답을 주면 그 번호부터 다시 일정 크기만큼 보내고 확인을 기다리는 식으로 전송이 반복됩니다. 그래서 신뢰성은 확보되지만 속도는 조금 느립니다. 수신측에서 수용 가능한 크기만큼 송신측이 크기를 조절해 보내는 방식이 Sliding Window, 곧 흐름 제어입니다.
 
UDP는 연결을 만들지 않고 데이터 수신 여부도 확인하지 않습니다. UDP 헤더를 붙인 데이터는 Datagram이라고 부릅니다. TCP에 비해 속도가 빠르지만 확인을 하지 않으므로 데이터 손실이 있을 수 있습니다. 데이터의 성질에 따라 TCP와 UDP를 골라 씁니다.

스위치는 MAC 주소로, 라우터는 IP 주소로 판단한다

스위치MAC Address Table을 기록하고 관리합니다. 포트 번호와 그 포트에 연결된 장치의 MAC 주소를 짝지어 기록한 정보입니다. 이 테이블을 바탕으로 스위치는 다섯 가지 기능을 수행합니다.

  • Flooding — MAC 주소 테이블에 목적지 주소가 없을 때 입력 포트를 제외한 나머지 포트로 프레임을 전송합니다.
  • Forwarding — MAC 주소 테이블에 목적지 주소가 있을 때 해당 주소로 프레임을 전송합니다.
  • Filtering — MAC 주소 테이블에 목적지 주소가 있을 때 나머지 포트로 프레임이 전송되지 않도록 막습니다.
  • Learning — MAC 주소 테이블에 포트와 MAC 주소를 연결해 기록하는 학습 기능입니다.
  • Aging — 기록된 MAC 주소 테이블의 정보를 일정 시간이 지나면 삭제합니다.

스위치는 스타 토폴로지로 네트워크를 구성하는 이더넷 LAN 표준 기술로, 충돌 영역을 포트별로 분리하고 전이중 통신을 지원합니다. 이더넷에서 하나의 전송 매체를 공유해 통신이 가능한 물리적 영역을 세그먼트(segment)라고 하는데, 충돌 영역과 같은 말로 보면 됩니다.
 
스위치가 MAC 주소를 이용해 프레임을 스위칭하는 것을 프레임 스위칭이라고 하며, 방법에 따라 세 가지로 나뉩니다. Store and Forward는 전체 프레임을 저장한 후 에러를 검사하고 목적지 포트로 송신하는 방식으로, 속도는 느리지만 신뢰성이 있습니다. cut-Through는 프레임을 MAC 주소까지만 수신한 뒤 목적지 포트로 바로 스위칭하는 방식으로, 에러를 검사하지 않아 속도가 빠릅니다. Fragment-Free는 그 절충입니다. 이더넷에서 프레임 충돌이 발생하면 일반적으로 64바이트 이하의 크기로 쪼개지므로, 64바이트 이상의 프레임은 정상 프레임으로 보고 입력되는 프레임이 64바이트를 넘으면 목적지 MAC 주소를 읽어 바로 스위칭합니다. 에러 검사 효과를 가지면서도 속도가 빠릅니다.
 
스위치가 여러 개로 구성된 네트워크에서는 구성 환경에 따라 루프가 발생할 수 있습니다. 루프가 발생하면 브로드캐스트 트래픽이 쌓여 네트워크가 마비되므로, 이 루프를 제거하는 프로토콜이 스패닝 트리 프로토콜(STP)입니다.
 
스위치 전면부 LED는 SYST, RPS, STAT, UTIL, DUPLX, SPEED로 구성됩니다. SYST는 시스템, RPS는 원격 전원 공급을 나타내고 나머지는 포트 모드 LED입니다. STAT(status)는 상태, UTIL(utilization)은 이용 상황, DUPLX(duplex)는 반이중/전이중 상태, SPEED는 전송 속도를 나타내며 일반적으로 정상일 때 녹색입니다.
 
스위치는 브로드캐스트 영역을 나누기 위해 가상의 LAN인 VLAN 기능을 지원합니다. 기존 헤더에 VLAN 정보를 추가하는 방식으로 사용하며, 원격 접속 등을 위해 IP 주소를 설정하기도 합니다.

라우터는 라우팅 테이블을 보고 경로를 결정한다

라우터는 패킷이 인터페이스로 들어오면 출발지와 목적지 IP 주소를 읽어 목적지로 효율적으로 갈 수 있는 경로를 결정하고 들어온 패킷을 전송합니다. 이를 패킷 스위칭이라고 합니다. 경로 결정을 위해 참조하는 것이 라우팅 테이블이며(스위치의 MAC 주소 테이블, ARP 테이블과 대비됩니다), 이 라우팅 테이블은 라우팅 프로토콜에 의해 관리됩니다.
 
라우팅 프로토콜은 목적지 네트워크로 가기 위한 경로를 효율적으로 결정할 수 있게 설계된 알고리즘입니다. 경로를 관리자가 수동으로 설정하는 것이 정적 라우팅이고, 라우팅 프로토콜에 의해 경로가 자동으로 설정되는 것이 동적 라우팅입니다.
 
라우터 내부는 ROM, RAM, NVRAM, Flash Memory, Interface 등으로 구성됩니다.

  • ROM — 라우터 부팅 시 POST(Power On Self Test)를 수행하고, Flash Memory에 저장된 IOS를 RAM으로 로드합니다. IOS에 문제가 있을 경우 최소한의 기능으로 부팅하기 위한 제한된 IOS가 내장되어 있습니다.
  • RAM — 현재 동작 중인 설정 값을 임시로 저장합니다. 전원이 꺼지거나 재시동되면 지워지며, running-config가 여기에 있습니다.
  • NVRAM — 설정 파일을 저장하는 공간으로, 전원이 꺼져도 내용이 지워지지 않는 비휘발성 RAM입니다. startup-config가 여기에 있습니다.
  • Flash Memory — 라우터에서 작동하는 OS인 IOS가 저장되어 있습니다. 지우고 쓰기가 가능한데, IOS 이미지를 삭제하면 정상 작동하지 않으니 주의해야 합니다.
  • Interface — 네트워크 연결에 사용하는 포트로 이더넷 인터페이스, 시리얼 인터페이스, 콘솔 포트, AUX 포트 등이 있습니다.

이더넷 인터페이스(Ethernet Interface)는 LAN 인터페이스라고도 하며, 라우터를 스위치나 다른 라우터와 연결할 때 사용합니다. UTP(RJ-45) 또는 광 케이블을 쓰고, 연결된 네트워크의 게이트웨이 역할을 합니다.
 
시리얼 인터페이스(Serial Interface)는 WAN 인터페이스라고도 하며, LAN과 LAN 또는 WAN 연결에 사용합니다. V.35 케이블을 이용하고, 라우터 장비를 광역 통신망과 연결할 때는 DSU/CSU를 거쳐 WAN에 연결됩니다. 실제 구성은 다음과 같습니다.

LAN - 라우터 - DSU/CSU - WAN - DSU/CSU - 라우터 - LAN

 
DSU/CSU(Digital Service Unit/Channel Service Unit)는 LAN의 디지털 프레임을 WAN에 적합한 형태로 변경해 주는 장비입니다. 이때 DTE와 DCE의 구분이 필요합니다. DTE는 LAN에서 WAN 쪽으로 연결될 때 신호를 송수신하는 장치(라우터)이고, DCE는 WAN에서 LAN 쪽으로 연결될 때 신호를 송수신하는 장치(DSU/CSU)로 속도 조절을 위한 Clock Rate(클럭 신호)를 사용합니다.
 
테스트 환경에서는 광역 통신망 연결을 할 수 없으므로 라우터 간을 직접 연결해 WAN에 연결된 것처럼 구성합니다. 이를 Back to Back 구성이라고 합니다.

LAN - 라우터(DTE) - 라우터(DCE) - LAN

 
이때 Clock Rate를 제공할 DCE 장비가 있어야 하는데, 일반적으로는 DSU/CSU가 제공하지만 백투백 연결에서는 한쪽 라우터가 DCE 역할을 해야 합니다. 따라서 백투백 케이블의 DCE 부분과 연결된 라우터에 Clock Rate를 설정해 주어야 합니다. D'C'E와 'C'lock Rate로 외우면 헷갈리지 않습니다.
 
콘솔 포트(Console)는 최초 라우터 설정에 씁니다. 처음에는 라우터에 아무것도 설정되어 있지 않아 직접 연결해 설정해야 하기 때문입니다. 다이렉트 케이블과 완벽히 반대인 롤오버(rollover) 케이블을 사용하며, 콘솔 포트와 컴퓨터의 COM 포트를 연결합니다. 요즘은 컴퓨터에 바로 연결할 수 있는 포트가 없어 USB 형태로 변환해 주는 케이블을 씁니다. 터미널 프로그램으로 해당 포트에 접속하면 콘솔로 연결됩니다.
 
AUX 포트(Auxiliary)는 전화선을 통해 라우터에 접속할 때 사용하는 포트입니다.
라우터의 부팅 과정은 다음과 같습니다.

  1. ROM에서 부트스트랩을 수행합니다.
  2. Flash Memory에서 IOS가 RAM으로 로드됩니다.
  3. IOS가 로드되면 하드웨어와 소프트웨어 구성요소를 파악합니다.
  4. NVRAM의 설정 파일(startup-config)이 RAM으로 로드됩니다.
  5. 설정 내용이 없다면 setup 모드로 진입합니다.
반응형