<연습문제>
1. 송신 호스트가 수신 호스트에 데이터를 전달하려면 두 가지 과정을 거쳐야 한다. 교환은 전달 경로가 둘 이상일 때 어느 방향으로 전달할지를 선택하는 기능이다. 전송은 특정한 물리 매체에 일대일로 직접 연결된 두 시스템 간의 신뢰성 있는 데이터 전송을 보장한다.
2. 두 호스트 사이의 데이터 전송을 의미하는 유니 캐스팅 방식은 컴퓨터 통신의 가장 기본적인 형식이다. 또 다른 방식으로는 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 브로드 캐스팅 방식, 프로토콜 자체에서 일대다 전송 기능을 구현하여 동작하는 멀티 캐스팅 방식이 있다.
3. 응답 프레임의 종류에는 두 가지가 있는데, 데이터 프레임이 정상적으로 도착했을 때 회신하는 긍정 응답 프레임과 데이터 프레임이 깨졌을 때 회신하는 부정 응답 프레임이 있다.
4. 송신 호스트는 데이터 프레임을 전송한 후에 일정 시간 이내에 수신 호스트로부터 긍정 응답 프레임의 회신이 없으면 타임 아웃 기능을 동작시켜 데이터 프레임을 재전송한다.
5. 수신 호스트가 중복 데이터 프레임인지 여부를 판단하여 가려내려면 프레임 내부에 순서번호를 기록해야한다.
6. 송신 호스트는 수신 호스트가 감당할 수 있을 정도의 전송 속도를 유지하면서 데이터 프레임을 전송해야 하는데, 이러한 기능을 흐름제어라 한다.
7. 데이터 링크 계층에서는 전송 데이터를 프레임이라는 작은 단위로 나누어 처리한다. 전송 프레임에는 상위 계층에서 보낸 전송 데이터의 오류 확인을 위한 체크섬, 송수신 호스트의 주소, 기타 프로토콜에서 사용하는 제어 코드 같은 정보가 포함된다.
8. 프레임은 내부 정보를 표현하는 방식에 따라 두 가지로 구분된다. 문자 프레임은 프레임의 내용이 문자로 구성되므로 문자 데이터를 전송할 때 사용하고, 비트 프레임은 임의의 비트 패턴 데이터를 전송할 때 사용한다.
9. 비트 프레임에서 플래그 패턴과 동일한 형태의 패턴이 전송 데이터에 발생하지 않도록 하는 기능을 비트 스터핑이라 한다. 수신 호스트는 송신 과정에서 추가된 0을 제거하여 원래의 데이터를 상위 계층에 전송해야 한다.
10. 페리티 비트는 전송 과정에서 1 비트 오류를 검출하기 위한 것으로 페러리 비트를 포함해 1의 개수가 짝수나 홀수 개가 되도록 한다. 다수의 비트에서 오류가 발생할 때 오류를 검출하는 방법으로는 블록 검사가 있다. 블록 검사 방식은 수평과 수직 방향으로 페리티 비트를 관리한다.
11. 네트워크 전송 오류는 특정 위치에서 집중적으로 발생하는 버스트 에러 형태인 경우가 많은데, 다항 코드 오류 검출 방식은 이런 환경에서 오류를 검출하는 확률이 높다.
12. 전송과 교환에 대한 설명으로 올바른 것을 모두 고르시오. 1, 2, 3
- 송신 호스트가 수신 호스트에 데이터를 전달하려면 전송과 교환 과정을 거쳐야 한다.
- 교환에는 라우팅 개념이 포함되지만, 전송에는 포함되지 않는다.
- 각 호스트를 일대일로 직접 연결해 목적지에만 데이터를 전송하는 것을 점대점 방식이라 한다.
- 연결된 모든 호스트에 데이터를 전송하는 방식을 멀티캐스팅이라 한다. v
- 점대점 방식은 LAN 환경에서 주로 사용하고, 브로드캐스팅 방식은 WAN 환경에서 주로 사용한다. v
13. 점대점 방식에 대한 설명으로 올바른 것을 모두 고르시오. 1, 3, 4
- 교환 호스트가 송수신 호스트의 중간에 위치하여 중개 기능을 수행한다.
- 스타형 구조는 하나의 중개 호스트 주위로 여러 호스트를 일대일로 연결하는 형태이다. 주변 호스트들은 중개 호스트의 도움 없이도 데이터를 송수신할 수 있다. v
- 스타형을 다단계로 확장하면 트리형 구조가 된다.
- 링형 구조는 호스트가 순환 고리 형태로 연결되는 구조이며, 전송 데이터가 브로드캐스팅되는 특징이 있다.
- 완전형은 네트워크에 존재하는 모든 호스트가 다른 모든 호스트와 일대일로 직접 연결되는 방식이며, 데이터 송수신 시 부분적인 교환 기능이 필요하다. v
14. 브로드캐스팅 방식에 대한 설명으로 잘못된 것을 모두 고르시오. 3, 5
- 특정 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전달된다.
- 데이터를 수신하도록 지정된 호스트는 해당 데이터를 수신하고 보관해야 하지만, 다른 호스트들은 수신한 데이터를 버려야 한다.
- 링형 구조에서는 전송 데이터가 링 주위를 순환하면서 전송되기 때문에 데이터가 링을 한 바퀴 완전히 순환하는 경우는 없다. v
- 버스형 구조에서 둘 이상의 호스트가 데이터를 동시에 전송하면 충돌이 발생할 수 있다.
- 충돌과 관련하여, 대표적인 공유 버스 방식인 이더넷에서는 충돌 방지 방식을 사용한다. v
15. 멀티포인트 통신에 대한 설명으로 올바른 것을 모두 고르시오. 1, 2, 3
- 인터넷에서 제공되는 텔넷, FTP, 웹 검색 같은 대부분의 서비스는 유니캐스팅 방식을 지원한다.
- 송신 호스트를 기준으로, 수신 호스트가 하나가 연결되면 유니포인트가 되고 다수의 수신 호스트와 연결되면 멀티 포인트가 된다.
- 유니캐스팅 방식을 이용해 일대다 통신을 하려면 멀티포인트 유니캐스팅 방식을 사용해야 한다.
- 브로드캐스팅 방식에서는 호스트 수가 많을 수록 성능 향상을 보장한다. v
- 멀티캐스팅 방식에서는 데이터 전송 과정에 수신 호스트 수만큼 데이터를 반복해서 전송해야 한다. v
16. 전송 오류 처리와 관련된 설명으로 올바른 것을 모두 고르시오. 1, 3, 4, 5
- 데이터 프레임의 변형 오류를 확인한 수신 호스트는 응답 프레임을 전송하여 재전송을 요구 할 수 있다.
- 수신 호스트에 데이터가 도착하지 못하는 프레임 분실 오류가 발생하면 부정 응답 프레임으로 오류 복구를 시작해야 한다. v
- 수신 호스트가 보낸 긍정 응답 프레임이 분실되면 데이터 중복 현상이 발생하기 때문에 순서 번호 기능이 반드시 필요하다.
- 송신 호스트에서 전송한 프레임은 크게 세 가지 경우로 나뉘어 처리되는데, 프레임이 정상적으로 도착하는 경우, 프레임이 변형되어 도착하는 경우, 프레임이 분실되는 경우로 나뉜다.
- 프레임 분실 오류가 발생하면 타임아웃 기능에 의하여 송신 호스트의 재전송 기능이 이루어진다.
17. 흐름제어 기능에 대한 설명으로 잘못된 것을 모두 고르시오. 2
- 오류 제어와 함께 데이터 링크 계층에서 제공하는 주요 기능은 전송 데이터의 속도 조절 기능이다.
- 흐름 제어는 송신 호스트가 수신 호스트보다 아주 늦은 데이터를 전송하는 경우에 필요하다. v
- 흐름 제어 기능을 제공하지 않으면 수신 호스트는 자신이 받은 데이터 프레임을 내부 버퍼에 보관할 여유를 갖지 못한다.
- 흐름 제어 부재에 따른 프레임 분실은 재전송 방법에 의하여 복구될 수 있다.
- 흐름 제어의 기본 원리는 수신 호스트가 다음에 수신할 프레임의 전송 시점을 송신 호스트에 통지하는 방식이다.
18. 프라임에 대한 설명으로 올바른 것을 모두 고르시오. 1, 3
- 프레임을 전송받은 수신 호스트는 제일 먼저 체크섬을 확인해 전송 중에 프레임 변형 오류가 발생했는지 확인해야 한다.
- 문자 프레임에서는 각 프레임의 시작 위치해 6문자(DLE, STX)를 추가하고, 끝나는 위치에 6문자(DLE, ETX)를 추가해 프레임의 다른 정보와 구분한다. v
- 문자 스터핑은 문자 프레임의 전송 데이터 안에 DLE 문자가 포함되면서 발생하는 혼란을 예방하는 방법이다.
- 비트 프레임 방식은 프레임의 시작과 끝 위치에 플래그라는 특수하게 정의된 비트 패턴( 10000001 ) 을 사용해 프레임 단위를 구분한다. v
- 수신 호스트가 수신한 데이터 프레임의 내용에서 플래그 패턴 외에는 어떤 경우에도 0이 연속해서 5개를 넘지 않는다. v
19. 오류 검출 코드 대한 설명으로 잘못된 것을 모두 고르시오. 3, 4
- 네트워크에서는 오류 복구 코드를 이용한 순방향 오류 복구 방식을 사용하지 않고, 역방향 오류 복구 방식을 사용한다.
- 1 바이트 구조에서 패리티 비트는 7비트의 ASCII 코드를 제외한 나머지 1비트이다.
- 다수의 비트에서 오류가 발생했을 때 오류를 검출하는 방법으로는 홀수 패리팅 방식을 개선한 짝수 패리티 방식이 있다. v
- 데이터 전송 시 송신 호스트가 짝수 패리티 방식을 사용하면 수신 호스트는 홀수 페리티 방식을 사용해야 한다. v
- 블록 검사 방식의 문제점은 수평과 수직 방향에서 모두 사각형 형태로 짝수 개의 데이터 오류가 발생하면 이를 검출하지 못한다는 것이다.
20. 오류 검출 방식이 다항 코드에 대한 설명으로 올바른 것을 모두 고르시오. 1, 3, 5
- CRC로 알려진 다항 코드 방식은 통신 프로토콜에서 가장 많이 사용하는 오류 검출 기법이다.
- 다항 코드 방식의 문제점은 버스트 에러의 검출률이 낮다는 점이다. v
- 송신 호스트는 전송 데이터를 생성 다항식으로 나누어 체크섬 정보를 얻는다.
- 수신 호스트는 전송 오류가 발생했는지를 판단하기 위해 수신한 데이터 전체를 생성 다항식으로 나누는 연산을 하고, 나머지가 0이 아니면 전송 오류가 없는 것으로 판단한다. v
- 국제 표준으로 널리 사용되는 생성 다항식은 CRC - 12, CRC - 16, CRC - CCITT 등이 있다.
21. 전송과 교환의 개념을 설명하시오.
- 전송: 특정한 물리 매체에 의하여 1:1로 직접 연결된 두 시스템간의 신뢰성 있는 데이터 전송을 보장하기 위한 것이다. 전송에는 라우팅 개념이 포함되지 않는다.
- 교환: 전달 경로가 둘 이상일 때 라우터에서 데이터를 어느 방향으로 전달할 지를 선택하는 기능으로, 다양한 기준에 따라 데이터를 올바른 경로로 전달할 수 있도록 해준다.
22. 점대점 방식과 브로드캐스팅 방식의 차이점 위주로 설명하시오.
- 점대점 방식: 호스트 간의 데이터 전달 과정에서 송신 호스트가 중개 호스트와 1:1 로 연결되므로 다른 호스트에는 데이터가 전달되지 않는다. 따라서 데이터를 최종 목적지 호스트까지 올바르게 전달하려고 인접 호스트에 전송하는 과정을 단계적으로 반복한다. 이때 각 호스트는 데이터를 송수신하는 호스트일 수도 있고, 중간에 있는 교환 호스트일 수도 있다. 원거리에 있는 시스템 사이의 통신 방식으로, WAN 환경에서 주로 사용한다.
- 브로드 캐스팅 방식: 공유 전송 매체 하나에 여러 호스트를 연결하기 때문에 네트워크에 연결된 모든 호스트에 데이터가 전송된다. 데이터 전달 과정에는 별도의 교환 기능 이 필요 없다. 대신, 자신을 목적지로 하지 않은 데이터를 받은 호스트는 받은 데이터를 버려 결국 하나의 목적지 호스트만 데이터를 수신하도록 설계해야 한다. LAN처럼 지리적으 로 가까운 호스트 사이의 통신에서 주로 사용한다.
23. 멀티포인트 유니캐스팅 방식과 멀티캐스팅 방식을 비교하여 설명하시오.
- 송신 호스트를 기준으로, 수신 호스트 하나와 연결되면 유니포인트고, 다수의 수신 호스트와 연결되면 멀티포인트가 된다. 송신 호스트가 한 번의 전송으로 수신 호스트 하나에만 데이터를 전송할 수 있으면 유니캐스팅이고, 다수의 수신 호스트에 전송할 수 있으면 멀티캐스팅이다.
24. 데이터 링크 계층에서 전송 오류문제를 해결하기 위해서 필요한 응답 프레임, 타임아웃, 순서 번호의 기능 등을 설명하시오.
- 응답 프레임: 송신 호스트가 전송한 데이터 프레임의 일부가 깨지는 프레임 변형 오류를 확인한 수신 호스트는 송신 호스트에게 응답 프레임을 전송해 원래의 데이터 프레임을 재전송하도록 요구할 수 있다. 수신 호스트가 전송하는 응답 프레임의 종류에는 데이터 프레임이 정상 적으로 도착했을 때 회신하는 긍정 응답 프레임과 데이터 프레임이 깨졌을 때 회신하는 부정 응답 프레임이 있다. 송신 호스트의 재전송 기능은 수신 호스트의 부정 응답 프레임 회신에 의해 이루어진다.
- 타임아웃: : 송신 호스트가 전송한 데이터 프레임이 수신 호스트에게 도착하지 못하는 프레임 분실 오류가 발생하면 수신 호스트는 이 사실을 인지할 수 없다. 따라서 오류의 복구 과정이 송신 호스트의 주도로 이루어져야 한다. 송신 호스트는 데이터 프레임을 전송한 후 에 일정시간 이내에 수신 호스트로부터 긍정 응답 프레임 회신이 없으면 타임아웃 기능을 동작시켜 데이터 프레임을 재전송한다.
- 순서번호: 수신 호스트의 긍정 응답 프레임을 분실하면 데이터 프레임이 제대로 도착 했음에도 불구하고 송신 호스트가 이를 인지할 수 없다. 따라서 송신 호스트가 타임아웃 기능에 의해 원래 데이터를 재전송함으로써 수신 호스트가 데이터 프레임을 중복 수신하는 결과를 초래한다. 이럴 때 수신 호스트가 중복 데이터 프레임을 가려내려면 각 프레임 내부에 순서 번호를 기록해야 한다.
25. 데이터 프레임이 전송되었을 떄 발생 가능한 오류의 종류와 이를 해결하기 위한 방안을 설명하시오.
-데이터 프레임이 전송 되었을 때 발생 가능한 오류는 크게 두가지 종류가 있다.
- 프레임 변형 오류: 프레임 변형 오류는 송신 호스트가 수신 호스트에게 보낸 데이터 프레임의 내용이 깨져서 도착하는 오류를 의미한다. 데이터가 변형된 프레임을 받은 수신호스트는 송신 호스트에게 부정 응답 프레임을 보낸다. 응답 프레임을 받은 송신 호스트는 수신 호스트에게 데이터 프레임을 재전송하는 방법으로 이를 해결한다.
- 프레임 분실 오류: 프레임 분실 오류는 송신 호스트가 수신 호스트에게 보낸 데이터가 전송 과정에서 사라지는 오류를 의미한다. 수신 호스트의 경우에는 송신 호스트가 보낸 사실 조차 모르기 때문에 이 오류는 송신 호스트 측면에서 해결해야 하는 문제이다. 이 문제를 해결하기 위해서 존재하는 송신 호스트의 기능은 바로 타임 아웃 기능이다. 일정 시간이 지나도 수신 호스트에서 보낸 응답 프레임이 없을 경우 송신 호스트는 타임 아웃 기능으로 수신 호스트에게 데이터 프레임을 재전송 한다.
26. 데이터 프레임의 정보 중에서 순서 번호가 제공되지 않았을 때 문제점을 순서 번호가 있는 경우와 비교하여 설명하시오.
- 순서 번호: 순서번호는 데이터 프레임 내부에 기록을 하여 수신 호스트가 중복 데이터 프레임인지를 가려낼 수 있게 하는 것이다.
- 순서 번호가 있는 경우: 송신 호스트가 데이터 프레임을 수신 호스트에게 전달하였을 경우 수신 호스트는 이에 대한 응답 프레임을 수신 호스트에게 전달한다. 이 응답프레임을 전송하는 과정에서 사라졌을 경우 송신 호스트는 응답을 받지 못해 타임 아웃 기능으로 인해 데이터 프레임을 재전송 한다. 이 경우에 수신 호스트는 같은 데이터를 중복해서 받게 되는 경우이다. 이 중복 데이터를 판별 할 수 있게 하는 것이 데이터 프레임 내부에 있는 순서 번호이다.
- 순서 번호가 없는 경우: 송신 호스트가 데이터 프레임을 수신 호스트에게 전달하였을 경우 수신 호스트는 이에 대한 응답 프레임을 수신 호스트에게 전달한다. 이 응답프레임을 전송하는 과정에서 사라졌을 경우 송신 호스트는 응답을 받지 못해 타임 아웃 기능으로 인해 데이터 프레임을 재전송 한다. 순서 번호가 없는 경우에는 수신 호스트는 전달 받은 데이터 프레임이 중복 데이터인지, 아니면 서로 다른 데이터 프레임이 도착했는지 판별을 할 수 없게 된다.
27. 문자 프레임에서 문자 스터핑의 필요성과 원리를 설명하시오.
- 문자 스터핑은 문자 프레임의 전송 데이터 중 DLE 문자가 포함되면서 발생하는 혼란을 예방하는 방법이다. 송신 호스트가 전송하는 데이터를 미리 변형함으로써 혼선의 여지를 없앨 수 있다. 즉, 전송 데이터가 DLE 문자를 포함하면 DLE 문자 다음에 DLE 문자를 강제로 추가한다. 수신 호스트는 프레임 내용에 DLE 문자가 연속 해서 두 번 나타나면 두 번째 DLE는 송신 호스트가 임의로 추가한 문자라고 판단할 수 있 다. 따라서 상위 계층인 네트워크 계층에 데이터를 전달하기 전에 둘 중 하나를 제거해야 한다. 문자 프레임의 전송 과정에서 제어 문자를 추가하는 기능을 문자 스터핑이라고 한다.
28. 비트 프레임에서 비트 스터핑의 필요성과 원리를 설명하시오.
- 비트 프레임 방식에서는 송신 호스트가 전송하고자 하는 데이터 내용 중에 값이 1인 패 턴이 연속해서 5번 발생하면 강제로 0을 추가해 전송한다. 플래그에 1이 연속해서 6개이므로 원천적으로 데이터 내용에 플래그 패턴의 발생을 차단하기 위함이다. 수신 호스트가 수신한 데이터 프레임의 내용에서 플래그 패턴 외에는 어떤 경우에도 1이 5개보다 많이 연속하지 않는다. 다시 말해서 플래그 패턴과 동일한 형태의 패턴이 데이터 링크 계층의 전송 데이터에는 발생할 수 없다. 이 와 같은 기능을 비트 스터핑이라 하며, 수신 호스트는 송신 과정에 서 추가된 0을 제거하여 원래의 데이터를 상위 계층에 전달한다.
위 그림에서 비트 프레임 내용의 굵은 숫자 0이 1이 연속으로 6개가 되는 것을 방지하기 위함으로 추가 된 것이다.
29. 패리티 비트의 목적과 사용방법을 설명하시오.
- 패리티 비트는 전송 과정에서 1비트 오류를 검출하기 위한 것으로, 패리티 비트를 포함해 1의 개수가 짝수나 홀수 개가 되도록 한다. 1바이트 구조에서 패리티 비트는 7비트 크기의 ASCII 코드를 제외한 나머지 1비트다.
패리티 방식은 짝수 패리티 방식과 홀수 패리티 방식 두가지로 구분할 수 있다.
- 짝수 패리티 방식: 짝수 패리티 방식은 예를 들어 1000000 이라는 데이터의 1의 개수를 짝수로 만들어주는 방식이다. 짝수로 맞춰주기 위해서 마지막 1비트 자리에 1을 추가함으로써 10000001로 만들어 줌으로써 짝수로 바꿔주는 것을 말한다. 송신 호스트는 짝수 패리티 방식으로 이 데이터를 보내고 데이터 전송 과정에서 세 번째 비트가 0에서 1로 바뀌는 수신 호스트는 10100001을 수신하게 되는데 1의 개수가 홀수가 된것을 보고 수신 호스트는 오류가 발생했음을 알 수 있다.
- 홀수 패리티 방식: 짝수 패리티와 반대로 1의 개수를 홀수로 만드는 것이다. 송신 호스트와 수신 호스트는 짝수 패리티 또는 홀수 패리티 방식을 통일 해야 한다.
30. 다항 코드 1001011 을 사용하는 프로토콜에서 데이터 1001101001 을 전송 할 떄의 체크섬 값을 구하고, 송수신 호스트가 오류제어 기능을 수행하는 방법을 설명하시오.
생성 다항식 G(X) = x의 6승 + x의 3승 + x + 1이 되고, 전송 데이터는 101101001인 경우의 체크성 과정은 아래와 같다.
계산을 통해 나머지는 '101001'이 되므로, 송신데이터는 ‘101101001101001’이 된다. 수신 호스트는 수신 데이터 ‘101101001101001’을 생성다항식 ‘1001011’로 나누기 연산 을 수행한다. 이때 나머지가 0이면 전송 오류가 없고, 0이 아니면 오류가 발생한 것으로 판단할 수 있다
'Network > 쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판)' 카테고리의 다른 글
쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판) 6장 연습문제 (3) | 2022.10.22 |
---|---|
쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판) 5장 연습문제 (0) | 2022.10.22 |
쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판) 3장 연습문제 (0) | 2022.10.20 |
쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판) 2장 연습문제 (0) | 2022.10.19 |
쉽게 배우는 데이터 통신과 컴퓨터 네트워크(개정판) 1장 연습문제 (0) | 2022.10.18 |