[데이터 통신] 4장 데이터 전송

2023. 4. 6. 20:10·🍞 Computer Science/데이터 통신

1. 전송 방식

<멀티포인트 통신>

브로드캐스팅 

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

호스트의 연결 구조는 버스형, 링형 

네트워크상 모든 호스트에게 데이터 전송

그룹 주소 X, 패킷 전송

 

멀티포인트 유니캐스팅

유니캐스팅 방식의 프로토콜은 두 호스트 사이의 일대일 통신만 지원

따라서 유니캐스팅 방식을 이용해 일대다 통신을 하려면 멀티포인트 유니캐스팅 방식을 사용

멀티캐스팅

송신 호스트의 전송 요구 한 번으로 모든 수신 호스트에 데이터 전송 가능

멀티포인트 유니캐스팅에서는 수신 호스트의 수만큼 데이터를 반복 전송

그룹 주소 사용, 그룹 내의 모든 수신자에게 데이터 전송

특정 그룹 호스트에게만 데이터 전송되어 효율적

 

2. 오류 제어

<전송 오류의 유형>

수신 호스트의 응답 프레임

데이터 프레임의 일부가 깨지는 프레임 변형 오류를 확인한 수신 호스트는

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

 

송신 호스트의 타이머 기능

데이터 프레임을 전송한 후에 일정 시간 이내에 수신 호스트로부터 긍정 응답 프레임이 없으면

타임아웃 기능을 동작시켜 데이터 프레임을 재전송

 

순서 번호 기능

중복 데이터 프레임을 가려내려면 각 프레임 내부에 프레임 구분자인 순서번호 기록

데이터가 전달되다가 누가 죽었는지!

 

오류 검출 코드 checksum

데이터 프레임은 원래의 전송 데이터 외에 오류 제어를 위한 코드 정보도 함께 제공

 

프레임이 정상적으로 도착하는 경우

프레임이 변형되어 도착하는 경우

프레임이 분실되어 도착하지 못하는 경우

3. 프레임 구조

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

 

문자 프레임

프레임 내용이 문자로 구성되므로 문자 데이터를 전송할 때 사용, 8 비트 단위로 동작

하나의 프레임 단위를 구분하기 위해 프레임의 앞뒤에 ASCII 코드의 특수문자 이용

각 프레임 시작 위치에 DLE, STX 문자를 추가하고 끝나는 위치에 DLE, ETX를 추가해 프레임의 한 단위 구분

여기서 문제점은 b처럼 FRAME DATA의 내용 중에 DLE, STX나 DLE, ETX 문자가 포함될 수 있음

결과적으로 프레임을 수신하는 호스트가 프레임의 시작과 끝을 결정하는 데 혼선을 줌

그러므로 문자 스터핑 방법으로 FRAME DATA 내부에 DLE 문자가 있으면 DLE 문자 강제 추가해줌

 

 

비트 프레임

문자 단위의 가정을 없애고, 임의의 비트 패턴 데이터 전송

프레임의 시작과 끝 위치에 플래그라는 비트 패턴(01111110)을 사용해 프레임 단위 구분

전송하고자 하는 데이터의 내용 중에 1이 연속으로 5번 발생하면 강제로 0을 추가해 전송

플래그는 1이 연속해서 6개 나오는 패턴이므로 원천적으로 데이터 내용에 플래그 패턴 발생하는 것 차단

 

4. 오류 검출 기법

패리티 비트

1바이트 구조에서 패리티 비트는 7비트의 ASCII 코드를 제외한 나머지 1비트

전송 과정에서 1비트 오류를 검출하기 위한 것

짝수 개의 비트에서 오류가 발생하면 오류가 검출되지 않는다는 문제점

ex) 2비트의 데이터가 깨지면 1의 개수는 원래의 데이터와 같은 짝수나 홀수를 유지함

즉, 전송 오류가 발생해도 짝 홀수의 구분만으로 수신 호스트가 오류 발생을 인지할 수 없음

 

블록 검사

패리티 방식을 이용한 오류 검출 기법은 1비트 오류에 간단히 적용 가능

다수의 비트에서 오류가 발생할 때 오류를 검출하는 방식

오류 검출 과정

 

오류 발견 & 가로, 세로 짝수일 경우 못찾

 

체크섬 계산

101101001101001

 

저작자표시 (새창열림)

'🍞 Computer Science > 데이터 통신' 카테고리의 다른 글

[데이터 통신] 6장 데이터 링크 계층  (0) 2023.04.06
[데이터 통신] 5장 MAC 계층  (0) 2023.04.06
[데이터 통신] 3장 네트워크 기술  (0) 2023.04.06
[데이터 통신] 2장 네트워크 개념  (0) 2023.04.05
[데이터 통신] 1장 네트워크 기초  (0) 2023.04.05
'🍞 Computer Science/데이터 통신' 카테고리의 다른 글
  • [데이터 통신] 6장 데이터 링크 계층
  • [데이터 통신] 5장 MAC 계층
  • [데이터 통신] 3장 네트워크 기술
  • [데이터 통신] 2장 네트워크 개념
박빵이
박빵이
2025년에도 갓생살기
  • 박빵이
    기억보다 기록
    박빵이
  • 전체
    오늘
    어제
    • 분류 전체보기 (337)
      • 🍞 FrontEnd (97)
        • HTML+CSS (4)
        • JavaScript (17)
        • TypeScript (4)
        • React (52)
        • Next.js (2)
        • Android (15)
      • 🍞 BackEnd (24)
        • Java (15)
        • Node.js (6)
        • Spring (1)
      • 🍞 Cloud & Infra (0)
        • AWS SAA (0)
        • Microsoft Azure (0)
      • 🍞 Algorithm (147)
        • C++ (4)
        • Baekjoon (41)
        • Programmers (97)
      • 🍞 Computer Science (18)
        • 운영체제 (1)
        • 데이터 통신 (6)
        • 네트워크 (6)
        • 데이터베이스 (1)
      • 🍞 대외활동 & 부트캠프 (42)
        • 삼성 청년 SW 아카데미 (1)
        • LG유플러스 유레카 (0)
        • 한국대학생IT경영학회 (1)
        • IT연합동아리 UMC (17)
        • 길벗 블로깅 멘토 (18)
        • IT연합동아리 피로그래밍 (3)
        • 개발 컨퍼런스 (2)
  • 블로그 메뉴

    • Admin
  • 링크

    • GitHub
  • 인기 글

  • 태그

    프로그래머스
    umc
    유니온파인드
    C++
    안드로이드
    Front
    알고리즘
    코딩자율학습
    위상정렬
    react
    JavaScript
    길벗 블로깅 멘토링
    level1
    백준
    Android
    map
    길벗 블로깅 멘토
    Java
    코틀린
    level2
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박빵이
[데이터 통신] 4장 데이터 전송
상단으로

티스토리툴바