Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

이열매의 메모장

기본 네트워크 용어 정리 본문

네트워크

기본 네트워크 용어 정리

이열매 2019. 12. 29. 14:28

용어 정리


LDAP

  • Lightweight Directory Access protocol

  • 인터넷 기반 분산 디렉토리 서비스 프로토콜

  • 표준 디렉토리 구조 X.500 을 사용하는 DAP을 단순/경량화한 프로토콜

  • 구조

    • 트리 구조의 형태로 데이터 처리

    • 이름을 기준으로 대상 조회 및 편집

    • 각각의 엔트리(노드)로부터 위로 올라가 고유값(DN)을 가짐

ACL

  • Access Control List

  • 일반적으로 파일과 디렉토리에 대한 소유자와 권한 설정에 대한 목록

  • Network ACL의 기능

    • 라우터와 네트워크 자원, 방화벽에 대한 접근 설정

    • 통신 과정에서의 전송 허용 및 거부 조건 목록

    • 거부 조건 조합 사항

      • 소스 IP 주소

      • 목적지 IP 주소

      • 소스 포트 번호

      • 목적지 포트 번호

NAT

  • Network Address Translation

  • 외부망에서 사설망 내부로 접근이 불가하도록 보안 강화

  • 하나의 공인 IP(ipv4)를 여러 개의 사설 IP로 변환하는 시스템

VPN

  • Virtual Private Network

  • 공중망을 사용하여 둘 이상의 네트워크를 연결

  • 가상의 터널을 통해 인증 및 데이터 암호화

 

REST API

  • REST 기반의 API

  • Representational State Transfer

    • 클라이언트가 HTTP URI에 조작할 자원의 상태를 명시하여 서버에 조작을 요청

    • HTTP Method (POST, GET, PUT, DELETE)를 통해 자원에 대한 CRUD Operation을 적용

    • 서버는 json, xml, text, rss 등 여러 형태로 representation함

  • 배경

    • 서버에서 다양한 클라이언트/멀티 플랫폼 지원을 위한 통신 필요

    • 어플리케이션의 분리 및 통합 요구

  • 장점

    • 언어나 기술 종속성 x

      • 확장성 및 재사용성이 높아 유지 보수에 유리

      • 별도의 인프라 구축없이 HTTP 프로토콜을 따르는 모든 플랫폼에서 사용 가능

    • 서버와 클라이언트의 역할 분리

      • 서버-클라이언트 구조

      • 서버

        • API 제공

        • 비즈니스 로직 처리

        • 자원 저장

      • 클라이언트

        • 사용자 인증

        • 세션, 로그인 정보(context) 관리 및 책임

  • 특징

    • 캐시 사용

    • Stateless

      • HTTP 프로토콜과 동일하게 클라이언트가 서버에 context를 저장 x

    • 계층화 (Layered System)

      • REST Server 는 다중 계층으로 구성이 가능

RPC

  • Remote Procedure Call

  • 분산 네트워크 환경에서 원격 서버의 코드를 실행

  • 이를 통한 코드를 용도에 따라 분류 및 독립화 가능

  • Apache Thrift

    • 다양한 언어를 지원하는 아파치의 RPC 프레임워크

    • Cross language available한 특성으로 비즈니스 로직에 집중 가능

CI/CD 워크플로우

  • 애자일 방식을 따르기 위한 지속적인 자동화와 모니터링

  • CI

    • Continuous Integration

    • 변경 사항이 테스트를 거쳐 자동으로 업로드되는 것

  • CD

    • Continuous Deployment

    • 변경 사항이 개발 레포에서 프로덕션 환경까지 자동으로 릴리즈되는 것

cURL

  • 다양한 통신 프로토콜을 사용해 데이터 전송 지원 라이브러리

  • REST API 테스트에서 주로 사용

  • 주 사용 옵션

    • -H : http Header / 헤더값 설정

    • -X : 사용할 메소드 설정

    • -d : data / 전달할 값 설정

 

직렬화(Serialization)

  • 자바 시스템 내부(JVM)에 상주한 객체 또는 데이터를 바이트 형태로 변환

  • 역직렬화는 이를 다시 객체로 변환하는 기술

  • 특징

    • API 사용 등 자바 시스템 간의 데이터 교환 가능케 함

    • JVM의 메모리에 상주하는 객체의 데이터 영속화할 필요가 있을 경우 사용

      • 세션 클러스터링 등 세션 저장 시, WAS의 세션 객체 저장 시

      • 캐시 라이브러리(Ehcache, Memcached, Redis) 사용 시

    • 자바 RMI(Remote Method Invocation) 사용 시 필요

      • IP와 포트를 사용한 소켓 통신을 추상화하여 원격 메소드를 로컬 메소드처럼 호출

      • 원격 메소드 호출 시 전달하는 객체를 직렬화하여 호출

      • 원격 시스템에서는 해당 메세지를 역직렬화하여 사용

 

동기/비동기

  • 동기 (Synchronous)

    • 순차적 실행

    • 요청에 따른 결과가 올 때까지 대기

    • 요청한 노드와 요청 받은 노드의 작업 단위가 맞춰짐

  • 비동기 (Asynchronous)

    • 동시 실행

    • 요청 노드는 요청을 날린 후, 대기 없이 바로 사용 가능 (non-blocked)

    • 노드 간 작업 처리가 비일치하지만 효율성에 유리

Proxy

  • 포워드 프록시와 리버스 프록시가 존재
  • 이 때, 클라이언트에서 프록시 서버로 접근에 요청할 경우 리버스 프록시, 반대의 경우를 포워드 프록시라고 한다

XFF

  • X-Forwarded-For
  • HTTP Header 종류의 하나
  • 프록시나 로드밸런서 사용 시, Client IP와 Proxy IP 정보를 다음과 같은 형식(콤마 , 로 구분)으로 모두 저장
    • X-Forwarded-For: client, proxy1, proxy2
  • 프록시를 통하면 실제 브라우저 등 사용 서버 로그에 프록시 서버에 대한 정보가 남게 되는데 이 때, XFF 헤더 사용 시, 요청자(Client)의 IP를 식별 가능

 


 

Comments