이번 정규 세션은 '네트워크'에 관련한 내용이다.
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의 경우 통신을 주고받지 않는다.
: Open Systems Interconnection Reference Model
처리 결과를 헤더에게 처리하면서 새로운 헤더를 줌
1) encapsulation: host A(송신)에서 계층을 내려가며 보내고자 하는 정보에 헤더를 보내는 과정
2) router를 거치며 routing, host B로 보내짐
3) decapsulation: host B(수신)에서 계층을 올라가며 읽은(필요 없는) 헤더를 뗌
TCP의 포트
TCP 데이터 송수신
시작 과정: 3-way 방식
SYN: Synchronize, 동기화
ACK: Acknowledge, 수락
데이터 전송: 2-way 방식
전송과 확인 단계수신자의 시스템 내에서 어떤 프로그램으로 메시지를 올려 보내줄지 결정
connection을 끊을 때: 4-WAY
1)송신자가 수신자에게 연결을 끊고자 하는 FIN을 전송
2)수신자는 그에 대한 확인 ACK 전송
3)수신자는 자신도 연결 종료를 요청하는 FIN 패킷 전송
4)송신자는 그에 대한 확인으로 ACK
IP 주소
MAC 주소
IP가 집주소라면 MAC은 주민번호!
집주소는 이사를 가면 변하지만,
주민번호는 변하지 않는다.
수동적 공격 vs 능동적 공격
DOS(Denial Of Service: 서비스 거부 공격)
Sniffing
Spoofing
VLAN (Virtual LAN) : LAN을 논리적으로 분할하여 가상의 LAN을 구성하는 것
LAN (Local Area Network) : 가까운 지역을 묶는 네트워크 (집, 학교 …)
✓ 물리적으로는 떨어져 있으나 논리적으로는 같은 네트워크에 속하게 함
✓ 하나의 스위치 내에서 서로 다른 VLAN → 서로 다른 네트워크
✓ 같은 VLAN에 속하는 기기에만 broadcast 가능 (원래는 스위치 내 모든 기기에)
→ 보안 유지
Ex. 같은 층에 서로 다른 회사 사무실이 있는데 같은 스위치를 쓰는 상황?
각 회사마다 VLAN을 구성하여 네트워크를 분리 - 보안 유지!
→ 트래픽 감소
Ex. 같은 회사에서 서로 다른 팀이 모두 같은 스위치를 쓰는 상황?
팀마다 VLAN을 구성하여 서버의 부하 감소!
서로 다른 VLAN은 서로 다른 네트워크이기 때문에 통신하려면 라우팅 필요
✓ Trunking : 서로 다른 스위치를 연결할 때 하나의 통합 링크로 여러 VLAN
에 패킷을 보낼 수 있는 방식
✓ Tagging : 패킷에 VLAN 정보를 넣어서 보내는 것
Static VLAN : 스위치의 port에 VLAN을 할당 (포트 기반 VLAN)
Dynamic VLAN : 동적으로 VLAN 할당
Port group : 스위치의 물리적 port를 이용하여 VLAN 구성
MAC address : MAC 주소에 따라 VLAN 구성 (초기에 LAN 카드에 할당)
Protocol information : 응용 프로그램별로 VLAN 구성