CS 45

CS_네트워크_유니캐스트, 멀티캐스트, 브로드캐스트

■  MAC (Media Access Control)네트워크 인터페이스 카드(NIC)에 할당된 고유 식별자로네트워크 상에서 장치를 식별하고 데이터 링크 게층에서 통신을 관리하는데 사용된다. 네트워크 상에서 서로를 구분하기 위해 디바이스마다 할당된 물리적 주소를 말한다.인터넷이 가능한 모든 장비(PC, 휴대폰)들이 가지고 있는 물리적인 주소이다. 각 장치는 고유한 MAC주소를 가지며,12자리 중 앞의 6자리는 제조업체를 식별하고,나머지 6자리는 각 장비에 고유하게 할당된다.  MAC주소는 SW대신 HW에 연결된 실제 주소로, 통신을 위해 MAC 주소를 알아야 한다. IP주소를 MAC 주소로 변환하려면 ARP(Address Resolution Protocol) 과정이 필요하다.   데이터 링크 계층에서,네..

CS 2024.06.03

CS)네트워크_TCP&UDP

ㅁ Port 어떤 프로세스가 있다. 이 프로세스가 실행되고, 이 프로세스가 다른 프로세스와 데이터를 주고 받고 싶다.그러러면 통로가 필요하다=> process와 연결된 data path 혹은 data channel  한 컴퓨터 시스템 내에서 여러 포트가 존재할 수 있다.=> port name을 부여해 식별한다.  포트를 통해 네트워크 통신을 한다. 프로세스 간에 통신을 할 때는 아래쪽 레이어를 사용해서 데이터 통신을 한다. 두 호스트 사이에서 데이터를 주고 받는 프로토콜이 Internet 프로토콜이다.다른 목적지 호스트로 보내는데 전송만 하면 된다. 하지만 인터넷 프로토콜은 데이터가 유실될 수도 있고 순서가 보장되지 않는다. 즉, 신뢰할 수 없다.  그러나 프로세스 간의 통신에는 데이터를 안정적으로 주고..

CS 2024.05.30

CS)네트워크_OSI 7계층

■ OSI 7계층   네트워크 통신의 표준을 제공하여,네트워크 장비와 소프트웨어가 상호 운용 가능하게 한다.  각 계층은 독립적으로 설계되며, 특정 계층에서 발생한 문제를 쉽게 파악하고 해결할 수 있게 한다. ㅁ 물리 계층 (Physical Layer) 네트워크 기기 간의 실제 물리적 연결과 비트 전송(비트 스트림)을 담당한다.  비트 전송 : 데이터를 0과 1의 비트로 변환해 물리적 매체를 통해 전송한다. 전송 매체 : 동축 케이블, 트위스티드 페어 케이블, 광섬유, 무선 주파수 등을 사용한다. 비트 전송 : 비트 단위로 데이터를 전송, 물리적 연결의 설치 및 유지보수를 담당한다.프로토콜 & 기기 : 허브, 리피터, 네트워크 어댑터, 모뎀, Ethernet, USB, Bluetooth 등 데이터 링크 ..

CS 2024.05.26

CS)네트워크_HTTP/HTTPS

ㅁ 네트워크 프로토콜네트워크 프로토콜은 네트워크에서 데이터 통신을 원활하게 하기 위해 정의된 규칙과 표준이다.이를 통해 데이터의 형식, 전송 방식, 오류 처리 등을 정의하여 다양한 기기들이 상호작용하고 통신할 수 있게 한다.  1. 데이터 패키징 및 형식화           데이터를 작은 패킷으로 나누고 이를 전송 가능한 형식으로 변환한다.2. 주소 지정 및 라우팅          데이터를 올바른 수신자에게 전달하기 위해 주소를 지정하고, 경로를 설정한다.3. 연결 설정 & 관리           통신 세션을 설정하고 관리, 데이터가 순서대로 전달되고, 오류 없이 전송되도록 한다. 4. 오류 검출 및 수정          데이터 전송 중 발생할 수 있는 오류를 검출하고 수정한다.5. 흐름 제어      ..

CS 2024.05.26

CS)네트워크_대역폭

■ 대역폭 (Bandwidth) □ 대역폭이란?네트워크가 일정 시간 동안 전송할 수 있는 데이터의 최대 용량대역폭이 높을 수록 더 많은 데이터를 전송할 수 있다. 주로 초당 비트 bps 단위로 측정된다.    □ 유/무선 인터넷에서 대역폭     - 유선 인터넷        일반적으로 Ethernet 케이블을 통해 연결되며, 흔히 100Mbps, 1Gbps, 10Gbps 등 표준으로 쓰인다.         예) 인터넷 회선 약정시 500M급, 100M급 인터넷이라 표현되는 것이 데이터 전송 대역폭이다.       - 무선 인터넷        Wi-Fi를 통해 연결된다.         흔히 사용되는 2.4G / 5G는 대역폭이 아니라 주파수다.    □ 처리량과 대역폭의 관계처리량은 실제로 네트워크를 통..

CS 2024.05.22

CS)네트워크_네트워크 기초

■ 네트워크란?  □ 네트워크란두 개 이상의 컴퓨터나 기기들이 데이터를 주고 받기 위해 연결된 시스템노드(node)와 링크(link)가 서로 연결되어 있으며, 리소스를 공유하는 집합이다. 인터넷은 가장 큰 규모의 네트워크다.  □ 좋은 네트워크란?      - 높은 처리량 : 네트워크를 통해 전송되는 데이터의 양이 많을수록 좋다.     - 낮은 지연시간 : 데이터가 출발지에서 목적지까지 도달하는 데 걸리는 시간이 짧을수록 좋다.     - 신뢰성 : 네트워크가 항상 안정적으로 동작하고, 데이터 전송 중에는 오류가 적어야한다.      - 보안성 : 데이터 전송 중에 외부로부터 공격이나 도청을 방지할 수 있어야 한다.   □ 처리량(Throughput)네트워크가 일정 시간 동안 전송할 수 있는 데이터의 ..

CS 2024.05.22

CS)Spring_11_스프링 MVC 패턴

서블릿(Servlet)이란?-> 웹 클라이언트에게 요청을 받고(브라우저), 그에 대한 응답을 생성하여 클라이언트에게 반환하는 역할클라이언트의 요청을 처리하도록 특정 규약에 맞춰 Java코드로 작성하는 클래스 파일이다.아파치 톰캣은 이러한 서블릿들이 웹 애플리케이션으로 실행될 수 있도록 해주는 서블릿 컨테이너 중 하나다. 스프링 MVC 내부에는 서블릿을 기반으로 웹 애플리케이션이 동작하며, 스프링 부트는 기본적으로 아파치 톰캣이 내장되어 있다.  □ MVC 패턴이란? 애플리케이션을 개발할 때 사용하는 패턴 개발 영역을 Model, View, Controller로 구분하여각 역할에 맞게 코드를 작성하는 개발방식  ∴ UI 영역과 도메인(비즈니스 로직) 영역을 분리하여           서로 영향 주지 않으면..

CS 2024.05.20

CS)Spring_10_빈 라이프 사이클

스프링의 컨테이너는 bean의 생명주기 관리와 의존성 주입을 담당하여, 개발자가 로직에 집중할 수 있도록 해준다.(객체의 소멸과 생성을 프레임워크가 대신 처리한다. )   □ 콜백이란?주로 콜백함수를 부를 때 사용하는 용어다.콜백함수를 등록하면 특정 이벤트가 발생했을 때 해당 메서드가 호출된다.  콜백 함수는   DB연결, 네트워크 소켓 연결과 같이 시작 시점에 미리 연결한 뒤   종료 시점에 연결을 종료해 객체의 초기화 & 종료 작업이 필요한커텍션풀의 connection/disconnect 같은 작업에 사용된다.  □ 빈 생명주기 콜백의 필요성스프링 빈도 위와 같이 초기화/종료 작업을 나눠서 진행한다.즉, 객체 생성 --> 의존성 주입 라이프 사이클을 가진다.     (데이터를 사용하기 위해서는 의존관..

CS 2024.04.25

S)Spring_10_스프링 컴포넌트 스캔 Component Scan & DI 자동 주입

■ 스프링 컨테이너란? 스프링에서 자바 객체는 Bean이라고 한다. 스프링 컨테이너는 bean의 생명 주기를 관리(생성, 관리, 제거 등)하며, 생성된 bean에 추가적인 기능을 제공한다. ■ 컴포넌트 스캔(Component Scan) Bean으로 등록될 준비가 된 클래스들을 스캔하여 Bean으로 등록해주는 과정을 말한다. 애플리케이션이 시작될 때 자동으로 수행된다. □ 스캔 대상 @Component 어노테이션이 붙어있는 클래스들은 전부 컴포넌트 스캔의 대상이 된다. @Component 컴포넌트 스캔에서 사용 @Configuration 스프링 설정 정보에서 사용 @Service 컴포넌트 스캔, 스프링 비즈니스 로직에서 사용 @Repository 스프링 데이터 접근 계층에서 사용 @Controller 컴포..

CS 2024.04.15

S)Spring_09_스프링 컨테이너

스프링 컨테이너란? 스프링에서 자바 객체는 Bean이라고 한다. 스프링 컨테이너는 bean의 생명 주기를 관리(생성, 관리, 제거 등)하며, 생성된 bean에 추가적인 기능을 제공한다. 더보기 객체(Object): 객체는 일반적으로 소프트웨어에서 사용되는 모든 것을 말한다. 클래스의 인스턴스가 되어 메모리에 할당된 것을 의미한다. 자바에서는 클래스를 기반으로 객체를 생성하고, 이들은 메서드를 호출하거나 변수에 접근할 수 있다. 빈(Bean): 스프링에서의 빈은 스프링 컨테이너에 의해 생성, 관리 및 제어되는 객체를 의미한다. 빈은 스프링의 IoC 컨테이너에 등록되어야 하며, 스프링 컨테이너가 애플리케이션의 제어를 가져갈 수 있도록 한다. 빈으로 등록된 객체는 스프링의 라이프사이클에 따라 생성되고 소멸되며..

CS 2024.04.10