CH4 데이터 전송
전송 방식
점대점 방식 (1대1)
- 각 호스트를 일대일로 직접 연결하는 방식으로 네트워크를 구성하고 특정한 수신 호스트에만 데이터를 전송하는 방식
- 링형, 스타형, 완전형, 불규칙형이 있다.
- 이때 링형은 브로드캐스팅 방식을 지원함, 단점은 한 호스트가 고장나면 전체 네트워크가 동작안함 자세한건 아래에 설명하겠음
브로드캐스팅 방식
- 네트워크에 연결된 모든 호스트에 데이터를 전송하는 방식
- 즉 특정 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전달됨
- 중개 기능만 전용으로 수행하는 라우터는 필요없음
버스형
- 모든 호스트가 하나의 전송 매체를 공유하므로 전송 데이터를 모든 호스트에서 수신할 수 있음
- 이때 둘 이상의 호스트에서 데이터를 동시에 전송하면 데이터 충돌이 발생한다. 이를 해결하기 위해
-- 호스트의 전송 권한을 제한함으로써 사전에 충돌을 예방하는 방식
-- 충돌을 허용하고 충돌이 발생했을 때 이를 해결하는 방식
링형
- 전송 데이터가 링 주위를 특정 방향으로 순환하면서 전달
- 여러 호스트가 데이터를 동시에 전송함으로써 발생할 수 있는 충돌 문제가 전송 토큰 기능으로 해결!
- - 호스트들이 데이터를 전송하지 않을 때는 오직 한 개의 토큰만 링 주위를 순환
-- 또한 데이터를 전송할 수 있는 호스트는 하나뿐이므로 원천적으로 충돌이 발생할 수 없음
멀티포인트 통신
유니캐스팅
- 송신 호스트가 한 번의 전송으로 수신 호스트 하나에만 데이터를 전송할 수 있는 방식
- 송신호스트 쪽이 중요하다.
브로드 캐스팅
- 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송 되는 방식
- 단점으로는 호스트수가 많아질수록 네트워크 트래픽이 급격히 증가
- 송신호스트 쪽이 중요
멀티캐스팅
- 다수의 수신 호스트에 전송할 수 있는 방식
- 수신호스트 쪽이 중요
- ex) 비디오.오디오 서비스, 화상회의 서비스 등 자사에 등록된 다수 고객을 대상으로 하는 모든 형태의 데이터 서비스(인터넷 뉴스)
오류제어
- 데이터가 깨져서 도착하는 프레임 변형과 데이터가 목적지에 도착하지 못하는 프레임 분실
- 하위 계층에서 전송 오류가 발생하면 상위 계층에서 바로 잡아야 된다.
수신호스트의 응답 프레임
- 데이터 프레임이 정상적으로 도착한 긍정 응답 프레임(ACK)
- 프레임이 깨져 부정 응답 프레임(NCK)
송신 호스트의 타이머 기능
- 데이터를 보냈는데 수신호스트에서 긍정 응답 프레임이 없으면 타임아웃 기능을 동작시켜 다시 데이터 프레임을 전송함
순서번호기능
- 수신 호스트가 중복 데이터 프레임을 가려내려면 각 프레임 내부에 프레임 구분자인 순서 번호를 기록해야함
- 수신호스트에서 데이터 프레임을 잘받아서 송신호스트로 긍정응답을 보냈는데 그게 분실이 되서 송신호스트쪽에서는
다시 타임아웃을 통해 데이터 프레임을 보내지만 순서번호기능을 통해 중복 데이터 프레임을 막을 수 있다.
오류검출 코드
- 데이터 프레임은 원래의 전송 데이터 외에 오류 제어를 위한 코드 정보도 함께 제공함
- 오류제어 정보에는 수신 호스트에서 오류를 감지하는 기능만 하는 코드와 오류가 발생한 프레임을 복구하는 기능을 하는 코드도 있음(ex) 100 - 99 즉 99를 다시 100으로 바꿔줌)
송신호스트에서 데이터 프레임을 전송하는 과정에서 발생하는 현상
- 수신 호스트까지 프레임이 정상적으로 도착하는 경우
- 프레임이 변형되어 도착하는 경우
- 프레임이 분실되어 도착하지 못하는 경우 (타임아웃)
흐름제어
- 송신 호스트는 수신 호스트가 감당할 수 있을 정도의 전송 속도를 유지해야하는 것을 말함
- 즉 이것은 송신 호스트가 수신 호스트보다 아주 빨리 데이터를 전송하는 경우에 필요
프레임 구조
- 일반적으로 프레임은 내부 정보를 표현하는 바아식에 따라 문자 프레임과 비트 프레임으로 구분
문자 프레임
이때 b의 프레임 문자중 DLE, EXX가 있으면 오류가남!! 문자 스터핑이라는 개념이 나옴
문자 스터핑
- 문자 프레임 내부의 전송데이터에 DLE 문자가 포함되면서 발생하는 혼란을 예방하는 방법
- 이때 수신 호스트는 프레임을 수신하면서 DLE 문자가 2번 연속 나타나면 송신호스트가 강제로 추가한 문자라고 판단함
- 따라서 상위계층인 네트워크 계층에 데이터를 전달하기 전에 둘중 하나를 제거함
비트 프레임
이게 구조이다.
비트 스터핑
- 데이터 내용중에 1인 패턴이 연속해서 5번 발생하면 강제로 0을 추가해 전송
- 플래그는 1이 연속해서 6개 나오는 패턴이므로 프래그 패턴이 발생하는 것을 추가함
- 즉 송신호스트에서 0을 강제로 추가한 거임
오류 검출 기법
패리티 비트
- 1바이트 구조에서 패리티 비트는 7비트의 아스키 코드를 제외한 나머지 1비트임
- 패리티 비트는 전송 과정에서 1비트 오류를 검출하기 위한 것임
- 즉 이것을 포함해 1의 개수가 짝수나 홀수객가 되도록 함
즉 정리해서 데이터가 1 0 0 0 1 1 1 이면 짝수 패러티에 1을 추가 홀수 패러티에 0을 추가! 즉 맞다
하지만 만약에 맞지않으면 틀린것이다. 즉 오류!
근데 데이터의 위치가 바뀌면 오류를 잡기 힘들다.
블록 검사
- 여러 개의 바이트를 하나의 블록으로 구성한 후 교차 검사를 함
- 기존꺼에서 개선이 가능하나... 위아래로 바뀌면 못함...
생성 다항식