네트워크를 통해 데이터를 주고받는 과정에 대한 약속, 각 계층별로 다수의 프로토콜의 정의 됨 (EX. HTTP, TCP, IP)
데이터를 보낼 때 필요한 4가지
1. Source(송신측)는 통신 경로를 활성화 하거나 destination(대상)에 알려야 함
2. Source는 destination이 데이터를 받을 준비가 되었는지 확인
3. destination의 파일 관리 프로그램이 파일을 수락하고 저장할 준비가 되었는지 확인
4. 만약 상호 시스템 간의 data format이 다를 때 format을 변환할 수 있어야함
=> protocoal 필요
:Open Systems Interconnection Reference Model
국제 표준화 기구인 ISO에서 제정한 네트워크의 동작 과정을 설명하는 가장 대표적 모델 (실제 구현된 시스템이 아닌 일종의 개념적모델)
계층 | 이름 | 역할 |
---|---|---|
7 | 응용 계층 | 사용자에게 인터페이스 제공 |
6 | 표현 계층 | 데이터 형식의 변환 (암호화/복호화) |
5 | 세션 계층 | 두 응용 프로세스 사이 세션 관리 |
4 | 전송 계층 | TCP : 오류 제어, 흐름 제어 UDP : 신뢰성, 중복 방지 (속도 빠름) |
3 | 네트워크 계층 | 경로 찾아주기 - IP프로토콜 사용 |
2 | 데이터 링크 계층 | 직접 연결된 단말 사이 신뢰성 보장 |
1 | 물리 계층 | 단말과 단말 사이를 실제 물리적으로 연결 |
OSI 계층의 7단계가 너무 많고 복잡함 => 대안으로 TCP/IP 사용
이름 | 역할 | 주요 프로토콜 | 데이터 호칭 |
---|---|---|---|
애플리케이션층 | 애플리케이션에서 다룰 데이터 형식과 절차를 결정 (인간이 데이터를 인식할 수 있도록) | HTTP, DHCP, DNS 등 | HTTP 메시지 |
트랜스포트층 | 애플리케이션에 적절한 데이터 할당 | TCP/UDP | TCP 세그먼트 |
인터넷층 | 엔드투엔드 통신 (최종적 출발지와 목적지 사이의 데이터 전송) | IP, ICMP 등 | IP 패킷 |
네트워크 인터페이스층 | 같은 네트워크 안에서 데이터를 전송 (자유롭게 선택 가능) | 이더넷, 무선 LAN(Wi-Fi) 등 | 이더넷 프레임 |
포트(Port)
각 단말기 내에서 사용되는 주소 - 수신자의 시스템 내에서 어떤 프로그램으로 메시지를 올려 보내줄지 결정
시작 과정 : 3-way 방식
1. 송신측 -> SYN (Synchronize) 동기화
2. 수신측 -> ACK (Acknowledge) 수락 + SYN
3. 송신측 -> ACK
데이터 전송 : 2-way 방식
1. 송신측 -> DATA 전송
2. 수신측 -> ACK
통신 종료 : 4-way 방식
1. 송신자 -> FIN 종료
2. 수신자 -> ACK 확인
3. 수신자 -> FIN 종료
4. 송신자 -> ACK 확인
네트워크 계측에 해당하는 통신 프로토콜 -> 라우팅 담당
라우팅 테이블 (Routing Table) : 각 노드 사이의 연결 정보를 저장
IP주소 | MAC주소 |
---|---|
- 10진수로 표현, 32bit - 네트워크에 따라 달라짐 - Network계층 에서 사용 | - 물리적 주소(변하지 않음!) - 16진수, 48bit - Data Link계층에서 사용 |
Dos(Denial of Service : 서비스 거부 공격)
대규모 가짜 요청을 만들어 공격 대상자의 시스템에 과부화 일으킴
=> 서비스가 정상적으로 제공되지 못하도록 방해
Sniffing
Network traffic 도청 => 송신자와 수신자가 주고받는 데이터를 도청
Spoofing
공격자가 수신자인 것처럼 행세하여 송신자가 보낸 메시지를 강탈
LAN (Local Area Network) : 가까운 지역을 묶는 네트워크
VLAN
-> 물리적으로 떨어져 있으나 논리적으로 같은 네트워크에 속하게 함 (하나의 스위치 내 다른 VLAN - 서로 다른 네트워크)
-> 같은 VLAN에 속하는 기기에만 boradcast가능
-> 보안 유지 & 트래픽 감소