『리눅스 커널 네트워킹』은 최신의 리눅스 네트워킹 서브 시스템을 다루는 책이다. 리눅스 네트워킹 서브 시스템이 기초적이고, 안정적이지만 수많은 프로토콜과 기술이 녹아들어 있는 네트워킹 서브 시스템 코드를 분석한다는 것은 쉽지 않다. 그동안 리눅스 커널 코어나 드라이버에 관련한 책은 많이 있었지만, 리눅스 네트워킹 서브시스템의 구현에 대한 자세한 세부사항을 알려주는 책은 거의 없었다. 이 책은 리눅스 네트워킹 서브 시스템의 전반적인 흐름을 파악할 수 있게 하며, 요즘 같이 리눅스 커널 버전이 하루가 다르게 올라가는 세상에서 최신 버전으로 리눅스 네트워킹을 이해하는 데 많은 도움이 될 것이다.

『리눅스 커널 네트워킹』은 현재 리눅스 네트워킹 구현과 내부 이론의 깊이 있는 여정을 안내할 것이다. 리눅스 커널 네트워킹은 그 자체가 복잡한 주제이라서 이 책에서는 네트워킹과 직접적으로 관련되지 않은 주제로 여러분을 부담스럽게 하지 않을 것이다. 이 책은 여러분이 찾는 것과 직접적으로 연관되지 않는 성가신 코드로 지나치게 부담스럽게 하지도 않는다. 여러분이 필요한 내용만 보게 될 것이고, 각 장에서는 당면 주제를 깊이 있게 설명하고 각 장의 끝에서는 빠르게 본문 내용을 참조할 수 있다.

『리눅스 커널 네트워킹』은 네트워킹이 어떻게 구현돼 있는지 이해하는 유일한 최신 안내서이다. 현재 수많은 장치가 리눅스 또는 리눅스를 기반으로 한 운영체제(예: 안드로이드)를 사용하고 있으며, Xen과 KVM 같은 리눅스 기반 가상화 기술을 비롯해 데이터 센터 분야에서도 리눅스가 폭넓게 사용되고 있으므로 이 책은 앞으로 수년 동안 필독서가 될 것이다.

★ 이 책에서 다루는 내용 ★

  • 소켓 버퍼를 빅롯한 커널 네트워킹 기초
  • ARP, 이웃 탐색, ICMP 같은 핵심 프로토콜의 구현 원리
  • IPv4와 IPv6에 관한 심층적 고찰
  • 리눅스 라우팅에 관해 알아야 할 모든 것
  • 넷필터와 IPsec의 구현 원리
  • 리눅스 무선 네트워킹
  • 네트워크 네임스페이스, NFC, IEEE 802.15.4, 블루투스, 인피니밴드 등의 추가 주제

 

책 속으로

1장에서는 리눅스 커널과 리눅스 네트워크 스택의 전반적인 개요를 확인할 수 있다. 1장의 다른 주제로는 네트워크 장치, 소켓 버퍼, Rx와 Tx 경로 구현이 있다. 1장은 리눅스 커널 네트워킹 개발 모델로 마무리한다.

2장에서는 넷링크 소켓에 관해 배운다. 넷링크 소켓은 사용자 영역과 커널의 양방향 통신을 위한 메커니즘을 제공하고, 네트워킹 서브시스템뿐만 아니라 다른 서브시스템에서도 사용된다. 일반 넷링크 소켓에 관해서도 2장에서 배울 수 있는데, 일반 넷링크 소켓은 고급 넷링크 소켓으로 여겨질 수 있으며, 12장과 커널 네트워킹 소스코드를 훑어보면서 만나게 될 것이다.

3장에서는 ICMP 프로토콜에 관해 배운다. ICMP 프로토콜은 시스템이 네트워크 계층(L3)에 관한 오류와 제어 메시지를 보내며 정확히 동작하도록 돕는다. IPv4와 IPv6에서의 ICMP 프로토콜 구현에 관해 모두 배운다.

4장에서는 IPv4 프로토콜을 다룬다. 인터넷과 현대의 삶은 IPv4 없이 설명될 수 없다. IPv4 헤더 구조체, Rx와 Tx 경로, IP 옵션, 단편화와 역단편화 및 이것이 왜 필요한지, 그리고 IPv4의 중요한 작업인 패킷 포워딩에 관해 배운다.

5장과 6장에서는 IPv4 라우팅 서브시스템에 전념한다. 5장에서는 라우팅 서브시스템에서 탐색이 이뤄지는 방법, 라우팅 테이블이 구성되는 방법, IPv4 라우팅 서브시스템에서 사용되는 최적화와 IPv4 라우팅 캐시의 제거에 관해 배운다. 6장에서는 멀티캐스트 라우팅, 정책 라우팅, 다중경로 라우팅 같은 고급 라우팅 주제를 설명한다.

7장에서는 이웃 서브시스템을 설명한다. IPv4에서 사용된 ARP 프로토콜, IPv6에서 사용된 NDISC 프로토콜, 그리고 두 프로토콜의 일부 차이점에 관해 배운다. IPv6에서 중복 주소 탐지(DAD; Duplicate Address Detection) 메커니즘도 배울 것이다.

8장에서는 IPv6 프로토콜을 설명한다. 이 프로토콜은 IPv4 주소의 부족으로 인한 불가피한 해결책으로 보인다. 8장에서는 IPv6 구현을 설명하고 IPv6 주소, IPv6 헤더와 확장 헤더, IPv6에서 자동구성, Rx 경로, 포워딩에 관해 설명한다. MLD 프로토콜에 대해서도 설명한다.

9장에서는 넷필터 서브시스템을 다룬다. 넷필터 훅과 이를 등록하는 방법, 연결 추적, IP 테이블과 네트워크 주소 변환(NAT), 연결 추적과 NAT로 사용되는 콜백에 관해 배운다.

10장에서는 IPsec를 다루는데, IPsec는 가장 복잡한 네트워킹 서브시스템이다. IKE 프로토콜(사용자 영역에서 구현돼 있는) 같은 주제와 IPsec의 암호화와 관련된 부분은 간략히 설명한다(전체 설명은 이 책의 범위를 벗어난다). 리눅스 IPsec 서브시스템의 기초인 XFRM 기반구조와 XFRM 정책과 두 가지 가장 중요한 구조체에 관해 설명한다. 이 구조체는 XFRM 정책과 XFRM 상태 구조체다. ESP 프로토콜과 더불어 전송 모드의 IPsec Rx 경로와 Tx 경로를 간단히 설명한다. 10장에서는 XFRM 탐색과 NAT 이동에 관한 짧은 절로 마무리한다.

11장에서는 4계층 프로토콜을 설명하며, 가장 일반적으로 사용되는 프로토콜인 UDP와 TCP로 사작해 새로운 두 프로토콜 SCTP와 DCCP로 마무리한다.

12장에서는 리눅스 무선(IEEE 802.11)을 다룬다. mac80211 서브시스템과 구현, 다양한 무선 네트워크 토폴로지, 절전 모드, IEEE 802.11n과 패킷 집합에 관해 배운다. 12장에는 무선 메시 네트워크에 대해서만 다룬 절도 있다.

13장에서는 인피니밴드 서브시스템을 탐구하는데, 인피니밴드 서브시스템은 데이터 센터에서 인기가 날로 높아지고 있는 기술이다. RDMA 스택 구조, 인피니밴드에서의 어드레싱(addressing), 인피니밴드의 패킷 구조, RDMA API에 관해 배운다.

14장에서는 특히 리눅스 네임스페이스와 네트워크 네임스페이스를 설명하고, 바쁜 폴링 소켓, 블루투스 서브시스템, IEEE 802.15.4 서브시스템, 근거리 무선 통신(NFC) 서브시스템, PCI 서브시스템 등을 설명한다.

부록 A “리눅스 API”와 C “용어 설명”에서는 이 책에서 설명한 많은 주제에 관한 참고 정보를 제공한다. 부록 B “네트워크 관리”에서는 리눅스 커널 네트워킹을 다루는 데 필요한 다양한 도구에 관한 정보를 제공한다.

-- 서문 중에서

라미 로젠(Rami Rosen)

라미 로젠은 소프트웨어 엔지니어이며, 이스라엘 고등 기술 연구소인 테크니온의 컴퓨터과학과를 졸업했다. 지난 17년 동안 세 가지 혁신적인 스타트업과 반도체 회사의 소프트웨어 개발자로 근무했다. 현재 이스라엘에 살고 있으며, 첨단 리눅스 커널 프로젝트(특히 네트워킹에 관련된)에 참여하고 있다. 그는 여러 편의 논문을 발표했고 리눅스 커널 네트워킹과 가상화에 관해 강의했다.

강광훈

전송 관련 회사에서 임베디드 장치 펌웨어(부트로더, 커널 및 드라이버) 및 소프트웨어 라이브러리와 관련된 업무를 담당하는 연구원으로 근무 중이다. 주로 PPC, MIPS CPU 계열의 임베디드 리눅스 제품 개발에 참여했으며, ARM 계열에도 흥미가 많아 업무와 별도로 교육 과정을 들으러 다니는 자칭 임베디드 애호가다. 기술적 호기심이 많고, 리눅스 같은 오픈소스의 대중성과 힘을 굳게 믿고 있다.

  • ▣ 01장: 들어가며
    • 리눅스 네트워크 스택
    • 네트워크 장치
    • 네트워크 장치의 NAPI(New API)
    • 패킷의 수신과 송신
    • 소켓 버퍼
    • 리눅스 커널 네트워킹 개발 모델
    • 정리
    •  
  • ▣ 02장: 넷링크 소켓
    • 넷링크 계열
    • 넷링크 소켓 라이브러리
    • sockaddr_nl 구조체
    • TCP/IP 네트워킹 제어를 위한 사용자 공간 패키지
    • 커널 넷링크 소켓
    • 넷링크 메시지 헤더
    • NETLINK_ROUTE 메시지
    • 라우팅 테이블에서의 라우팅 항목의 추가와 삭제
    • 일반 넷링크 프로토콜
    • 일반 넷링크 메시지 생성과 전송
    • 소켓 감시 인터페이스
    • 정리
    • 빠른 참조
    •  
  • ▣ 03장: 인터넷 제어 메시지 프로토콜(ICMP)
    • ICMPv4
    • ICMPv4 초기화
    • ICMPv4 헤더
    • ICMPv4 메시지 수신
    • ICMPv4 메시지 전송: “목적지에 연결할 수 없음”
      • 코드 2: ICMP_PROT_UNREACH(프로토콜에 연결할 수 없음)
      • 코드 3: ICMP_PORT_UNREACH(“포트에 연결할 수 없음”)
      • 코드 4: ICMP_FRAG_NEEDED
      • 코드 5: ICMP_SR_FAILED
    • ICMPv6
    • ICMPv6 초기화
    • ICMPv6 헤더
    • ICMPv6 메시지 수신
    • ICMPv6 메시지 전송
      • 예제: “홉 제한 시간 초과” ICMPv6 메시지 전송
      • 예제: “단편화 재조립 시간 초과” ICMPv6 메시지 전송
      • 예제: “목적지에 연결할 수 없음”/“포트에 연결할 수 없음” ICMPv6 메시지 전송
      • 예제: “단편화 필요” ICMPv6 메시지 전송
      • 예제: “매개변수 문제” ICMPv6 메시지 전송
    • ICMP 소켓(“핑 소켓”)
    • 정리
    • 빠른 참조
      • 함수
    • procfs 항목
      • sysctl_icmp_echo_ignore_all
      • sysctl_icmp_echo_ignore_broadcasts
      • sysctl_icmp_ignore_bogus_error_responses
      • sysctl_icmp_ratelimit
      • sysctl_icmp_ratemask
      • sysctl_icmp_errors_use_inbound_ifaddr
    • iptables를 이용해 “목적지에 연결할 수 없음” 메시지 생성하기
    •  
  • ▣ 04장: IPv4
    • IPv4 헤더
    • IPv4 초기화
    • IPv4 패킷 수신
    • IPv4 멀티캐스트 패킷 수신
    • IP 옵션
    • 타임스탬프 옵션
    • 경로 저장 옵션
    • IP 옵션과 단편화
    • IP 옵션 만들기
    • IPv4 패킷 전송
    • 단편화
    • 빠른 경로
    • 느린 경로
    • 역단편화
    • 포워딩
    • 정리
    • 빠른 참조
      • 함수
      • 매크로
    •  
  • ▣ 05장: IPv4 라우팅 서브시스템
    • 포워딩과 FIB
    • 라우팅 서브시스템의 탐색 수행
    • FIB 테이블
    • FIB 정보
    • 캐싱
    • 다음 홉(fib_nh)
      • FIB 다음 홉 예외
    • 정책 라우팅
    • FIB 별칭(fib_alias)
    • ICMPv4 재지정 메시지
    • ICMPv4 재지정 메시지 생성
    • ICMPv4 재지정 메시지 수신
    • IPv4 라우팅 캐시
      • Rx 경로
      • Tx 경로
    • 정리
    • 빠른 참조
      • 함수
      • 매크로
      • 경로 플래그
    •  
  • ▣ 06장: 고급 라우팅
    • 멀티캐스트 라우팅
    • IGMP 프로토콜
    • 멀티캐스트 라우팅 테이블
    • 멀티캐스트 포워딩 캐시(MFC)
    • 멀티캐스트 라우터
    • Vif 장치
    • IPv4 멀티캐스트 Rx 경로
    • ip_mr_forward() 함수
    • ipmr_queue_xmit() 함수
    • ipmr_forward_finish() 함수
    • 멀티캐스트 통신의 TTL
    • 정책 라우팅
    • 정책 라우팅 관리
    • 정책 라우팅 구현
    • 다중경로 라우팅
    • 정리
    • 빠른 참조
      • 함수
      • 매크로
      • procfs 멀티캐스트 항목
    •  
  • ▣ 07장: 리눅스 이웃 서브시스템
    • 이웃 서브시스템의 핵심 요소
    • 이웃 생성과 해제
    • 사용자 공간과 이웃 서브시스템 간의 상호작용
    • 네트워크 이벤트 처리
    • ARP 프로토콜(IPv4)
    • ARP: 의뢰 요청 전송
    • ARP: 의뢰 요청 수신과 응답
    • NDISC 프로토콜 (IPv6)
    • 중복 주소 탐지(DAD)
    • NDISC: 의뢰 요청 전송
    • NDISC: 이웃 의뢰와 알림 수신
    • 정리
    • 빠른 참조
      • 함수
      • 매크로
      • neigh_statistics 구조체
    •  
  • ▣ 08장: IPv6
    • 간단한 IPv6 소개
    • IPv6 주소
    • 특수한 주소
    • 멀티캐스트 주소
    • IPv6 헤더
    • 확장 헤더
    • IPv6 초기화
    • 자동설정
    • IPv6 패킷 수신
    • 로컬 전달
    • 포워딩
    • IPv6 멀티캐스트 패킷 수신
    • 멀티캐스트 리스너 탐색(MLD)
    • 멀티캐스트 그룹 참가와 탈퇴
    • MLDv2 멀티캐스트 리스너 보고
    • 멀티캐스트 출발지 필터링(MSF)
      • 출발지 필터링을 이용한 멀티캐스트 그룹 참가와 탈퇴
      • 예제: 출발지 필터링을 위한 MCAST_MSFILTER 사용
    • IPv6 패킷 전송
    • IPv6 라우팅
    • 정리
    • 빠른 참조
      • 함수
      • 매크로
      • 특수한 주소
      • IPv6 라우팅 테이블 관리
    •  
  • ▣ 09장: 넷필터
    • 넷필터 프레임워크
    • 넷필터 훅
    • 넷필터 훅의 등록
    • 연결 추적
    • 연결 추적 초기화
    • 연결 추적 항목
    • 연결 추적 도우미와 예상
    • IPTables
    • 로컬 호스트로 전달
    • 패킷 포워딩
    • 네트워크 주소 변환(NAT)
    • NAT 초기화
    • NAT 훅 콜백과 연결 추적 훅 콜백
    • NAT 훅 콜백
    • 연결 추적 확장
    • 정리
    • 빠른 참조
      • 함수
      • 매크로
      • 도구와 라이브러리
    •  
  • ▣ 10장: IPsec
    • 개요
    • IKE(인터넷 키 교환)
    • IPsec와 암호화
    • XFRM 프레임워크
    • XFRM 초기화
    • XFRM 정책
    • XFRM 상태(보안 연관)
    • ESP 구현(IPv4)
    • IPv4 ESP 초기화
    • IPsec 패킷 수신(전송 모드)
    • IPsec 패킷 전송(전송 모드)
    • XFRM 탐색
    • IPsec에서의 NAT 이동
    • NAT-T 동작 모드
    • 정리
    • 빠른 참조
      • 함수
    •  
  • ▣ 11장: 4계층 프로토콜
    • 소켓
    • 소켓 생성
    • UDP(사용자 데이터그램 프로토콜)
    • UDP 초기화
    • UDP를 이용한 패킷 전송
    • 네트워크 계층(L3)에서 UDP로 패킷 수신
    • TCP(전송 제어 프로토콜)
    • TCP 헤더
    • TCP 초기화
    • TCP 타이머
    • TCP 소켓 초기화
    • TCP 연결 설정
    • 네트워크 계층(L3)에서 TCP로 패킷 수신
    • TCP를 이용한 패킷 송신
    • SCTP(스트림 제어 전송 프로토콜)
    • SCTP 패킷과 청크
    • SCTP 공통 헤더
    • SCTP 청크 헤더
    • SCTP 청크
    • SCTP 연관
    • SCTP 연관 설정
    • SCTP로 패킷 수신
    • SCTP를 이용한 패킷 송신
    • SCTP 하트비트(HEARTBEAT)
    • SCTP 멀티스트리밍
    • SCTP 멀티호밍
    • DCCP(데이터그램 혼잡 제어 프로토콜)
    • DCCP 헤더
    • DCCP 초기화
    • DCCP 소켓 초기화
    • 네트워크 계층(L3)에서 DCCP로 패킷 수신
    • DCCP를 이용한 패킷 송신
    • DCCP와 NAT
    • 정리
    • 빠른 참조
      • 함수
      • 매크로
    •  
  • ▣ 12장: 리눅스의 무선
    • MAC80211 서브시스템
    • 802.11 MAC 헤더
    • 프레임 제어
    • 다른 802.11 MAC 헤더 멤버
    • 네트워크 토폴로지
    • 기반구조 BSS
    • IBSS 또는 애드 혹 모드
    • 절전 모드
    • 절전 기능 진입
    • 절전 기능에서 나가기
    • 멀티캐스트/브로드캐스트 버퍼 처리
    • 관리 계층(MLME)
    • 검사
    • 인증
    • 연관
    • 재연관
    • Mac80211 구현
    • Rx 경로
    • Tx 경로
    • 단편화
    • Mac80211 debugfs
    • 무선 모드
    • 높은 처리량(ieee802.11n)
    • 패킷 집합
      • 블록 확인응답 요청(BAR)
      • 블록 확인응답
    • 메시 네트워킹(802.11s)
    • HWMP 프로토콜
    • 메시 네트워크 설정
    • 리눅스 무선 개발 과정
    • 정리
    • 빠른 참조
      • 함수
    •  
  • ▣ 13장: 인피니밴드
    • RDMA와 인피니밴드 개요
    • RDMA 스택 구성
    • RDMA 기술의 장점
    • 인피니밴드의 하드웨어 구성 요소
    • 인피니밴드의 주소
    • 인피니밴드 기능
    • 인피니밴드 패킷
    • 관리 개체
    • RDMA 자원
    • RDMA 장치
    • 보호 도메인(PD)
    • 주소 처리(AH)
    • 메모리 영역(MR; Memory Region)
    • 빠른 메모리 영역(FMR; Fast Memory Region) 풀
    • 메모리 윈도우(MW; Memory Window)
    • 완료 큐(CQ; Completion Queue)
    • 신뢰적 확장 연결(XRC) 도메인
    • 공유 수신 큐(SRQ)
    • 큐 쌍(QP)
      • QP 전송 타입
      • QP 상태 기계
    • 작업 요청 처리
    • RDMA 아키텍처에서 지원되는 연산
      • 작업 완료 상태
    • 멀티캐스트 그룹
    • 사용자 공간과 커널 수준 RDMA API의 차이점
    • 정리
    • 빠른 참조
      • 함수
    •  
  • ▣ 14장: 고급 주제
    • 네트워크 네임스페이스
    • 네임스페이스 구현
    • UTS 네임스페이스 구현
    • 네트워크 네임스페이스 구현
      • 네트워크 네임스페이스 객체(struct net)
      • 네트워크 네임스페이스 구현: 다른 자료구조
    • 네트워크 네임스페이스 관리
      • 다른 네트워크 네임스페이스로 네트워크 인터페이스 옮기기
      • 두 네트워크 네임스페이스 사이의 통신
    • cgroup
    • cgroup 구현
    • cgroup 장치 컨트롤러: 간단한 예제
    • cgroup 메모리 컨트롤러: 간단한 예제
    • cls_cgroup 분류자
    • cgroup 서브시스템 마운트
    • 바쁜 폴링 소켓
    • 전역적으로 활성화하기
    • 소켓마다 활성화하기
    • 조율과 구성
    • 성능
    • 리눅스 블루투스 서브시스템
    • HCI 계층
      • HCI 장치
      • HCI와 하위 계층(링크 컨트롤러)
      • HCI와 상위 계층(L2CAP/SCO)
    • HCI 연결
    • L2CAP
    • BNEP
      • 블루투스 패킷 수신: 다이어그램
    • L2CAP 확장 기능
    • 블루투스 도구
    • IEEE 802.15.4와 6LoWPAN
    • 이웃 탐색 최적화
    • 리눅스 커널 6LoWPAN
      • 6LoWPAN 초기화
    • 근거리 무선 통신(NFC)
    • NFC 태그
    • NFC 장치
    • 통신 모드와 동작 모드
    • 호스트-컨트롤러 인터페이스
    • 리눅스 NFC 지원
      • NFC 소켓
      • NFC 넷링크 API
      • NFC 초기화
      • 드라이버 API
    • 사용자 공간 아키텍처
    • 안드로이드 NFC
    • 알림 연쇄
    • PCI 서브시스템
    • 웨이크 온 랜(WOL; Wake-On-LAN)
    • 티밍 네트워크 장치
    • PPPoE 프로토콜
    • PPPoE 헤더
    • PPPoE 초기화
      • PPPoX 소켓
    • PPPoE를 이용한 패킷 송수신
    • 안드로이드
    • 안드로이드 네트워킹
    • 안드로이드 내부: 참고 자료
    • 정리
    • 빠른 참조
      • 함수
      • 매크로
    •  
  • ▣ 부록A: 리눅스 API
    • sk_buff 구조체
    • skb_shared_info 구조체
    • net_device 구조체
    • RDMA(원격 DMA)
    • RDMA 장치
      • ib_register_client() 함수
      • ib_client 구조체
      • ib_unregister_client() 함수
      • ib_get_client_data() 함수
      • ib_set_client_data()
      • INIT_IB_EVENT_HANDLER 매크로
      • ib_register_event_handler() 함수
      • ib_event_handler 구조체
      • ib_event 구조체
      • ib_unregister_event_handler() 함수
      • ib_query_device() 함수
      • ib_query_port() 함수
      • rdma_port_get_link_layer() 함수
      • ib_query_gid() 함수
      • ib_query_pkey() 함수
      • ib_modify_device() 함수
      • ib_modify_port() 함수
      • ib_find_gid() 함수
      • ib_find_pkey() 함수
      • rdma_node_get_transport() 함수
      • rdma_node_get_transport() 함수
      • ib_mtu_to_int() 함수
      • ib_width_enum_to_int() 함수
      • ib_rate_to_mult() 함수
      • ib_rate_to_mbps() 함수
    • 보호 도메인(PD; Protection Domain)
      • ib_alloc_pd() 함수
      • ib_dealloc_pd() 함수
    • 확장된 신뢰성 있는 연결(XRC)
      • ib_alloc_xrcd() 함수
      • ib_dealloc_xrcd_cq() 함수
    • 공유 수신 큐(SRQ)
      • ib_create_srq() 함수
      • ib_modify_srq() 함수
      • ib_query_srq() 함수
      • ib_destroy_srq() 함수
      • ib_post_srq_recv() 함수
    • 주소 처리(AH)
      • ib_create_ah() 함수
      • ib_init_ah_from_wc() 함수
      • ib_create_ah_from_wc() 함수
      • ib_modify_ah() 함수
      • ib_query_ah() 함수
      • ib_destroy_ah() 함수
    • 멀티캐스트 그룹
      • ib_attach_mcast() 함수
      • ib_detach_mcast() 함수
    • 완료 큐(CQ; Completion Queue)
      • ib_create_cq() 함수
      • ib_resize_cq() 함수
      • ib_modify_cq() 함수
      • ib_peek_cq() 함수
      • ib_req_notify_cq() 함수
      • ib_req_ncomp_notif() 함수
      • ib_poll_cq() 함수
      • ib_destroy_cq() 함수
    • 큐 쌍(QP; Queue Pair)
      • ib_create_qp() 함수
      • ib_modify_qp() 함수
      • ib_query_qp() 함수
      • ib_open_qp() 함수
      • ib_close_qp() 함수
      • ib_post_recv() 함수
      • ib_post_send() 함수
    • 메모리 윈도우(MW)
      • ib_alloc_mw() 함수
      • ib_bind_mw() 함수
      • ib_dealloc_mw() 함수
    • 메모리 영역(MR)
      • ib_get_dma_mr() 함수
      • ib_dma_mapping_error() 함수
      • ib_dma_map_single() 함수
      • ib_dma_unmap_single() 함수
      • ib_dma_map_single_attrs() 함수
      • ib_dma_unmap_single_attrs() 함수
      • ib_dma_map_page() 함수
      • ib_dma_unmap_page() 함수
      • ib_dma_map_sg() 함수
      • ib_dma_unmap_sg()
      • ib_dma_map_sg_attr() 함수
      • ib_dma_unmap_sg() 함수
      • ib_sg_dma_address() 함수
      • ib_sg_dma_len() 함수
      • ib_dma_sync_single_for_cpu() 함수
      • ib_dma_sync_single_for_device() 함수
      • ib_dma_alloc_coherent() 함수
      • ib_dma_free_coherent() 함수
      • ib_reg_phys_mr() 함수
      • ib_rereg_phys_mr() 함수
      • ib_query_mr() 함수
      • ib_mr_attr 구조체
      • ib_dereg_mr() 함수
    •  
  • ▣ 부록B: 네트워크 관리
    • arp
    • arping
    • arptables
    • arpwatch
    • ApacheBench (ab)
    • brctl
    • conntrack-tools
    • crtools
    • ebtables
    • ether-wake
    • ethtool
    • 깃(git)
    • hciconfig
    • hcidump
    • hcitool
    • ifconfig
    • ifenslave
    • iperf
    • iperf 사용
    • iproute2
    • iptables와 iptables6
    • ipvsadm
    • iw
    • iwconfig
    • libreswan 프로젝트
    • l2ping
    • lowpan-tools
    • lshw
    • lscpu
    • lspci
    • mrouted
    • nc
    • ngrep
    • netperf
    • netsniff-ng
    • netstat
    • nmap(네트워크 변환기)
    • openswan
    • OpenVPN
    • packeth
    • ping
    • pimd
    • poptop
    • ppp
    • pktgen
    • radvd
    • route
    • RP-PPPoE
    • sar
    • smcroute
    • snort
    • suricata
    • strongSwan
    • sysctl
    • taskset
    • tcpdump
    • top
    • tracepath
    • traceroute
    • tshark
    • tunctl
    • udevadm
    • unshare
    • vconfig
    • wpa_supplicant
    • wireshark
    • XORP
    •  
  • ▣ 부록C: 용어해설

관련 글