1. OSI分层结构的背景:
    网络出现之始,计算机产品之间无法直接通信,只有同一制造商的产品才能进行通信。于是,后来国际标准化组织(ISO组织)为此提出了开放系统互连(OSI)模型,呼吁各产品都按此模型来进行通信.
    OSI参考模型将通信过程分为7大层,如图所示。从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,每一层负责一项或一类具体的工作,然后将数据传递给下一层。其中1至4层是底层,5到7层是高层。其实OSI的7层就是分为7个步骤,并指定了每个层次应该实现的功能,如此一来,网络设备各厂家、软件开发人员就能根据这些层次设计出能够和他人正常通信的软件、硬件。

    注意:OSI模型只是定义了几乎所有通信各层的规则,但并非所有通信协议都符合OSI模型

  2. 各层之间的详解:
    (1)应用层:
    应用层是常见的一些服务应用程序(比如apache httpd服务、ftp软件、QQ软件、网易云音乐软件)的数据起始或终止点,它们产生的数据就是应用层数据,它们接收到的数据也是在应用层接收的。
    应用层是OSI最高层,所以离物理硬件层次最远,也是最接近用户的层次,所以一般用户所能看到的层,如点击下一曲音乐时,音乐软件立即在应用层产生请求数据,经过OSI各层,最终发送过去.
    (2)表示层:
    表示层(Presentation Layer)是应用层的下一层,应用层的数据会首先经过表示层。
    在表示层,将为应用层产生的数据提供能数据转换类的服务,也是数据如何展现、如何表示的功能。如格式转换、编码转换、数据压缩(如图片压缩、视频压缩、文本压缩都在这一层)、数据加密与解密等。
    (3)会话层:
    跨主机的两个计算机之间的应用程序要进行通信,需要建立会话。会话层虽然不参与具体的数据传输,但它却对数据传输进行管理。会话层在两个互相通信的应用进程之间建立、组织和协调其交互活动。
    (4)传输层:
    传输层的基本功能就是接收上一层数据,并在必要的时候将数据分割成更小的数据单元,然后把这些数据单元传递给网络层。它是第一个端对端的传输控制层:通过指定端口找到对方主机上的对应服务程序。
    在传输层有两种协议:UDPTCP协议。当数据到了传输层后,将被封装成数据报或数据段。如果是采用UDP协议传输数据,则数据被封装成数据报。如果采用TCP协议传输数据,则数据被封装为数据段。
    (5)网络层:
    经过传输层封装后得到的数据报或者数据段要通过网络传输出去,必须指定数据的目标IP地址.
    所以,在网络层会为数据段或数据报继续封装,加上源目标和目标IP地址。加上了目标IP地址之后,数据段或数据报就成为数据包。
    因为数据包有了IP地址,根据路由规则,可以知道将这个数据包怎么传递出去,以及怎么找到目标主机。另一方面,数据包中还有源IP地址,使得对方主机回应的时候,可以将对方产生的数据根据这个源IP路由回来,使得自己能够收到对方的响应数据。
    (6)链路层:
    当封装IP地址的数据包到达数据链路层之后,将继续封装得到数据帧:将源MAC地址和目标MSC地址加入数据包中,得到的就是数据帧。
    因为链路层比较接近物理层,所以这次封装会根据物理物理链路上的设备来决定封装成何种格式的数据帧。
    如果是计算机与路由器或交换机之间的数据,那么处在以太网的局域网环境下,那么需要将MAC封装成以太网帧。
    如果是路由器与路由器之间,这两个端点之间的链路没有其他中间物理设备,所以无需加入物理层地址,而是使用PPP点到点协议,所以,路由器与路由器之间的数据帧是PPP(以下会出现PPP)协议帧。
    计算机封装的数据帧中有了目标MAC地址,就能知道这个数据帧下一跳要给局域网内谁的,是给交换机还是本地路由器,但最终要出去还是会经过本地路由器,路由器将解封数据帧,修改源MAC地址为自己的MAC地址,目标MAC地址为路由器的下一跳的目标MAC地址。就这样不断修改目标MAC和源MAC,数据能够到达最终目标主机上,也能最终得到响应数据。
    (7)物理层:
    数据最终是通过网卡出去的,数据帧将进入最后一层物理层。在物理层,网卡会将数字信号转变为电信号传递给网线(或其他数据传输介质),物理层处理后得到的数据是二进制数据,也称为bit位数据。
    而在网络上传输的很多bit数据就称为bit流。

  3. 数据封装和解除封装:
    应用层产生的数据,会经过一层层的处理和封装,然后通过网络传输出去。最终到达目标主机后,目标主机会将数据一层层的解除封装,最终在应用层得到最后的数据。
    (1)数据封装示意图:

    (2)数据解除封装示意图:

    所以,当数据封装完成的时候,它包含了源和目标MAC、源和目标IP、源和目标端口、被表示层处理过的的真实数据。
    在解封数据的时候,将从外层一层层的向里面解封,最终得到最内部的数据部分。

五层协议(5层): 物理层、数据链路层、网络层、传输层、 应用层。
每一层的协议如下:
物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关)
数据链路层:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)
网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP (路由器)
传输层:TCP、UDP、SPX
会话层:NFS、SQL、NETBIOS、RPC
表示层:JPEG、MPEG、ASII
应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS(网关)
MAC 层的传输单位是帧(frame),IP 层的传输单位是包(packet),TCP 层的传输单位是段(segment),HTTP 的传输单位则是消息或报文(message)。但这些名词并没有什么本质的区分,可以统称为数据包。


4. 协议上的各种机器:
Ø 中继器的主要功能是对接收到的信号进行再生整形放大以扩大网络的传输距离。
Ø 集线器在此基础上将所有的节点集中在以它为中心的节点中,可组成星型拓扑结构。
Ø 网桥是数据链路层互联的设备,在网络互联中可起到数据接收、地址过滤与数据转发的作用,可用来实现多个不同网络系统之间的数据交换。
Ø 交换机是一种基于MAC识别,能完成封装转发数据包功能的网络设备。它可以“学习”MAC地址,并把其存放在内部地址表中,当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口。交换机将局域网分为多个冲突域,每个冲突域都是有独立的宽带,因此大大提高了局域网的带宽。
Ø 路由器用于连接多个逻辑上分开的网络,具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网。
Ø 网关在网络层以上实现网络互连,用于两个高层协议不同的网络互连。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。网关早期的时候就是路由器的别名,但是在现在的网络模型中把它归为应用层设备。主要功能是过滤数据包信息以实现相应的功能

  1. 交换机、路由器的概念,各自的用途,区别:
    交换机(ARP缓存IP对应的MAC地址)数据链路层
    在计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背部总线上,当控制电路收到数据包以后,处理端口会查找内存中的地址对照表以确定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪个端口上,通过内部交换矩阵迅速将数据包传送到目的端口。目的MAC若不存在,交换机才广播到所有的端口,接收端口回应后交换机 会“学习”新的地址,并把它添加到内部地址表中。
    交换机工作于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每个端口成功连接时,通过ARP协议学习它的MAC地址,保存成一张MAC表。在今后的通讯中,发往该MAC地址的数据包将仅送往其对应的端口,而不是所有的端口。因此,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。
    数 据链路层的交换机存储的是mac地址对应的在交换机中的端口,即它可以拿到网络层arp后的mac地址去使用,若没有存储此mac对应的端口,则广播到所有端口
    路由器(路由和转发)网络层
    路由器(Router)是一种计算机网络设备,提供了路由与转发两种重要机制,可以决定数据包从来源端到目的端所经过的路由路径(host到host之间的传输路径),这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转发。路由器工作在OSI模型的第三层——即网络层,例如IP协议。
    路由器的一个作用是连通不同的网络,另一个作用是选择信息传送的线路。

交换机与路由器有什么区别?

工作所处的OSI层次不一样,交换机工作在OSI第二层数据链路层,路由器工作在OSI第三层网络层
寻址方式不同:交换机根据MAC地址寻址,路由器根据IP地址寻址
转发速度不同:交换机的转发速度快,路由器转发速度相对较慢。

  1. 传输层协议与网络层协议的区别?
    网络层协议负责的是提供主机间的逻辑通信.
    传输层协议负责的是提供进程间的逻辑通信.

  2. 硬件(MAC)地址的概念及作用:
    概念:MAC地址就是在媒体接入层上使用的地址,也叫物理地址、硬件地址或链路地址,其被固化在适配器的ROM中。可见MAC地址实际上就是适配器地址或适配器标识符。当某台计算机使用某块适配器后,适配器上的标识符就成为该计算机的MAC地址。MAC地址长度为6字节(48比特),由IEEE的注册管理结构RA进行管理分配。
    作用:MAC地址是计算机的唯一标识,在数据链路层中,交换机通过识别MAC地址进行数据包的传输

  3. 参考这个看看:https://blog.csdn.net/qq_35642036/article/details/82768635

2. 网络协议及硬件相关推荐

  1. python全栈学习笔记(一)网络基础之网络协议篇

    阅读目录 一.操作系统基础 二.网络通信原理 2.1 互联网的本质就是一系列的网络协议 2.2 osi七层协议 2.3 tcp/ip五层模型讲解 2.3.1 物理层 2.3.2 数据链路层 2.3.3 ...

  2. Wireshark数据抓包分析(网络协议篇)1.2安装Wireshark

    Wireshark数据抓包分析(网络协议篇)1.2安装Wireshark Wireshark(前称Ethereal)是一个网络包分析工具.该工具主要是用来捕获网络包,并显示包的详细情况.本节将分别介绍 ...

  3. 趣谈网络协议笔记-二(第五讲)

    趣谈网络协议笔记-二(第五讲) 目录 第二模块 底层网络知识讲解:第二层到第三层 第5讲 | 从物理层到MAC层:如何在宿舍离自己组网完联机游戏 第6讲 | 交换机与VLAN:办公室太复杂,我要回学校 ...

  4. UNIX再学习 -- 网络与网络协议

    一.网络协议模型 1.ISO/OSI 网络协议模型 什么是计算机网路? 计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统.网络管理软件及网络通 ...

  5. Python网络编程(OSI模型、网络协议、TCP)

    前言: 什么是网络? 网络是由节点和连线构成,表示诸多对象及其相互联系. 在数学上,网络是一种图,一般认为专指加权图. 网络除了数学定义外,还有具体的物理含义,即网络是从某种相同类 型的实际问题中抽象 ...

  6. 使用wireshark抓包并进行网络协议分析

    前言 今天想通过抓包实验,巩固一下所学习的网络协议.同时,在知识点上会加上以前遇到的一些问题.这次实验并不是对所有的网络协议都进行分析,而是从下面这个问题出发(面试常被问).从这一过程中复习学过的网络 ...

  7. 计算机网络在线测试第二章,进行测验:-第2章-网络体系结构与网络协议测试.doc...

    进行测验:-第2章-网络体系结构与网络协议测试.doc 142计算机网络 142-301214-J01062-1 作业 进行测验 第2章 网络体系结构与网络协议测试进行测验 第2章 网络体系结构与网络 ...

  8. 服务器和交换机之间网络协议,网络协议是计算机网络中服务器,计算机,交换机.doc...

    网络协议是计算机网络中服务器,计算机,交换机 篇一:计算机网络-参考答案 (1)不能保证所有题目都在里面,但能保证大部分题目都在这里. (2)建议用快捷方式ctrl+f 进行答案的查找,关键字只需复制 ...

  9. 什么是无线路由器网络协议?

    上一篇我们介绍了什么是网络协议转换器,相信看过的朋友对此都有了一定的认知,可能有些朋友在使用协议转换器的时候用的是无线路由器网络,那么,什么是无线路由器网络协议呢?接下来飞畅科技的小编就来为大家详细介 ...

最新文章

  1. 普通帧,关键帧,空白关键帧的区别
  2. crontab定时任务运行
  3. java 为什么序列化_java类为什么要序列化
  4. 华为的型号命名规则_电力电缆产品的型号命名规则
  5. css z-index
  6. 数据开放平台的配置管理
  7. Qt工作笔记-使用SQL中的LIMIT进行数据分页
  8. 微课|《Python编程基础与案例集锦(中学版)》第3章(1)
  9. 电子科技大学要多少分才能录取?
  10. 用python画图代码-Python实战小程序利用matplotlib模块画图代码分享
  11. android studio gradle 打jar 包 (混淆+第三方库包)
  12. Java与模式:装饰(Decorator)模式
  13. 4个终于被破译的世界级密码
  14. 【技能】Zoho CRM系统无代码集成智齿客服、企业微信群机器人方法
  15. Docker学习十:网络
  16. 1198: 考试排名(二)(结构体专题)
  17. 计算机网络——配置DNS和WWW服务器大作业
  18. 国内唯美花海 新娘绝美婚纱照
  19. 计算机windows解压文件,Win10专业版怎么压缩和解压缩文件 简单快速的解压缩方法...
  20. 前端js经典面试题目

热门文章

  1. web自动化验证码处理
  2. 微信小程序实战教程1503---生成二维码
  3. qlaber 中放置图片_我准备了60个案例,教你彻底搞定PPT图片排版!
  4. 对PostgreSQL源代码中的is_pushed_down的理解
  5. windows 文件在linux下运行显示no such file or directory
  6. 拼音输入法,提高码字效率
  7. Ceva Dsp公司及产品介绍
  8. Unity新手入门与进阶学习书籍与教程推荐
  9. 伊登软件BPM/EIP解决方案
  10. 寻找网站后台的几种常见的方法