T C P和U D P是两种最为著名的运输层协议,二者都使用I P作为网络层协议。虽然T C P使用不可靠的I P服务,但它却提供一种可靠的运输层服务。
2.UDP协议
U D P为应用程序发送和接收数据报。一个数据报是指从发送方传输到接收方的一个信息
单元,U D P是不可靠的,它不能保证数据报能安全无误地到达最终目的。
3.IP
3.IP协议
I P是网络层上的主要协议,同时被T C P和U D P使用。T C P和U D P的每组数据都通过端系统和每个中间路由器中的I P层在互联网中进行传输。
4.ICMP协议
I C M P是I P协议的附属协议。I P层用它来与其他主机或路由器交换错误报文和其他重要信息。P i n g和Tr a c e r o u t e都使用了I C M P。
5.IGMP协议
I G M P是I n t e r n e t组管理协议。它用来把一个U D P数据报多播到多个主机。
6.ARP和RARP协议
A R P(地址解析协议)和R A R P(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换I P层和网络接口层使用的地址。
四.互联网的地址
1.五类互联网地址图示
2. IP地址分类
有3类IP地址,分别为:
• 单播地址:目标是单个主机;
• 广播地址:目的端为给定网络上的所有主机;
• 多播地址:目的端为同一组内的所有主机。
五.域名系统
在T C P / I P领域中,域名系统( D N S)是一个分布的数据库,由它来提供I P地址和
主机名之间的映射信息。
域名系统( D N S)是一个分布的数据库,由它来提供I P地址和主机名之间的映射信息。大多数使用主机名作为参数的应用程序也可以把I P地址作为参数。、当我们用Te l n e t进行远程登录时,既可以指定一个主机名,也可以指定一个I P地址。
六.封装
当应用程序用T C P传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作
一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部
信息)。T C P传给I P的数据单元称作T C P报文段或简称为T C P段(T C Ps e g m e n t)。I P传给网络接口层的数据单元称作I P数据报(IP datagram)。通过以太网传输的比特流称作帧(Fr a m e )。
以太网数据帧的物理特性是其长度必须在4 6~1 5 0 0字节之间。
I P和网络接口层之间传送的数据单元应该是分组( p a c k e t)。分组既可以是一个I P数据报,也可以是I P数据报的一个片(f r a g m e n t)。
由于T C P、U D P、I C M P和I G M P都要向I P传送数据,因此I P必须在生成的I P首部中加入某种标识,以表明数据属于哪一层。为此, I P在首部中存入一个长度为8 b i t的数值,称作协议域。1表示为I C M P协议, 2表示为I G M P协议, 6表示为T C P协议, 1 7表示为U D P协议。
服务器一般都是通过知名端口号来识别的。例如,对于每个T C P / I P实现来说, F T P服务器的T C P端口号都是2 1,每个Te l n e t服务器的T C P端口号都是2 3,每个T F T P (简单文件传送协议)服务器的U D P端口号都是6 9。任何T C P / I P实现所提供的服务都用知名的1~1 0 2 3之间的端口号。这些知名端口号由I n t e r n e t号分配机构( Internet Assigned Numbers Authority, IANA)来管理。
到1 9 9 2年为止,知名端口号介于1~2 5 5之间。2 5 6~1 0 2 3之间的端口号通常都是由U n i x系统占用,以提供一些特定的U n i x服务。
2. 客户端口号
客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以
了。客户端口号又称作临时端口号(即存在时间很短暂)。
大多数T C P / I P实现给临时端口分配1 0 2 4~5 0 0 0之间的端口号。大于5 0 0 0的端口号是为其他服务器预留的( I n t e r n e t上并不常用的服务)。
十.标准化过程
负责Internet技术的四个小组如下:
1. Internet协会(I S O C,Internet Society)
它是一个推动、支持和促进I n t e r n e t不断增长和发展的专业组织,它把I n t e r n e t作为全球研究通信的基础设施。
2. Internet体系结构委员会(I A B,Internet Architecture Board)
它是一个技术监督和协调的机构。它由国际上来自不同专业的1 5个志愿者组成,其职能是负责I n t e r n e t标准的最后编辑和技术审核。I A B隶属于I S O C。
3. Internet工程专门小组(I E T F,Internet Engineering Task Force)
它是一个面向近期标准的组织,它分为9个领域(应用、寻径和寻址、安全等等)。I E T F开发成为I n t e r n e t标准的规范。为帮助IETF主席,又成立了Internet工程指导小组(IESG, Internet Engineering Steering Group)。
4. Internet研究专门小组(IR I F,Internet Research Task Force)
主要对长远的项目进行研究。
I RT F和I E T F都隶属于I A B。
十一. RFC
所有关于I n t e r n e t的正式标准都以R F C(Request for Comment)文档出版。下面是一些重要的R F C文档:
1. 赋值R F C(Assigned Numbers RFC)
列出了所有I n t e r n e t协议中使用的数字和常数。
2. I n t e r n e t正式协议标准
目前是RFC 1600[Postel 1994]。这个R F C描述了各种I n t e r n e t协议的标准化现状。每种协议都处于下面几种标准化状态之一:标准、草案标准、提议标准、实验标准、信息标准和历史标准。另外,对每种协议都有一个要求的层次、必需的、建议的、可选择的、限制使用的或者不推荐的。
3. 主机需求R F C,11 2 2和1123[Braden 1989a, 1989b]
RFC 11 2 2针对链路层、网络层和运输层;RFC 11 2 3针对应用层。这两个R F C对早期重要的R F C文档作了大量的纠正和解释。
4. 路由器需求R F C
目前正式版是RFC 1009[Braden and Postel 1987],它与主机需求R F C类似,但是只单独描述了路由器的需求。
十二. 标准的简单服务
大多数服务都提供的简单服务见下表:
名字
TCP端口号
UDP端口号
RFC
描述
e c h o
7
7
862
服务器返回客户发送的所有内容
d i s c a r d
9
9
863
服务器丢弃客户发送的所有内容
d a y t i m e
13
13
867
服务器以可读形式返回时间和日期
c h a r g e n
19
19
864
当客户发送一个数据报时, T C P服务器发
送一串连续的字符流,直到客户中断连接。
U D P服务器发送一个随机长度的数据报
t i m e
37
37
868
服务器返回一个二进制形式的32 bit 数,
表示从U T C时间1 9 0 0年1月1日午夜至今的秒
数
如果仔细检查这些标准的简单服务以及其他标准的T C P / I P服务(如Te l n e t、F T P、
S M T P等)的端口号时,我们发现它们都是奇数。这是有历史原因的,因为这些端口号
都是从N C P端口号派生出来的(N C P,即网络控制协议,是A R PA N E T的运输层协议,
是T C P的前身)。N C P是单工的,不是全双工的,因此每个应用程序需要两个连接,需
预留一对奇数和偶数端口号。当T C P和U D P成为标准的运输层协议时,每个应用程序
只需要一个端口号,因此就使用了NCP中的奇数。
十三. 互联网
i n t e r n e t意思是用一个共同的协议族把多个网络连接在一起。而I n t e r n e t指的是世界范围内通过T C P / I P互相通信的所有主机集合(超过1 0 0万台)。I n t e r n e t是一个i n t e r n e t,但i n t e r n e t不等于I n t e r n e t。
十四. 应用编程接口
使用T C P / I P协议的应用程序通常采用两种应用编程接口( A P I):s o c k e t和T L I(运输层接口:Transport Layer Interface)。
十五. 小结
T C P / I P协议族分为四层:链路层、网络层、运输层和应用层,每一层各有不同的责任。
在T C P / I P中,网络层和运输层之间的区别是最为关键的:网络层( I P)提供点到点的服务,而运输层( T C P和U D P)提供端到端的服务。