TCP/IP协定,或称为TCP/IP协定栈,或网际网路协定系列。TCP/IP协定栈(按TCP/IP参考模型划分),TCP/IP分为4层,不同于OSI,他将OSI中的会话层、表示层规划到套用层。
基本介绍
- 中文名:tcp/ip协定栈
- 外文名:tcp/ip treaty series
- 或称为:TCP/IP协定栈,网际网路协定系列
- 包含了:一系列构成网际网路基础的网路协定
- 发源于:美国国防部的DARPA网际网路项目
简介
- 套用层FTP SMTP HTTP ...
- 传输层TCP UDP
- IP网路层IP ICMP IGMP
- 网路接口层ARP RARP乙太网令牌环FDDI ...
包含了一系列构成网际网路基础的网路协定。
这些协定最早发源于美国国防部的DARPA网际网路项目。
TCP/IP字面上代表了两个协定:TCP传输控制协定和IP网际网路协定。
时间回放到1983年1月1日,在这天,网际网路的前身Arpanet中,TCP/IP协定取代了旧的网路核心协定NCP(Network Core Protocol),从而成为今天的网际网路的基石。最早的的TCP/IP由Vinton Cerf和Robert Kahn两位开发,慢慢地通过竞争战胜了其它一些网路协定的方案,比如国际标準化组织ISO的OSI模型。TCP/IP的蓬勃发展发生在上世纪的90年代中期。当时一些重要而可靠的工具的出世,例如页面描述语言HTML和浏览器Mosaic,导致了网际网路套用的飞速发展。
IPv4最致命的两个缺陷在于:
- 地址只有32位,IP位址空间有限;
- 不支持服务等级(Quality of Service,Qos)的想法,无法管理频宽和优先权,故而不能很好的支持现今越来越多的实时的语音和视频套用。因此IPv6 (IP Version 6,IP版本六)浮出水面,用以取代IPv4。
TCP/IP成功的另一个因素在于对为数众多的底层协定的支持。这些底层协定对应与OSI模型 中的第一层(物理层)和第二层(数据链路层)。每层协定中,几乎有一半数量支持TCP/IP,例如:乙太网(Ethernet),令牌环(Token Ring),光纤数据分布接口(FDDI),端对端协定(PPP),X.25,帧中继(Frame Relay),ATM,Sonet,SDH等。
组成
TCP/IP协定栈组成:
整个通信网路的任务,可以划分成不同的功能块,即抽象成所谓的 ” 层”。用于网际网路的协定可以比照TCP/IP参考模型进行分类。TCP/IP协定栈起始于第三层协定IP(网际网路协定)。所有这些协定都在相应的RFC文档中讨论及标準化。重要的协定在相应的RFC文档中均标记了状态: “必须“ (required) ,“推荐“ (recommended) ,“可选“ (elective)。其它的协定还可能有“ 试验“(experimental) 或“ 历史“(historic) 的状态。
必须协定
所有的TCP/IP套用都必须实现IP和ICMP。对于一个路由器(router) 而言,有这两个协定就可以运作了,虽然从套用的角度来看,这样一个路由器 意义不大。实际的路由器一般还需要运行许多“推荐“使用的协定,以及一些其它的协定。
在几乎所有连线到网际网路上的计算机上都存在的IPv4 协定出生在1981年,今天的版本和最早的版本并没有多少改变。升级版IPv6 的工作始于1995年,目的在于取代IPv4。ICMP 协定主要用于收集有关网路的信息查找错误等工作。
可选协定
常用协定
支撑全球资讯网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,NTP。
无盘设备可能会在固件比如ROM中实现了ARP,IP,ICMP,UDP,BOOT,TFTP (均为面向数据报的协定,实现起来相对简单)。
推荐协定
每一个套用层(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协定上)。