<관련 포스팅>
[네트워크 기초] 허브, 스위치, 라우터 차이
[네트워크 계층 모델] TCP/IP 4계층

[네트워크 계층 모델] OSI 7계층
[네트워크] TCP/UDP 차이(3, 4-way handshaking)

네트워크 기기의 처리 범위

  • OSI 7계층별로 처리 범위를 나눌 수 있음
  • 상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만 그 반대는 불가능

 

계층별 기기의 종류

  • 물리 계층: 허브, NIC, 리피터, AP
  • 데이터 링크 계층: L2 스위치, 브리지
  • 인터넷 계층: 라우터, L3 스위치
  • 전송 계층: L4 스위치
  • 애플리케이션 계층: L7 스위치

 


1계층(물리 계층) 기기

NIC(Network Interface Card)

  • 컴퓨터와 네트워크 사이의 중개자 역할
  • 이더넷 케이블을 사용하여 네트워크에 연결하기 위한 컴퓨터 확장 카드
  • 이더넷 표준의 인기와 낮은 비용 때문에 대부분의 마더보드에 네트워크 인터페이스가 내장됨
  • 각 카드에는 고유의 식별번호인 MAC 주소가 있음
  • 전송시, CPU가 패킷 생성 → NIC가 전송 시작 → 종료 시, 인터럽트로 CPU에 통보
  • 수신시, CPU 메모리에 버퍼공간 할당 → NIC가 버퍼에 데이터 저장 → 종료 시, 인터럽트로 CPU에 통보

 

리피터

  • 단지 약해진 전기 신호를 증폭하여 전달하는 역할을 수행
  • 현재는 광케이블이 보급됨에 따라 잘 쓰이지 않음

 

더미 허브(L1 스위치)

  • 리피터 역할을 하며, 기존의 리피터와 다르게 여러 장비를 연결할 수 있음
  • CSMA/CD 방식을 적용하고 있기 때문에 여러 장비에서 동시에 데이터를 전송하지 못함
  • 하나의 허브에 연결된 모든 장비는 같은 Collision(충돌) 도메인에 속함

 

AP(Access Point)

  • 패킷을 복사하는 기기
  • AP에 유선 LAN을 연결한 후 다른 장치에서 무선 LAN 기술(와이파이 등)을 사용하여 무선 네트워크 연결을 할 수 있음
  • 공유기도 AP의 한 종류

 


2계층(데이터 링크 계층) 기기

브리지

  • 두 개의 근거리 통신망(LAN)을 상호 접속할 수 있도록 하는 연결 장치 → 통신망 범위를 확장
  • 포트와 포트 사이의 다리 역할을 하며, MAC 주소를 테이블로 관리
  • 단순히 전기적 신호만을 증폭시키는 것이 아니라 Frame의 전송 포트를 결정하여 다시 만들어 전송

 

L2 스위치

  • 가장 기본적인 스위치(계층 지정 없이 부를 경우 이에 해당)
  • 장치들의 MAC 주소를 테이블을 통해 관리
  • 단순히 패킷의 MAC 주소를 읽어 스위칭하는 역할
  • IP주소를 이해하지 못해 IP주소를 기반으로 라우팅은 불가능

 

브리지와 스위치의 차이

  • 스위치는 HW, 브리지는 SW 방식으로 처리함
  • 스위치의 속도가 더 빠르고, 제공되는 포트 수가 많으며 포트 별로 속도를 지정할 수도 있음
  • 스위치가 브리지의 상위 호환 장비로, 브리지는 현재 사용되지 않음

 

수행 기능

  • Learning: 호스트에서 요청이 오면 해당 MAC 주소를 테이블에 저장함
  • Flooding: 목적지 정보가 테이블에 없으면 모든 포트로 데이터를 전송함(Broadcasting)
  • Forwarding: 테이블의 MAC 주소를 참조하여 해당 포트로 데이터를 전송함(Unicasting)
  • Filtering: 출발지와 목적지가 같은 세그먼트에 있는 경우에는 다른 세그먼트로의 통로를 차단
    → 허브와 달리 Collision 도메인을 나눌 수 있음
  • Aging: 특정 시간이 지나면 테이블에서 오래된 MAC 주소를 삭제함

 


3계층(네트워크 계층) 기기

라우터

  • 네트워크간 데이터 전송을 위해 패킷 소모를 최소화하고 경로를 최적화하여 패킷을 포워딩
  • L3 스위치에 비해 가격이 비싸고 초기 설정이 복잡하다는 단점이 있음

 

L3 스위치

  • L2 스위치에 라우팅 기능이 추가된 장비로, IP 정보를 보고 스위칭
  • 기능적으로는 라우터와 차이가 거의 없으며 L3 스위치를 라우터라 해도 무방함
  • 라우터는 SW 방식이고 L3 스위치는 HW 방식이기 때문에 스위치가 훨씬 빠르고 저렴
  • 제품에 따라 지원하는 기능이 다르기 때문에 라우터와 스위치는 용도에 맞게 사용하면 됨
구분 L2 스위치 L3 스위치
참조 테이블 MAC 주소 테이블 라우팅 테이블
참조 PDU 이더넷 프레임 IP 패킷
참조 주소 MAC 주소 IP 주소

 


4계층(전송 계층) 기기

L4 스위치

  • TCP/UDP 등의 헤더를 보고 FTP, HTTP 등 프로토콜을 확인하여 스위칭의 우선 순위를 부여
  • IP주소와 PORT 기반으로 스위칭
  • 로드 밸런싱(많은 양의 트래픽을 여러 서버로 분산) 기능을 제공

 

로드밸런서를 이용한 서버 이중화

 

  • 여러 대의 서버를 마치 하나의 서버처럼 동작시키는 것
  • 로드밸런서의 대표적인 기능으로 서버 이중화를 들 수 있음
  • 성능을 쉽게 확장하고, 장애 발생 시에도 타 서버로 운영이 가능하게 함으로써 신뢰성을 향상

 


7계층(응용 계층) 기기

L7 스위치

  • 로드 밸런서라고도 하며, 시스템이 처리할 수 있는 트래픽 증가를 목표로 함
  • URL, 서버, 캐시, 쿠키뿐 아니라 IP주소, TCP/UDP 포트 정보의 패킷 내용까지 참조하여 세밀하게 트래픽을 분산함
  • 바이러스, 불필요한 외부 데이터 등을 걸러내는 필터링 기능
  • 응용 프로그램 수준의 트래픽 모니터링도 가능
  • 정기적인 헬스 체크(health check)를 통해 장애가 발생한 서버를 감지하고 분산 대상에서 제외

 

L4 스위치와 L7 스위치의 차이

  • L4 스위치와 기능과 역할은 동일하나, 추가적으로 페이로드를 분석하여 패킷을 처리
  • 페이로드를 분석함으로써 네트워크 공격에 대해 방어가 가능하며, 특정 바이러스 감염 패킷을 필터링할 수도 있음
  • L7 스위치는 네트워크 보안 강화의 장점이 있지만, 가격이 비싸다는 단점
  • L4 스위치는 스트리밍 관련 서비스에는 사용할 수 없으며 메시지를 기반으로 인식하지 못하고 IP와 포트를 기반으로(특히 포트) 트래픽을 분산함
  • 반면 L7 로드밸런서는 IP, 포트 이외에도 URL, HTTP 헤더, 쿠키 등을 기반으로 트래픽을 분산함

 

헬스 체크(health check)

  • 전송 주기와 재전송 횟수 등을 설정한 이후 반복적으로 서버에 요청을 보내는 것
  • L4, L7 스위치 모두 헬스 체크를 통해 정상적인/비정상적인 서버를 판별
  • 서버에 부하가 되지 않을 만큼 요청 횟수가 적절해야 함
  • TCP, HTTP 등 다양한 방법으로 요청을 보내며 이 요청이 정상적으로 이루어졌다면 정상적인 서버로 판별함
  • 예를 들어 TCP 요청을 보냈는데 3-way handshake가 정상적으로 일어나지 않았다면 정상이 아닌 것

 


References

<관련 포스팅>
[네트워크 계층 모델] TCP/IP 4계층
[네트워크] TCP/UDP 차이(3, 4-way handshaking)
[네트워크] OSI 7계층 기기(허브, 브리지, 스위치, 라우터)

OSI

정의

  • OSI(Open System Interconnection)
  • 개방형 시스템 상호 연결 모델의 표준
  • 네트워크 통신에서 일어나는 과정을 7단계로 나눈 것
  • 7단계로 정의한 이유
    • 통신이 일어나는 과정을 단계별로 파악하기 위함
    • 장애가 발생할 경우 다른 단계의 장비 및 SW를 건드리지 않고 해당 단계에서 해결하기 위함

 

왜 TCP/IP를 주로 사용할까?

  • OSI 모델이 TCP/IP모델 이후에 나타났고, 많은 전문가들은 해당 모델로 대체될 것이라 생각했음
  • 그러나 TCP/IP가 완전히 자리잡은 후 완성되었기 때문에, 다른 모델로의 변경은 많은 비용이 필요했음
  • OSI가 구현되었을 때 충분히 높은 성능을 보여주지 못했음

 


계층 구조

캡슐화, 비캡슐화에 관해서는 TCP/IP 포스팅을 참고

응용 계층

  • 사용자와 가장 밀접한 계층으로, 응용 프로세스 간의 정보 교환을 담당
  • EX) 전자메일, 크롬, 동영상 플레이어 등
  • HTTP, FTP, DNS 등이 이에 속함

 

표현 계층

  • 데이터를 어떻게 표현할지 정하는 계층
  • 애플리케이션이 소비할 수 있도록 데이터를 presentation함
  • 데이터의 변환, 암호화, 압축을 담당
  • JPEG, MPEG 등이 이에 속함

 

세션 계층

  • 데이터가 통신하기 위한 논리적 연결을 담당(두 기기 사이의 통신을 시작하고 종료)
    • 통신이 시작될 때부터 종료될 때까지의 시간을 세션이라고 함
    • TCP/IP 세션 체결, 포트번호를 기반으로 통신 세션 구성
  • 연결 세선에서 데이터 교환과 에러 발생 시의 복구를 관리
  • API, Socket이 이에 속함

 

전송 계층

  • 데이터 단위: Segment(실질적인 데이터 전송을 위해 일정 크기로 나눈 것)
    전송 주소: Port
  • 통신 노드 간의 연결 제어 및 신뢰성 있는 자료 송수신을 담당
  • 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 오류 제어를 제공
    • 흐름 제어: 수신 측 버퍼의 오버플로우를 방지하는 것(빠른 컴퓨터 → 느린 프린터)
  • TCP, UDP 프로토콜을 통해 통신을 활성화

 

네트워크 계층

  • 데이터 단위: Packet
    전송 주소: IP
  • 라우팅 기능을 맡고 있으며, 여러 개의 노드를 거칠 때마다 최적의 경로를 탐색하여 목적지까지 가장 안전하고 빠르게 데이터를 보냄
  • 두 장치가 동일한 네트워크에 있는 경우에는 네트워크 계층이 필요하지 않음
  • 흐름제어, 세그멘테이션 오류 제어 등을 수행
  • 장비로는 라우터, L3 스위치가 있음

 

데이터 링크 계층

  • 데이터 단위: Frame(데이터 전송을 하기 전 패킷 헤더에 MAC 주소와 오류 검출을 위한 부분을 첨부)
    전송 주소: MAC
  • 물리적인 연결을 통해 인접한 두 장치 간의 신뢰성 있는 정보 전송을 담당(P2P)
  • 동일한 네트워크에 있는 두 개의 장치 간 데이터 전송을 용이하게 함
  • 인트라 네트워크 통신에서 흐름 제어 및 오류 제어를 담당 (전송 계층은 네트워크 간 통신에 대해서만 흐름 제어 및 오류 제어만을 담당함)
  • 장비로는 브리지, 스위치가 있음

 

물리 계층

  • 주로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송
  • 0과 1의 비트열, 즉 전기적 신호 상태로 이루어져 해당 계층은 단지 데이터를 전달할 뿐 알고리즘, 오류제어 등의 기능은 없음
  • 장비로는 케이블, 리피터, 허브가 있음

 


References

+ Recent posts