2. OSI参考模型

2.1 OSI参考模型详解

(1)参考模型的优点

  ①将网络的通信过程划分为小一些、功能简单的部件,有助于各个部件开发、设计和故障排除。

  ②通过网络组件的标准化,允许多个供应商进行开发生产出标准的网络设备(如设备的接口标准和电压标准)

  ③允许各种类型的网络硬件或软件相互通信。(如思科的交换机和华为的交换机能很好的连接;IE浏览器和火狐浏览器都能浏览网页等)

  ④每一层完成各自的事情,互不干扰。某一层更改不会影响其它层

(2)各层的主要功能

  ①应用层、表示层:如上图所示

  ②会话层和传输层的区别:

    A.会话层:建立、维护和管理应用程序之间面向用户)的会话。比如流媒体服务器和每一个点播节点的客户端软件分别建立会话,服务器才能区分每个用户点播的节目和相应的进度。再比如,网购时客户下订单、商家发货、客户确认的购买流程也属于会话层,这个流程由应用程序自己维护,而货物由哪一家或哪几家快递公司来运输是由传输层去建立连接的。即会话层负责的是在两个应用程序之间建立会话。

    B.传输层:提供可靠或不可靠传输,能够纠正或失败重传。可靠传输负责端对端的连接,并负责数据在端到端连接上的传输。传输层通过端口号区分上层服务,并通过滑动窗口技术实现可靠传输、流量控制、拥塞控制等。传输层负责的是两台计算机之间的连接。

  ③网络层:为网络设备提供逻辑地址,根据数据包的逻辑地址选择最佳路径。负责数据从源端发送到目的端,以及数据传输的寻径和转发。(路由器工作在网络层,当然这里指的是其工作的最高层,但它们实际上是兼有数据链路层、物理层功能的

  ④数据链路层:不同的链路上使用不同的数据帧格式。如以太网使用CSMA/CD协议桢(会使用到MAC地址),而路由器之间使用PPP协议桢。数据链路层负责将这些数据包封装成帧同时,执行差错检测,但不纠正。(交换机工作在该层、网卡工作在数据链路和物理层

  ⑤物理层:主要负责二进制数据比特流在设备之间的传输。它关心的内容主要有:接口和媒体的物理特性、位的表示和传输速率、位的同步、物理拓扑(星状、环状或总线拓扑等)和传输模式(单工、半双工或全双工)(集线器只是将电信号传递到全部接口,它和网线一样工作在物理层

2.2 通讯过程——以浏览网页为例

(1)Web服务器和浏览器属应用层

(2)网页中的文字和内容要进行传输,必须转成数字信息,这要求对文字进行编码(如utf-8、GBK)、加密或压缩等,这是表示层要解决的问题。

(3)计算机A的浏览器和Web服务器上进程建立会话,建立和维持会话功能的称为会话层。它提供包括访问验证和会话管理在内的建立和维护应用之间通信。

(4)服务器将网页分段编号,并放入缓存,然后依次发送给计算机A,A将收到的分段放入缓存,当A收到编号连续的第1-3个数据段,就会给网站发送一个确认包,告诉网站发送第4个数据段,这时网站就可以将第1-3个数据段删除,接着发送后面的数据段。如果传输过程中丢了某个数据包(如3),则A会给网站发送一个确认数据包,告诉网站发送第3个数据段以后的数据段。该过程由传输层完成,传输层能够实现可靠传输和流量控制。

(5)数据的发送离不开网络,路由器是专门负责不同网络转发数据包的,为数据包选择转发路径(由网络层来完成)

(6)数据链路层就是将数据包封装成能够在不同链路传输的帧。数据包在传递过程中要经过不同网络就需要封装成不同的帧格式。如集线器或交换机组建的以太网采用CSMA/CD协议帧,路由器与路由器之间采用PPP协议帧或FrameRelay帧。

(7)物理层规定了网络设备的接口标准、电压标准。该层也包括通信技术(如频分复用或时分复用技术等)

2.3 学以致用

(1)通过传输层连接查看是否中了木马:“netstat -nb”查看是否有可疑连接。(其中b可以查看创建会话的应用程序)

(2)通过“tracert 目标地址”查看在网络层经过了多少个路由器

(3)网络排错:由底层向高层依次排查

  ①物理层问题:主要是连接问题。如网线没接好,本地连接为大红叉。网卡的收发数据为0,也说明物理层出问题。

  ②数据链路层问题:

    A.MAC地址冲突:交换机上限定了指定MAC地址的计算才能上网。(解决方案——复制MAC地址:网卡→“属性”→“网络”→“配置”→“高级”→“Network Address”中修改网卡的MAC

    B. 网卡和交换机网速不一致。(一般会自动协商,也可以通过以下路径配置网卡的速率,网卡→“属性”→“网络”→“配置”→“高级”→“连接速度和双工模式(Speed&Duplex)”

    C. ADSL欠费、将计算机连接到错误的VLAN

  ③网络层问题:

    A.路由器上路由表不全或错误,不知到其他网段如何转包数据包。

    B.配置了错误的子网掩码、网关和DNS设置。(可用ipconfig /all查看)

  ④表示层问题:乱码问题、字符集设置错误。

  ⑤应用层问题:应用程序配置错误(如IE指定了一个错误的代理。查看方式IE→“internet”→“连接” →“局域网设置”的代理服务器)

(4)网络安全

  ①物理层安全:防止非法计算机接入;无线AP很容易被别人发现,无线信号是物理上的不安全,而但可以用密码来实现数据链路层的安全。

  ②数据链路层安全:通过MAC地址控制能接入网络的计算机。ADSL拨号才能接入网络。划分VLAN、连接无线AP密码等都是实现数据链路上的安全。

  ③网络层的安全:路由器上设置ACL控制数据包转发(如只转发哪些源网段或目标网段的计算机数据包)、计算机上设置网络安全。

  ④应用层(包含会话、表示层)安全:如网站SQL漏洞。

第1章 计算机网络和协议(2)_OSI参考模型的更多相关文章

  1. 第1章 计算机网络和协议(3)_TCP/IP协议

    3. TCP/IP协议 3.1 TCP/IP协议分层 3.2 TCP/IP通信过程 (1)应用层:浏览器和Web服务器是两个对等的实现,它们之间使用http协议进行通信. (2)传输层:网页传输之前, ...

  2. [A Top-Down Approach][第一章 计算机网络和因特网]

    [A Top-Down Approach][第一章 计算机网络和因特网] 标签(空格分隔): 计算机网络 介绍基本术语和概念 查看构成网络的基本硬件和软件组件. 从网络的边缘开始,考察在网络中运行的端 ...

  3. X32位 天堂2 二章/三章 服务端协议号修改方法

    [本方法适合于2004-2006年之间天堂2由初章服务端修改至二章.三章端时协议号匹配问题]服务端版本位32位初章服务端 目前大部分SF用的协议号情况: 服务端是419 客户端是 417 419 42 ...

  4. 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议

    4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络如 ...

  5. 2016.7.8 计算机网络复习要点第四章之地址解析协议ARP

    1.地址解析协议ARP:知道一个机器的IP地址,需要找到其相应的硬件地址:ARP协议的用途是为了从网络层使用的IP地址解析出在链路层使用的硬件地址: 2.由于是IP协议使用了ARP协议,因此通常就把A ...

  6. 计算机网络——DNS协议的学习与实现

    1. 主要内容 不说废话,直接进入正题.先说说本文本文的主要内容,好让你决定是否看下去: 介绍DNS是干什么的: 介绍DNS是如何工作的: 介绍DNS请求与响应的消息格式: 编程实现一个简单的DNS服 ...

  7. 第二章ARP——地址解析协议

    本章我们要讨论的问题是只对 T C P / I P协议簇有意义的I P地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为 48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络 ...

  8. 第一章计算机网络和因特网-day02

    1.互联网中的时延:处理时延.排队时延.传输时延.传播时延. 处理时延:检查分组首部和决定该分组导向何处的时间. 排队时延:分组在链路上等待传输的时延. 传输时延:分组经过路由器与交换机的过程的时延. ...

  9. UNP学习笔记(第十五章 UNIX域协议)

    UNIX域协议是在单个主机上执行客户/服务器通信的一种方法 使用UNIX域套接字有以下3个理由: 1.UNIX域套接字往往比通信两端位于同一个主机的TCP套接字快出一倍 2.UNIX域套接字可用于在同 ...

随机推荐

  1. jenkins 集成 keycloak 认证

    keycloak 是很不错的sso 工具,当然也有Jenkins 的插件,我们可以使用jenkins 插件,方便用户账户的管理 环境准别 docker-compose version: "3 ...

  2. Zabbix-2.4-安装-1

    前言 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix组件主要分两个: zabbix-server和zabbix-agent.支持的监控协议有I ...

  3. JAVA中通过Hibernate-Validation进行参数验证

    在开发JAVA服务器端代码时,我们会遇到对外部传来的参数合法性进行验证,而hibernate-validator提供了一些常用的参数校验注解,我们可以拿来使用.1.maven中引入hibernate- ...

  4. tensorflow学习笔记

    常量的四则运算 import tensorflow as tf data1 = tf.constant(2) data2 = tf.constant(10) dataAdd=tf.add(data1, ...

  5. yum 和 rpm安装mysql彻底删除(转)

    1.yum方式安装的MySQL $ yum remove mysql mysql-server mysql-libs compat-mysql51 $ rm -rf /var/lib/mysq $ r ...

  6. hanlp源码解析之中文分词算法详解

    词图 词图指的是句子中所有词可能构成的图.如果一个词A的下一个词可能是B的话,那么A和B之间具有一条路径E(A,B).一个词可能有多个后续,同时也可能有多个前驱,它们构成的图我称作词图. 需要稀疏2维 ...

  7. 报错: unable to register MBean

    解决方法: 在SpringBoot项目中配置文件加上 spring.jmx.enabled=false https://stackoverflow.com/questions/27440985/una ...

  8. mybatis 使用oracle merge into 语句踩坑实录

    由于需求涉及oracle的clob类型字段,在mybatis的mapper xml文件中编写merge into语句时总是失败. 附上错误代码 <insert id="mergeInt ...

  9. socket 断线重连

    send发送数据时,发送失败,进行如下重连处理: ) < )//serbuf中有数据可以发送才会执行这条语句 { printf("serial to tcp send msg erro ...

  10. SDI core端口说明

    SDI core端口说明 本文基于赛灵思的官方文档以及自己的理解: 1.生成SDI core 2.得到SDI core的顶层文件,并对每个端口做出解释 smpte_sdi smpte_sdi ( .r ...