본문 바로가기
휴지통/학부

데이터 전송의 기초

by 신재권 2021. 10. 5.

frame 변환 (서로 데이터 타입을 맞춰줌)

msg→segment→packet→frame

교환(routing) : 맞는 포트로 보내줌

필터링

라우팅 테이블에서 네트워크 세그먼트의 있는 호스트의 MAC 주소가 존재하는데, 여기서 비교를 한다.

floding : 일단은 데이터는 모든 포트로 보낸다. 후에 자기 주소에 맞는 호스트가 응답을 한다.

스패닝 트리는 네트워크의 비 순환 구조이다.

브리지로 연결할 때 순환구조가 발생할 수 있기 때문에 스패닝트리를 사용해 비 순환 구조로 만드는 것이다.

소스 라우팅 브리지는 프레임을 보고

라우터는 외부로 네트워크를 확장시키기 위해 필요하다.

라우터를 고정하면 길찾기를 복잡하게 할 필요가 없을 수도 있다. → 효율적이다.

고정 : 송수신 호스트 사이에 영구 불변의 고정 경로를 배정

단점 : 트래픽 변화에 따른 동적 경로 배정이 불가능하다. → 빠른 경로를 선택을 못함

→ 상황에 따라 빠른 경로를 선택하는 방법은 적응 경로 라우팅이라 한다.

전송률 : 한번에 보낼 수 있는 량

전송 지연 : 응답을 받을 때 까지 걸리는 시간

전송 오류율

우선순위

교환 : 라우터에서 데이터를 어느 방향으로 전달할지를 선택하는 기능

전송 : 일대일(1:1)로 직접 연결된 두 시스템 간의 신뢰성 있는 데이터 전송을 보장

Point to Point (유니 캐스팅 , 점대점), Point to MultiPoint - 브로드 캐스팅(전부 다받음), 멀티캐스팅(특정그룹)

오류 감지를 일정 시간을 정해 시간 이후 응답이 안오면 송신자가 분실로 판단, 송신자는 분실 판단시 재송신→ 타임아웃시 재 송신

변형 감지는 수신자가 한다. 수신자가 응답을 보내 송신자가 재송신을 해준다.

각 송신, 수신자들은 버퍼가 있다.

거기에 패킷이 들어간다.


프레임

데이터 링크 계층에서 만듬

헤더/데이타/트래일러로 이루어져 있다.

네트워크 계층에서 패킷을 받아 Data에 넣는다.

양쪽 헤더, 트래일러는 제어정보를 담는다.

헤더에는 수신,송신 맥 어드레스가 있고, 트래일러에는 오류 검출을 위한 코드가 있다.

8비트 = 1 character → 문자 프레임

비트열로 만드는 비트 프레임

두 가지의 프레임이 있다.

프레임을 만들때 stuffing 기술이 필요하다.

프레임의 구조

프레임의 시작과 끝에 특수문자 사용

시작 : DLE/STX

끝 : DLE/ETX

전송 데이터에 특수 문자가 포함되면 혼선이 발생한다.

제어문자를 데이터로 인식할 수 있도록 하는 것이 Stuffing 기법이다.

→ 문자 프레임의 전송 과정에서 제어 문자를 추가하는 기능

  • 전송 데이터가 DLE 문자를 포함하면 뒤에 DLE 문자 하나를 강제 추가
  • 데이터에 DLE 문자가 두 번 연속 있으면 하나의 DLE 문자 삭제

비트 프레임

프레임의 시작과 끝 위치에 플래그라는 특수하게 생성된 비트 패턴(01111110)을 사용해 프레임 단위를 구분

오류 검출

수신자에서 에러체킹을 하지만 어느 비트가 문제있는지는 알지 못한다.

그래서 부정 응답을 송신자에게 보낸다.

그 후 송신자는 다시 재전송을 해준다.

즉 에러 체킹은 수신자에서, 복구는 송신자에서 한다.

→ 역방향 오류 복구(BEC, Backward Error Correction)

  • 재전송 방식을 이용해 오류 복구

→ ARQ(Automatic Repeat reQuest 방식)

  • 패리티(Parity) 비트
  • 블록 검사
  • 다항코드

패리티비트 → 기능 확장 → 블록 검사

패리티 → 짝수 패리티, 홀수 패리티

짝수 패리티 : 1의 갯수를 짝수로 만들어준다. → 1 또는 0을 넣어줌

홀수 패리티 : 1의 갯수를 홀수로 만들어준다. → 1또는 0을 넣어줌

가는 도중에 비트가 변경되면 패리티를 통해 에러 체킹이 가능하다.

비트가 2개씩 바뀌면 오류 검출을 못한다.

→ 개선 한 것이 블록 검사

수평, 수직 방향 모두에 패리티 비트를 지정

→ 짝수개의 비트가 깨지는 오류를 검출

블록검사 기법도 완전하지 않다.

두 개의 열이 2비트씩 바껴버리면 오류 검출이 불가하다.

패리티 비티를 너무 많이 채워넣게 된다.

전송할 데이터에 비해 패리티값이 너무 많아 전송 효율이 좋지 않다.


다항 코드

다항식 x^3 + x^2 + 1 → 다항식을 통해 키(다항코드)를 얻는다.

송신자 측에서 Encoding을 하여 데이터를 전달한다.

수신자 측에서는 Decoding을 하여 정상적으로 돌아왔으면 에러가 없는 것이다.

기존 데이터를 나타내는 비트와 checksum이라는 비트가 추가된다.

→ 총 패리티의 길이는 키(다항코드) 비트의 길이보다 작다.

첫 checksum은 000으로 붙인다.

checksum의 개수는 키보다 하나 작다.

checksum을 만드는 과정은 XOR 연산을 한다.

전송 데이터를 다항식으로 나눈다. → 연산에서 얻은 나머지 값 3자리가 체크 섬이다.

결과적으로 얻은 check sum을 붙인 값인

이 데이터로 전송된다.

  • 국제 표준으로 이용되는 생성 다항식

'휴지통 > 학부' 카테고리의 다른 글

네트워크  (0) 2021.10.26
네트워크 기술  (0) 2021.09.29
네트워크 모델  (0) 2021.09.27
컴퓨터 하드웨어  (0) 2021.09.14
머신러닝 기초 지식  (0) 2021.09.09