TCP/IP详解 卷1:协议
文章平均质量分 62
ddppqq
这个作者很懒,什么都没留下…
展开
-
(10)动态选路协议
一、简介 动态选路协议用于路由器间的通信。二、RIP:选路信息协议 RIP报文包含在UDP数据报中。如下所示: RIP常用的UDP端口号是520。RIP协议的routed程序正常运行过程如下: (1)初始化:在启动一个路由守护程序时,它先判断启动了哪些接口,并在每个接口上发送一个请求报文,要求其他路由器发送完整路由表。在点对点链路中,该请求是发送原创 2013-10-12 15:25:45 · 785 阅读 · 0 评论 -
(9)IP选路
一、简介 选路是IP最重要的功能之一。IP层工作流程如下所示:二、选路的原理 IP搜索路由表的几个步骤为: (1)搜索匹配的主机地址; (2)搜索匹配的网络地址; (3)搜索默认表项(默认表项一般在路由表中被指定为一个网络表项,其网络号为0)。 匹配主机地址步骤始终发生在匹配网络地址步骤之前。IP层进行的选路实际上是一种选路机原创 2013-10-12 14:46:33 · 1139 阅读 · 0 评论 -
(7)Ping程序
一、简介 Ping程序的目的是为了测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。一般来说,不能Ping到某台主机,就不能Telnet或FTP到那台主机。二、Ping程序 ICMP回显请求和应答报文如下所示: Unix系统在实现ping程序时把ICMP报文中的标识符字段置成发送进程的ID号。这样即使在同一台主机原创 2013-10-12 00:23:51 · 940 阅读 · 0 评论 -
(6)ICMP:Internet控制报文协议
一、简介 ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。 ICMP报文是在IP数据报内部被传输的,如下所示: ICMP报文的格式如下所示: 校验和字段覆盖整个ICMP报文。ICMP的校验和时必需的。ICMP报原创 2013-10-11 22:58:23 · 1173 阅读 · 0 评论 -
(4)ARP:地址解析协议
一、简介 ARP为IP地址到对应的硬件地址之间提供动态映射。之所以称为动态是因为这个过程是自动完成的。一般应用程序用户或系统管理员不必关心。RARP是被那些没有磁盘驱动器的系统使用,它需要系统管理员进行手动设置。稍后介绍。 点对点链路不适用ARP。当设置这些链路时,必须告知内核链路每一端的IP地址。二、ARP高速缓存 ARP高效运行的关键是由于每个主机上都有一个A原创 2013-10-11 19:28:41 · 1437 阅读 · 0 评论 -
(3)IP:网际协议
一、简介 IP是TCP/IP协议族的核心协议。IP提供不可靠、无连接的数据报传送服务。 不可靠的意思是它不能保证IP数据报能成功地到达目的地。IP仅提供最好的传输服务。任何要求的可靠性必须由上层来提供(如TCP)。 无连接的意思是IP并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。这也说明,IP数据报可以不按发送顺序接收。二、IP首部原创 2013-10-10 23:25:24 · 982 阅读 · 0 评论 -
(2)链路层
一、简介 链路层主要有三个目的: (1)为IP模块发送和接受IP数据报; (2)为ARP模块发送ARP请求和接受ARP应答; (3)为RARP发送RARP请求和接受RARP应答。二、以太网和IEEE 802封装 两种帧都采用48bit(6字节)的目的地址和源地址,也成为硬件地址。ARP和RARP协议对32bit的IP地址和48bit的硬件地址进原创 2013-10-09 23:35:13 · 940 阅读 · 0 评论 -
(1)概述
一、TCP/IP分层TCP/IP协议族的四层结构如下所示:二、互联网地址IP地址长32bit,区分各类地址的最简单方法时看它的第一个十六进制整数。五类不同的互联网地址格式如下所示:三、域名系统域名系统DNS是一个分布的数据库,由它来提供IP地址和主机名之间的映射信息。四、封装网络数据的封装过程如下所示:以太网数据帧的物理特性是其长度必须在46原创 2013-10-09 22:17:00 · 675 阅读 · 0 评论 -
(27)FTP:文件传送协议
一、简介 FTP是用于文件传输的Internet标准。它通过支持有限数量的文件类型(ASCII,二进制等)和文件结构(面向字节流或记录)来处理不同系统间的差异。二、FTP协议 FTP使用两个连接来传输一个文件。 (1)控制连接以通常的客户服务器方式建立。服务器以被动方式打开众所周知的用于FTP的端口(21),等待客户的连接。客户则以主动方式打开TCP端口21,来建立连接。控制原创 2013-10-08 20:26:52 · 792 阅读 · 0 评论 -
(26)Telnet和Rlogin:远程登录
一、简介 TCP/IP网络上,有两种应用提供远程登录功能。 (1)Telnet是标准的提供远程登录功能的应用,几乎每个TCP/IP的实现都提供这个功能。它能运行在不同操作系统的主机之间。Telnet通过客户进程和服务器进程之间的选项协商机制,从而确定通信双方可以提供的功能特性。Telnet获得异构性是强制两端采用同一个标准:使用7比特ASCII码的NVT。 (2)Rlogin只能原创 2013-10-08 20:26:49 · 973 阅读 · 0 评论 -
(25)SNMP:简单网络管理协议
一、简介 基于TCP/IP的网络管理包含两个部分:网络管理站和被管的网络单元。被管设备端和管理相关软件叫做代理程序或代理进程。管理进程和代理进程之间的通信可以有两种方式。一种是管理进程向代理进程发送询问请求;另一种是代理进程主动向管理进程报告某些重要的事件发生。 基于TCP/IP的网络管理包含3个组成部分: (1)一个管理信息库MID(Management Information原创 2013-10-08 20:26:47 · 1159 阅读 · 0 评论 -
(16)BOOTP:引导程序协议
一、简介 在进行系统引导时通过RARP来获得它自身的IP地址,这存在两个问题:(1)IP地址是返回的唯一结果;(2)既然RARP使用链路层广播,RARP请求就不会被路由器转发(迫使每个实际网络设置一个RARP服务器)。而BOOTP(引导程序协议)是一种用于无盘系统进行系统引导的替代方法。二、BOOTP的分组格式 BOOTP请求和应答军备封装在UDP数据报中,如下所示: B原创 2013-10-08 20:26:28 · 822 阅读 · 0 评论 -
(15)TFTP:简单文件传送协议
一、简介 TFTP(Trivial File Transfer Protocol)简单文件传输协议,最初打算用于引导无盘系统(通常是工作站或X终端)。为保持简单和短小,TFTP将使用UDP,其代码能适合只读存储器。二、协议 TFTP客户端通过指定需要读的文件名及文件模式来获取数据,收到每个数据分组后,会送ACK进行认证,每个数据分组除了最后一个数据分组外均包含512字节的数据。而在原创 2013-10-08 20:26:26 · 968 阅读 · 0 评论 -
(11)UDP:用户数据报协议
一、简介 UDP是一个简单的面向数据包的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。这与面向流字符的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么关系。 UDP数据报封装成的IP数据报格式如下所示: UDP不提供可靠性,它把应用程序传给IP的数据发送出去,但并不保证他们能到达目的地。其次,应用程序原创 2013-10-08 20:26:17 · 1565 阅读 · 0 评论 -
(12)广播和多播
一、简介 IP地址包括单播地址、多播地址和广播地址。多播和广播仅用于UDP。 有时一个主机要向网上的所有其他主机发送帧,这就是广播。多播处于单播和广播之间:帧仅传送给属于多播组的多个主机。 对于以太网,当地址中最高字节的最低位设置为1时表示该地址是一个多播地址,用16进制可表示为01:00:00:00:00:00,以太网广播地址ff:ff:ff:ff:ff:ff可以看做是以太网多原创 2013-10-08 20:26:19 · 663 阅读 · 0 评论 -
(13)IGMP:Internet组管理协议
一、简介 IGMP协议用于支持主机和路由器进行多播。它让一个物理网络上所有的系统知道主机当前所在的多播组。多播路由器需要知道这些信息以便知道多播数据报应该向哪些接口转发。 IGMP是IP层的一部分。通过IP数据报进行传输,其有固定报文长度,无可选数据。IGMP报文通过IP首部中协议字段值为2来指明。二、IGMP报文 8字节的IGMP报文格式如下: IGMP类型为原创 2013-10-08 20:26:21 · 938 阅读 · 0 评论 -
(8)Traceroute程序
一、简介 Traceroute程序可以让我们看到IP数据报从一台主机传到另一台住进所经过的路由及IP源路由选项。二、Traceroute程序的操作 为什么不使用IP记录路由选项,而是重新开发一个新的应用程序,原因有以下三点: (1)原来不是所有的路由器都支持记录路由选项; (2)记录路由一般是单向的选项。发送端设置了该选项,那么接收端不得不从收到的IP首原创 2013-10-12 13:02:50 · 1096 阅读 · 0 评论 -
(5)RARP:逆地址解析协议
一、简介 无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求(一帧在网络上广播的数据),请求某个主机响应该无盘系统的IP地址(在RARP应答中)。感觉这个过程和上一章中的免费ARP一样。二、RARP分组格式 RARP分组格式与ARP格式基本一致,请参加(4)章中的介绍,主要差别是RARP请求或应答的帧类型代码为0x8035,而RARP请求的操原创 2013-10-11 19:46:05 · 1121 阅读 · 0 评论 -
(29)网络文件系统
一、简介 NFS(网络文件系统)为客户程序提供透明的文件访问。NFS的基础是Sun RPC:远程过程调用。客户程序使用NFS不需要做什么特别的工作,当NFS内核检测到被访问的文件位于一个NFS服务器时,就会自动产生一个访问该文件的RPC调用。 远程过程调用(Remote Procedure Call)是一种不同的网络程序设计方法。客户程序编写时只是调用了服务器程序提供的函数。在一个RP原创 2013-10-08 20:26:56 · 559 阅读 · 0 评论 -
(28)SMTP:简单邮件传送协议
一、简介 连个报文传送代理MTA(Message Transfer Agent)之间用NVT ASCII进行通信。客户向服务器发出命令,服务器用数字应答码和可选的人可读字符串进行响应。客户只能向服务器发送很少的命令:不到12个。 SMTP的命令主要包括: HELO:用于标识自己; MAIL:用于标识出报文的发起人; RCPT:标识接收方; DATA:发送邮件报文原创 2013-10-08 20:26:54 · 3293 阅读 · 0 评论 -
(24)TCP的未来和性能
一、路径MTU发现 TCP的路径MTU发现按如下方式进行:在连接建立时,TCP使用输出接口或对端声明的MSS中的最小MTU作为起始的报文段大小。路径MTU发现不允许TCP超过对端声明的MSS。如果对端没有指定一个MSS,则默认为536。 一旦选定了起始的报文段大小,在该连接上的所有被TCP发送的IP数据报都将被设置DF位。如果中间路由器需要对一个设置了DF标志的数据报进行分片,它就丢弃原创 2013-10-08 20:26:45 · 686 阅读 · 0 评论 -
(23)TCP的保活定时器
一、简介 对于运输层是否应该存在保活定时器的讨论一直都有,一些专家觉得这应该有应用层自行维护。 如果一个给定的连接在2小时内没有任何动作,那么服务器就向客户发送一个探查报文段。客户主机必须处于以下4个状态之一。 (1)客户主机依然正常运行,并从服务器可达。客户的TCP响应正常,而服务器也知道对方的正常工作的。服务器在2小时内将保活定时器复位。 (2)客户主机已经崩溃,并且关原创 2013-10-08 20:26:43 · 693 阅读 · 0 评论 -
(21)TCP的超时和重传
一、简介 TCP提供可靠的传输层。使用的方法之一是确认从另一端收到的数据,但数据和确认都有可能会丢失。TCP通过设置定时器和重传策略来解决这种问题。 TFTP客户使用UDP时限了一个简单的超时和重传机制:5秒作为定时器值,每隔5秒进行重传;另外,向一个不存在的主机主机发送ARP,当TCP试图建立连接的时候,在每个重传之间使用一个较长的时延来重传SYN。 对每一个连接,TCP管理4原创 2013-10-08 20:26:39 · 886 阅读 · 0 评论 -
(22)TCP的坚持定时器
一、简介 ACK的传输并不可靠,也就是说,TCP不对ACK报文段进行确认,TCP只确认那些包含数据的ACK报文段。为了防止因为ACK报文段丢失而双方进行等待的问题,发送方用一个坚持定时器来周期性地向接收方查询。这些从发送方发出地报文段称为窗口探查。 如果一个确认丢失了,则双方就有可能因为等待对方而使连接终止:接收方等待接收数据(因为已经向发送方通告了一个非0的窗口),而发送方在等待允原创 2013-10-08 20:26:41 · 527 阅读 · 0 评论 -
(20)TCP的成块数据流
一、简介 TFTP使用了停止等待协议。数据发送方在发送下一个数据块之前需要等待接收对已发送数据的确认。TCP所使用的被称为滑动窗口协议的另一种形式的流量控制方法,该协议允许发送方在停止并等待确认前可以发送多个分组。由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输。二、滑动窗口 滑动窗口本质上是描述接受方的TCP数据报缓冲区大小的数据,发送方根据这个数据来原创 2013-10-08 20:26:36 · 625 阅读 · 0 评论 -
(19)TCP的交互数据流
一、经受时延的确认 通常TCP在接收数据的时候并不立即发送ACK;相反,它推迟发送,以便将ACK与需要沿该方向发送的数据一起发送。TCP将以最大200ms的时延等待是否有数据一起发送。二、Nagle算法 该算法要求一个TCP连接上最多只能有一个未被确认的未完成的小分组,在该分组的确认到达之前不能发送其他的小分组。相反,TCP手机这些少量的分组,并在确认到来时以一个分组的方式发出去。原创 2013-10-08 20:26:34 · 536 阅读 · 0 评论 -
(18)TCP连接的建立与终止
一、建立连接协议 TCP的连接建立时间序列如下所示: 为了建立一个TCP连接: (1)请求端(通常为客户端)发送一个SYN段指明客户打算连接的服务器端口以及初始序号ISN。这个SYN段为报文段1; (2)服务器回送包含服务器初始序号的SYN报文段(报文段2)作为应答。同事将确认序号设置为客户的ISN+1以对客户的SYN报文段进行确认。一个SYN将占用一个序号。 (原创 2013-10-08 20:26:32 · 903 阅读 · 0 评论 -
(17)TCP:传输控制协议
一、TCP的服务 尽管TCP和UDP都是用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务,TCP提供一种面向连接的、可靠的字节流的全双工服务。 面向连接意味着TCP的应用在彼此交换数据之前必须先建立一个TCP连接。 TCP通过下列方式提供可靠性: (1)应用数据被分割为TCP认为最合适发送的数据块,由TCP传递给IP的信息单位称为报文段或段(segment原创 2013-10-08 20:26:30 · 919 阅读 · 0 评论 -
(14)DNS:域名系统
一、简介 域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,他提供主机名字和IP地址间的转换及有关电子邮件的选路信息。从应用角度上看,DNS的访问是通过一个地址解析器(resolver)来完成的。在Unix主机中,该解析器主要通过库函数gethostbyname和gethostbyaddr来访问。前者接收主机名返回IP地址,后者接收IP地址来寻找主机名。解析器通过一个活多个名字原创 2013-10-08 20:26:24 · 722 阅读 · 0 评论