本文是观看五层模型的总结梳理html
网络传输协议(network communacations protocol):是为了计算机网络中进行数据交换而创建的规则,标准或者说约定的集合。
经常使用的互联网协议:> http; tcp; udp; ip;网络
如上图所示,最下面的一层是物理层也叫实体层,最上面的叫应用层(application layer),中间的自下而上分别是 连接层(link layer),网络层(network layer),和"传输层"(transport layer)。越下面的层,越靠近底层;相反越上面越靠近用户。架构
每一层都是为了完成一种功能。为了实现这些功能,就须要你们都遵照共同的规则。你们都遵照的规则,就叫作"协议"(protocol)。app
电脑要组网,首先要把电脑链接起来,利用网线,无线网等方式
这就是物理层,它就是把电脑相互链接起来的物理手段,它主要规定了网络的一些电气特性,做用是负责传送0和1的电信号。tcp
单纯的0和1没有任何意义,必须规定解读方式:多少个电信号算一组?每一个电信号有什么意义?
*这就是Link Layer的功能,它在物理层的上方,肯定了0,1的分组方式(method)ui
早期的时候,每家公司都有本身的电信号分组方式。逐渐地,一种叫作"以太网"(Ethernet)的协议,占据了主导地位。
以太网规定,一组电信号构成一个数据包,叫作"帧"(Frame)。每一帧分红两个部分:标头(Head)和数据(Data)。
"head" 包含数据包的一些说明项,好比发送者,接受者,数据类型等;"data" 则是数据包的具体内容。网络传输协议
上面提到,以太网数据包的"标头",包含了发送者和接受者的信息。那么,发送者和接受者是如何标识呢?计算机网络
以太网规定,连入网络的全部设备,都必须具备"网卡"接口。数据包必须是从一块网卡,传送到另外一块网卡。网卡的地址,就是数据包的发送地址和接收地址,这叫作MAC地址。
每块网卡出厂的时候,都有一个全世界独一无二的MAC地址,长度是48个二进制位,一般用12个十六进制数表示。
前6个十六进制数是厂商编号,后6个是该厂商的网卡流水号。有了MAC地址,就能够定位网卡和数据包的路径了。code
首先,一块网卡怎么会知道另外一块网卡的MAC地址?htm
回答是有一种ARP协议,能够解决这个问题。这个留到后面介绍,这里只须要知道,以太网数据包必须知道接收方的MAC地址,而后才能发送。
其次,就算有了MAC地址,系统怎样才能把数据包准确送到接收方?
回答是以太网采用了一种很"原始"的方式(向同一个网络下的全部计算机发送数据包,只有当Head中的接收方MAC和自身相同时才会保留,不然就丢弃),它不是把数据包准确送到接收方,而是向本网络内全部计算机发送,让每台计算机本身判断,是否为接收方。
数据链路层 有它的主要局限性:只能在发送者所在的子网络下才能进行链接,因此就有了网络层的诞生——可以区分MAC是否在同一子网络,不在就采用路由方式发送。
IP协议就是用来规定网络地址的protocol。
具体来讲,IP数据包也分为"标头"和"数据"两个部分。
"标头"部分主要包括版本、长度、IP地址等信息,"数据"部分则是IP数据包的具体内容。它放进以太网数据包后,以太网数据包就变成了下面这样。
如何获取对方的mac address不是本人呢研究要点能够参考百度
上述已经解决了电脑之间的相互通讯问题,可是电脑上确定不止一个Application须要联网。好比,你一边浏览网页,一边与朋友在线聊天,那么就要判断当一个数据包从网络上发来的时候它表示的是网页内容仍是聊天信息。
换句话说咱们还须要一个parameter来表示data package是给谁用的。这个parameter叫port
这里面流行的有TCP和UDP协议。
UDP数据包,也是由"标头"和"数据"两部分组成。
"标头"部分主要定义了发出端口和接收端口,"数据"部分就是具体的内容。而后,把整个UDP数据包放入IP数据包的"数据"部分,而前面说过,IP数据包又是放在以太网数据包之中的,因此整个以太网数据包如今变成了下面这样:
TCP数据包和UDP类似,不在多说。
应用程序收到"传输层"的数据,接下来就要进行解读。因为互联网是开放架构,数据来源五花八门,必须事先规定好格式,不然根本没法解读。
也就是说应用层的做用就是规定应用程序的数据格式。
应用程序收到"传输层"的数据,接下来就要进行解读。因为互联网是开放架构,数据来源五花八门,必须事先规定好格式,不然根本没法解读
举例来讲,TCP协议能够为各类各样的程序传递数据,好比Email、WWW、FTP等等。那么,必须有不一样协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了"应用层"。
这是最高的一层,直接面对用户。它的数据就放在TCP数据包的"数据"部分。所以,如今的以太网的数据包就变成下面这样。
这是自下而上的视角,从用户的角度可观阅阮一峰写的互联网协议入门(二)