본문 바로가기

분류 전체보기486

컴퓨터 네트워크: Congestion Control TCP: Transmission Control Protocol 9. Congestion Control Congestion 링크가 보낼 수 있는 Maximum 값이 100Mbps인 상황에서 TCP connection 1, 2에서 각각 100Mbps, 총 200Mbps가 들어오면 Congestion 발생 Packet delay and network load Delay 데이터 처리 속도가 얼마나 지연되는지 Load 데이터가 얼마나 들어가는지 input의 합이 100Mbps에 가깝게 되면 delay갑자기 증가 Throughput versus network load Throughput (=receiving rate) 데이터를 얼마나 빠르게 받고 있는지 Load 데이터가 얼마나 들어가는지 ex. 50Mbits 데이.. 2021. 10. 14.
컴퓨터 네트워크: Error Control TCP: Transmission Control Protocol 8. Error Control Error Control TCP는 신뢰할 수 있는 transport layer 프로토콜이다. 즉, TCP로 데이터 스트림을 전송하는 응용 프로그램은 TCP에 의존해 전체 스트림을 반대쪽 끝에 있는 응용 프로그램에 오류 없이 순서대로 전달할 수 있다. TCP의 Error Control(오류 제어)는 checksum, acknowledgment, and time-out의 세 가지 tool을 사용하여 수행된다. 알아두기 ACK에 대한 ACK은 존재하지 않는다. 즉, 내가 보낸 ACK을 상대방이 잘 받았는지 확인하는 ACK은 존재하지 않는다. 데이터는 순서가 잘못된 상태로 도착하여 receiving TCP에 의해 일시적.. 2021. 10. 7.
컴퓨터 네트워크: Flow Control TCP: Transmission Control Protocol 7. Flow Control Flow Control 생산자가 데이터를 생성하는 속도와 소비자가 데이터를 사용할 수 있는 속도의 균형을 유지. sliding window Send window in TCP Sender는 Receiver가 Ack을 보내면서 알려준 rwnd 값을 통해 상대방 버퍼의 빈 공간을 파악하고, 그 빈 공간만큼을 Send window 사이즈로 정한다. window 사이즈는 Receiver가 한번에 받을 수 있는 데이터의 양이다. 데이터 전송 후, 보낸 데이터는 데이터 전송 오류를 대비하여 여전히 Sending Buffer에 남겨둔다. 상대방이 Ack을 보내 해당 데이터를 잘 받았다는 표시를 하면 해당 데이터를 Sending .. 2021. 10. 5.
알고리즘6. Searching on Ordered Array(정렬된 배열 탐색)(2) - binary search(이진탐색) 1. Analyzing Algorithms and Problems: Principles and Examples 1-4. Searching on Ordered Array 정렬된 배열 탐색 Let's Divide-and-Conquer 개선된 알고리즘 → 분할과 정복 Problem and Strategy D K를 먼저 배열의 가운데에 있는 entry와 비교 한 번의 연산으로 절반의 entry를 제거할 수 있다. 동일한 전략을 재귀적으로 수행한다. Algorithm D: Binary Search (반드시 정렬된 array 여야 함) Input: E, first, last, and K→ first, …, last까지 정렬된 array E, K 는 찾아야 할 key 값, input 모두 정수 Output: firs.. 2021. 10. 3.
컴퓨터 네트워크: Windows in TCP TCP: Transmission Control Protocol 6. Windows in TCP stop & wait 방식 데이터 전송할 때마다 잘 받았는지 확인 신뢰성 보장 위한 가장 쉬운 접근 방식 데이터 전송을 화물 트럭으로 비유해 보자. 화물트럭 5대는 서울에서 출발해 부산에 화물을 운반 후 다시 서울로 돌아와 화물이 안전하게 도착했음을 보고해야 한다. stop & wait는 하나의 트럭이 서울-부산을 왕복해서 돌아온 후에 다음 번 트럭이 운행을 시작하는 방식이다. 서울에서 부산까지 왕복으로 10시간이 걸리기 때문에, 트럭 5대가 부산에 화물을 모두 운반하기까지는 50시간이 걸린다. 이는 매우 비효율적이다. 이러한 비효율성을 해결하기 위해 한꺼번에 트럭을 여러 대 보낼 수는 없을까?트럭을 여러 대 .. 2021. 10. 1.
컴퓨터 네트워크: State transition diagram TCP: Transmission Control Protocol 3. State transition diagram TCP 연결요청 / 수락 과정 State transition diagram Client / Server 동작 및 상태 설명 (왼: 클라이언트 / 오: 서버) Passive open 수동으로 서버를 열어놓음 [LISTEN] 연결요청 대기, 클라이언트로부터 SYN이 오기를 기다리는 상태 Active open / SYN Active open하기 위해 SYN을 서버에게 전송 [SYN-SENT] SYN을 전송한 뒤 서버로부터 SYN+ACK이 오기를 대기중인 상태 SYN / SYN + ACK 클라이언트로부터 SYN이 오면 클라이언트에게 SYN + ACK을 전송 [SYN-RCVD] 클라이언트로부터 SYN을.. 2021. 10. 1.
파이썬 Data Type Exercise(홀수 리스트, 짝수 리스트, 리스트 내림차순 정렬) 문제 range() 함수를 이용하여 1에서 30까지 짝수 리스트와 홀수 리스트를 생성 후 두 리스트를 출력한다. 이후 두 리스트를 결합하여 새 리스트를 만들고 이 리스트를 내림차순 정렬하여 출력한다. Expected output: list1: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29] list2: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30] result: [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 실행화면 코드 oddList = list.. 2021. 9. 29.
파이썬 Data Type Exercise (소문자→대문자 변환, 문자열 바꾸기) 문제 사용자에게 이름과 전화번호를 입력받은 뒤 이름의 첫 글자를 대문자로 변환하고 전화번호에서 '-'를 제거 Expected Output: abc 010-1234-5678 Abc 01012345678 naver 010-9876-5432 Naver 01098765432 실행화면 코드 1. name, number = input().split() cptName = name.capitalize() nonHyphenName = number.replace("-","") print(cptName +' '+ nonHyphenName) 2. name, number = input().split() cptName = name[0].upper() + name[1:] nonHyphenName = number.replace("-.. 2021. 9. 29.
알고리즘5. Searching on Ordered Array(정렬된 배열 탐색)(1) 1. Analyzing Algorithms and Problems: Principles and Examples 1-4. Searching on Ordered Array 정렬된 배열 탐색 Problem and Strategy A Problem: array search 배열 탐색 n개의 entry가 담긴 배열 E와 value K가 주어졌을 때, 배열에서 K=E[index]를 찾는다면 인덱스 값을, K를 찾지 못한다면 -1을 결과로 리턴한다. Strategy A input data와 자료구조: 정렬되지 않은 배열 sequential search(index 0부터 차례로 비교) Algorithm A int seqSearch(int []E, int n, int K) Analysis A W(n) = n //wors.. 2021. 9. 27.
이산수학 2.2 Set Operations 집합 연산 chapter 2. Basic Structures: Sets, Functions, Sequences, Sums, and Matrices 2.2 Set Operations Union 합집합 표기: A ∪ B Example: What is {1,2,3} ∪ {3, 4, 5}? Solution: {1,2,3,4,5} Intersection 교집합 표기: A ∪ B 만약 교집합이 존재하지 않는다면, A와 B는 disjoint되었다고 말한다. Example: What is {1,2,3} ∩ {3,4,5} ? Solution: {3} Example: What is {1,2,3} ∩ {4,5,6} ? Solution: ∅ Complement 여집합 U - A (전체집합에서 A를 제외한 나머지) Ā(or Ac) = {.. 2021. 9. 25.
이산수학 2.1 Sets 집합 chapter 2. Basic Structures: Sets, Functions, Sequences, Sums, and Matrices 2.1 Sets 집합 Sets 집합은 순서가 없는(unordered) object들의 모임이다. ex. 반의 학생들 / 방의 의자들 집합의 object들을 elements(원소), 또는 집합의 members(멤버)라 칭한다. 집합은 이러한 element들을 포함(contain)하고 있다. a ∈ A : a는 집합 A의 element이다. a ∉ A : a는 집합 A의 element가 아니다. Describing a Set: 원소나열법 S = {a,b,c,d} 순서는 중요하지 않다. ☞ S = {a,b,c,d} = {b,c,a,d} 중복 멤버는 허용하지 않는다. ☞ S =.. 2021. 9. 24.
이산수학 1.4 Predicates and Quantifiers 술어와 한정 기호(3) chapter 1. The Foundations: Logic and Proofs 1.4 Predicates and Quantifiers Equivalences in Predicate Logic predicates(술어)와 quantifiers(한정자)가 포함된 문장은 동일한 진리 값을 갖는 경우에만 논리적으로 동일하다. - 이 statements(진술)로 대체되는 모든 predicate에 대하여 - 표현식의 변수에 사용되는 담론의 모든 domain에 대해 표기법 S ≡ T: S와 T가 논리적으로 동일하다. Example: ∀x¬¬S(x) ≡ ∀xS(x) Thinking about Quantifiers as Conjunctions and Disjunctions Conjunctions: ∧ Disjuncti.. 2021. 9. 24.
반응형