아날로그 전송

1      아날로그 전송


1.1  디지털--아날로그 전송 : ASK(진폭 변이 변조), FSK(주파수 변이 변조), QAM(구상 진폭 변조)


비트 전송률은 초당 비트수, 보율(baud)은 초당 신호 단위의 수이며 디지털 데이터의 아날로그 전송의 경우 보율은 비트 전송률과 같거나 적다


S=n*1/r baud (S=
신호요소의 수, 보율(n), N=데이터 전송률(bps), r=한 개의 신호요소에 전달되는 데이터 요소의 개수)


1.2  아날로그--아날로그 변환 : 진폭변조(AM), 주파수변조(FM), 위상변조(PM) 3개의 방법


1.2.1       진폭변조(AM)라디오의 대역: 오디오 신호의 대역폭은 4kHz -> 최소 10kHz대역폭 필요


1.2.2       주파수변조(FM)라디오의 대역 : 15kHz(스테레오), 방송국은 (88MHz~108MHz)


1.2.3       위상변조(PM) : 최대 진폭과 주파수는 유지, 입력 신호의 진폭이 바뀜에 따라 위상 변경


 

'SW > 데이터통신' 카테고리의 다른 글

전송매체  (0) 2017.09.05
주파수 분할 다중화, 반송파  (0) 2017.09.05
물리층 (Physical layer, OSI-7-Layer  (0) 2017.09.05
OSI-7-Layer (OSI 7계층)  (0) 2017.09.05
네트워크 물리적 구조  (0) 2017.09.05

물리층 (Physical layer, OSI-7-Layer


1      물리층 개요


1.1  데이터와 신호


1.1.1       아날로그와 디지털 데이터


아날로그 데이터 : 연속인 정보


디지털 데이터 : 이산 값을 갖는 정보


1.1.2       아날로그와 디지털 신호


아날로그 신호 : 연속적인 파형


디지털 신호 : 이산적(1, 0)인 제한된 수의 정의된 값만을 가질 수 있다.


1.2  위상 : 시각 0시에 대한 파형의 상대적인 위치를 기술


1.3  디지털 신호


1.3.1       비트율 : 시간당 비트 간격의 개수(bps(bits per second)로 표현)


1.3.2       비트 길이(bit length) : 비트 길이는 한 비트가 전송 매체를 통해 차지하는 길


1.3.3       디지털 신호의 전송


1.3.3.1    기저대역 전송 : 기저대역(baseband)전송이란 디지털 신호를 아날로그 신호로 바꾸지 않고 있는 그

대로 채널을 통해 전송하는 것


1.3.3.2    광대역 전송 : 광대역(broadband)전송이란 디지털 신호를 전송하기 위해 아놀로그 신호로 전환


Broadband : 다양한 종류의 signal을 보냄


Baseband :
한 종류의 signal을 전송하는데 쓰임


1.4  전송장애


1.4.1       감쇠 : 에너지 손실을 의미하며 데시벨이라는 감쇠의 단위가 있다


1.4.2       일그러짐 : 신호의 모양이나 형태가 변하는 것을 의미


1.4.3       잡음 : 여러 형태의 잡음으로 신호를 변형시킴


SNR(
신호--잡음 비) = signal power/noise power 으로 클수록 좋다


1.5  데이터 전송률의 한계


1.5.1       무잡음 채널 : 나이퀴스트 비트율 : 나이퀴스트가 무잡음채널에서 전송률의 한계 계산


1.5.2       잡음 채널 : 섀넌 용량 Capacity = bandwidth * log_2 (1+SNR)


1.6  성능


1.6.1       대역폭(Bandwidth) : 헤르츠 단위와 비트율 단위가 있다


헤르츠 단위 : 복합 신호의 주파수 영역이나 채널이 통과시킬 수 있는 주파수 영역(Hz)


비트율 단위 : 채널 또는 링크의 비트 전송 속도(bps)


1.6.2       처리율(throughput) : 어떤 지점은 데이터가 얼마나 빠르게 지나가는가를 측정


1.6.3       지연(latency, delay) : 전체 메시지가 모두 목적기에 도착할 때까지 소요된 시간


지연 : 전파시간 + 전송시간 + 큐시간 + 처리시간


전파시간 : 비트가 발신지로부터 목적지까지 이동하는데 소요되는 시간(거리/전파속도)


전송시간 : 첫 번째 비트가 먼저 떠나 먼저 도착하고 마지막 비트는 뒤에 떠나 뒤에 도착


마지막 비트가 도착하기까지 걸리는 시간 (메시지크기/대역폭)


큐시간 : Packet 교환망의 특징(Store and forward)적인 delay로 장치들이 메시지를 처리하기 전까지 메시지를 가지고 있는 시간


1.6.4       대역폭-지연 곱(bandwidth*delay) : 대역폭과 지연은 링크의 두 가지 성능 지표


링크를 채울 수 있는 비트 개수를 의미


1.6.5       파형 난조(jitter) : 지연과 연관된 또 다른 성능으로 volume = bandwidth*delay


디지털 전송


1.7  디지털--디지털 변환 : 회선 부호화, 블록 부호화, 스크램블링


1.7.1       회선 부호화(line coding) : digital data -> digital signal로 전송층에서는 부호화, 수신측에서는 복호화


데이터 전송률 : 1초당 전송된 데이터 요소의 개수


신호 전송률 : 1초당 전송된 신호 요소의 개수


1.8  아날로그--디지털 변환 : 펄스 코드 변조, 델타 변조


1.8.1       펄스 코드 변조 : 아날로그 신호를 디지털 데이터로 바꾸는 가장 많이 쓰는 방법


1.8.2       델타 변조 : 간단한 방법


1.9  전송 방식 : 병렬 방식(여러 개의 비트들이 매 클록 펄스에 따라 함께 보내진다.


,
직렬 방식 : 매 클록 펄스마다 하나의 비트를 보내며 동기식, 비동기식, 등시식 3개의 방법이 있으며 하나의 채널만이 필요하다. 등시식 전송은 정해진 시간에 데이터가 도착하는 것을 보장


'SW > 데이터통신' 카테고리의 다른 글

주파수 분할 다중화, 반송파  (0) 2017.09.05
아날로그 전송  (0) 2017.09.05
OSI-7-Layer (OSI 7계층)  (0) 2017.09.05
네트워크 물리적 구조  (0) 2017.09.05
data flow (데이터 흐름방향)  (0) 2017.09.05

OSI-7-Layer (OSI 7계층)

Application

 

Message, Data

HTTP,FTP,SMTP

 

 

Application

 

Host to host

Presentation

JPG,MPEG,AFP

 

Session

SSH

 

Transport

Segment, datagram

TCP, UDP

 

Transport

Process to process

Network

Packet

IP,RIP,ICMP

gateway

Network

Host to host

Data Link

Frame

Ethernet,PPP

Router

Data link

Hop to hop(node)

Physical

bit

RS-232

Hub,repeater

Physical

Hop to hop(node)

OSI model

(7 layer)

Data Unit

Protocol

Device

TCP/IP

(5 layer)

 

(Host = node = end = hop)


발신지 호스트는 응용층에서 메시지를 생성하고 그것을 아래 계층들에게 Encapsulation하여 아래 층으로 보내서 Dest.로 송신, Dest1계층부터 상위 계층으로 decapsulation하여 도착(각 계층의 프로토콜에 맞는 포맷으로 보냄.

'SW > 데이터통신' 카테고리의 다른 글

아날로그 전송  (0) 2017.09.05
물리층 (Physical layer, OSI-7-Layer  (0) 2017.09.05
네트워크 물리적 구조  (0) 2017.09.05
data flow (데이터 흐름방향)  (0) 2017.09.05
데이터 통신 구성요소 (용어정리)  (0) 2017.09.05

네트워크 물리적 구조

1.1  네트워크


정의 : 통신이 가능한 서로 연결된 장치의 모임. (장치들을 노드라 칭함)


1.2.2 물리적 구조


연결유형


점 대 점 연결(point to point) : tvremote controller 사이의 연결, 통신만 담당


다중점 연결 : 3개 이상의 특정 기기가 하나의 링크를 공유


물리적 접속형태


그물형 접속형태(mesh topology) : 통신만 담당하는 전용의 점대점 링크를 갖는다.
     
링크의 개수는 n(n-1)2 (전화 지역국들 사이의 연결)


스타형 접속 형태(star topology) : 허브라 불리는 중앙 제어장치와 전용 점대점링크 (근거리 통신망 LAN에서 사용)


버스형 접속 형태(bus topology) : 다중점링크로 하나의 긴 케이블이 네트워크상의 모든 장치를 연결하는 중추(backbone)네트워크 역할을 한다. (hub가 없다) 각 노드는 탭과 유도선으로 연결되어 있다.


링형 접속형태(ring topology) : 각 장치는 단지 자신의 양쪽에 있는 장치와 전용으로 점대점 연결, 각 노드는 중계기(repeater)를 포함한다. Repeater는 다른 기기의 신호를 재생하여 전달하는 역할을 한다. 링을 통하여 단방향 전송만 가능하기에 이중 링을 사용하기도 함

data flow (데이터 흐름방향)

데이터 흐름 방향


1. 단방향 방식(simplex mode, unidirectional) : 키보드, 마우스, 모니터 등으로 입력과 출력 둘 중 하나만 할 수 있는 것


2. 반이중 방식(half-duplex mode) : 워키토키 등으로 송신과 수신 모두 가능하지만 동시에는 불가능 하다.


3. 전이중 방식(full-duplex mode) : 전화네트워크, 인터넷 등으로 송수신을 동시에 할 수 있다.

 

'SW > 데이터통신' 카테고리의 다른 글

OSI-7-Layer (OSI 7계층)  (0) 2017.09.05
네트워크 물리적 구조  (0) 2017.09.05
데이터 통신 구성요소 (용어정리)  (0) 2017.09.05
DHCP(Dynamic Host Configuration Protocol)  (0) 2017.09.05
TCP/UDP  (0) 2017.09.05

데이터 통신 구성요소 (용어정리)

1. 메시지 : 통신의 대상으로 데이터를 뜻함(텍스트, 숫자, 그림, 소리 등)


2. 송신자 : 메시지를 보내는 장치 (컴퓨터, 전화기, 비디오 등)


3. 수신자 : 메시지를 수신하는 장치 (전화기, tv, 컴퓨터)


4. 전송매체 : medium으로 메시지가 송신자로부터 수신자까지 이동하는 물리적 경로


5. 프로토콜 : 데이터 통신을 통제하는 규칙의 집합, 통신하고 있는 장치들 사이의 상호합의


      통신절차 : syntax(구문), semantics(의미), timing


      통신규약 : event, action, format(양식)

'SW > 데이터통신' 카테고리의 다른 글

네트워크 물리적 구조  (0) 2017.09.05
data flow (데이터 흐름방향)  (0) 2017.09.05
DHCP(Dynamic Host Configuration Protocol)  (0) 2017.09.05
TCP/UDP  (0) 2017.09.05
IP (Internet Protocol)  (0) 2017.09.05

NETWORK (네트워크)

네트워크


프로토콜이란 컴퓨터와 컴퓨터 사이에서 데이터를 어떻게 주고받을 것인지를 정의한 통신규약


컴퓨터의 주소는 MAC, IP, 호스트 명 이 있다


MAC주소 : 6개의 16진수 (48비트) 제조사번호, 일련번호로 구성


IP주소 : 네트워크부분(네트워크 구분), 호스트 부분(해당 네트워크에서 컴퓨터 식별)으로 구성


호스트 명 : www(호스트 부분) naver.com(네트워크 부분)


포트번호 : 각 서비스를 구분하는 번호



Netstat : 네트워크 상태 정보 출력하기


o -a : 모든 소켓 정보를 출력한다.


o -r : 라우팅 정보를 출력한다.


o -n : 호스트 명 대신에 IP 주소를 출력한다.


o -i : 모든 네트워크 인터페이스 정보를 출력한다.


o -s : 프로토콜별로 네트워크 통계 정보를 출력한다.


o -p : 해당 소켓과 관련된 프로세스의 이름과 PID를 출력한다


 

호스트 이름 확인하기 : hostname, uname -n



Uname : 시스템 정보 출력


o -m : 하드웨어 종류를 출력한다.


o -n : 호스트 이름을 출력한다.


o -r : 운영체제의 릴리즈 정보를 출력한다


o -s : 운영체제의 이름을 출력한다.


o -v : 운영체제의 버전을 출력한다.


o -a : 위의 모든 정보를 출력한다.

 


 

원격 접속하여 파일 송수신 하는 서버 : 텔넷, SSH, FTP


텔넷 : 원격에서 리눅스에 접속하는 프로그램의 이름(서버와 클라이언트 필요) -> xinetd에 의해 동작(open 접속 quit 종료)


SSH : 텔넷과는 달리 모든 통신을 암호화한다 (SSH 데몬 필요)


FTP => vsFTPD(리눅스 FTP 서버)


Get : 파일 하나를 호스트로 가져온다. Mget : 여러 개의 파일을 가져온다


Put : 파일 한 개를 호스트로 보낸다. Mput : 여러 개의 파일을 보낸다.


Hash : 송수신이 진행되고 있는지 표시 bye : 접속 종료

'SW > LINUX' 카테고리의 다른 글

Server & Client  (0) 2017.09.05
IPC (Inter Process Communication)  (0) 2017.09.05
GDB  (0) 2017.09.05
버전관리, SVN  (0) 2017.09.05
GCC compiler (내부 매크로, Makefile)  (0) 2017.09.05

GDB

Bug : 컴퓨터 프로그램의 결함


Logic error : 제어문이나 데이터 형의 잘못된 사용 -> 비정상적인 결과


Compile error : 문법 오류


Runtime error : 프로그램의 실행 도중 발생하는 오류


Link error : 전역변수 정의 및 함수 선언 및 정의가 잘못된 경우


Debugging : 버그를 발견하여 수정하는 것





GDB : 프로그램이 실행될 때 내부에서 어떻게 작동되는지를 확인


           -g 옵션 : 컴파일 되는 실행 파일에 디버깅 정보 삽입



o 사용법


l ß 소문자 L 을 뜻한다.


l 메인 함수를 기점으로 소스 출력


l [행번호] 해당 행 주위의 소스를 보여준다


l [파일명]:[함수명] 특정 파일의 소스를 보여준다


l [함수명] 해당 함수의 소스를 보여준다


l - 출력된 행의 이전 행을 출력


l file.c:func file.c 파일의 func 함수 부분 출력


l file.c:10 file.c 파일의 10행을 기준으로 출력

 

브레이크포인트 : 실행 도중 프로그램에 대한 추가적인 정보를 알아내기 위한 수단


b func func 함수의 시작 부분에 브레이크 포인트 설정


b 10 10행에 브레이크 포인트 설정


b file.c:func file.c 파일의 func 함수에 브레이크 포인트 설정


b file.c:10 file.c 파일의 10 행에 브레이크 포인트 설정


b +2 현재 행에서 2개 행 이후 지점에 브레이크 포인트 설정


b -2 현재 행에서 2개 행 이전 지점에 브레이크 포인트 설정


b *0x8049000 0x8049000 주소에 브레이크 포인터 설정(어셈블리로 디버깅 시 사용)


b 10 if var = 0 10행에 브레이크 포인트를 설정하는데 var 변수 값이 0일때 작동


tb b 명령어로 브레이크를 걸면 gdb가 종료할때 까지 유용하므로 임시로 한번

만 브레이크 포인트를 걸고 싶을때 사용


d : 모든 브레이크포인트를 지움


s : 현재 행 수행 후 정지 함수 호출 시 내부로 들어감


s 5: s5번 입력


n : 형재 행 수행 후 정지, 함수 호출시 함수 수행 후 다음 행으로 감


c : 다음 브레이크포인트를 만날 때까지 계속 진행


u : 현재 루프를 빠져나감


finish : 현재 함수를 수행하고 빠져나감


return : 현재 함수를 수행하지 않고 빠져나감


return123 : 현재 함수를 수행하지 않고 빠져나감, 리턴값은 123


와치포인트 : 어떤 변수 값이 바뀔 때마다 브레이크를 걸 때 사용


- i locals 현재 상태에서의 지역변수와 값 출력


- p : 개별 변수의 출력


- p $[register] 레지스트 값 확인


- i registers 레지스트 값 전체를 출력



n 출력 형식의 지정


o 사용법


p/[출력형식] [변수]


출력형식


t : 2진수


o: 8진수


d:부호있는 10진수


u:부호없는 10진수


x:16진수


f:부동 소수점


c:최초 1바이트의 문자형

'SW > LINUX' 카테고리의 다른 글

IPC (Inter Process Communication)  (0) 2017.09.05
NETWORK (네트워크)  (0) 2017.09.05
버전관리, SVN  (0) 2017.09.05
GCC compiler (내부 매크로, Makefile)  (0) 2017.09.05
리눅스 명령어 - PROCESS  (0) 2017.09.05

버전관리, SVN

버전 관리 : 소스 코드 관리 (동일한 정보에 대하 여러 버전을 관리)


->공동 프로젝트 관리, 프로젝트 백업, 데이터 동기화를 위함


체크 아웃 : 저장소에서 파일을 가져옴


체크인 : 체크아웃한 파일의 수정이 끝나서 저장소에 새로운 버전으로 갱신


가져오기 : 처음으로 저장소에 파일을 복사


저장소 : 파일의 현재 버전과 변경 이력 정보를 저장하는 저장소


CVS : 공동 버전 시스템


Import : 프로젝트 파일 등록


Checkout : 프로젝트 파일 가져오기


Commit : 프로젝트 파일 수정 후 cvs서버에 반영


Update : cvs 서버의 최신 버전을 작업 디렉토리에 반영


Diff : 파일 버전에 따른 차이점 비교


Log : 파일 로그 보기


Annotate : 행별 정보 출력


Tag : 프로젝트 파일에 태깅하기


Rtag : 저장소 디렉토리에 태깅하기


Release : 모듈 release




 

SVN : Cvs 단점 개선(원자적 commit, 빠른 속도, 웹 인터페이스, 디렉토리 버전, 파일이름 변경)


Import : 프로젝트 서버 설정 후 디렉토리 안에 있는 파일을 처음 등록


Checkout : 서버에 있는 파일을 받아오는 명령


Ci : commit(comment를 달아 서버로 업로드)


Up : update(내 폴더에 있는 파일들을 현재 서버에 있는 최신 버전으로 업데이트)


Tag : trunk branches의 특정 시간을 가리키는 포인터


Branch : 새로운 기능을 추가하고 싶을경우! 테스트가 끝나면 merge

'SW > LINUX' 카테고리의 다른 글

NETWORK (네트워크)  (0) 2017.09.05
GDB  (0) 2017.09.05
GCC compiler (내부 매크로, Makefile)  (0) 2017.09.05
리눅스 명령어 - PROCESS  (0) 2017.09.05
리눅스 명령어 - INFO  (0) 2017.09.05

GCC compiler (내부 매크로, Makefile)

GCC

Gnu compiler collection C, C++, objective C, portlan, Java 등 컴파일러를 포함하는 의미

소스파일을 이용해 실행파일을 만들 때까지 필요한 프로그램을 차례로 실행시키는 툴



과정

*.c -> (전처리 ccp) -> *.i -> (컴파일 cc1) -> *.s -> (어셈블 as) -> *.o -> (링크id) -> a.out

소스파일->전처리된 파일->어셈블리어 파일->오브젝트 파일->실행 파일



Option

( -c ) : 오브젝트파일까지만 컴파일 하고 링크하는 과정 생략 (gcc -c c.c ) => c.o


( -o ) : 바이너리 형식의 출력 파일 이름 지정, 없을시 a.out (gcc -o file file.c)


( -I ) : 헤더 파일을 검색하는 디렉토리 목록을 추가(이 옵션이 없으면 해당 파일에서 헤더파일을 검색하지만 있다면,

gcc age -c -l /root 와 같이 경로를 설정함 (대문자 아이)



분리 컴파일

소스가 길 경우 나눠서 코딩한 후 묶어서 컴파일


(gcc main.c hi.c -o test)


Gcc -c main.c// gcc -c hi.c// gcc main.o hi.o -otest          


Make : gcc는 여러 파일중 어떤 파일이 수정된다면, 모든 파일을 다시 컴파일 하고 링크해야 하지만

make는 수정된 파일을 자동으로 알아내 컴파일 하고 수정하지 않은 파일은 기존 오브젝트파일 이용한다.


( , ) 같은 건 사용하지 않고 공백으로 한다. 명령을 시작하기 전에는 TAB, 다른 곳에선 TAB 불가, 순서는 중요하지 않다.



Makefile

test: test1.o test2.o test3.o

gcc -o test test1.o test2.o test3.o

test1.o: test1.c a.h

gcc -c test1.c

test2.o: test2.c a.h b.h

gcc -c test2.c

test3.o: test3.c b.h c.h

gcc -c test3.c




'SW > LINUX' 카테고리의 다른 글

GDB  (0) 2017.09.05
버전관리, SVN  (0) 2017.09.05
리눅스 명령어 - PROCESS  (0) 2017.09.05
리눅스 명령어 - INFO  (0) 2017.09.05
리눅스 명령어 - USER  (0) 2017.09.05

'SW'에 해당되는 글 120건

1 ··· 6 7 8 9 10 11 12 →