네트워크 기초
네트워크란
컴퓨터 네트워크는 통신 및 데이터 교환을 허용하는 시스템. 인터넷과 WWW는 현대 컴퓨터 네트워크의 핵심 구성 요소.
컴퓨터 네트워크에서 데이터를 전송하는 방식
- 유니캐스트
- 가장 일반적인 형태의 데이터 전송방식으로, 한 개의 송신자가 한 개의 수신자에게 데이터를 전송하는 방식
- 예) 웹 서버에서 클라이언트 컴퓨터로 웹페이지를 보내는 경우
- IP 주소
- 유니캐스트에서는 송신자와 수신자가 각각 고유한 IP주소를 사용한다.
- MAC 주소
- 네트워크에 연결된 장치에 할당된 고유한 물리적 식별자
- 유니캐스트에서는 송신자가 수신자의 MAC 주소를 알아야 한다.
- 예시
- 웹 서핑을 할 때, 사용자의 컴퓨터는 특정 웹 서버에 HTTP 요청을 보내고 그 결과를 받는다. 이 경우 사용자의 컴퓨터와 웹 서버 간의 통신은 유니캐스트로 진행된다.
- 인터넷에서 이메일 전송, 파일 다운로드, 웹 페이지 요청 등에 사용된다.
- 유니캐스트는 TCP/IP 프로토콜을 사용하는 가장 일반적인 통신 방식
- 가장 일반적인 형태의 데이터 전송방식으로, 한 개의 송신자가 한 개의 수신자에게 데이터를 전송하는 방식
- 브로드캐스트
- 브로드캐스트는 한 개의 송신자가 네트워크 내 모든 장치에게 데이터를 동시에 전송하는 방식. 이 방식은 같은 로컬 네트워크(LAN) 내의 모든 장치에게 신호나 메시지를 보낼 때 사용된다. 예를 들어, 네트워크 상의 모든 장치에게 서비스나 알림을 보내야 할 때 브로드캐스트가 사용된다.
- IP 주소
- 브로드캐스트에서 네트워크 내 모든 장치에 데이터를 전송하기 위해서 특정한 브로드캐스트 주소를 사용한다. 일반적으로 이 주소는 IP의 마지막 주소로 설정된다. 예) 192.123.1.0/24 인 네트워크의 브로드캐스트 주소는 192.123.1.255
- MAC 주소
- 모든 비트가 1로 설정된 FF:FF:FF:FF:FF:FF를 사용한다. 이는 네트워크 상 모든 장치들이 브로드캐스트 패킷을 인식하고 수신하도록 보장한다.
- 예시
- 브로드캐스트는 네트워크 내 모든 장치에게 동시에 데이터를 전송하는 방식으로, 특정한 수신자를 지정하지 않는다. ARP는 네트워크 내의 모든 장치에 IP주소와 매칭되는 MAC주소를 물어보는 브로드캐스트 메시지다. 하지만 브로드캐스트는 네트워크에 부담을 줄 수 있어 큰 네트워크에서는 제한적으로 사용된다.
- 멀티캐스트
- 멀티캐스트는 한 개의 송신자가 특정 그룹의 수신자들에게만 데이터를 전송하는 방식. 이 방식은 데이터 스트리밍이나 실시간 데이터 전송에 효과적이다. 예를 들어, 라디오 비디오 방송이나 원격 회의 시스템에서 멀티캐스트 전송이 사용된다.
- 예시
- 라이브 스포츠 이벤트 중계와 같이 실시간 비디오 스트리밍 서비스는 멀티캐스트를 사용한다. 특정 구독자만 이 스트림을 받을 수 있으며, 이는 네트워크 트래픽을 효율적으로 관리할 수 있도록 한다.
프로토콜이란?
네트워킹에서 프로토콜은 데이터 서식 및 처리를 위한 규칙 세트.
세계의 다른 지역에서 온 두 사람이 서로의 모국어를 이해하지 못하지만, 공유하는 제 3의 언어를 사용해 소통할 수 있는 것과 유사하다.
- 인터넷에서 사용되는 중요한 프로토콜
- TCP: 안정적인 데이터 전달을 보장하는 전송 계층 프로토콜. TCP는 IP와 함께 사용하기 위한 것이며, 두 프로토콜은 종종 TCP/IP로 함께 참조됩니다.
- HTTP: 대부분의 사용자가 상호 작용하는 인터넷인 www의 기초. 장치간에 데이터를 전송하는데 사용된다. HTTP는 애플리케이션이 추가 해석 없이 직접 사용할 수 있는 형식으로 데이터를 저장하므로 애플리케이션 계층(7계층) 에 해당한다. OSI 모델의 하위 계층은 애플리케이션이 아닌 컴퓨터의 운영체제에서 처리된다.
- HTTPS: HTTP의 문제점은 암호화되지 않아서 HTTP 메시지를 가로채면 모든 공격자가 읽을 수 있다는 것이다. HTTPS는 HTTP 메시지를 암호화하여 이 문제를 해결한다.
- TLS/SSL: 전송 계층 보안(TLS)은 HTTPS에서 암호화에 사용하는 프로토콜. TLS는 이전에는 보안 소켓 계층(SSL)이라고 불렸다.
- UDP: 전송 계층에서 TCP보다는 더 빠르지만 안정성이 떨어지는 대안. UDP는 빠른 데이터 전달이 가장 중요한 비디오 스트리밍 및 게임과 같은 서비스에서 자주 사용된다.
TCP/IP
- TCP
- 서버와 클라이언트 간의 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜
- 데이터를 전송하기 전에 데이터 전송을 위한 연결을 만드는 연결지향 프로토콜
- 데이터는 네트워크 선로를 통해 전달되는 과정에서 손실되거나 순서가 바뀔 수 있는데, TCP는 손실을 검색해내어 이를 교정하고 순서를 재조합하게 한다.
- TCP의 특징
- 신뢰성
- TCP의 가장 중요한 특징은 신뢰할 수 있는 말단 장치간 데이터 전달이다. TCP는 신뢰성을 실현하기 위해 적극적 수신, 통지, 재전송 체계를 사용한다.
- 흐름제어
- TCP 데이터 세그먼트를 송수신하는 컴퓨터는 CPU와 네트워크 대역폭의 차이 때문에 서로 다른 데이터 속도로 작동할 수 있다.
- 다중화
- 한 라우터에많은 프로세스가 TCP통신 서비스를 동시에 사용할 수 있다
- 연결형 서비스
- TCP연결은 데이터를 양방향으로 운반할 수 있다
- 3 way handshake 절차를 사용하여 열린다.
- 신뢰성
- IP
- TCP/IP 구조에서 컴퓨터를 식별하기 위한 주소
- 컴퓨터나 휴대전화, 서버, 인터넷 라우터 등 네트워크 장비에 각 IP 주소가 할당
- IP 주소에는 Private 주소와 Public 주소가 있고 LAN 에서는 Private IP를, 인터넷에서는 Public IP를 사용한다.
- IP 주소만 가지고는 네트워크 상의 송수신이 불가능하다. MAC주소와 IP주소를 조합해야만 네트워크를 통한 통신이 가능해진다.
- IP 주소의 구조
- 서브넷 마스크
- IPv4 주소는 OOO.OOO.OOO.OOO 의 형식으로 되어 있다
- 서브넷 마스크
OSI 7 계층이란?
OSI 7계층은 국제 표준화 기구 ISO에서 개발한 컴퓨터 네트워크 프로토콜 모델. 이 모델은 네트워크 통신 과정을 7개의 계층으로 분리하여 각 계층이 특정 기능을 수행하도록 하는 것을 목적으로 한다.

OSI 7 Layer, TCP/IP 처럼 프로토콜을 계층화하는 이유?
- 네트워크의 안정성, 신뢰성, 유지보수성을 위해서
무엇보다, 각 계층을 분리함으로써 개발 및 유지보수가 용이해진다. 문제 발생 시 문제가 발생한 계층에서 해결이 가능해진다. 이는 문제를 진단하고 해결하는데 드는 시간을 단축시키고, 전체 시스템의 안정성과 신뢰성을 높일 수 있다.
또한, 계층적인 구조를 가짐으로써 각 계층이 추상화되고 인터페이스를 정의할 수 있다. 계층 간 인터페이스를 통해 각 계층은 자신의 책임 범위 내에서만 통신하게 되고, 다른 계층에 영향을 미치지 않으면서 새로운 기술이나 장비를 도입하기 쉬워진다.
컴퓨터 네트워크의 캡슐화와 비캡슐화
- 캡슐화
- 데이터를 전송하는 측에서 Data에 추가정보를 덧붙이는 과정. 애플리케이션 계층에서 물리 계층에 이르기 까지 추가된다.
- 과정
- 애플리케이션 계층의 데이터가 전송 계층으로 전달되면, TCP나 UDP 헤더가 붙는다.
- 이후 네트워크 계층으로 전달되면 IP 헤더가 붙고
- 데이터 링크 계층에서 프레임으로 만들어지고 이더넷 헤더가 붙게 된다.
- 각 계층에서 붙는 헤더 정보는 해당 계층의 통신을 위한 제어 정보(IP주소, 포트 번호, MAC주소 등)을 담고 있다.
- 비캡슐화
- 캡슐화 과정이 역으로 진행되는 것. 수신자 측에서 물리 계층에서 애플리케이션 계층으로 이동할 때 제거되는 것.
- 과정
- 수신된 프레임의 헤더를 먼저 제거하고, IP 헤더를 확인한 후, IP 헤더를 제거한다.
- 이후 TCP 헤더를 확인하여 어떤 포트로 데이터를 전달해야 하는지 결정하고, TCP 헤더를 제거
- 최종적으로 애플리케이션 계층에서 읽을 수 있는 데이터가 복원됨
- 여러 계층을 지나며 헤더가 하나씩 제거됨
네트워크 구성요소
NIC와 리피터
- NIC(네트워크 인터페이스 카드)
- 네트워크 인터페이스 카드는 컴퓨터와 컴퓨터 또는 컴퓨터와 네트워크를 연결하는 장치로, 정보 전송 시 정보가 케이블을 통해 전송될 수 있도록 정보 형태를 변경한다.
- 리피터
- 리피터는 전송되는 신호가 약해질 경우 원래의 신호 형태로 재생하여 다시 전송하는 역할을 수행한다
- OSI 참조모델의 물리 계층에서 동작하는 장치
- 전송 거리의 연장 및 배선 자유도를 높이기 위함
브리지
- 브리지는 LAN과 LAN을 연결하거나 LAN안에서의 컴퓨터 그룹을 연결하는 기능을 한다.
- 데이터링크 계층 중 MAC 계층에 사용되므로 MAC 브리지라고도 부른다.
- 네트워크 상의 많은 단말기들에 의해 발생하는 트래픽 병목 현상을 줄일 수 있다.
- MAC 주소를 기반으로 프레임을 필터링하고, LAN을 여러 충돌 도메인으로 분할하여 불필요한 트래픽과 충돌을 줄인다.
L2 스위치
가장 흔히 볼 수 있는 2계층 L2 스위치. 보통 스위칭 기능이 있는 스위칭 허브를 사용한다.
스위칭 허브란, 자신에게 꽂혀있는 모든 장비에게 데이터를 전달하는 허브와는 달리 각 장비의 MAC 주소를 내부적으로 저장하고 있기 때문에, 들어온 패킷의 MAC 주소를 읽어 해당하는 장비를 찾아 전달해주는 장비
L2 계층은 MAC 주소와 밀접한 관련이 있다.
다른 방식에 비해 저렴하면서 성능은 높고 간단한 구조와 신뢰성이 높다는 장점이 있지만, 패킷에 의한 성능 저하가 발생하는(라우팅이 불가능) 단점이 있다.
라우터
- 라우터는 브리지와 같이 LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택할 수 있는 기능이 추가된 것으로, 서로 다른 LAN이나 LAN과 WAN의 연결도 수행한다.
- OSI 7계층의 네트워크 계층에서 사용하는 장비
- 접속 가능 경로에 대한 라우팅 제어표를 저장하여 보관
- 3계층까지의 프로토콜 구조가 다른 네트워크 간에 연결을 위해 프로토콜 변환 기능을 수행한다.
L3 스위치(라우터, 공유기)
보통 3계층은 라우팅 기능을 하는 층으로 라우터는 네트워크 패킷을 연결해주는 통로 역할을 한다.
그래서 L2 스위치는 MAC 주소까지만 알았다면, L3 스위치는 MAC 주소와 IP주소를 알고 있다.
즉, L3 스위치는 L2 스위치에 라우팅 기능이 추가된 장비로 고성능 하드웨어를 기초로 하며 스위치 자체에도 IP 주소가 할당되어 있다.
L7 스위치
3~7 계층에 속하는 IP 주소 및 TCP/UDP Port 정보, 패킷 정보까지 모두 보고 스위칭 해주는 장비다.
또한, L4 스위치가 TCP/UDP Port 를 이용하여 로드 밸런싱을 하지만, L7 스위치는 7계층 HTTP의 URL, ftp 쿠키 정보 및 바이러스 패턴을 분석하여 보안에 더 유리하고 더 정교한 로드 밸런싱이 가능하다.(Traffic filter, VPN 등)
그래서 L7 스위치를 보안 스위치라고 부르기도 한다.
데이터 분석을 통해 DDOS 공격을 방어하기도 하고 감염 패킷 필터링 등의 기능도 제공하기 때문이다.
LAN과 WAN 차이
- LAN
- 근거리 통신망
- 좁은 지역(집, 사무실)
- 이더넷 케이블, 무선 엑세스 포트 등
- 빠름(고속 데이터 전송)
- 내부 네트워크 구축
- WAN(광역 통신망)
- 넓은 지역(도시, 국가 등)
- VPN, 임대 회선 등
- 느림(LAN보다)
- 여러 LAN을 상호 연결
로드 밸런싱에는 어떤 기법들이 있을까?
- Round Robin
- 아이디어
- 들어오는 요청을 서버들에 순서대로 돌아가면서 분배
- 특징과 장단점
- 구현 단순, 서버 스펙 비슷할 때 적합
- 서버의 실제 부하는 고려 안함
- Weighted Round Robin
- 아이디어
- 서버마다 가중치를 두고 가중치가 더 큰 서버에 더 자주 분배
- 특징과 장단점
- 고성능 서버와 저성능 서버가 섞여 있을 때 좋음
- 여전히 “실시간 부하”까지는 반영 못함
- Least Connections(최소 연결 수 방식)
- 아이디어
- 현재 연결 수가 가장 적은 서버에 요청을 보내는 방식
- 특징과 장단점
- 실시간에 가까운 부하 반영
- 각 요청의 처리 시간이 매우 다르면 완전히 공평하지 않을 수 있다
- IP Hash
- 아이디어
- 클라이언트 IP를 해시해서, 그 값으로 어느 서버로 갈지 결정
- 같은 IP는 항상 같은 서버로 매핑되는 경향
- 특징과 장단점
- 로드밸런서가 세션 기간 동안 동일한 클라이언트의 request를 항상 동일한 서버로 라우팅해주는 세션 스티키 구현에 유리
- IP가 자주 바뀌면 효과 떨어짐
- Least Response Time (최소 응답 시간)
- 아이디어
- 각 서버의 평균 응답 시간 + 현재 연결 수를 보고, 가장 빨리 끝낼 것 같은 서버 선택
- 특징과 장단점
- 사용자 체감 속도 개선에 유리
- 응답 시간 측정을 위한 모니터링이 필요, 구현 복잡도 높음
'네트워크' 카테고리의 다른 글
| [컴퓨터 네트워크] 네트워크 레이어 (0) | 2025.12.15 |
|---|---|
| [컴퓨터 네트워크] TCP & UDP (1) | 2025.12.09 |
| [컴퓨터 네트워크] 애플리케이션 계층 -2- (보안, JWT, 프록시, REST..) (0) | 2025.12.04 |
| [컴퓨터 네트워크]애플리케이션 레이어 (0) | 2025.11.26 |