OSI 7계층과 HTTP를 공부할 때 '오버헤드가 발생한다'는 표현을 접했다.
경영이나 회계 쪽에서도 간접비용을 오버헤드라 하기도 하는데
프로그래밍에서는 정확한 어떤 경우에 어떤 의미로 사용되는 지 정리해두려 한다.
학습 중인 내용입니다. 잘못된 내용이나 더 좋은 대안 등을 피드백 주신다면 정말 감사하겠습니다 😌
오버헤드 Overhead
어떤 처리를 하기 위해 간접적인 처리 시간 및 메모리 등이 추가적으로 사용되는 현상
'간접적'이 주요 키워드라 생각한다.
목적 달성에 본질적인 것은 아닌 부수적인 처리들,
즉 필수는 아니지만 필요한 처리들에 사용되는 비용이기 때문이다.
위키백과에 기재되어 있는 예시이다.
A라는 처리를 실행한다면 3초 걸린다.
안전성을 고려하여 B라는 처리를 추가한 결과 처리시간이 10초가 걸렸다.
이 때 오버헤드는 7초이다.
추가로 B를 개선해 B라는 처리를 한 결과 처리시간이 5초가 되었다면
오버헤드가 5초 단축되었다고 말할 수 있다.
Protocol Overhead
네트워크를 통해 대상으로 라우팅되는 데이터와 함께 전송되어야하는 정보이며
올바른 대상에 도달하기 위해 전송중인 데이터에 추가로 보내지는 정보라 보면 된다.
통상 패킷/프레임 등의 선두에 있는 헤더(Header) 상에 위치하기에 Header라고도 한다.
정보 전송 기능 자체는 내가 보내고자 하는 대상에게 제대로 도착했는 지를 확인하지 않는다.
'보내다'라는 행위의 본질은 아니지만 '원하는 대상을 정확히 찾아내어'라는 간접적인 처리를 프로토콜 오버헤드를 통해 하는 것이다. 그 안에는 전송중인 데이터와 관련없는 정보들이 담겨 있지만 출발지 및 도착지 주소와 같이 주 기능을 보완해줄 수 있는 정보들이 담겨있다. 프로토콜 오버헤드가 있기에 정보 전송의 신뢰성을 높일 수 있고 시스템을 안정적으로 운용할 수 있게 된다.
아래는 정보통신기술용어해설에 따른 정의이다.
ㅇ 목적
정보 전송의 신뢰성 확보 및 시스템의 안정적 운용
ㅇ 성격
실제 운반되는 정보(페이로드)에 추가되는 성격의 운용 및 유지보수를 위한 신호
ㅇ 정보
각 전송 구간별 페이로드의 종류,형태,출발지 및 도착지 주소, 운용 유지보수 정보 등
ㅇ 위치
- 통상, 오버헤드는 패킷/프레임 등의 선두에 있는 헤더(Header) 상에 위치함
. [참고] ☞ MAC 헤더, IP 헤더, TCP 헤더, DNS 헤더, HTTP 헤더 등 참조
유선 인터넷보다 WIFI에서 대역폭(연결을 통해 전송 될 수있는 정보의 양)이 더 낮아지는 이유도 프로토콜 오버헤드 때문이다. 무선 라우터에서 전송되는 신호들은 공중을 통해 이동하므로 가로채기 쉽다. 고로 보안, 권한 부여 등 추가적으로 필요한 정보들이 더욱 많아져 전송 시 매우 큰 헤더들을 포함하게 되고 헤더가 차지하는 부분이 많아짐에 따라 실제 데이터에서 사용할 수 있는 부분이 유선으로 연결된 컴퓨터보다 WIFI 프로토콜에서 더 줄어든다.
참고자료:
https://ko.wikipedia.org/wiki/%EC%98%A4%EB%B2%84%ED%97%A4%EB%93%9C
http://www.ktword.co.kr/test/view/view.php?nav=2&no=894&sh=%EC%98%A4%EB%B2%84%ED%97%A4%EB%93%9C
https://www.netinbag.com/ko/internet/what-is-protocol-overhead.html