TCP/IP架構、設計及應用

所属分类:網絡與通信  
出版时间:2010-8   出版时间:塞斯(Sameer Seth)、文卡特甦魯(M.Ajaykumar Venkatesulu)、黃清元、 于杰 清華大學出版社 (2010-08出版)   作者:(印度) 塞斯 (印度) 文卡特甦魯 著   页数:736  

前言

我們非常願意向大家推薦由Sameer Seth和M.Ajaykumar Venkatesulu編寫的《TCPIP架構、設計及應用(Linux版)》一書。 Sameer Seth以前是Sun Microsystems的高級工程師,主要從事Solaris TCPIP協議棧、套接字、流、NFS、相關內核框架方面的研究與開發工作,擁有十幾年Linux研究和商業開發的經驗。他在嵌入式Linux TCPIP協議棧和X86體系結構方面有著很深的造詣。此外,他曾從事Motorola MPC8260處理器上各種通信協議的開發工作。可以說,Sameer Seth對LinuxTCPIP協議棧有著非常深入的理解。 本書采用大量的源碼和圖例來闡述Linux TCPIP協議棧,盡管市面上有很多介紹TCPIP協議棧的書籍,但是這些書籍過于側重參照TCPflP協議相關的RFC來進行闡述,或者注重于一些TCPIP相關的算法,而從報文的處理過程以及實現源碼來深入淺出地介紹Linux TCPIP協議棧的書籍則很少。可以說,本書是當前市面上唯一使用源碼來介紹LinuxTCPIP概念和實現的文獻。本書試圖介紹TCPIP協議棧和內核支撐框架的各個方面,其思想是盡可能地弱化其復雜性,以便于理解的方式呈現給讀者。本書首先介紹了支撐該協議棧的內核框架。在Linux中,這些支撐框架有VFS層、套接字框架、協議層、定時器、內存管理、中斷處理、軟中斷、內核線程、內核同步機制等,這是內核實現協議棧所需的。本書采用一種簡潔、漸進的方式討論了TCPIP協議棧的各個方面,從簡單的客戶端-服務器程序開始,直到深入介紹TCPIP協議棧中一些比較復雜的處理過程。每個章節都配有大量的源碼和圖示,以幫助讀者更好地理解這些內容。對于沒有太多時間來閱讀書籍又期望對LinuxTCPIP協議棧有深入了解的讀者來說,這是一本很好的參考用書。 全書由黃清元博士和于杰博士翻譯完成,最後由李化統稿。由于譯者水平所限,翻譯不妥或者錯誤之處在所難免,敬請廣大讀者批評指正。

内容概要

  随着开源软件逐渐成为商业系统和研究项目可信任的组成部分,TCP/IP与Linux操作系统的结合也越来越常见。TCP/IP的盛行使计算机之间的通信越来越容易,虽然这些计算机使用不同的操作系统,如Windows、Mac OS、Linux、Unix等。由于Linux的开源性和易修改性,因此在构建应用程序时,它已经成为开发人员常选的操作系统,开发人员可以定制操作系统,以满足应用程序的需求。  《TCP/IP架构、设计及应用(Linux版)》采用一种简洁、渐进的方式介绍了Linux中TCP/IP的设计和实现——从简单的客户端一服务器应用程序到比较复杂的执行过程,还提供了大量源码和图示来阐述相关的实现,以帮助读者更好地理解《国外计算机科学经典教材:TCP/IP架构、设计及应用》的内容。  《TCP/IP架构、设计及应用(Linux版)》适合于嵌入式网络产品开发人员、网络安全产品开发人员、研究人员、IT网络架构师以及研究生。

作者简介

作者︰(印度)塞斯(Sameer Seth) (印度)文卡特甦魯(M.Ajaykumar Venkatesulu) 譯者︰黃清元 于杰Sameer Seth是Juniper Networks公司JUNOS內核工作組的高級工程師。他曾經是Sun Microsystems的高級工程師,主要從事Sotaris的TCP0P協議棧、套接字、流、NFS以及相關的內核框架方面的工作。他擁有十幾年Linux的研發經驗,也曾從事嵌入式TCPIP Linux.協議棧和X86體系結構方面的工作。此外;他還曾從事Motorola MPC8260處理器上各種通信協議的工作。並發布相關的技術討論。他還參與網絡和Unix相關技術的寫作和討論。M. Ajaykumar Venkatesulu當前從事網絡服務和命名服務方面的工作。他擁有了年Linux網絡和內核方面的研發經驗,主要研究Linux內核、嵌入式系統、IP路由以及IP服務質量等內容。

书籍目录

第1章引言 1.1 tcp/ip协议栈概述 1.2 linux 2.4.20的源码组织结构 1.3tcp/ip协议栈和内核控制路径 1.4版本2.4之后linux内核的可抢占性 1.5 linux进程和线程 1.6内核同步机制 1.7tcp/ip应用编程接口 1.8shutdown 1.9i/o 1.10 tcp状态 1.11本章总结 第2章协议基础 2.1tcp 2.2 tcp选项(rfcl323) 2.3tcp数据流 2.4延时确认 2.5 nagle算法(rfc 896) 2.6tcp滑动窗口协议 2.7最大化tcp吞吐量 .2.8tcp定时器 2.9tcp拥塞控制 2.10tcp性能和可靠性 2.11ip(internet协议) 2.12路由 2.13netstat 2.14traceroute 2.15icmp 2.16ping 2.17arp/rarp 2.18本章总结 第3章套接宇的内核实现 3.1套接字层 3.2vfs和套接字 3.3协议套接字注册 3.4结构inet protosw 3.5内核中的套接字组织结构 3.6socket 3.7inet create(见源码3-4) 3.8套接字调用流程图 3.9本章总结 第4章tcp连接设置的内核实现 4.1连接设置 4.2bind 4.3listen 4.4内核对连接请求的处理 4.5accept 4.6客户端设置 4.7本章总结 第5章 sk-buff和协议头 5.1结构sk bu迁, 5.2结构skb shared info(见图5-3) 5.3sk buff和dma-skbfrag_struct 5.4 sk buff的例程操作 5.5构建向下遍历协议层时的协议头 5.6解析向上遍历协议层时的协议头 5.7本章总结 第6章sk-buff在不同协议层的处理 6.1tcp/ip协议栈向下的报文处理 6.2准备传输的报文 6.3报文向下处理的内核流 6.4协议栈向上的报文处理过程 6.5沿协议栈向上的报文内核流程 6.6本章总结 第7章tcp发送 7.1 tcp分段单元 7.2分散-聚集支持的分段处理 7.3发送oob数据 7.4tcp分段单元和发送处理流程 7.5分段和发送机制的函数调用流 7.6本章总结 第8章tcp接收 8.1排队机制 8.2接收队列中tcp数据的处理 8.3tcp紧急数据处理 8.4通过tcp套接字接收数据的数据流图 8.5本章总结 第9章tcp内存管理 9.1发送端tcp内存管理 9.2接收端tcp内存管理 9.3接收缓冲区内存释放 9.4tcp内存管理中的系统级控制参数 9.5本章总结 第10章tgp定时器 10.1linux中的定时器 10.2 tcp重传定时器 10.3零窗口探测定时器 10.4延时确认定时器 10.5 keepalive定时器 10.6syn-ack定时器 10.7time wait定时器 10.8本章总结 第11章tcp核心处理 11.1传入tcp数据段处理 11.2快速路径处理 11.3慢速路径处理 11.4传入ack的处理 11.5处理sack块 11.6重定序长度 11.7处理tcp紧急指针 11.8在慢速路径中处理数据段 11.9tcp核心处理 11.10本章总结 第12章tcp状态处理 12.1拥塞状态处理概述 12.2tcp状态 12.3在恢复状态中处理重复/部分确认 12.4在丢失状态中处理重复/部分确认 12.5tcp状态的默认处理 12.6当确认超过tp→high→seq时tcp非正常状态的处理 12.7本章总结 第13章netlink套接宇 13.1 netlink套接字介绍 13.2启动时netlink套接字的注册和初始化 13.3内核netlink套接字的创建 13.4用户netlink套接字的创建 13.5netlink数据结构 13.5.1nl-table 13.5.2rtnetlink_link 13.6其他重要的数据结构 13.6.1 nlmsghdr结构 13.7netlink报文格式 13.8 netlink套接字例子——添加qdisc的比命令 13.9内核空间中的tc命令流程图 13.10本章总结 第14章ip路由 第15章linux中的ip服务质量(ip qos) 第16章ip filter防火墙 第17章网络软中断 第18章报文的传输和接收 第19章ikcd和tcp/ip协议栈的调试 第20章展望

章节摘录

插圖︰利用Linux實現網絡互聯是開發人員最常使用的一種選擇。Linux不僅在服務器市場佔有一定的地位,而且在小型嵌入式網絡操作系統市場中,Linux也是最常用的一種選擇。所有這些都需要人們對TCPIP代碼有很好的理解。有些產品需要實現防火牆;有些產品需要實現IPSec;有些產品需要修改TCP連接代碼,以實現集群運算環境中的負載均衡;有些產品則需要提高SMP機器的可擴展性。這些產品中大部分都是嵌入式系統,而互聯是嵌入式系統必然要考慮的因素。實時嵌入式產品對互聯有著非常獨特的需求,這類產品需要考慮緩沖區管理的要求,或者性能的要求。所有這些都需要人們對協議棧實現以及相關支持框架有完整的了解。如前所述,由于內存的限制,有些嵌入式互聯產品只能編譯很小一部分代碼,這就要求人們對Linux源碼組織結構有很好的理解,從而能夠輕易地找出其中的相關代碼。幾乎所有網絡應用采用的都是非常基本的客戶端一服務器技術。服務器在某保留端口監听連接請求,客戶端則將連接請求發送到服務器,而導致該基本技術比較復雜的原因是人們對安全或者負載均衡的考慮,這些因素提高了客戶端服務器技術的復雜度。但是,該技術自身的基本實現非常簡單,只需要實現客戶端和服務器之間的簡單對話即可。例如,telnet和ftp服務都通過inet程序進行訪問,隱藏了服務的全部細節。不過在調整TCPIP連接時,有很多可供調整的參數,從而使開發人員能夠在不進行系統範圍調整的情況下,最好地實現對連接的微調。

编辑推荐

《TCP/IP架構、設計及應用(Linux版)》特點︰介紹了基本的套接字概念和實現使用源碼和圖示實現復雜數據結構的可視化理解tcp定時器和內存管理闡述tcp核心處理過程並實現擁塞控制算法ip轉發和服務質量實現調試tcpip協議棧

图书封面




    TCP/IP架構、設計及應用下載



用户评论 (总计2条)

 
 

  •     內容還行,沒想到隨便翻翻的時候居然有缺頁。。。。。
  •     還適合吧, 內容比較舊了
 

計算機與互聯網 PDF免费下载,網絡與通信PDF免费下载。 计算机教程网 

计算机教程网 @ 2018