라벨이 HTTP인 게시물 표시

EIGRP에 대한 이해: 초보 개발자를 위한 가이드

이미지
EIGRP에 대한 이해: 초보 개발자를 위한 가이드 개요 EIGRP(Enhanced Interior Gateway Routing Protocol)는 시스코에서 개발한 고급 거리 벡터 라우팅 프로토콜입니다. 이 프로토콜은 기존의 거리 벡터 라우팅 프로토콜과 링크 상태 라우팅 프로토콜의 장점을 결합한 하이브리드 형태를 띠고 있습니다. 그렇기 때문에 EIGRP는 다음과 같은 기능적 특징을 가지고 있습니다: 장점 Advanced Distance Vector : 거리 벡터 라우팅의 고급 버전 Fast Convergence : 빠른 수렴 VLSM & CIDR 지원 : 가변 길이 서브넷 마스킹과 클래스 없는 도메인 간 라우팅 지원 다중 네트워크 계층 프로토콜 지원 : IP, IPX, AppleTalk 등 멀티캐스트 및 유니캐스트를 이용한 업데이트 100% 루프 프리 클래스리스 라우팅 동등 및 불균등 부하 분산 지원 단점 시스코 라우터에서만 사용 가능 대규모 네트워크 관리 어려움 네트워크 장애 시 문제 해결 어려움 관련 용어 Neighbor Table : 이웃 테이블, 인접 라우터 목록 관리 Topology Table : 토폴로지 테이블, 다른 EIGRP 이웃 라우터로부터 학습한 모든 경로 관리 Routing Table : 라우팅 테이블, 최상의 경로를 선택하여 저장 Successor & Feasible Successor : 최적 경로상의 이웃과 백업 경로상의 이웃 네트워크 정보 수집 및 경로 생성 과정 EIGRP에서 네트워크 정보를 수집하고 최적의 목적지 경로를 만드는 과정은 다음과 같습니다: EIGRP 이웃 테이블 생성 및 IP 라우팅 테이블 교환 라우팅 테이블 정보 EIGRP 토폴로지 테이블에 저장 최상의 경로 및 다른 적합한 경로 파악 토폴로지 테이블에서 최상의 경로를 라우팅 테이블에 저장 EIGRP 컴포지트 벡터 메트릭 EIGRP는 여러 벡터 메트릭을 결합하여 경로를 계산합니다. 아래는 show ip eigrp topology 명령어를 사용한 예시와

서버 전송 이벤트(Server-Sent Events, SSE) 및 웹소켓

이미지
서버 전송 이벤트(Server-Sent Events, SSE) 및 웹소켓 1. 서버 전송 이벤트(SSE)란? 정의 : SSE는 클라이언트와 서버 간에 한 방향 통신을 제공하는 웹 표준입니다. 기능 : 서버가 클라이언트에게 새로운 데이터가 있을 때마다 푸시할 수 있습니다. 2. 웹소켓이란? 정의 : 웹소켓은 클라이언트와 서버 간의 양방향 통신을 제공합니다. 적용 : 실시간 상호작용이 필요한 애플리케이션에 적합합니다. 3. Spring Boot에서 SSE 구현 Spring WebFlux 사용 : 비동기 처리와 백프레셔 관리에 유용합니다. Spring MVC 사용 : SseEmitter 를 사용하여 SSE 구현 가능합니다. 4. WebFlux 구현 예시 Notification.java : public class Notification { private final int id; private final String content; public Notification(int id, String content) { this.id = id; this.content = content; } // getters ... } SseController.java : import org.springframework.http.codec.ServerSentEvent; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Flux; import java.time.Duration; import java.util.stream.Stream; @RestController public class SseController { private List<Notifica

WebClient 사용 예제 코드

HTTP 통신을 하기 위한 라이브러리 입니다. 리액티브 타입의 송/수신을 하여 Non-Blocking 통신을 지원합니다. 필요할 때 편하게 보기 위해 예제 위주로 기록 합니다. WebClinet 기본 설정 적용하여 Bean 으로 등록하는 방법 @Configuration public class WebClientConfig { @Bean public WebClient.Builder webClientBuilder () { return WebClient.builder() .baseUrl( "https://sample.io" ) .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE); } } GET 요청을 보내는 예시 WebClient webClient = WebClient.create( "https://sample.io" ); Mono<String> result = webClient.get() .uri( "/info" ) .retrieve() .bodyToMono(String.class); result.subscribe(System.out::println); POST 요청을 보내는 예시 WebClient webClient = WebClient.create( "https://sample.io" ); Mono<String> result = webClient.post() .uri( "/info" ) ...