1 2 장. 데이터 통신
2 데이터 통신망 형태 점대점 (point-to-point) 통신망 (communication network) 전화망 (PSTN: Public Switched Telephone Network) LAN(Local Area Network) WAN(Wide Area Network)
3 점대점 (point-to-point) 통신 형태 두 디바이스를 직접 연결 비실용적 [ 그림 2.1] 단점 전용 회선을 설치하려면 상당한 비용 소요 비실용적
4 통신망 (communication network) 접속형태 [ 그림 2.2] 전화망 [ 그림 2.3] 과 같이 모뎀과 전화망을 통하여 통신 LAN(Local Area Network) 한 건물 또는 사무실 규모의 통신 [ 그림 2.4] WAN(Wide Area Network) 컴퓨터가 도시 또는 국가간의 통신 대표적인 예 : Internet
5 통신코드 ASCII American Standard Code for Information Interchange 각 코드는 출력 가능한 코드와 그렇지 않은 코드로 분류 출력 가능한 코드는 문자, 숫자, 콤마, 대괄호, ? 와 같은 특수 종료문자 0A 와 0D 는 출력 불가능 코드로서 line feed 와 carriage return [ 그림 2.5]
6 EBCDIC 코드 Extended Binary Coded Decimal Interchange Code 두 번째로 널리 쓰이는 코드 이는 IBM 메인 프레임과 주변장치에서 주로 사용 EBCDIC 는 8 비트 코드로 구성되며 256 문자를 표현 [ 그림 2.6]
7 부호화 (Encoding) 데이터나 신호를 다른 형태의 데이터나 신호로 변환하는 과정 여기서는 디지털 데이터를 전송신호로 바꾸기 위한 부호화를 의미 고려사항 부호화된 신호는 제한된 채널에서 보다 많은 양의 데이터를 전송하기 위해, 될 수 있는 한 적은 대역폭을 가져야 함. 송수신의 동기화를 쉽게 하기 위해서 부호화된 신호는 전압의 변화가 자주 일어나야 함. 장거리 전송을 위해서 부호화된 신호는 신호의 감쇠 (attenuation) 가 적은 방향으로 생성되어야 함. 부호화 방식의 분류 ( 전압 값과 비트의 대응에 따른 분류 ) 단극형 (Unipolar) : 전압 값 0 과, + 또는 - 값 중 하나만을 사용 극형 (Polar) : + 전압 값에 비트 1 을 대응시키고, - 전압 값에 0 을 대응 양극형 (Bipolar) : 양극형은 전압 값 0V 와 + 전압, 그리고 - 전압을 모두 사용 ※ 교재에서 사용된 모든 그림은 극형 부호화 방식을 사용
8 NRZ(Non Return to Zero) 초창기에 많이 사용되던 방법 낮은 전압 값에 비트 0 을 높은 전압 값에 비트 1 을 대응 특징 : 이름 그대로 비트 하나를 전송하고도, 0 으로 돌아가지 않음. 직관적으로 이해하기 쉬움. 자체 신호만으로는 동기화 (synchronization) 에 어려움이 있음. 비트 1 이나 0 이 계속적으로 반복되는 경우 수신측에서 정확히 몇 개의 비트가 수신되었는지 알기 어려울 수 있음.
9 RZ(Return to Zero) 이름 그대로 매 비트를 전송할 때, 0 으로 계속 돌아가는 방식 0V 가 동기화 신호로 작용가능 각 비트 시간을 반으로 나누었을 때, 첫 번째의 절반 부분은 전송할 비트 값을 나타내는 전압 값이 되고, 두 번째의 절반 부분은 0V 로 돌아가기 때문에 NRZ 보다는 동기화에 좀 더 유리
10 맨체스터 부호화 (Manchester Encoding) IEEE 이더넷 (Ethernet) 에서 사용되는 표준 디지털 부호화 방식 특징 : 각 비트 시간을 반으로 나누었을 때 중간에서 항상 전압의 변화가 발생 비트 1 은 비트 시간 한가운데에서의 전압 변화가 +V 에서 - V 로 변하고, 비트 0 은 전압 변화가 -V 에서 +V 로 변함. 맨체스터 부호화는 NRZ 나 RZ 에 비해서 복잡하고 일반적으로 신호가 더 높은 주파수를 형성하므로 전송시에 더 큰 대역폭을 필요로 하지만, 동기화가 유리하고 약간의 오류 검출 기능을 제공함.
11 차등 맨체스터 부호화 (Differential Manchester Encoding) 맨체스터 부호화를 약간 변형한 형태 비트 시간의 중앙에서 전압의 변화가 일어나는 것은 맨체스터 부호화와 동일하나 비트 0 과 1 에 대한 신호의 대응 방법은 맨체스터 부호화와 다름. 다음에 오는 비트가 0 일때는 비트와 비트 사이의 경계에서 전압 변화가 발생하나, 뒤에 오는 비트가 1 이면 비트간의 경계에서 전압 변화가 일어나지 않음. 따라서 하나의 비트시간만으로 비트값이 0 인지 1 인지를 구분할 수 없고 연속적인 신호가 있을 때에만 비트값을 알아낼 수 있음. IEEE 토큰 패싱 링 (token passing ring) 방식에서 사용되는 표준 디지털 부호화 방식
12 전송 모드 직렬과 병렬 전송 (Serial and Parallel Transfer) 병렬 전송 병렬전송은 일련의 비트들이 각 비트를 위해 여러 라인을 사용하여 동시에 전송 이러한 병렬 전송은 두 장치들간의 거리가 짧은 경우에 일반적으로 사용 예를 들어 PC 에서 프린터로 전송하는 것은 대표적인 병렬 전송 가장 보편적인 예는 컴퓨터와 주변 장치들간의 연결 병렬 전송은 긴 거리일 경우 장점을 상실
13 직렬전송 직렬 전송은 단지 하나의 라인을 사용하여 하나씩 모든 비트를 보냄 긴 거리일 경우 병렬 전송에 비해 적은 비용이 들고 신뢰성 증가 그러나 비트를 하나씩 보내게 되므로 병렬전송보다 더 느리다. [ 그림 2.7]
14 직렬 전송과 병렬 전송
15 동기식과 비동기식 전송 비동기식 전송 [ 그림 2.8] 비동기식 전송은 비트들을 작은 블록으로 나누어 독립적으로 보내며 각 블록의 시작에서 재동기화를 하는 방법 수신자는 블록이 언제 도착할지를 알지 못한다. 예 : 터미널과 컴퓨터사이, 컴퓨터와 라인프린터 높은 오버헤드를 가지고 있음
16 동기식 전송 동기식 전송은 통신을 좀더 효율적으로 하기 위한 수단 동기식 전송은 일반적으로 비동기식 전송에 비해서 더 빠름 문자나 비트들의 블록이 시작 또는 정지 비트 없이 전송 많은 문자들은 개별적으로 보내는 것 대신에 함께 그룹화 되어 전체적으로 전송 ( 데이터 프레임 또는 프레임이라고 함 ) 데이터 프레임의 정확한 구성은 프로토콜에 따라 다름 – 구성 방식 비트 지향 방식 : 비트 단위로 구성 문자 지향 방식 : 문자 단위로 구성 [ 그림 2.9]
17 프레임 시작과 끝의 구분 – 문자 지향 방식 특정한 제어 문자 사용. 필요시 문자 스터핑 방식 이용 – 비트 지향 방식 특정한 비트 패턴 사용. 필요시 비트 스터핑 방식 이용. 예 : HDLC 프레임 구조
18 문자 - 지향 (character-oriented) 전송인 경우 프레임의 처음 부분은 수신기에 프레임이 도착하고 있다는 것을 알려주는 SYN 문자를 가짐 제어 (control) 필드 프레임이 만들어진 시작 주소 프레임이 도착할 목적지 주소 데이터 바이트들의 크기 순서를 나타내는 숫자 데이터 필드는 실제로 보내지는 정보 프레임의 마지막 부분은 프레임의 끝을 나타내는 정보 (ETX)
19 비트 - 지향 (bit-oriented) 전송인 경우 데이터 블록은 비트들의 연속으로 간주되며 데이터는 물론 제어정보도 8 비트 문자 단위로 고려할 필요가 없음 문자 - 지향 전송처럼 특정 비트 패턴이 블록의 시작을 가리키며 이 특정 패턴은 8 비트 길이이며 프래그 (flag) 라고 함 같은 프래그가 프레임의 맨 끝에서 사용
20 동기 전송과 비동기 전송의 비교 – 비동기 전송 저속 전송 오버헤드 많음 비용이 적음 – 동기 전송 고속 전송 오버헤드 적음 비용이 많음
21 전이중, 반이중, 단방향 전송 전이중 (Full duplex) 양쪽의 교신자가 동시에 신호의 전송 가능 – 전화 반이중 (Half duplex) – 양쪽 방향에서 보내고 받을 수 있지만 그것은 교대로 전송 – 무전기 단방향 (Simplex) – 단 한 방향으로만 신호 전송이 가능한 형태 – 일반 TV 방송
22 교환 방식 N 개의 통신 장비를 직접 연결한다고 할 때 N(N-1)/2 개의 연결선이 필요 해결방안으로 각각의 장비들은 통신망에 연결 통신망를 효과적으로 운영하기 위해 교환 기술 (Switching Technology) 을 사용 네트워크 내에서 교환기의 역할을 수행하는 장치를 노드 (node) 상호간의 통신을 원하는 장비들을 스테이션 (Station) 예 : 컴퓨터, 전화기, 터미널 등의 통신 장비 [ 그림 2.10]
23 교환 기술 회선 교환 (Circuit Switching) 메시지 교환 (Message Switching) 패킷 교환 (Packet Switching)
24 회선 교환 공중 전화 망에서 사용 데이터 전송 과정 회선 설립 과정 데이터 전송 과정 회선 해제 과정 단점 : 연결을 설정하여 해제를 하기까지 채널의 대역폭을 독점 장점 : 신뢰성 있는 데이터 전송, 일정한 데이터 전송률로 전송 [ 그림 2.11] 의 (a)
25 메시지 교환 [ 그림 2.11] 의 (b) 회선 교환이 전화에 비교된다면 메시지 교환은 편지에 비교 데이터를 메시지 (Message) 라는 논리적인 단위로 나눔 받아들인 메시지를 저장한 후 경로 상의 또 다른 노드로 전송 (Store-and-Forward)
26 장점 한 개의 메시지를 복사하여 여러 목적지로 보낼 수 있다 메시지의 우선 순위를 정해 필요한 메시지를 먼저 전송 시킬 수 있다. 또한 메시지를 단위로 오류 제어가 가능 단점 메시지가 노드에 잠시 저장되기 때문에 그만큼의 지연이 발생 실시간을 요하는 통신에서는 사용할 수가 없다.
27 패킷 교환 회선 교환과 메시지 교환의 장점을 취하면서 만들어진 교환 방식 [ 그림 2.11] 의 © 패킷이라는 단위로 교환을 수행 패킷은 정해진 형식에 맞추어진 데이터 단위 패킷은 보통 128 ~ 4096 바이트 크기 패킷 교환 방식에서는 하나의 물리적인 회선을 여러 개의 논리적인 채널 (virtual circuit) 로 공유할 수 있는 경제성을 가짐
28 패킷 교환의 두 가지 방식 가상 회선 (Virtual Circuit) – 과정 연결 설정, 데이타 전송, 연결 해제 – 특징 – 논리적인 가상 회선을 설정 – 하나의 연결내에 모든 패킷이 동일한 경로 – 많은 양의 데이타를 안정적으로 전송할 때 유리 데이타그램 (Datagram) – 과정 데이타 전송 ( 연결 설정 및 해제 과정이 없음 ) – 특징 모든 패킷이 각기 다른 경로를 갖을 수 있음 ( 재정열 ) 적은 양의 데이타를 신속하게 보낼 때 유리
29 데이타그램 방식의 예 * 컴퓨터 네트워크 ( 안순신, 김은기 저 참조 )
30 가상 회선 방식의 예 * 컴퓨터 네트워크 ( 안순신, 김은기 저 참조 )
31 데이터그램 전송방법의 경우의 라우팅 데이블 : [ 그림 2.12] 가상회선 전송방법의 라우팅 테이블 : [ 그림 2.13] 노드 C 의 가상회선 번호변경 : [ 그림 2.14]
32 The Network Core mesh of interconnected routers the fundamental question: how is data transferred through net? circuit switching: dedicated circuit per call: telephone net packet-switching: data sent thru net in discrete “ chunks ”
33 Circuit Switching End-end resources reserved for “ call ” link bandwidth, switch capacity dedicated resources: no sharing circuit-like (guaranteed) performance call setup required
34 Circuit Switching network resources (e.g., bandwidth) divided into “ pieces ” pieces allocated to calls resource piece idle if not used by owning call (no sharing) dividing link bandwidth into “ pieces ” frequency division time division
35 Packet Switching each end-end data stream divided into packets user A, B packets share network resources each packet uses full link bandwidth resources used as needed, resource contention: aggregate resource demand can exceed amount available congestion: packets queue, wait for link use store and forward: packets move one hop at a time transmit over link wait turn at next link Bandwidth division into “ pieces ” Dedicated allocation Resource reservation
36 Packet Switching A B C 10 Mbs Ethernet 1.5 Mbs 45 Mbs D E statistical multiplexing queue of packets waiting for output link
37 Packet Switching Packet-switching: store and forward behavior Message size: 7.5Mbits Packet size: 1.5Kbits Link trans. Rate:1.5Mbps Assume: no congestion, no propagation delay
38 Packet switching versus circuit switching Great for bursty data resource sharing no call setup Excessive congestion: packet delay and loss protocols needed for reliable data transfer, congestion control Q: How to provide circuit-like behavior? bandwidth guarantees needed for audio/video apps still an unsolved problem Is packet switching a “ slam dunk winner? ”
39 Packet-switched networks: routing Goal: move packets among routers from source to destination datagram network: destination address determines next hop routes may change during session analogy: driving, asking directions virtual circuit network: each packet carries tag (virtual circuit ID), tag determines next hop fixed path determined at call setup time, remains fixed thru call routers maintain per-call state
40 Delay in packet-switched networks packets experience delay on end-to-end path four sources of delay at each hop nodal processing: check bit errors determine output link queueing time waiting at output link for transmission depends on congestion level of router A B propagation transmission nodal processing queueing
41 Delay in packet-switched networks Transmission delay: R=link bandwidth (bps) L=packet length (bits) time to send bits into link = L/R Propagation delay: d = length of physical link s = propagation speed in medium (~2x10 8 m/sec) propagation delay = d/s A B propagation transmission nodal processing queueing Note: s and R are very different quantitites!
42 에러 검출, 교정 (Detection, Correction) 기법 순방향 에러 정정 (FEC : Forward Error Correction) 여분의 에러 정정 코드 ( 많은 양의 추가 정보 ) 를 포함시켜 전송 전파 지연이 큰 원거리 전송에서 사용
43 자동반복요청 (ARQ : Automatic Repeat Request) 방식 에러가 있는지 없는지를 검출할 수 있을 정도의 적은 비트의 에러 검출 코드를 포함시켜 전송 정정은 재전송으로 해결 고 신뢰성을 확보하기 위해 사용
44 패리티 검사 (parity check) 패리티 비트를 프레임의 각 단에 끝에 첨가 패리티 비트값은 단어의 1 의 개수가 짝수 (even parity) 이거나 홀수 (odd parity) 가 되도록 선정 예 : 송신기가 ASCII 코드 G( ) 를 홀수 패리티를 사용해 전송한다면, 을 전송 두 개 혹은 임의의 짝수개의 비트가 바뀌면 에러를 검출해 내지 못함
45 에러 검출 코드 : 순환 중복 검사 (CRC) * 컴퓨터 네트워크 ( 안순신, 김은기 저 참조 ) 방법 –G(x): 송수신측간에 합의된 생성 다항식 –M(x): 전송할 데이타 –R(x): M(x)/G(x) 의 나머지 (FCS) 모듈로 2 연산사용 : exclusive-OR 연산
46 순환 중복 검사의 예 ( 송신측 )
47 순환 중복 검사의 예 ( 수신측 )
48 오류정정 코드 (Hamming Code) 방법 1 bit 오류를 정정 n bit 의 데이터와 k 개의 패리티 비트 사용 2**K -1 >= n + k 관계가 성립되어야 함 수신측은 syndrome 를 계산, syndrome 이 표현하는 십진수가 오류발생 위치
49 Hamming Code 의 예 ( 송신측 )
50 Hamming Code 의 예 ( 수신측 )