五层网络模型

前言

整个互联网的实现都是建立在上面五层分层模型的基础上的,上面的每一层都要依靠下面的分层模型支持。每一层都是为了完成某个特定的功能,计算机之间要想建立通信都需要遵循约定好的协议,因此每一层都有约定好的协议(protocol)

物理层

物理层指的是把电脑连接起来的物理手段,常用的方式有光缆、电缆、双绞线、无线电波等,它们的作用是负责传送0和1的电信号

数据链路层

单纯的电信号0和1计算机是无法直接解读的,于是需要规定一种协议表示每个信号的意义,占据主导地位的是以太网协议,它规定了一组电信号构成一个数据包(叫做帧),每一帧都包含标头和数据两部分。"标头"包含数据包的发送者、接受者、数据类型等等;"数据"则是数据包的具体内容

有了数据包,接下来还需要知道接收方的地址。以太网规定,接入网络的的所有设备都必须有网卡接口,每个网卡都有一个唯一的MAC地址,数据包的传输是从一块网卡传到另一块网卡

有了MAC地址,接下来要想办法把数据传输过去。如果计算机在同一个子网内,可以通过ARP协议得到对方的MAC地址,然后通过广播的方式把数据包发送给子网内的所有计算机,计算机通过对比MAC地址信息,决定是否接受数据包。

网络层

以太网通过MAC地址的方式发送数据包会有一个缺陷,即如果两台计算机不在同一个子网内,广播是传不过去的。于是网络层引入了一套新的地址,能够区分不同计算机是否属于同一个子网,这套地址叫做“网络地址”,简称“网址”。现在每台计算机都有MAC地址和网络地址,两个地址本身没有联系的,MAC地址是绑定在网卡上的,而网络地址则是管理员分配的

规定网络地址的协议叫做IP协议,目前使用最广泛的是IPv4,它为每一台计算机分配IP地址,用于确定哪些地址在同一个子网络。

传输层

有了MAC地址和IP地址,互联网上的任意两台计算机之间都可以建立通信。现在的问题是计算机上的很多应用程序都需要联网,需要有一种方式确定数据包是要发送给哪个程序的,于是就有了端口。端口是每一个使用网卡程序的编号,不同的程序根据特定的端口号获取对应的数据包

传输层的作用就是建立端口和端口的通信,而网络层的作用是建立主机之间的通信。有了端口和主机,就可以实现软件之间的通信

传输层使用的最广泛的协议是TCP协议,这个协议要比同属传输层的UDP协议复杂,但是它们保证不会出现数据包丢失的情况

应用层

应用层的很多协议大家应该都听说过,比如FTP、HTTP这些都是应用层协议。它主要的作用是为了规定数据的格式,由于TCP协议可以传输任何数据,因此必须有不同的协议规定诸如电子邮件、网页、FTP数据的格式。

参考文章

互联网协议入门一
互联网协议入门二

原文地址:https://www.cnblogs.com/yesyes/p/15375851.html