네트워크 프로그래밍에서 바이트 주소를 읽는 방식에 따라서 빅엔디안과 리틀엔디안으로 나뉜다.

CPU의 종류에 따라서 바이트 주소를 읽는 방식이 다르다는 의미이다.

 

기본적으로 TCP/IP 통신은 데이터를 읽는 방식을 빅엔디안 방식으로 통일해서 사용한다.

그래서 기본적으로 소켓을 설정할 때 htons, htonl을 사용하는 형식을 봤을 것이다.

** Write Read 함수에 내부적으로 엔디안 처리가 되어 있기 때문에, 소켓통신 포트와 Ip 변환해주면 된다.

빅엔디안 (IBM, SPARC, Motorola)

빅엔디안은 네트워크바이트오더 형식으로 데이터를 읽는다.

0x1234

htons (Host to Network Short)

- port 변환 시 사용함수

htonl (Host to Network Long)

- ip 변환 시 사용함수

리틀엔디안 (Intel x86, AMD , Arm, DEC)

리틀엔디안은 호스트바이트오더 형식으로 데이터를 읽는다.

0x3412

ntohs (Network to Host Short)

- port 변환 시 사용함수

ntohl (Network to Host Long)

- ip 변환 시 사용함수

+ Recent posts