TCP/IP详解

1.网际互联及OSI七层模型:

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

==========================================

物理层

作用:定义一些电器,机械,过程和规范,如集线器;

PDU(协议数据单元):bit/比特

设备:集线器HUB;

注意:没有寻址的概念;

==========================================

数据链路层

作用:定义如何格式化数据,支持错误检测;

典型协议:以太网,帧中继(古董级VPN)

PDU:frame(帧)设备:以太网交换机;

备注:交换机通过MAC地址转发数据,逻辑链路控制;

===========================================

网络层

作用:定义一个逻辑的寻址,选择最佳路径传输,路由数据包;

典型协议:IP,IPX,ICMP,ARP(IP->MAC),IARP;

PDU:packet/数据包;

设备:路由器

备注:实现寻址

============================================

传输层:

作用:提供可靠和尽力而为的传输;

典型协议:TCP,UDP,SPX,port(65535个端口),EIGRP,OSPF,

PDU:fragment 段;

无典型设备;

备注:负责网络传输和会话建立;

=============================================

会话层:

作用:控制会话,建立管理终止应用程序会话;

典型协议:NFS, SQL, ASP, PHP, JSP, RSVP(资源源预留协议), windows, 

备注:负责会话建立;

==============================================

表示层:

作用:格式化数据;

典型协议:ASCII, JPEG. PNG, MP3. WAV, AVI, 

备注:可以提供加密服务;

===============================================

应用层:

作用:控制应用程序;

典型协议:telnet, ssh, http, ftp, smtp, rip, BGP, (未完待续)

备注:为应用程序提供网络服务;

当和别人通信时才有PDU

 

 

2.TCP/IP模型

我们一般知道OSI的网络参考模型是分为7层:“应表会传网数物”——应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。而实际的Linux网络层协议是参照了OSI标准,但是它实现为4层:应用层,传输层,网络层,网络接口层。OSI的多层对应到了实际实现中的一层。我们最为关注的是传输层和网络层。一般而言网络层也就是IP层,负责IP路由寻址等等细节,而传输层TCP/UDP负责数据的可靠/快速的传输功能。

网络的实际运行过程就是发送方,从高层向底层,根据协议对数据进行一层一层的封包,每一层加上该层协议的header;而接收方,从底层向高层,不断的解封数据包,每一层去掉该层的协议的header,然后最高层的应用层得到应用层数据:

每一层添加的 Header(TCP/UDP Header, IP Header, Data Link Header) 都是为了实现该层协议服务而必须存在的协议相关数据。

2. Socket Buffer

发生方发送数据,接收方接受数据,那么双方必须存在一个保存数据的buffer,称为Socket Buffer,TCP/IP的实现都是放在kernel中的,所以Socket Buffer也是在kernel中的。Socket Buffer的大小配置对网络的性能有很大的影响,相关参数如下:

1)/proc/sys/net/ipv4/tcp_mem: 这是一个系统全局参数,表示所有TCP的buffer配置。有三个值,单位为内存页(通常为4K),第一个值buffer值的下限,第二个值表示内存压力模式开始对buffer应于压力的上限;第三个值内存使用的上限,超过时,可能会丢弃报文。

2)/proc/sys/net/ipv4/tcp_rmen: r 表示receive,也有三个值,第一个值为TCP接收buffer的最少字节数;第二个是默认值(该值会被rmem_default覆盖);第三个值TCP接收buffer的最大字节数(该值会被rmem_max覆盖);

3)/proc/sys/net/ipv4/tcp_wmem: w表示write,也就是send。也有三个值,第一个值为TCP发送buffer的最少字节数;第二个是默认值(该值会被wmem_default覆盖);第三个值TCP发送buffer的最大字节数(该值会被wmem_max覆盖);

4)/proc/sys/net/core/wmem_default: TCP数据发送窗口默认字节数;

5)/proc/sys/net/core/wmem_max: TCP数据发送窗口最大字节数;

6)/proc/sys/net/core/rmem_default: TCP数据接收窗口默认字节数;

7)/proc/sys/net/core/rmem_max: TCP数据接收窗口最大字节数;

注意:除了tcp_mem单位为内存页之外,其它几个单位都是字节;而且tcp_mem是全局配置,其它几个都是针对每一个TCP连接的配置参数。
 

3.TCP/IP介绍

1.TCP/IP(Transmission Control Protocol/Internet Protocol)是用于因特网(Internet)的通信协议。它供已连接因特网的计算机进行通信的通信协议,并且定义了电子设备(计算机)如何连入因特网以及数据如何在他们之间传输的标准。

2.在TCP/IP内部包含了一系列用于处理数据通信的协议:

  • TCP(传输控制协议)-应用程序之间的通信
  • UDP(用户数据报协议)-应用程序之间的简单通信
  • IP(网际协议)-计算机之间的通信
  • ICMP(因特网消息控制协议)-针对错误和状态
  • DHCP(动态主机配置协议)-针对动态寻址

3.TCP使用固定的连接

当应用程序希望通过TCP与另一个应用程序通信时,他会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方“握手”之后,TCP将在两个应用程序之间建立一个全双工(full-duplex)的通信。这个全双工通信将占用两个计算机之间的通信线路,直到它被一方或双方关闭为止。UDP和TCP相似,但是更简单,同事可靠性低于TCP。

4.IP是无连接的

IP是无连接的通信协议。它不会占用两个正在通信的计算机之间的通信线路。这样,IP就降低了对网络线路的需求。每条线可以同事满足许多不同的计算机之间的通信需要。通过IP,消息(或其它数据)被分割为小的独立的包,并通过因特网在计算机之间传送。IP负责将每个包路由到它的目的地。

5.IP路由器

当一个IP包从一台计算机被发送,它会到达一个IP路由器。IP路由器负责将这个包路由到它的目的地,直接地或通过其它的路由器。在一个相同的通信中,一个包所有得来丼可能会和其它的包不同。而路由器负责根据通信量、网络中的或者其它参数进行正确寻址。

6.TCP/IP

TCP/IP即TCP和IP一起协同工作。TCP负责应用软件和网路软件之间的通信。IP负责计算机之间的通信。

TCP负责将数据分割并装入IP包,然后在它们到达的时候进行重新组合它们。IP负责将包发送至接受者。

7.TCP/IP域名

由于TCP/IP地址难于记忆,域名就出现了。

用于TCP/IP地址的名字称为域名。runoob.com就是一个域名。当你键入一个像http://www.runoob.com这样的域名,域名会被一种DNS程序翻译为数字地址。

在全世界,数量庞大的 DNS 服务器被连入因特网。DNS 服务器负责将域名翻译为 TCP/IP 地址,同时负责使用新的域名信息更新彼此的系统。当一个新的域名连同其 TCP/IP 地址一起注册后,全世界的 DNS 服务器都会对此信息进行更新。

 

TCP/IP协议是Internet最基本的协议。由传输层的TCP协议和网络层的IP协议组成。

TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。

TCP/IP协议族的分层管理

TCP/IP协议族按层次分别分为以下4层:应用层、传输层、网络层和数据链路层。

应用层

应用层决定了向用户提供应该服务时通信的活动。

TCP/IP协议族内预存了各类通用的应用服务。比如,FTP(File Transfer Protocol,文件传输协议)和DNS(Domain Name System,域名系统)服务就是其中的两类。HTTP协议也处于该层。

传输层

传输层对上层应用层,提供处于网络连接中两台计算机之间的数据传输。

在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)。

网络层(又名网络互连层)

网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。

与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的所用就是在众多的选项内选择一条传输路线。

链路层(又名数据链路层,网络接口层)

用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。

简单归纳下各层的协议:

 

 

TCP/IP通信传输

 

 

UDP协议:

详见维基百科:https://zh.wikipedia.org/wiki/用户数据报协议

UDP(User Datagram Protocol)即用户数据报协议,,是一个简单的面向数据报的传输层协议,正式规范为RFC 768。

在TCP/IP模型中,UDP为网络层以上和应用层以下提供了一个简单的接口。UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,不保留数据备份。

 

UDP报文结构:  

优点——快。 缺点——不可靠、不稳定。

UDP:无连接,发送数据之前不需要建立连接(TCP需要)。减少了开销和延时。

UDP:面向报文,对IP数据报只做简单封装(8字节UDP报头)。减少报头开销。

UDP:没有阻塞机制,宁愿阻塞时丢弃数据不传,也不阻塞造成延时。

UDP支持一对一、一对多、多对一、多对多通信。

 

  UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。

  UDP协议包括:TFTP(简单文件传输协议)、SNMP(简单网络管理协议)、DNS(域名解析协议)、NFS、BOOTP。

 

TCP协议:

详见维基百科:https://zh.wikipedia.org/wiki/传输控制协议

TCP(Transmission Control Protocol)传输控制协议,相对于UDP,TCP是面向连接的、提供可靠的数据传输服务。同时也是较UDP开销较大的、传输速度较慢的。

 

区别:

UDP:单个数据报,不用建立连接,简单,不可靠,会丢包,会乱序;

TCP:流式,需要建立连接,复杂,可靠 ,有序。

 

TCP报文结构:

 

TCP是点对点的连接。一条TCP连接只能连接两个端点。

TCP 提供可靠传输,无差错、不丢失、不重复、按顺序。

TCP 提供全双工通信,允许通信双方任何时候都能发送数据,发送方设有发送缓存,接收方设有接收缓存。

TCP 面向字节流 。TCP 并不知道所传输的数据的含义,仅把数据看作一连串的字节序列,它也不保证接收方收到的数据块和发送方发出的数据块具有大小对应关系。

 

TCP的协议:FTP(文件传输协议)、Telnet(远程登录协议)、SMTP(简单邮件传输协议)、POP3(和SMTP相对,用于接收邮件)、HTTP协议等。

TCP提供可靠的、面向连接的数据传输服务。使用TCP通信之前,需要进行“三次握手”建立连接,通信结束后还要使用“四次挥手”断开连接。

 

TCP协议的三次握手和四次挥手:

 

注:seq:(Sequence Number):本报文段数据的第一个字节的序号

ack:(Acknowledgment Number):确认号——期望收到对方下个报文段的第一个数据字节的序号

SYN(synchronize):请求同步标志——用于建立和释放连接,当SYN=1时,表示建立连接。

ACK(acknowledge):确认标志——仅当 ACK=1时确认号字段才有效。建立 TCP 连接后,所有报文段都必须把 ACK 字段置为 1。

FIN(Finally):结束标志——用于释放连接,当 FIN=1,表明发送方已经发送完毕,要求释放TCP连接。

三次握手流程 

1、第一次握手:客户端向服务器端发送连接请求包SYN=1(seq=x),等待服务器回应;

2、第二次握手:服务器端收到请求包后,将客户端的请求包SYN=1(seq=x)放入到自己的未连接队列,此时服务器需要发送两个包给客户端:

  (1)向客户端发送确认自己收到其连接请求的确认包ACK=1(ack=x+1),向客户端表明已知道了其连接请求

  (2)向客户端发送连接询问请求包SYN=1(seq=y),询问客户端是否已经准备好建立连接,进行数据通信;

此时服务器进入SYN_RECV状态。

3、第三次握手:客户端收到服务器的包后,知道服务器同意建立连接;向服务器发送连接建立的确认包ACK=1(ack=y+1),回应服务器的SYN(seq=y)告诉服务器,我们之间已经建立了连接,可以进行数据通信。

ACK=1(ack=y+1)包发送完毕,服务器收到后,此时服务器与客户端进入ESTABLISHED状态,开始进行数据传送。 

 

为什么要三次握手?

握手的过程实际上是在通知对方自己的初始化序号(Initial Sequence Number),简称ISN,也就是上图中的x和y。x和y会被当作之后传输数据的一个依据,以保证TCP报文在传输过程中不会混乱。

解决两个问题:

1、避免连接请求的数据包丢失

假设连接途中,客户端网络不稳定出现丢包,服务端根据seq=x来确定客户端请求到第几个包。然后告诉客户端你从第seq=x个包开始发送给我,之前的不用发送了,我这里有记录了。

 

2、数据传输过程因为网络并发量很大在某结点被阻塞

传输过程因为网络并发量很大在某结点被阻塞了,Server端将先后收到2次请求,并持续等待两个Client请求向他发送数据,但是Cient端实际上只有一次请求,而Server端却有2个响应,极端的情况可能由于Client端多次重新发送请求数据而导致Server端最后建立了N多个响应在等待,因而造成极大的资源浪费!

三次握手的seq与ack确定了包的顺序。客户端每次请求时,询问服务端说这是第一号包,服务端收到后告诉客服端下次你给我的只能是二号包(别的都不要),同时给返回到客户端的包作标记:这是我返回给你的一号包。这样,出现阻塞时,根据包的序号就知道要响应的是几号包。

 

四次挥手流程

  (1)Client向Server发送断开连接请求的报文段,seq=m(m为Client最后一次向Server发送报文段的最后一个字节序号加1),Client进入FIN-WAIT-1状态。

  (2)Server收到断开报文段后,向Client发送确认报文段,seq=n(n为Server最后一次向Client发送报文段的最后一个字节序号加1),ack=m+1,Server进入CLOSE-WAIT状态。此时这个TCP连接处于半开半闭状态,Server发送数据的话,Client仍然可以接收到。

  (3)Server向Client发送断开确认报文段,seq=u(u为半开半闭状态下Server最后一次向Client发送报文段的最后一个字节序号加1),ack=m+1,Server进入LAST-ACK状态。

  (4)Client收到Server的断开确认报文段后,向Server发送确认断开报文,seq=m+1,ack=u+1,Client进入TIME-WAIT状态。

  (5)Server收到Client的确认断开报文,进入CLOSED状态,断开了TCP连接。

  (6)Client在TIME-WAIT状态等待一段时间(时间为2*MSL((Maximum Segment Life)),确认Client向Server发送的最后一次断开确认到达(如果没有到达,Server会重发步骤(3)中的断开确认报文段给Client,告诉Client你的最后一次确认断开没有收到)。如果Client在TIME-WAIT过程中没有再次收到Server的报文段,就进入CLOSES状态。TCP连接至此断开。

 

为什么要四次挥手?

tcp关闭连接需要四次握手原因:TCP连接是全双工通道,需要双向关闭。

client向server发送关闭请求,表示client不再发送数据,server响应。此时server端仍然可以向client发送数据,待server端发送数据结束后,就向client发送关闭请求,然后client确认。

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
本书介绍TCP/IP及其应用。TCP/IP是Internet上使用的协议,而Internet是世界上最大的互联网络。本书内容十分丰富,几乎涵盖了有关TCP/IP的各个方面,包括开放式通信模型、TCP/IP通信模型、IP网络中的命名和寻址机制、地址解析及反向地址解析协议、DNS域字服务器、WINS、地址发现协议、IPv6、IP网络中的路由协议(RIP、OSPF等)、互联网打印协议、LDAP目录服务、远程访问协议、IP安全与防火墙。本书介绍了如何为Windows 9x/NT配置TCP/IP;还介绍了如何使用TCP/IP应用程序,包括远程登录、FTP、Web浏览等。 目 录译者序前言第一部分 TCP/IP基础第1章 开放式通信模型简介 11.1 开放式网络的发展 11.1.1 通信处理层次化 21.1.2 OSI参考模型 31.1.3 模型的使用 51.2 TCP/IP参考模型 71.3 小结 7第2章 TCP/IP和Internet 82.1 一段历史 82.1.1 ARPANET 82.1.2 TCP/IP 92.1.3 国家科学基金会(NSF) 92.1.4 当今的Internet 122.2 RFC和标准化过程 122.2.1 获得RFC 132.2.2 RFC索引 132.2.3 有关RFC的幽默 132.3 Internet服务简介 132.3.1 Whois和Finger 142.3.2 文件传输协议 142.3.3 Telnet 142.3.4 Email 142.3.5 WWW 142.3.6 USENET News 152.4 Intranet和Extranet概览 152.4.1 Intranet 152.4.2 将Intranet对外开放 162.5 Internet的明天 162.5.1 下一代Internet(NGI) 162.5.2 超速骨干网服务 162.5.3 Internet2(I2) 172.6 Internet管理组织 172.6.1 Internet协会 172.6.2 Internet体系结构组 172.6.3 Internet工程任务组 172.6.4 Internet工程指导组 172.6.5 Internet编号管理局 182.6.6 Internet名字和编号分配组织 (ICANN) 182.6.7 Internet网络信息中心和其他注 册组织 182.6.8 RFC编辑 182.6.9 Internet服务提供商 182.7 小结 19第3章 TCP/IP概述 203.1 TCP/IP的优点 203.2 TCP/IP的层和协议 213.2.1 体系结构 213.2.2 传输控制协议 213.2.3 IP协议 233.2.4 应用层 253.2.5 传输层 253.2.6 网络层 253.2.7 链路层 253.3 远程登录(Telnet) 253.4 文件传输协议(FTP) 253.5 普通文件传输协议(TFTP) 263.6 简单邮件传输协议(SMTP) 263.7 网络文件系统(NFS) 263.8 简单网络管理协议(SNMP) 273.9 TCP/IP和系统结合 273.10 内部网概述 283.11 小结 28第二部分 命名和寻址第4章 IP网络中的名字和地址 294.1 IP寻址 294.1.1 二进制和十进制数 304.1.2 IPv4地址格式 304.2 子网的出现 344.2.1 分子网 354.2.2 可变长子网掩码(VLSM) 374.3 无类域前路由(CIDR) 384.3.1 无类地址 384.3.2 强化路由汇聚 394.3.3 超网化 394.3.4 CIDR怎样工作 394.3.5 公共地址空间 404.3.6 RFC 1597和1918 404.4 小结 40第5章 ARP和RARP 415.1 使用地址 415.1.1 子网寻址 415.1.2 IP地址 435.2 使用地址解析协议 445.2.1 ARP cache 455.2.2 代理ARP 475.2.3 反向地址解析协议 475.3 使用ARP命令 475.4 小结 47第6章 DNS:名字服务器 486.1 域名系统概述 486.2 授权局 506.3 DNS分布数据库 506.4 域和区 506.5 Internet顶级域 516.6 选择一个域名服务器 526.7 名字服务解析过程 526.7.1 递归查询 526.7.2 叠代查询 526.8 高速缓存 526.9 反向解析(Pointer)查询 526.10 DNS安全 526.11 资源记录 536.12 小结 54第7章 WINS 557.1 NetBIOS 557.2 NetBIOS名字解析 577.3 动态NetBIOS名字解析 587.3.1 使用WINS的优点 587.3.2 WINS如何工作 597.3.3 配置WINS客户机 607.3.4 为代理配置WINS 607.3.5 配置NT 4.0系统 617.3.6 配置Windows 95或Windows 98 系统 617.4 安装WINS服务器 617.5 WINS管理和维护 627.5.1 加入静态表项 627.5.2 维护WINS数据库 637.5.3 备份WINS数据库 657.5.4 备份WINS注册项 657.5.5 恢复WINS数据库 657.5.6 压缩WINS数据库 667.5.7 WINS复制参与者 667.5.8 WINS实现建议 677.6 集成WINS和DNS名字解析服务 677.7 DHCP服务WINS选项 677.8 通过LMHOSTS进行NetBIOS名字 解析 687.9 小结 69第8章 地址发现协议(BOOTP和DHCP) 718.1 “引导”协议(BOOTP) 718.2 动态主机配置协议(DHCP) 728.2.1 DHCP如何工作 728.2.2 理解租用地址 738.3 管理地址池 748.4 DHCP能处理的其他分配 758.4.1 注意重载 758.4.2 其他分配 758.5 小结 76第三部分 IP和相关协议第9章 IP协议家族 779.1 TCP/IP模型 779.1.1 解剖TCP/IP模型 789.1.2 协议组件 789.2 理解网际协议(IP) 799.2.1 IPv4结构 799.2.2 IP做什么 809.3 理解传输控制协议(TCP) 819.3.1 TCP头结构 819.3.2 TCP做什么 839.4 理解用户数据报协议(UDP) 859.4.1 UDP头结构 859.4.2 UDP能做什么 859.4.3 TCP和UDP 869.5 小结 86第10章 IPv6 8710.1 IPv6数据报 8710.1.1 优先级分类 8810.1.2 流标识 8910.1.3 128位IP地址 8910.1.4 IP扩展头 9010.2 多IP地址主机 9110.3 单播、组播和任一播头 9110.4 从IPv4到IPv6的过渡 9310.5 小结 94第四部分 IP互联第11章 IP网络中的路由 9511.1 路由基本知识 9511.1.1 静态路由 9611.1.2 距离-向量路由 9911.1.3 链路-状态路由 10011.2 IP网络中的收敛 10211.2.1 适应拓扑变化 10211.2.2 收敛时间 10611.3 计算IP网络中的路由 10611.3.1 存储多条路由 10711.3.2 初始化更新 10711.3.3 路由度量标准 10711.4 小结 108第12章 路由信息协议(RIP) 10912.1 理解RFC1058 10912.1.1 RIP报文格式 10912.1.2 RIP路由表 11112.2 操作机制 11212.2.1 计算距离向量 11312.2.2 更新路由表 11612.2.3 寻址问题 11812.3 拓扑变化 12012.3.1 收敛 12012.3.2 计值到无穷 12212.4 RIP的限制 12712.4.1 跳数限制 12812.4.2 固定度量 12812.4.3 对路由表更新反应强烈 12812.4.4 收敛慢 12812.4.5 缺乏负载均衡 12812.5 小结 129第13章 开放式最短路径优先 13013.1 OSPF起源 13013.2 理解RFC 2328 OSPF,版本2 13013.2.1 OSPF区 13113.2.2 路由更新 13413.3 研究OSPF数据结构 13613.3.1 HELLO报文 13713.3.2 数据库描述报文 13713.3.3 链路-状态请求报文 13813.3.4 链路-状态更新报文 13813.3.5 链路-状态应答报文 14013.4 计算路由 14013.4.1 使用自动计算 14013.4.2 使用缺省路由耗费 14113.4.3 最短路径树 14213.5 小结 144第14章 网关协议 14514.1 网关、桥和路由器 14514.1.1 网关 14514.1.2 网桥 14614.1.3 路由器 14614.1.4 自治系统 14614.2 网关协议:基础知识 14614.3 内部网关协议和外部网关协议 14714.3.1 网关-网关协议(GGP) 14714.3.2 外部网关协议(EGP) 14714.3.3 内部网关协议(IGP) 14814.4 小结 148第五部分 网络服务第15章 互联网打印协议 14915.1 IPP历史 14915.2 IPP和端用户 15015.3 使用HP的IPP实现 15115.4 小结 152第16章 LDAP:目录服务 15316.1 为什么使用目录服务 15316.2 目录服务的功能 15316.3 IP上的目录服务 15416.4 OSI X.500目录模型 15616.4.1 早期的X.500 15716.4.2 今天的X.500 15716.5 LDAP结构 15716.5.1 LDAP层次结构 15716.5.2 名字结构 15816.6 目录系统代理和访问协议 15816.7 轻型目录访问协议 15816.7.1 查询信息 15916.7.2 存储信息 16016.7.3 访问权限和安全 16016.8 LDAP服务器-服务器通信 16116.8.1 LDAP数据互换格式(LDIF) 16116.8.2 LDAP复制 16216.9 设计LDAP服务 16216.9.1 定义需求 16216.9.2 设计策略 16316.9.3 性能 16416.9.4 网络功能 16516.9.5 安全 16616.10 LDAP配置 16916.11 产品环境 16916.11.1 创建计划 17016.11.2 有价值的建议 17116.12 选择LDAP软件 17116.13 小结 174第17章 远程访问协议 17517.1 远程互联 17517.1.1 ISDN 17617.1.2 电缆调制解调器 17617.1.3 数字用户环(DSL) 17617.1.4 无线网络 17717.2 远程认证拨入用户服务(RADIUS) 17717.2.1 RADIUS认证 17817.2.2 记账信息 17917.3 用SLIP、CSLIP和PPP传输IP数 据报文 17917.3.1 串行线路接口协议(SLIP) 17917.3.2 压缩的SLIP(CSLIP) 18017.3.3 点到点协议(PPP) 18017.4 隧道远程访问 18417.4.1 点到点隧道协议(PPTP) 18517.4.2 两层隧道协议(L2TP) 18817.4.3 IPSec 19217.5 小结 194第18章 防火墙 19518.1 使网络安全 19518.2 使用防火墙 19618.2.1 代理服务器 19718.2.2 报文过滤器 19818.3 使服务安全 19818.3.1 电子邮件(SMTP) 19818.3.2 HTTP:万维网 19918.3.3 FTP 19918.3.4 Telnet 19918.3.5 Usenet:NNTP 19918.3.6 DNS 20018.4 建造用户自己的防火墙 20018.5 使用商业防火墙软件 20018.6 小结 202第19章 IP安全 20319.1 使用加密 20319.1.1 公共-私钥加密 20419.1.2 对称私钥加密 20519.1.3 DES、IDEA及其他 20519.2 数字签名认证 20619.3 破译加密的数据 20719.4 保护网络 20719.4.1 登录名和口令 20819.4.2 文件的目录允许权限 20819.4.3 信任关系 20919.4.4 UNIX和Linux系统上的UUCP 20919.5 应付最坏情况 21019.6 小结 210第六部分 实现TCP/IP第20章 一般配置问题 21120.1 安装网卡 21120.1.1 网卡 21120.1.2 资源配置 21220.1.3 安装适配器软件 21320.1.4 重定向器和API 21420.1.5 服务 21420.1.6 NIC接口 21520.2 网络和传输层协议 21520.2.1 IP配置要求 21520.2.2 配置缺省网关地址 21620.2.3 配置名字服务器地址 21720.2.4 配置邮件服务器地址 21720.2.5 注册域名 21820.3 IP配置 21820.4 配置路由表 21820.5 异种协议的IP封装 21920.6 小结 220第21章 Windows 98 22121.1 Windows 98网络体系结构 22121.1.1 安装网卡 22221.1.2 更改网卡配置 22421.1.3 当Windows 98引导失败 22421.2 配置Windows 98的TCP/IP 22521.2.1 写在开始之前 22521.2.2 安装TCP/IP 22521.2.3 配置微软的TCP/IP 22521.2.4 DNS配置 22721.2.5 静态配置文件 22821.2.6 注册表配置 22921.2.7 测试TCP/IP 23121.3 小结 232第22章 Windows 98拨号网络 23322.1 配置拨号网络适配器 23322.2 安装拨号网络 23422.3 服务器类型 23522.4 编写脚本 23822.5 多重链接 23822.6 PPTP 23922.6.1 安装及配置PPTP 24022.6.2 建立PPTP连接 24022.7 Windows 98拨号服务器 24122.8 解决拨号网络连接中的问题 24222.8.1 确认DUN配置 24222.8.2 PPP日志 24322.9 小结 243第23章 Windows NT 4.0 24423.1 Windows NT版本 24423.2 体系结构 24423.3 安装Windows NT 4.0 24423.4 配置TCP/IP 24623.4.1 IP地址 24623.4.2 DNS 24823.4.3 WINS地址 24823.4.4 DHCP中继 24923.4.5 路由 25023.5 简单TCP/IP服务 25023.6 远程访问服务(RAS) 25023.7 DHCP服务器 25223.7.1 安装DHCP服务器服务 25223.7.2 控制DHCP服务器服务 25323.7.3 压缩DHCP数据库 25323.7.4 管理DHCP 25423.8 使用Microsoft DNS 25623.8.1 安装DNS 25623.8.2 创建区 25723.8.3 配置逆向域名解功能 25823.8.4 配置DNS与WINS服务器的连 接 25923.8.5 增加辅助名字服务器 25923.9 FTP和HTTP服务 25923.10 TCP/IP打印服务 25923.10.1 安装TCP/IP打印服务 25923.10.2 安装LPR服务 26023.11 Windows 2000新特性 26023.12 小结 261第24章 在Novell NetWare中支持IP 26224.1 Novell与TCP/IP 26224.1.1 IP与NetWare 4 26224.1.2 NetWare 5与Pure IP初始化 26224.2 传统解决方案:NetWare 3.x到 NetWare 4.x的IP支持 26324.2.1 IP隧道 26424.2.2 IP中继 26424.2.3 LAN WorkPlace 26424.2.4 IPX-IP网关 26524.2.5 NetWare/IP 26524.3 NetWare 5—Novell对IP的 完全支持 26624.3.1 纯IP 26624.3.2 多协议 26624.4 安装选项 26624.4.1 NetWare 5的IP-Only安装 26724.4.2 IPX-Only安装 26724.4.3 混合TCP/IP安装 26824.5 IP迁移辅助工具 26824.5.1 NDS 26824.5.2 DNS 26924.5.3 DHCP 26924.5.4 DDNS 26924.5.5 SLP 26924.5.6 兼容模式 26924.5.7 迁移代理 27024.6 迁移策略 27024.6.1 使用测试平台 27024.6.2 迁移建议 27024.7 小结 271第七部分 使用TCP/IP应用第25章 Whois和Finger 27325.1 理解Whois协议 27325.1.1 互联网注册 27325.1.2 Whois数据库 27425.1.3 基于Web的Whois 27525.1.4 命令行方式的Whois 27625.1.5 示例 27625.1.6 基于Telnet的Whois 27825.2 扩充Whois 27925.2.1 提示Whois(RWhois) 27925.2.2 WHOIS++ 28025.3 使用Finger 28025.3.1 Finger命令 28025.3.2 Finger 守护进程 28225.3.3 非UNIX环境下的Finger 28325.3.4 Finger的应用 28325.4 相关RFC文档 28525.5 小结 285第26章 文件传输协议 28626.1 FTP和TFTP在网络世界中的作用 28626.2 使用FTP传输文件 28626.2.1 FTP连接 28726.2.2 使用FTP客户端建立连接 28826.2.3 FTP安全 29626.2.4 FTP服务器及守护进程 29926.2.5 匿名FTP访问 29926.3 使用TFTP 30026.3.1 FTP与TFTP的区别 30126.3.2 TFTP命令 30126.4 小结 301第27章 使用Telnet 30227.1 理解Telnet协议 30227.2 Telnet守护进程 30327.3 使用Telnet 30427.3.1 UNIX telnet命令 30427.3.2 Telnet GUI应用 30527.3.3 Telnet命令 30527.3.4 示例 30827.4 高级主题 30927.4.1 安全 30927.4.2 Telnet应用 30927.4.3 使用Telnet访问其他TCP/IP 服务 31027.5 相关RFC文档 31227.6 小结 313第28章 使用r系列实用工具 31428.1 理解r系列命令 31428.1.1 安全问题 31428.1.2 禁止使用r系列命令 31528.1.3 增强r系列命令的安全性 31628.2 使用r系列命令的替代方法 31728.3 r系列命令详解 31728.3.2 相关文件 32028.4 在非UNIX环境下实现r系 列命令的功能 32128.5 小结 322第29章 使用网络文件系统(NFS) 32329.1 什么是NFS 32329.1.1 NFS的历史 32329.1.2 为何使用NFS 32329.2 实现—NFS工作过程 32429.2.1 远程过程调用(RPC) 和外部数据表示(XDR) 32429.2.2 加载类型 32429.3 NFS使用的文件及命令 32529.3.1 NFS守护进程 32529.3.2 与NFS相关的文件 32729.3.3 NFS服务器命令 32929.3.4 NFS客户命令 33129.4 示例:共享及加载NFS文件系统 33329.5 NFS常见问题及解决方案 33429.5.1 不能加载 33429.5.2 不能卸载 33429.5.3 硬加载与软加载 33429.6 相关协议及产品 33429.6.1 WebNFS 33529.6.2 基于PC的NFS及其他客户端 软件 33529.6.3 SMB和CIFS 33529.6.4 其他产品 33629.7 小结 336第八部分 使用基于IP的应用第30章 在应用中集成TCP/IP 33730.1 使用浏览器作为表示层 33830.2 不断增加的Internet应用 33830.3 在已有应用中集成TCP/IP 33930.4 在其他网络中使用TCP/IP 33930.4.1 NetBIOS与TCP/IP 33930.4.2 IPX与UDP 34030.4.3 ARCNET与TCP/IP 34030.5 小结 340第31章 Internet Email协议 34131.1 电子邮件 34131.1.1 电子邮件的历史 34131.1.2 标准及制定标准的组织 34131.2 X.400 34131.3 简单邮件传输协议(SMTP) 34331.3.1 MIME和SMTP 34331.3.2 其他编码标准 34431.3.3 SMTP命令 34431.3.4 SMTP状态码 34531.3.5 扩展SMTP 34531.3.6 检查SMTP的头 34631.3.7 SMTP的优势与不足 34731.4 使用POP和IMAP取回客户邮件 34731.4.1 邮局协议(POP) 34731.4.2 互联网邮件访问协议(IMAP) 34831.4.3 POP3与IMAP4的比较 34831.5 高级主题 34931.6 相关RFC文档及其他参考信息 35131.7 小结 352第32章 HTTP: World Wide Web 35332.1 万维网(WWW) 35332.1.1 Web简史 35332.1.2 Web的发展 35432.2 统一资源定位器 35432.3 Web服务器与浏览器 35532.4 理解HTTP 35632.4.1 HTTP/1.1 35632.4.2 MIME与Web 35832.4.3 HTTP通信示例 35832.5 高级主题 35932.5.1 服务器方功能 35932.5.2 SSL和S-HTTP 35932.6 Web语言 35932.6.1 HTML 36032.6.2 XML 36032.6.3 CGI 36132.6.4 Java 36132.6.5 JavaScript 36232.6.6 动态服务器页面 36232.7 Web的未来 36332.7.1 HTTP-ng 36332.7.2 IIOP 36332.7.3 IPv6 36332.7.4 IPP 36332.8 小结 364第33章 NNTP:互联网新闻组 36533.1 互联网新闻组 36533.2 新闻组和层次 36633.3 网络新闻传输协议 36733.3.1 获取新闻组 36733.3.2 获取消息 36933.3.3 发布消息 37033.4 大量广告(Spamming)和新闻黑洞 (Blackholing) 37133.5 小结 371第34章 Web服务 37334.1 Web服务工作概览 37334.2 主流Web服务器 37534.3 运行Apache HTTP Web服务 37634.3.1 下载、安装和配置Apache 37634.3.2 在Windows环境下使用Apache 38134.4 浏览其他Web服务器 38334.5 小结 383第九部分 使用与管理TCP/IP网络第35章 协议配置与调整 38535.1 系统的初始化问题 38535.2 配置文件 39035.2.1 在/etc/protocols文件中定义网 络协议 39035.2.2 在/etc/hosts文件中标识主机 39135.2.3 TCP/IP与/etc/services文件 39235.2.4 inetd守护进程与/etc/inetd.conf 文件 39435.2.5 在/etc/networks文件中设置网络 39735.2.6 DNS客户与/etc/resolv.conf 39735.3 小结 398第36章 配置DNS 39936.1 域名服务器 39936.2 资源记录 40036.3 域名解析 40136.4 配置UNIX或Linux域名服务器 (DNS) 40136.4.1 添加资源记录 40236.4.2 完成DNS文件 40236.4.3 启动DNS守护进程 40536.4.4 配置客户端 40536.5 Windows和域名服务器 40536.6 小结 406第37章 网络管理 40737.1 制定网络监控方案 40737.2 网络问题及其解决方案 40837.3 网络管理工具 40837.3.1 使用协议分析器 40937.3.2 专家系统 41037.3.3 基于PC的分析器 41037.3.4 网络管理协议支持 41137.3.5 集成网络仿真/模型工具 41137.4 配置SNMP 41237.4.1 配置Windows SNMP 41337.4.2 配置UNIX SNMP 41437.4.3 SNMP安全属性 41437.4.4 SNMP代理与管理 41537.5 SNMP工具及命令 41637.6 RMON及相关的MIB模型 41737.7 建立网管需求 41737.8 小结 419第38章 SNMP:简单网络管理协议 42038.1 什么是SNMP 42038.2 管理信息基(MIB) 42138.3 使用SNMP 42138.4 UNIX与SNMP 42238.4.1 在UNIX和Linux上安装SNMP 42338.4.2 SNMP命令 42438.5 Windows与SNMP 42438.5.1 Windows NT 42538.5.2 Windows 95、Windows 98和 Windows 3.x 42538.6 小结 427第39章 加强TCP/IP传输安全 42839.1 定义所需的网络安全 42839.1.1 什么是网络安全 42839.1.2 为什么网络安全非常重要 42939.1.3 安全级别 42939.1.4 口令与口令文件 43039.1.5 控制对口令的访问 43039.2 加强网络安全 43139.2.1 攻击种类 43139.2.2 加强网络安全 43239.3 应用配置 43439.3.1 Internet守护进程与 /etc/inetd.conf 43439.3.2 网络加密软件 43639.3.3 TCP Wrapper 43639.4 使用端口及可信端口 43739.4.1 防火墙 43739.4.2 包过滤 43739.4.3 应用层网关 43839.4.4 其他应用的过滤 43839.5 一般安全事务 43839.5.1 用户帐号维护 43839.5.2 审计 43839.5.3 正确的系统配置 43839.6 小结 438第40章 问题解决工具及要点 44040.1 监视网络行为 44040.2 标准应用程序 44040.2.1 测试基本连接 44140.2.2 ping命令 44240.2.3 解决网络访问故障 44340.3 解决网络接口层问题 44940.4 解决网络层问题 44940.4.1 TCP/IP配置参数 44940.4.2 IP地址配置问题 45040.5 解决TCP和UDP问题 45340.6 解决应用层问题 45540.7 小结 455第十部分 附 录附录A RFC及标准化 457附录B Linux 469附录C 简写与缩略语 480
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞_哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值