논리 레벨 논리회로는 하드웨어를 구성하는 기본 요소인 논리게이트로 구성한다. 논리게이트는 한 개 이상의 입력 단자와 하나의 출력 단자로 구성되는 전자회로다. 논리회로에서는 논리1을 High전압 0을 Low전압으로 나타낸며 이를 정논리(positive logic)라 한다. 컴퓨터 시스템을 비롯한 모든 디지털 시스템은 여러가지 논리 게이트가 모여 조합논리회로와 순서논리회로로 구성되며 각 게이트는 서로 다른 모양으로 표현한다. 기본이 되는 논리 게이트는 AND,OR,NOT 게이트가 있으며 이들의 조합으로 만든 게이트에는 NAND,NOR,XOR,XNOR 게이트 등이 있다. NOT 게이트와 버퍼 게이트 NOT 게이트 : 논리 부정을 나타낸다. 버퍼 : 입력된 신호를 변경하지 않고 입력된 신호 그대로 출력하는 게이..
BCD 코드와 3초과 코드 BCD코드(8421)는 10진수 0부터9까지를 2진화한 코드로 실제 표기는 2진수지만 10진수처럼 사용한다. 즉, 1010부터 1111까지 6개는 사용하지 않는다. 다음 표는 10진수 각 자리에 해당한는 10진수를 그대로 2진화한 값이다. BCD코드의 연산은 10진수 처럼 연산한다. 그러나 계산 결과가 BCD코드를 벗어날 때, 즉 9를 초과하는 경우에는 계산 결과에 6(0110)(BCD)을 더해준다. 3초과 코드는 BCD코드에 3(0011)을 더하여 나타낸 코드이다. 즉, 3초과코드는 10개 코드만 있는 10진 코드이며, 0000 0001 0010 1101 1110 1111은 3초과 코드에 없는 코드이다. 3초과 코드는 자기보수의 성질을 가지며 현재값에서 1의 보수를 취하면 1..
10진수 일상적으로 수를 셀 때에는 0부터9까지 10개의 기호로 표현하는 10진수를 사용한다. 2진수 다이오드와 트랜지스터같은 반도체가 발명되면서 전류의 유무에 따라 0과1을 표현하게 되었다. 데이터나 신호의 유무를 판단하는데 적합하다. 8/16진수 2진수를 3자리씩 끊으면 8진수로 표현할 수 있으며, 4자리씩 끊으면 16진수로 표현할 수 있다. 진법 변환 1. 10진수-2진수 변환 10진수 정수 부분을 2진수로 변환할 때는 2를 나누고 그 나머지를 나열하면 2진수가 된다. 2. 10진수-8진수 변환 진법 변환 방법은 모든 진법에서 동일하게 적용된다. 3. 10진수-16진수 변환 진법 변환 방법은 모든 진법에서 동일하게 적용된다. 2진수 정수 연산과 변수 2진수 양의 정수 덧셈 10진수와 마찬가지로 두 ..
연결 지향형 transport TCP 개요 - Connection-oriented(연결 지향형) - Data 전송 이전에 handshaking은 송신자와 수신자 사이 초기화하는 역할이다. - Point - to - Point ( 단일 송신자 , 단일 수신자 ) - 신뢰적 전송 - Pipelined - Full duplex 전송 ( 동일 연결을 통해 양방향 데이터 전송 ) - 세 방향 핸드세이크 TCP 신뢰적 데이터 전달 - TCP는 IP의 비신뢰적 service위에 rdt service를 생성 - Pipeline 형태의 전송 - 누적 ACK 사용 - TCP는 한개의 timer만을 사용한다. - 재전송은 다음과 같은 사건에 의해 시작된다. ( timer만료 / 중복된 ACK ) - 처음에는 단순화된 TCP..
Pipelined Protocol - Pipelining : 송신측은 확인 응답을 기다리지 않고 여러 packet전송을 허용하는것 - sequence number 범위는 증가 - 송신측과 수신측에 buffering이 필요 Pipelined protocol의 두가지 기본형태 : go-Back-N , Selective report go-Back-N - 송신측은 pipeline형태로 확인응답없이 총 N개까지의 packet을 전송 - 수신측은 누적 ACK만을 전송 - 송신측은 ACK를 받지 목한 가장 오래된 packet에 대한 timer를 동작시킨다. Selective report - 송신측은 확인응답을 받지 못한 packet을 pipeline 형태로 N개까지 전송할 수 있다. - 수신측은 개별적인 packet..
신뢰성 있는 데이터 전송 원리 가정 - Transport layer는 신뢰적인 채널 제공 - 그 아래 계층은 비신뢰적 채널이다. - 비신뢰적인 채널의 특징에 따라 신룆거인 데이터 전송 (rdt)protocol의 복잡도가 달라진다. - 신뢰적인 데이터 전달rdt protocol을 위한 송신측과 수신측 구조를 덧 붙여 설걔 - 단방향 데이터 전달만 고려한다. ( 하지만 제어 정보는 양방향 ) - FSM을 사용하여 송신측과 수신측 동작을 정의한다. Rdt 1.0 : 신뢰적인 채널을 통한 신뢰적인 전송 - 가정 : 하위계층 채널이 완벽하게 신뢰적인다. ( bit 오류 없고, 패킷 손실 또한 없다. ) - FSM : 송신 측은 data를 하위계층에 전송 , 수신측은 하위계층으로부터 data를 읽어 드림 Rdt 2..
Transport 계층 서비스 개요 Transport 서비스 & protocol - 서로 다른 host에 동작하는 애플리케이션 프로세스 간의 논리적 통신을 제공 - Transport protocol은 종단 시스템에서만 동작 -송신측 : message를 쪼개어 segment들로 만들어 network 계층에 넘겨줌 -수신측 : segment들을 재결합하여 message로 만들어 application계층에 넘겨줌 - Transport protocol의 종류 : internet TCP & UDP Transport vs Network 계층 - Network layer : host들간의 논리적 통신 - Transport layer : process들간의 논리적 통신 Internet Transport 계층 proto..
P2P 애플리케이션 파일분배 : P2P구조의 확장성 파일분배 : Bit Torrent - torrent : 파일 분배에 참여하는 모든 peer들의 모임 - tracker : torrent에 참여하는 peer들을 추적 Bit Torrent - File은 256kB 크기의 chunk들로 분할된다. - Torrent에 참여하려는 peer : chunk를 갖고 있지 않지만, 시간에 따라 chunk들이 쌓이게 됨 Tracker에 등록하여 peer들의 목록을 얻고 , 이 peer들에 연결 - peer는 download하면서 chunk를 다른 peer에 업로드 함 - peer는 참여 후 떠날 수 있다. - peer가 전체 파일을 받으면 , 떠나기도 하고 남아있을 수 도 있다. chunk 가져오기 - 서로 다른 pee..
DNS : Domain Name System people : 여러가지 식별자 Internet host , router : IP주소(32bit) datagram의 전달 주소 / " host name " (www.naver.com) : 기억하기 용이하게 사람들이 사용 Domain Name System : 분산 database 계층구조를 가짐 , 응용 계층 프로토콜 Q) IP주소와 hostname사이의 mapping? DNS 서비스 - Hostname과 IP주소 사이의 변환 - Host aliasing : Canonical(정식) hostname , Alias(별칭) hostname : 기억하기 용이 - Mail server aliasing - 부하(load) 분산 - 중복(replicated) web ser..
전자 메일 3개의 구성요소 - 사용자 agent - mail server - SMTP ( Simple mail transfer protocl ) 사용자 Agent - 별칭 "mail reader" - 메일 작성/편집/읽기 - 발송 및 도착 메세지는 mail server에 저장됨 전자 메일 : mail server - Mail box : 수신 메세지 저장 - Message queue : 송신할 메세지 저장 - SMTP protocol : mail server들 사이의 email 메세지 전송 protocol - client : email 메세지를 전송하는 mail server - server : email 메세지를 수신하는 mail server 전자메일 : SMTP - client로 부터 server에 신뢰..