Home NetPractice ② 배경 지식
Post
Cancel

NetPractice ② 배경 지식

네트워크 구조 (OSI 7계층)

Untitled

  • 네트워크 프로토콜이 통신하는 구조를 7개의 계층으로 분리한 것

1계층 : 물리 계층 (Physical layer)

  • 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송
  • 전송 단위(Protocol Data Unit, PDU) : 비트
  • 데이터를 전달만 하는 역할
  • 주요 장비 : 통신 케이블, 리피터, 허브
  • 송수신되는 정보의 오류와 흐름을 관리
  • MAC 주소로 통신
  • 전송 단위 : 프레임
    • 이더넷에서 주고받는 데이터의 최소 단위
    • MAC 프레임, 이더넷 프레임 등으로 불림
  • 주요 장비 : 브리지, 스위치

3계층 : 네트워크 계층 (Network layer)

  • 라우팅을 통해 데이터를 목적지까지 안전하고 빠르게 전달
  • 역할 : 라우팅, 흐름 제어, 세그멘테이션(segmentation/desegmentation), 오류 제어, 인터네트워킹(Internetworking) 등
  • 전송 단위 : 패킷
    • 모든 프로토콜 스택에서 네트워크를 오가는 데이터의 단위로 사용되는 일반 용어
  • 주요 장비 : 라우터, layer3 스위치(layer2 스위치에 라우팅 기능 포함됨)

4계층 : 전송 계층 (Transport layer)

  • End-to-End Reliable Delivery : 종단 간 신뢰성 있는 데이터 전송을 담당.
    • 이를 위해 분할과 재조합, 연결제어, 흐름제어, 오류제어, 혼잡제어를 수행함.
  • Process-To-Process Communication : 종단(Host)의 구체적인 목적지(Process)까지 데이터가 도달할 수 있도록 함.
  • 목적지를 특정하기 위해 포트 번호를 사용.
  • 전송 단위 : 세그먼트
  • 주요 프로토콜 : TCP, UDP
  • 주요 장비 : L4 스위치

5계층 : 세션 계층 (Session layer)

  • 응용 프로그램간의 논리적인 연결(세션) 생성 및 제어를 담당.
    • 두 컴퓨터 간의 대화나 세션을 관리.
  • 전송 단위 : 데이터 또는 메시지

6계층 : 표현 계층 (Presentation layer)

  • 데이터 표현 방식, 상이한 부호 체계 간의 변화에 대해 규정.
  • 인코딩/디코딩, 압축/해제, 암호화/복호화 등의 역할을 수행함.
    • 응용 계층으로부터 전달받은 데이터를 읽을 수 있는 형식으로 변환.
  • 전송 단위 : 데이터

7계층 : 응용 계층 (Application layer)

  • 사용자가 네트워크 자원에 접근하는 방법을 제공.
  • 전송 단위 : 데이터
  • 주요 프로토콜 : TELNET, FTP, SMTP, HTTP 등

인터넷 프로토콜 (IP, Internet Protocol)

  • 개념
    • TCP/IP 기반의 인터넷 망을 통하여 데이터그램의 전달을 담당하는 프로토콜
  • 주요 기능
    • IP 주소 지정 (Addressing)
    • IP 계층에서 IP 패킷의 라우팅 대상이 됨 (Routing)
  • 특징
    • 신뢰성(에러제어) 및 흐름제어 기능이 전혀 없음(Best-Effort Service)
    • 비연결성 데이터그램 방식(Connectionless)
    • 패킷의 완전한 전달(소실,중복,지연,순서바뀜 등이 없게함)을 보장 않음(Unreliable)
    • 경우에 따라 단편화가 필요함.
    • 모든 상위 계층 프로토콜(TCP,UDP,ICMP,IGMP 등)이 IP 데이터그램에 실려서 전송됨
  • IP 헤더
    • 개념 : IP 데이터그램(패킷)의 앞부분에서 주소 등 각종 제어 정보를 담고 있는 부분.
      • IP 데이터그램 = IP 헤더 + 데이터
    • 특징
      • 수신 및 발신 주소를 포함함.
      • 바이트 전달 순서 : 최상위 바이트(MSB)를 먼저 보냄(Big-endian)

IP 주소

  • 숫자로 이루어지며 인터넷에 연결된 장치를 식별하는 역할을 함.

    Untitled

IPv4, IPv6

  • 프로토콜 버전에 따라 IPv4와 IPv6로 구분됨.
    • IPv4 : 각 부분이 0~255 사이의 10진수로 구성됨.
    • IPv6 : 숫자와 알파벳이 혼합된 16진법으로 구성됨.
      • IPv4와 달리 암호화와 인증 기능을 제공.

공인 / 사설 IP

  • IP 주소에는 공인 IP 주소, 사설 IP 주소, 동적 IP 주소, 정적 IP 주소 등이 있음.
  • 공인 IP(public IP) 주소
    • 인터넷 업체가 사용자에게 할당한 외부 IP 주소
    • 공유기가 인터넷과 통신하도록 함.
    • 동일한 인터넷에 연결된 장치들은 IP 주소를 공유함.
    • 정적/동적 IP 주소, 전용/공유 IP 주소로 구분됨.
      • 동적 IP 주소
        • 시간이 지남에 따라 변화하는 IP 주소
        • 인터넷 업체가 할당
        • 장치를 재부팅하거나, 새로운 장치를 네트워크에 추가하거나, 네트워크 설정을 수정할 때마다 변경됨.
      • 정적 IP 주소
        • 변화하지 않는 IP 주소
        • 웹사이트를 호스팅하거나 이메일 및 FTP 서비스를 제공하는 서버에서 할당
        • 안정적인 인터넷 연결과 웹 주소의 일관성을 유지해야 하는 공공 기관에서 사용
  • 사설 IP(private IP) 주소
    • 공유기홈 네트워크에 연결된 장치에 할당한 내부 IP 주소
    • 로컬 네트워크에서 할당되며 다른 네트워크의 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 주소 모두 할당됨.
    • IP 주소가 장치 수에 비해 부족하기 때문.

서브넷 (Subnet)

서브넷 마스크 (Subnet Mask)

  • IP 주소의 네트워크 ID호스트 ID분리하는 역할
  • 각 클래스별 기본 서브넷 마스크

    Untitled

  • IP주소 & 서브넷 마스크 = 네트워크 ID

    Untitled

  • 192.168.32.0/24 에서 /24
    • 서브넷 마스크의 bit 개수
    • 서브넷 마스크의 왼쪽부터 1이 24개임을 의미.

서브넷팅 (Subnetting)

  • IP 주소 낭비를 방지하기 위해 원본 네트워크를 여러개의 서브넷으로 분리하는 과정
    • 이렇게 해서 분리된 네트워크 단위가 서브넷.

네트워크 / 브로드캐스트 주소

네트워크 주소

  • 하나의 네트워크를 통칭하기 위한 주소
  • 해당 네트워크의 첫 번째 IP 주소
  • 계산 방법 : IP 주소와 서브넷 마스크를 AND 연산

브로드캐스트 주소

  • 네트워크에 있는 모든 클라이언트들에게 데이터를 보내기(브로드캐스팅) 위한 주소
  • 해당 네트워크의 맨 마지막 주소
  • 계산 방법 : 호스트 IP(서브넷 마스크의 오른쪽의 0인 비트)를 모두 1로 변경

라우터 / 스위치

라우터

Untitled

  • 컴퓨터 네트워크 간에 데이터 패킷을 전송하는 네트워크 장치
    • 서로 다른 네트워크를 연결한다.
  • 패킷의 위치를 추출, 해당 위치로의 최적 경로를 지정.(라우팅)
  • 데이터 패킷을 다음 장치로 전달.(포워딩)
  • 3계층인 네트워크 계층에서 동작함.

스위치

Untitled

  • 한 네트워크 상에 있는 여러 장치를 연결한다.
  • 데이터 링크 계층에서 동작함.
  • 다수의 장비를 연결 및 통신을 중재함.
  • 다수의 장비를 연결하고 케이블을 한곳으로 집중시킴.
  • 통신을 중재함.
  • 스위칭 허브라고도 불림.
  • 목적지 MAC 주소를 통해 위치 파악 후, 해당 위치까지 연결된 포트로만 전기신호를 보냄.

비교

기준라우터스위치
목적서로 다른 네트워크를 연결함한 네트워크 상의 여러 장치를 연결함
계층네트워크 계층에서 작동데이터 링크 계층 및 네트워크 계층에서 작동
작업패킷이 대상 컴퓨터에 도달하기 위해
따라야 할 최상의 경로를 결정함 (라우팅)
프로세스를 수신하여 패킷을
적절한 출력 포트로 전달함 (스위칭)
유형적응형 라우팅, 비적응형 라우팅회로 스위칭, 패킷 스위칭, 메시지 스위칭

기타

프레임 / 패킷

Untitled

주요 개념

기준프레임패킷
기본 개념데이터 링크 계층 프로토콜의 데이터 단위네트워크 계층 프로토콜의 데이터 단위
OSI 계층데이터 링크 계층네트워크 계층
포함된 정보출발지와 도착지의 MAC 주소출발지와 도착지의 IP 주소
상관관계프레임 내부에 패킷을 캡슐화 함패킷 내부에 세그먼트를 캡슐화 함

네트워크 인터페이스

  • 두 가지 네트워크 장비 또는 프로토콜 계층이 연결되는 지점

Ref.

OSI 7계층 - IT위키
OSI 7 계층이란?, OSI 7 계층을 나눈 이유 :: effortDev
OSI 7 계층 - 해시넷
The relationship between the Maximum Transmission Unit (MTU) and the Maximum Segment Size (MSS)
패킷과 프레임의 차이
공인 IP와 사설 IP… 다양한 IP 유형의 차이는?
[네트워크] 서브넷, 서브넷마스크, 서브넷팅이란?
서브넷과 Broadcast 주소
라우터와 스위치의 차이점
라우터 - 위키백과, 우리 모두의 백과사전
네트워크 통신하기
네트워크 연결과 구성요소
https://infinity-cable-products.com/blogs/hardware/what-is-a-network-switch
https://www.lifewire.com/what-is-a-router-2618162

This post is licensed under CC BY 4.0 by the author.

C++ 개념 정리 : 연산자 오버로딩, 타입 변환

C++ 개념 정리 : 상속, 문자열