IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 2. 网络协议及硬件 -> 正文阅读

[网络协议]2. 网络协议及硬件

  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

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 13:08:02  更:2022-10-17 13:08:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:39:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码