네트워크 세션 복습

이슬·2022년 11월 3일
0

이번 정규 세션은 '네트워크'에 관련한 내용이다.

1. 네트워크의 기본 개념

통신 프로토콜

Protocol: 네트워크를 통해 데이터를 주고받는 과정에 대한 약속으로, 각 계층별로
동작하는 다수의 프로토콜이 정의됨 (ex. HTTP, TCP, IP)

  • 데이터를 보낼 때 필요한 4가지
    1) Source(송신 측)는 통신 경로를 활성화하거나 destination(대상)에 알려야
    2) Source는 destination이 데이터를 받을 준비가 되었는지 확인해야
    3) Source는 파일 전송 시 destination의 파일 관리 프로그램이 파일을 수락하고 저장할 준비가 되었
    는지 확인해야 함
    4) 만약 상호 시스템 간의 data format이 다를 때 format을 변환할 수 있어야 함
    → 이러한 조건이 있기에 통신 규약(protocol)이 필요한 것!

  • 통신 프로토콜을 여러 단계로 나누어(Layered structure로 만들어) 해결
    → (Protocol architecture이라 부름)

  • 또한 이 프로토콜을 통해 상대의 동일한 계층끼리(Peer layer)만 통신을 하는데,
    Peer Layer(서로 같은 계층) 가 아닌 Layer의 경우 통신을 주고받지 않는다.

OSI 7 Layer

: Open Systems Interconnection Reference Model

  • 네트워크의 동작 과정을 설명하는 가장 대표적인 모델
  • 국제표준화기구인 ISO에서 제정 (1983)
  • 복잡한 통신과정을 계층적으로 나누고 계층별로 독립적으로 동작
  • 실제 구현된 시스템이 아니라 일종의 개념적 모델


처리 결과를 헤더에게 처리하면서 새로운 헤더를 줌

  • 7계층 : 응용 계층(Application Layer)
    : 사용자에게 인터페이스(UI: User Interface)를 제공하는 계층
    응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행
    사용자가 TCP/IP 환경(프로토콜)에 접근할 수 있는 접근성을 줌
  • 6계층: 표현 계층(Presentation Layer)
    : 암호화·복호화 혹은 인코딩·디코딩 등의 데이터 형식의 변환을 수행하는 계층
  • 5계층: 세션 계층(Session Layer)
    : 양 끝단에 있는 두 개의 응용 프로세스 사이에 통신(세션)을 관리하는 계층
  • 4계층: 전송 계층(Transport Layer)
    : 양 끝단의 사용자가 신뢰성 있는 데이터를 주고받게 하는 계층
    TCP과 UDP의 두 프로토콜이 동작
    TCP: 오류 제어, 흐름 제어
    UDP: 속도가 빠르다! (신뢰성, 중복 방지, 순서를 보장하진 않음)
  • 3계층: 네트워크 계층(Network Layer)
    : 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할(라우팅)을 하는 계층
    IP프로토콜을 사용
  • 2계층: 데이터 링크 계층(Data Link Layer)
    : 직접 연결된 단말 사이의 신뢰성 있는 전송을 보장하는 계층
  • 1계층: 물리 계층(Physical Layer)
    : 단말과 단말 사이를 실제 물리적으로 연결

TCP/IP 프로토콜

  • 현재 인터넷을 움직이게 하는 핵심 통신 프로토콜
  • OSI 계층의 7단계가 너무 많고 복잡해 돈과 시간이 많이 든다
    → 그 대안인 TCP/IP를 사용 중

TCP

1) encapsulation: host A(송신)에서 계층을 내려가며 보내고자 하는 정보에 헤더를 보내는 과정
2) router를 거치며 routing, host B로 보내짐
3) decapsulation: host B(수신)에서 계층을 올라가며 읽은(필요 없는) 헤더를 뗌

  • 아래 사진처럼 transport 계층으로 내려가며 TCP헤더가 붙고, internet계층으로 내려가며 IP헤더가 붙는다
  • MAC계층에서는 network access level에서는 network header(MAC주소)가 붙음

TCP의 포트

  • 포트(Port): 각 단말기 내에서 사용되는 주소
  • 수신자의 시스템 내에서 어떤 프로그램으로 메시지를 올려 보내줄지 결정
  • 대표적으로 많이 사용되는 TCP 포트
    • 23 – 텔넷(Telnet), 원격 접속을 위한 목적
    • 53 - DNS(Domain Name System), URL의 도메인 주소에서 IP 주소를 얻어올 때
    • 443 – HTTPS, 암호화된 웹 접속을 위한 목적

TCP 데이터 송수신

  • 시작 과정: 3-way 방식

  • SYN: Synchronize, 동기화

  • ACK: Acknowledge, 수락

  • 데이터 전송: 2-way 방식

  • 전송과 확인 단계수신자의 시스템 내에서 어떤 프로그램으로 메시지를 올려 보내줄지 결정

  • connection을 끊을 때: 4-WAY
    1)송신자가 수신자에게 연결을 끊고자 하는 FIN을 전송
    2)수신자는 그에 대한 확인 ACK 전송
    3)수신자는 자신도 연결 종료를 요청하는 FIN 패킷 전송
    4)송신자는 그에 대한 확인으로 ACK

IP 프로토콜

  • IP: 네트워크 계층에 해당하는 통신 프로토콜, 라우팅(Routing) 담당
  • 각 노드의 주소: 3계층의 IP주소
  • 라우팅 테이블(Routing Table): 각 노드 사이의 연결 정보를 저장한 테이블,
    라우팅 테이블은 두 연결 사이의 전송 비용(Cost)을 저장

IP 주소

  • IPv4, IPv6
  • 10진수로 표현하고, 32bit
  • 네트워크가 달라지면 바뀐다.
  • Network 계층(L3)에서 사용

MAC 주소

  • 물리적 주소
  • 16진수로 표현하고, 48bit
  • Data Link 계층(L2)에서 사용

IP가 집주소라면 MAC은 주민번호!
집주소는 이사를 가면 변하지만,
주민번호는 변하지 않는다.

2. 네트워크 보안 공격

수동적 공격 vs 능동적 공격

DOS(Denial Of Service: 서비스 거부 공격)

DOS(Denial Of Service: 서비스 거부 공격)

  • 서비스가 정상적으로 제공되지 못하도록 방해
  • 대규모 가짜 요청을 만들어 공격 대상자의 시스템에 과부하 일으킴

Sniffing과 Spoofing

Sniffing

  • 송신자와 수신자가 주고받는 데이터를 중간에서 도청하는 것
  • Network traffic을 도청하는 행위

Spoofing

  • 공격자는 마치 자신이 수신자인 것처럼 행세하여 송신자가 보낸 메시지를 강탈

3. VLAN

VLAN (Virtual LAN) : LAN을 논리적으로 분할하여 가상의 LAN을 구성하는 것

LAN (Local Area Network) : 가까운 지역을 묶는 네트워크 (집, 학교 …)

✓ 물리적으로는 떨어져 있으나 논리적으로는 같은 네트워크에 속하게 함
✓ 하나의 스위치 내에서 서로 다른 VLAN → 서로 다른 네트워크
✓ 같은 VLAN에 속하는 기기에만 broadcast 가능 (원래는 스위치 내 모든 기기에)

→ 보안 유지
Ex. 같은 층에 서로 다른 회사 사무실이 있는데 같은 스위치를 쓰는 상황?
각 회사마다 VLAN을 구성하여 네트워크를 분리 - 보안 유지!

→ 트래픽 감소
Ex. 같은 회사에서 서로 다른 팀이 모두 같은 스위치를 쓰는 상황?
팀마다 VLAN을 구성하여 서버의 부하 감소!

서로 다른 VLAN은 서로 다른 네트워크이기 때문에 통신하려면 라우팅 필요

VLAN 이란?

Trunking : 서로 다른 스위치를 연결할 때 하나의 통합 링크로 여러 VLAN
에 패킷을 보낼 수 있는 방식
Tagging : 패킷에 VLAN 정보를 넣어서 보내는 것

VLAN 종류

Static VLAN : 스위치의 port에 VLAN을 할당 (포트 기반 VLAN)

  • 관리자가 직접 할당
  • 어떤 단말이 접속하든 스위치 port에 할당된 VLAN에 속함
  • 일반적인 VLAN

Dynamic VLAN : 동적으로 VLAN 할당

  • MAC 주소 등에 따라 자동으로 VLAN 할당

VLAN 구성 방식

Port group : 스위치의 물리적 port를 이용하여 VLAN 구성

MAC address : MAC 주소에 따라 VLAN 구성 (초기에 LAN 카드에 할당)

Protocol information : 응용 프로그램별로 VLAN 구성

profile
Cybersecurity

0개의 댓글