8.1 基本概念

  • ISO:国际标准化组织
  • OSI/RM:互联网法律上的国际标准
  • TCP/IP Suite:因特网事实上的国际标准
  • Network Protocols:数据交换遵守的规则、标准或约定
  • 网络体系结构:计算机网络各层及其协议的集合

    8.1.1 OSI 七层模型

  • Application 应用层:能够产生网络流量能够和用户交互的应用程序。例如:QQ、浏览器

  • Presentation 表示层:对数据进行加密、压缩。加密是为了数据安全行,压缩是为了加快传输速度。表示层要解决的问题是,收发双发都必须用同一种方式解释数据,如果收方解释的数据跟发放不一致,就会导致数据解释失败,收方拿到的数据和发方就不一致。比如:我在浏览器上浏览一个网页,网页是用的 UTF-8 字符集提供的数据信息,而我在浏览器查看的时候用的其他字符集(西里尔文DOS)查看就会出现乱码。
  • Session 会话层:是服务和客户端之间建立的会话。例如访问一个网站就是在建立一个会话。利用会话层可以查看木马程序,通过命令 netstat -nb此命令可以查看建立的所有会话链接。木马特点是盗取信息,控制电脑,木马是要建立网络通信,因为盗取的信息需要通过网络进行传输,再不建立任何网络链接时用netstat -nb命令可以查看那个程序建立了网络链接,链接网络链接的程序很有可能就是木马。病毒特点是破坏电脑程序。

    • image.png
    • 键盘按Ctrl + r输入msconfig打开windows系统的系统配置工具image.png
  • Transport 传输层:可以进行可靠传输、不可靠传输、流量控制功能。

    • 可靠传输:会建立会话,是为了保证数据的一致行,比如在网上下载一个电影,电影分成多个数据包,分组交换的传输方式,如果丢了一两个包,下载后的视频是无法正常观看的,可靠传输就是在丢包的时候重新传。
    • 不可靠传输:不建立会话,比如QQ在给没上线的用户发送消息就是不可靠传输
    • 流量控制:比如一个服务给一个客户端传输数据的时候,客户端处理不过来可以告知服务端暂停传输,等客户端处理完再传输。
  • Network 网络层:IP 地址变成,选择最佳路径
    • tracert能够查看从本地网络到目标网络经过那些路由器,也就是跟踪数据包的传输路径。例如查百度tracert www.baidu.comimage.png
  • Data Link 数据链路层:数据如何封装,添加物理层地址(MAC),计算机网卡叫 MAC 地址
  • Physical 物理层:规定了电压( 0 和 1 的表示)、接口标准(网线接口)

七层模型可以理解为数据通信的七个步骤,各层依赖度底,各层之间是相对独立的,每层都可以优化自身而不影响其他层,其目的是标准化管理。

程序开发人员所涉及的是:应用层、表示层、会话层
网络工程师涉及的问题是:传输层、网络层、数据链路层

网络排错从底层到高层逐一排除,先网络后程序的顺序进行排查

8.1.2 TCP/IP 四层模型

TCP/IP 协议没有严格按照七层协议划分

  • Application (Application、Presentation、Session 统称属于 Application )
  • Transport
  • Internet
  • Network Access (Data Link、Physical 属于Network Access )

    8.2 网络安全和 OSI 参考模型

  1. 物理层安全:是指内部网线接口暴露给不相关的人员。
  2. 数据链路层安全:家里上网的 ADSL 拨号上网的账号和密码,WiFi 的账号和密码,这些都属于链路层安全
  3. 网络层安全:限制内网环境链接 Internet ,比如网段的限制。
  4. 应用层安全:一些应用程序暴露的安全问题,例如:SQL 注入漏洞,文件(脚本文件)上传漏洞

    8.4 开放系统信息交换涉及的几个概念

  5. 实体(entity):交换信息的硬件或软件进程

  6. 协议(protocol):控制两个对等实体通信的规则
  7. 服务(vervice):下层向上层提供服务,上层需要使用下层提供的服务来实现本层的功能
  8. 服务访问点(SAP):相邻两层实体间交换信息的地方

有相同协议或者有 SAP 的实体才可以相互解析对方的数据
image.png

8.4.1 五层协议对应的数据单元

  1. 应用层:应用层(传输数据单元PDU),例如QQ传输文件
  2. 运输层:运输层报文,将文件在传输过程中分成多个段,每个段都有协议 ,称为数据段
  3. 网络层:IP 数据报( IP 分组),在数据段的基础上加上 IP 地址,加上 IP 地址就形成了数据包
  4. 数据链路层:数据帧,在数据包的基础上加上 MAC 地址,这就是数据帧
  5. 物理层:比特 0110101010100000100100,在传输的时候加上帧头和帧尾编程,编程比特

image.png
发送过程如下图:
image.png
接受过程如下图:
image.png

8.5 客户进程和服务器进程的通信

客户进程和服务器进程使用TCP/IP协议进行通信,一个服务可以多个客户端访问
image.png