web安全day16:人人都要懂的OSI和TCP/IP协议簇

Posted 小梁L同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web安全day16:人人都要懂的OSI和TCP/IP协议簇相关的知识,希望对你有一定的参考价值。

假设我们正在通过网页浏览器访问微博,当我们在地址栏输入www.weibo.com,敲下回车后,计算机会发生什么呢?从宏观上讲,可以理解为对网址进行了dns解析,得到了ip地址,然后再上网。从微观上讲,则十分复杂,这就会涉及到网络的分层模型。

 

分层模型

通信需求

两个人聊天,这就是通信的需求,这两个人必须得使用相同的标准,不能一个人讲中文,一个人讲英文,这个标准在网络中被称为协议。

总结就是,通信需求产生了协议标准。

在网络中,一个单独的标准往往不能完全满足我们的通信需求,我们需要定制一系列标准,这些标准的集合叫做协议簇。

但是协议簇里面的某一个协议,它并不需要,而且无法实现了解其他协议的工作过程,下一层的协议只需要给上一层的协议提供一个标准化的数据,而至于数据内容里的东西,这并不需要下一层协议进行定义。这就是分层思想,每一层只进行自己那一层的工作。

分层思想希望解决的事情是:将复杂的流程分解称几个功能相对单一的子过程。这样会使整个流程更加清晰,会使复杂的问题简单化,并且更加容易发现问题并针对性的解决问题,同时对于设备研发者而言,通过定义在模型的每一层实现什么功能,能够鼓励产业的标准化。

OSI七层模型

OSI:Open System Interconnection:开放通信系统互联参考模型,由于它定义了七层参考模型,所以又被称为七层模型。

同层使用同一模型。

  • 物理层:在设备之间传输比特流,提供机械和电气的规约,比如电平、速度和电缆针脚等物理特性。
  • 数据链路层:将比特组合成字节,将字节封装成帧,使用链路层地址(MAC地址)来访问介质,在数据链路上实现数据的点到点、或者点到多点方式的直接通信,进行差错检测。
  • 网络层:定义逻辑地址,供路由器确定路径,实现数据从源网络到目的网络的转发。
  • 传输层:建立、维护和取消一次端到端的数据传输过程,提供面向连接或者非面向连接的数据传输以及进行重传前的差错加测。控制传输节奏的快慢,调整数据的排序等。
  • 会话层:在通信双方之间建立,管理和终止会话,该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
  • 表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
  • 应用层:对应用程序提供接口。

TCP/IP五层模型

因为OSI协议栈比较复杂,为了对其进行简化,便于用户理解,考虑到TCP和IP

两大协议在业界被广泛使用,所以TCP/IP参考模型称为了互联网的主流参考模型,区别于OSI七层模型的特点,TCP/IP又被称为五层模型或者四层模型。五层和四层的区别在于将物理层和数据链路层统称网络接入层。

比较可得,在TCP/IP模型中,将应用层、表示层、会话层统统称为应用层。作为网络工程师,我们并不需要关心数据到达用户终端后的解析过程,所以这样的合并对网络工程师而言是有利的。

TCP/IP常见协议

物理层

由于传输介质的不同,数据被转化成了光信号、电信号或者电磁波信号。

常见的传输介质有:

双绞线

根据是否能够抗电磁干扰能力,分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP)

STP(每百米超五类rmb339)

UTP(每百米超五类rmb185)

根据代际划分,还分为五类、超五类、六类、七类等。

  • 五类线的速度最高能达到100Mb/s,频率能达到100Mhz,所以说五类线可以支持百兆以下的网
  • 超五类线的速度最高能达到1Gb/s(1000Mb/s),频率也是100Mhz,超五类线可以支持千兆以下的网
  • 六类线的速度最高能达到10Gb/s,频率是250Mhz,六类线可以支持万兆网,主要用于万兆局域网等
  • 超六类线的速度最高能达到10Gb/s,频率是500Mhz,超六类线也可以支持万兆网

光纤

光纤:光传输介质,简单的说,就是一根玻璃纤维,用于约束光传输的通道。

光模块:将电信号与光信号互转的器件,产生光信号。

单模双芯和单模单芯光纤的区别:

1、光源不同。单芯光纤:单芯光纤采用固体激光器做自光源。双芯光纤:双芯光纤采用发光二极管做光源。

2、光纤芯数不同。单芯光纤:单芯光纤中只有一根光纤芯。双芯光纤:双芯光纤中集成了两根单芯光纤,即两根光纤芯。

3、性能不同。单芯光纤:单芯光纤传输频带宽、容量大,传输距离长,但因其需要激光源,成本较高。双芯光纤:双芯光纤传输速度低、距离短,整体的传输性能差,但其成本比较低。

串口线

在广域网中大规模使用,根据WAN线路类型不同,串口线缆在设备上连接的接口类型也不同:异/同步串口、ATM接口、POS接口、CE1/PRI接口。

无线信号

无线信号的传输可以通过电磁波进行,例如:无线路由器将数据通过调制以电磁波发送出去,移动终端的无线网卡将电磁波解调,得到数据,完成从无线路由器到移动终端的数据传输

数据链路层

ARP协议

ARP( Address Resolution Protocol,地址解析协议)是根据IP地址获取数据链路层地址的一个TCP/IP协议。

• ARP是IPv4中必不可少的一种协议,它的主要功能是:

▫ 将IP地址解析为MAC地址;

▫ 维护IP地址与MAC地址的映射关系的缓存,即ARP表项;

▫ 实现网段内重复IP地址的检测。

网络层

IPV4、IPv6:逻辑上标识设备位置。

OSPF、IS-IS、BGP等路由协议帮助路由器建立路由表。

ICMP帮忙进行网络的控制和状态的判断。

传输层

TCP:面向连接的、可靠的传输层通信协议

UDP:面向非连接的的传输层通信协议

应用层

FTP:用于从一台主机传送文件到另一台主机的协议,用于文件的下载和上传,采用c/s结构。

Telnet:远程登录服务。

HTTP:超文本传输协议。

数据传输过程

封装和解封装

我们回到我们最开始提到的问题,假设我们正在通过网页浏览器访问微博,当我们在地址栏输入www.weibo.com,敲下回车后,计算机会发生什么呢?

  1. 浏览器(应用程序)调用HTTP协议(应用层协议),完成应用层数据的封装。
  2. HTTP依靠传输层的TCP进行数据的可靠性传输,将封装好的数据传递到TCP模块。
  3. TCP模块给应用层传递下来的数据添加上相应的TCP头部信息(源端口、目的端口等)。此时的PDU被称为Segment(段)
  4. 在ipv4网络中,TCP模块会将封装好的segment传递给网络层的ipv4模块。
  5. ipv4模块在收到tcp模块传递来的segment之后,完成ipv4头部的封装,此时的pdu被称为packet包
  6. 由于使用了ethernet作为数据链路层协议,所以在之后,会将packet交由数据链路层的ethernet模块(如以太网卡)处理。
  7. ethernet模块在收到ipv4模块传递来的packet之后,添加上相应的ethernet头部信息和fcs帧尾,此时的pdu被称为frame(帧)
  8. 根据物理介质的不同,物理层负责将数字信号转换成电信号、光信号,电磁波(无线)信号等。
  9. 转换完成的信号在网络中开始传递。

以上过程被称为数据的封装过程,解封装过程与之正好相反。

我们可以理解为生产线上的产品,在经过不同的加工机器时,被层层包装,这层包装盒上写上了产品的处理方式,比如送给谁,多大,有没有坏掉,但并没有改变产品本身的内容,即当需要拆开包装后,还是原来的模样,同时得到了对产品的处理方法,这个处理方法只能被同一层的机器识别到,这个产品就是data。

一般情况下:

  • 网络中的二层设备(如交换机)只会封装和解封装数据的二层头部,根据二层头部的信息进行相应的交换操作。

  • 网络中的三层设备(如路由器)只会解封装三层头部,并且根据三层头部的信息进行相应的路由操作。

以上是关于web安全day16:人人都要懂的OSI和TCP/IP协议簇的主要内容,如果未能解决你的问题,请参考以下文章

每个人都要懂的图片压缩,有效解决 Android 程序 OOM

产品要懂的技术:TCP/UDP协议到底是怎么回事

测试开发要懂的设计模式知识

人人都看得懂的正则表达式教程

Web安全与网络安全的区别

信息安全微专业 网络基础