TCPIP协议学习笔记(一):OSI七层模型及TCP/IP五层模型

TCP/IP协议学习笔记(一)

一、协议分层的作用

​ 两个实体之间要进行通信就需要有一个协议,而当该通信比较复杂时,就有必要将这个复杂的任务划分为多层。此时我们就需要有多个协议,每个层都有各自的协议。

二、OSI七层模型

​ OSI模型的作用就是展示两个不同的系统怎样才能够相互通信,且不需要改变底层硬件或软件的逻辑。OSI模型不是一个协议,它是一个为了更好理解并设计出灵活、文件且可互操作的网络体系结构而存在的模型。为OSI框架中的各种协议的创建提供基础,这才是OSI模型的本意。
TCPIP协议学习笔记(一):OSI七层模型及TCP/IP五层模型

​ 在学习分层结构时需要有一种思想,就是在数据传输时,从逻辑上看起来就像时一台机器中的第x层与另一台机器中的第x层之间在相互通信。但实际上他们的传输还是会通过底层传输。

TCPIP协议学习笔记(一):OSI七层模型及TCP/IP五层模型

​ 层与层之间通过接口传递数据。每个接口都定义了该层必须向它的上层提供什么样的信息和服务。定义清晰明确的接口和功能可以使网络模块化。只要该层向它的上层提供了预期的服务,层功能的具体实现时可以修改和替换的,而不需要对周围的其他层进行改动。

​ 数据在层与层之间传输时,每一层都可以在数据单元上附加一个首部,第二层还要加上尾部。当这样格式化的数据单位通过物理层时,就转换为电磁信号并沿着一条物理链路传输。

TCPIP协议学习笔记(一):OSI七层模型及TCP/IP五层模型

封装的概念:第N层的分组中的数据部分就是N+1层的完整分组(数据和开销)。

各层的功能

TCPIP协议学习笔记(一):OSI七层模型及TCP/IP五层模型

二、TCP/IP协议的层次

  • 应用层(http,ftp,ssh)

  • 传输控制层(UDP,TCP)

  • 网络层

  • 链路层

  • 物理层

其中,链路层网络层传输控制层为内核(kernel)区域。

链路层的通信单位是帧,网路层的通信单位是数据报,运输层的通信单位是报文段,应用层是报文。

2.1 TCP/IP协议族和OSI的比较:

TCPIP协议学习笔记(一):OSI七层模型及TCP/IP五层模型
​ 合并的原因有两个。首先TCP/IP有多个运输层传输协议,而会话层的某些功能在一些运输层协议中已经具备;

其次,应用层并不仅仅是一个软件,这一层允许开发的应用程序有很多,如果特定的应用程序开发需要用到会话层和表示层的某些功能,那么这些功能也可以包含在该应用软件中开发。

2.2 各层的功能和特性

​ 2.2.1 物理层

​ 在物理层,TCO/IP没有定义任何特定的协议。它支持所有标准和专用的协议。这一层中,通信发生在两跳或两个结点之间,可能是计算机,可能是路由器。物理层的通讯单位是比特。如果一个结点与n条链路相连,那么他需要n个物理层协议,每条链路各需要一个,原因在于不同链路可能使用不同的物理层协议

​ 2.2.2 数据链路层

​ 在数据链路层,TCO/IP也没有定义任何特定的协议。它支持所有标准和专用的协议。通信仍发生在两跳或两个结点之间,不过通信的单位却是被称为的分组。一个帧就是封装了来种子网络层的数据的分组,为其附加一个首部,有时候还要附加一个尾部。在首部中,除了一些通信要用到的信息之外,最主要还是包括了这个帧的源地址和目的地址

​ 帧在不同链路上传播时可能不同。因为不同链路可能使用不同的协议,因此当帧传输到一个结点时会被打开,数据被卸下,然后将其交给下一个链路层协议,从而生成一个新帧。

​ 2.2.3 网络层

​ 在网络层,TCP/IP支持的是网际协议。网际协议是TCP/IP协议所使用的传输机制。IP传输的是称为数据报的分组,每个数据报独立传输,不同的数据报可以走不同的路由,也可能不按顺序的到达,也可能重复。IP不会跟踪记录这些数据报经过的路由,并且在它们到达终点后,IP也不具备按原顺序重排的能力。

​ 网络层通信与数据链路层和物理层通信之间有一个很大的区别。网络层上的通信是端到端的通信,而另外两层上的通信是结点到结点。从计算机A发送的数据报就是最后到达计算机B的数据报。

​ 2.2.4 运输层

​ 运输层和网络的一个重要区别在于,网络中所有的结点都必须有网络层,而只有两端的计算机才需要运输层。运输层要将完整的报文段从计算机A交付给计算机B。一个报文段可能包含几个到几十个数据报。报文段要拆分成多个数据报,再递交给网络层来传输。因为网际协议会为每个数据报指定不同的路由,所以这些数据报可能失序到达,也可能丢失。计算机B的运输层需要等待所有数据报全部到达后进行重装,从而得到报文段。
TCPIP协议学习笔记(一):OSI七层模型及TCP/IP五层模型

​ 运输层传统上有两个协议:用户数据报协议(UDP)和传输控制协议(TCP)。UDP:丢包不会重传。常用于发送语音、视频。

​ 2.2.5 应用层

​ 应用层使用户能够获得网络所提供的服务,无论时此处所举的专用互联网还是全球因特网。这一层定义了许多协议以提供诸如电子邮件、文件传送及访问全球万维网的服务。次层的通信也是由端到端的,计算机A生成的报文无修改的传送到计算机B。

2.3 不同层次的协议

TCPIP协议学习笔记(一):OSI七层模型及TCP/IP五层模型
TCPIP协议学习笔记(一):OSI七层模型及TCP/IP五层模型

三、编址
运输层将来自应用层的数据封装成一个分组,并加入两个端口地址(源端口地址和目的端口地址);网络层将来自运输层的分组又与逻辑地址(逻辑源地址和逻辑目的地址)封装成一个新的分组;最后这个分组与物理源地址和下一跳的物理目的地址一起封装成一个帧。注意物理地址再标记为因特网的图示中是逐跳变化的,但逻辑地址和端口地址保持不变。

(逻辑源地址和逻辑目的地址)封装成一个新的分组;最后这个分组与物理源地址和下一跳的物理目的地址一起封装成一个帧。注意物理地址再标记为因特网的图示中是逐跳变化的,但逻辑地址和端口地址保持不变。