책읽기

[쉽게 배우는 데이터 통신과 컴퓨터 네트워크](요약)[Chapter-4] 데이터 전송의 기초

pythaac 2021. 8. 17. 15:47
이 글은 "쉽게 배우는 데이터 통신과 컴퓨터 네트워크 (박기현 지음)"을 읽고 주관적으로 요약한 글입니다. 

출처 : https://www.hanbit.co.kr/store/books/look.php?p_code=B3980824801

 

※ 요약

  1. 전송과 교환
    • 전송
      - 물리 매체에 의해 일대일로 직접 연결된 두 시스템간의 신뢰성 있는 데이터 전송
      - 라우팅이 포함되지 않음
    • 교환
      - 전달 경로가 둘 이상일 때 라우터에서 데이터를 전달하는 방향을 선택하는 기능
      - 데이터를 올바른 경로로 전달해줌
  2. 전송 방식의 종류
    • 네트워크에 연결된 호스트의 지리적 분포에 따른 구분 방식
      • LAN
      • MAN
      • WAN
    • 데이터 전송/교환 기술에 따른 네트워크 분류 방식
      • 점대점 방식
        - 송신 호스트가 중개 호스트와 일대일로 연결되어 다른 호스트에는 데이터가 전달되지 않는 구성
        - 최종 목적지 호스트까지 인접 호스트에 전송하는 과정이 단계적으로 반복됨
        - 성능면에서 유리하지만 전송 매체 길이가 증가하여 비용 증가
        - 연결 개수가 적어지면 전송 매체를 많이 공유하여 네트워크 혼잡도가 증가
      • 브로드캐스팅 방식
        - 공유 전송 매체 하나에 여러 호스트를 연결

        - 송신 호스트의 데이터가 네트워크에 연결된 모든 호스트에 전달
        - 데이터 전달 과정에 별도의 교환 기능이 필요 없음
        - 목적지가 아닌 호스트는 데이터를 버림
        - LAN처럼 가까운 호스트 사이에서 주로 사용
  3. 멀티캐스팅
    • 유니캐스팅
      • 송신 호스트 기준으로 수신 호스트 하나와 연결되면 유니포인트
      • 한 번의 전송으로 수신 호스트 하나에만 데이터를 전송할 수 있으면 유니캐스팅
    • 멀티캐스팅
      • 다수의 수신 호스트와 연결되면 멀티포인트
      • 한 번의 전송으로 다수의 수신 호스트에 전송할 수 있으면 멀티캐스팅
    • 멀티포인트 유니캐스팅
      • 다수 수신 호스트마다 개별 연결을 하여 데이터 전송
      • 호스트마다 데이터를 반복 전송해야함
      • 멀티캐스팅은 송신 호스트의 전송 요구 한 번으로 모든 수신 호스트에 데이터 전달
    • 멀티캐스팅의 요구사항
      • 멀티캐스트 그룹을 생성/관리하는 기능이 필수적
      • 멀티캐스트 트래픽에 대한 처리 기능 구현
        - 라우터에서 멀티캐스트 그룹 주소를 인식
        - 다수의 수신 호스트에 중개
  4. 데이터링크 계층의 오류 제어
    • 수신 호스트의 응답 프레임
      • 프레임 변형 오류를 확인하면 송신 호스트에 응답 프레임을 전송
        - 긍정 응답 프레임 : 정상 도착했을 대 회신
        - 부정 응답 프레임 : 데이터가 깨졌을 때 회신, 송신 호스트가 데이터를 재전송
    • 송신 호스트의 타임아웃 기능
      • 프레임 분실이 발생하면 수신 호스트가 인지하지 못함
      • 송신 호스트가 데이터 프레임 전송 후 일정 시간 내에 회신이 없으면 재전송
    • 순서 번호 기능
      • 데이터 분실에 대한 재전송시 수신 호스트가 중복된 프레임을 수신할 수 있음
      • 중복 데이터를 가려내기 위해 각 프레임 내부에 순서 번호를 기록
  5. 흐름 제어
    • 오류 제어와 함께 데이터링크 계층에서 제공하는 주요 기능 중 하나
    • 수신 호스트가 감당할 수 있는 전송 속도를 유지하는 기법
    • 수신 호스트가 다음에 수신할 프레임의 전송 시접을 송신 호스트에 통지하는 방식
  6. 프레임
    • 데이터링크 계층의 데이터 단위
    • 포함 정보
      • 체크섬 : 데이터 오류 확인
      • 송수신 호스트 주소
      • 제어 코드
    • 복구 과정
      • 체크섬으로 프레임 변형 오류 확인
      • 오류 발생시 부정 응답 프레임 회신
      • 송신 호스트가 재전송
  7. 문자 프레임
    • 문자 데이터를 포함한 프레임을 전송할 때 사용
    • 프레임 단위를 구분하기 위해 프레임 앞/뒤에 ASCII 코드의 특수 문자 사용 
      • 프레임의 시작 위치에 STX(0x02, Start of Text)를 사용
      • 프레임의 끝 위치에 ETX(0x03, End of Text)를 사용
      • 데이터와 STX/ETX를 구분하기 위해 DLE(0x10, Data Link Escape)를 사용
      • DLE + 0x02는 STX가 아닌 0x02 데이터
  8. 비트 프레임
    • 임의의 비트 패턴 데이터를 전송할 때 사용
    • 프레임 단위를 구분하기 위해 프레임 앞/뒤에 플래그라는 비트 패턴(01111110)을 사용
      • 플래그 구분을 위해 데이터 내용 중 1이 5번 연속 발생하면 강제로 0을 추가
  9. 다항 코드 (CRC, Circlic Redundancy Code)
    • 특정 위치에 집중적으로 발생하는 버스트 에러(Burst Error) 형태의 오류 검출 확률이 높음
    • 전송할 데이터 M(x)에 대해 생성 다항식 G(x)를 나눈 나머지를 체크섬이라 함
    • 체크섬을 전송 데이터 뒤에 추가하여 수신 호스트에 전송

 

 

1. 데이터 전송 방식

1) 전송과 교환

2) 점대점 방식

3) 브로드캐스팅 방식

4) 멀티포인트 통신

 

2. 오류 제어

1) 전송 오류의 유형

2) 순서 번호

3) 흐름 제어

 

3. 프레임

1) 문자 프레임

2) 비트 프레임

 

4. 다항 코드

1) 오류 검출

2) 다항 코드