본문 바로가기
Programming/열혈 TCP, IP 소켓 프로그래밍(저자 윤성우)

Ch 14. 내용 확인문제

by minjunkim.dev 2020. 8. 9.

    모든 내용은 [윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요!


01. TTL이 의미하는 바는 무엇인가? 그리고 TTL의 값이 크게 설정되는 것과
작게 설정되는 것에 따른 차이와 문제점을 라우팅의 관점에서 설명해보자

- TTL이란 Time to Live의 약자로, '패킷을 얼마나 멀리 전달할 것인가를 결정하는 주요소'이다.
정수로 표현되며 이 값은 라우터를 하나 거칠 때마다 1씩 감소한다.
이 값이 0이 되면 패킷은 더이상 전달되지 못하고 소멸된다.
TTL을 너무 크게 설정하면 네트워크 트래픽에 부정적인 영향을 줄 수 있으며,
너무 작게 설정해도 목적지에 도달하지 못하는 문제가 발생할 수 있다.



02. 멀티캐스트와 브로드캐스트의 공통점을 무엇이고 또 차이점은 무엇인가? 데이터의 송수신 관점에서 설명해보자

공통점 : 둘 다 방송의 형태로 데이터를 전송한다.

(한 번의 데이터 전송으로 둘 이상의 호스트에 데이터를 전송 가능)

차이점: 전송이 가능한 호스트의 범위가 다르다.

- 브로드캐스트: 네트워크 중심 방송(동일한 네트워크의 호스트들로만 구성 가능)
- 멀티캐스트 : 그룹 중심 방송(서로 다른 네트워크의 호스트들로도 구성 가능)



03. 다음 중 멀티 캐스트에 대한 설명으로 옳은 것은?

a. 멀티캐스트는 멀티캐스트 그룹에 가입한 모든 호스트에게 데이터를 전송하는데 사용되는 프로토콜이다.

d. 멀티캐스트를 위한 소켓은 UDP 소켓이어야 한다. 멀티캐스트는 UDP를 기반으로 데이터를 송수신하기 때문이다.

 


# 틀린 설명

b. 멀티캐스트 그룹에 가입하기 위해서는 동일 네트워크에 연결되어 있어야 한다.
즉, 둘 이상의 네트워크에 걸쳐서 하나의 멀티캐스트 그룹이 형성될 수 없다.
=> 동일 네트워크에 연결되어 있어야 하는 것은 브로드캐스트이다.

c. 멀티캐스트 그룹에 가입할 수 있는 호스트의 수에는 제한이 없으나,
이 그룹으로 데이터를 전송하는 호스트(Sender)의 수는 하나로 제한이 된다.
=> 데이터를 전송하는 호스트의 수에도 제한이 없다.



04. 멀티캐스트는 트래픽 측면에서도 긍정적이다!
그렇다면 어떠한 이유로, 어떻게 긍정적인지 TCP의 데이터 송수신 방식과 비교해서 설명해보자

- 멀티캐스트 데이터는 라우터상에서 복사가 진행된다. 따라서 데이터를 전송할 호스트의 수가 많더라도 호스트들이 존재하는 경로가 동일한 네트워크라면, 단 한 번의 데이터 전송만으로도 여러 호스트에 데이터를 전송할 수 있다. 그러나 TCP, UDP의 경우에는 경로에 상관없이(심지어 경로가 99% 일치하더라도) 호스트의 수만큼 데이터를 직접 전송해야만 한다.



05. 멀티캐스트 방식의 데이터 송수신을 위해서는 MBone이라는 가상의 네트워크가 구성되어 있어야 한다.
즉, MBone은 멀티캐스트를 위한 네트워크이다. 그런데 이러한 MBone을 가리켜 가상 네트워크라고 한다.
그렇다면 여기서 말하는 가상 네트워크가 무엇을 뜻하는지 설명해보자

- 가상의 네트워크는 물리적 네트워크가 아니라 소프트웨어적인 개념의 네트워크를 의미한다.
- 멀티캐스트는 TCP/IP 프로토콜 기반으로 동작하는 인터넷상에서 별도의 프로토콜을 기반으로 동작하는 소프트웨어의 형태로 존재하는 가상의 네트워크이다.


[출처] : 윤성우 저, "열혈강의 TCP/IP 소켓 프로그래밍", 오렌지미디어