文章插图
【TCP/IP】TCP/IP协议,包含了一系列构成互联网基础的网络协议 。这些协议最早发源于美国国防部的ARPA网项目 。TCP/IP字面上代表了两个协议:TCP(传输控制协议)和IP(网际协议) 。1983年1月1日,在因特网的前身ARPA网中,TCP/IP协议取代了旧的网络核心协议(NCP,Network Core Protocol),从而成为今天的互联网的基石 。最早的TCP/IP由Vinton Cerf和Robert Kahn两位开发,慢慢地通过竞争战胜了其它一些网络协议的方案,比如国际标准化组织ISO的OSI模型 。TCP/IP的蓬勃发展发生在上世纪的90年代中期 。当时一些重要而可靠的工具的出世,例如页面描述语言HTML和浏览器Mosaic,导致了互联网应用的飞速发展 。随着互联网的发展,目前流行的IPv4协议(网际协议版本四)已经接近它的功能上限 。IPv4最致命的两个缺陷在与:
? 地址只有32位,IP地址空间有限
? 不支持服务等级(Quality of Service, QoS)的想法,无法管理带宽和优先级,故而不能很好的支持现今越来越多的实时的语音和视频应用 。因此IPv6(网际协议版本六)浮出海面,用以取代IPv4 。
TCP/IP成功的另一个因素在与对为数众多的低层协议的支持 。这些低层协议对应与OSI模型 中的第一层(物理层)和第二层(数据链路层) 。每层的所有协议几乎都有一半数量的支持TCP/IP,例如: 以太网(Ethernet),令牌环(Token Ring),光纤数据分布接口(FDDI),端对端协议(PPP),X.25,帧中继(frame Relay),ATM,Sonet, SDH等 。
TCP/IP协议栈组成
整个通信网络的任务,可以划分成不同的功能区块,即所谓的层级(layer)。用于互联网的协议可以比照TCP/IP参考模型进行分类 。TCP/IP协议栈起始于第三层协议IP(网际协议) 。所有这些协议都在相应的RFC文档中讨论及标准化 。重要的协议在相应的RFC文文件中均标记了状态: “必须”(required),“推荐”(recommended),“可选”(elective)。其它的协议还可能有“试验”(experimental) 或“历史”(historic) 的状态 。”
必须协议
所有的TCP/IP应用都必须实现IP和ICMP 。对于一个路由器(router)而言,有这两个协议就可以运作了,虽然从应用的角度来看,这样一个路由器 意义不大 。实际的路由器一般还需要运行许多“推荐“使用的协议,以及一些其它的协议 。几乎所有连接到互联网上的计算机上都存在的IPv4协议出生在1981年,今天的版本和最早的版本并没有多少改变 。升级版IPv6的工作始于1995年,目的在与取代IPv4 。ICMP协议主要用于收集有关网络的信息查找错误等工作 。
推荐协议
每一个应用层(TCP/IP参考模型 的最高层) 一般都会使用到两个传输层协议之一: 面向连接的TCP传输控制协议和无连接的包传输的UDP用户数据报文协议。其它的一些推荐协议有:
? TELNET(Teletype over the Network, 网络电传),通过一个终端(terminal)登陆到网络(运行在TCP协议上) 。
? FTP(File Transfer Protocol, 文件传输协议),由名知义,用于文件传输,运行在TCP协议上 。
? SMTP (Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件(运行在TCP协议上)。
? DNS (Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上)。
? ECHO (Echo Protocol, 回绕协议),用于查错及测量应答时间(运行在TCP和UDP协议上)。
? NTP (Network Time Protocol,网络时间协议),用于网络同步(运行在UDP协议上)。
? SNMP (Simple Network Management Protocol, 简单网络管理协议),用于网络信息的收集和网络管理 。
? BOOTP (Boot Protocol,启动协议),应用于无盘设备(运行在UDP协议上) 。
可选协议
最常用的一些有
? 支撑万维网(WWW)的超文本传输协议HTTP,
? 动态配置IP地址的DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),
? 收邮件用的POP3 (Post Office Protocol, version 3, 邮局协议),
? 用于加密安全登陆用的SSH (Secure Shell,用于替代安全性差的TELNET),
? 用于动态解析以太网硬件的地址的ARP (Address Resolution Protocol,地址解析协议)。
范例: 不同计算机运行的不同协议
? 一个简单的路由器上可能会实现ARP, IP, ICMP, UDP, SNMP, RIP 。
? WWW用户端使用ARP, IP, ICMP, UDP, TCP, DNS, HTTP, FTP 。
? 一台用户电脑上还会运行如TELNET, SMTP, POP3, SNMP, ECHO, DHCP, SSH, NNTP 。
? 无盘设备可能会在固件比如ROM中实现了ARP, IP, ICMP, UDP, BOOT, TFTP (均为面向数据报的协议,实现起来相对简单) 。