사용자:Kendhc123/LwIP

위키백과, 우리 모두의 백과사전.
lwIP
원저자Adam Dunkels
개발자lwIP developers group
안정화 버전
2.1.2 / 2018년 12월 22일(5년 전)(2018-12-22)
프로그래밍 언어C
운영 체제multiple
플랫폼embedded systems
종류IP stack
라이선스Modified BSD license
웹사이트savannah.nongnu.org/projects/lwip/

lwIP (lightweight IP)는 임베디드 시스템에서 널리 사용되는 오픈 소스 TCP/IP 스택 입니다. lwIP는 스웨덴 컴퓨터 과학 연구소 (Swedish Institute of Computer Science)의 Adam Dunkels 에 의해 처음 개발되었으며 현재는 전 세계 개발자 네트워크에 의해 개발 및 유지 관리되고 있습니다.

lwIP는 많은 임베디드 시스템 제조업체에서 사용합니다. 예로 알테라 (니오스 II 운영체제), 아날로그 디바이스 (블랙 핀 DSP의 칩),[1] 자일링스,[2] 하니웰 (FAA 인증 항법 시스템의 일부)과 프리 스케일 세미컨덕터 (자동차 마이크로 컨트롤러용 이더넷 스트리밍 SW)가 있습니다.

lwIP 네트워크 스택[편집]

lwIP 네트워크 스택 구현의 초점은 풀 스케일 TCP 스택을 사용하면서도 리소스 사용을 줄이는 것입니다.[3] 따라서 lwIP는 수십 킬로바이트의 여유 RAM과 코드를 위한 약 40킬로바이트이상의 ROM이있는 임베디드 시스템에서 사용하기에 적합합니다.

lwIP 프로토콜 구현[편집]

TCP/IP 스택 외에도 lwIP에는 네트워크 인터페이스, 운영 체제 에뮬레이션 계층, 버퍼 및 메모리 관리 섹션과 같은 몇 가지 중요한 부분이 있습니다. 운영 체제 에뮬레이션 계층과 네트워크 인터페이스를 통해 lwIP 모듈과 운영 체제 커널 간에 공통 인터페이스를 제공하므로 lwIP 모듈을 운영 체제에 이식 할 때 lwIP의 네트워크 스택이 제대로 작동 할 수 있습니다.[3]

인터넷 계층에서 lwIP의 네트워크 스택에는 여러 네트워크 인터페이스를 통한 패킷 전달을 처리 할 수 있는 IP (Internet Protocol) 구현이 포함됩니다.[3] IPv4IPv6 모두 lwIP v2.0.0부터 듀얼 스택을 지원합니다. 네트워크의 유지 보수 및 디버깅을 위해 lwIP는 구현 ICMP (인터넷 제어 메시지 프로토콜)을 도입합니다.[3] IGMP (Internet Group Management Protocol)는 멀티 캐스트 트래픽 관리를 지원합니다. MLD를 포함한 ICMPv6 은 IPv6 사용을 지원하기 위해 구현됩니다.  

[ 표창장은 필요로했다 ] 데이터 링크 계층에서 이더넷 용 lwIP의 인터넷 프로토콜 (IP)을 지원하려면 IPv4 ARP (Address Resolution Protocol) 구현이 필요하며 IPv6 Neighbor Discovery Protocol이 필요합니다. lwIP는 데이터 링크 계층에서 PPP (Point-to-Point Protocol) 구현 위에서 작동 될 수도 있습니다. [ 표창장은 필요로했다 ] 전송 계층에서 lwIP는 혼잡 제어, RTT 추정 및 빠른 복구/ 빠른 재전송을 사용하여 TCP (전송 제어 프로토콜)를 구현합니다.[3] UDP (사용자 데이터그램 프로토콜)는 실험적인 UDP-Lite 확장으로 구현됩니다. [ 표창장은 필요로했다 ]

API 및 소켓[편집]

lwIP는 향상된 네트워크 스택 성능을 위한 특수한 no-copy API (Application Programming Interface)를 제공합니다. 버클리 소켓 API 는 선택 사항입니다.[3] 원시 소켓 또는 원시 pcb는 사용 된 API에 따라 제공됩니다. [4]

응용 계층 지원[편집]

응용 계층에서 lwIP 네트워크 스택은 다음 프로토콜의 구현을 통해 지원 될 수 있습니다. 개인 MIB ( 관리 정보 기반 원 및 MIB 컴파일러가있는 v1, v2 또는 v3의 SNMP (단순 네트워크 관리 프로토콜) 에이전트, DNS (Domain Name System)가 지원됩니다.

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

OS 구현[편집]

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

또한보십시오[편집]

  • 마이크로 IP ( uIP )

참고 문헌[편집]

외부 링크[편집]

[[분류:임베디드 시스템]] [[분류:번역이 검토되지 않은 문서]]