네트워크 계층
IP ( Internet Protocol )
- 인터넷 프로토콜 (Internet Protocol) 은 송신 호스트와 수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는 데 사용하는 정보 위주의 규약
- IP는 비신뢰성(unreliability)과 비연결성(connectionlessness)이 특징 ⇒ 패킷 전송과 정확한 순서를 보장하려면 TCP 프로토콜과 같은 IP의 상위 프로토콜을 이용
ARP (Address Resolution Protocol)
- 호스트 IP 주소를 MAC 주소로 변환하는 프로토콜
RARP (Reverse Address Resolution Protocol)
- ARP 와 반대로 MAC주소를 IP 주소로 변환하는 프로토콜
ICMP ( Internet Control Message Protocol )
- TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 메세지의 형태로 알려주는 프로토콜
- ICMP 헤더 구조
ICMP TYPE | ICMP CODE | CHECKSUM |
ICMP Message 1 | ||
ICMP Message ( TYPE, CODE 에 따라 가변적 ) |
- ICMP Type
TYPE | Message | 설명 |
0 | Echo reply | Echo 메세지 응답 |
3 | Destination unreachable | 목적지 도달 불가 |
4 | Source quench | 혼잡제어 용도 |
5 | Redirect | 더 빠른 경로가 있다고 알려주는 용도 |
8 | Echo request | Echo 메세지 요청 |
11 | Time Exceeded | TTL 이 초과됨 |
- Error Type 3 : Destination Unreachable
- Code 0 : Network 도달 불가 ( Network ID 문제 )
- Code 1 : Host 도달 불가 ( Host ID 문제 )
- Code 2 : Protocol 도달 불가 ( Protocol 타입 문제 )
- Code 3 : Port 도달 불가 ( Port Number 가 잘못 되어있을 경우 )
- Code 4 : IP 헤더의 Don’t Fragment 플래그가 설정되어 단편화를 할 수 없는 경우
- 등등 총 15가지 코드가 있다.
- Error Type 4 : Source Quench
- 이 타입은 더이상 사용되지 않는다
- TCP 가 알아서 혼잡제어 을 지원하기 때문
- UDP 는 혼잡제어를 하지 않음
- 이 타입은 더이상 사용되지 않는다
- Error Type 5 : Redirect
- 현재 진행 상황이 최적의 경로로 가는 것이 아닌 것임을 알 때, 이 에러 메세지가 나옴
- Error Type 11 : Time Exceeded
- 2가지 경우에 발생한다.
- Code 0 : Time To Live 필드가 0 이 되어서 데이터그램이 폐기된 경우
- Code 1 : 지정된 시간내에 패킷이 도착하지 않아 재조립에 실패 했을 경우
- 2가지 경우에 발생한다.
전송 계층
자세한 사항은 이전글 참고 부탁드립니다.
https://maker5587.tistory.com/4
https://maker5587.tistory.com/5
TCP ( Transmission Control Protocol )
- 신뢰성 있는 데이터 전송을 지원하는 연결지향형 프로토콜
- UDP에 비해 속도가 느리다.
- Full-Duflex, 1:1 통신을 지원한다.
UDP ( User Datagram Protocol )
- 비연결형 프로토콜
- Best Effort 방식으로 데이터를 전송하기에 TCP보다 속도가 빠르다.
- 1:1, 1:N, N:N 통신을 지원한다.
표현 계층
SSL ( Secure Socket Layer ) / TLS ( Transport Layer Security )
- 통신 패킷을 암호화 하여 패킷 탈취, 정보 누출 등을 방지하기 위한 보안 프로토콜
- 현재는 SSL 3.0 버전이 보안 취약점 문제로 인해 사용되지 않고 TLS 를 사용한다.
- TLS를 사용하고 있지만 SSL 자체가 고유 명사가 되어 넓은 의미의 통신 보안 프로토콜을 명칭하는 의미로 사용됨
응용 계층
파일 전송 관련 프로토콜
FTP ( File Transfer Protocol )
- 인터넷을 통한 파일 송수신 만을 위해 고안된 프로토콜 ⇒ 동작 방식이 단순하고 직관적
- 두개의 포트 사용 ( 프로토콜 TCP 20, 21 번 )
- 제어 채널 ( 21번 포트 )
- 데이터 채널 ( 20번 포트 )
FTP 제어채널, 데이터채널
- 제어 채널 ( 21번 포트 )
- 두 호스트간 제어 정보, 즉 사용자 계정, 비밀번호, 디렉터리 변경 명령어 등의 제어 정보를 통신하는데 사용되는 채널
- 데이터 채널 ( 20 번 포트 )
- 실제 데이터를 주고 받는 채널
- FTP 모드에 따라서 동적으로 포트 번호가 변경될 수 있다.
FTP 모드 ( Active Mode, Passive Mode )
- Active Mode
- 일반적인 FTP 의 기본모드로 21번 포트를 제어 채널 20번 포트를 데이터 채널로 사용하는 모드이다.
- Active mode 의 문제점은 보통 TCP 연결은 클라이언트가 서버에 접속을 시도하는 반면 이 모드는 반대로 서버가 클라이언트에 접속을 시도하기에 방화벽등의 문제로 접속이 허용되어 있지 않다면 3번째 이후 작업이 진행되지 않아 데이터를 받지 못하는 에러가 발생한다.
- Passive Mode
- Active 모드와 다르게 20번 포트를 데이터 채널로 사용하는 것이 아닌 랜덤한 비 특권 포트 ( 1024~65535 ) 를 사용하는 모드이다.
- Active 모드의 문제점은 해결이 되지만 서버의 비 특권 포트를 전부 열어둬야 하는 보안상 문제점이 발생한다.
FTP 의 보안을 강화한 프로토콜
- FTPS
- FTP 프로토콜에 SSL/TLS 를 병행하여 구현한 프로토콜
- SFTP
- SSH 프로토콜 구조를 사용해 안전하게 파일전송을 해주는 프로토콜
- 용도는 FTP 와 같지만 사실 FTP 와 기술적인 연관성이 없는 완전 다른 프로토콜
원격 접속 관련 프로토콜
TELNET
- 사용자가 원격 장치와 통신할 수 있도록 하는 네트워크 프로토콜
- 23번 포트 사용
- 주로 네트워크 관리자가 원격으로 장치에 접속하고 장치를 관리하는데 사용하는 가상 터미널 프로토콜
- 사용자 이름과 암호를 포함한 모든 데이터를 평문으로 전송하는 보안상 문제점이 있어 요즘은 Telnet 을 거의 사용하지 않는 추세이다.
SSH ( Secure Shell )
- Telnet 의 문제점인 보안을 강화한 프로토콜
- 22번 포트 사용
- 기본적인 기능인 데이터 전송 , 원격 제어 기능은 Telnet 과 같다.
- Telnet 과 다르게 평문으로 데이터를 전송하지 않고 암호화된 데이터를 전송한다.
TELNET | SSH | |
포트 번호 | 23 번 포트 | 22 번 포트 |
데이터 전송 형식 | 모든 데이터를 평문으로 전송 | 데이터를 암호화해 전송 |
메일 전송 프로토콜
※ 메일 송/수신 개념
메일 송신 : 송신자 → 메일 서버 / 메일 서버A → 메일 서버B
메일 수신 : 메일 서버 → 수신자
SMTP ( Simple Mail Transfer Protocol )
- 메일 송신 프로토콜
- 25 번 포트 사용
- 두가지 경우에 사용되는 프로토콜
- 클라이언트가 작성한 메일을 서버로 전송할 때
- 인터넷을 통해 서버 간 메일을 전송할 때
POP3 ( Post Ofiice Protocol 3 )
- 메일 수신 프로토콜
- 110 번 포트 사용
- 메일 서버에 도착한 메일을 클라이언트로 가져오는 프로토콜
- 서버의 사서함에서 클라이언트로 메일을 직접 다운로드 하는 형식
- 다운로드와 동시에 서버 사서함에 있는 메일이 삭제된다.
IMAP ( Internet Message Access Protocol )
- 메일 수신 프로토콜
- 143 번 포트 사용
- 서버에 접속하여 직접 메일을 확인하는 방식 ( POP3 는 서버에서 다운로드 하는 방식 )
- 메일을 열람 후에도 서버에 메일이 그대로 남아있기에 여러 클라이언트를 통해서도 반복적으로 메일을 확인 할 수 있다.
SMTP | POP3 | IMAP |
메일 송신 | 메일 수신 | 메일 수신 |
25 번 포트 | 110 번 포트 | 143 번 포트 |
X | 메일서버에서 다운로드 다운로드 후 메일 삭제 |
메일서버에 접속해서 확인 확인해도 메일 삭제 X |
웹 관련 프로토콜
HTTP ( HyperText Transfer Protocol )
- 하이퍼텍스트를 교환하기 위한 프로토콜
- 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다.
- 80 번 포트를 사용한다.
- https 보다 속도가 빠르다 하지만 요즘은 많이 발전되며 육안으로는 확인하기 어려울 정도이다.
- 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜 이기에 보안상 문제를 일으킬 수 있음
HTTPS ( HyperText Transfer Protocol + SSL )
- HTTPS는 HTTP에 데이터 암호화가 추가된 프로토콜
- 443 번 포트 사용 ⇒ SSL 의 포트가 443번
- http 와 다르게 모든 데이터를 암호화해서 전송한다.
'보안 관제 관련 > 네트워크' 카테고리의 다른 글
프록시(Proxy)란?/프록시의 종류(Forward Proxy, Reverse Proxy) (0) | 2023.05.15 |
---|---|
Firewall(방화벽), IDS(침입 탐지 시스템), IPS (침입 방지 시스템),DDOS(분산 서비스 거부 공격) (2) | 2022.10.30 |
OSI 7 Layer 의 각 계층별 장비 (0) | 2022.10.22 |
TCP 의 연결 / 연결 해제 방식 ( 3-Way HandShaking , 4-Way HandShaking ) (0) | 2022.10.22 |
전송 계층 프로토콜 ( TCP , UDP ) 특징 및 헤더 정보 (0) | 2022.10.09 |