Protocol(一)[概述]

1.网络概述

网络通讯协议图

1.1.协议

协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定,是为了使数据在网络上从源到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(protocol),它最终体现为在网络上传输的数据包的格式,其三要素是:语法、语义、时序。协议往往分成几个层次进行定义,分层定义是为了使某一层协议的改变不影响其他层次的协议。

1.2.协议的特点

  1. 协议中的每个人都必须了解协议,并且预先知道所要完成的所有的步骤。
  2. 协议中的每个人都必须同意并遵循它。
  3. 协议必须是清楚的,每一步必须明确定义,并且不会引起误解。

1.3.协议释义

从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定:
第一次,传输文件名,接收方接收到文件名,应答OK给传输方;
第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK;
第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。
由此,无论A、B之间传递何种文件,都是通过三次数据传输来完成。A、B之间形成了一个最简单的数据传输规则。双方都按此规则发送、接收数据。A、B之间达成的这个相互遵守的规则即为协议。
这种仅在A、B之间被遵守的协议称之为原始协议。
当此协议被更多的人采用,不断的增加、改进、维护、完善。最终形成一个稳定的、完整的文件传输协议,被广泛应用于各种文件传输过程中。该协议就成为一个标准协议。最早的ftp协议就是由此衍生而来。

1.4.典型协议


网络层级 常见协议
应用层 常见的协议有HTTP协议,FTP协议。
传输层 常见协议有TCP/UDP协议。
网络层 常见协议有IP协议、ICMP协议、IGMP协议。
链路层 常见协议有ARP协议、RARP协议。

协议名称 协议特性
TCP TCP传输控制协议(Transmission Control Protocol)是一种面向连接的、可靠的基于字节流传输层通信协议
UDP UDP用户数据报协议(User Datagram Protocol)是OSI参考模型中一种无连接传输层协议,提供面向事务简单不可靠信息传送服务
HTTP HTTP超文本传输协议(Hyper Text Transfer Protocol)是互联网上应用最为广泛的一种网络协议
FTP FTP文件传输协议(File Transfer Protocol)
IP IP协议是因特网互联协议(Internet Protocol)
ICMP ICMP协议是Internet控制报文协议(Internet Control Message Protocol)它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
IGMP IGMP协议是 Internet 组管理协议(Internet Group Management Protocol),是因特网协议家族中的一个组播协议。该协议运行在主机和组播路由器之间
ARP ARP协议是正向地址解析协议(Address Resolution Protocol),通过已知的IP,寻找对应主机的MAC地址
RARP RARP是反向地址转换协议,通过MAC地址确定IP地址

1.5.分层模型

1.5.1.网络分层架构

为了减少协议设计的复杂性,大多数网络模型均采用分层的方式来组织。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。每一层利用下一层提供的服务来为上一层提供服务,本层服务的实现细节对上层屏蔽。
网络分层架构
越下面的层,越靠近硬件;越上面的层,越靠近用户。


业内普遍的分层方式有两种。OSI七层模型 和TCP/IP四层模型。
OSI七层模型
TCP/IP四层模型


序号 层次名称 概述
1 物理层 是计算机网络OSI模型中最低的一层,主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换),物理层的数据叫做比特
2 数据链路层 定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。如:串口通信中使用到的115200、8、N、1
3 网络层 在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层
4 传输层 定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把传输层的数据叫做段
5 会话层 通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。
6 表示层 可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。
7 应用层 最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务

1.5.2.层与协议

网络的每一层,都定义了很多协议。这些协议的总称,叫“TCP/IP协议”。TCP/IP协议是一个大家族,不仅仅只有TCP和IP协议,它还包括其它的协议,如下图:
TCP/IP协议

1.6.各层功能

TCP/IP协议各层的功能

1.链路层

**以太网规定,连入网络的所有设备,都必须具有“网卡”接口。数据包必须是从一块网卡,传送到另一块网卡。**通过网卡能够使不同的计算机之间连接,从而完成数据通信等功能。网卡的地址——MAC地址,就是数据包的物理发送地址和物理接收地址。

2.网络层

网络层的作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做“网络地址”,就是我们平时所说的IP地址。这个IP地址好比我们的手机号码,通过手机号码可以得到用户所在的归属地。
网络地址帮助我们确定计算机所在的子网络,MAC 地址则将数据包送到该子网络中的目标网卡。网络层协议包含的主要信息是源IP和目的IP。
于是,“网络层”出现以后,每台计算机有了两种地址,一种是 MAC 地址,另一种是网络地址。两种地址之间没有任何联系,MAC 地址是绑定在网卡上的,网络地址则是管理员分配的,它们只是随机组合在一起。
网络地址帮助我们确定计算机所在的子网络,MAC 地址则将数据包送到该子网络中的目标网卡。因此,从逻辑上可以推断,必定是先处理网络地址,然后再处理 MAC 地址。

3.传输层

当一边聊QQ,一边聊微信,当一个数据包从互联网上发来的时候,怎么知道它是来自QQ的内容,还是来自微信的内容?
故而,还需要一个参数,表示这个数据包到底供哪个程序(进程)使用。这个参数就叫做“端口”(port),它其实是每一个使用网卡的程序的编号。每个数据包都发到主机的特定端口,所以不同的程序就能取到自己所需要的数据。
端口特点
对于同一个端口,在不同系统中对应着不同的进程
对于同一个系统,一个端口只能被一个进程拥有

4.应用层

应用程序收到“传输层”的数据,接下来就要进行解读。由于互联网是开放架构,数据来源五花八门,必须事先规定好格式,否则根本无法解读。“应用层”的作用,就是规定应用程序的数据格式。

1.7.通信过程

通信过程
下一篇:通信协议(二)- TCP

发布了25 篇原创文章 · 获赞 11 · 访问量 2822

猜你喜欢

转载自blog.csdn.net/weixin_42366378/article/details/97576391