[네트워크] OSI 7 Layer 자세히 살펴보기

Woonil·6일 전
1

네트워크

목록 보기
2/6

이전 포스팅에서 OSI 7 Layer는 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 의미한다. 이번에는 이 OSI 7 Layer의 세부 계층에 대해 알아보고 정리하고자 한다. TCP, IP와 같이 자세히 알고 넘어가야 하는 프로토콜은 별도의 포스팅에서 다루고자 한다.

🤔개념

1️⃣물리 계층 (Physical Layer)

이 계층에서는 비트 신호를 주고받으며, 신호는 유무선 통신 매체를 통해 운반한다. 실제 장치들을 연결하기 위해 필요한 전기적, 물리적 세부 사항들을 정의한다.

  • PDU: Bit

장비

허브

[사진출처: 위키백과]

여러 대의 컴퓨터를 연결하여 네트워크로 보내거나, 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비

  • MAC 주소를 알지 못하기 때문에 수신된 신호에 대한 어떠한 조작이나 판단을 하지 않고 허브에 연결된 모든 장비에 전송한다(flooding).
  • 포트(port): 통신 매체 연결 지점
  • 반이중 모드(half duplex)로 통신한다. 이때, 반이중 모드란 송신 또는 수신을 번갈아 가면서 수행해야 하는 통신 방식을 의미한다.
  • 충돌이 많이 발생하여 하나의 허브에 많은 장비를 연결할 수 없다.
  • 허브에 연결된 장비들은 하나의 Collision domain 내에 있다.

리피터

디지털 신호를 증폭시켜 주는 역할을 하여 신호가 약해지지 않고 컴퓨터로 수신되도록 하는 장비

하나의 네트워크 대역 내의 호스트끼리 올바르게 데이터를 주고받는 계층이다. 링크의 설정과 유지 및 종료를 담당하며 노드 간 회선 제어, 흐름 제어, 오류 제어 기능을 수행한다.

다른 네트워크와 통신 시에는 항상 3계층(네트워크)의 도움이 필요하다.

네트워크에 속한 호스트를 식별할 수 있는 주소로 MAC 주소를 사용한다.

  • PDU: Frame (유일하게 트레일러(꼬리)가 붙는다.)
  • 데이터: 페이로드, 즉 상위 계층으로 전달하거나 전달받을 데이터로, 필드 크기는 일반적으로 1500 바이트 이하로 제한된다.
    • MTU(Maximum Transmission Unit): 이더넷 프레임으로 전송 가능한 최대 데이터 크기

이더넷(Ethernet)

통신 매체를 통해 신호를 송수신하는 방법이다. 데이터 링크 계층에서 프레임 형식 등이 정의된 기술로, 현대 대부분의 LAN은 이더넷을 기반으로 구현되어 있다. 일반적으로 다수의 PC를 연결한 환경인 LAN과 MAN, WAN에서 가장 많이 활용되는 기술 규격이다.

[사진출처: cbtnuggets]

  • Destination Address: 목적지 MAC 주소(6byte)
  • Source Address: 출발지 MAC 주소(6byte)
  • Type: 상위 계층의 프로토콜(IP, ARP 등) 정보

NIC

NIC(Network Interface Controller)은 네트워크 인터페이스의 역할을 담당하는 장비이다. 이때, 네트워크 인터페이스는 노드와 네트워크를 잇는 통로를 의미한다.

[사진출처: 위키백과]
  • 특징
    • 네트워크 인터페이스 카드, 네트워크 어댑터, LAN 카드, 네트워크 카드, 이더넷 카드 등 다양한 명칭을 지닌다.
    • 통신 매체의 신호를 호스트가 이해하는 프레임으로 변환하거나, 호스트가 이해하는 프레임을 통신 매체의 신호로 변환하는 역할을 수행한다.
    • MAC 주소를 토대로 잘못 전송된 패킷이 없는지 확인하는 역할도 수행한다.
    • NIC를 작동시키는 시스템 콜이 호출되면 커널 모드로 전환 후 송수신이 수행된다. 입출력 완료 시, 인터럽트를 통해 CPU에게 작업이 완료됨을 알린다.

MAC 주소

NIC에 대한 식별자로 작용하는 주소로, 6바이트(48비트) 길이이다.

  • OUI: IEEE에서 부여하는 일종의 제조회사 식별 ID
  • 고유번호: 제조사에서 부여한 고유번호
  • 특징
    • 콜론으로 구분된 12자리 16진수로 구성된다. ex) ab:cd:ab:cd:00:01
    • 하나의 NIC에 여러 IP 주소를 바인딩 할 수 있다.

장비

스위치(switch)는 허브의 한계(flooding)를 보완하기 위해 등장했으며, 전달받은 신호를 목적지 호스트가 연결된 포트로만 내보내는 역할을 수행한다.

L2(Layer 2, 2계층) 스위치

수신된 신호를 목적지 MAC 주소를 기반으로 빠르게 전송하는 장비

  • 전이중 모드(full duplex)를 지원한다. 이때, 전이중 모드란 동시 송수신이 가능한 통신 방식을 의미한다. 따라서 허브에 비해 collision domain이 좁다.
  • MAC 주소 학습 기능: 전달받은 신호를 원하는 포트에만 내보내는 원리이며, MAC 주소 테이블에 기반하여 동작한다. 이때, MAC 주소 테이블에는 특정 포트에 대응하는 MAC 주소가 명시된다.
  • VLAN(Virtual LAN, 가상 LAN): 같은 스위치에 연결된 모든 호스트를 하나의 네트워크로 간주하고 싶지 않을 때 사용된다. 즉, 여러 논리적인 네트워크로 나누고 싶을 때 사용된다.

브리지: 두 개의 LAN 간 연결하는 통신망 연결 장치

🤙프로토콜

  • CSMA/CD(Carrier Sense Multiple Access with Collision Detection): 네트워크 디바이스가 데이터를 전송하기 전에 먼저 매체를 듣고(감지) 다른 트래픽이 없을 때 데이터를 전송한다. 이때, 충돌이 감지되면 디바이스는 임의의 시간 동안 기다렸다가 다시 전송을 시도한다.
  • HDLC (High-Level Data Link Control): 점대점 방식이나 다중방식의 통신에 사용되는 ISO에서 표준화한 동기식 비트 중심 프로토콜
  • PPP (Point-to-Point Protocol): 네트워크 분야에서 두 통신 노드 간 직접적인 연결을 위해 일반적으로 사용되는 프로토콜

3️⃣네트워크 계층 (Network Layer)

서로 다른 네트워크 간 통신을 가능하게 하는 계층이다. 이 계층의 프로토콜들은 단말기 간 데이터 전송을 위한 최적화된 경로를 제공하는 역할을 한다.

  • 특징
    • IP 주소: 네트워크 계층에서 사용하고 인터넷으로 연결된 네트워크에서 각 컴퓨터를 구분하기 위해 사용하며, 호스트(host)에 대한 식별자로 작용한다.
    • PDU: Packet
    • 헤더에 담기는 정보: 발신지/목적지 컴퓨터 주소, 서비스 요청 등
    • 다른 네트워크(LAN) 구간의 장비와 통신을 위해서는 반드시 3계층 장비(라우터)를 거쳐야 한다.
    • 멀티캐스트, 브로드캐스트, 목적지를 모르는 유니캐스트 수신 시 모두 차단한다.
    • 라우팅: 라우팅 테이블 테이블 정보를 토대로 수신 패킷이나 송신 패킷을 전달할 라우트 경로를 결정하는 작업

장비

L2 스위치는 전달받은 신호를 목적지 호스트가 연결된 포트로만 내보내는 역할을 수행한다고 했다. 따라서 다른 네트워크로 프레임을 라우팅하기 위한 장비가 필요하며 이때 라우터가 사용된다.

라우터

LAN과 LAN을 연결하거나 LAN과 WAN을 연결하기 위한 인터넷 네트워킹 장비.

  • 서로 다른 네트워크 간 통신을 가능하게 하는 역할을 수행한다.
  • 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정한다.

L3 스위치:

라우팅 기능도 지닌 스위치. 이더넷 기반의 L2 스위치의 포트를 지닌 라우터라고 생각하면 이해하기 쉽다.

  • 스위치 자체를 하나의 네트워크로 뽑아 사용할 수 있게도 해준다.

🤙프로토콜

  • IP: 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약
  • ICMP(Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜): 인터넷 프로토콜 스위트에 기록된 주요 프로토콜 가운데 하나이다. 네트워크 컴퓨터 위에서 돌아가는 운영체제에서 오류 보고와 이에 대한 피드백을 원래 호스트에게 보고하는 데 주로 쓰인다.
  • ARP(Address Resolution Protocol, ARP): 네트워크 상에서 논리적 IP 주소(32비트)를 물리적 네트워크 주소(48비트)로 대응(bind)시키기 위해 사용되는 주소 변환 프로토콜이다.

    RARP

    역주소 변환 프로토콜로 MAC주소를 IP주소로 변환한다.

동적 라우팅 프로토콜

  • 내부 라우팅 프로토콜(IGP)
    • RIP(Routing Information Protocol) 라우터의 개수로 최적의 경로를 계산하는 라우팅 프로토콜
      • 특징
        • 거리 벡터 기반
        • 15홉 제한
        • 30초 주기로 인접 라우터들과 라우팅 테이블 공유
        • 라우팅 정보 전송을 위해 UDP 포트 520번 사용
        • 소규모 네트워크나 대형 네트워크의 말단 지점에서 사용하기 좋음
        • 표준 라우팅 프로토콜이기 때문에 모든 회사의 라우터에 적용 가능
      • 단점
        • 단순히 홉카운트로 최적의 경로를 판단하기 때문에 비효율적인 라우팅 경로가 만들어질 수 있음
        • 라우터 간에 주기적으로 라우팅 테이블 내용 정보를 주고받기 때문에 불필요한 네트워크 부하가 생길 수 있음
    • OSPF(Open Shortest Path First)
      • 링크 상태 기반
      • 대규모 네트워크에 적용
  • 외부 라우팅 프로토콜(EGP)
    • BGP

4️⃣전송 계층 (Transport Layer)

신뢰성 있는 전송을 가능하게 하는 계층이며, 포트(port) 정보를 통해 응용 프로그램과 네트워크의 연결 다리 역할을 수행한다.

프로토콜 내에서 송신자와 수신자를 연결하는 통신 서비스를 제공하며, 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어, 그리고 다중화와 같은 편리한 서비스를 제공한다. 대표적인 프로토콜로는 TCP(연결형), UDP(비연결형)가 잘 알려져 있다.

  • PDU: Segment
  • 헤더에 담기는 정보: 발신지/목적지 포트, 순서번호, 오류검출코드 등

포트 번호

포트를 통해 프로세스를 식별하며, 네트워크 패킷을 주고받는 프로세스에는 포트 번호가 할당된다. IP 주소가 호스트를 식별한다면, 포트는 애플리케이션 프로세스를 식별한다. 즉, IP 주소와 포트 번호의 조합을 통해 ‘특정 호스트가 실행하는 특정 프로세스’를 식별하는 것이다.

헤더의 송신지 주소, 수신지 주소는 각각 16비트로 표현되므로 포트 번호의 총 개수는 2^16(65536)개이다.

포트 종류포트 번호 범위예시
잘 알려진 포트0 ~ 1023
등록된 포트1024 ~ 49151서버로 동작하는 애플리케이션
동적 포트49152 ~ 65535클라이언트로 동작하는 애플리케이션
  • 잘 알려진 포트
    포트 번호프로토콜
    20, 21FTP(File Transfer Protocol)
    22SSH
    23TELNET
    53DNS
    67, 68DHCP
    80HTTP
    443HTTPS

    암묵적인 규칙이므로, 특정 프로토콜이 특정 포트 번호를 반드시 사용해야 하는 것은 아니다.

  • 등록된 포트
    포트 번호애플리케이션
    1194OpenVPN
    1433MSSQL Server DB
    3306MySQL DB
    6379Redis
    8080HTTP 대체
  • 동적 포트: 대표적으로 클라이언트로 동작하는 크롬 브라우저의 포트 번호를 확인하면 아래와 같다.

🤙프로토콜

  • TCP: 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간 일련의 옥텟을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 해주는 프로토콜

5️⃣세션 계층 (Session Layer)

세션(session)을 생성 및 제어하는 계층이며, TCP/IP 통신 세션 설정, 유지, 종료하는 기능을 제공한다.

  • 세션: 응용 프로그램 간의 논리적 연결 상태

세션 계층과 표현 계층은 다른 계층과 달리 두 계층을 명확히 구분하지 않거나 응용 계층에 포함하는 경우도 있다.

6️⃣표현 계층 (Presentation Layer)

데이터 형식 설정, 부호 교환, 암호화 및 복호화, 압축과 관련된 계층이며, 대표적인 프로토콜로는 JPEG, MPEG 등이 있다.

7️⃣응용 계층 (Application Layer)

사용자와 가장 밀접하게 맞닿아 있어 여러 네트워크 서비스를 제공하는 계층이며, 대표적인 프로토콜로는 HTTP(S), DNS 등이 있다.

장비

  • L7 스위치: L7에서 동작하는 스위치로 고급 로드 밸런싱과 트래픽 관리에 사용된다. TCP/UDP 패킷의 포트 정보에 더해 페이로드까지 분석해 로드밸런싱을 수행한다. 즉, URL, 캐시, 쿠키 등 패킷의 내용들을 분석해 요청을 분배하는 것이다.
    • 특징
      • WAF(웹 애플리케이션 방화벽) 기능을 포함하여 악성 요청을 필터링하거나 인증 및 접근 제어를 수행하여 보안을 강화할 수 있다.

🤙프로토콜

  • HTTP: 클라이언트(웹 브라우저)와 서버 간 특정 컨텐츠에 대한 요청(Request)과 응답(Response)이 이루어질 때, 서로가 알아 들을 수 있는 메시지의 형식에 대한 약속

참고자료

[취업을 위한 CS 지식] 28강. 물리 계층과 데이터 링크 계층
[따라學IT] 01. 계층별 장비와 케이블 - 이론
5. [switching & routing] 라우터 동작원리와 L3스위치
[네트워크] L4 스위치 L7 스위치 차이, 스위치란? 로드밸런서란?

profile
프론트 개발과 클라우드 환경에 관심이 많습니다:)

0개의 댓글