데이터 전송 방식
컴퓨터 네트워크 효과
자원 공유
- 컴퓨터 하드웨어, 소프트웨어 등 모든 종류의 물리적, 논리적 자원을 공유
- 자원 활용의 극대화
- 자원공유 목표
- 모든 프로그램과 통신장치, 특히 데이터를 이용하는 사용자나 물리적인 장소에 관계없이 네트워크에 있는 모든 사람이 자원을 사용하는 것
병렬 처리에 의한 성능 향상
- 하나의 공유 시스템 버스에 다수의 메인 프로세서를 장착
- I/O 장치의 처리 속도를 향상시키기 위해 I/O 전용 프로세서를 설치
- 다수의 연산장치나 프로세서, 기억장치를 상호 결합하여, 고속성·신뢰성 및 확장성의 향상을 꾀하는 것을 주목적으로 한 처리방식
- 병렬처리 트랜드
- 범용 컴퓨터의 고속화가, 논리 구성 방식이나 하드웨어 기술(디바이스 기술이나 실장기술)의 개선에서는 점점 곤란해지고, 병렬처리에 의한 고속화 가속
- 고속처리를 필요로 하는 응용분야
유체역학, 원자물리학, 일기예보, 구조해석, 자원탐사, VLSI회로 시뮬레이션 등의 과학기술 계산분야, 화상처리·도형처리·신호처리 등의 실시간 처리나 인간기계 대화, 처리분야, 패턴 인식, 자연언어 이해, 추론이라고 하는 인공지능 응용분야 등
- 1980년대에는 VLSI 시대를 맞고, 또 인공지능 등의 다양한 응용이 보급됨에 따라, 파이프 라인 제어방식 이외의 병렬처리 시스템의 개발연구·상용화가 진행
- 병렬처리 방식 구분
- 분류 방법으로 명령(instruction, I)류와 데이터(data, D)류가 단일(single, S)인가 복수(multiple, M)인가에 따라 컴퓨터의 방식을 크게 4개의 형태로 분류
- SISD
- 한 개의 처리 장치(프로세서)에서, 단일의 데이터에 대한 처리를 하나의 명령으로 실행시키는 방식
단일 명령-단일 데이터 처리(SISD)는 순차적 제어 방식이며 노이만형 컴퓨터 방식
- SIMD
- 하나의 명령어로 여러 개의 값을 동시에 계산하는 방식
- 응용분야
- 벡터 프로세서에서 많이 사용되는 방식으로, 비디오 게임 콘솔이나 그래픽 카드와 같은 멀티미디어 분야에 자주 사용
- CPU에서는 인텔의 MMX, 스트리밍 SIMD 확장(SSE)과 AMD(미국 직접회로 제조회사)의 3D 등의 기술에서 이를 적용
- MISD
- 동일한 데이터를 다수의 명령에 의해 동시에 각기 다른 처리를 하는 병렬 처리 방식
- 명령과 데이터의 흐름에 착안하여 분류한 컴퓨터 제어 방식으로 -파이프라인(pipeline) 제어 방식의 컴퓨터가 이에 속함
- MIMD: Multiple Instruction, Multiple Data
- 전산에서 병렬화의 한 기법
- MIMD를 사용하는 기계는 비동기적이면서 독립적으로 동작하는 여러 개의 프로세서를 가짐
- 장점
- 언제든지 각각의 다른 프로세서들은 각기 다른 데이터를 이용하는 여러 명령어들이 실행할 수 있음
중복 저장으로 신뢰성 향상
- 중복 저장되므로 데이터 복구가 용이함
- 신뢰성의 향상 정도만큼 시스템 성능은 저하됨
전송과 교환
- 교환(Switching)
- 라우터에서 데이터를 어느 방향으로 전달할지를 선택하는 기능
- 전송(Transmission)
- 일대일(1:1)로 직접 연결된 두 시스템간의 신뢰성 있는 데이터 전송을 보장
- 전송과 교환 예: 호스트 a에서 호스트 d로 데이터를 전달
![](https://velog.velcdn.com/images/pingu-/post/42b38ea9-4c8a-4281-aae3-30721701b162/image.png)
- 호스트 a와 호스트 c 간의 직접 연결에 의한 전송
- 호스트 c에서의 올바른 경로 선택을 의미하는 교환
- 호스트 c와 호스트 d 간의 직접 연결에 의한 전송
- 전송 방식의 종류
- 지리적 분포에 따른 분류 방식
- LANLocal Area Network(근거리 통신망)
- MANMetropolitan Area Network(도시규모의 통신망)
- WANWide Area Network(원거리 통신망) 등
- 데이터 전송 .교환 기술의 분류 방식
- 점대점(Point-to-Point) 방식
- 브로드캐스팅(Broadcasting) 방식
점대점 방식 및 브로드캐스팅
- 점대점 방식
- 호스트가 중개 호스트와 일대일로 연결
- 원거리에 있는 시스템 사이의 통신 방식
- WAN 환경에서 주로 사용
- 교환 호스트가 송수신 호스트의 중간에 위치
- 종류 : 스타형, 링형, 완전형, 불규칙형
![](https://velog.velcdn.com/images/pingu-/post/94e5406e-6f15-42ce-8cbb-3b322654d678/image.png)
![](https://velog.velcdn.com/images/pingu-/post/3eba0fbc-e5af-4817-9f38-799bf1706052/image.png)
- 장/단점
- 연결 개수가 많아지면 성능은 유리하나 비용이 많이 소요, 연결 개수가 적어지면 전송 매체를 많이 공유해 네트워크 혼잡도 증가
- 가장 단순한 방법이지만 두 장치는 채널의 전체 용량을 사용하여 송수신할 수 있음
- 스타Star형
- 하나의 중개 호스트 주위로 여러 호스트를 일대일로 연결하는 형태
- 중앙 호스트의 신뢰성과 성능이 네트워크에 영향 줌
- 트리Tree형
- 중앙에 있는 스타 구조 주변에 위치한 호스트들을 중심으로 새로운 스타 구조가 확장되는 형
- 장단점
- 중개 과정이 간단하나 중앙 호스트에 문제발생시 전체 네트워크의 동작에 영향을 줌
- 링Ring형
- 호스트의 연결이 순환 고리 구조
- 모든 호스트가 데이터 전송과 교환 기능을 동시에 수행
- 토큰Token
- 호스트 사이의 데이터 송신 시점을 제어하는 기능
- 데이터의 전송 권한을 의미하는 토큰을 확보
- 데이터 전송이 완료되면 토큰을 다시 링 네트워크에 돌려줌
- 단점
- 한 호스트가 고장 나면 전체 네트워크가 동작하지 않을 수 있음
- 완전형
- 모든 호스트가 다른 모든 호스트와 일대일로 직접 연결하는 방식
- 단점 : 전송 매체가 증가하면 비용 측면이 비효율적임
- 불규칙형
- 연결 구조를 특정 패턴으로 분류할 수 없는 방식
- 일반 네트워크
- 브로드캐스팅 방식
- 네트워크에 연결된 모든 호스트에 데이터가 전송
- 별도의 교환 기능이 불필요
- LAN처럼 지리적으로 가까운 호스트 사이의 통신에서 주로 사용
- 특정 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전달
- LAN 환경에서 사용(교환 호스트 불필요)
- 종류 : 버스형, 링형
![](https://velog.velcdn.com/images/pingu-/post/e7ca77f2-26a2-499c-bb8d-2ebba42cf992/image.png)
- 버스Bus형
- 전송 데이터를 모든 호스트에서 수신할 수 있음
- 충돌(Collision)
- 둘 이상의 호스트에서 데이터를 동시에 전송할 때 충돌 발생
- 충돌 해결 방법
- 호스트의 전송 권한을 제한함
- 사전에 전송 권한을 확보하는 방법
- 시간대를 다르게 지정하는 방법
- 토큰으로 전송 권한을 순환적으로 이용하는 방법
- 충돌 허용
- 둘 이상의 호스트가 데이터를 동시에 전송할 수 있도록 허용, 충돌 발생 시에 해결 과정 필요
- 예 : 이더넷Ethernet
- 링Ring형
- 호스트를 순환 구조로 연결
- 송신 호스트가 전송한 데이터는 링을 한 바퀴 순환한 후 송신 호스트에 되돌아옴
- 중간의 호스트 중에서 수신 호스트로 지정된 호스트만 데이터를 내부에 저장
- 데이터를 전송하기 위해서는 토큰 확보가 필수
- 멀티포인트 통신
- 유니캐스팅Unicasting 방식
- 두 호스트 사이의 데이터 전송 (텔넷, FTP, 웹 검색)
- 규범: 미확정
- 메시지의 수신 주소를 1개만 지정하는 1:1 통신 형태. 반면, 네트워크 내의 모든 주소에 동일 메시지를 보내는 것을 "브로드캐스트", 지정한 복수의 수신 주소에 동일 메세지를 보내는 것을 "멀티캐스트“ 즉, 다수의 수신 호스트 전송
- IP 주소의 클래스 A, 클래스 B 및 클래스 C는 유니캐스트 주소임
- 수신 호스트 하나에만 데이터 전송 유니캐스팅Unicastin
- 멀티포인트Multipoint
- 일대다(1:n)
- 다대다(n:n) 형식(화상 회의, 원격 교육, 인터넷 채팅)
- 하나의 송신 호스트를 기준으로
- 수신 호스트 하나와 연결 : 유니포인트Unipoint
- 다수의 수신 호스트와 연결 : 멀티포인트Multipoint
- 멀티포인트 유니캐스팅MultipointUnicasting
- 일대다 통신을 위해 멀티포인트 유니캐스팅 방식을 사용
![](https://velog.velcdn.com/images/pingu-/post/589f1a35-2907-4475-a4e1-e2bbb75b576e/image.png)
오류 제어
![](https://velog.velcdn.com/images/pingu-/post/077967e9-7f1a-4887-89fc-ccf78ec68a8b/image.png)
[긍정응답 도착: 순차번호가 있는 경우]
- 흐름 제어Flow Control
- 수신 호스트가 감당할 수 있을 정도의 전송 속도를 유지하면서 데이터 프레임을 전송
- 너무 빨리 전송하는 경우
- 수신 호스트가 내부 버퍼에 보관하지 못할 수 있음
- 이는 프레임 분실과 동일한 효과를 야기함
- 데이터 패킷(data packet)을 전송할 때 수신 한도를 넘는 과잉 패킷의 입력으로 패킷 분실이나 록 업(lock up)이 일어나지 않도록 패킷의 흐름량을 조절
- 예) (수신측)윈도 방식의 흐름 제어에서는 수신측의 완충의 크기에 따라 연속하여 수신되는 최대의 패킷 수를 결정함
- 이러한 이유로는 각 수신장치는 버퍼(buffer)라 불리는 메모리 블록을 가지고 있어 들어오는 데이터를 처리 및 저장함. 만약 버퍼가 가득 차기 시작하면 수신기는 송신기에게 다시 수신할 수 있을 때까지 전송을 멈추도록 요구
- 예) (송신측)
- 응답을 받기 전에 송신하는 데이터 패킷 수를 그 이하로 억제하도록 제어함
- 기본 원리
- 수신 호스트가 송신 호스트의 전송 시점을 제어
- 대표적인 예: 슬라이딩 윈도우 프로토콜
[대표적인 슬라이딩 윈도우 알고리즘]
이미지출처 - 배움사이버평생교육원(신은섭교수 강의)