리눅스 커널 네트워킹 : 북윈도
리뷰 0 위시 120

리눅스 커널 네트워킹 요약정보 및 구매

커널 코드로 배우는 리눅스 네트워킹의 구현과 이론

상품 선택옵션 0 개, 추가옵션 0 개

출판사 위키북스
저자 라미 로젠 , 이대엽 (엮음)
ISBN 9791158390471 (1158390475)
정가 42,000원
판매가 37,800원(10% 할인)
배송비 무료배송
포인트 정책 설명문 닫기

00포인트

포인트 정책 설명문 출력

선택된 옵션

관심상품

상품 정보

사은품
상품 기본설명
커널 코드로 배우는 리눅스 네트워킹의 구현과 이론
상품 상세설명


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

목차
▣ 01장: 들어가며t
리눅스 네트워크 스택t
네트워크 장치t
네트워크 장치의 NAPI(New API)t
패킷의 수신과 송신t
소켓 버퍼t
리눅스 커널 네트워킹 개발 모델t
정리t

▣ 02장: 넷링크 소켓t
넷링크 계열t
넷링크 소켓 라이브러리t
sockaddr_nl 구조체t
TCP/IP 네트워킹 제어를 위한 사용자 공간 패키지t
커널 넷링크 소켓t
넷링크 메시지 헤더t
NETLINK_ROUTE 메시지t
라우팅 테이블에서의 라우팅 항목의 추가와 삭제t
일반 넷링크 프로토콜t
일반 넷링크 메시지 생성과 전송t
소켓 감시 인터페이스t
정리t
빠른 참조t

▣ 03장: 인터넷 제어 메시지 프로토콜(ICMP)t
ICMPv4t
ICMPv4 초기화t
ICMPv4 헤더t
ICMPv4 메시지 수신t
ICMPv4 메시지 전송: “목적지에 연결할 수 없음”t
- 코드 2: ICMP_PROT_UNREACH(프로토콜에 연결할 수 없음)
- 코드 3: ICMP_PORT_UNREACH (“포트에 연결할 수 없음”)
- 코드 4: ICMP_FRAG_NEEDED
- 코드 5: ICMP_SR_FAILED
ICMPv6t
ICMPv6 초기화t
ICMPv6 헤더t
ICMPv6 메시지 수신t
ICMPv6 메시지 전송t
- 예제: “홉 제한 시간 초과” ICMPv6 메시지 전송
- 예제: “단편화 재조립 시간 초과” ICMPv6 메시지 전송
- 예제: “목적지에 연결할 수 없음”/“포트에 연결할 수 없음” ICMPv6 메시지 전송
- 예제: “단편화 필요” ICMPv6 메시지 전송
- 예제: “매개변수 문제” ICMPv6 메시지 전송
ICMP 소켓(“핑 소켓”)t
정리t
빠른 참조t
- 함수
- 표
procfs 항목t
- 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장: IPv4t
IPv4 헤더t
IPv4 초기화t
IPv4 패킷 수신t
IPv4 멀티캐스트 패킷 수신t
IP 옵션t
타임스탬프 옵션t
경로 저장 옵션t
IP 옵션과 단편화t
IP 옵션 만들기t
IPv4 패킷 전송t
단편화t
빠른 경로t
느린 경로t
역단편화t
포워딩t
정리t
빠른 참조t
- 함수
- 매크로

▣ 05장: IPv4 라우팅 서브시스템t
포워딩과 FIBt
라우팅 서브시스템의 탐색 수행t
FIB 테이블t
FIB 정보t
캐싱t
다음 홉(fib_nh)t
- FIB 다음 홉 예외
정책 라우팅t
FIB 별칭(fib_alias)t
ICMPv4 재지정 메시지t
ICMPv4 재지정 메시지 생성t
ICMPv4 재지정 메시지 수신t
IPv4 라우팅 캐시t
- Rx 경로
- Tx 경로
정리t
빠른 참조t
- 함수
- 매크로
- 표
- 경로 플래그

▣ 06장: 고급 라우팅t
멀티캐스트 라우팅t
IGMP 프로토콜t
멀티캐스트 라우팅 테이블t
멀티캐스트 포워딩 캐시(MFC)t
멀티캐스트 라우터t
Vif 장치t
IPv4 멀티캐스트 Rx 경로t
ip_mr_forward() 함수t
ipmr_queue_xmit() 함수t
ipmr_forward_finish() 함수t
멀티캐스트 통신의 TTLt
정책 라우팅t
정책 라우팅 관리t
정책 라우팅 구현t
다중경로 라우팅t
정리t
빠른 참조t
- 함수
- 매크로
- procfs 멀티캐스트 항목
- 표

▣ 07장: 리눅스 이웃 서브시스템t
이웃 서브시스템의 핵심 요소t
이웃 생성과 해제t
사용자 공간과 이웃 서브시스템 간의 상호작용t
네트워크 이벤트 처리t
ARP 프로토콜(IPv4)t
ARP: 의뢰 요청 전송t
ARP: 의뢰 요청 수신과 응답t
NDISC 프로토콜 (IPv6)t
중복 주소 탐지(DAD)t
NDISC: 의뢰 요청 전송t
NDISC: 이웃 의뢰와 알림 수신t
정리t
빠른 참조t
- 함수
- 매크로
- neigh_statistics 구조체
- 표

▣ 08장: IPv6t
간단한 IPv6 소개t
IPv6 주소t
특수한 주소t
멀티캐스트 주소t
IPv6 헤더t
확장 헤더t
IPv6 초기화t
자동설정t
IPv6 패킷 수신t
로컬 전달t
포워딩t
IPv6 멀티캐스트 패킷 수신t
멀티캐스트 리스너 탐색(MLD)t
멀티캐스트 그룹 참가와 탈퇴t
MLDv2 멀티캐스트 리스너 보고t
멀티캐스트 출발지 필터링(MSF)t
- 출발지 필터링을 이용한 멀티캐스트 그룹 참가와 탈퇴
- 예제: 출발지 필터링을 위한 MCAST_MSFILTER 사용
IPv6 패킷 전송t
IPv6 라우팅t
정리t
빠른 참조t
- 함수
- 매크로
- 표
- 특수한 주소
- IPv6 라우팅 테이블 관리

▣ 09장: 넷필터t
넷필터 프레임워크t
넷필터 훅t
넷필터 훅의 등록t
연결 추적t
연결 추적 초기화t
연결 추적 항목t
연결 추적 도우미와 예상t
IPTablest
로컬 호스트로 전달t
패킷 포워딩t
네트워크 주소 변환(NAT)t
NAT 초기화t
NAT 훅 콜백과 연결 추적 훅 콜백t
NAT 훅 콜백t
연결 추적 확장t
정리t
빠른 참조t
- 함수
- 매크로
- 표
- 도구와 라이브러리

▣ 10장: IPsect
개요t
IKE(인터넷 키 교환)t
IPsec와 암호화t
XFRM 프레임워크t
XFRM 초기화t
XFRM 정책t
XFRM 상태(보안 연관)t
ESP 구현(IPv4)t
IPv4 ESP 초기화t
IPsec 패킷 수신(전송 모드)t
IPsec 패킷 전송(전송 모드)t
XFRM 탐색t
IPsec에서의 NAT 이동t
NAT-T 동작 모드t
정리t
빠른 참조t
- 함수
- 표

▣ 11장: 4계층 프로토콜t
소켓t
소켓 생성t
UDP(사용자 데이터그램 프로토콜)t
UDP 초기화t
UDP를 이용한 패킷 전송t
네트워크 계층(L3)에서 UDP로 패킷 수신t
TCP(전송 제어 프로토콜)t
TCP 헤더t
TCP 초기화t
TCP 타이머t
TCP 소켓 초기화t
TCP 연결 설정t
네트워크 계층(L3)에서 TCP로 패킷 수신t
TCP를 이용한 패킷 송신t
SCTP(스트림 제어 전송 프로토콜)t
SCTP 패킷과 청크t
SCTP 공통 헤더t
SCTP 청크 헤더t
SCTP 청크t
SCTP 연관t
SCTP 연관 설정t
SCTP로 패킷 수신t
SCTP를 이용한 패킷 송신t
SCTP 하트비트(HEARTBEAT)t
SCTP 멀티스트리밍t
SCTP 멀티호밍t
DCCP(데이터그램 혼잡 제어 프로토콜)t
DCCP 헤더t
DCCP 초기화t
DCCP 소켓 초기화t
네트워크 계층(L3)에서 DCCP로 패킷 수신t
DCCP를 이용한 패킷 송신t
DCCP와 NATt
정리t
빠른 참조t
- 함수
- 매크로
- 표

▣ 12장: 리눅스의 무선t
MAC80211 서브시스템t
802.11 MAC 헤더t
프레임 제어t
다른 802.11 MAC 헤더 멤버t
네트워크 토폴로지t
기반구조 BSSt
IBSS 또는 애드 혹 모드t
절전 모드t
절전 기능 진입t
절전 기능에서 나가기t
멀티캐스트/브로드캐스트 버퍼 처리t
관리 계층(MLME)t
검사t
인증t
연관t
재연관t
Mac80211 구현t
Rx 경로t
Tx 경로t
단편화t
Mac80211 debugfst
무선 모드t
높은 처리량(ieee802.11n)t
패킷 집합t
- 블록 확인응답 요청(BAR)
- 블록 확인응답
메시 네트워킹(802.11s)t
HWMP 프로토콜t
메시 네트워크 설정t
리눅스 무선 개발 과정t
정리t
빠른 참조t
- 함수
- 표

▣ 13장: 인피니밴드t
RDMA와 인피니밴드 개요t
RDMA 스택 구성t
RDMA 기술의 장점t
인피니밴드의 하드웨어 구성 요소t
인피니밴드의 주소t
인피니밴드 기능t
인피니밴드 패킷t
관리 개체t
RDMA 자원t
RDMA 장치t
보호 도메인(PD)t
주소 처리(AH)t
메모리 영역(MR; Memory Region)t
빠른 메모리 영역(FMR; Fast Memory Region) 풀t
메모리 윈도우(MW; Memory Window)t
완료 큐(CQ; Completion Queue)t
신뢰적 확장 연결(XRC) 도메인t
공유 수신 큐(SRQ)t
큐 쌍(QP)t
- QP 전송 타입
- QP 상태 기계
작업 요청 처리t
RDMA 아키텍처에서 지원되는 연산t
- 작업 완료 상태
멀티캐스트 그룹t
사용자 공간과 커널 수준 RDMA API의 차이점t
정리t
빠른 참조t
- 함수

▣ 14장: 고급 주제t
네트워크 네임스페이스t
네임스페이스 구현t
UTS 네임스페이스 구현t
네트워크 네임스페이스 구현t
- 네트워크 네임스페이스 객체(struct net)
- 네트워크 네임스페이스 구현: 다른 자료구조
네트워크 네임스페이스 관리t
- 다른 네트워크 네임스페이스로 네트워크 인터페이스 옮기기
- 두 네트워크 네임스페이스 사이의 통신
cgroupt
cgroup 구현t
cgroup 장치 컨트롤러: 간단한 예제t
cgroup 메모리 컨트롤러: 간단한 예제t
cls_cgroup 분류자t
cgroup 서브시스템 마운트t
바쁜 폴링 소켓t
전역적으로 활성화하기t
소켓마다 활성화하기t
조율과 구성t
성능t
리눅스 블루투스 서브시스템t
HCI 계층t
- HCI 장치
- HCI와 하위 계층(링크 컨트롤러)
- HCI와 상위 계층(L2CAP/SCO)
HCI 연결t
L2CAPt
BNEPt
- 블루투스 패킷 수신: 다이어그램
L2CAP 확장 기능t
블루투스 도구t
IEEE 802.15.4와 6LoWPANt
이웃 탐색 최적화t
리눅스 커널 6LoWPANt
- 6LoWPAN 초기화
근거리 무선 통신(NFC)t
NFC 태그t
NFC 장치t
통신 모드와 동작 모드t
호스트-컨트롤러 인터페이스t
리눅스 NFC 지원t
- NFC 소켓
- NFC 넷링크 API
- NFC 초기화
- 드라이버 API
사용자 공간 아키텍처t
안드로이드 NFCt
알림 연쇄t
PCI 서브시스템t
웨이크 온 랜(WOL; Wake-On-LAN)t
티밍 네트워크 장치t
PPPoE 프로토콜t
PPPoE 헤더t
PPPoE 초기화t
- PPPoX 소켓
PPPoE를 이용한 패킷 송수신t
안드로이드t
안드로이드 네트워킹t
안드로이드 내부: 참고 자료t
정리t
빠른 참조t
- 함수
- 매크로

▣ 부록A: 리눅스 APIt
sk_buff 구조체t
skb_shared_info 구조체t
net_device 구조체t
RDMA(원격 DMA)t
RDMA 장치t
- 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)t
- ib_alloc_pd() 함수
- ib_dealloc_pd() 함수
확장된 신뢰성 있는 연결(XRC)t
- ib_alloc_xrcd() 함수
- ib_dealloc_xrcd_cq() 함수
공유 수신 큐(SRQ)t
- ib_create_srq() 함수
- ib_modify_srq() 함수
- ib_query_srq() 함수
- ib_destroy_srq() 함수
- ib_post_srq_recv() 함수
주소 처리(AH)t
- ib_create_ah() 함수
- ib_init_ah_from_wc() 함수
- ib_create_ah_from_wc() 함수
- ib_modify_ah() 함수
- ib_query_ah() 함수
- ib_destroy_ah() 함수
멀티캐스트 그룹t
- ib_attach_mcast() 함수
- ib_detach_mcast() 함수
완료 큐(CQ; Completion Queue)t
- 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)t
- ib_create_qp() 함수
- ib_modify_qp() 함수
- ib_query_qp() 함수
- ib_open_qp() 함수
- ib_close_qp() 함수
- ib_post_recv() 함수
- ib_post_send() 함수
메모리 윈도우(MW)t
- ib_alloc_mw() 함수
- ib_bind_mw() 함수
- ib_dealloc_mw() 함수
메모리 영역(MR)t
- 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: 네트워크 관리t
arpt
arpingt
arptablest
arpwatcht
ApacheBench (ab)t
brctlt
conntrack-toolst
crtoolst
ebtablest
ether-waket
ethtoolt
깃(git)t
hciconfigt
hcidumpt
hcitoolt
ifconfigt
ifenslavet
iperft
iperf 사용t
iproute2t
iptables와 iptables6t
ipvsadmt
iwt
iwconfigt
libreswan 프로젝트t
l2pingt
lowpan-toolst
lshwt
lscput
lspcit
mroutedt
nct
ngrept
netperft
netsniff-ngt
netstatt
nmap(네트워크 변환기)t
openswant
OpenVPNt
packetht
pingt
pimdt
poptopt
pppt
pktgent
radvdt
routet
RP-PPPoEt
sart
smcroutet
snortt
suricatat
strongSwant
sysctlt
tasksett
tcpdumpt
topt
tracepatht
traceroutet
tsharkt
tunctlt
udevadmt
unsharet
vconfigt
wpa_supplicantt
wiresharkt
XORPt

▣ 부록C: 용어해설
책속으로
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 “네트워크 관리”에서는 리눅스 커널 네트워킹을 다루는 데 필요한 다양한 도구에 관한 정보를 제공한다.
- 서문 중에서
출판사 서평
『리눅스 커널 네트워킹』은 현재 리눅스 네트워킹 구현과 내부 이론의 깊이 있는 여정을 안내할 것이다. 리눅스 커널 네트워킹은 그 자체가 복잡한 주제이라서 이 책에서는 네트워킹과 직접적으로 관련되지 않은 주제로 여러분을 부담스럽게 하지 않을 것이다. 이 책은 여러분이 찾는 것과 직접적으로 연관되지 않는 성가신 코드로 지나치게 부담스럽게 하지도 않는다. 여러분이 필요한 내용만 보게 될 것이고, 각 장에서는 당면 주제를 깊이 있게 설명하고 각 장의 끝에서는 빠르게 본문 내용을 참조할 수 있다.『리눅스 커널 네트워킹』은 네트워킹이 어떻게 구현돼 있는지 이해하는 유일한 최신 안내서이다. 현재 수많은 장치가 리눅스 또는 리눅스를 기반으로 한 운영체제(예: 안드로이드)를 사용하고 있으며, Xen과 KVM 같은 리눅스 기반 가상화 기술을 비롯해 데이터 센터 분야에서도 리눅스가 폭넓게 사용되고 있으므로 이 책은 앞으로 수년 동안 필독서가 될 것이다.★ 이 책에서 다루는 내용 ★◎ 소켓 버퍼를 빅롯한 커널 네트워킹 기초
◎ ARP, 이웃 탐색, ICMP 같은 핵심 프로토콜의 구현 원리
◎ IPv4와 IPv6에 관한 심층적 고찰
◎ 리눅스 라우팅에 관해 알아야 할 모든 것
◎ 넷필터와 IPsec의 구현 원리
◎ 리눅스 무선 네트워킹
◎ 네트워크 네임스페이스, NFC, IEEE 802.15.4, 블루투스, 인피니밴드 등의 추가 주제
상품 정보 고시
도서명 리눅스 커널 네트워킹
저자 라미 로젠 , 이대엽 (엮음)
출판사 위키북스
ISBN 9791158390471 (1158390475)
쪽수 716
출간일 2016-09-12
사이즈 190 * 241 * 39 mm /1329g
목차 또는 책소개 ▣ 01장: 들어가며t
리눅스 네트워크 스택t
네트워크 장치t
네트워크 장치의 NAPI(New API)t
패킷의 수신과 송신t
소켓 버퍼t
리눅스 커널 네트워킹 개발 모델t
정리t

▣ 02장: 넷링크 소켓t
넷링크 계열t
넷링크 소켓 라이브러리t
sockaddr_nl 구조체t
TCP/IP 네트워킹 제어를 위한 사용자 공간 패키지t
커널 넷링크 소켓t
넷링크 메시지 헤더t
NETLINK_ROUTE 메시지t
라우팅 테이블에서의 라우팅 항목의 추가와 삭제t
일반 넷링크 프로토콜t
일반 넷링크 메시지 생성과 전송t
소켓 감시 인터페이스t
정리t
빠른 참조t

▣ 03장: 인터넷 제어 메시지 프로토콜(ICMP)t
ICMPv4t
ICMPv4 초기화t
ICMPv4 헤더t
ICMPv4 메시지 수신t
ICMPv4 메시지 전송: “목적지에 연결할 수 없음”t
- 코드 2: ICMP_PROT_UNREACH(프로토콜에 연결할 수 없음)
- 코드 3: ICMP_PORT_UNREACH (“포트에 연결할 수 없음”)
- 코드 4: ICMP_FRAG_NEEDED
- 코드 5: ICMP_SR_FAILED
ICMPv6t
ICMPv6 초기화t
ICMPv6 헤더t
ICMPv6 메시지 수신t
ICMPv6 메시지 전송t
- 예제: “홉 제한 시간 초과” ICMPv6 메시지 전송
- 예제: “단편화 재조립 시간 초과” ICMPv6 메시지 전송
- 예제: “목적지에 연결할 수 없음”/“포트에 연결할 수 없음” ICMPv6 메시지 전송
- 예제: “단편화 필요” ICMPv6 메시지 전송
- 예제: “매개변수 문제” ICMPv6 메시지 전송
ICMP 소켓(“핑 소켓”)t
정리t
빠른 참조t
- 함수
- 표
procfs 항목t
- 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장: IPv4t
IPv4 헤더t
IPv4 초기화t
IPv4 패킷 수신t
IPv4 멀티캐스트 패킷 수신t
IP 옵션t
타임스탬프 옵션t
경로 저장 옵션t
IP 옵션과 단편화t
IP 옵션 만들기t
IPv4 패킷 전송t
단편화t
빠른 경로t
느린 경로t
역단편화t
포워딩t
정리t
빠른 참조t
- 함수
- 매크로

▣ 05장: IPv4 라우팅 서브시스템t
포워딩과 FIBt
라우팅 서브시스템의 탐색 수행t
FIB 테이블t
FIB 정보t
캐싱t
다음 홉(fib_nh)t
- FIB 다음 홉 예외
정책 라우팅t
FIB 별칭(fib_alias)t
ICMPv4 재지정 메시지t
ICMPv4 재지정 메시지 생성t
ICMPv4 재지정 메시지 수신t
IPv4 라우팅 캐시t
- Rx 경로
- Tx 경로
정리t
빠른 참조t
- 함수
- 매크로
- 표
- 경로 플래그

▣ 06장: 고급 라우팅t
멀티캐스트 라우팅t
IGMP 프로토콜t
멀티캐스트 라우팅 테이블t
멀티캐스트 포워딩 캐시(MFC)t
멀티캐스트 라우터t
Vif 장치t
IPv4 멀티캐스트 Rx 경로t
ip_mr_forward() 함수t
ipmr_queue_xmit() 함수t
ipmr_forward_finish() 함수t
멀티캐스트 통신의 TTLt
정책 라우팅t
정책 라우팅 관리t
정책 라우팅 구현t
다중경로 라우팅t
정리t
빠른 참조t
- 함수
- 매크로
- procfs 멀티캐스트 항목
- 표

▣ 07장: 리눅스 이웃 서브시스템t
이웃 서브시스템의 핵심 요소t
이웃 생성과 해제t
사용자 공간과 이웃 서브시스템 간의 상호작용t
네트워크 이벤트 처리t
ARP 프로토콜(IPv4)t
ARP: 의뢰 요청 전송t
ARP: 의뢰 요청 수신과 응답t
NDISC 프로토콜 (IPv6)t
중복 주소 탐지(DAD)t
NDISC: 의뢰 요청 전송t
NDISC: 이웃 의뢰와 알림 수신t
정리t
빠른 참조t
- 함수
- 매크로
- neigh_statistics 구조체
- 표

▣ 08장: IPv6t
간단한 IPv6 소개t
IPv6 주소t
특수한 주소t
멀티캐스트 주소t
IPv6 헤더t
확장 헤더t
IPv6 초기화t
자동설정t
IPv6 패킷 수신t
로컬 전달t
포워딩t
IPv6 멀티캐스트 패킷 수신t
멀티캐스트 리스너 탐색(MLD)t
멀티캐스트 그룹 참가와 탈퇴t
MLDv2 멀티캐스트 리스너 보고t
멀티캐스트 출발지 필터링(MSF)t
- 출발지 필터링을 이용한 멀티캐스트 그룹 참가와 탈퇴
- 예제: 출발지 필터링을 위한 MCAST_MSFILTER 사용
IPv6 패킷 전송t
IPv6 라우팅t
정리t
빠른 참조t
- 함수
- 매크로
- 표
- 특수한 주소
- IPv6 라우팅 테이블 관리

▣ 09장: 넷필터t
넷필터 프레임워크t
넷필터 훅t
넷필터 훅의 등록t
연결 추적t
연결 추적 초기화t
연결 추적 항목t
연결 추적 도우미와 예상t
IPTablest
로컬 호스트로 전달t
패킷 포워딩t
네트워크 주소 변환(NAT)t
NAT 초기화t
NAT 훅 콜백과 연결 추적 훅 콜백t
NAT 훅 콜백t
연결 추적 확장t
정리t
빠른 참조t
- 함수
- 매크로
- 표
- 도구와 라이브러리

▣ 10장: IPsect
개요t
IKE(인터넷 키 교환)t
IPsec와 암호화t
XFRM 프레임워크t
XFRM 초기화t
XFRM 정책t
XFRM 상태(보안 연관)t
ESP 구현(IPv4)t
IPv4 ESP 초기화t
IPsec 패킷 수신(전송 모드)t
IPsec 패킷 전송(전송 모드)t
XFRM 탐색t
IPsec에서의 NAT 이동t
NAT-T 동작 모드t
정리t
빠른 참조t
- 함수
- 표

▣ 11장: 4계층 프로토콜t
소켓t
소켓 생성t
UDP(사용자 데이터그램 프로토콜)t
UDP 초기화t
UDP를 이용한 패킷 전송t
네트워크 계층(L3)에서 UDP로 패킷 수신t
TCP(전송 제어 프로토콜)t
TCP 헤더t
TCP 초기화t
TCP 타이머t
TCP 소켓 초기화t
TCP 연결 설정t
네트워크 계층(L3)에서 TCP로 패킷 수신t
TCP를 이용한 패킷 송신t
SCTP(스트림 제어 전송 프로토콜)t
SCTP 패킷과 청크t
SCTP 공통 헤더t
SCTP 청크 헤더t
SCTP 청크t
SCTP 연관t
SCTP 연관 설정t
SCTP로 패킷 수신t
SCTP를 이용한 패킷 송신t
SCTP 하트비트(HEARTBEAT)t
SCTP 멀티스트리밍t
SCTP 멀티호밍t
DCCP(데이터그램 혼잡 제어 프로토콜)t
DCCP 헤더t
DCCP 초기화t
DCCP 소켓 초기화t
네트워크 계층(L3)에서 DCCP로 패킷 수신t
DCCP를 이용한 패킷 송신t
DCCP와 NATt
정리t
빠른 참조t
- 함수
- 매크로
- 표

▣ 12장: 리눅스의 무선t
MAC80211 서브시스템t
802.11 MAC 헤더t
프레임 제어t
다른 802.11 MAC 헤더 멤버t
네트워크 토폴로지t
기반구조 BSSt
IBSS 또는 애드 혹 모드t
절전 모드t
절전 기능 진입t
절전 기능에서 나가기t
멀티캐스트/브로드캐스트 버퍼 처리t
관리 계층(MLME)t
검사t
인증t
연관t
재연관t
Mac80211 구현t
Rx 경로t
Tx 경로t
단편화t
Mac80211 debugfst
무선 모드t
높은 처리량(ieee802.11n)t
패킷 집합t
- 블록 확인응답 요청(BAR)
- 블록 확인응답
메시 네트워킹(802.11s)t
HWMP 프로토콜t
메시 네트워크 설정t
리눅스 무선 개발 과정t
정리t
빠른 참조t
- 함수
- 표

▣ 13장: 인피니밴드t
RDMA와 인피니밴드 개요t
RDMA 스택 구성t
RDMA 기술의 장점t
인피니밴드의 하드웨어 구성 요소t
인피니밴드의 주소t
인피니밴드 기능t
인피니밴드 패킷t
관리 개체t
RDMA 자원t
RDMA 장치t
보호 도메인(PD)t
주소 처리(AH)t
메모리 영역(MR; Memory Region)t
빠른 메모리 영역(FMR; Fast Memory Region) 풀t
메모리 윈도우(MW; Memory Window)t
완료 큐(CQ; Completion Queue)t
신뢰적 확장 연결(XRC) 도메인t
공유 수신 큐(SRQ)t
큐 쌍(QP)t
- QP 전송 타입
- QP 상태 기계
작업 요청 처리t
RDMA 아키텍처에서 지원되는 연산t
- 작업 완료 상태
멀티캐스트 그룹t
사용자 공간과 커널 수준 RDMA API의 차이점t
정리t
빠른 참조t
- 함수

▣ 14장: 고급 주제t
네트워크 네임스페이스t
네임스페이스 구현t
UTS 네임스페이스 구현t
네트워크 네임스페이스 구현t
- 네트워크 네임스페이스 객체(struct net)
- 네트워크 네임스페이스 구현: 다른 자료구조
네트워크 네임스페이스 관리t
- 다른 네트워크 네임스페이스로 네트워크 인터페이스 옮기기
- 두 네트워크 네임스페이스 사이의 통신
cgroupt
cgroup 구현t
cgroup 장치 컨트롤러: 간단한 예제t
cgroup 메모리 컨트롤러: 간단한 예제t
cls_cgroup 분류자t
cgroup 서브시스템 마운트t
바쁜 폴링 소켓t
전역적으로 활성화하기t
소켓마다 활성화하기t
조율과 구성t
성능t
리눅스 블루투스 서브시스템t
HCI 계층t
- HCI 장치
- HCI와 하위 계층(링크 컨트롤러)
- HCI와 상위 계층(L2CAP/SCO)
HCI 연결t
L2CAPt
BNEPt
- 블루투스 패킷 수신: 다이어그램
L2CAP 확장 기능t
블루투스 도구t
IEEE 802.15.4와 6LoWPANt
이웃 탐색 최적화t
리눅스 커널 6LoWPANt
- 6LoWPAN 초기화
근거리 무선 통신(NFC)t
NFC 태그t
NFC 장치t
통신 모드와 동작 모드t
호스트-컨트롤러 인터페이스t
리눅스 NFC 지원t
- NFC 소켓
- NFC 넷링크 API
- NFC 초기화
- 드라이버 API
사용자 공간 아키텍처t
안드로이드 NFCt
알림 연쇄t
PCI 서브시스템t
웨이크 온 랜(WOL; Wake-On-LAN)t
티밍 네트워크 장치t
PPPoE 프로토콜t
PPPoE 헤더t
PPPoE 초기화t
- PPPoX 소켓
PPPoE를 이용한 패킷 송수신t
안드로이드t
안드로이드 네트워킹t
안드로이드 내부: 참고 자료t
정리t
빠른 참조t
- 함수
- 매크로

▣ 부록A: 리눅스 APIt
sk_buff 구조체t
skb_shared_info 구조체t
net_device 구조체t
RDMA(원격 DMA)t
RDMA 장치t
- 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)t
- ib_alloc_pd() 함수
- ib_dealloc_pd() 함수
확장된 신뢰성 있는 연결(XRC)t
- ib_alloc_xrcd() 함수
- ib_dealloc_xrcd_cq() 함수
공유 수신 큐(SRQ)t
- ib_create_srq() 함수
- ib_modify_srq() 함수
- ib_query_srq() 함수
- ib_destroy_srq() 함수
- ib_post_srq_recv() 함수
주소 처리(AH)t
- ib_create_ah() 함수
- ib_init_ah_from_wc() 함수
- ib_create_ah_from_wc() 함수
- ib_modify_ah() 함수
- ib_query_ah() 함수
- ib_destroy_ah() 함수
멀티캐스트 그룹t
- ib_attach_mcast() 함수
- ib_detach_mcast() 함수
완료 큐(CQ; Completion Queue)t
- 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)t
- ib_create_qp() 함수
- ib_modify_qp() 함수
- ib_query_qp() 함수
- ib_open_qp() 함수
- ib_close_qp() 함수
- ib_post_recv() 함수
- ib_post_send() 함수
메모리 윈도우(MW)t
- ib_alloc_mw() 함수
- ib_bind_mw() 함수
- ib_dealloc_mw() 함수
메모리 영역(MR)t
- 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: 네트워크 관리t
arpt
arpingt
arptablest
arpwatcht
ApacheBench (ab)t
brctlt
conntrack-toolst
crtoolst
ebtablest
ether-waket
ethtoolt
깃(git)t
hciconfigt
hcidumpt
hcitoolt
ifconfigt
ifenslavet
iperft
iperf 사용t
iproute2t
iptables와 iptables6t
ipvsadmt
iwt
iwconfigt
libreswan 프로젝트t
l2pingt
lowpan-toolst
lshwt
lscput
lspcit
mroutedt
nct
ngrept
netperft
netsniff-ngt
netstatt
nmap(네트워크 변환기)t
openswant
OpenVPNt
packetht
pingt
pimdt
poptopt
pppt
pktgent
radvdt
routet
RP-PPPoEt
sart
smcroutet
snortt
suricatat
strongSwant
sysctlt
tasksett
tcpdumpt
topt
tracepatht
traceroutet
tsharkt
tunctlt
udevadmt
unsharet
vconfigt
wpa_supplicantt
wiresharkt
XORPt

▣ 부록C: 용어해설
상품 정보 고시
도서명 상품페이지 참고
저자 상품페이지 참고
출판사 상품페이지 참고
크기 상품페이지 참고
쪽수 상품페이지 참고
제품구성 상품페이지 참고
출간일 상품페이지 참고
목차 또는 책소개 상품페이지 참고
배송공지

사용후기

회원리뷰 총 0개

사용후기가 없습니다.

상품문의

등록된 상품문의

상품문의 총 0개

상품문의가 없습니다.

교환/반품

[반품/교환방법]
마이페이지> 주문배송조회 > 반품/교환신청 또는 고객센터 (070-4680-5689)로 문의 바랍니다.

[반품주소]
- 도로명 : (10882) 경기도 파주시 산남로 62-20 (산남동)
- 지번 : (10882) 경기도 파주시 산남동 305-21

[반품/교환가능 기간]
변심반품의 경우 수령 후 14일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

[반품/교환비용]
단순 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담

[반품/교환 불가 사유]
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
(단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
- 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
* (1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시
‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)

[상품 품절]
공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.

[소비자 피해보상, 환불지연에 따른 배상]
- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됩니다.
- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함.

회원로그인

오늘 본 상품

  • 리눅스 커널 네트워킹
    리눅스 커널 네트워
    37,800