컴퓨터과학 63

[컴퓨터 네트워킹] 4-1) TCP(Transmission Control Protocol)

Keyword - 연결지향(connection-oriented): 송/수신기 사이의 물리적인 연결이 아닌 논리적인 연결을 의미하는 개념 - 핸드셰이크(handshake): 통신 관련 분야에서 둘 이상의 장치가 연결/단절을 위해 선행하는 약속된 협상 과정 - 최대 세그먼트 크기(Maximum Segment Size, MSS): TCP가 세그먼트 한 개로 보낼 수 있는 최대 데이터 크기 - 전이중 통신(full-duplex): 송신과 수신이 동시에 가능한 통신 방식(참조: https://ko.wikipedia.org/wiki/이중통신) - 혼잡 윈도우(congestion window): 송신측에서 ACK 수신 없이 연속적으로 전송할 수 있는 최대 데이터 양 - AIMD (Additive Increase an..

[컴퓨터 구조] 4-4) 명령어 주소지정 방식(Addressing Mode)

명령어 주소지정방식을 알아보기 전에 명령어에 대해서 소개 한다.. 명령어의 종류 명령어 주소지정방식 즉치(immediate addressing mode) 묵시적(implied addressing mode) 직접(direct addressing mode) 간접(indirect addressing mode) 레지스터(Register addressing mode) 레지스터 간접(Register indirect addressing mode) 변위(displacement addressing mode) 즉치(immediate addressing mode) 묵시적(implied addressing mode) 직접(direct addressing mode) 간접(indirect addressing mode) 레지스터(..

[컴퓨터 구조] 4-3) CPU 명령어의 종류와 형식

CPU 명령어의 종류 명령어의 형식 명령어는 cpu가 한번에 처리할 수 있는 비트 수의 크기(Word)로 정의 된다. 명령어를 구성하는 비트는 용도에 따라 몇 개의 필드(filed)로 나누어진다. 기본적으로 Op-Code 필드, Operand필드로 구성 Operand 필드는 컴퓨터의 처리 능력에 따라 여러 개의 Operand 필드로 구성 Op-code 및 Operand 필드의 비트 수 결정 Op-code 필드의 비트수 CPU에서 수행될 연산 종류의 수에 따라 비트의 수가 결정됨 4bit -> 16가지의 연산정의 5bit -> 32가지 연산정의 비트의 수가 증가 할 수록 많은 연산의 정의 가능 오퍼랜드의 필드의 비트수가 감소함 (전체 bit는 정해져 있기 때문..) 명령어의 기본구성 요소는 다음과 같다. ..

[컴퓨터 구조] 4-1) CPU의 기본구조 및 구성요소

CPU의 기본구조부터 살펴보자~ CPU의 기본구조 CPU의 구성요소 Program Counter(PC) Accumulator(AC) Instruction Register(IR) Stackpointer Register(SP) Memory Address Register(MAR) Memory Data Register(MDR) Instruction Set Program Counter(PC) 다음에 인출할 명령어 주소 값을 가지고 있는 레지스터 각 명령어가 인출된 후에는 자동적으로 일정 크기(명령어 길이: 워드)만큼 증가 분기(Branch), 조건(Conditional)명령어가 실행되는 경우, 해당 명령어가 있는 목적지 주소 값으로 갱신 Accumulator(AC) 처리할 데이터를 일시적으로 저장하는 레지스터 레..

[컴퓨터 네트워킹] 3-5) Packet Retransmission method(패킷 재전송 방법)

인터넷 프로토콜을 처음 개발할땐 서로 신뢰할 수 있는 대상자와 통신 했기 때문에 신뢰성을 고려하지 않았다. 하지만 현재는 그러하지않다... ㅠㅠ 그러면 신뢰성있는 데이터를 전송하기 위해서는 어떠한 방법을 써야할까?? 신뢰성 있는 데이터 전송의 원리 신뢰성 있는 채널을 통한 서비스 추상화 손상 및 손실 없는 데이터 순차적인 데이터 전송 Service of TCP Error type and solution 데이터를 전송하다보면 다양한 원인으로 패킷이 손실되거나 망가질수 있다. 이러한 문제를 해결하기 위해 에러를 검출하고 다음과 방법을 도입했다. -> Packet Retransmission method 패킷 재전송 방법은 다음과 같다. ARQ(automatic repeat request) Stop and wa..

[컴퓨터 네트워킹] 3-4) UDP 그리고 checksum

UDP란? User Datagram Protocol의 약자 이다. UDP의 특징은 다음과 같다. No Frill, Bare bones 최소한의 필요 기능만 수행 -> Simple (ip, port 지정) 비연결형(Connectionless service) 오류 검출 기능(재전송, 복구 없음) 비신뢰성 Faster than TCP DNS, SNMP(간이 망 관리 프로토콜: 네트워크 모니터링 목적으로 네트워크 관리에서 주로 사용) UDP Segments 는 다음과 같다. Length: header를 포함한 bytes UDP의 오류검출 기능인 Checksum에 대해 알아보자 Checksum Sender 16bit 정수형 전송 전 checksum에 0이 저장되어 있음 Source port, dest port, ..

[컴퓨터 네트워킹] 3-3) Port와 Socket이란?

Port? 어플리케이션은 각 port가 할당된다고 우린 배웠다.. 다음 세그먼트를 보면 알 수 있다. port로 구분한다고는 하지만 다음과 같은경우가 발생하면 어떻게 될까...? How distinguish between Server application’s process#1 and process#2…? 이러한 문제를 해결하기위해 Socket의 등장..! Socket 프로세스는 소켓(door)을 통해서 데이터를 주고 받는다. 만약 Client#1과 Client#2가 Server와 동시에 통신하려고 한다면..? TCP Connection oriented에 의하여 connection과정에 분류된다…(client ip가 다르다)

[컴퓨터 네트워킹] 3-2) 전송계층이란?

전송계층: Transport Layer 프로세스간 논리적인 연결을 담당하는 계층 어느 프로세스에 데이터를 전달? TCP, UDP 컴퓨터에는 많은 프로세스가 존재함. IP로 구분한다.(Network Layer) 송신자(Sender) Application 메시지를 Segments로 분할 Segment는 network layer를 통과 수신자(Receiver) Segments를 메시지로 재조합 메시지는 Application layer를 통과 TCP vs UDP Multiplexing Multiplexing at sender 전송계층의 기본 기능!! Network를 통해 다수의 어플리케이션의 데이터 패킷을 보냄 Outlook, Chat program, discord Demultiplex an receiver 다..