바이트 정렬


바이트 정렬


메모리에 데이터를 저장할 때 바이트 순서를 나타내는 용어.

빅 엔디안

MSB(Most Significant Byte), 최상위 바이트부터 차례로 저장.


리틀 엔디안

LSB(Least Significant Byte), 최하위 바이트부터 차례로 저장.


시스템의 CPU, OS에 따라 방식이 다르다.


- 파일에 데이터를 저장
- 파일로부터 데이터를 읽기
- 네트워크를 타고 데이터를 송/수신 하는 경우

바이트 정렬 방식을 따져야한다.

각 주체가 다른 방식으로 데이터를 취급하면 해석이 달라지기 때문이다.



예를 들어, 네트워크를 타고 패킷을 인터넷을 통해 전송할 때,
IP주소 바이트 정렬 방식이
호스트<-> 라우터간 다르다면 잘못된 IP주소 해석으로 라우팅에 문제가 생긴다.


포트 번호의 정렬 방식이 다르다면
다른 프로세스로 데이터가 전달이 될 수 있다.


응용 프로그램에 도달한 후부터는
데이터 해석에 문제가 생길 수 있다.



보통 TCP/IP 프로토콜에서는
IP주소, 포트번호의 바이트 정렬 방식으로 빅 엔디안으로 통일하여 사용한다.
이를 네트워크 바이트 정렬이라고 부른다.

응용 프로그램에서도 대부분 네트워크 바이트 정렬을 사용하여
데이터를 해석한다.

댓글

이 블로그의 인기 게시물

실무진 면접 경험으로 정리하는 백엔드 (1) : 에듀 테크 기업 면접

노마드코더 개발자북클럽 Clean code 완주, 독후감

Blogger 커스터마이징 : CSS 수정 (sticky-header)