这个tcp/ip的教程时主要是考虑到现在的网际网路几乎全都是基于tcp/ip协议的,所以我们应该明白的一点就是这个tcp/ip的架构究竟是什么?它怎样为我们服务。它成为被称作“全球互联网”或“因特网(Internet)”的基础,能够将绝大部分的计算机连接起来,不管你用什么操作系统,可见tcp/ip体系是本世纪互联网发展的根本基石。对于网络程序员来说;了解tcp/ip的机理,可以有构造任何网络应用程序的基本要素,什么winsocket,串口通讯等等甚至木马,你都会迎刃而解。
一
首先说说网络协议的层次,网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如T C P / I P,是一组不同层次上的多个协议的组合。
(1) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
(2) 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在T C P / I P协议族中,网络层协议包括I P协议(网际协议),I C M P协议(I n t e r n e t互联网控制报文协议),以及I G M P协议(I n t e r n e t组管理协议)。
(3)运输层,主要为两台主机上的应用程序提供端到端的通信。在T C P / I P协议族中,有两个互不相同的传输协议: T C P(传输控制协议)和U D P(用户数据报协议)。T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。而另一方面, U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。
应用层 Telnet、FTP和e-mail等
运输层 TCP和UDP
网络层 IP、ICMP和IGMP
链路层 设备驱动程序及接口卡
(4)应用层,负责处理特定的应用程序细节。几乎各种不同的T C P / I P实现都会提供下面这些通用的应用程序:?Telnet 远程登录,FTP 文件传输协议,SMTP 简单邮件传送协议,SNMP 简单网络管理协议,现在想要给大家说的是大多数的网络应用程序都被设计成客户—服务器模式在同一层上,双方都有对应的一个或多个协议进行通信。例如,某个协议允许T C P层进行通信,而另一个协议则允许两个I P层进行通信。
这里实际上就是说应用层本身本不注意数据的传递和交换,它一般只是一个用户进程,而上面我提到的运输层及其以下的三层的目的就是处理通信的过程,他们不管你应用程序的事,分工明确。