KLDP에서 우의 제목과 관련한 기사를 읽고 글을 올립니다.
"anfl"님이 글을 올리신 것을 읽고 조언을 받으려고 합니다.
ARM7TDMI에 TCP/IP스택을 올리려고 합니다.
보드가 도착하기 전에 PC에서 테스트를 하려고 하는데 KLDP 글에서는 raw socket을 이용하라고 하던데 구체적인 실현방법에 대하여 알려주시기 바랍니다.
"anfl"님이 글을 올리신 것을 읽고 조언을 받으려고 합니다.
ARM7TDMI에 TCP/IP스택을 올리려고 합니다.
보드가 도착하기 전에 PC에서 테스트를 하려고 하는데 KLDP 글에서는 raw socket을 이용하라고 하던데 구체적인 실현방법에 대하여 알려주시기 바랍니다.
댓글 4
.
1. TCP/IP 스택을 개발한다.
2. TCP/IP 스택이란 TCP/IP 프로토콜 규약에 맞는 S/W를 작성하는 일이다.
3. 해당 S/W가 하는 일은 TCP/IP 규약대로 데이터를 캡슐화 시키고 이더넷으로 보낸다.
4. 해당 S/W는 이더넷으로 부터 들온 패킷을 TCP/IP 규약대로 해석해서 캡슐을 해제한다.
5. 기타 접속 제어, 흐름 제어를 수행한다.
이렇게 하는데 있어 raw socket은 이더넷과 바로 연결 할수 있어 시스템에 있는 TCP/IP를 거치지 않고 직접 패킷을 조립, 해제하는 것이 가능하고, 접속 제어, 흐름 제어 하는것도 가능합니다.
결국 raw socket 환경은 임베디드 시스템에 있어 이더넷 버퍼를 바로 엑세스 하는것과 거의 유사하다는 말이지요. 거의 유사하다는 것이지 완전히 동일하지는 않았던걸로 기억합니다.
임베디드 시스템에서 이더넷 버퍼에 패킷을 보낼때는 mac header도 만들어 보내주어야 하지만 raw socket에서는 mac header까지 만들어 줄필요는 없죠. (그렇게 기억합니다.)
하지만 거의 유사하죠. 때문에 임베디드 TCP/IP 프로토콜 스택을 작성할때는 힘들게 임베디드 환경에서 작성하는것 보다는 PC에서 raw socket을 사용해서 작성하는게 테스트하고 디버깅하는 작업에 훨씬 수월하다는 것이죠.
자세한건 raw socket을 찾아보심이...