Byte 순서

Benedictus Park·2022년 12월 15일
0

TCP/IP

목록 보기
5/11
post-thumbnail

1. 빅 엔디안과 리틀 엔디안

  • 빅 엔디안: 상위 바이트의 값을 작은 번지수(왼쪽 비트)부터 저장
  • 리틀 엔디안: 상위 바이트의 값을 큰 번지수(오른쪽 비트)부터 저장

2. 통신과 엔디안

빅 엔디안을 사용하는 시스템과 리틀 엔디안을 사용하는 시스템이 데이터를 주고 받으려 한다면, 데이터의 해석 순서가 서로 맞지 않아 문제가 발생하지 않겠는가? 어떻게 해야 빅 엔디안을 사용하는 시스템과 리틀 엔디안을 사용하는 시스템이 통신을 오류 없이 할 수 있을까?

답은 간단하다. 네트워크 통신에는 빅 엔디안만 사용하기로 약속을 하면 된다!

3. 바이트 순서 변환을 돕는 함수들

unsigned short htons(unsigned short);
// 호스트 바이트 순서에서 네트워크 바이트 순서로!

unsigned short ntohs(unsigned short);
// 네트워크 바이트 순서에서 호스트 바이트 순서로!

unsigned long htonl(unsigned long);
// 호스트 바이트 순서에서 네트워크 바이트 순서로!

unsigned long ntohl(unsigned long);
// 네트워크 바이트 순서에서 호스트 바이트 순서로!

0개의 댓글