제육's 휘발성 코딩
반응형

데이터 전송 방식

전송과 교환

  • 교환 : 라우터에서 데이터의 방향을 선택하는 기능
  • 전송 : 1대1로 연결된 두 시스템 가느이 데이터 전송을 보장

전송 방식 종류

  • 지리적 분류 : LAN (근거리 통신) , MAN (도시 규모), WAN (원거리)
  • 데이터 전송,교환 분류 : 점대점(1대1 - 유니캐스트), 점대다 (1대다 - 멀티캐스트 브로드캐스트 등)
  • 점대점 : 스타형, 링형, 완전형 , 불규칙형
  • 브로드캐스팅 방식 : 버스형, 링형(1대1, 1대다 모두 지원)
  • 버스형 : 토큰을 사용하거나(충돌 방지), 이더넷(충돌허용)으로 해결
  • 링형 : 호스트를 순환 구조로 연결, 토큰 확보가 필수

프레임

  • 데이터 링크 계층에서 전송 데이터를 프레임이라는 단위로 나누어 처리
  • 내부정보를 표현하는 방식에 따라 문자 프레임과 비트 프레임으로 구분

문자 프레임

  • 내용이 문자로 구성 , 8비트 단위 (또는 ASCII 코드)의 고정 크기로 동작
  • 시작과 끝에 특수 문자 사용 (시작 DLE / STX , 끝 DLE / ETX)
  • 문자 스터핑 : 문자 프레임의 전송 과정에서 제어 문자를 추가
    • 시작과 끝 사이에 있는 데이터 부분에 DLE가 데이터로 추가로 사용되는 경우
    • 즉, 전송 데이터에 DLE를 포함하면 오류 발생의 여지가 있으므로 DLE 문자 하나를 강제 추가
    • 데이터에 DLE가 연속해서 두 번 있으면 하나의 DLE 문자 삭제

비트 프레임

  • 시작과 끝 위치에 플래그라는 정의된 비트 패턴을 사용해 단위를 구분 (01111110)
  • 비트 스터핑 : 전송 데이터에 플래그 패턴이 포함되면 혼선 발생
    • 송신 호스트 : 전송 데이터가 1이 연속해서 5번 발생하면 강제 0 추가
    • 수신 호스트 : 송신 과정에 추가된 0을 제거하여 원래의 데이터를 상위 계층에 전달

오류 검출

  • 역방향 오류 복구 BEC (Backward Error Correction - ARQ 방식) -> 수신쪽에서 재전송 방식 오류 복구
  • 수신에서 ERROR CHECKING 기법 (패리티, 블록 검사, 다항 코드)

패리티

  • 1 바이트 (8비트) = 7 비트 ASCII 코드(보낼 데이터) + 1 패리티 비트
  • 짝수 패리티 : 데이터 끝에 패리티 비트를 추가해 전체 1의 개수를 짝수로 만듦
  • 홀수 패리티 : 동일한 방법으로 1의 개수를 홀수로 만듦
  • 중간에 비트 하나가 변경이 되었을 경우 에러가 있다고 판단
    • 어느 비트가 오류 발생했는지 알 수 없다.
    • 짝수 개의 비트가 바뀔 경우 오류 검출 불가

블록 검사

  • 패리티 비트의 문제점 해결
  • 짝수 개의 비트가 변경되는 오류 검출

image

  • 수평, 수직 방향 모두에 패리티 비트를 지정
  • 패리티 비트가 너무 많아서 전송 효율이 안좋아지는 단점이 있다.

다항코드

  • 실제로 에러 검출할 때 사용하는 기법
  • 다항식 생성
    • ex ) 100101 = x^5 + x^2 + 1
  • 체크섬 : 전송데이터에 다항식을 나누고 남은 값
  • 송신데이터에 체크섬을 붙여서 전송 (최고차항의 계수 개 만큼)
  • XOR 연산 (두 개가 다르면 1)
반응형
profile

제육's 휘발성 코딩

@sasca37

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 맞구독은 언제나 환영입니다^^