2.网络通信协议(1.2-1)

1.OSI的基本概念及原则

OSI是Open System Interconnect的缩写,意为开放式系统互联。其各个层次的划分遵循下列原则:
(1)同一层中的各网络节点都有相同的层次结构,具有同样的功能。
(2)同一节点内相邻层之间通过接口进行通信。
(3)七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。
(4)不同节点的同等层按照协议实现对等层之间的通信。

2.OSI七层模型各层功能概述

2gif.gif

第一层:物理层
  • [1] 在OSI参考模型中,物理层是参考模型的最低层,也是OSI模型的第一层。物理层的主要功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异,使其上面的数据链路层不必考虑网络的具体传输介质是什么。
第二层:数据链路层
  • [1] 数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路。在计算机网络中由于各种干扰的存在,导致物理链路是不可靠的。因此这一层的主要功能是:在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。
第三层:网络层
  • [1] 网络层(Network Layer)是OSI模型的第三层,它是OSI参考模型中最复杂的一层,也是通信子网的最高一层,它在下两层的基础上向资源子网提供服务。其主要功能是:在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接,将数据设法从源端经过若干个中间节点传送到目的端(点到点),从而向传输层提供最基本的端到端的数据传输服务。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。数据链路层和网络层的区别为:数据链路层的目的是解决同一网络内节点之间的通信,而网络层主要解决不同子网间的通信。
第四层:传输层
  • [1] OSI下3层的任务是数据通信,上3层的任务是数据处理。而传输层(Transport Layer)是OSI模型的第4层。该层提供建立、维护和拆除传输连接的功能,起到承上启下的作用。该层的主要功能是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输,同时向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。
第五层:会话层
  • [1] 会话层是OSI模型的第5层,是用户应用程序和网络之间的接口,该层的主要功能是:组织和协调两个会话进程之间的通信 ,并对数据交换进行管理。当建立会话时,用户必须提供他们想要连接的远程地址。而这些地址与MAC地址或网络层的逻辑地址不同,它们是为用户专门设计的,更便于用户记忆。域名就是一种网络上使用的远程地址。会话层的具体功能如下:
  • [1] 会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。
  • [1] 会话流量控制:提供会话流量控制和交叉会话功能。
  • [1] 寻址:使用远程地址建立会话连接。
  • [1] 出错控制:从逻辑上讲会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并负责纠正错误。
第六层:表示层
  • [1] 表示层是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。该层的主要功能是:处理用户信息的表示问题,如编码、数据格式转换和加密解密等。表示层的具体功能如下:
  • [1] 数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。
  • [1] 数据的编码:处理字符集和数字的转换。
  • [1] 压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复。
  • [1] 数据的加密和解密:可以提高网络的安全性。
第七层:应用层
  • [1] 应用层是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口,该层的主要功能是:直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外该层还负责协调各个应用程序间的工作。应用层的具体功能如下:
  • [1] 用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。
  • [1] 实现各种服务:该层具有的各种应用程序可以完成和实现用户请求的各种服务。

3.OSI七层模型举例

举例:以A公司向B公司发送一次商业报价单为例。
  • [1] 应用层:A公司相当于实际的电脑用户,要发送的商业报价单相当于应用层提供的一种网络服务,当然A公司也可以选择其他服务,比如发一份商业合同,发一份询价单等等。
  • [1] 表示层:由于A公司和B公司是不同国家的公司,他们之间商定统一用英语作为交流语言,所以此时A公司的文秘(表示层)将从上级手中(应用层)获取到的商业报价单的语言转翻译成英语,同时为了防止被别的公司盗取机密信息,A公司的文秘也会对这份报价单做一些加密的处理。这就是表示层的作用,将应用层的数据转换翻译。
  • [1] 会话层:A公司外联部同事(会话层)掌握着其他许多公司的联系方式,他们负责管理本公司与外界许多公司的联系会话。当外联部同事拿到文秘(表示层)转换成英文的商业报价单后,他首先要找到B公司的地址信息,并附上自己的地址和联系方式,然后将整份资料放进信封准备寄出。等确认B公司接收到此报价单后,外联部的同事就去办其他的事情了,继而终止此次会话。
  • [1] 传输层:传输层就相当于A公司中的负责收发快递邮件的人,A公司自己的投递员负责将上一层(会话层)要寄出的资料投递到快递公司或邮局。
  • [1] 网络层:网络层就相当于快递公司庞大的快递网络,全国不同的集散中心,比如说从深圳发往北京的顺丰快递,首先要到顺丰的深圳集散中心,从深圳集散中心再送到武汉集散中心,从武汉集散中心再寄到北京顺义集散中心。这个每个集散中心,就相当于网络中的一个IP节点。
  • [1] 数据链路层:相当于顺丰快递内部为了保证效率和质量的一种内部操作。
  • [1] 物理层:快递寄送过程中的交通工具,就相当于物理层,例如汽车,火车,飞机,船。

4.OSI七层模型总结

  • 应用层:产生网络流量的程序
  • 表示层:传输之前是否进行加密或者压缩处理
  • 会话层:查看会话,查木马 netstat-n
  • 传输层:可靠传输、流量控制、不可靠传输
  • 网络层:负责选择最佳路径、规划ip地址
  • 数据链路层:帧的开始和结束、透明传输、差错校验
  • 物理层:接口标准、电器标准、如何更快传输数据
    image.png
物理层:在设备之间传输比特流,规定了电平、速度和电缆针脚。
数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址)来访问介质,并进行差错检测。
网络层:提供逻辑地址,供路由器确定路径。IP地址
传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。
会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务。

1um等于多少mm 1um=0.001mm。 因为1mm=1000um所以1um=0.001mm

5.TCP/ IP四层网络协议

image.png
TCP/IP模型的核心是网络层和传输层,网络层解决网络之间的逻辑转发问题传输层保证源端到目的端之间的可靠传输。最上层的应用层通过各种协议向终端用户提供业务应用。

1.TCP/IP对应的数据封装形式
应用数据需要经过TCP/IP每一层处理之后才能通过网络传输到目的端,每一层上都使用该层的协议数据单元PDU(Protocol Data Unit)彼此交换信息。不同层的PDU中包含有不同的信息,因此PDU在不同层被赋予了不同的名称。
如上层数据在报头后得到的PDU被称为Segment(数据段);
数据段被传递给网络层,网络层添加IP报头得到的PDU被称为Packet(数据包);
数据包被传递到数据链路层,封装传输层添加TCP数据链路层报头得到的PDU被称为Frame(数据帧);
最后,帧被转换为比特,通过网络介质传输。
这种协议栈逐层向下传递数据,并添加报头和报尾的过程称为封装。

数据包在以太网物理介质上传播之前必须封装头部和尾部信息,封装后的数据包称为数据帧,数据帧中封装的信息决定了数据如何传输。 以太网上传输的数据帧有两种格式,选择哪种格式由TCP/IP协议簇中的网络层决定.

2.帧格式

image.png
55.png
1、这两种格式的主要区别在于Ethernet II格式中包含一个Type字段,标识以太帧处理完成之后将被发送到哪个上层协议进行处理,IEEE802.3格式中,同样的位置是长度字段。
2、不同的Type字段值可以用来区别这两种帧的类型

  • 当Type字段值小于等于1500(或者十六进制的0x05DC)时,帧使用的是IEEE 802.3格式。
  • 当Type字段值大于等于1536 (或者十六进制的0x0600)时,帧使用的是Ethernet II格式。
  • 以太网中大多数的数据帧使用的是Ethernet II格式。
    3、以太网帧中还包括源MAC地址目的MAC地址,分别代表发送者的MAC接收者的MAC,此外还有帧校验序列字段,用于检验传输过程中帧的完整性
3.2

image.png

DMAC(Destination MAC)目的MAC地址字段长度为6个字节标识帧的接收者
SMAC(Source MAC)源MAC地址字段长度为6个字节标识帧的发送者
类型字段(Type)标识数据字段中包含的高层协议字段长度为2个字节IP协议帧0x0800
ARP协议帧0x0806
数据字段(Data)网络层数据最小长度必须为46字节最大长度为1500字节帧长至少为64字节
循环冗余校验字段(FCS)错误检测机制4个字节
4.IEEE802.3帧格式

image.png

  1. IEEE802.3帧格式类似于Ethernet_II帧,只是Ethernet_II帧的Type域被802.3帧的Length域取代,并且占用了Data字段的8个字节作为LLC和SNAP字段。
  2. Length字段定义了Data字段包含的字节数。
  3. 逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成。
  4. SNAP(Sub-network Access Protocol)由机构代码(Org Code)和类型(Type)字段组成。Org Code三个字节都为0。Type字段的含义与Ethernet_II帧中的Type字段相同。IEEE802.3帧根据DSAP和SSAP字段的取值又可分为以下几类:
    1)当DSAP和SSAP都取特定值0xff时,802.3帧就变成了Netware-ETHERNET帧,用来承载NetWare类型的数据。
    2)当DSAP和SSAP都取特定值0xaa时,802.3帧就变成了ETHERNET_SNAP帧。ETHERNET_SNAP帧可以用于传输多种协议。
    3)DSAP和SSAP其他的取值均为纯IEEE802.3帧。
数据帧的传输
  • 以太网在二层链路上通过MAC地址来唯一标识网络设备,并且实现局域网上网络设备之间的通信。MAC地址也叫物理地址,大多数网卡厂商把MAC地址烧入了网卡的ROM中。发送端使用接收端的MAC地址作为目的地址。以太帧封装完成后会通过物理层转换成比特流在物理介质上传输。

以太网的MAC地址

  • MAC地址由两部分组成,分别是供应商代码和序列号。其中前24位(组织唯一标识符(OUI,Organizationally Unique Identifier))代表该供应商代码,由IEEE管理和分配。剩下的24位序列号由厂商自己分配。
    (类似于人的身份证号,每一台设备的MAC地址都是全球唯一的)

6.帧的发送方式

单播(一对一)
  • 从单一的源端发送到单一的目的端
  • MAC地址的第8位为0(表示目的MAC地址为此MAC地址的帧都是发送到某个唯一的目的端)
    image.png
  • 在冲突域中,所有主机都能收到源主机发送的单播帧,但是其他主机发现目的地址与本地MAC地址不一致后会丢弃收到的帧,只有真正的目的主机才会接收并处理收到的帧
广播(一对所有)
  • 帧从单一的源发送到共享以太网上的所有主机。
  • 广播帧的目的MAC地址为十六进制的FF:FF:FF:FF:FF:FF,所有收到该广播帧的主机都要接收并处理这个帧。

广播方式会产生大量流量,导致带宽利用率降低,进而影响整个网络的性能。
当需要网络中的所有主机都能接收到相同的信息并进行处理的情况下,通常会使用广播方式。

组播(一对多)
  • 当需要网络上的一组主机(而不是全部主机)接收相同信息,并且其他主机不受影响的情况下通常会使用组播方式。
  • 组播MAC地址的第8个比特为1
    image.png
    组播比广播更加高效。组播转发可以理解为选择性的广播,主机侦听特定组播地址,接收并处理目的MAC地址为该组播MAC地址的帧。

数据帧的发送和接收

image.png
1、帧从主机的物理接口发送出来后,通过传输介质传输到目的端。共享网络中,这个帧可能到达多个主机。主机检查帧头中的目的MAC地址,如果目的MAC地址不是本机MAC地址,也不是本机侦听的组播或广播MAC地址,则主机会丢弃收到的帧。
2、如果目的MAC地址是本机MAC地址,则接收该帧,检查帧校验序列(FCS)字段,并与本机计算的值对比来确定帧在传输过程中是否保持了完整性。如果帧的FCS值与本机计算的值不同,主机会认为帧已被破坏,并会丢弃该帧。如果该帧通过了FCS校验,则主机会根据帧头部中的Type字段来确定将帧发送给上层哪个协议处理。本例中,Type字段的值为0x0800,表明该帧需要发送到IP协议上处理。在发送给IP协议之前,帧的头部和尾部会被剥掉。

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值