顶部
收藏

网络协议分析与实现


作者:
胡维华
定价:
42.00元
ISBN:
978-7-04-034736-4
版面字数:
0.000千字
开本:
16开
全书页数:
暂无
装帧形式:
平装
重点项目:
暂无
出版时间:
2012-06-25
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
网络工程专业课程

本书是高等学校网络工程专业系列教材之一,是浙江省重点教材建设项目。本书采用自底向上的方法来分析TCP/IP协议栈的核心源代码,主要内容包括TCP/IP概述、底层技术、ARP、IP、ICMP、IGMP、RIP、UDP、TCP、网络应用编程接口等,最后通过网络应用编程实例来介绍典型网络应用程序的设计思想和开发步骤,加深学生对网络理论的理解,提高学生基于网络内核的网络编程与软件开发能力。

本书既可作为高等学校网络工程、计算机科学与技术、软件工程、通信工程等电气信息类专业相关课程教材,也可作为网络工程从业人员学习相关技术的高级教程。

  • 前辅文
  • 第1章 TCP/IP概述
    • 1.1 网络互联与TCP/IP
      • 1.1.1 计算机网络
      • 1.1.2 网络互联
      • 1.1.3 TCP/IP协议栈
    • 1.2 网络协议的分层
      • 1.2.1 分层的网络体系结构
      • 1.2.2 TCP/IP模型
      • 1.2.3 多路复用和分解
      • 1.2.4 TCP/IP编址
    • 1.3 TCP/IP协议栈及其分析
      • 1.3.1 TCP/IP协议栈
      • 1.3.2 协议栈的处理流程
      • 1.3.3 设备驱动程序和输入输出程序
      • 1.3.4 网络接口层处理程序
      • 1.3.5 IP层处理程序
      • 1.3.6 传输层处理程序
      • 1.3.7 应用编程接口
    • 1.4 本书的代码组织
      • 1.4.1 研究代码的重要性
      • 1.4.2 XINU的TCP/IP协议栈源代码
      • 1.4.3 应用层示例源代码
    • 习题
  • 第2章 底层技术
    • 2.1 HDLC协议
      • 2.1.1 HDLC协议介绍
      • 2.1.2 帧格式
      • 2.1.3 帧类型和HDLC操作
      • 2.1.4 HDLC协议的应用
    • 2.2 PPP
      • 2.2.1 SLIP与PPP
      • 2.2.2 PPP组件
      • 2.2.3 PPP的帧格式
      • 2.2.4 PPP工作流程
      • 2.2.5 PPP应用
    • 2.3 以太网及IEEE 802.3
      • 2.3.1 以太网技术
      • 2.3.2 CSMA/CD
      • 2.3.3 帧格式
    • 2.4 无线局域网及IEEE 802.11
      • 2.4.1 无线局域网简介
      • 2.4.2 CSMA/CA
      • 2.4.3 IEEE 802.11帧格式
    • 2.5 网卡驱动和网络接口层的实现
      • 2.5.1 以太网接口数据结构
      • 2.5.2 以太网网卡驱动程序
      • 2.5.3 网络接口层数据结构
      • 2.5.4 网络接口层处理流程
      • 2.5.5 网络接口层的多路分解
      • 2.5.6 网络初始化
    • 习题
  • 第3章 ARP
    • 3.1 ARP的基本原理
    • 3.2 ARP报文格式和封装
      • 3.2.1 ARP报文格式
      • 3.2.2 ARP报文结构的实现
    • 3.3 ARP软件整体结构
    • 3.4 ARP输入处理
    • 3.5 发送ARP请求报文
    • 3.6 ARP缓冲区的管理
      • 3.6.1 ARP缓冲区结构的实现
      • 3.6.2 ARP缓冲区维护函数
    • 3.7 ARP攻击
    • 习题
  • 第4章 IP
    • 4.1 IP的基本原理
    • 4.2 IP数据报格式
      • 4.2.1 IP数据报格式
      • 4.2.2 IP数据报结构的实现
    • 4.3 IP软件整体结构
    • 4.4 IP输入处理
      • 4.4.1 IP进程的实现
      • 4.4.2 IP定向广播
    • 4.5 IP输出处理
      • 4.5.1 IP输出处理
      • 4.5.2 将IP数据报交付上层协议
    • 4.6 IP数据报的分片与重组
      • 4.6.1 分片结构的实现
      • 4.6.2 IP数据报分片
      • 4.6.3 IP数据报重组
    • 4.7 IP选路
      • 4.7.1 路由表基本结构
      • 4.7.2 路由选择
      • 4.7.3 路由重定向的实现
    • 4.8 IPv6
    • 习题
  • 第5章 ICMP
    • 5.1 ICMP的基本原理
    • 5.2 ICMP报文格式
      • 5.2.1 ICMP报文格式
      • 5.2.2 ICMP报文结构的实现
    • 5.3 ICMP软件整体结构
    • 5.4 ICMP输入处理
      • 5.4.1 ICMP输入处理函数
      • 5.4.2 ICMP重定向报文的处理
    • 5.5 发送ICMP报文
    • 5.6 PING程序的实现
    • 5.7 ICMPv6
    • 习题
  • 第6章 IGMP
    • 6.1 IGMP的基本原理
    • 6.2 IGMP报文格式
      • 6.2.1 IGMP报文格式
      • 6.2.2 IGMP报文结构的实现
    • 6.3 IGMP软件整体结构
    • 6.4 主机端的IGMP输入处理
    • 6.5 IGMP事件处理进程
    • 6.6 主机群表的建立与维护
    • 6.7 路由器端IGMP实现概述
    • 习题
  • 第7章 RIP
    • 7.1 RIP的基本原理
    • 7.2 RIP报文格式
      • 7.2.1 RIP报文格式
      • 7.2.2 RIP报文结构的实现
    • 7.3 RIP软件整体结构
    • 7.4 RIP输入处理
      • 7.4.1 RIP输入进程的实现
      • 7.4.2 RIP通告报文的处理
      • 7.4.3 RIP请求报文的处理
    • 7.5 RIP报文输出进程
      • 7.5.1 RIP接口输出控制结构
      • 7.5.2 RIP输出进程的实现
      • 7.5.3 发送一个RIP通告报文
      • 7.5.4 构造RIP通告报文
      • 7.5.5 为RIP通告报文计算路由度量值
    • 7.6 路由表的更新与维护
      • 7.6.1 路由表项的添加
      • 7.6.2 路由表项的定时维护
    • 7.7 OSPF
    • 习题
  • 第8章 UDP
    • 8.1 UDP的基本原理
    • 8.2 UDP数据报格式
      • 8.2.1 UDP数据报格式
      • 8.2.2 UDP数据报结构的实现
    • 8.3 UDP软件整体结构
    • 8.4 UDP输入处理
    • 8.5 UDP输出处理
    • 8.6 Traceroute程序的实现
    • 习题
  • 第9章 TCP
    • 9.1 TCP的基本原理
    • 9.2 TCP报文段格式
      • 9.2.1 TCP报文段格式
      • 9.2.2 TCP报文段结构的实现
    • 9.3 TCP软件整体结构
    • 9.4 TCP控制块结构
    • 9.5 TCP状态机的实现
    • 9.6 TCP输入进程及输入状态机
      • 9.6.1 TCP输入进程的实现
      • 9.6.2 TCP输入状态机
      • 9.6.3 TCP对输入数据的处理
      • 9.6.4 输入ACK报文段的处理
    • 9.7 TCP输出进程及输出状态机
      • 9.7.1 TCP输出进程
      • 9.7.2 TCP输出状态机的实现
      • 9.7.3 发送TCP报文段
    • 9.8 流量控制和拥塞控制
      • 9.8.1 设定发送方窗口通告值
      • 9.8.2 设定接收方窗口通告值
      • 9.8.3 估算往返时延并设定重传时间和拥塞窗口
    • 9.9 TCP定时器管理
      • 9.9.1 TCP定时结构
      • 9.9.2 TCP定时进程的实现
    • 习题
  • 第10章 网络应用编程接口
    • 10.1 网络应用程序
    • 10.2 网络应用模式
    • 10.3 网络编程接口
      • 10.3.1 Socket编程基本概念
      • 10.3.2 Socket地址结构
      • 10.3.3 Socket接口函数
      • 10.3.4 Socket编程模型
    • 10.4 多线程编程
      • 10.4.1 线程创建
      • 10.4.2 线程属性
      • 10.4.3 线程同步
      • 10.4.4 线程取消
      • 10.4.5 线程终止
    • 10.5 I/O编程
      • 10.5.1 I/O模型
      • 10.5.2 高级I/O函数
      • 10.5.3 非阻塞I/O
      • 10.5.4 I/O复用
    • 习题
  • 第11章 网络应用编程实例
    • 11.1 UDP套接字的简单应用——TIME的实现
      • 11.1.1 TIME简介
      • 11.1.2 TIME客户端程序
      • 11.1.3 connectUDP()函数
      • 11.1.4 connectsock()函数
      • 11.1.5 TIME服务器端程序
      • 11.1.6 passivesock()函数
    • 11.2 TCP套接字的简单应用——DAYTIME的实现
      • 11.2.1 DAYTIME简介
      • 11.2.2 DAYTIME客户端程序
      • 11.2.3 DAYTIME服务器端程序
    • 11.3 利用多路I/O和多线程编程——ECHO的实现
      • 11.3.1 ECHO简介
      • 11.3.2 ECHO客户端程序
      • 11.3.3 ECHO服务器端程序
      • 11.3.4 tcp_listen()函数
    • 11.4 网络客户端实例(1)——TELNET客户端的实现
      • 11.4.1 TELNET简介
      • 11.4.2 TELNET协议数据结构
      • 11.4.3 TELNET客户端程序
      • 11.4.4 telnet()函数
      • 11.4.5 connectTCP()函数
      • 11.4.6 ttwrite()函数
      • 11.4.7 sowrite()函数
    • 11.5 网络客户端实例(2)——TFTP客户端的实现
      • 11.5.1 TFTP简介
      • 11.5.2 TFTP报文首部数据结构
      • 11.5.3 TFTP客户端程序
      • 11.5.4 command()函数
      • 11.5.5 recvfile()函数
      • 11.5.6 sendfile()函数
      • 11.5.7 makerequest()函数
      • 11.5.8 nak()函数
    • 11.6 原始套接字的应用——PING的实现
      • 11.6.1 PING简介
      • 11.6.2 PING程序主函数的处理流程
      • 11.6.3 catcher()函数
      • 11.6.4 pinger()函数
      • 11.6.5 pr_pack()函数
      • 11.6.6 in_cksum()函数
      • 11.6.7 pr_icmph()函数
      • 11.6.8 pr_iph()函数
      • 11.6.9 pr_addr()函数
      • 11.6.10 pr_retip()函数
      • 11.6.11 finish()函数
      • 11.6.12 其他函数
    • 习题
  • 附录A 图表索引
  • 附录B 相关函数和宏参考表
  • 附录C 实验环境搭建方法
  • 参考文献

相关图书