요새 삼실에서 홀로 공부하고 있는 내용이 있어,
빠른 망각주기를 갖고 있는 나에게 있어 정리가 필요하여, 개인 블로그에 옮긴다.
ASN.1이 탄생한 배경
- 각기 다른 시스템마다 데이터를 표기하는 방법이 다를 수 있기 때문에 다른 시스템과의 통신과정에서의 생길 수 있는 데이터의 오류를 생기지 않도록 하기 위해 탄생된 프로토콜(규약)이다.
- 각 시스템마다 메모리에 저장하는 방식과 값이 다르다는 것을 먼저 알고 있어야 함
EX) 10진수 100을 100(Dec/10진수) 에서는 100으로 표현이 되지만, 16진수(Hex)에서는 0x64로 표기한다.
이 녀석을 빅 엔디언으로 표현하는 프로세서를 만날 경우 (Big Endian - 큰 비트부터 먼저 표기하는 방식)
16진수 0x64를 32비트를 처리하는 빅 엔디언(Big Endian) 프로세서에서는 (0x64 0x00 0x00 0x00)로 표기 되지만,
16진수 0x64를 32비트로 처리하는 리틀 엔디언(Little Endian) 프로세서에서는 (0x00 0x00 0x00 0x064)로 표기된다.
리틀 엔디언(Little Endian)은 주로 x86 시스템(Windows)쪽에서 처리하는 방식이고,
빅 엔디언(Big Endian)은 주로 Risc 시스템(상용 Unix)쪽에서 처리하는 방식이다.
둘이 안만나면 얼마나 좋을까... 하지만 시스템간의 통신은 당연한 일이고,
데이터 처리를 다르게 하는 이 두 녀석간에도 통신은 필요하다.
그리고, 시간이 갈 수록 시스템의 종류가 다양화 되었기에, 데이터 표현방법을 동일하게 표현할 수 있는 방법을 찾아야했다.
그래서 만들어진 것이 ASN.1(Abstract Syntax Notation.1)이다.
만들어진 이유는
- 다른 기종간의 추상화된 메시지를 교환하기 위해 만들어짐
- 데이터 구성을 표현하는 문법을 제공하기 위해 만들어졌다.
ASN.1이 주로 쓰이는 곳은 인터넷 뱅킹등에서 쓰는 인증서이다.
일단 여까지 개념 정리! 및 개요
'삽질 삽질 스마트 워크 구축' 카테고리의 다른 글
[ASN.1] ASN.1 Play Ground (0) | 2013.12.23 |
---|---|
[ASN.1] ASN.1 Reference Sites (0) | 2013.12.19 |
[iPhone Apps] 프로그래밍의 기초를 배울 수 있는 - Hour of Code (0) | 2013.12.15 |
모바일 광고의 이해와 시장 (1부, 광고 마케팅의 이해와 흐름) - 심규병 대표 (0) | 2013.12.14 |
[바이두 클라우드] 대륙의 2테라바이트 클라우드를 사용해보자! - 1. 가입하기 (0) | 2013.12.10 |