2.1.2 组成层次
从协议分层模型上来讲,TCP/IP则是由四个层次来组成:网络层、传输层、应用层、网络接口层。
每一层都会负责不同的功能:
(1) 链路层
有时也会被称作为网络接口层或者是数据链路层,而链路层包括了操作系统中的计算机中对应的网络接口卡和设备的驱动程序。它们则会一起处理电缆(或是其他任何的传输媒介)的物理接口细节。
(2) 网络层
也称为互联网层,网络层的作用则是处理在分组网络中的活动,例如分组的选路等等。在TCP/IP协议族中,网络层协议包括ICMP协议(internet互联网控 制报文协议),I G M P协议(internet组管理协议)和I P协议(网际协议)。
(3) 运输层
运输层的主要作用则是为安装在两台主机上的应用程序提供端到端的通信。在T C P/I P协议族中,则会有两个互不相同的传输协议:U D P(用户数据报协议)和T C P协议(传输控制协议)。
T C P协议会提供数据通信给两台主机。TCP协议所做的主要工作是将应用程序传输的数据分为合适的小块,然后已经交给下面的网络层,并确认接收到了分组,然后设置最后已经确认分组的超时时钟等等。由于运输层会提供端到端的通信,因此应用层便可以忽略了所有的这些细节。
另一方面,U D P则可以提供一种很简单的服务给应用层。而UDP的作用则是把称作为数据报的分组,从一台主机发送到了另一台主机上,但这并不能保证该数据报可以到达到另一端。任何非常重要的可靠性则一定由应用层来提供。这两种运输层协议在不同的应用程序中仍然可以发挥着不同的用途[3]。
(4) 应用层
应用层会负责处理特定的应用程序具体细节。几乎各种不同T C P / I P协议的实现都会提供下面的这些通用的应用程序:
• FTP 文件传输协议。
• SNMP 简单网络管理协议。
•Telnet 远程登录。
• SMTP 简单邮件传送协议。
2.1.3 TCP/IP分层图示
在T C P / I P协议族中,有很多种协议。图1 - 1给出了TCP/IP协议族中不同层次的协议。
图1 - 1 TCP/IP协议族中不同层次的协议
U D P协议和T C P协议是两种最为出名的运输层协议,二者都是使用I P来作为网络层协议。TCP协议可以提供一种非常可靠的运输层服务,虽然T C P是使用不可靠的I P服务。
U D P协议可以为应用程序发送和接收数据报。一个数据报则是将一个信息单元从发送方传输到接收方(例如,发送方是指定的一定字节数的信息)。但是与T C P协议不同的是,U D P协议是非常的不可靠,此协议不能确保数据报能非常安全地到达最终目的。
I P协议在网络层上作为主要协议,同时被T C P协议和U D P协议使用。T C P协议和U D P协议的每组数据都通过端系统和每个中间路由器中的I P协议层在互联网中进行传输。在图1-1中给出了一个直接访问I P协议的应用程序。这是很少见的,但也是可能的(一些较老的选路协议就是以这种方式来实现的。当然新的运输层协议也有可能使用这种方式)。
ICMP协议的附属协议是I P协议。I P协议层则会用它来与其他路由器或主机交换错误报文和其他重要信息。它是internet组管理协议。它用来把一个U D P协议数据播到多个主机。
RARP协议(逆地址解析协议)和ARP协议(地址解析协议)是某些网络接口(如令牌环网和以太网)使用的特殊协议,用来转换网络接口层使用和I P协议层的地址。
2.2 Socket
2.2.1 socket概述
Socket的英文意思是“插座”或“孔”。这里作为4BDS UNIX的进程通信机制,则取后一种的意思。通常用于描述IP地址和端口,也称作套接字,它也是一个通信链的句柄。在Internet上的主机一般会运行很多个的服务软件,同时也会提供几种服务。每种服务都会打开一套接字Socket,并会绑定到一个特定的端口上,不同的端口则是会对应于不同的服务。Socket的意思正如其英文原意那样,像一个多孔的插座。一台主机则犹如布满了各种插座的房间,每个插座都会有一个编号,有的插座会提供220伏的交流电,有的则是提供110伏的交流电,有的则是提供有线电视节目。客户软件将插头插到不同的插座,就当然就会有不一样的服务[4]。 C++无线数据传输系统设计+文献综述(4):http://www.751com.cn/tongxin/lunwen_4800.html