전체 글115 [컴퓨터구조] Lecture 3 MIPS Instructions 명령어: 컴퓨터 언어의 단어에 해당, 컴퓨터가 실행할 수 있는 프로그램의 최소 단위 MIPS의 산술 연산은 레지스터에서만 실행되므로 메모리와 레지스터 간에 데이터를 주고 받는 명렁어가 있어야 한다. 이런 명령어를 데이터 전송 명렁어라고 한다. 레지스터: 프로세서 데이터패스에 있는 소규모의 데이터 저장장소이다. MPS 산술 명령어의 피연산자는 레지스터로 제한되어 있다. 💡MIPS 레지스터는 32개($0 ~ $31)이다! 💡각 레지스터의 크기는 32비트, 1워드이다! 변수에 해당하는 레지스터는 $s0, $s1, ... $s7이고 임시 레지스터는 $t0, $t1, ... $t9로 표현한다 메모리 메모리 주소: 메모리 배열 내에서 특정 데이터 요소의 위치를 표시하는 데 사용하는 값이다. 💡 레지스터 개수보다 훨.. 2023. 9. 30. [컴퓨터네트워크] Ch2.2 웹과 HTTP 웹은 on-demand 방식으로 사용자가 원할 때 원하는 것을 수신한다. HTTP : 메시지의 구조 및 클라이언트와 서버가 메시지를 어떻게 교환하는지에 대해 정의하고 있다. Web page : 웹 페이지는 기본 HTML 파일과 여러 참조 객체로 구성된다. 비지속(non-persistenct) 연결 : 클라이언트-서버 상호작용이 TCP 상에서 발생할 때 각 요구/응답 쌍이 분리된 TCP 연결을 통해 보내지는 것을 말한다. 연결 수행 과정은 다음과 같다. HTTP 클라이언트는 HTTP 기본 포트 80을 통해 서버로 TCP 연결을 시도한다. TCP 연결과 관련하여 클라이언트와 서버에 각각 소켓이 있게 된다. HTTP 클라이언트는 설정된 TCP 연결 소켓을 통해 서버로 HTTP 요청 메시지를 보낸다. 이 요청에.. 2023. 9. 30. [컴퓨터네트워크] Ch2.1 네트워크 애플리케이션의 원리 Client-server architecture 항상 동작하고 있는 서버가 존재하고, 클라이언트라는 다른 호스틀로부터 서비스 요청을 받는다. 클라이언트는 서로 직접적으로 통신하지 않는다. 서버는 잘 알려진 고정된 IP 주소를 갖는다. P2P architecture 항상 켜져 있는 인프라스트럭쳐 서버에 최소로 의존한다. 대신에 애플리케이션은 peer라는 간헐적으로 연결된 호스트 쌍이 서로 직접 통신하게 한다. peer는 흔히 알려진 클라이언트이다. 인터넷 전송 프로토콜이 제공하는 서비스 TCP 서비스 TCP 전송 프로토콜은 다음 세 가지 서비스를 제공한다. 연결 지향형 서비스 신뢰적인 데이터 전송 서비스 혼합 제어 방식 UDP 서비스 UDP는 비연결형으로 핸드세이킹 과정이 없고, 비신뢰적인 데이터 전송 서.. 2023. 9. 30. [컴퓨터네트워크] Ch1.6 공격받는 네트워크 1.6 공격받는 네트워크 DoS(Denial-of-Service) 공격 : 네트워크, 호스트 혹은 다른 인프라스트럭처의 요소들을 정상적인 사용자가 사용할 수 없게 하는 것이다. * 웹, 서버, 전자메일 서버, DNS 서버, 기관 네트워크는 DoS 공격을 받을 가능성이 있다. 취약성 공격 (vulnerability attack) 대역폭 플러딩 (bandwidth flooding) 연결 플러딩 (connection flooding) 가짜 출발지 주소를 가진 패킷을 인터넷으로 보내는 능력을 IP 스푸핑(spoofing)이라고 하며, 한 사용자가 다른 사용자인 것처럼 행동하는 여러 가지 방법 중 하나다. 이 문제를 해결하기 위해서는 종단 인증(end-point authentication), 즉 메시지가 실제로 .. 2023. 9. 30. [컴퓨터네트워크] Ch1.5 프로토콜 계층과 서비스 모델 1.5 프로토콜 계층과 서비스 모델 네트워크 프로토콜의 설계 구조를 제공하기 위해, 네트워크 설계자는 프로토콜을 계층(layer)으로 조직한다. 즉, 각각의 프로토콜은 한 계층에 속하며, 프로토콜 계층은 소프트웨어, 하드웨어 또는 둘의 통합으로 구현할 수 있다. 한 계층은 상위 계층에 제공하는 서비스에 관심을 갖고, 이것을 계층의 서비스 모델이라고 한다. 각 계층은 그 계층 내부에서 어떤 동작을 수행하거나, 직접 하위 계층의 서비스를 사용한다. 다양한 계층의 포로토콜을 합하여 프로토콜 스택이라고 한다. Protocol stack 인터넷 프로토콜 스택은 5개 계층으로 구성된다. * 아래서부터 1계층 ~ 5계층이다. Application(애플리케이션) 계층 네트워크 애플리케이션과 애플리케이션 계층 프로토콜이.. 2023. 9. 30. [컴퓨터네트워크] Ch1.4 패킷 교환 네트워크에서의 지연, 손실과 처리율 1.4 패킷 교환 네트워크에서의 지연, 손실과 처리율 패킷은 한 호스트(출발지)에서 시작하고 일련의 라우터들을 통과하며 다른 호스트(목적지)에 도달한다. 패킷이 경로를 따라 한 노드에서 다음 노드로 전달될 때 패킷은 경로상의 각 노드에서 다양한 지연을 겪게 되며, 이들은 쌓여서 전체 노드 지연을 일으킨다. 업스트림: 클라이언트에서 서버로 전송되는 데이터 흐름 다운스트림: 서버에서 클라이언트로 전송되는 데이터의 흐름, 일반적으로 다운스트림 트래픽은 업스트림 트래픽보다 더 많은 볼륨이 있다. 전체 노드 지연(total nodal delay) 전파 지연(propagation delay) 내부의 두 라우터를 연결하는 링크에서는 2마이크로초 정도 -> 무시 가능 정지 위성 링크로 연결된 두 라우터의 경우 수백 밀.. 2023. 9. 30. [컴퓨터네트워크] Ch1.3 네트워크 코어 1.3 네트워크 코어 링크와 스위치의 네트워크를 통해 데이터를 이동시키는 두 가지 기본 방식이 있다. Packet switching(패킷 교환) 종단 시스템들은 서로 메시지를 교환한다. 송신 시스템은 메시지를 패킷이라고 하는 작은 데이터 덩어리로 분할한다. 각 패킷은 통신 링크와 패킷 스위치를 거치게 된다. 패킷은 링크의 최대 전송률과 같은 속도로 각각의 통신 링크에서 전송된다. store-and-forward transmission(저장 후 전달 전송 방식) * 이 방식은 대부분의 패킷 스위치가 이용하는 방식이다. 즉, 패킷의 비트를 먼저 저장하고, 라우터가 패킷의 모든 비트를 수신하였다면 그제서야 출력 링크로 그 패킷을 전송하기 시작한다. Queing delay(큐잉 지연)과 패킷 손설 각 패킷 스위.. 2023. 9. 30. [컴퓨터네트워크] Ch1.2 접속 네트워크 1.2 접속 네트워크 앞서 언급한 호스트와 종단 시스템은 인터넷의 가장 자리를 차지하고 있기 때문에 '종단 시스템'이라고 부른다. 종단 시스템은 애플리케이션을 수행하므로 호스트라고도 부르며, 호스트는 클라이언트와 서버로 구분된다. Access Network(접속 네트워크) 종단 시스템을 먼 거리에 위치한 다른 종단 시스템까지의 경로 상에 있는 첫 번째 라우터 즉, 가장 자리 라우터에 연결하는 네트워크를 말한다. 다음은 네트워크 접속 기술들이다. 1. 가정 접속 DSL(Digital Subscriber Line) 인터넷 접속 : 가정은 유선 로컬 전화 서비스를 제공하는 같은 지역 전화 회사로부터 DSL 인터넷 접속 서비스를 받는다. DSL 표준은 여러 전송률을 정의하며, 이 전송률에는 업스트림과 다운스트림.. 2023. 9. 30. [알고리즘] 알고리즘 알고리즘 (Algorithms) : An algorithm is a step-by-step procedure to solve a problem 알고리즘의 전반적인 개념에 대해 알아보겠다! 😆 알고리즘의 표기 자연어: 한글 또는 영어 프로그래밍 언어: C, C++, Java, ML 등 의사코드: 설계자가 알고리즘 로직에 집중할 수 있도록 알고리즘을 묘사하는 정형화된 언어이다. * C++은 반드시 배열의 인덱스가 0부터 시작하지만 의소코드는 임의의 값을 사용 가능하다. * 그리고 의사코드는 참조 파라미터를 사용하여 프로시저의 결과값을 전달한다. Sequential Search (순차 검색) f(n) = 1회 ⇒ best case f(n) = n회 ⇒ worst case (비교를 가장 많이 함) 💡 T(n):.. 2023. 9. 30. [컴퓨터네트워크] Ch1.1 인터넷이란 무엇인가? 1.1 인터넷이란 무엇인가? Internet Internet: 물리적 실체, TCP/IP에 의해 동작한다. 전 세계적으로 수십억 개의 컴퓨팅 장치를 연결하는 네트워크를 의미한다. Networks: devices, routers, links의 집합이다. Host(호스트), End system(종단 시스템): 컴퓨터 네트워크에 연결된 컴퓨팅 장치이다, PC, 웹페이지 등 인터넷에 연결된 모든 인터넷 사물들을 칭한다. Packet(패킷): 송신 종단 시스템에서 수신 동잔 시스템으로 보내진다. 송신 종단 시스템이 보내고자 하는 데이터를 세그먼트(segment)로 나누고, 각 세그먼트에 헤더를 부착하여 수신 종단 시스템으로 전송한다. 패킷은 목적지에서 원래의 데이터로 다시 조립된다. Communication li.. 2023. 9. 30. [자료구조] 해싱(Hashing) 해싱(Hashing) 산술적인 연산을 이용하여 키가 있는 위치를 계산하여 바로 찾아가는 계산 검색 방식이다. 검색방법 키 값에 대해서 해싱 함수를 계산하여 주소를 구하고, 구한 주소에 해당하는 해시 테이블로 바로 이동한다. 해당 주소에 찾는 항목이 있으면 검색 성공, 없으면 실패 해싱 용어 정리 충돌: 서로 다른 키 값에 대해 해싱 함수로 구한 버킷 주소가 같은 경우 동거자: 서로 다른 키 값을 가지지만 해싱 함수에 의해서 같은 버킷에 저장된 키 값들 오버플로우: 버킷에 비어 있는 슬롯이 없는 포화 버킷 상태에서, 충돌이 발생하여 해당 버킷에 키 값을 저장할 수 없는 상태 키 값 밀도: 사용 가능한 전체 키 값들 중 현재 해시 테이블에 저장되어서 실제 사용되고 있는 키 값의 개수 정도 적재 밀도: 해시 .. 2023. 6. 16. [자료구조] 정렬(Sort) 동기리스트: 하나 이상의 필드로 된 레코드의 집합키: 레코드를 구분하기 위해 사용되는 필드순차탐색: 레코드를 왼편에서 오른편 또는 오른편에서 왼편으로 레코드를 검사하는 것template int SeqSearch(E *a, const int n, const K& k){ // a[1:n]을 왼쪽에서 오른쪽으로 탐색한다. // a[i]의 키 값이 k와 같은 가장 작은 i를 반환한다. // 그런 i가 없으면, 0을 반환한다.int i;for (i = 1; i n) return 0;return i;}n개의 레코드를 탐색하기 위해 O(n)의 시간이 걸린다. 이원탐색(Binary Search): 정렬된 n개의 레코드를 탐색하기 위해 O(log n)의 시간이 걸린다.보간법(interpolation): 리스트가 정렬돼.. 2023. 6. 6. 이전 1 ··· 5 6 7 8 9 10 다음