![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
TCP/IP详解 卷1:协议
文章平均质量分 86
吃着火锅x唱着歌
这个作者很懒,什么都没留下…
展开
-
TCP/IP详解 卷1:协议 学习笔记 第三十章 其他的TCP/IP应用程序
Finger协议返回一个指定主机上一个或多个用户的信息,它常用来检查某个人是否登录了,或搞清一个人的登录名一边给他发邮件。很多站点不支持Finger协议的原因:1.Finger服务器的一个早期版本中的一个编程错误被1988年Internet蠕虫病毒利用,作为进入点之一。2.Finger协议可能会泄露用户的私有信息(登录名、电话号码、上次登录时间等)。Finger服务器的知名端口为79。Finger查询和响应都是采用NVT ASCII。一般Unix下使用finger客户端来访问Finger服务器,也原创 2021-08-06 21:43:11 · 506 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第二十九章 网络文件系统
NFS(网络文件系统)使客户可以透明地访问服务器上的文件和文件系统。NFS的基础是RPC。两个常用的网络编程API:socket和TLI(运输层接口,Transport Layer Interface)。通信的双方可使用不同的API。RPC可以在用户程序编写时调用服务器的函数,实际发生的动作如下:1.客户程序调用远程的过程时,它实际上只是调用了一个位于本机的函数,这个函数称为客户stub,客户stub将过程的参数封装成一个网络报文,并将这个报文发给服务器程序。2.服务器主机上的一个服务器stub接收原创 2021-08-05 23:27:24 · 413 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第二十八章 SMTP:简单邮件传送协议
用户与用户代理打交道,有多个用户代理可供选择,Unix上常用用户代理包括MH、Berkeley Mail、Elm、Mush。用TCP进行邮件交换是由报文传送代理MTA(Message Transfer Agent)完成的。最普通的Unix系统的MTA是Sendmail,用户通常不跟MTA打交道,由管理员设置本地的MTA,用户通常可以选择自己的用户代理。本章研究两个MTA之间如何用TCP交换邮件。SMTP协议指定了在一个简单TCP连接上,两个MTA如何进行通信。两个MTA之间用NVT ASCII进行通.原创 2021-08-04 11:47:52 · 4931 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第二十七章 FTP:文件传送协议
FTP是用于文件传输的Internet标准。文件传送是FTP提供的功能,文件存取是如NFS等应用系统提供的功能。由FTP提供的文件传送是将一个完整的文件从一个系统复制到另一个系统中。要使用FTP,需要服务器的注册账号,或服务器允许匿名FTP。就像Telnet,FTP设计用于两台不同的主机,这两个主机可能运行在不同的操作系统下,使用不同的文件结构,并可能使用不同的字符集,但Telnet实现异构性是强制两端都采用同一个标准,即使用7bit ASCII码的NVT,而FTP使用另一种方法处理不同系统间的差异。原创 2021-08-01 01:42:45 · 936 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第二十六章 Telnet和Rlogin:远程登录
TCP/IP网络上,有两种应用提供远程登录功能:1.Telnet:几乎每个TCP/IP的实现都提供这个功能原创 2021-07-27 21:36:22 · 2716 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第二十五章 SNMP:简单网络管理协议
随着网络技术的发展,网络数量越来越多,网络中的设备来自不同厂家,如何管理这个设备变得十分重要。基于TCP/IP的网络管理包含两个部分:网络管理站(也叫管理进程,manager)和被管理的网络单元(也叫被管设备,包括路由器、X终端、终端服务器、打印机等运行TCP/IP协议的设备)。...原创 2021-07-09 18:45:38 · 1689 阅读 · 2 评论 -
TCP/IP详解 卷1:协议 学习笔记 第二十四章 TCP的未来和性能
虽然TCP在比以太网速率高的环境中也能正确运行,但在这些高速率环境下,TCP的某些限制被暴露出来。路径MTU发现机制通常可以使TCP为非本地的连接使用大于536字节的MTU,从而增加吞吐量。TCP处理长肥管道(带宽时延积很大的网络)时有局限性,为处理长肥管道,增加两个TCP选项:窗口扩大选项(增大TCP的最大窗口,使之超过65535字节)、时间戳选项(使TCP对报文段的RTT进行更加精确的测量,还能在高速率下对可能发生的序号回绕提供保护)。T/TCP是为了增加事务功能对TCP进行的修改,通信的事务模式原创 2021-07-03 02:11:17 · 530 阅读 · 1 评论 -
TCP/IP详解 卷1:协议 学习笔记 第二十三章 TCP的保活定时器
一个TCP连接建立,然后经过任意时间,且中间路由器可以崩溃和重启、电话线可以挂断再接通,而连接依然保持,只要两端主机没有被重启,这意味着两端不交换任何信息。然而许多时候一个服务器希望知道客户主机是否崩溃,许多实现提供的保活定时器可提供这种能力,rlogin和telnet服务器默认使用这个选项。保活并不是TCP规范的一部分,理由如下:1.出现短暂差错时(如中间路由器崩溃并重启时),可能释放掉一个非常好的连接。2.耗费不必要的带宽。3.分组计费时会在互联网上花掉更多钱。然而许多实现提供了保活定时器。原创 2021-06-11 16:11:24 · 196 阅读 · 2 评论 -
TCP/IP详解 卷1:协议 学习笔记 第二十二章 TCP的坚持定时器
如果接收方的窗口大小变为0,则发送方会停止传送数据,直到接收方再次通告窗口非0。而如果接收方的通告窗口的报文段丢失,则会出现死锁:接收方等待接收数据(它已经发送了一个非0的窗口通告),而发送方在等待允许它继续发送数据的窗口更新。为防止这种情况,发送方使用一个坚持定时器来周期性地向接收方查询,以便发现窗口是否已经增大,这些从发送方发出地报文段称为窗口探查。为观察坚持定时器,我们启动一个接收进程,它监听来自客户的请求,接受该连接请求,然后从网上读取数据前休眠一段时间,使用sock程序的-P选项使服务器在接受连原创 2021-06-09 18:01:25 · 481 阅读 · 3 评论 -
TCP/IP详解 卷1:协议 学习笔记 第二十一章 TCP的超时与重传
TCP发送的数据和确认都可能丢失,TCP通过在发送时设置一个定时器来解决这种问题,当定时器溢出时还没收到确认,它就重传该数据。对于每个连接,TCP管理4个不同定时器:1.重传定时器用于希望收到另一端的确认。2.坚持定时器使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口。3.保活定时器可检测到一个空闲连接的另一端何时崩溃或重启。4.2MSL定时器测量一个处于TIME_WAIT状态的时间。观察TCP的重传机制,先建立一个连接,发送一些分组证明一切正常,然后拔掉电缆,发送更多数据,再观察TCP的原创 2021-06-08 11:20:15 · 707 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第二十章 TCP的成块数据流
在bsdi上运行自定义的sock程序作为服务器:其中-i和-s选项指示程序作为一个从网络上读取并丢弃数据的服务器运行,且服务器端口为7777,相应的客户程序为:该命令发送8个1024字节的数据,以下是这个过程的时间序列:前三个报文段是连接建立过程,建立时的报文段显示了两端的MSS值,连接建立后,发送方连续发送了三个数据报文段,但报文段7中只确认了前两个数据报文段(其确认序号为2048),仅确认前两个报文段的原因为:当一个分组到达时,它首先被设备中断例程处理,然后放置到IP的输入队列中,三个报文段原创 2021-05-27 15:53:16 · 299 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第十九章 TCP的交互数据流
通过研究发现,约一半的TCP报文段包含成块数据(如FTP、电子邮件),另一半包含交互数据(如telnet、rlogin),如果按字节计算,成块数据与交互数据的比例约为9:1,这是因为成块数据的报文段基本上都是满长度的(通常为512字节的用户数据),而交互数据小得多,telnet和rlogin分组中通常约90%左右的用户数据小于10个字节。rlogin上通常每一个交换按键都会产生一个数据分组,即每次从客户传到服务器的是一个字节的按键,而不是每次一行,而且rlogin需要服务器回显客户键入的字符,这样就会产生原创 2021-05-21 17:17:58 · 391 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第十八章 TCP连接的建立与终止
telnet程序(基于TELNET协议的远程登录客户端程序)使用TCP连接:上图中使用telnet命令与丢弃(discard)服务对应的端口上与主机bsdi建立一条TCP连接,这个服务的类型不需要服务器发起任何数据交换。以上的7个TCP报文段仅包含TCP首部,没有任何数据。以上每行开始都按如下格式显示:源 > 目的 : 标志,这里的标志代表TCP首部中6个标志比特中的4个:上图中包含的4个标志比特中的多个可能同时出现在一个报文段,但tcpdump通常只显示一个。第一行中,字段14155原创 2021-05-16 00:58:21 · 1038 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第十六章 BOOTP:引导程序协议
一个无盘系统在不知道自身IP地址情况下,进行系统引导时能通过RARP协议获取它的IP地址,使用RARP会有两个问题:(1)IP地址是返回的唯一结果;(2)RARP使用链路层广播,RARP请求不会被路由器转发,每个实际网络必须设置一个RARP服务器)BOOTP使用UDP,通常需要与TFTP协同工作。操作码字段为1时表示请求,为2时表示应答。硬件类型字段为1时表示10Mb/s的以太网,此字段和ARP请求或应答中同名字段表示的含义相同。对于以太网,硬件地址长度字段为6。跳数字段由客户设为0,但也能被原创 2021-05-10 16:18:08 · 1111 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第十五章 TFTP:简单文件传送协议
TFTP最初打算用于引导无盘系统(通常是工作站或X终端)。为保持简单和短小,TFTP使用UDP。开始工作时,TFTP的客户与服务器交换信息,客户发送一个读或写请求给服务器,在一个无盘系统进行引导的正常情况下,第一个请求是读请求(RRQ),以下是5种TFTP报文格式,其中操作码为1和2的报文使用相同格式:TFTP报文的前两个字节表示操作码,对于读请求和写请求,文件名字段说明客户要读或写的位于服务器上的文件,这个字段后跟0字节作为结束。模式字段是一个ASCII码串netascii或octet(指八个比特为原创 2021-05-09 15:41:56 · 950 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第十四章 DNS:域名系统
域名系统是一种用于TCP/IP应用程序的分布式数据库,它提供主机名和IP地址之间的转换以及有关电子邮件的选路信息。此处的分布式指在单个站点上不能拥有所有信息,每个站点(如大学中的系、公司)保留它自己的信息数据库,并运行一个服务器程序供Internet上其他系统查询。DNS提供了允许服务器和客户程序相互通信的协议。从应用角度看,对DNS的访问是通过一个地址解析器完成的,在Unix主机中,该解析器主要通过库函数gethostbyname(通过主机名找IP)和gethostbyaddr(通过IP找主机名)来访问原创 2021-05-08 17:46:03 · 2049 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第十三章 IGMP:Internet组管理协议
IGMP让一个物理网络上的所有系统知道主机当前所在的多播组,多播路由器知道这些信息就能知道多播数据报应向哪些接口转发。IGMP与ICMP一样,被当作IP层的一部分,IGMP报文通过IP数据报传输,IGMP报文通过IP首部中协议字段值为2来指明。IGMP报文长度固定,没有可选数据:以上是IGMP版本为1的格式,类型字段为1说明是由多播路由器发出的查询报文,为2说明是主机发出的报告报文。组地址字段在查询报文中设为0,报告报文中组地址为发送报告的主机参加的组地址。一个主机上的某个进程可以在给定接口上加入一原创 2021-04-02 18:41:26 · 1433 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第十二章 广播和多播
广播和多播仅用于UDP。TCP是面向连接的协议,它意味着运行于两主机(由IP地址确定)和两进程(由端口号确定)之间存在一条连接。多播处于单播和广播之间,仅传送给属于多播组的多个主机。由上图,网卡查看由信道传送过来的帧,确定是否接收该帧,若接收,将它送往设备驱动程序,通常网卡仅接收目的地址为网卡物理地址或广播地址的帧。另外,多数接口被设为混合模式,这种模式能接收每个帧,tcpdump程序使用这种模式。目前,大多网卡经过配置都能接收目的地址为多播地址或某些子网多播地址的帧,对于以太网,当物理地址中的最高原创 2021-03-31 18:35:32 · 1130 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第十一章 UDP:用户数据报协议
UDP是面向数据报的运输层协议,进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。RFC 768是UDP的正式规范。UDP不提供可靠性。如果IP数据报长度超过网络的MTU,就要对IP数据报进行分片,如果需要,源端到目标端之间的每个网络都能进行分片,并不只是发送端才能这样做。端口号表示发送和接收进程。如果TCP和UDP同时提供某种知名服务,两个协议通常选择相同的端口号,这是为了使用方便。UDP长度字段指UDP首部和UDP数据的总和,该字段最小值为8字节(可以发送数据原创 2021-03-28 23:38:01 · 1430 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第十章 动态选路协议
静态选路包括在配置接口时,以默认方式生成路由表项(对于直接连接的接口),并通过route命令增加表项(通常从系统自引导程序文件),或通过ICMP重定向生成路由表项(通常在默认方式出错的情况下)。网络比较小,且与其他网络只有单个连接点且没有多余路由(若主路由失败,可以使用备用路由)时,以上静态选路方法可行,如果上述三种情况都不能满足,通常使用动态选路。动态选路是相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,路由器间必须使用选路协议进行通信,路由器上的路由守护程序运行选路协议,并与其相邻的一原创 2021-03-12 16:10:40 · 303 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第十七章 TCP:传输控制协议
TCP提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP的应用(通常是一个客户一个服务器)在彼此交换数据前必须先建立一个TCP连接。在一个TCP连接中,仅有两方进行彼此通信,广播和多播不能用于TCP。TCP提供可靠性的方法:1.数据被分割成TCP认为最适合发送的数据块。这和UDP不同,应用程序产生的UDP数据报长度将保持不变。由TCP传递给IP的信息单位是报文段或段。2.TCP发出一个段后,它启动一个定时器,等待目的端接收这个报文段,如果不能及时收到一个确认,将重发这个报文段。3原创 2020-06-30 20:40:31 · 315 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第五章 RARP:逆地址解析协议
本地有磁盘的系统引导时,一般从磁盘上的配置文件中获取IP地址,但无盘机要用其他方法获得。网络上每个系统都有唯一的硬件地址,这是由网络接口生产厂家配置的。无盘系统使用RARP从接口卡上读取硬件地址,然后发送一份RARP请求(在网络上广播),请求某个主机在RARP应答中响应无盘系统的IP地址。RARP的分组格式与ARP分组基本一致。区别在于RARP请求或应答的帧类型字段值为0x8035,且RARP请求的操作代码为3,应答的操作代码为4。与ARP相同,RARP请求以广播形式传送,应答以单播传送。可强制主机原创 2020-06-14 18:18:36 · 319 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第九章 IP选路
通过网络接口收到的数据报如果目的地址不是本机,就会被丢弃。路由守护程序作用通常是用户进程。路由表经常被IP访问,而它被守护程序更新的频度低很多,当收到ICMP重定向报文时,路由表也要被更新。IP搜索路由表的步骤:1.搜索匹配的主机地址。2.搜索匹配的网络地址。3.搜索默认表项(一般被指定为一个网络表项,其网络号为0)。以上是IP层的选路机制,是由IP执行的。而选路策略指决定把哪些路由放入路由表的规则,路由的守护程序一般提供选路策略。-r选项的netstat命令列出路由表;-n选项以数字格式原创 2020-06-29 14:50:56 · 356 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第八章 Traceroute程序
尽管不能保证从源端发往目的端的两份连续的IP数据报有相同路由,但大多情况下是这样的。Traceroute可让我们看到IP数据报从一台主机传到另一台主机所经过的路由,还可让我们使用IP源路由选项。有了IP首部的RR选项,但还是使用Traceroute的理由:1.不是所有路由器都支持RR选项。2.RR一般是单向的选项,发送端设置后,接收端必须从收到的IP首部中提取出信息,再全部返回给发送端。这样使记录下来的IP地址翻了一番。而Traceroute程序只需在目的端运行一个UDP模块,不需要特殊的服务器应用程原创 2020-06-22 16:25:02 · 530 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第七章 Ping程序
ping名字来源于声纳定位操作。原创 2020-06-19 17:09:01 · 345 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第六章 ICMP:Internet控制报文协议
ICMP是IP层的组成部分,用来传递差错报文和其他需要注意的信息,它通常被更高层的协议(TCP、UDP)使用,一些ICMP报文把差错返回给用户进程。类型字段可以有15个不同值,用来描述ICMP报文的类型。某些ICMP还使用代码字段的值进一步描述不同条件。检验和字段覆盖整个ICMP报文。上表中对查询和差错进行了区分,在对差错报文进行响应时,永远不会产生另一份ICMP差错报文,如没有这个规则,可能会遇到一个差错产生另一个差错的情况,而差错再产生差错,从而无休止循环下去。发送差错报文时,报文始终包含原创 2020-06-17 01:45:15 · 357 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第四章 ARP:地址解析协议
数据链路如以太网或令牌环网都有自己的寻址机制(常为48bit),这是使用数据链路的任何网络层都必须遵守的。一个网络如以太网可同时被不同的网络层使用,如,一组使用TCP/IP协议的主机和另一组使用某种PC网络软件的主机可以共享相同的电缆。一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit的以太网地址来确定目的接口的。设备驱动程序不会检查IP数据报中的目的IP地址。地址解析为32bit的IP地址和数据链路层使用的任何类型的地址提供映射。ARP为IP地址到对应的硬件地址之间提供原创 2020-06-12 01:28:39 · 321 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第三章 IP:网际协议
所有TCP、UDP、ICMP、IGMP都以IP数据报格式传输。IP提供不可靠、无连接的数据报传送服务:1.不可靠:不保证IP数据报能成功到达目的地。它仅提供最好的传输服务。发生某种错误(路由器暂时用完了缓冲区)时,丢弃该数据报,然后发送ICMP消息报给源端。可靠性要由上层(TCP)提供。2.无连接:IP不维护任何关于后续数据报的状态信息。每个数据报的处理是相互独立的。即IP数据报可以不按发送顺序接收。...原创 2020-06-09 23:07:10 · 306 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第二章 链路层
链路层主要有三个目的:1.为IP模块发送和接受IP数据报。2.为ARP模块发送ARP请求和接受ARP应答。3.为RARP模块发送RARP请求和接受RARP应答。TCP/IP支持不同的链路层协议,这取决于网络所用的硬件,如以太网、令牌环网、FDDI(光纤分布式数据接口)、RS-232串行线路等。以太网指数字设备公司、英特尔公司、Xerox公司在1982年联合公布的一个标准,是当今TCP/IP采用的主要局域网技术。它采用CSMA/CD的媒体接入方法,其含义是带冲突检测的载波监听多路接入,它的速率为10原创 2020-06-06 20:23:19 · 317 阅读 · 0 评论 -
TCP/IP详解 卷1:协议 学习笔记 第一章 概述
不同型号计算机运行不同操作系统,但TCP/IP协议族允许它们互相通信。TCP/IP协议族(也称Internet协议族,Internet Protocol Suite)是一组不同层次上的多个协议的组合,TCP/IP通常被认为是一个四层协议系统:每一层功能:1.链路层:也称作数据链路层或网络接口层,包括操作系统中的设备驱动程序和计算机中对应的网络接口卡,它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。2.网络层:也称互联网层,处理分组在网络中的活动,如分组的选路。TCP/IP协议族中,网络层协原创 2020-06-02 16:43:46 · 392 阅读 · 0 评论