CS

Peer-to-peer architecture 서버가 항상 켜져있지 않음 임의의 end-systems가 직접 통신한다. 다른 피어에게서 서비스를 요청하고, 다른 피어에게 서비스를 제공한다. - 자체 확장성(self scalability): 새로운 피어는 새로운 service capacity와 새로운 service demands(수요)를 가져옴 피어는 간헐적으로 연결되고 ip주소가 변경된다. - 관리하기 복잡하다 File distribution: client-server vs P2P 크기 F의 파일을 한 서버에서 N개의 피어로 분산하는 데 필요한 시간은?? - 피어의 업로드/다운로드 용량은 제한된 리소스이다. client-server에서, server transmission : 순차적(sequentiall..
Internet hosts, routers: - IP address (32bit) - 데이터그램에 대한 주소 지정에 사용된다. DNS 많은 name servers의 계층 구조로 구현된 분산 데이터베이스(distributed database) application-layer protocol : 호스트, DNS 서버가 이름 (address / name translation)을 해결하기 위해 통신한다. 중요한 인터넷 기능으로, application-layer protocol로 구현된다. 네트워크의 edge에서 complexity가 있다. DNS services - 호스트 이름에서 IP 주소로 변환 - 호스트 별칭(aliasing) : 정식(canonical) 및 별칭(alias) 이름 - 메일 서버 별칭 - ..
HTTP 개요 HTTP : hypertext transfer protocol HTTP는 웹의 application-layer protocol이고, client/server model을 따른다. client : HTTP 프로토콜을 사용해서 웹 오브젝트를 request하고 receive하여 브라우저를 통해 웹 오브젝트를 보여준다. server : HTTP 프로토콜을 사용해서 request에 대한 response를 생성해서 보낸다. HTTP는 TCP를 사용한다. 1. 클라이언트는 서버의 80번 포트로 TCP 연결을 시작한다. 2. 서버는 클라이언트로부터 TCP 연결을 accept한다. 3. HTTP 메시지(application-layer protocol messages)가 브라우저와 웹서버 간에 교환된다. ..
Creating a network app - end system(끝단 시스템)에서 실행되고, 네트워크와 통신한다. - 예를 들어서, 웹 서버 소프트웨어는 브라우저 소프트웨어와 통신한다. 네트워크 코어 장치용 디바이스를 작성할 필요는 없다. - 네트워크 코어 장치는 사용자 애플리케이션을 실행하지 않는다. - end systems에서 실행되는 애플리케이션은 빠른 앱 개발 및 전파(propagation)가 가능하다. Client-server paradigm 서버 - 항상 켜져 있는 호스트 - 영구적인(permanent) IP address - 확장(scaling)을 위해 데이터센터에서 사용됨 클라이언트 - 서버와 연결하고 통신함 - 일시적으로(intermittently) 연결됨 - dynamic IP addr..
Internet structure: a "network of networks" 호스트들은 Internet Service Providers (ISPs)를 통해 인터넷에 연결된다. 이 access ISPs는 상호연결(Interconnected)돼있어야한다. - 그래야 어디서든 두 호스트가 서로에게 패킷을 보낼 수 있다. 이렇게 형성된 network of networks는 매우 복잡하다. access ISPs가 수백만개의 접속용 ISPs를 어떻게 연결할 수 있을까? => 모든 접속용 ISPs를 직접 서로 연결하는 것은 확장 가능하지 않음. O(N^2)의 연결이 필요함. => 각각의 접속용 ISP를 global transit ISP 중 하나에 연결하면 연결 수를 줄이고 더 효율적인 구성 가능 여러 업체들이 gl..
control unit은 instruction type에 따라 모든 신호의 값을 결정한다. 입력은 명령어의 opcode(instruction 31-26), 출력은 7개의 signals PCSrc는 Branch와 ALU의 Zero 신호의 AND 게이트로 결정된다. 분기명령어(Branch = 1)이고, 분기가 실행될 때(Zero = 1) target address가 PC에 기록된다. jump instruction은 먼저 (1)에서 PC의 앞 4bit를 추출한 값을 얻고, (2)에서 instruction[25-0]에 2만큼 right shift한 값을 얻은 다음 둘을 XOR연산하여 합친다. 만약 instruction의 31-26, 즉 opcode가 jump 명령어(000010)이라면 control unit에서..
ALU는 3가지 중 하나의 기능을 한다. - lw/sw 명령어는 메모리 주소를 계산하기 위해 add 연산을 함 - branch 명령어는 두 레지스터 값을 비교하기 위해 subtract 연산을 함. - R-type 명령어는 6bit funct 필드의 값에 따라 actions을 정함. 우리는 datapath 에서 ALU가 수행할 기능을 결정하는 control unit이 필요하다. - input(2bits): 이 명령어는 lw/sw , branch-equal, R-type 중 무엇인가? - input(6bits): R-type인 경우, funct 필드의 값은 무엇인가? - output(4bits): ALU가 수행하는 기능은 무엇인가? ALU Control Unit에 2bit의 ALUOp, 6bit의 Funct..
위 회로는 브랜치 분기 명령어에서 사용되는 회로다. 이는 두 가지 출력으로 나뉘는데, 예를 들어 beq $t1 8($t2)가 입력됐다고 가정하자. 첫번째 출력은 대상 주소 출력이다. 상대 주소인 8은 Sign-extend 회로로 16bit에서 32bit로 변환된다. 그 후 Shift left 2 회로로 4가 곱해져 워드 단위의 상대 주소가 된다. Adder(가산기)로써 PC+4와 합쳐져 대상 주소가 출력된다. 두번째 출력은 조건문에 따른 출력이다. Read register에 $t1과 $t2가 입력되고, Read data로 출력된다. 출력된 값은 ALU에 입력되어 subtract 연산을 수행한다. 만약 zero flag가 활성화된다면 둘은 같은 것이므로 대상 주소에 위치한 명령어가 수행된다. 1) inst..
푸더기
'CS' 태그의 글 목록 (6 Page)