概述
1.TCP/IP通常被认为是一个四层协议系统,每层系统负责不同功能:
1) 链路层或者物理层,通常包含操作系统中的设备驱动程序和计算机中对应的网络接口卡
2)网络层, 处理分组在网络中的活动,例如分组的选路,在TCP/IP协议族中, 网络层协议包括IP协议(网际协议), ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)
3)运输层 或传输层主要为两台主机上应用程序提供端到端的通信。在TCP/IP协议族中,有2个互不相同的传输协议:TCP(传输控制协议) 和UDP(用户数据报协议)
TCP提供端到端的可靠数据通信。 工作原理: 包应用程序交给它的数据分成合适的小块给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于
运输层提供高可靠的端到端的通信,因此应用层忽略所有这些细节
UDP为应用层提供一种简单的服务,工作原理:它包数据报文分组从一台主机发送到另一台主机,不保证数据是否能达到另一端,数据的可靠性必须有应用层来提供
4)应用层负责处理特定的应用程序细节.TCP/IP主要提供的应用程序有(Telnet FTP SMTP简单邮件传送协议 SNMP简单网络管理协议)
在图1 - 2中列举了四种不同层次上的协议。 F T P是一种应用层协议, T C P是一种运输层协议,I P是一种网络层协议,而以太网协议则应用于链路层上。 T C P / I P协议族是一组不同的协议组合在一起构成的协议族。尽管通常称该协议族为 T C P / I P,但T C P和I P只是其中的两种协议而已(该协议族的另一个名字是 I n t e r n e t协议族(Internet Protocol Suite))。
构造互联网最简单的方法是把两个或多个网路通过路由器进行连接。 路由器的好处是为不同类型的物理网络提供连接: 以太网,令牌环网。点对点的连接和FDDI(光纤分布式数据接口)
图1 - 3是一个包含两个网络的互连网:一个以太网和一个令牌环网,通过一个路由器互相连接。尽管这里是两台主机通过路由器进行通信,实际上以太网中的任何主机都可以与令牌环网中的任何主机进行通信
在图 1 - 3中,我们可以划分出端系统( End system )(两边的两台主机)和中间系统(Intermediate system)(中间的路由器)。应用层和运输层使用端到端( En d - t o - e n d)协议。在图中,只有端系统需要这两层协议。但是,网络层提供的却是逐跳( Ho p - b y - h o p)协议,两个端系统和每个中间系统都要使用它
在T C P / I P协议族中,网络层 I P提供的是一种不可靠的服务,不提供任何可靠性保证。
T C P在不可靠的I P层上提供了一个可靠的运输层。原理:T C P采用了超时重传、发送和接收端到端的确认分组等机制。由此可见,运输层和网络层分别负责不同的功能。
ICMP(Internet互联网控制协议)是IP协议的附属协议。IP层用他来与其他主机或路由器交换错误报文和其他重要信息
IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机。
ARP(地址解析协议) 和RARP(逆地址解析协议)
互联网上每个接口都是唯一的internet地址(也称作ip地址)。 ip地址长32bit 这些32位的地址通常写成四个十进制的数
因为互联网上的每个接口都是唯一的ip地址,因此必须要有一个管理机构为接入互联网的网络分配ip地址,这个管理机构是互联网络信息中心(Internet network information centre)称为interNIC。interNIC只分配网络号。主机号的分配有系统管理员来负责
I P地址有三类:单播地址(目的为单个主机)、广播地址(目的端为给定网络上的所有主机)以及多播地址(目的端为同一组内的所有主机)。
封装:
当应用程序用tcp传送数据时, 数据被送入协议栈中,然后逐个通过每一层直到被当做一串比特流送入网络。 其中每一层对收到的数据都要加上一些首部信息(有时候还要增加尾部信息),tcp传给ip的数据单元称为tcp报文或简称为TCP段(tcp segment)。ip传给网络接口层的数据单元称作为IP数据报(ip datagram)。通过以太网传输的比特称作帧(frame)
IP和网络接口层之间传送的数据单元应该是分组(packet) 分组既可以是一个IP数据报, 也可以是ip数据报的一个片(fragment)
由于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协议
许多应用程序都可以使用tcp或udp来传送数据,运输层协议在生成报文首部时要存入一个应用程序的标识符。tcp和udp都用一个16bit的端口号表示不同的应用程序。tcp和udp把源端口号和目的端口号分别存入报文首部中
网络接口分别要发送和接收ip ARP和RARP数据。因此也必须在以太网的帧首部中加入某种形式的标识。以表明生成数据的网络层协议。为此,以太网帧首部也是一个16bit的帧类型域。
分用:
当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识。以确定接收数据的上层协议。这个过程称为分用(Demultiplexing)
端口号:
前面已经指出,tcp和udp采用16bit端口号来识别应用程序。
服务器一般都是通过知名端口号来识别的,比如ftp服务器的tcp端口是21 Telnet服务器的tcp端口号23 TFTP(简单文件传送协议)服务器的UDP端口号都是69。任何tcp/ip实现所提供的服务都是知名的1~1023之间的端口号。这些知名的端口号有Internet号分配机构管理
标准化过程
究竟是谁控制着 T C P / I P协议族,又是谁在定义新的标准以及其他类似的事情?事实上,有四个小组在负责I n t e r n e t技术。
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。