Network/컴퓨터 네트워크

[5] CH2 애플리케이션 계층

Return 2021. 10. 31. 21:47

P2P 애플리케이션 

 

파일분배 : P2P구조의 확장성 

파일분배 : Bit Torrent - torrent : 파일 분배에 참여하는 모든 peer들의 모임 

                             - tracker : torrent에 참여하는 peer들을 추적 

 

  Bit Torrent 

- File은 256kB 크기의 chunk들로 분할된다. 

- Torrent에 참여하려는 peer : chunk를 갖고 있지 않지만, 시간에 따라 chunk들이 쌓이게 됨 

                                       Tracker에 등록하여 peer들의 목록을 얻고 , 이 peer들에 연결 

- peer는 download하면서 chunk를 다른 peer에 업로드 함 

- peer는 참여 후 떠날 수 있다. 

- peer가 전체 파일을 받으면 , 떠나기도 하고 남아있을 수 도 있다. 

 

  chunk 가져오기

- 서로 다른 peer들은 서로 다른 chunck의 집합을 가진다. 

- peer는 주기적으로 각 이웃에게 그들이 가지고 있는 chunk 목록 요청 

- peer는 자신이 갖고 있지 않은 chunk를 요청 (가장 드문 것 먼저) 

 

  chunk 보내기 : tit-for-tot 

- peer는 자신에게 가장 빠른 속도로 chunk를 보내주는 4명의 이웃에게 chunk를 보낸다. ( 매 10초마다 chunk 전송 ) 

- 매 30초 마다 : 무작위로 다른 peer를 선택하여 chunk를 전송 

 

 

비디오 분석 네트워크 

 

  DASH : Dynamic Adaptive Streaming over HTTP

 server 

- 비디오 파일을 chunk들로 나눈다. 

- 각 chunk는 여러값의 전송률로 부호화 되어 저장된다. 

- Manifest 파일: chunk들의 url을 제공 

 

 client 

- server와 client 사이의 가용 대역폭을 주기적으로 측정 

- Manifest 파일을 참조하여 한 번에 한개의 chunk 전송 

 

  Client에 요구하는 기능 : Client는 다음을 결정해야 한다. 

- when to request chunk : 버퍼가 넘치지 않도록 

- what encoding rate to request : 가용 대역폭이 크면 고품질 요청 

- where to request chunk : 자신에 가깝고 큰 대역폭이 확보되는 URL server에게 요청 

 

  CDN : Contents Distribution Network 

" 어떻게 수 많은 비디오를 수 많은 사용자에게 보낼 것 인가? " 

 

- CDN은 비디오 복사본을 CDN node에 저장한다. 

- 사용자는 가깝고 고속의 수신이 가능한 CDN에 접속