各层功能:
- 链路层:也称为数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。他们一起处理与电缆或其他任何传输媒介的物理接口细节。
- 网络层:也称为互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议,ICMP协议,以及IGMP协议。
- 运输层:为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP和UDP。
- 应用层:负责处理特定的应用程序细节。
ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。尽管ICMP主要被IP使用,但应用程序也有可能访问它,ping和traceroute都是用ICMP。
IGMP是组管理协议。它用来把一个UDP数据包多播到多个主机。
互联网地址:
类型 | 范围 |
---|---|
A | 0.0.0.0到127.255.255.255 |
B | 128.0.0.0到191.255.255.255 |
C | 192.0.0.0到223.255.255.255 |
D | 224.0.0.0到239.255.255.255 |
E | 240.0.0.0到247.255.255.255 |
UDP数据与TCP数据基本一致。唯一的不同是UDP传给IP的信息单元称作UDP数据报,而且UDP的首部长度为8字节。
由于TCP、UDP、ICMP和IGMP都要向IP传送数据,因此IP必须在生成的IP首部中加入某种标识,以表明数据属于哪一层。为此,IP在首部中存入一个长度为8bit的数值,称作协议域。1表示ICMP协议,2表示IGMP协议,6表示TCP,17表示UDP协议。
应用程序使用TCP和UDP传送数据。运输层协议在生成报文首部时要存入一个应用程序的标识符,为16bit,称为端口号。
网络接口分别要发送和接收IP、ARP和RARP数据,因此也必须在以太网的帧首部加入某种形式的标识。
客户-服务器模型:
分为两种类型:重复型和并发型。
重复型服务器:
- 等待一个客户请求的到来。
- 处理客户请求。
- 发送响应给请求的客户。
- 返回第一步。
重复型服务器主要的问题发生在第二步。在这个时候,他不能为其他客户机提供服务。
并发性服务器:
- 等待一个客户请求的到来。
- 启动一个新的服务来处理这个客户的请求。在这期间可能生成一个新的进程、任务或线程,并依赖底层操作系统支持。这个步骤如何进行取决于操作系统。生成的新服务器对客户的全部请求进行处理。处理结束后,终止这个新服务器。
- 返回第一步。
其优点在于它是利用生成其他服务器的方法来处理客户的请求。也就是说,每个客户都有它自己对应的服务器。如果操作系统允许多任务,那么就可以同时为多个客户服务。
一般来说,TCP服务器是并发的,而UDP服务器是重复的,但也存在一些例外。
端口号:
知名端口:0-1023,由Internet号分配机构来管理。
大多数TCP\IP实现给临时端口分配1024-5000之间的端口号。大于5000的端口号是为其他服务(Internet并不常用的服务)
预留的。
大多数UNIX系统的文件/etc/services都包含了人们熟知的端口号。
%grep telnet /etc/services #查找Telent服务器的端口号。