본문 바로가기
CS

[컴퓨터 네트워킹 하향식 접근] 1. 컴퓨터 네트워크와 인터넷 - 과제와 질문

by 벨롭 (valop) 2024. 6. 13.

아래 내용은 공부를 하며 스스로 정리한 내용입니다. 부정확한 내용이 있으면 언제든 댓글로 알려주세요.

 

 

 

[1.1절]

 

1. 호스트와 종단 시스템의 차이는 무엇인가? 여러 종단 시스템의 유형을 나열하라. 웹서버는 종단 시스템인가?

 

인터넷에 연결되는 컴퓨팅 장치들을 가리키는 호스트와 종단 시스템라는 용어는 동일한 개념으로, 혼용되어 사용할 수 있다. 종단 시스템은 네트워크 구조에서 가장자리에 위치하며, 애플리케이션을 수행하는 장치이기 때문에 호스트라고도 부른다.

 

 전통적으로는 종단 시스템에 데스크톱과 리눅스 워크스테이션, 서버들이 포함되었다. 하지만 시간이 지남에 따라 스마트폰과 핸드폰, IoT 사물로까지 확장되고 있다. 웹서버는 애플리케이션을 실행하고 네트워크를 통해 클라이언트와 통신하기 때문에 종단 시스템에 해당한다.

 

 

2. 전화로 대화하는 두 사람이 대화를 시작하고 마치기 위해 사용할 수 있는 프로토콜을 기술하라.

 

전화를 송신하는 입장에서, 메세지의 순서는 크게 본인 확인 - 용건 - 마무리 인사로 구분할 수 있다. 이때 메세지의 포맷은 수신측이 이해할 수 있는 음성 언어를 사용해야 할 것이다. 전화로 대화를 할 때 여러 이벤트가 발생하기도 하는데, 무사히 대화를 마치기 위해서는 이런 이벤트에 따른 행동들 또한 적절하게 이루어져야한다. 예를 들어, 전화를 받은 사람이 핸드폰의 주인이 아닐 수 있다. 이럴 때는 전화교환을 요청해야한다.   

 

 이처럼, 프로토콜은 메세지의 포맷과 순서뿐만 아니라 이벤트에 따른 행동들을 정의해야 한다.

 

 

 

3. 프로토콜에 대한 표준이 왜 중요한가?

 

프로토콜에 대한 표준은 다양한 제조 업체와 서비스 제공자들이 상호 호환되는 시스템과 제품을 만들 수 있게 한다. 

 

 

 

 

[1.2절]

 

4. 3가지 접속 기술을 나열하라. 각각을 가정접속, 기업접속, 광역 무선 접속으로 분류하라.

 

가정접속에는 기존 전화선을 이용하는 DSL, 기존의 케이블 TV 인프라를 이용하는 케이블 인터넷 접속, 가정으로 직접 광섬유 경로를 제공하는 FTTH, 5G 고정 무선 방법이 있다. 기업 접속은 이더넷 스위치에 꼬임쌍선으로 연결하는 이더넷과 로컬 라디오 채널을 통한 무선 랜 환경으로 구분되는데, 최근은 가정에서도 사용되고 있다. 광역 무선 접속은 3G와 LTE 4G, 5G가 포함된다.

 

 

5. HFC 전송률(또는 용량)은 사용자들 간에 공유되는가 아니면 전용으로 지정되는가? 다운스트림 HFC 채널에서 충돌이 발생할 수 있는가? 그 이유는 무엇인가?

 

HFC는 공유 매체로 헤드엔드가 보낸 모든 패킷이 모든 링크의 다운스트림 채널을 통해 모든 가정으로 전송된다. 따라서 충돌이 발생할 수 있으므로 분산 다중 접속 프로토콜이 필요하다.

 

 

6. 시골 지역에 인터넷 접속을 제공하는 데 가장 적절한 네트워크 접속 기술은 무엇인가?

 

정지 위성을 이용한 위성 라디오 채널의 경우 DSL 접속 혹은 케이블 기반 인터넷 접속이 어려운 멀리 떨어진 지역에서도 활용할 수 있다.

 

7. 다이얼업 모뎀과 DSL 모두 전송 매체로 전화선 (꼬임쌍 구리선)을 이용한다. 그런데 왜 DSL이 다이얼업 접속보다 빠른가?

 

주파수  분할 다중화 기술을 이용해 데이터와 전화 신호가 동시에 전송될 수 있기 때문이다. 이들을 다른 주파수 대역에서 인코딩하여, 단일 DSL 링크가 3개의 분리된 링크인것처럼 보이게 한다.

 

 

8. 이더넷이 이용할 수 있는 물리 매체로는 어떤 것들이 있는가?

 

이더넷은 주로 이웃하는 쌍들 간에 전기 간섭을 줄이기 위해 선들이 꼬여있는 꼬임쌍선 중에서도 UTP를 이용한다. 

 

 

9. HFC, DSL, FTTH 모두 가정 접속에 사용된다. 이들 각각의 접속 기술에 대해 전송률의 범위와 전송률을 공유하는지 아니면 전용으로 이용하는지 기술하라

 

DSL은 전송률을 공유하지 않는 방식으로, DSL 표준은 24Mbps와 52Mbps 속도의 다운 스트림과 3.5Mbps와 16Mbps 속도의 업스트림을 포함하는 여러 전송률을 정의한다. 최신 표준은 업스트림과 다운스트림을 결합한 1Gbps를 정의하고 있다. 

 

HFC는 전송률을 공유하는 방식으, DOCSIS 2.0과 DOCSIS 3.0 표준은 다운스트림 속도를 최대 40 Mbps와 1.2Gbps, 업스트림 속도를 최대 30Mbps와 100Mbps로 정의하고 있다. 

 

전용 광섬유 경로를 제공하는 FTTH는 전송률을 공유하지 않는다, 다만 PON 방식에서는 CO에 있는 OLT와 광스플리터를 연결하는 경로에서 대역폭 공유가 발생한다. 잠재적으로 Gbps의 인터넷 접속 속도를 제공할 수 있다.

 

 

10. 하루 동안 여러분이 사용하는 각기 다른 무선 기술과 그 특성에 대해 기술하라. 여러 기술 간에 여러분이 하나를 선택한다면 왜 다른 것에 비해 그것을 선호하는가?

 

주로 이더넷과 와이파이(무선 랜 환경)를 이용한다. 무선 랜의 경우 일반적으로 AP의 수십 미터 반경 내에 있어야 하며, 전송률이 이더넷보다는 떨어지지만 다양한 기기를 연결하기에 편리하므로 선호한다.

 

 

 

 

 

 

[1.3절]

 

11. 송신 호스트와 수신 호스트 사이에 하나의 패킷 스위치가 있다고 가정하자. 송신 호스트와 스위치 사이 그리고 스위치와 수신 호스트 사이의 전송률이 각각 R1, R2라고 하자. 라우터가 저장-후-전송 패킷 교환 방식을 사용한다면 길이가 L인 패킷을 전달하는데 필요한 종단 간의 총 지연 시간을 계산하라.(큐잉 지연, 전파 지연, 처리 지연은 무시한다.)

 

송신 호스트에서 스위치까지의 전송 지연은 L/R1이며, 스위치에서 수신 호스트까지의 전송 지연은 L/R2이다. 그런데 라우터가 저장 후 전송 방식을 사용하기 때문에, 스위치는 패킷을 모두 받은 후에 다음 링크로 전송을 시작한다. 따라서 총 지연 시간은 L/R1 + L/R2이다.

 

 

 

12. 회선 교환 네트워크는 패킷 교환 네트워크에 비해 어떠한 장점이 있는가? 패킷 교환에서 출력 큐의 역할은 무엇인가? 회선 교환 네트워크에서 TDM은 FDM에 비해 어떠한 장점이 있는가?

 

회선 교환 네트워크에서는 통신을 제공하기 위해 필요한 자원(버퍼, 링크 전송률)이 통신 세션 동안에 예약되므로 송신자는 수신자에게 보장된 일정한 전송률로 데이터를 보낼 수 있다. FDM은 각 회선이 지속적으로 대역폭의 일부를 얻지만, TDM 방식에서는 각 회선은 짧은 시간동안 주기적으로 전체 대역폭을 얻을 수 있다. 따라서 TDM은 대역폭을 보다 효율적으로 사용할 수 있으며, 시간 슬롯을 통해 유연한 대역폭 할당이 가능하다.

 

패킷 교환에서는 패킷이 링크 자원을 예약하지 않고 네트워크로 보내진다. 따라서 링크가 다른 패킷을 전송하고 있다면 도착하는 패킷은 출력 버퍼에서 대기해야한다.

 

 

 

13. 사용자들이 2Mbps 링크를 공유한다고 가정하자. 또한 각 사용자들은 전송할 때 1Mbps를 요구하는데 각 사용자들은 시간의 20%만 전송한다고 가정하자.

    a. 회선 교환을 사용할 때 얼마나 많은 사용자를 지원할 수 있는가? 
    b. 이 문제의 나머지 부분에 대해 패킷 교환이 사용된다고 가정하자. 둘 혹은 그 이하의 사용자들이 동시에 전송한다면 왜 근본적으로 링크상에 큐잉 지연이 없는 것인가? 세 명 이상의 사용자가 동시에 전송한다면 왜 큐잉 지연이 발생하는가?
    c. 주어진 사용자가 전송하는 확률을 구하라.
    d. 이제 세 명의 사용자가 있다고 가정하자. 어느 주어진 시간에 세 명의 사용자가 동시에 전송할 확률을 구하라. 큐가 증가하는 기간을 찾아라.

 

 

회선 교환을 사용할 때, 각 사용자에게 1Mbps만큼을 할당해야하므로 2명의 사용자를 지원할 수 있다. 

 

패킷 교환에서 둘 혹은 그 이하의 사용자들이 동시에 전송한다면 데이터의 통합 도착률은 2Mbps보다 작거나 같으므로 근본적으로 링크상에 큐잉 지연이 발생하지 않는다. 하지만 세 명 이상의 사용자가 동시에 접속한다면 데이터의 통합 도착률이 2Mbps를 초과하므로 큐잉 지연이 발생한다. 다만 한 명의 사용자가 데이터를 전송할 확률은 20%이므로, 세 명의 사용자가 주어진 시간에 동시에 전송할 확률은 0.8%이다. 이때 큐는 통합 입력률이 2Mbps 이하로 떨어질 때까지 증가할 것이다.

 

 

 

14. 같은 계층에 있는 두 ISP는 왜 서로 피어링을 맺는가? IXP는 어떻게 수익을 얻는가?

 

고객 ISP는 글로벌 인터넷 연결성을 얻기 위해 서비스 제공 ISP에게 요금을 지불하는데, 이 요금은 그 서비스 제공자와 교환하는 트래픽의 양을 반영한다. 이 트래픽의 양을 줄이기 위해 상위 계층 ISP를 통하지 않고 직접 송수신 할 수 있도록 서로 피어링을 맺는다.

 

IXP는 이러한 피어링 서비스를 제공하여 수익을 창출한다.

 

 

 

15. 오늘날 콘텐츠 제공자를 왜 또 다른 인터넷 개체로 생각하는가? 콘텐츠 제공자는 어떻게 다른 ISP에 연결하는가? 그 이유는 무엇인가?

 

콘텐츠 제공자는 콘텐츠 제공자 네트워크를 구축하며, 사설 TCP/IP 네트워크를 통해 연결되어 있고 공중 인터넷과는 분리되어 자신들의 서버로 오가는 트래픽만 전달한다. 콘텐츠 제공자들은 하위 계층 ISP와 피어링을 하여 상위 계층 ISP들에게 지불하는 요금을 줄일 뿐만 아니라 최종 사용자들에게 자신들의 서비스가 궁극적으로 어떻게 전달되는지에 대한 더 많은 통제권을 가질 수 있다.

 

 

 

 


[1.4절]

 

16. 고정 경로를 통해 출발지 호스트에서 목적지 호스트로 일련의 패킷을 보낸다고 하자. 하나의 패킷에 대해 종단 간 지연에서의 지연 요소를 나열하라. 이러한 지연에서 상수인 것은 무엇이고 가변적인 지연은 무엇인가?

 

지연 요소에는 패킷 헤더를 조사하고 그 패킷을 어디로 보낼지를 결정하는 처리지연, 큐에서 링크로 전송되기를 기다리는 큐잉지연, 패킷의 모든 비트를 링크로 전송하는데 필요한 전송지연, 비트가 한 라우터에서 다음 라우터로 전파되는데 걸리는 전파 지연이 있다. 여기서 큐의 상태에 따라 변화하는 큐잉지연만이 가변적인 지연이다.

 

 

 

17. 이 책의 보조 웹사이트에 있는 전송 대 전파 지연 애니메이션을 방문하라. 속도, 전파 지연, 가용한 패킷 크기 중에서 패킷의 첫번째 비트가 수신자에 도착하기 전에 송신자가 전송을 끝마치게 되는 조합을 찾아라. 송신자가 전송을 마치기 전에 패킷의 첫 번째 비트가 수신자에 도착하는 또 다른 조합을 찾아자. 

 

 

(보조 웹사이트에 접속이 불가능하여 유튜브에 올라온 영상으로 대체합니다.)

https://www.youtube.com/watch?v=OI6t-v68KT0

 

 

첫 번째 비트가 수신자에 도착하기 전에 전송을 끝마치기 위해서는 전파 지연(Length)을 늘리고, 속도(Rate)를 낮추고, 가용한 패킷 크기 (Packet Size)를 줄인다. 송신자가 전송을 마치기 전에 패킷의 첫 번째 비트가 수신자에 도착하려면 전파 지연을 줄이고, 속도를 높이고, 패킷 크기를 늘린다.

 

 

 

18. 사용자는 1500바이트 파일을 전송하기 위해 장거리 무선 혹은 꼬임쌍선을 통해 서버에 직접 연결할 수 있다. 무선 그리고 유선 매체의 전송률은 각각 2와 100 Mbps이다. 공기 중에서 전파 속도는 3 * 10^8 m/s이고 꼬임쌍선에서의 속도는 2 x 10^8 m/s이다. 만약 사용자가 서버로부터 1km 떨어진 곳에 있다면 각각의 기술을 이용할 때 노드 지연은 무엇인가?

 

전송 지연은 파일 크기 / 전송률 이며 전파지연은 거리 / 전파 속도이다.

따라서 무선을 이용할 때의 전송 지연은 1500byte / 2Mbps = 12000bit / 2000000bps = 0.006초이며, 전파지연은 1000m /  (3 * 10^8 m/s) = 3.33 * 10 ^ -6 =  3.33 마이크로초이다.

유선을 이용할 경우는 1500byte / 100Mbps  = 12000bit / 100000000bps = 0.00012초이며, 전파지연은 1000m /  ( 2 x 10^8 m/s) = 5 * 10 ^ -6 = 5마이크로 초이다.

 

 

 

 

19. 호스트 A가 커다란 파일을 호스트 B로 전송하기를 원한다고 하자. 호스트 A에서 호스트 B로의 경로는 3개의 링크를 포함한다. 이들 각각은 R1 = 500kbps, R2 = 2Mbps, R3 = 1Mbps이다.

    a. 네트워크에 다른 트래픽이 없다고 가정하면 파일 전송을 위한 전송률은 얼마인가?
    b. 파일이 400만 바이트의 크기라고 가정하자. 이 파일을 호스트 B로 전달하는데 대략 얼마나 걸리는가?
    c. (a)와 (b)를 반복하라. 단, R2 는 100kbps이다.

 

 

네트워크에 다른 트래픽이 없을 경우, 병목 현상에 의해 파일 전송을 위한 전송률은 min(R1, R2, R3_ = 500kbps이다. 따라서 파일이 400만 바이트라면 이 파일을 호스트 B로 전달하는데 400만바이트 / 500kbps = 3200만 비트 / 50만bps = 64초가 걸린다.

 

R2가 100kbps일 경우, 전송률은 100kbps이며 400만바이트 / 100kbps = 3200만 비트 / 10만bps = 320초가 걸린다.

 

 

 

20. 종단 시스템 A가 커다란 파일을 종단 시스템 B로 보내고자 한다고 가정하자. 종단 시스템 A가 파일로부터 패킷을 어떻게 생성하는지 개략적으로 기술하라. 이 패킷 중 하나가 라우터에 도착하면 패킷을 전달할 링크를 결정하기 위해 패킷에 있는 어떤 정보를 라우터가 이용하는가? 왜 인터넷의 패킷 교환이 한 도시에서 다른 도시로 운전하면서 길을 따라 방향을 물어보는 것과 비슷한가?

 

종단 시스템 A는 파일을 포함한 긴 메세지를 작은 데이터 덩어리인 패킷으로 분할한다. 또한 이 패킷의 해더에 목적지의 IP주소를 포함시킨다. 각 라우터는 목적지 주소를 라우터의 출력 링크로 매핑하는 포워딩 테이블을 가지고 있어 패킷을 전달할 링크를 결정하기 위해 패킷의 목적지 IP 주소를 활용한다.

 

패킷 교환 과정에서 라우터는 포워딩 테이블을 통해 패킷을 이웃 라우터로 전달하는 과정을 반복하므로, 길을 가면서 그때그때 방향을 확인하는 과정과 비슷하다고 할 수 있다.

 

 

 

21. 이 책의 보조 웹사이트에서 큐잉과 손실 애니메이션을 방문하라. 최대 방출(emission) 속도와 최소 전송 속도는 얼마인가? 이러한 속도를 가진 트래픽 강도는 얼만인가? 이러한 속도로 애니메이션을 수행하고 패킷 손실이 발생하는데 얼마나 걸리는지를 결정하라. 그러고 나서 두 번 이 실험을 반복하고 패킷 손실이 발생하는데 얼마나 걸리는지를 결정하라. 그 값들이 다른가? 그 이유는 무엇인가?

 

 

(보조 웹사이트에 접속이 불가능하여 유튜브에 올라온 영상으로 대체합니다.)

https://www.youtube.com/watch?v=APi9wxT8Ecg

 

 

 

 

최대 전송속도는 500 packet/s, 최소 전송 속도는 350 packet/s이다.이때 트래픽 강도는 500/350 = 약 1.43로, 패킷 손실이 발생하는데 65ms가 걸린다. 다만 실험을 여러번 실행할 경우, 일반적으로 큐에  도착하는 프로세스는 랜덤이라 패킷의 도착에 고정된 패턴이 없고 패킷은 임의의 시간만큼 떨어져서 도착하게 되므로 다른 결과가 발생할 수 있다.

 

 

 

 

 

 

[1.5절]

 

22. 만약 두 종단 시스템이 여러 라우터를 통해 연결되고 그 라우터들 사이의 데이터 링크 계층이 신뢰적인 데이터 전송을 보장한다면 전송 프로토콜이 이 두 종단 시스템 간에 신뢰적인 데이터 전송을 제공할 필요가 있는가? 그 이유는 무엇인가?

 

데이터 링크 계층에서의 신뢰적인 데이터 전송은 송신 노드로부터 반대편 수신 노드로까지의 신뢰적인 전송을 제공하지만, 트랜스포트 계층에서의 TCP는 종단 시스템 간의 신뢰적인 데이터 전송을 보장하기 때문이다. 

 

 

 

23. 인터넷 프로토콜 스택의 5개 계층은 무엇인가? 각 계층의 주요 기능은 무엇인가?

 

인터넷 프로토콜 스택을 탑다운 방식으로 기술하면 애플리케이션-트랜스포트-네트워크-링크-물리라고 할 수 있다.

애플리케이션 계층의 경우 HTTP, SMTP, FTP등의 프로토콜에 의해 서비스를 제공하며, 트랜스포트 계층에서는 애플리케이션 계층의 메시지를 전송하는 역할을 맡는다. 네트워크 계층의 경우 IP 프로토콜과 라우팅 프로토콜에 의해 패킷을 라우팅하고 주소를 지정하며, 링크 계층은 그 경로에서 다음 노드로의 데이터 전송을 담당한다. 물리 계층의 경우 링크 계층의 프레임 내부의 각 비트를 한 노드에서 다음 노드로 이동시킨다.

 

 

 

24. 캡슐화와 비캡슐화는 무엇을 의미하는가? 계층 프로토콜 스택에서 왜 이들이 필요한가?

 

캡슐화는 상위 계층에서 전달받은 패킷에 각 계층에서 필요로 하는 정보를 포함하여 헤더를 추가하는 것이며, 비캡슐화는 하위 계층에서 전달받은 패킷의 헤더를 처리하는 것이다. 이를 통해 각 계층이 모듈화되어 독립적으로 동작할 수 있게 만든다.

 

 

 

25. 인터넷 프로토콜 스택에서 어느 계층이 라우터 프로세스를 수행하는가? 링크 계층 스위치 프로세서는 어떤 계층에서 수행하는가? 호스트 프로세스는 어떤 계층에서 수행하는가?

 

라우터 프로세스는 네트워크 계층에서 동작하며, 네트워크 계층에서 IP 주소를 사용해 데이터그램을 라우팅하고 다른 네트워크로 데이터를 전송한다. 링크 계층 스위치는 데이터 링크 계층에서 동작하여 링크 상에서 프레임을 전송하는 역할은 맡는다. 호스트 프로세스는 네트워크에서 데이터의 송수신, 생성, 처리 등을 의미하며 주로 트랜스포트 계층에서 데이터를 다른 호스트와 주고 받으며 수행한다.

 

 

 

 

 

 

 


[1.6절]

 

26. 자기복제 멀웨어는 무엇인가?

 

자기복제 멀웨어는 스스로를 복사하여 전파할 수 있는 악성 소프트웨어다. 이러한 멀웨어는 한 호스트에서 네트워크를 통해 다른 호스트로 복사되므로 전파가 되어 매우 빠르게 퍼질 수 있다.

 

 

 

27. 봇넷이 어떻게 생성되는지를 기술하라. DDoS 공격에 어떻게 사용되는지를 설명하라.

 

봇넷은 여러 호스트가 멀웨어에 감염되어, 원격으로 제어될 수 있는 네트워크다. DDoS 공격을 위해 봇넷에 등록된 봇을 제어함으로써 수많은 패킷을 전송하여 서비스를 정상적인 사용자가 사용할 수 없도록 만드는 것이 가능하다.

 

 

 

28. 앨리스와 밥이 컴퓨터 네트워크를 통해 서로에게 패킷을 보낸다고 가정하자. 트루디가 네트워크에 자신을 위치시켜서 앨리스가 보내는 모든 패킷을 중간에서 가로챌 수 있고 트루디는 자신이 원하는 것을 밥에게 보낼 수 있다고 가정하자. 또한 트루디는 밥이 보내는 모든 패킷을 중간에서 가로채로 원하는 대로 앨리스에게 보낼 수도 있다. 이 위치에서 트루디가 할 수 있는 위해한 행동을 나열하라.

 

트루디는 지나가는 패킷의 모든 사본을 기록해 정보를 탈취하는 패킷 스니퍼의 역할을 할 수 있다. 또한 IP 스푸핑도 가능한데, IP 주소를 앨리스나 밥의 IP 주소로 변경하여 데이터를 가로채거나 조작할 수 있다.