P1. T 혹은 F으로 답하라.
a. 텍스트와 3개의 이미지로 구성된 웹 페이지를 사용자가 요청한다. 이 페이지에 대해 클라이언트는 하나의 요청 메시지를 전송하고, 4개의 응답 메시지를 수신하게 된다.
거짓 - HTTP/1.1은 하나의 지속 연결에서 여러 요청 및 응답 메시지를 처리할 수 있지만, 하나의 요청 메시지에 대해 여러 응답 메시지를 받는 것은 일반적이지 않습니다.
b. 2개의 서로 다른 웹 페이지는 동일한 지속 연결로 전송될 수 있다.
참 - HTTP/1.1에서는 지속 연결을 통해 여러 요청과 응답을 동일한 연결을 통해 전송할 수 있습니다.이를 통해 연결을 여러 번 설정 및 해제하는 오버헤드를 줄일 수 있습니다.
c. 브라우저와 기점 서버 사이의 비지속 연결을 사용해서 하나의 TCP 세그먼트로 2개의 상이한 HTTP 요청 메시지를 전송할 수 있다.
거짓 - HTTP/1.1에서 비지속 연결을 사용하는 경우에도 각 HTTP 요청은 별도의 TCP 세그먼트로 전송됩니다. 하나의 TCP 세그먼트에 여러 HTTP 요청을 병합하는 것은 일반적이지 않습니다.
d. HTTP 응답 메시지의 Data: 헤더는 응답에 포함된 객체가 언제 마지막으로 수정됐는지를 나타낸다.
거짓 - HTTP 응답 메시지의 Data: 헤더는 객체의 마지막 수정 날짜를 나타내는 것이 아니라, 객체가 만료되는 날짜를 나타내는데 사용됩니다. 마지막 수정 날짜는 Last-Modified 헤더를 통해 제공됩니다.
e. HTTP 응답 메시지는 결코 빈 메시지 몸체를 갖지 않는다.
거짓 - HTTP 응답 메시지는 빈 메시지 몸체를 가질 수 있습니다. 이것은 예를 들어 204 No Content 상태 코드와 함께 사용될 수 있습니다. 204 상태 코드는 요청이 성공적으로 처리되었지만 응답 메시지에 별도의 데이터가 없음을 나타냅니다.
P4. 다음은 브라우저가 HTTP GET 메시지를 보내는 화면을 와이어샤크로 캡처한 ASCII 문자열이다즉, HTTP GET 메시지의 실제 내용이다.) 문자는 캐리지 리턴과 라인 피드 문자다(즉, 아래 문자 텍스트의 이탤릭체 문자열 은 HTTP 헤더 의 해당 위치에 포함된 캐리지 리턴 문자를 나타낸다). 아래 HTTP GET 메시지에서 답이 있는 곳에 표시를 하여 다음 질문에 답하라.


P5. 다음 텍스트는 위 문제의 HTTP GET 메시지에 대한 서버로부터의 응답이다. 답을 아래 메시지에 표시하여 다음 질문에 답하라.




P8.
a. 병렬 TCP 연결을 사용하지 않는 비지속적 HTTP일 경우
b. 6개의 병렬 연결이 가능하도록 설정된 브라우저를 사용하는 비지속적 HTTP일 경우
c. 지속적 HTTP일 경우

(a) non-persistent, 파이프라이닝x
1) 2RTT: base HTML
2) RTT1 ... RTTn: 전송 시간
3) 9*2RTT: 한 번 전송할 때마다 2RTT 필요하다.
(b) non-persistent, 파이프라이닝
1) 2RTT: base HTML
2) RTT1 ... RTTn: 전송 시간
3) 2*2RTT: 10개 한 번에 request, 10개 한 번에 respond (6의 병렬 연결이므로, *2)
(c) - 파이프라이닝
1) 2RTT: base HTML
2) RTT1 ... RTTn: 전송 시간
(c) - 파이프라이닝x
1) 2RTT: base HTML
2) RTT1 ... RTTn: 전송 시간
3) 9RTT (파이프라이닝 하지 않기 때문)

a. 총 응답 시간 = 요청 시간 + 응답 시간

b. 총 응답 시간 (+ proxy server)

P11. 밥은 5개의 병렬 다운로드를 위해 비지속적인 HTTP (non persistent, paralleled HTTP)를 사용하는 반면, 앨리스는 비지속적인 HTTP (non persistent HTTP)의 병렬 인스턴스를 사용하지 않는다.
a. 앨리스는 밥에 비해 유리한가, 불리한가? 그 이유는 무엇인가?
: 불리하다. Alice having one connection, gets a smaller share of the available bandwidth than Bob.
b. 만일 앨리스가 비지속적인 HTTP의 병렬 인스턴스 5개를 연다고 하면, 앨리스의 병렬 연결은 유리한가? 그 이유는 무엇인가?
: 유리하다. Performing parallel downloads Alice matches the share of Bob.
P13. HTTP/2상에서 하나의 비디오와 3개의 이미지로 이루어진 하나의 웹 페이지를 전송한다고 하자. 비디오 클립은 5000 프레임으로 전송되고 각 이미지는 4개의 프레임이라 할 때,
a. 만일 모든 비디오 프레임이 인터리빙 없이 처음에 전송된다면 모든 이미지를 전송하는 데까지 몇 개의 프레임 시간이 필요한가?
: 여기서 "프레임 시간"은 프레임을 보내는 데에 걸리는 시간을 말한다. 5000 + 3*4
--> 5012 "frame times" will be needed until all images are sent without interleaving of the files.
b. 만일 프레임들이 인터리빙되어 있다고 하면 3개의 이미지 모두 전송하는 데까지 몇 개의 프레임 시간이 필요한가?
: 프레임들이 공정하게 인터리브될 경우, 어떤 순서로 전송되는지는 중요하지 않습니다. 중요한 점은 각 이미지의 프레임마다, 다른 두 이미지와 비디오에서도 하나의 프레임이 전송되어야 합니다.
이렇게 하면 모든 세 이미지와 비디오를 전송하는 데 16프레임 시간이 걸립니다.
P15. SMTP의 MAIL FROM:과 메일 메시지 본문에 있는 From:의 차이점은 무엇인가?
- The MAIL FROM: in SMTP is a message from the SMTP client that identifies the sender of the mail message to the SMTP server.
- The FROM: on the mail message itself is NOT an SMTP message, but rather is just a line in the body of the mail message.
P20. 그림 2.12와 그림 2.13의 시나리오에서 기업 네트워크의 전송률은 Rl이고 병목 링크의 전송률은 Rb다. HTTP를 사용해서 크기 L인 파일을 동시에 요청하는 N개의 클라이언트가 있다고 하자. 기업 네트워크에 프록시가 설치되어 있을 때 어떤 Rl 값에 대해 파일 전송 시간이 더 작아지는가? (클라이언트와 기 업 네트워크 내 다른 호스트 간의 RTT는 무시할 수 있다고 가정한다.)
프록시가 없는 경우, 모든 클라이언트는 인터넷의 원본 서버에 도달해야하며 병목 현상이 발생하여 대역폭을 공유해야 합니다.
전체 전송 시간 = 2 RTT + N ∙ L / Rb
프록시가 설치된 경우, 클라이언트는 프록시와 로컬 링크의 대역폭을 공유하게 됩니다.
전체 전송 시간 = 2 RTT + L / Rb + N ∙ L / Rl
따라서 Rl > Rb ∙ N / (N – 1) 일 때, 파일 전송은 프록시를 사용할 때 더 빠릅니다.
'Computer Network > 컴퓨터네트워크' 카테고리의 다른 글
| [컴퓨터네트워크] 1103 (1) (0) | 2023.11.08 |
|---|---|
| [컴퓨터네트워크] 1101 - Ch4. Network Layer: Data Plane (0) | 2023.11.02 |
| [컴퓨터네트워크] Ch1 연습문제 (0) | 2023.10.26 |
| [컴퓨터네트워크] 3. Transport Layer (5) (1) | 2023.10.21 |
| [컴퓨터네트워크] 3. Transport Layer (4) (1) | 2023.10.21 |