네트워크 코딩이란 무엇입니까?
네트워크 코딩은 컴퓨터 네트워크의 잠재적 출력을 최대화하는 데 사용되는 프로그래밍 기술입니다. 네트워크 코딩에서 네트워크의 노드는 능동적 인 역할을 수행하여 정보 패킷을 네트워크를 통해 보내기 전에 결합하고 압축합니다. 따라서 클라이언트 컴퓨터의 추가 오버 헤드 비용으로 네트워크 리소스를보다 효율적으로 활용할 수 있습니다. 이는 압축 된 데이터를 "수집"하는 데 훨씬 더 많은 노력을 기울여야합니다.
네트워크 노드는 교통 경찰과 비슷합니다. 컴퓨터 네트워크의 데이터 흐름을 지시합니다. 네트워크 코딩이없는 경우, 노드는 실질적인 방식으로 데이터를 변경하거나 조작 할 자유를 가지 않고 네트워크를 통해 정보 (데이터 패킷)를 이동합니다. 전송 중에 데이터가 손실되지 않도록 신호를 강화할 수 있지만 실제 패킷은 영향을받지 않습니다.
네트워크 코딩에서, 노드는 네트워크의 효율을 증가시키기 위해 필요에 따라 패킷을 결합하는 작업을 수행한다. 예를 들어, 네트워크가 100 바이트의 개별 패킷을 전송할 수 있고 동시에 두 개의 50 바이트 패킷을 수신하는 경우 비 네트워크 코딩으로 작동하는 시스템은 하나의 50 바이트 패킷을 처리 한 후 다음으로 순차적으로 이동합니다. . 반면에 네트워크 코딩 네트워크는 50 바이트의 잠재적 네트워크 오버 헤드가 각 패킷에 "소비"되고 있다는 사실을 등록하고 2 개의 50 바이트 패킷을 단일 100 바이트 패킷으로 결합하여 네트워크의 데이터 전송을 최대화합니다. 생산 능력.
결과적으로 네트워크 효율성이 향상됩니다. 네트워크 코딩은 더 많은 네트워크의 가용 대역폭을 정기적으로 사용합니다. 다시 말해, 더 많은 네트워크의 잠재력이 실현됩니다. 그러나 네트워크 코딩에도 단점이 있습니다. 결합 된 패킷은 수신 컴퓨터에 추가 "작업"을 제공합니다.
컴퓨터가 네트워크로 코딩되지 않은 네트워크에서 정보 패킷을 수신하면 컴퓨터는 해당 정보에 개별적으로 즉시 액세스합니다. 이 경우 패킷은 각각 단일 프로세스 전용입니다. 그러나 네트워크 코딩 된 네트워크에서 정보 패킷을 수신하려면 시스템에서 다양한 프로세스와 관련된 정보의 압축을 풀고 적절한 영역에 배포해야합니다. 이것은 데이터를 수신하는 컴퓨터 CPU에 대한 추가 처리 책임을 생성하여 스트레스를 증가시킵니다. 저전력 시스템 또는 여러 개의 다른 활성 작업이있는 시스템에서 추가 작업을 수행하면 컴퓨터 속도가 느려지거나 지연 될 수 있습니다.