전공 테트리스 36

[네트워크] 6. Transport Layer (2)

TCP 송신자의 어플리케이션으로부터 데이터 수신타이머 안 켜져있으면 켜줌..시퀀스 넘버를 헤더에 붙여서 세그먼트 생성타임아웃타이머 재시작타임아웃인 세그먼트 재전송ACK 수신에크되지 않은 세그먼트 있으면 타이머 재시작ACK가 unACKed한 세그먼트를 알면 에크된 걸 업데이트함TCP의 빠른 재전송송신자가 원본 + 3번의 중복ACK를 받는다면 = 타임아웃 발생 전에 세그먼트 재전송함 TCP flow control수신자가 rwnd 필드에 프리 버퍼를 적어둠→ 오버플로우 방지 TCP connection 관리3-way 핸드쉐이크

[네트워크] 5. Transport Layer (1)

3.1 트랜스포트 계층 서비스 및 개요 트랜스포트 계층 프로토콜은 → 서로 >>다른논리적 통신 제공애플리케이션의 관점에서 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보이는 것을 의미네트워크 레이어 - 호스트들 사이의 논리적 통신 제공트랜스포트 레이어 - 프로세스 사이의 논리적 통신 제공트랜스포트 계층은 네트워크 라우터가 아닌 종단시스템에서 구현됨라우터에서는 오로지 데이터그램의 네트워크 계층 필드에 대해서 동작함.. ((sender))송신 애플리케이션 프로세스로부터 소켓을 통해 수신한 ‘메시지’를 ’세그먼트‘로 쪼개서 각각의 조각에 헤더를 덧붙임그리고 캡슐화하여 IP로 전송 ((receiver))수신 측 네트워크 계층에서는 데이터그램으로부터 → 트랜스포트 계층의 세그먼트 추출하고 트랜스포트로 전송..

[네트워크] 4. Application Layer (2)

2.4 DNS : Domain Name System인터넷 호스트에 대한 하나의 식별자 - 호스트 네임 (hostname)(기억하기 쉬워 사용자가 좋아하지만, 별로 제공되는 정보가 없음)→ IP주소 사용DNSname 서버들이 계층구조로 구현된 분산 데이터베이스호스트가 분산 데이터베이스로 질의하도록 허락하는 어플리케이션 계층 프로토콜→ 네트워크 코어가 아닌 네트워크 엣지에서 작동함 2.4.1 DNS가 제공하는 서비스호스트네임을 IP주소로 변환호스트 엘리어싱 (host aliasing) - canonical(정식 호스트네임), alias name제시한 별칭 호스트 네임에 대한 정식 canonical 호스트 네임을 얻기 위해 이용될 수 있음복잡한 호스트 네임을 가진 호스트는 하나 이상의 별명을 가질 수 있음..

[네트워크] 3. Application Layer (1)

2.1 네트워크 애플리케이션의 원리네트워크 애플리케이션 개발의 중심은 다른 종단 시스템에서 동작하고 네트워크를 통해 서로 통신하는 프로그램을 작성하는 것라우터나 링크 계층의 스위치와 같이 코어 게층에서 실행되는 소프트웨어를 작성할 필요 없음→ 인터넷 애플리케이션의 광대하고 빠른 발전의 원동력 2.1.1 네트워크 애플리케이션 구조클라이언트-서버 구조P2P 구조클라이언트 - 서버 구조server : 항상 켜져 있는 호스트, 고정 IP주소를 가짐, 하나의 서버로 모든 클라이언트의 요청에 응답할 수 없으므로 주로 데이터센터에 모여있음client : 가끔 혹은 항상 켜져 있음, 이 구조 상에서의 클라이언트는 직접 통신하지 않음P2P (Peer To Peer)서버에 최소한의 의존Peer는 isp가 소유하지 않고,..

[네트워크] 2. Introduction to Computer Network 2

5. Performance : loss, delay, throughput [1] Performance : Bandwidth and LatencyBandwidth (throughput; 대역폭, 처리량, 처리율, 수율)일정 시간 동안 전송 가능한 비트의 수 (가능성일 뿐, 실제와는 다름)ex) 100Mbps = 초당 1,000만 비트 전달Latency (delay)네트워크 한쪽 끝에서 다른 끝으로 메시지가 이동하는데 걸리는 시간RTT (round-trip-time)왕복 시간 측정구성 요소Processing delayqueuing delay (큐잉딜레이)도중 또는 종단 장치들이 메시지를 처리하기 전까지 메시지를 가지고 있는 시간transmit delay 한 단위의 데이터 전송하는데 소요되는 시간첫 번째 비트..

[자료구조] 10. 그래프, BFS, DFS, 위상 정렬

1. 그래프 - 그래프란?- 그래프 관련 용어- 방향그래프- 무방향 그래프- 그래프의 구현 (인접행렬/  인접 리스트 )  - 방향그래프 (Directed Graph)두 정점을 잇는 간선에 방향이 있는 그래프  - 무방향 그래프 (Undirected Graph)두 정점을 잇는 간선에 방향이 없는 그래프   - 그래프의 구현 (인접행렬; Adjacency Matrix)원소 = 1 : 0 ? 이어져있다 : 이어지지 않았다. 원소가 1이면 두 정점은 이어져있다.원소가 0이면 두 정점은 이어지지 않았다.   # 무방향 그래프대각선을 기준으로 대칭을 이룸따라서... 간선 수 x 2 = 1의 개수 # 방향 그래프대칭을 이루지 않기 때문에(방향이 있으니... 당연히 대칭이 아님)간선 수 = 1의 개수 # 무방향 그래..

[자료구조] 9. B-트리, 해쉬 테이블

1. B-트리 - B-트리란?- 원소삽입   - B-트리란?다음을 모두 만족하면 m차 B-트리a. 모든 리프노드의 깊이가 동일b. 노드 당 자식 수는 [m/2] ~ m개 (leaf 노드 제외)     // [m/2] : 올림함수c. 자식 노드의 수는 데이터 수보다 +1 (leaf노드 제외)  // 즉, m차 B-트리에서 노드 내 데이터 최대 수는 m-1개d. 단일 노드 내에서 데이터는 정렬됨e. 트리 관점에서도 데이터는 정렬됨     - 원소 삽입 데이터 수 제한을 넘어서지 않는 경우에서 삽입⁘ 탐색과 유사한 방법으로 새 데이터를 삽입할 적절한 리프 노드 선정⁘ 해당 리프 노드에 데이터가 추가될 여유가 있으면 그대로 삽입 데이터 수 제한을 초과하는 경우에서 삽입⁘ 리프 노드에 데이터 삽입될 여유가 없으면..

[자료구조] 8. 이진탐색트리, AVL트리, 레드-블랙트리

1. 이진 탐색 트리 (Binary Search Tree) - 탐색트리란?- 이진탐색이란?- 이진탐색트리란?- 이진탐색트리 연산 (삽입, 삭제)  - 탐색트리란탐색을 위한 트리 기반의 자료구조 * 트리 :연결그래프이자 Cycle을 가지지 않는 그래프* 연결그래프 : 모든 두 정점 사이에 경로가 존재하는 그래프* 순환 : 시작 정점과 종료 정점이 동일한 Path(같은 정점 및 간선이 중복되지 않은 walk)  - 이진탐색이란정렬된 배열의 경우, 반을 쪼개서 탐색  - 이진탐색트리 (BST)아래 두 조건을 만족하는 이진트리a. 임의의 노드 좌측 서브트리에는 자신보다 작은 값만이 존재b. 임의의 노드 우측 서브트리에는 자신보다 큰 값만이 존재(오른쪽 서브트리 노드의 키값   Q. 이진탐색트리와 힙의 차이점 두..

[컴퓨터구조] 2. 정수 Integers

1. DAC and it’s ApplicationsDigital-to-Analog-Converter, 디지털 아날로그 변환 회로)디지털 신호를 아날로그 신호로 변환하는 장치.   2. 이진 표현(Binary Representation)전자 구현 (Electronic implementation)10진수를 사용하지 않는 이유쌍안정 (bistable) 요소로 보관이 용이하다산술 함수의 간단한 구현 (Straightforward implementation of arithmetic functions)시끄럽고 부정확한 전선에서도 안정적으로 전송된다. (Reliable transmitted on noisy and inaccurate wires)    3. 정보 표현 (Representing Information)In..

[리눅스] 4. 배시 쉘 활용하기

쉘이란?사용자와 커널 사이의 중간 역할사용자가 입력한 명령을 처리하고 실행 결과를 알려줌 쉘의 종류본쉘(sh), 콘쉘(ksh), 배시쉘(bash), C쉘(csh), …종류 확인 방법프롬프트로 확인 : C쉘 = % , 본쉘/콘쉘/배시쉘 = $ ( # = 시스템 관리자 root )명령으로 확인$ echo $SHELLbash —version시스템 파일에서 확인grep 사용자이름 /etc/passwd 로그인 쉘과 서브 쉘로그인 쉘 : 사용자가 로그인한 직후 자동 생성되는 쉘서브 쉘 : 사용자가 직접 실행한 쉘 쉘 명령 vs 유틸리티 명령쉘 명령쉘 내장 명령어. 쉘에서 바로 실행ex) cd, echo, type, exit, pwd, set 등등유틸리티 명령유닉스 시스템이 제공하는 파일 형태로 존재하는 명령어쉘이..