학원에서 제안한 웹 브라우저의 IP 그룹 방송 정보
배경.
제안자는 동의하지 않는 사람이라고 한다.
CDN 업자들에게는 온라인에서 인기 있는 스포츠 중계와 드라마 등을 게시하는 게 어렵다고 한다.
물론 TV 방송과 달리 온라인상의 애니메이션 스트리밍 데이터는 고객 수가 증가함에 따라 증가한다.
이대로는 안 돼!인도 크리켓이 인기가 많군요!그래서 IP 멀티캐스트를 하지 않겠다는 제안을 했습니다.
단지 건의일 뿐이다.
IP 그룹 방송
먼저 IP 그룹 방송을 간단하게 설명한다.
IP 그룹 방송 자체가 오래전부터 있었던 규격인 것 같다(1986년인 것 같다).
아마 (상상했지만) 대학 캠퍼스 내 LAN 등에서 효율적으로 나눠주고 싶은 물건일 거예요.
지금까지 웹에서 사용된 적은 없지만, 그것 이외의 다양한 용도가 사용되었다.
모티프
같은 네트워크에서 같은 데이터를 요청하는 단말기가 여러 대 있을 때
'한 번 발송'은'다개 단말기'가 수신할 수 있기를 희망한다.
무선 LAN이면 전파가 모든 터미널에 도달합니다
라우터는 "편지를 한 번만 보낼 테니 필요한 사람은 각자 받으세요"라고만 말할 수 있다.
유선 LAN의 경우 그림과 같이 공용 중계기에 한 번 전송
나중에 필요에 따라 엇갈리는 느낌이 든다.
주의점은 IP 그룹 방송은 IP 층의 규격이기 때문에 이더넷 층의 집선기가 어떻게 돌아가는지는 이 기계에 달려 있다.
그러나 적어도 내가 아는 범위 내에서 시장의 집선기는 사람들에게 대체적으로 좋은 느낌을 줄 것이다.
기본 LAN 케이블은 데이터를 한 번만 전송하는 것이 특징입니다.
이동
나는 동작을 알고 싶다면 아마 무엇을 하고 있는지 상상할 수 있을 것이다.
우선, 여기에 두 대의 컴퓨터가 있다고 가정해 보세요.
각각 IP는
여기에 X개인용 컴퓨터는 공유기에 "IP그룹 방송 그룹 주소(이하 그룹 주소라고 함)를 발행해 주세요"라고 부탁했다.
공유기는 ggg입니다.ggg.ggg.ggg라는 단체 주소를 발행해 X 개인용 컴퓨터에 전달한다.
X개인컴퓨터는 Y개인컴퓨터에 "너도 gggg.gggg.ggggggggggggg에 들어가라."라고 말했다.
그걸 들은 Y 개인컴퓨터는 라우터에 "나도 gg.ggg.gggg.gggggg.ggggggggg 들어간다"고 말했다.
공유기가 Y컴퓨터를 gggg.ggg.ggg.실제로 넣다.
그래서 앞으로 ggg.ggg.ggg.gg로 보낸 가방은 X컴퓨터와 Y컴퓨터로 보낼 수 있다.
'컴퓨터 X와 컴퓨터 Y가 ggg.ggg.ggggggggggggggggggggggggggg에 들어갔다'는 정보는 인터넷상의 각종 중계기에서도 전파된다
좋은 느낌으로 중계를 최적화할 수 있다.
응, 메일 리스트, 파일 공유 서비스 등 흔히 볼 수 있는 구조와 비슷해.
무엇에 쓰일 것인가
치앙마이는 ISP를 뛰어넘는 IP 그룹 방송을 통해 대규모 스포츠 활동을 효율적으로 발표할 수 있다고 본다.
하지만, 나는 이것이 우리가 그리 익숙하지 않은 이야기라고 생각한다.
좀 더 가까운 용도가 있을 것 같아서요.
예를 들어 인터넷 회의에서 많은 사람들이 같은 회의에 참가하는 경우다.
또한, Droid 회의와 같은 대형 IT류의 활동도
많은 사람들이 현장에서 발표를 보면서 인터넷 발표를 본다.
이럴 때는 LAN 안에 있는 사람에게도 많이 할 수 있고 밖에 있는 사람에게도 보통으로 보낼 수 있다고 생각해요.
어떤 JS API가 될지.
기본적으로 JS로 스트리밍 대상을 만들고 리스텐이 활동 스트리밍을 하는 느낌이다.
흐름 대상을 만들 때 그룹 주소를 지정한 것 같습니다.
제안은 이런 느낌의 코드입니다.
// Multicast flow to join:
let multicastFlow = {
source: '198.51.100.10',
group: '232.10.10.1',
port: 5001,
dorms: 'dorms.example.com'
};
// Construct MulticastReceiver and subscribe to the multicast flow on the
// network:
let multicastReceiver=new MulticastReceiver(multicastFlow);
// Read multicast UDP packets:
let multicastReader=multicastReceiver.readable.getReader();
async function readMulticastData() {
for(;;) {
let { done, value } = await multicastReader.read();
if(done) {
return;
} else {
// value is an UInt8Array with the payload of one UDP packet.
console.log("Got multicast packet with size "+value.length);
}
}
}
암호화, 리셋 제어, 네트워크의 각종 어려움이 브라우저에서 추상화되었다.총결산
이루어지면 즐거울 거야.
Reference
이 문제에 관하여(학원에서 제안한 웹 브라우저의 IP 그룹 방송 정보), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/riku/articles/d3656a233f5828텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)