前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >计算机网络协议基础

计算机网络协议基础

作者头像
小末快跑
发布2019-07-03 17:45:19
1.3K0
发布2019-07-03 17:45:19
举报
文章被收录于专栏:日常撸知识日常撸知识

计算机网络协议是计算机网络中的计算机设备(电脑主机,路由器,交换机)之间在相互通信时遵守的规则、标准和规定。这种协议是一组控制数据通信的规则。

通信系统的双方要完成一次可靠的通信要实现许多的功能:建立连接,差错控制,流量控制,寻址,恢复,重发,连接释放等。在通信时有三个必要的条件:

(1) 通信双方都有通信的愿望和要求;

(2) 通信双方有通信的信道;

(3) 通信双方遵循共同认可的通信协。

计算机网络协议的三个要素: (1) 语法:信息的格式,协议数据单元(PDU,protocol data unit,由0,1组成的数据块)的结构或格式,包括哪些字段以及字段的作用;

(2) 语义:某些信息位组合的含义,标识通信双方可以理解的确定的意义。PDU给出何种控制信息,完成何种操作,做出何种反应;

(3) 同步或规程: 收、发信息的双方都能分辨出通信的开始和结束,哪些动作先执行,哪些动作后执行。

语法规定了怎么做,语义规定了做什么,同步规定了什么时候做。

计算机网络协议的格式:

网络体系结构中的每一个层次都有该层对应的PDU。PDU由控制部分和数据部分组成,控制部分表示通信双方用到的协议,数据部分为需要传输的信息内容。

当前层PDU的控制部分为该层的协议,数据部分一般为上一层的PDU。发送时,高一层的PDU到低一层时,成为该层PDU的数据部分,当前层再将当前层的控制部分加上,组成当前层的PDU,继续向下传输。接受方从底层向高层逐层剥离数据部分的内容,称为拆包。在拆包的过程中,对等层之间彼此理解协议,实现了对等层之间的理解。

计算机网络结构的分层:

从下到上分为5个层,

(1) 物理层:计算机设备以及端系统和通信子网的连接处,以及网络节点与节点之间的物理连接处,用于实现物理连接,位置在各个节点上;

(2) 数据链路层:网络中相邻节点之间实现可靠的传输划分的一个层次,位置在相邻节点上;

(3) 网络层:源主机节点和目标主机节点之间实现网络传输的共划分的一份层次,位置在协议包传输经过的各个节点上。传输路由源主机节点、中间经过的节点,到目标主机节点;

(4) 运输层: 在源端节点和目标主标端节点,也就是两个通信的计算机设备之间,为实现应用进程的可靠传输所提供的一个层次,位置在端节点上;

(5) 应用层:网络应用之间的可靠传输可以划分的一个层次,位置在端节点上。

在层次结构的网络结构中,下层为上层提供服务,也就是上层时服务用户,下层是服务提供者。

相邻的层次间交换信息:

在相邻的层次间交换信息要遵循一组规则,首先来了解相关的名字术语:

SAP:service user point,服务访问节点,SAP是层次之间的一个逻辑结构,

SDU:service data unit,服务数据单元,

PCI:protocol control information,协议控制信息,

ICI:interface control information,接口控制信息,

IDU:interface data unit,接口数据单元,

PDU:protocol data unit,协议数据单元。

这些数据单元之间的关系和数据传输如图:

n+1层通过接口(SAP)将一个接口数据单元(IDU)传递给n层,其中接口数据单元(IDU)由服务数据单元(SDU)和接口控制信息(ICI)组成。接口控制信息为通过接口时需要的信息,在越过接口(SAP)后,拆分掉ICI,分离出SDU,加上第n层的协议控制信息PCI,组成了第n层的协议数据单元(PDU),再加上n层的接口控制信息,组成了n层 的接口数据单元IDU。再向下一次传递到物理层,最终到达目标主机,再从下向上进行拆包。

对等层实体间的通信不是水平的,而是通过相邻层,每一层接收的SDU加上该层 的PCI,组成了该层的PDU,经过逐层封装到达物理层,物理层内的两个对等实体通过他们连接的传输介质连接到通信子网,把数据信息通过通过传输介质传输到目标系统的物理层,再由下层向上层逐层拆开各层 的PCI,实现对等层的协议的理解,相当于实现了对等层之间的通信,最后把数据信息传输到目标系统的应用接收实体上。

所以,协议时水平的,服务时垂直的

协议时水平的:是控制对等实体层之间的通信的规则;

服务时垂直的:是下一层通过接口(SAP)向上层提供服务。

对等层通过对等层的协议进行通信。再发送端协议数据单元(PDU)经过上层向下层的逐层封装,在物理层构成了二进制流,通过传输介质,经通信子网到达接收端,再经过由底层向上层的逐层拆封,每一层去掉该层的协议头,进行拆包。此时相当于对等层彼此理解了对等层的协议,实现了对等层的通信,完成了该层的网络功能。最终实现了数据的传输。

各层的功能:

物理层:物理层的PDU为比特流(bit),物理层的协议用4个特性描述和定义

1)机械特性,规定与通信介质连接的接口插座插头的机械尺寸、针脚数目和排列;

2)电气特性,规定用什么电压表示二进制的0或者1,以为持续的时间,传输是否在两个方向上还是单方向传输,以及传输的距离;

3)功能特性,规定每根信号线的作用,而且作用应唯一;

4)规程(同步)特性,规定哪根信号线先动作,哪根信号线后动作,连接如何建立,连接如何释放。

数据链路层:数据链路层的PDU为帧(frame)。涉及相邻节点的可靠传输,需要完成的功能有链路管理、成帧、差错控制、流量控制。成帧有4种方法:字节计数、面向字符、面向位和物理违例。

数据链路层能够对帧的丢失,包括数据帧和应答帧的丢失进行处理,一般方法是在发送帧以后保留一个副本,并启动超时计时器,在规定的时间内没有应答就再次发送。

网络层:网络的PDU为分组(packet)。涉及的是源主机节点到目标主机节点间的可靠网络传输。网络层是通信子网的最高层,完成的功能包括路由选择、网络寻址、流量控制、拥塞控制、网络互连等。有4中网络互连设备:中继器、网桥、路由器和协议转换器。

运输层:运输层及以上的PDU都是报文(message)。为了区分不同层次的报文,在前面加上英文首字母大写。运输层PDU为T-message。运输层起着承上启下的作用,运输层要为高层提供可靠的运输连接,通过采用不同的运输协议使用不同的底层网络所提供的服务,屏蔽掉下面通信子网的差异。

运输层用一个叫做“端口地址”的标识来区分主机上运行的多个应用进程,端口地址为运输协议数据单元的一个字段。端口地址和IP地址一起构成了套接字,用于标识和区分主机上运行的多个进程连接。

建立运输连接时需要进行“三次握手”,确保真正建立连接;释放运输连接时,采用“四次握手”,确保数据不会丢失。

应用层(应用层,会话层,表示层):现在在进行计算机网络体系结构的描述时,一般把上面三层划分为应用层。因为会话层和表示层只是对应用层起到锦上添花的作用。常用的应用层协议有简单邮件传输协议(SMTP)、超文本传输协议(HTTP)、文件传输协议(FTP)、域名解析协议(DSN)、简单网络管理协议(SNMP)。

再次强调,数据实际传输方向是垂直的,数据到对等层再实现拆包逐层传输。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小末快跑 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档