Linux Kernel Networking : implementation and theory /
Linux Kernel Networking takes you on a guided in-depth tour of the current Linux networking implementation and the theory behind it. Linux kernel networking is a complex topic, so the book won't burden you with topics not directly related to networking. This book will also not overload you with...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
[New York, N.Y.] :
Apress,
©2014.
|
Colección: | Expert's voice in open source.
|
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- At a Glance; Chapter 1: Introduction; The Linux Network Stack; The Network Device; New API (NAPI) in Network Devices; Receiving and Transmitting Packets; The Socket Buffer; The Linux Kernel Networking Development Model; Summary; Chapter 2: Netlink Sockets; The Netlink Family; Netlink Sockets Libraries; The sockaddr_nl Structure; Userspace Packages for Controlling TCP/IP Networking; Kernel Netlink Sockets; The Netlink Message Header; NETLINK_ROUTE Messages; Adding and Deleting a Routing Entry in a Routing Table; Generic Netlink Protocol; Creating and Sending Generic Netlink Messages.
- Socket Monitoring InterfaceSummary; Quick Reference; Chapter 3: Internet Control Message Protocol (ICMP); ICMPv4; ICMPv4 Initialization; ICMPv4 Header; Receiving ICMPv4 Messages; Sending ICMPv4 Messages: "Destination Unreachable"; Code 2: ICMP_PROT_UNREACH (Protocol Unreachable); Code 3: ICMP_PORT_UNREACH ("Port Unreachable"); Code 4: ICMP_FRAG_NEEDED; Code 5: ICMP_SR_FAILED; ICMPv6; ICMPv6 Initialization; ICMPv6 Header; Receiving ICMPv6 Messages; Sending ICMPv6 Messages; Example: Sending "Hop Limit Time Exceeded" ICMPv6 Messages.
- Example: Sending "Fragment Reassembly Time Exceeded" ICMPv6 MessagesExample: Sending "Destination Unreachable"/"Port Unreachable" ICMPv6 Messages; Example: Sending "Fragmentation Needed" ICMPv6 Messages; Example: Sending "Parameter Problem" ICMPv6 Messages; ICMP Sockets ("Ping sockets"); Summary; Quick Reference; Methods; int icmp_rcv(struct sk_buff *skb); ; extern void icmp_send(struct sk_buff *skb_in, int type, int code, __be32 info); ; struct icmp6hdr *icmp6_hdr(const struct sk_buff *skb); ; void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info).
- Void icmpv6_param_prob(struct sk_buff *skb, u8 code, int pos); Tables; procfs entries; 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; Creating "Destination Unreachable" Messages with iptables; Chapter 4: IPv4; IPv4 Header; IPv4 Initialization; Receiving IPv4 Packets; Receiving IPv4 Multicast Packets; IP Options; Timestamp Option; Record Route Option; IP Options and Fragmentation; Building IP Options; Sending IPv4 Packets; Fragmentation; Fast Path.
- Slow PathDefragmentation; Forwarding; Summary; Quick Reference; Methods; int ip_queue_xmit(struct sk_buff *skb, struct flowi *fl); ; int ip_append_data(struct sock *sk, struct flowi4 *fl4, int getfrag(void *from, char *to, int offset, int len, int odd, str ... ; struct sk_buff *ip_make_skb(struct sock *sk, struct flowi4 *fl4, int getfrag(void *from, char *to, int offset, int len, int ... ; int ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb); ; static int icmp_glue_bits(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb).