首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

速读原著-TCPIP(客户-服务器模型)

1.8 客户-服务器模型 大部分网络应用程序在编写时都假设一端是客户,另一端是服务器,其目的是为了让服务器为客户提供一些特定的服务。 可以将这种服务分为两种类型:重复型或并发型。...生成的新服务器对客户的全部请求进行处理。处理结束后,终止这个新服务器。 返回1步。并发服务器的优点在于它是利用生成其他服务器的方法来处理客户的请求。也就是说,每个客户都有它自己对应的服务器。...对服务器,而不是对客户进行分类的原因是因为对于一个客户来说,它通常并不能够辨别自己是与一个重复型服务器或并发型服务器进行对话。...一般来说, T C P服务器是并发的,而 U D P服务器是重复的,但也存在一些例外。...我们将在11 . 1 2节对U D P对其服务器产生的影响进行详细讨论,并在 1 8 . 11节对T C P对其服务器的影响进行讨论。

71220

速读原著-TCPIP(UDP服务器的设计)

第11章 UDP:用户数据报协议 11.12 UDP服务器的设计 使用U D P的一些蕴含对于设计和实现服务器会产生影响。...通常,客户端的设计和实现比服务器端的要容易一些,这就是我们为什么要讨论服务器的设计,而不是讨论客户端的设计的原因。典型的服务器与操作系统进行交互作用,而且大多数需要同时处理多个客户。...通常一个客户启动后直接与单个服务器通信,然后就结束了。而对于服务器来说,它启动后处于休眠状态,等待客户请求的到来。...11.12.3 UDP输入队列 我们在1 . 8节中说过,大多数 U D P服务器是交互服务器。这意味着,单个服务器进程对单个U D P端口上(服务器上的名知端口)的所有客户请求进行处理。...服务器永远看不到这份数据报。这种情形如图 11 - 2 1所示。 ? 有可能在相同的端口上启动不同的服务器,每个服务器具有不同的本地 I P地址。

1.2K40
您找到你想要的搜索结果了吗?
是的
没有找到

速读原著-TCPIP(BOOTP服务器的设计)

第16章 BOOTP:引导程序协议 16.4 BOOTP服务器的设计 B O O T P客户通常固化在无盘系统只读存储器中,因此了解 BOOTP 服务器的实现将更有意义。...首先,BOOTP 服务器将从它的熟知端口( 6 7)读取U D P数据报。这没有特别的地方。它不同于RARP 服务器 (5 . 4节),它必须读取类型字段为“ R A R P请求”的以太网帧。...这里出现了一个有趣的问题: TFTP 服务器如何能将一个响应直接送回 BOOTP 客户?这个响应是一个 U D P数据报,而服务器知道该客户的 I P地址(可能通过读取服务器上的配置文件)。...有两种解决办法:第一种,通常被 Unix 服务器采用,是服务器发一个 i o c t l ( 2 )请求给内核,为该客户在A R P高速缓存中设置一个条目(这就是命令 a r p - s所做的工作,见...服务器能一直这么做直到它知道客户的硬件地址和 I P地址。这意味着当服务器发送 U D P数据报 (即B O O T P应答)时,服务器的A R P将在ARP 高速缓存中找到该客户的I P地址。

33410

速读原著-TCPIP(RARP服务器的设计)

5.4 RARP服务器的设计 虽然R A R P在概念上很简单,但是一个 R A R P服务器的设计与系统相关而且比较复杂。...5.4.1 作为用户进程的RARP服务器 R A R P服务器的复杂性在于,服务器一般要为多个主机(网络上所有的无盘系统)提供硬件地址到I P地址的映射。...5.4.2 每个网络有多个RARP服务器 R A R P服务器实现的一个复杂因素是 R A R P请求是在硬件层上进行广播的,如图 5 - 2所示。这意味着它们不经过路由器进行转发。...为了让无盘系统在R A R P服务器关机的状态下也能引导,通常在一个网络上(例如一根电缆)要提供多个 R A R P服务器。...当服务器的数目增加时(以提供冗余备份),网络流量也随之增加,因为每个服务器对每个R A R P请求都要发送R A R P应答。

55520

速读原著-TCPIP(TCP 服务器的设计)

第18章 TCP连接的建立与终止 18.11 TCP 服务器的设计 我们在1 . 8节说过大多数的T C P服务器进程是并发的。...当一个新的连接请求到达服务器时,服务器接受这个请求,并调用一个新进程来处理这个新的客户请求。不同的操作系统使用不同的技术来调用新的服务器进程。...18.11.1 TCP服务器端口号 通过观察任何一个 T C P服务器,我们能了解 T C P如何处理端口号。我们使用 n e t s t a t命令来观察 Te l n e t服务器。...处于L I S T E N状态的服务器进程仍然存在。这个服务器进程是当前 Te l n e t服务器用于接收其他的连接请求。...18.11.4 呼入连接请求队列 一个并发服务器调用一个新的进程来处理每个客户请求,因此处于被动连接请求的服务器应该始终准备处理下一个呼入的连接请求。那正是使用并发服务器的根本原因。

75720

TCPIP 协议】 TCPIP 基础

链路层 (数据链路层 / 网络接口层) 链路层 (数据链路层 / 网络接口层) 简介 :  -- 驱动程序 : 链路层包括 网络相关的设备 的驱动程序, 驱动程序是操作系统与硬件之间进行交互的软件, 相当与桥梁...Telnet 远程登录, FTP 文件传输协议, SMTP 简单邮件传输协议, SNMP 简单网络管理协议;  (2) HTTP 协议  HTTP 协议 : 该协议是 WEB 通信中的 浏览器 与 服务器...这两种协议是 TCP/IP 网络中常用的两种远程登录协议; (5) SNMP 协议 (网络管理协议) SNMP 协议介绍 :  -- 具体的管理过程 : 通过 网络管理终端 (SNMP 管理器) 管理 服务器...可以对大范围复杂网络进行有效管理, 检查 SNMP 代理 是否正常运行, 可以让管理员及时发现故障; SNMP 协议组成 :  -- SNMP 代理 (Agent) : SNMP 管理的 路由器, 服务器

51520

TCPip详解_TCPIP详解

2.UDP协议头 2.1.UDP端口号 由于很多软件需要用到UDP协议,所以UDP协议必须通过某个标志用以区分不同的程序所需要的数据包。...因为分片技术在网络上被经常的使用,所以伪造IP分片包进行流氓攻击的软件和人也就层出不穷。 可以用Trancdroute程序来进行简单的MTU侦测。请参看教材。...当主(master)服务器和辅(slave)服务器之间通信,辅服务器要拿到主服务器的zone信息的时候。...为了避免这个错误,服务器给出了一个平静时间的概念,这是说在2MSL时间内,虽然可以重新启动服务器,但是这个服务器还是要平静的等待2MSL时间的过去才能进行下一次连接。...6.TCP服务器设计 前面曾经讲述过UDP的服务器设计,可以发现UDP的服务器完全不需要所谓的并发机制,它只要建立一个数据输入队列就可以。

88710

TCPIP

一台主机从出厂以后,MAC地址就唯一确定了,无法更改(当然也可以通过软件修改,但是必须得确保同一局域网下不能有两台MAC地址相同的主机)。 那么,为什么有了MAC地址,还需要IP地址?...这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器 ,它至少有一个有效的外部全球IP地址 。...一句话,主要防止已经失效的连接请求报文突然又传送到了服务器,从而产生错误。 通过上面的三个步骤,Client和Server能够进行可靠的传输,缺一不可。...应答的服务器上存储着一些资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)。...DNS是域名解析协议,假如我们知道了域名,但是不知道服务器的IP地址,就需要用到DNS协议。 DHCP协议 什么是DHCP协议了?

3.7K40

关于TCPIP

客户端向服务器发送建立连接请求数据包,其中包头内容 SYN=1,seq=x(自己随机选的起始序号) (你确定要一支笔?)...客户端收到服务器发来的确认请求后,也向服务器发送确认封包,其内容 ACK=1,ack=y+1(原理同上),seq=x+1(毕竟已经发送过 seq=x 的封包了),随后客户端就进入连接建立状态,而服务器就在收到这个确认封包后也进入连接建立状态...以上步骤就是俗称的“TCP 三次握手” > TCP 四次握手 当然,有连接建立,就有连接释放,客户端与服务器之间的连接释放过程大概是下面这个样子的 ?...跟建立连接的时候差不多,大概过程大概向下面这样: 客户端向服务器发送连接请求释放封包,封包内容为 FIN=1,seq=u 服务器收到后,决定要跟客户端释放连接,可是还有数据没传送完啊,就先发一个封包告诉客户端我可以释放连接...于是发送封包为 FIN=1,ACK=1,ack=u+1,seq=w(中间还传输过数据,所以可能不是 v+1) 客户端收到服务器的确认后,再次向服务器发送确认,内容是 ACK=1,ack=w+1,seq

45710

TCPIP(一)

创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。...客户端要主动发起TCP连接,必须知道服务器的IP地址和端口号。新浪网站的IP地址可以用域名www.sina.com.cn自动转换到IP地址,但是怎么知道新浪服务器的端口号呢?...答案是作为服务器,提供什么样的服务,端口号就必须固定下来。由于我们想要访问网页,因此新浪提供网页服务的服务器必须把端口号固定在80端口,因为80端口是Web服务的标准端口。...接新浪服务器的代码如下: s.connect(('www.sina.com.cn', 80)) 注意参数是一个tuple,包含地址和端口号。...例如,HTTP协议规定客户端必须先发请求给服务器服务器收到后才发数据给客户端。

50820

TCPIP模型

TCP/IP应用的架构绝大多数属于客户端/服务器模型。)...TCP/IP软件的最底层,负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。...HTTP(超文本传输协议):是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。...HTTP协议详细规定了浏览器与服务器之间相互通信的规则,是万维网交换信息的基础。HTTP是基于请求-响应形式并且是短连接,并且是无状态的协议。...Socket连接是长连接,理论上客户端和服务器端一旦建立连接将不会主动断开此连接。Socket连接属于请求-响应形式,服务端可主动将消息推送给客户端。

92110

TCPIP 邮件

您的电子邮件程序使用不同的 TCP/IP 协议: 使用 SMTP 来发送邮件 使用 POP 从邮件服务器下载邮件 使用 IMAP 连接到邮件服务器 ---- SMTP - 简单邮件传输协议 SMTP 协议用于传输电子邮件...通常情况下,邮件会被送到一台邮件服务器(SMTP 服务器),然后被送到另一台(或几台)服务器,然后最终被送到它的目的地。...---- POP - 邮局协议 POP 协议被邮件程序用来取回邮件服务器上面的邮件。...IMAP 协议与 POP 协议之间的主要差异是:如果 IMAP 连上了邮件服务器,它不会自动地将邮件下载到邮件程序之中。 IMAP 使您有能力在下载邮件之前先通过邮件服务器端查看他们。...比方说您需要从不同的位置访问邮件服务器,但是仅仅希望回到办公室的时候再下载邮件,IMAP 在这种情况下会很有用。

89130

TCPIP协议

第一次握手:客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq...=y),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED...握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。 ?   ...192.168.95.11       test.com     当我们访问test.com 的时候,电脑便不会去外网服务器上查询了,直接去访问192.168.95.11。

56930
领券