체크섬(Checksum) : 인터넷 프로토콜(ICMP, UDP, TCP) 프로토콜에서 오류를 검출하기 위해 사용 송신 호스트가 송신 데이터를 통해 체크섬을 만드는 방법 1) 모든 데이터를 더한다 2) 덧셈 과정에서 carry가 있다면 warpping을 해준다 3) 1의 보수를 취한다 (-> 체크섬) 4) 체크섬을 포함한 데이터를 수신 호스트에게 보낸다 수신 호스트가 수신 데이터의 체크섬을 통해 오류 검출 방법 1) 체크섬을 포함한 모든 데이터를 더한다 2) 덧셈 과정에서 carry가 있다면 warpping을 해준다 3) 1의 보수를 취한다 4) 그 결과가 0이면 오류가 없고, 0이 아니면 오류가 있다고 판단 ex) 송신 호스트가 수신 호스트에게 4비트 숫자 데이터 (7, 11, 12, 0, 6)를 보내고..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/XIuqU/btq1b9PT5ID/KLgPTp4bw97glEfbqofv7k/img.png)
패리티 (Parity) - 1 바이트 = 7 비트 ASCII 코드 + 1 비트 패리티 - 짝수 패리티: 1의 개수가 짝수가 되도록 패리티를 지정 - 홀수 패리티: 1의 개수가 홀수가 되도록 패리티를 지정 - 송신 호스트와 수신 호스트는 동일한 패리티 방식을 사용해야 함 블록 검사(Block Sum Check) - 짝수개의 비트가 깨지는 오류를 검출 - 수평, 수직 방향 모두에 패리티 비트를 지정 다항 코드(Polynomial Code) 방식 (CRC(Cyclic Redundancy Code)코드 또는 FCS(Frame Check sequence)라고도 함) - 생성 다항식 ex: 다항코드 100101 = 생성 다항식 x^5 + x^2 + 1 - FCS 전송 데이터와 생성 다항식을 이용하여 계산 - 송신 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nqlVT/btq1ha8lnQZ/UBnpSVj1gZqGYrKlUwvd31/img.png)
프레임(Frame) : 송수신 호스트 MAC주소, 제어 정보, FCS 등의 정보 문자 프레임(Character Frame) - 프레임의 내용이 문자(8비트 ASCII 코드)로만 구성됨 - IBM의 BSC 및 ISO의 Basic 프로토콜에 사용 - 프레임의 시작과 끝에 특수 문자 사용 - 시작: DLE(Data Link Escape), STX(Start of Text) - 끝: DLE(Data Link Escape), ETX(End od Text) - 전송 데이터 내에 이러한 특수 문자가 포함되면 혼선이 발생 문자 스터핑(Character Stuffing) - 문자 프레임 전송과정에서 제어 문자를 추가하는 기능 - 송신 호스트: 데이터에 DLE 문자가 있으면 강제로 DLE 문자 추가 - 수신 호스트: 데이..
정규형(Normal Form, NF) : 릴레이션 스키마에 있는 함수종속의 유형에 따라 정규화된 정도를 등급으로 구별함 정규형 등급이 높아질수록 데이터의 중복이 적어지고 이상현상이 줄어듦 FD를 기반으로 하는 정규형 : 제1정규형 (first normal form: 1NF), 제2정규형 (second normal form: 2NF), 제3정규형 (third normal form: 3NF), 보이스-코드 정규형 (Boyce-Code normal form: BCNF) 그 외의 정규형 : 제4정규형 (fourth normal form: 4NF), 제5정규형 (fifth normal form: 5NF or PJNF)) 1) 제1정규형 (first normal form: 1NF) : 릴레이션에 있는 각 필드가 원..
스래드는 프로세스 내부에 존재(프로세스는 하나의 스래드로 구성된 태스크) - CPU 제어의 흐름(flow of CPU control) - 실행 단위(unit of execution) - 한 프로세스 내부에서 스케줄링이 가능한 개체 - 경량(lightweight) 프로세스 단일 스래딩(single-threading): 프로세스 내부에 오직 하나의 스래드만 존재한다 다중 스래딩(multi-threading): 프로세스 내부에 다수의 스래드들이 존재할 수 있다. 프로세스와 같은 점 - CPU를 할당하는 대상(dispatchable objects of CPU) - 시스템 내부에서의 작업 단위(unit of works in a system) - 상태를 가지고 있으며 상태 변환이 일어난다. - 독립적이며 비동기적으..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pocMa/btq0807hyLB/ybfWotLfgMNpfGgVok6U7K/img.png)
프로세스 정의 - 실행 중인 프로그램(program in execution) - CPU를 할당하는 대상(dispatchable objects of CPU) - 시스템 내부에서의 작업 단위 (unit of works in system) - PCB에 존재하는 개체(entity of PCB) - 하나의 스래드(thread)로 구성된 태스크(task) - 비동기적(asynchronous) & 독립적이다. 프로세스 상태 - 준비(ready) : CPU 할당을 기다리고 있는 상태 - 실행(running) : CPU가 할당된 상태 - 대기(waiting) : 요청된 사건(ex: 입출력 사건) 발생이 처리되기를 기다리고 있는 상태 ex: C언어 프로그램 main() 함수 안에서 scanf() 함수를 만났을 때, 실행상..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cJoRSw/btq06hmRo6d/3CVlpcpMZqWlVG30WS5Pl1/img.png)
1) 정상적인 전송 - 송신 호스트가 전송한 데이터 프레임이 수신 호스트에 오류 없이 도착 - 수신 호스트는 송신 호스트에게 긍정 응답 프레임을 회신(Positive Acknowledgement, ACK) - 긍정 응답 프레임(ACK): 데이터가 정상적으로 도착했을 때, 수신 호스트가 송신 호스트에게 회신 2) 프레임 변형 - 송신 호스트가 전송한 데이터 프레임이 깨져서 도착 - 수신 호스트는 송신 호스트에게 부정 응답 프레임을 회신(Negative Acknowledgement, NAK) - 송신 호스트는 원래의 데이터 프레임을 재전송하여 오류 복구 - 부정 응답 프레임(NAK): 데이터가 깨져서 도착했을 때, 수신 호스트가 송신 호스트에게 회신 3) 프레임 분실 - 송신 호스트가 전송한 데이터 프레임이..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/M5yLH/btq08vZpD19/DtSlA7lKGLpeOgGZBqgwEk/img.png)
멀티포인트 통신 : 유니캐스팅, 브로드캐스팅, 멀티캐스팅 1) 유니캐스팅(Unicasting) - 송신 호스트가 한번의 전송으로 하나의 수신 호스트에 데이터를 전송 (1:1) - 호스트 a가 호스트 d, e, f에게 데이터를 전송하려면 3번의 송신 절차가 필요 - 수신 호스트의 수가 증가하면 성능에 문제점 발생 - 텔넷, FTP, 웹 검색 등 2) 멀티캐스팅(Multicating) - 송신 호스트가 한번의 전송으로 다수의 수신 호스트에 데이터를 전송 (1:n) - 멀티 캐스트 그룹을 구성해야 함 - ex: 송신 호스트 a, 수신 호스트 d, e, f - 오디오 비디오 서비스, 화상회의, 원격교육, 인터넷 채팅 등 3) 브로드캐스팅(Broadcating) - 송신 호스트가 한번의 전송으로 네트워크의 모든 ..