DT 4장 : 데이터 전송

컴퓨터 네트워크 효과

1. 자원 공유

컴퓨터 하드웨어, 소프트웨어 등 모든 종류의 물리적,논리적 자원을 공유
ex) 내 pc를 서버로 만들면 만들면 남들이 내 하드웨어, 소프트웨어를 사용

2. 병렬 처리에 의한 성능 향상

여러 컴퓨터를 네트워크로 연결해서 작업 처리

3. 중복 저장으로 신뢰성 향상

클라우드 등에 저장 가능하므로 중복 저장이 됨 -> 로컬 장소에서 삭제돼도 복구가 유리함


교환과 전송

교환(Switching): 라우터에서 데이터를 어느 방향으로 전달할지를 선택하는 기능
<전화를 걸음 -> 전화국이 전송 작업을 통해 연결을 해줌>

전송(Transmission): 일대일로 직접 연결된 두 시스템 간의 통신
<연결이 됨 -> 서로 이야기를 함 >

호스트 a에서 호스트d로 데이터를 전달하려면 다음 과정을 순차적으로 진행해야 한다.

  1. 호스트 a와 호스트 c간의 직접 연결에 의한 전송
  2. 호스트c에서의 올바른 경로 선택을 의미하는 교환
  3. 호스트c와 호스트d간의 직접 연결에 의한 전송


전송 방식의 종류

  • 지리적 분포에 따른 분류 방식

    LAN(한 건물), MAN(도시 규모, 건물과 건물 사이), WAN(도시와 도시 사이, 서울~부산)

  • 데이터 전송,교환 기술의 분류 방식

    점대점 (1대1) – Unicast <WAN, MAN에서 주로 사용>
    브로드캐스팅(1대 All) <LAN에서 주로 사용>
    멀티포인트[멀티캐스트] (1대 Group)


점대점 방식

연결 개수가 많아지면 성능은 유리하나 비용이 많이 소요,
연결 개수가 적어지면 전송 매체를 많이 공유해 네트워크 혼잡도가 증가
(스타형은 WAN형, 링형은 MAN형)

스타형: 하나의 중개 호스트 주위로 여러 호스트를 일대일로 연결하는 형태
<교환과 전송이 별도로 일어남, 교환(연결 지점 결정)한 후 전송>

링형: 호스트의 연결이 순환 고리 구조
<전송과 교환 기능을 동시에 수행, 연결 지점이 토큰으로 정해져 있음>


브로드캐스팅 방식

특정 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전달 (가능)

버스형의 충돌: 둘 이상의 호스트에서 데이터를 동시에 전송할 때 충돌 발생 -> 충돌 허용: 충돌 발생 시에 해결 함
링형은 충돌 X: 토큰이 있는 호스트만 전송할 수 있음 -> 충돌 안 생김


멀티 포인트 통신

유니캐스팅 방식
두 호스트 사이의 데이터 전송 (웹 검색, 텔넷, FTP)

멀티포인트
1대 N, N대N (화상 회의, 원격 교육, 인터넷 채팅)

<그룹 f,e,d한테만 보냄 >


멀티포인트 유니캐스팅
유니캐스트(1대1)를 이용해서 멀티캐스트(1대N)를 만드는 방식
단점: 수신 호스트 수가 많아지면 성능에서 문제가 생김 (호스트가 100개면 100개를 전송)


브로드캐스팅
1대 ALL [특정 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전달]


오류 제어 & 흐름 제어

1. 수신 호스트의 응답 프레임

송신 호스트에게 응답 프레임을 전송해 원래의 데이터 프레임을 재전송하도록 요구

  • 긍정 응답 프레임 (받았다고 메시지를 보냄)
  • 부정 응답 프레임 (안 받았다고 메시지를 보냄)

2. 송신 호스트의 타이머 기능

타임아웃 – 데이터 프레임을 전송한 후에 일정 시간 이내에 수신 호스트로부터 긍정 응답 프레임 회신이 없으면 데이터 프레임을 재전송함
(일정시간을 1분이라고 지정, 1분안에 긍정 응답이 안 옴 -> 다시 보냄)

3. 순서 번호 기능

데이터 프레임 내에 일련 번호를 부여 (보낼 때 번호를 매겨서 보냄)

정상적인 경우 예시

  1. 송신 호스트에서 데이터를 보냄
  2. 긍정 응답을 함
  3. 송신 호스트에서 다음 데이터를 보냄


오류 제어 예시

1. 송신 호스트에서 데이터를 보냄
2. 수신 호스트에서 긍정 응답을 보냄
2-1. 긍정 응답을 보내던 도중 데이터 분실이 생김
2-2. 타임 아웃이 됨
3. 송신호스트에서 데이터를 재전송함
4. 수신호스트는 데이터가 중복해서 들어왔으니 하나를 폐기함


흐름제어 (Flow Control)

수신 호스트가 감당할 수 있을 정도의 전송 속도를 유지하면서 데이터 프레임을 전송
(송신이 LTE, 수신이 3G망 -> 너무 빨리 전송해서 수신호스트가 내부 버퍼에 보관하지 못할 수 있음, 이는 분실과 동일한 효과를 야기함)


프레임

데이터 링크 계층에서 전송 데이터를 프레임이라는 단위로 나누어 처리

전송 프레임: 체크섬, 송수신 호스트의주소, 제어 코드(흐름 제어용) 등 정보 포함

체크섬 (Checksum)
오류 검출 용으로 송신 호스트에서 넣어서 보내는 것
-> 수신 호스트에서 데이터가 문제가 생겼는지(변형됐는지) 체크 // 오류 검출 코드 따위를 이용


내부 정보를 표현하는 방식에 따라 문자(바이트) 프레임과 비트 프레임으로 구분
문자 프레임은 아스키코드를 이용한다.

문자 프레임의 구조
DLE (Data Link Escape, 제어문자, 체크섬), STX (Start of Text), ETX (End of Text), DATA(전송하려는 데이터의 일부), 각각 8비트


문자 스터핑
프레임에 추가적으로 더 넣는 것

<중간에 DLE(제어문)이 추가된 형태 / ‘제어할 것을 추가하라’>
(a) 프레임을 받으면 수신에서 (b) 프레임 형태로 만듦 / 두 번 연속 있으면 하나 삭제


비트 프레임
비트코드로 된 프레임, 프레임의 시작과 끝 위치에 비트패턴(01111110)을 사용해 프레임 단위를 구분

비트 스터핑
비트에 값을 추가 (ex) 전송 데이터가 1이 연속해서 5번 발생하면 강제로 0을 추가)



오류 검출

-패리티 비트 이용


수신자측에서 하는 블록 검사

송신자와 수신자 둘이 짝수 패리티를 사용할건지 홀수 패리티를 사용할건지 미리 약속,
밑은 짝수 패리티를 이용했다고 가정

수평,수직 방향에서 1이 짝수 개를 만족하면 변형이 일어나지 않았다고 판단
그렇지 않으면 변형이 일어났다고 판단해서 패리티 비트 추가

Leave a Reply

Your email address will not be published. Required fields are marked *