본문 바로가기
728x90

전체 글431

Pipelined protocols Performance of RDT 3.0 RDT 3.0이 정확하게 작동하는 것은 확인이 되었다. 그러나 그 성능은 비현실적으로 너무 안좋다. 그 원인은 'stop-and-wait' 알고리즘에 있다. 지금까지의 Transport 알고리즘은 전부 sender가 packet을 보내고 receiver에게 답이 올때까지 기다려야하고 receiver도 마찬가지이다. 이게 얼마나 비효율적인지 살펴보자. 예를들어 1Gbps link가 있고 15ms propagation delay가 디폴트로 있다고 할때 8000bit packet을 보내는 과정을 보면 transmission delay는 L/R 즉 8000/1,000,000,000=8microsecs이다. 이때 sender의 utilization 즉 망 이용율을 보면 0.. 2023. 10. 10.
Diode circuit Diode circuits analyze Diode를 이용한 circuit에 대해서 알아보자. 위의 회로를 분석해보자. 우선 forward bias와 reverse bias인 경우를 나눠서 분석해야한다. R1이 2k이고 R2가 1k이니 forward bias의 경우에는 Vout과 Vin가 Vout=(1/3)*Vin의 관계를 갖게된다. Reverse bias의 경우에는 전류가 ground로 흐를 수가 없는 상태가 되어 Vout과 Vin이 Vout=Vin의 관계를 갖게된다. 아래의 회로를 Vout, Vin에 대해서 분석해보자. ideal 한 케이스에서는 아래와 같이 해석할 수도 있다. 아래 회로는 어떤 논리회로의 성질을 띄는가? 다이오드가 전압에 따라 전류를 흘려보내던가 안보내던가 즉, switch의 역할을.. 2023. 10. 6.
Reliable data transfer design Principle of Reliable data transfer Reliable한 데이터 전송 method 분야는 application, transport, link layer에서 전부 주요한 내용으로 networking 분야에서는 언제나 top-10 list에 들어갈 정도로 중요한 내용이다. 이전에 다뤘듯 transport layer는 unreliable한 하위 network channel에서 전송된 데이터를 reliable한 데이터를 요구하는 application layer에게 정리해서 전달해주어야한다. 간단하게 함수를 정리한다면 아래와 같을 수 있겠다. 이제 FSM을 이용하여 step 별로 transfer protocol을 업그레이드 해볼 텐데 FSM은 Fine State Machine 즉, 유한 .. 2023. 10. 6.
Transport-layer services Transport services and protocols 대부분의 Application layer는 reliable한 연결을 요구하지만 network, data link, physical layer는 unreliable한 network service를 제공한다. 따라서 필요에 따라 Transport layer에서 unreliable한 데이터를 reliable하도록 관리를 해주는 역할을 해야한다. Internet Transport layer protocol로는 크게 reliable한 in-order delivery를 해주는 TCP와 unreliable하고 unordered delivery를 하는 UDP가 있다. Multiplexing/Demultiplexing Sender에서 여러 개의 입력 신호 또는 .. 2023. 10. 5.
MySQL Express upgrade Source Code 우선 코드가 다양한 파일 내에 구성되어있어서 git 주소를 첨부한다. https://github.com/leesanghoon421/Database/tree/main/week6 sql.js import mysql from 'mysql2'; require("dotenv").config(); const pool = mysql.createPool({ host: 'localhost', port: 3306, user: 'root', password: '0421sh0421sh!', database: 'week5', }); const promisePool = pool.promise(); // select query export const selectSql = { getBuilding: async .. 2023. 10. 5.
Univ. DB upgrade DB upgrade 아래의 table들을 기존의 DB에 추가해서 다시 design하고자 한다. EER diagram 우선 club의 경우 특별한 소속이 없이 인하대학교의 학생이라면 가입이 가능하다. 또한 club에는 여러 학생이 소속되어 있고 학생들도 여러 club에 가입할 수 있기 때문에 club과 student를 n:m의 관계로 정의해주었다. 또한 동아리방 즉, room은 없을 수도 있기 때문에 비식별관계로 정의 해주었고 room의 mandatory를 풀어주었다. 다음으로 room은 반드시 building에 포함이 되어있고 building하나에 여러 개의 room이 들어가 있을 수 있기 때문에 room : building = n:1의 식별관계로 정의해주었다. 다음으로 employee는 청소부, 경비원.. 2023. 10. 5.
DCC - 이미지 분류를 위한 딥러닝 모델 Intro Data Creator Camp의 미션 수행을 위한 공부 및 미션 수행 과정을 기록하고자 한다. 시작으로 이미지 분류를 위한 다양한 딥러닝 모델을 살펴보고자한다. AlexNet AlexNet은 2012년 ImageNet Large Scale Visual Recognition Challenge (ILSVRC)에서 우승하며 딥러닝과 CNN의 인기를 크게 높인 모델이다. 해당 모델을 소개하는 논문의 1저자의 이름이 Alex여서 이렇게 이름이 붙게 되었다. 크게 봤을 때 5개의 Convolution layer이후에 3개의 Fully-connected layer로 이루어진 구조이다. 2,4,5번째 convolution layer는 전단계의 같은 채널의 feature map들과만 연결되어 있는 반면 3번.. 2023. 10. 2.
컴퓨터 네트워크 문제(2) 2023. 10. 1.
P2P(2) Bit Torrent File 생성 A.Torrent는 비트토렌트 프로토콜을 사용하여 배포되는 파일의 메타데이터를 포함하는 파일이다. 아래와 같이 bit torrent file을 생성하고 받는데 이용된다. Client가 어떤 file을 받고 싶으면 tracker server에 요청을 하면 해당 file을 갖고있는 peer의 list를 전송해준다. 해당 list를 참고하여 peer들에게 file을 요청하여 download를 하는 것이다. 이때 모든 piece를 갖고 있는 peer를 seeder, 일부 piece를 갖고 있는 peer를 leecher라고 부른다. Torrent Algorithm File distribution time 아래의 상황에서 N개의 peer가 있다고 할때 client-server구조.. 2023. 9. 27.
EER EER EER은 Enhanced ER이거나 Extended ER의 줄임말이다. EER Model은 ER Model의 모든 modeling concept은 포함하고 추가적으로 subclasses/superclasses, specialization/generalization, categories(UNION types), attribute and relationship inheritance라는 concept이 추가된다. Subclasses/Superclasses Superclass (슈퍼클래스) 슈퍼클래스는 여러 서브클래스들이 공통으로 가지는 속성들을 포함하는 클래스이다. 예를 들면, "동물"이라는 슈퍼클래스는 "사자", "기린", "코끼리"와 같은 서브클래스들이 공통으로 가질 수 있는 "이름", "나이", .. 2023. 9. 26.
MySQL의 ER diagram 다양한 표기법 Peter Chen 표기법 ACM Transactions on Database Systems 논문에 1976년 기재된 논문이다. IE(Information Engineering)표기법 - 1981년, Clive Finkelstein과 James Martin이 공동 저술 - 80년대 중반에 James Martin에 의해 그 체계가 정리되면서 본격적으로 활용 관계의 다(n)를 나타내기 위해 까마귀 발을 사용하기 때문에 때때로 까마귀 발모델(Crow’s Foot Model)이라 부름 - IDEF1X (Integration DEFinition for Information Modeling) 표기법 - 바커(Barker) 표기법 등 약간씩 변형된 여러 가지 표기법이 있음 2023. 9. 26.
MySQL Express 연동 Express 연동 환경 세팅 ㅇrouter - 웹 애플리케이션에서 URL 경로에 따라 요청 (requests), 응답(responses)을 처리 - 웹 애플리케이션에서 여러 URL 경로에 대해 다른 동작을 정의하고자 할 때 router를 사용 - URL 경로와 그에 대응하는 처리 로직을 매핑 하며, 요청이 들어올 때 해당 경로에 대응하는 핸들러 함수를 실행 ㅇGET method - GET method는 서버에서 리소스(데이터)를 요청할 때 사용 - 정보를 조회, 요청한 리소스를 읽기 위해 사용함 - GET 요청은 URL에 데이터를 포함시켜 보내며, 이 데이터는 주로 쿼리 문자열(query string)의 형태로 전달 - 보안적으로 민감한 데이터를 전송하기에는 적합하지 않음 ㅇPOST method - P.. 2023. 9. 25.
728x90