[네트워크 이론] 네트워크 계층 - 라우팅(Routing)
네트워크/네트워크 이론2025. 4. 17. 20:38[네트워크 이론] 네트워크 계층 - 라우팅(Routing)

이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.라우터의 핵심 기능은 패킷이 이동할 최적의 경로를 설정한 뒤 해당 경로로 패킷을 이동시키는 것이다.이를 라우팅이라고 한다.라우팅 테이블이 만들어지는 방법과 프로토콜에 따라 라우팅을 분류하면 아래 그림과 같이 표현할 수 있다. 라우터와 라우팅 테이블라우터네트워크 계층의 장비로 라우터만 알아도 큰 무리가 없을 정도로, 라우터는 네트워크 계층의 핵심 기능을 담당한다.사실 L3 스위치라고 부르는 장치도 네트워크 계층의 대표 장치이기는 하지만, 오늘날 라우터와 L3 스위치는 기능상 상당 부분 유사하므로 엄밀히 구분하지 않는 경우가 많다.라우터는 허브나 스위치보다 높은 계층에 속하는 장치이므로 기능적으로는 사실상..

[네트워크 이론] 네트워크 계층 - IP 주소 체계
네트워크/네트워크 이론2025. 4. 17. 18:54[네트워크 이론] 네트워크 계층 - IP 주소 체계

이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.네트워크 주소와 호스트 주소하나의 IP 주소는 크게 네트워크 주소와 호스트 주소로 나뉜다.아이피는 32비트로 구성되어있고, 아래 그림은 네트워크 주소가 16비트, 호스트 주소가 16비트인 IP 주소의 예시이다.네트워크 주소 : 호스트가 속한 특정 네트워크를 식별하는 역할호스트 주소 : 네트워크 내에서 특정 호스트를 식별하는 역할 만약 네트워크 주소가 다음 그림과 같이 하나의 옥텟으로 이루어져 있다면, 한 네트워크당 호스트 주소 할당에 24비트를 사용할 수 있어서 상대적으로 많은 호스트에 IP 주소를 할당할 수 있을 것이다. 또 만약 네트워크 주소가 다음과 같이 세 개의 옥텟으로 이루어져 있다면, 네트워..

[Spring 핵심원리 - 고급] @Aspect AOP
Back-End/Spring2025. 4. 17. 15:21[Spring 핵심원리 - 고급] @Aspect AOP

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.@Aspect - 코드스프링은 @Aspect 애노테이션으로 매우 편리하게 포인트컷과 어드바이스로 구성되어 있는 어드바이저 생성 기능을 지원한다.import proxy.proxy.trace.TraceStatus;import proxy.proxy.trace.logtrace.LogTrace;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotation.Aspect;@Slf4j@Aspectpublic class..

[Spring 핵심원리 - 고급] 빈 후처리기(BeanPostProcessor)
Back-End/Spring2025. 4. 16. 15:35[Spring 핵심원리 - 고급] 빈 후처리기(BeanPostProcessor)

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.빈 후처리기스프링이 빈 저장소에 등록할 목적으로 생성한 객체를 빈 저장소에 등록하기 직전에 조작하고 싶다면 빈 후처리기를 사용하면 된다.빈 포스트 프로세서(BeanPostProcessor)는 번역하면 빈 후처리기인데, 이름 그대로 빈을 생성한 후에 무언가를 처리하는 용도로 사용한다.객체를 조작할 수도 있고, 완전히 다른 객체로 바꿔치기 하는 것도 가능하다. 빈 후처리기 과정생성: 스프링 빈 대상이 되는 객체를 생성한다. (@Bean, 컴포넌트 스캔 모두 포함)전달: 생성된 객체를 빈 저장소에 등록하기 직전에 빈 후처리기에 전달한다.후 처리 작업: 빈 후처리기는 전달된 스프링 빈 객체를 조작하거나 다른 객체로 바꿔..

[네트워크 이론] 네트워크 계층 - IP 및 ARP 개념
네트워크/네트워크 이론2025. 4. 16. 00:49[네트워크 이론] 네트워크 계층 - IP 및 ARP 개념

이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.LAN을 넘어서는 네트워크 계층데이터 링크 계층의 한계물리 계층과 데이터 링크 계층만으로 LAN을 넘어서 다른 도시나 다른 국가에 있는 친구와 통신할 수 있을까? 언뜻 들으면 가능할 것 같지만, 데이터 링크 계층에는 송수신지를 특정할 수 있는 잘 보인 MAC 주소라는 개념이 있으니까, 이 정보를 바탕으로 다른 도시, 다른 국가에 있는 수신지로 전송하면 될 것 같다.그러나 결론부터 말하자면 물리 계층과 데이터 링크 계층만으로는 LAN을 넘어서 통신하기 어렵다. 대표적으로 두 가지 이유가 있다. 이 이유는 이번 장에서 학습할 네트워크 계층의 핵심 기능과도 직결된다. 첫째, 물리 계층과 데이터 링크 계층만으..

[네트워크 이론] 물리 계층 및 데이터링크 계층
네트워크/네트워크 이론2025. 4. 16. 00:09[네트워크 이론] 물리 계층 및 데이터링크 계층

이글은 혼자 공부하는 네트워크(저자 : 강민철)의 책과 강의 내용을 개인적으로 정리하는 글임을 알립니다.이더넷(Ethernet)물리 계층과 데이터 링크 계층은 서로 밀접하게 연관되어 있다. 오늘날의 두 계층은 이더넷이라는 공통된 기술이 사용되기 때문이다.이더넷(Ethernet)은 현대 LAN, 특히 유선 LAN 환경에서 가장 대중적으로 사용되는 기술이다.예를 들어 두 대의 컴퓨터가 있다고 가정해보자. 이 컴퓨터끼리 정보를 주고받으려면 가장 먼저 케이블과 같은 통신 매체가 필요하다.그리고 그 통신 매체를 통해 정보를 송수신하는 방법이 정해져 있어야 한다.이더넷은 다양한 통신 매체의 규격들과 송수신되는 프레임의 형태, 프레임을 주고받는 방법 등이 정의된 네트워크 기술이다. 이더넷 표준오늘날 유선 LAN 환경..

[Spring 핵심원리 - 고급] 프록시 팩토리(Proxy Factory)
Back-End/Spring2025. 4. 15. 16:22[Spring 핵심원리 - 고급] 프록시 팩토리(Proxy Factory)

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.프록시 팩토리인터페이스가 있는 경우에는 JDK 동적 프록시를 적용하고, 그렇지 않은 경우에는 CGLIB를 적용하려면 어떻게 해야할까?-> 프록시 팩토리를 사용하면 된다. 프록시 팩토리는 인터페이스가 있으면 JDK 동적 프록시를 사용하고, 구체 클래스만 있다면 CGLIB를 사용한다.그리고 이 설정을 변경할 수도 있다. 두 기술을 함께 사용할 때 부가 기능을 적용하기 위해 JDK 동적 프록시가 제공하는 InvocationHandler와 CGLIB가 제공하는 MethodInterceptor를 각각 중복으로 따로 만들어야 할까?스프링은 이 문제를 해결하기 위해 부가 기능을 적용할 때 Advice라는 새로운 개념을 도입했..

[Spring 핵심원리 - 고급] 동적 프록시(Dynamic Proxy)
Back-End/Spring2025. 4. 15. 13:53[Spring 핵심원리 - 고급] 동적 프록시(Dynamic Proxy)

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.리플렉션JDK 동적 프록시를 이해하기 위해서는 먼저 자바의 리플렉션 기술을 이해해야 한다.리플렉션 기술을 사용하면 클래스나 메서드의 메타정보를 동적으로 획득하고, 코드도 동적으로 호출할 수 있다.import lombok.extern.slf4j.Slf4j;import org.junit.jupiter.api.Test;import java.lang.reflect.Method;@Slf4jpublic class ReflectionTest { @Slf4j static class Hello { public String callA() { log.info("callA"); ..

image