본문 바로가기

CS39

12. TCP/IP [응용 계층] TCP/IP [응용 계층] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 응용 계층 (Application) 데이터를 송수신 할 때에 메세지 역할을 한다 즉 실제 유저들이 서비스를 사용할 수 있게 해주는 층이다 FTP (File Transfer Protocol) 노드와 노드간에 파일을 전송할 때에 사용되는 프로토콜이다 최근에는 파일을 암호화하여 전송을 한다 HTTP (HyperText Transfer Protocol) 서버와 브라우저 간의 또는 서버와 서버 간에 데이터를 주고 받을 때 사용되는 프로토콜이다 header 확장이 가능하고, stateless하다 HTTP Header : 클라이언트와 서버가 요청 또는 응답으로 부가적인 정보를 전송할 수 있도록 해주는 기능 메세지 바디 내용, 메세지 바디.. 2023. 2. 24.
11. TCP/IP [MTU, MSS, PMTUD] TCP/IP [MTU, MSS, PMTUD] 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) MTU Maximum Transmission Unit 데이터를 송수신 할 때에, 패킷으로 쪼개진다 그리고 쪼개질 때에는 MTU 기반으로 쪼개진다 MTU 기반으로 쪼개진다는 것은, 패킷이 쪼개질 때에, 쪼개질 수 있는 최대의 크기를 뜻한다 즉 패킷이 MTU 보다 더 크면, 중간에 패킷이 더 쪼개지거나, 에러가 발생할 수 있다 위와 같이 라우터 1에서 한번 더 쪼개서 라우터 2를 통해서 송신을 할 수 있다 또는 아예 송신할 때에 1000, 500, 500으로 나누어서 송신할 수 있다 MSS Maximum Segment Size MTU 는 IP헤더와 TCP헤더 크기까지 다 합쳐서 1500바이트까지 제한을 둔다 반.. 2023. 2. 23.
10. TCP/IP TCP/IP 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) TCP/IP 란? Transmission Control Protocol / Internet Protocol 데이터를 주고 받을 때에 사용되는 프로토콜이다 데이터를 송수신할 때에, 각 계층마다 역할을 부여하며, 데이터가 전달 된다 주소를 담당하는 역할 목적지까지 에러 없이 보내는 역할 등 OSI 7 계층과 다른 점은, OSI 7 계층은 각 계층을 더 세분화 했다 TCP / IP 계층의 응용 계층은, OSI 7 계층에서 Application, Presentation, Session 계층으로 나누어졌다 TCP / IP 계층의 전송 계층과, 네트워크 계층은 OSI 7 계층과 동일하다 TCP / IP 계층의 네트워크 계층은, OSI 7 계층에서는 .. 2023. 2. 23.
9. 네트워크의 기초 [LAN, MAN, WAN] 네트워크의 기초 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 네트워크 분류 [LAN, MAN, WAN] LAN (Local Area Network) 비교적 짧은 거리에 연결되어 있는 노드와 링크들의 집합이다 사무실 내, 빌딩 내, 캠퍼스 내 네트워크가 될 수 있다 MAN과 WAN보다, 즉 소규모 네트워크고, 근거리 통신망이라서 높은 안정성과 속도를 가지고 있다 하나의 IP 주소를 가지고 여러 MAC 주소를 구별하는 네트워크다 MAC은 기기에게 주어진 변하지 않는 물리적 주소다 IP 주소는 논리적 주소로, 변경이 가능하다 즉 하나의 IP 주소가 MAC 주소를 통해 여러 기기들을 구별할 수 있다 MAN (Metropolitan Area Network) 대도시 규모 (서울)의 노드와 링크들의 집합이다.. 2023. 2. 23.
8. 네트워크의 기초 [네트워크 토폴로지] 네트워크의 기초 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 네트워크 토폴로지 네트워크 토폴로지는, 네트워크의 설계를 말하는 것이다 즉 노드와 링크가 어떤 식으로 연결이 되어 있는지를 알려준다 버스 토폴로지 특징 하나의 회선 통해서 여러 노드들이 연결이 되어 있다 노드를 추가 또는 삭제하기 쉽다 장점 노드를 추가 또는 삭제하기 쉽다 회선에 연결되어 있는 노드를 그냥 설치하거나, 빼면 된다 비용이 적다 하나의 노드에 에러가 생겨도, 다른 노드에 영향을 미치지 않는다 단점 하나의 회선을 사용하기 때문에, 회선에 문제가 생길 경우, 모든 노드에 문제가 발생한다 트래픽이 매우 한정되어 있다 모든 노드들이 하나의 회선을 사용한다. 즉 제한된 대역폭에서 노드끼리 데이터를 서로 주고 받는다. 대한민국 국민이.. 2023. 2. 22.
7. 네트워크의 기초 [네트워크, 처리량, 트래픽, 대역폭, RTT] 네트워크의 기초 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 네트워크, 처리량, 트래픽, 대역폭, RTT 네트워크 노드와 링크의 집합 노드는 서버, 라우터, 스위치, 기기가 될 수 있다 링크는 노드와 노드를 이어주는 선, 즉 무선, 또는 유선이 될 수 있다 무선 : 와이파이 트래픽 (Traffic) 노드들 사이에서 일정 시간 내에 흐르는 데이터의 양 단위로는 bps(bits per second)를 사용한다 트래픽이 많다는 것은, 서비스 이용자 수가 많아서, 전송하는 데이터의 양이 많다는 것이다 10KB 이미지를 10명이 다운로드 받을 때에 누적 트래픽은 100KB가 된다 (10KB * 10) 처리량 (Throughput) 흐르는 데이터 중, 데이터를 얼만큼 처리를 했는지 알려준다 단위로는 bps.. 2023. 2. 22.
6. 프로그래밍 패러다임 프로그래밍 패러다임 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 프로그래밍 패러다임이란? 프로그래밍 언어의 특징에 따라 분류를 하는 것이 프로그래밍 패러다임이다 명령형 프로그래밍 : 어떻게 (How) 할 것 인지를 설명하는 방식 선언형 프로그래밍 : 무엇을 할 것 인지를 설명하는 방식 선언형 / 함수형 프로그래밍 순수 함수로 이루어진 프로그램이다 // 그냥 코드를 사용하여 결과값을 출력할 수 있다 for(int i = 1 ; i < 10; i++){ System.out.println(i); } // 선언형은, 위와 같은 코드를 함수화 시키고 // 아래와 같이 함수를 선언해서, 결과값을 추출해 낸다 process(10, print(num)); 함수형 프로그래밍을 사용하게 되면, 함수 안에 들어오는.. 2023. 2. 21.
5. 디자인 패턴 (MVC, MVP MVVM 패턴) 4. 디자인 패턴 (MVC, MVP MVVM 패턴) 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) MVC 패턴 Model, View, Controller Model 어플리케이션의 정보, 데이터를 나타낸다 어플리케이션이 무엇을 할 것인지 정의한다 데이터, DB와 상호작용 (CRUD), 알고리즘 등 View 텍스트, 체크박스 등, 데이터를 유저들이 볼 수 있도록 시각화 하는 것이다 (UI) 모델이나 컨트롤러가 보여주려고 하는 모든 것들을 보여 준다 데이터가 존재해도, 유저가 읽을 수 없거나, 볼 수 없으면 무의미하 Controller 데이터와 비즈니스 로직 사이의 상호 동작 관리한다 이벤트, 매인 로직을 담당한다 사용자의 요청에 따라, 모델을 변경할 수 있다 컨트롤러와 관련된 뷰가 있으면, 모델이 어.. 2023. 2. 19.
4. 디자인 패턴 (프록시 패턴) 4. 디자인 패턴 (프록시 패턴) 출처 : 면접을 위한 CS전공지식 노트(책 / 강의) 프록시 패턴 Proxy : 대변인 클라이언트가 서버에 요청을 하면, 서버 대신, 프록시가 응답을 해준다 즉 클라이언트는 프록시를 통해 서버를 간접적으로 사용하는 것이다 - 프록시 서버 프록시의 기능 클라이언트로부터 요청이 들어오면, 프록시는 실제 서비스 객체를 생성하고, 모든 작업을 생성한 객체들에게 위임한다 보안, 데이터 검증, 캐싱, 로깅 (기록) 보안 클라이언트, 즉 사용자들이 직접적으로 서비스를 사용하는 것이 아닌, 간접적으로 사용하는 것이다 즉, 익명 사용자들이 직접적으로 서비스를 사용하지 못 하게 하여, 실제 서버를 공격하는 것을 차단할 수 있다 CloudFlare은 프록시 서버를 통해 DDOS 공격을 방어.. 2023. 2. 17.