맨위로가기

LwIP

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

lwIP는 리소스 사용량을 줄이면서 완전한 TCP 스택을 유지하는 데 초점을 맞춘 임베디드 시스템용 가벼운 오픈 소스 TCP/IP 네트워크 스택이다. IP, ICMP, IGMP, UDP, TCP, DNS, SNMP, DHCP, PPP, ARP 등을 지원하며, IPv4와 IPv6 듀얼 스택을 지원한다. lwIP는 네트워크 인터페이스, 운영 체제 에뮬레이션 계층, 버퍼 및 메모리 관리 섹션 등 핵심 구성 요소를 포함하며, 특수한 API와 선택적인 버클리 소켓 API를 제공한다. ReactOS, Minix, GNU Hurd 등에서 네트워크 스택 또는 서버 구현에 사용된다.

더 읽어볼만한 페이지

  • 임베디드 시스템 - 로봇공학
    로봇공학은 기계적 구조, 전기적 부품, 소프트웨어로 이뤄진 로봇의 설계, 제작, 운용 및 응용에 관한 학문 분야로, 산업, 의료, 우주 탐사 등 다양한 분야에서 활용되며 인간-로봇 상호작용 및 로봇의 자율성 향상 연구가 진행 중이다.
  • 임베디드 시스템 - 허니웰
    허니웰은 1885년 설립된 기업으로, 항공우주, 빌딩 자동화, 안전 및 생산성 솔루션, 성능 소재 및 기술 분야에서 사업을 영위하며, 군사 기술 개발 및 펜탁스 카메라 수입업체로 활동했고, 환경 문제 관련 비판을 받기도 한다.
LwIP - [IT 관련 정보]에 관한 문서
개요
원어명lwIP
종류IP 스택
개발자lwIP 개발자 그룹
최초 개발자아담 덩켈스
최신 안정 버전2.2.0
최신 안정 버전 출시일2023년 9월 25일
프로그래밍 언어C
운영 체제여러 운영 체제 지원
플랫폼임베디드 시스템
라이선스수정 BSD 라이선스
웹사이트lwIP 공식 웹사이트
추가 정보
상태개발 중

2. lwIP 네트워크 스택의 특징

lwIP는 풀 스케일 TCP 스택을 유지하면서도 리소스 사용량을 줄이는 데 초점을 맞춰 개발되어,[13] 수십 킬로바이트의 여유 RAM과 약 40킬로바이트 이상의 ROM을 가진 임베디드 시스템에서 사용하기에 적합하다.

2. 1. 핵심 구성 요소

lwIP 네트워크 스택 구현의 초점은 전체 규모의 TCP 스택을 유지하면서도 리소스 사용량을 줄이는 것이다.[4] 이는 lwIP를 수십 킬로바이트의 여유 RAM과 약 40킬로바이트의 코드 ROM 공간을 가진 임베디드 시스템에 적합하게 만든다.

  • 인터넷 계층
  • IP: 여러 네트워크 인터페이스 간의 패킷 포워딩을 포함
  • ICMP: 네트워크 유지보수 및 디버깅용
  • IGMP: 멀티캐스트 트래픽 관리용
  • 전송 계층
  • UDP: 실험적인 UDP-Lite 확장 포함
  • TCP: 혼잡 제어, RTT 예측, 빠른 복구/고속 재전송 지원
  • 응용 계층
  • DNS
  • SNMP
  • DHCP
  • 링크 계층
  • PPP
  • ARP: 이더넷용
  • 기타
  • 성능 향상을 위해 조정된 네이티브 API
  • 선택적인 버클리 소켓 유사 API
  • AUTOIP / 링크 로컬 주소 (IPv4용, 3927 적합)

3. lwIP 프로토콜 구현

lwIP는 TCP/IP 스택 외에도 네트워크 인터페이스, 운영 체제 에뮬레이션 계층, 버퍼 및 메모리 관리와 같은 중요한 부분들을 포함한다. 운영 체제 에뮬레이션 계층과 네트워크 인터페이스는 lwIP 모듈과 운영 체제 커널 간의 공통 인터페이스를 제공하여, lwIP 모듈을 운영 체제에 이식할 때 lwIP의 네트워크 스택이 제대로 작동하도록 돕는다.[13]

3. 1. 인터넷 계층

lwIP의 네트워크 스택은 여러 네트워크 인터페이스를 통한 패킷 전달을 처리할 수 있는 IP 구현을 포함한다.[13] lwIP v2.0.0부터 IPv4IPv6 모두 듀얼 스택을 지원한다. 네트워크의 유지 보수 및 디버깅을 위해 lwIP는 ICMP를 구현한다.[13] IGMP는 멀티캐스트 트래픽 관리를 지원한다. MLD를 포함한 ICMPv6은 IPv6 사용을 지원하기 위해 구현된다.

3. 2. 데이터 링크 계층

lwIP는 데이터 링크 계층에서 이더넷을 지원하기 위해 IPv4 ARP 구현이 필요하며 IPv6 이웃 검색 프로토콜이 필요하다.[13] lwIP는 데이터 링크 계층에서 PPP 구현 위에서 작동될 수도 있다.

3. 3. 전송 계층

lwIP는 혼잡 제어, RTT 추정 및 빠른 복구/빠른 재전송 기능을 통해 TCP을 구현한다.[13] 또한, 실험적인 UDP-Lite 확장을 포함하여 UDP도 구현한다.

3. 4. 응용 계층 지원

응용 계층에서 lwIP 네트워크 스택은 다음 프로토콜 구현을 통해 지원될 수 있다. MIB 컴파일러가 있는 v1, v2 또는 v3의 SNMP 에이전트, DNS가 지원된다.

lwIP TCP/IP 스택을 구현하는 운영 체제는 응용 계층에서 IPv4 DHCP 클라이언트 또는 IPv4 링크-로컬 주소(자동 IP)와 같은 다양한 지원 클라이언트와 서버를 제공 할 수 있다. 특수화된 원시 API 응용 프로그램에는 HTTP 서버, SNTP 클라이언트, SMTP 클라이언트, NetBIOS 네임 서버, mDNS 응답자, MQTT 클라이언트 및 TFTP 서버가 포함된다.

4. API 및 소켓

lwIP는 향상된 네트워크 스택 성능을 위한 특수한 no-copy API (응용 프로그래밍 인터페이스)를 제공한다. 버클리 소켓 API는 선택 사항이다.[13][4] 사용된 API에 따라 원시 소켓 또는 원시 pcb가 제공된다.[14][6]

5. 운영 체제 구현

lwIP는 ReactOS와 Genode[15]에서 네트워크 스택으로 사용되며, MinixGNU Hurd에서 네트워크 서버를 구현하는 데 사용될 수 있다.[7]

참조

[1] 웹사이트 lwIP 2.2.0 released https://savannah.non[...] 2023-10-11
[2] 간행물 Building Complex VDK/LwIP Applications Using Blackfin Processors http://www.analog.co[...] Analog Devices Inc. 2008-09
[3] 간행물 LightWeight IP (lwIP) Application Examples http://www.xilinx.co[...] Xilinx Inc. 2009-06
[4] 서적 Software engineering and knowledge engineering : theory and practice https://books.google[...] Springer
[5] 웹사이트 LwIP: Upgrading http://www.nongnu.or[...]
[6] 문서 lwIP functions documentation http://www.nongnu.or[...]
[7] 웹사이트 Release notes for the Genode OS Framework 9.11 https://genode.org/d[...]
[8] 간행물 Building Complex VDK/LwIP Applications Using Blackfin Processors http://www.analog.co[...] Analog Devices Inc. 2008-09
[9] 간행물 LightWeight IP (lwIP) Application Examples http://www.xilinx.co[...] Xilinx Inc. 2009-06
[10] 서적 Software engineering and knowledge engineering : theory and practice https://books.google[...] Springer
[11] 간행물 Blackfin 프로세서를 사용하여 복잡한 VDK / LwIP 애플리케이션 구현하기 http://www.analog.co[...] Analog Devices Inc. 2008-09
[12] 간행물 LightWeight IP (lwIP) 애플리케이션 예제 http://www.xilinx.co[...] 자일링스 2009-06
[13] 서적 Software engineering and knowledge engineering : theory and practice https://books.google[...]
[14] 문서 lwIP 함수 문서 http://www.nongnu.or[...]
[15] 웹인용 Release notes for the Genode OS Framework 9.11 https://genode.org/d[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com