이 글은 "쉽게 배우는 데이터 통신과 컴퓨터 네트워크 (박기현 지음)"을 읽고 주관적으로 요약한 글입니다.
※ 요약
- 전송과 교환
- 전송
- 물리 매체에 의해 일대일로 직접 연결된 두 시스템간의 신뢰성 있는 데이터 전송
- 라우팅이 포함되지 않음 - 교환
- 전달 경로가 둘 이상일 때 라우터에서 데이터를 전달하는 방향을 선택하는 기능
- 데이터를 올바른 경로로 전달해줌
- 전송
- 전송 방식의 종류
- 네트워크에 연결된 호스트의 지리적 분포에 따른 구분 방식
- LAN
- MAN
- WAN
- 데이터 전송/교환 기술에 따른 네트워크 분류 방식
- 점대점 방식
- 송신 호스트가 중개 호스트와 일대일로 연결되어 다른 호스트에는 데이터가 전달되지 않는 구성
- 최종 목적지 호스트까지 인접 호스트에 전송하는 과정이 단계적으로 반복됨
- 성능면에서 유리하지만 전송 매체 길이가 증가하여 비용 증가
- 연결 개수가 적어지면 전송 매체를 많이 공유하여 네트워크 혼잡도가 증가 - 브로드캐스팅 방식
- 공유 전송 매체 하나에 여러 호스트를 연결
- 송신 호스트의 데이터가 네트워크에 연결된 모든 호스트에 전달
- 데이터 전달 과정에 별도의 교환 기능이 필요 없음
- 목적지가 아닌 호스트는 데이터를 버림
- LAN처럼 가까운 호스트 사이에서 주로 사용
- 점대점 방식
- 네트워크에 연결된 호스트의 지리적 분포에 따른 구분 방식
- 멀티캐스팅
- 유니캐스팅
- 송신 호스트 기준으로 수신 호스트 하나와 연결되면 유니포인트
- 한 번의 전송으로 수신 호스트 하나에만 데이터를 전송할 수 있으면 유니캐스팅
- 멀티캐스팅
- 다수의 수신 호스트와 연결되면 멀티포인트
- 한 번의 전송으로 다수의 수신 호스트에 전송할 수 있으면 멀티캐스팅
- 멀티포인트 유니캐스팅
- 다수 수신 호스트마다 개별 연결을 하여 데이터 전송
- 호스트마다 데이터를 반복 전송해야함
- 멀티캐스팅은 송신 호스트의 전송 요구 한 번으로 모든 수신 호스트에 데이터 전달
- 멀티캐스팅의 요구사항
- 멀티캐스트 그룹을 생성/관리하는 기능이 필수적
- 멀티캐스트 트래픽에 대한 처리 기능 구현
- 라우터에서 멀티캐스트 그룹 주소를 인식
- 다수의 수신 호스트에 중개
- 유니캐스팅
- 데이터링크 계층의 오류 제어
- 수신 호스트의 응답 프레임
- 프레임 변형 오류를 확인하면 송신 호스트에 응답 프레임을 전송
- 긍정 응답 프레임 : 정상 도착했을 대 회신
- 부정 응답 프레임 : 데이터가 깨졌을 때 회신, 송신 호스트가 데이터를 재전송
- 프레임 변형 오류를 확인하면 송신 호스트에 응답 프레임을 전송
- 송신 호스트의 타임아웃 기능
- 프레임 분실이 발생하면 수신 호스트가 인지하지 못함
- 송신 호스트가 데이터 프레임 전송 후 일정 시간 내에 회신이 없으면 재전송
- 순서 번호 기능
- 데이터 분실에 대한 재전송시 수신 호스트가 중복된 프레임을 수신할 수 있음
- 중복 데이터를 가려내기 위해 각 프레임 내부에 순서 번호를 기록
- 수신 호스트의 응답 프레임
- 흐름 제어
- 오류 제어와 함께 데이터링크 계층에서 제공하는 주요 기능 중 하나
- 수신 호스트가 감당할 수 있는 전송 속도를 유지하는 기법
- 수신 호스트가 다음에 수신할 프레임의 전송 시접을 송신 호스트에 통지하는 방식
- 프레임
- 데이터링크 계층의 데이터 단위
- 포함 정보
- 체크섬 : 데이터 오류 확인
- 송수신 호스트 주소
- 제어 코드
- 복구 과정
- 체크섬으로 프레임 변형 오류 확인
- 오류 발생시 부정 응답 프레임 회신
- 송신 호스트가 재전송
- 문자 프레임
- 문자 데이터를 포함한 프레임을 전송할 때 사용
- 프레임 단위를 구분하기 위해 프레임 앞/뒤에 ASCII 코드의 특수 문자 사용
- 프레임의 시작 위치에 STX(0x02, Start of Text)를 사용
- 프레임의 끝 위치에 ETX(0x03, End of Text)를 사용
- 데이터와 STX/ETX를 구분하기 위해 DLE(0x10, Data Link Escape)를 사용
- DLE + 0x02는 STX가 아닌 0x02 데이터
- 비트 프레임
- 임의의 비트 패턴 데이터를 전송할 때 사용
- 프레임 단위를 구분하기 위해 프레임 앞/뒤에 플래그라는 비트 패턴(01111110)을 사용
- 플래그 구분을 위해 데이터 내용 중 1이 5번 연속 발생하면 강제로 0을 추가
- 다항 코드 (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) 다항 코드
- 쩜
- 쩜
'책읽기' 카테고리의 다른 글
[Java의 정석][Chapter-7] 객체지향 프로그래밍 2 (2/2) (0) | 2021.08.23 |
---|---|
[쉽게 배우는 데이터 통신과 컴퓨터 네트워크](요약)[Chapter-5] MAC 계층 (0) | 2021.08.17 |
[파이썬 알고리즘 인터뷰][슬라이딩윈도우] 가장 긴 반복 문자 대체 (0) | 2021.08.17 |
[파이썬 알고리즘 인터뷰][슬라이딩윈도우] 부분 문자열이 포함된 최소 윈도우 (0) | 2021.08.16 |
[파이썬 알고리즘 인터뷰][슬라이딩윈도우] 최대 슬라이딩 윈도우 (0) | 2021.08.16 |