最近项目中,常常会接触到到TCP/IP协议,大学期间学过一些计算机的网络基础,但是时间有些久远了,感觉印象十分的模糊了。很多东西都是隐隐约约若有若无的,所以想着重新系统的学习一下,把已经有些遗忘的东西再捡起来。希望在这里能做些记录,也能给有些与我同样情况的“同道中人”一些修炼的参考!
TCP/IP 通常被认为是一个四层协议系统,每一层负责不同的功能:
- 链路层, 有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。
- 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在
TCP/IP协议族中,网络层协议包括 I P协议(网际协议), I C M P协议(Internet互联网控
制报文协议),以及I G M P协议(Internet 组管理协议)。 - 运输层主要为两台主机上的应用程序提供端到端的通信。在 T C P / I P协议族中,有两个
互不相同的传输协议: T C P(传输控制协议)和 U D P(用户数据报协议)。
T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分
成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟
等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。
而另一方面, U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组
从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠
性必须由应用层来提供。 - 应用层负责处理特定的应用程序细节。几乎各种不同的 T C P / I P实现都会提供下面这些
通用的应用程序:
• Telnet 远程登录。
• FTP 文件传输协议。
• SMTP 简单邮件传送协议。
• SNMP 简单网络管理协议。
大多数的网络应用程序都被设计成客户—服务器模式,服务器为客户提供某种服务。在同一层上,双方都有对应的一个或多个协议进行通信。应用程序通常是一个用户进程,而下三层则一般在(操作系统)内核中执行。尽管这不是必需的,但通常都是这样处理的。顶层与下三层之间还有另一个关键的不同之处。应用层关心的是应用程序的细节,而不是数据在网络中的传输活动。下三层对应用程序一无所知,但它们要处理所有的通信细节。
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))。
以上就是TCP/IP最基础的分层知识,在这里对该协议应该已经有了最基本的认识,认识到TCP/IP分了哪些层,每一层对应什么功能,是做什么的,以及在每层我们常见的协议类型。这里面的概念或者知识点比较抽象,可能需要大家静下心来多思考领悟。希望和大家一起,探索互联网的奥秘!