1.TCP/IP的分层结构
网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。TCP/IP通常被认为是一个四层协议系统。
如图所示。
1)链路层(数据链路层或网络接口层),通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。
2)网络层(互联网层),处理分组在网络中的活动。
3)运输层,主要负责两台主机上的应用程序提供端到端的同信。(TCP(传输控制协议)UDP(用户数据包协议)。Transfer ControlProtocol,User Data Protocol
4)应用层,主要负责处理特定的应用程序细节。大部分TCP/IP实现都会提供以下通用程序:
· Telnet远程登陆
· FTP文件传输协议
· SMTP简单邮件传送协议
· SNMP简单网络管理协议
如上图所示,TCP/IP分层结构中,展示了主要协议的分布(TCP/IP协议远不止以上协议)
· TCP和UDP是两种最为著名的运输层协议,二者都使用IP作为网络层协议TCP使用不可靠的IP服务,但是却提供一种可靠的运输层服务
· UDP为应用程序发送和接收数据报。UDP是不可靠的,它不能保证数据报能安全无误的达到目的地。
· IP(网际协议)是网络层上的主要协议,同时被TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。
· ICMP(internet控制报文协议)是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。
· IGMP(internet组管理协议)。它用来把一个UDP数据多播到多个主机。
· ARP(地址解析协议)和RARP(逆地址解析协议)是网络接口使用的特殊协议,用来转换IP层和网络接口层使用的地址。
小结:FTP是一种应用层协议, TCP是一种运输层协议,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协议(InternetProtocol Suite))。
2.互联网的地址
互联网上的每个接口必须有一个唯一的internet地址(IP地址)。IPv4地址长32位。IP地址具有一定的结构。五类不同的互联网地址格式如下:
3.域名系统
DNS 是域名系统 (Domain NameSystem),它作为可以将域名和IP地址相互映射的一个分布式数据库,它来提供IP和主机之间的映射信息。任何应用程序都可以调用一个标准的库函数来查看给定名字的主机的I P地址。类似地,系统还提供一个逆函数—给定主机的I P地址,查看它所对应的主机名。大多数使用主机名作为参数的应用程序也可以把I P地址作为参数
4.封装
当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层,直接到当作一串比特流送入网络。其中每一层对收到的数据都要加一些首部信息(有时还要增加尾部信息),如图所示:
U DP数据与T C P数据基本一致。唯一的不同是U D P传给I P的信息单元称作U D P数据报(UDP datagram),而且U D P的首部长为8字节。
由于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或U D P来传送数据。运输层协议在生成报文首部时要存入一个应用程序的标识符。T C P和U D P都用一个1 6 b i t的端口号来表示不同的应用程序。T C P和U D P把源端口号和目的端口号分别存入报文首部中。
网络接口分别要发送和接收I P、A R P和R A R P数据,因此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此,以太网的帧首部也有一个16 bit的帧类型域。
5.分用
当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用( D e m u l t i p l e x i n g),图1 - 8显示了该过程是如何发生的。