七.现在我们讲一下什么叫做分用,分用其实就是一个数据传递的过程。这样的一个数据传递是逆过程的,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(D e m u l t i p l e x i n g),如图所示:这样大家也好看得更明白一些。不知细心的朋友看到没有,在这里的igmp和icmp定位,实际上他们都是被封装在数据包中的,与ip位于同一层,是ip的从属协议,这里不要混淆了。我在开始就讲过:大部分的网络应用程序都是被设计成客户端和服务器端的这种模型。具体为什么我也不知道,有点抽象:为了适应某些特定的服务。可以将这种服务分为两种类型:重复型或并发型。重复型服务器通过以下步骤进行交互:重复型服务器通过以下步骤进行交互:I1. 等待一个客户请求的到来。I2. 处理客户请求。I3. 发送响应给发送请求的客户。并发型服务器采用以下步骤:C1. 等待一个客户请求的到来。C2. 启动一个新的服务器来处理这个客户的请求。在这期间可能生成一个新的进程、任务或线程,并依赖底层操作系统的支持。这个步骤如何进行取决于操作系统。生成的新服务器对客户的全部请求进行处理。处理结束后,终止这个新服务器。C3. 返回C 1步。并发型服务器采用以下步骤:C1. 等待一个客户请求的到来。C2. 启动一个新的服务器来处理这个客户的请求。在这期间可能生成一个新的进程、任务或线程,并依赖底层操作系统的支持。这个步骤如何进行取决于操作系统。生成的新服务器对客户的全部请求进行处理。处理结束后,终止这个新服务器。C3. 返回C 1步。一般来说, T C P服务器是并发的,而U D P服务器是重复的,但也存在一些例外。八.现在讲一下什么是端口号,这块可能很多人都比较清楚了,哪一些端口是做什么用的。我认为大家已经基本了解端口的一些基本知识,如果你有什么疑问,可以找一些其他资料来看。任何TC P / I P实现所提供的服务都用知名的1~1 0 2 3之间的端口号。这些知名端口号由I n t er n e t号分配机构(Internet Assigned Numbers Authority,IANA)来管理,服务器一般都是通过知名端口号来识别的,但是客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。客户端口号又称作临时端口号(即存在时间很短暂)。这是因为它通常只是在用户运行该客户程序时才存在,而服务器则只要主机开着的,其服务就运行。大多数TC P / I P实现给临时端口分配1 0 2 4~5 0 0 0之间的端口号。但也有例外,比如有名的Solaris 2.2,U n ix系统有保留端口号的概念。只有具有超级用户特权的进程才允许给它自己分配一个保留端口号。具体的我也不清楚,呵呵。