기존의 클래스 기반 주소 체계는 네트워크 크기에 따라 효율적인 분류를 통해 네트워크 크기와 IP 주소 범위를 할당했다. 그러나 이 방식은 고정된 네트워크/호스트 비트 비율 때문에 IP 주소 낭비가 발생하는 단점이 있다.이를 해결하기 위해 Subnetting이 도입됐다. 클래스 기반 주소 체계 설명더보기IP 주소는 32비트로 구성되며 네트워크와 호스트를 구분하는데,클래스 기반 체계에서는 IP 주소의 처음 몇 비트를 기준으로 네트워크 크기를 결정한다. 1. 클래스 A특징: 대규모 네트워크용IP 주소 범위: 0.0.0.0 ~ 127.255.255.255네트워크 비트: 첫 번째 8비트 (1바이트)호스트 비트: 나머지 24비트서브넷 마스크: 255.0.0.0네트워크 수: 128개 (2⁷)호스트 수: 약 1,..
에러 검출 및 복구 (에러 제어) 데이터 전송 중 발생할 수 있는 에러를 검출하고 복구하기 위한 방법들이다. 여기서 에러 검출방법은 이미 지난번에 했다.https://guhonga.tistory.com/221 데이터 에러 검출 기법Hamming 코드 데이터 전송 도중 발생한 에러를 검출할 때, 이 때 Hamming 코드가 사용된다.Hamming 코드는 비트 오류를 검출하고 정정할 수 있는 코드이다. 오류가 발생한 위치를 식별하고 수정할 수guhonga.tistory.com 에러를 복구하는 방법으로 자동 재전송 요청 (Automatic Repeat reQuest, ARQ)이 있는데ARQ에는 3가지 방법이 있다. Stop-and-Wait ARQ 송신측은 하나의 프레임을 전송한 후, 수신측의 ..
데이터 링크 계층 데이터 링크 계층은 물리적으로 오류가 발생할 수 있는 물리 통신 채널을 논리적으로 오류가 없는 완전한 통신채널로 바꿔서 망 계층에 제공한다. 데이터의 전달을 위한 주소체계를 제공하며, 데이터의 오류 검출, 흐름 제어, 프레임 동기화 등을 통해 신뢰성 있는 데이터 전송을 보장한다. 더보기프레임 동기화는 데이터그램을 프레임 단위로 나눈 후, 각 프레임에 헤더와 트레일러를 추가하여 전송한다. FCS(Frame Check Sequence)를 사용하여 전송 중 발생한 오류를 검출하고, 필요 시 재전송을 요청하여 오류를 검출하거나 수정할 수 있다. 송수신 간 데이터 처리 속도의 차이를 조절하는 것으로 흐름을 제어하여 데이터 손실을 방지한다. 이에 해당하는 주요 프로토콜에 이더넷(Ethe..
레지스터 개요 CPU의 데이터 경로를 단순화시켜서 표현한 그림이다.위 경로의 레지스터들을 하나씩 알아보자. 1. Program Counter (PC)프로그램의 현재 명령어 주소를 저장하는 레지스터각 명령어 실행 후, PC는 다음 명령어의 주소를 가리키게 업데이트 된다. (보통 PC+4)2. Instruction Memory프로그램에 있는 명령어들을 저장하는 메모리PC에 의해 지정된 주소에서 명령어를 읽는다. 보통 명령어는 32비트3. Control Unit제어 유닛은 명령어의 opcode(명령어 유형)을 읽어들여, 각종 제어 신호를 생성한다. 이 제어 신호들은 ALU, 레지스터, 메모리 등 다른 컴포넌트들이 어떻게 동작해야 하는지를 결정한다.예: RegDst, ALUSrc, MemtoReg, RegW..
Hamming 코드 데이터 전송 도중 발생한 에러를 검출할 때, 이 때 Hamming 코드가 사용된다.Hamming 코드는 비트 오류를 검출하고 정정할 수 있는 코드이다. 오류가 발생한 위치를 식별하고 수정할 수 있는 기능이 있다.일반적인 Hamming 코드는 4비트의 데이터 비트와 3비트의 패리티 비트를 포함하여 7비트의 코드워드를 형성한다. 4비트 데이터 비트: 실제 전송되는 데이터.3비트 패리티 비트: 오류 검출 및 정정에 사용되는 추가 비트.더보기비트 1: 패리티 비트 (P1)비트 2: 패리티 비트 (P2)비트 3: 데이터 비트 (D1)비트 4: 패리티 비트 (P3)비트 5: 데이터 비트 (D2)비트 6: 데이터 비트 (D3)비트 7: 데이터 비트 (D4) 각 패리티 비트는 지정된 데이터 비..
데이터는 각각의 클럭 차이로 인해 오류를 발생시킬 수 있다.이를 방지하기 위해 우리는 동기 전송과 비동기 전송 방식을 사용한다. 우리가 앞에서 지금까지 배웠었던 동기 전송 방식은 블록 단위로 연속적으로 데이터를 전송하며, 송신기와 수신기의 클럭이 지속적으로 동기화됐었다.하지만 이제 배울 비동기 전송 방식은 각 문자를 독립적으로 전송하며, 각 문자마다 동기화가 이루어지게 된다. 비동기 전송 (Asynchronous Transmission) 이 방식은 데이터를 문자 단위로 전송하며, 각각의 문자는 8~12비트로 구성되어 있고 수신기는 각 문자의 시작 시점에서 동기화를 맞춘다. 이후, 각 문자의 끝에서 다시 동기화가 이루어진다. 비동기 전송의 주요 특징문자 단위 전송: 데이터를 한 문자씩 전송하며,..