TCP 数据包 中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重 传。 TCP 将它的信息送到更高层的应用程序,例如 Telnet 的服务程序和客户程序。 应用程序轮流将信息送回 TCP 层,TCP 层便将它们向下传送到 IP 层,设备驱动 程序和物理介质,最后到接收方。 面向连接的服务(例如 Telnet、FTP、rlogin、X Windows 和 SMTP)需要高度的 可靠性,所以它们使用了 TCP。DNS 在某些情况下使用 TCP(发送和接收域名数 据库) ,但使用 UDP 传送有关单个主机的信息。 3.UDP UDP 是面向无连接的通讯协议,UDP 数据包括目的端口号和源端口号信息,由于 通讯不需要连接,所以可以实现广播发送。 UDP 通讯时不需要接收方确认,属于不可靠的传输,可能会出丢包现象,实际应 用中要求在程序员编程验证。 UDP 与 TCP 位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP 不被 应用于那些使用虚电路的面向连接的服务,UDP 主要用于那些面向查询---应答 的服务,例如 NFS。相对于 FTP 或 Telnet,这些服务需要交换的信息量较小。使 用 UDP 的服务包括 NTP(网络时间协议)和 DNS(DNS 也使用 TCP) 。 欺骗 UDP 包比欺骗 TCP 包更容易,因为 UDP 没有建立初始化连接(也可以称为握 手) (因为在两个系统间没有虚电路) ,也就是说,与 UDP 相关的服务面临着更大 的危险。 4.ICMP ICMP 与 IP 位于同一层,它被用来传送 IP 的的控制信息。它主要是用来提供有 关通向目的地址的路径信息。ICMP 的‘Redirect’信息通知主机通向其他系统 的更准确的路径,而‘Unreachable’信息则指出路径有问题。另外,如果路径 不可用了,ICMP 可以使 TCP 连接‘体面地’终止。