728x90 Quality control (Univ. Study)196 TCP Overview TCP의 전체적인 특징에 대해서 살펴보면 아래와 같다. point-to-point: 하나의 송신자와 하나의 수신자가 있다. reliable, in-order byte steam: 메시지 경계가 없다. 이는 TCP가 데이터를 연속된 바이트 스트림으로 전송하며, 개별 메시지 구분 없이 데이터를 순서대로 전송한다는 것을 의미한다. pipelined: TCP의 혼잡 제어와 흐름 제어는 윈도우 크기를 설정한다. 이 윈도우 크기는 얼마나 많은 데이터를 한 번에 전송할 수 있는지를 결정하며, 네트워크의 혼잡 상태에 따라 동적으로 조절된다. full duplex data: 양방향 데이터 흐름이 동일한 연결에서 이루어진다. 즉, 송신자와 수신자가 동시에 데이터를 전송하고 받을 수 있습니다. MSS는 최대.. 2023. 10. 12. 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. 컴퓨터 네트워크 문제(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. 이전 1 ··· 10 11 12 13 14 15 16 ··· 22 다음 728x90