응용계층 Flashcards
QUIC
[정의] UDP 기반 다중화, 혼잡 제어 및 신뢰성 있는 전송을 통해 다양한 응용 계층을 위한 유연한 기능을 제공하는 데이터 전송 프로토콜
[특징]
- HOL(Head of line) 블로킹 문제 해결, 멀티 플렉싱 스트리밍 지원, 보안성 강화
[프로토콜 구조]
- HTTP/3, QUIC(TLS1.3), UDP, IP
[기술요소]
- 연결 설정 : QUIC Handshake (0-RTT, 1-RTT)
- 혼잡 제어 : TCP Cublic 적용
- 보안 : 패킷 암호화
- 오류제어 : 전진 오류제어(FEC)
AMQP
[정의] 이기종 시스템간에 효율적으로 메시지를 교환하기 위한 ISO 응용계층의 MOM(Message Oriented Message) 표준 프로토콜
[특징] 비동기, 탄력성, 확장성
[구성요소]
- Exchange : 분배, 바인딩
- Queue : 저장 및 전달
- Binding : 라우팅 테이블
- Routing Key : 인식(일종의 가상주소)
- Stand Exchange Type - 라우팅 알고리즘
[Exchange 유형]
- Direct Exchange : 라우팅 키를 큐에 1:N로 매칭
- Topic Exchange : 와이드 카드 사용 큐에 매칭
- Fanout Exchange : 모든 메시지를 모든 큐로 라우팅
- Header Exchange : 정의된 헤더에 의해 라우팅 결정
* AMQP프로토콜을 이용한 RabbitMQ pub-sub 메시지 큐잉을 구성
DNS
[정의] 네트워크 호스트 이름과 IP주소를 맵핑하여 상호 변환 및 정보를 제공하는 도메인 이름 관리 시스템
[구성요소]
- System(도네조리) : Domain Name Space(트리 구조의 네임스페이스, 이름 관련 규칙 정의), Name Server(도메인 트리구조, 정보 관리), Zone File, Resolver(Name Server로 부터 요청 정보 취득), CNAME(자원에 대한 접근 단순화), TTL(유효 시간)
- 도메인 질의 유형(Record Type) : CNAME(호스트 이름의 별명), NS(Name Server), SOA(Start of Authority), WKS(Well-known Service), PTR(Domain Name Pointer), A(Address, IP 주소)
- 리소스 레코드 : Name(도메인 이름), Type(자원종류, 16bit), Class(프로토콜 패밀리)
[절차] Client → Local DNS → Root DNS(.kr) → kr DNS(.or.kr) → or DNS(kisa.or.kr) → kisa DNS(www.kisa.or.kr) IP정보를 Local DNS에 전달 → 캐시 저장 후 Client 전달
[공격기법]
- DNS 캐시 포이즈닝 : DNSSec운영, SIEM, FDS
- 권한 탈취 : ACL, Secure OS
- DDoS 공격거점 : 신뢰 Host 설정, Blackhole 옵션
SSL
[정의] 응용 계층과 TCP 계층 사이에 Layer로 구성된 웹 데이터 암호화 및 전송 보안 프로토콜
[특징]
- 공개키 기반 인증 (RSA, X.509 v3인증서 사용)
- 3가지 인증 모드 : 익명(An), 서버(SA), 클라이언트-서버(MA)
- https, 443 지정 포트
- 보안 서비스 제공
[프로토콜 구성요소]
- 제어 프로토콜 : 서버가 인증기능 수행, 암호 메커니즘 협상 (Change Cipher Spec, 핸드쉐이크, Alert)
- 레코드 프로토콜 : 데이터 암호화 및 무결성을 위한 메시지 인증 수행
[ssl handshake protocol 과정] 13단계