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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络笔记(逐渐更新后面章节) -> 正文阅读

[网络协议]计算机网络笔记(逐渐更新后面章节)

一、概述

1.1因特网概述

1.1网络、互连网(互联网)和因特网

  • 网络(Network):由若干结点(Node) 和连接这些结点的 链路(Link) 组成。
  • 多个网络还可以通过路由器互连起来,就构成了一个覆盖范围更大的网络,即互联网(或互连网),因此互联网是“网络的网络”
  • 因特网(Internet)是世界上最大的互连网络
    在这里插入图片描述
  • internet与lnterne的区别:
    • internet(互联网或互连网) 是一个通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
    • Internet(因特网) 则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。

1.2因特网发展的三个阶段

在这里插入图片描述

  • ISP(Internet Service Provider):因特网服务提供者,如移动电信联通
  • 基于ISP的三层结构的因特网
    在这里插入图片描述

1.3因特网的标准化工作

  • 因特网在制定其标准上的一个很大的特点是面向公众
  • 因特网协会ISOC是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用。
    • 因特网体系结构委员会IAB,负责管理因特网有关协议的开发;
    • 因特网工程部IETF,负责研究中短期工程问题,主要针对协议的开发和标准化;
    • 因特网研究部IRTF,从事理论方面的研究和开发一些需要长期考虑的问题。
  • 制订因特网的正式标准要经过以下4个阶段
    (1)因特网草案(在这个阶段还不是RFC文档)
    (2)建议标准(从这个阶段开始就成为RFC文档)
    (3)草案标准
    (4)因特网标准

1.4因特网的组成

  • 边缘部分:由所有连接在因特网上的主机组成。用户直接使用的,用来进行通信和资源共享。
  • 核心部分:由大量网络和连接这些网络的路由器组成。为边缘部分提供服务的(提供连通性和交换)
    在这里插入图片描述

1.2三种交换方式

2.1. 电路交换

  • 电话交换机接通电话线的方式称为电路交换;
  • 从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;
  • 电路交换的三个步骤:
    • 建立连接(分配通信资源)
    • 通话(占用通信资源)
    • 释放连接(归还通信资源)
  • 当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。

2.2. 分组交换(重点)

  • 随时发送分组,不需要建立连接
    在这里插入图片描述

2.3. 报文交换

  • 报文交换主要用于早期的电报通信网,现在较少使用
  • 不需要建立连接

三种方式的对比

在这里插入图片描述

1.3计算机网络的性能指标

  • 性能指标可以从不同的方面来度量计算机网络的性能。
  • 常用的计算机网络的性能指标有以下8个:

速率

在这里插入图片描述

带宽

在这里插入图片描述

吞吐量

  • 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。
  • 吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
  • 吞吐量受网络的带宽或额定速率的限制。在这里插入图片描述

时延

  • 由发送时延、传播时延、处理时延组成
    在这里插入图片描述

时延带积宽

在这里插入图片描述

往返时间(RTT)

  • 双向交互一次所需的时间;

利用率

在这里插入图片描述

丢包率

  • 丢包率即分组丢失率,是指在一定的时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
  • 丢包率具体可分为接口丢包率、结点丢包率、链路丢包率、路径丢包率、网络丢包率等。
  • 分组丢失主要有两种情况:
    • 分组在传输过程中出误码,被结点丢弃;
    • 分组到达一台队列已满的分组交换机时被丢弃;在通信量较大时就可能造成网络拥塞
  • 因此,丢包率反映了网络的拥塞情况

1.4计算机网络体系结构

4.1常见的计算机网络体系结构

在这里插入图片描述
在这里插入图片描述

4.2计算机网络体系结构分层的必要性

  • 计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念。
  • "分层"可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
    在这里插入图片描述

物理层

  • 采用怎样的传输媒体(介质)
  • 采用怎样的物理接口
  • 使用怎样的信号表示比特0和1
    在这里插入图片描述

数据链路层

  • 如何标识网络中的各主机(主机编址问题,例如MAC地址)
  • 如何从信号所表示的一连串比特流中区分出地址和数据
  • 如何协调各主机争用总线

网络层

  • 如何标识各网络以及网络中的各主机(网络和主机共同编址的问题,例如IP地址)
  • 路由器如何转发分,如何进行路由选择
    在这里插入图片描述

运输层

  • 如何解决进程之间基于网络的通信问题
  • 出现传输错误时,如何处理
    在这里插入图片描述

应用层

  • 通过应用进程间的交互来完成特定的网络应用
    在这里插入图片描述

4.3计算机网络体系结构分层思想举例

在这里插入图片描述

4.4计算机网络体系结构中的专用术语

  • 实体:任何可发送或接收信息的硬件或软件进程。
  • 对等实体:收发双方相同层次中的实体。
  • 协议:控制两个对等实体进行逻辑通信的规则的集合。
  • 协议的三要素:语法、语义、同步
    • 语法——定义所交换信息的格式
    • 语义——定义收发双方所要完成的操作作
    • 同步——定义收发双方的时序关系
  • 在协议的控制个,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。
  • 要实现本层协议,还需要使用下面一层所提供的服务。
  • 协议是“水平的",服务是"垂直的"
  • 实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实体是“透明的”
  • 服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
    • 数据链路层的服务访问点为帧的“类型”字段。
    • 网络层的服务访问点为P数据报首部中的"协议字段"
    • 运输层的服务访问点为“端口号"。
  • 服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。
  • 协议数据单元PDU:对等层次之间传送的数据包称为该层的协议数据单元。
  • 服务数据单元SDU:同一系统内,层与层之间交换的数据包称为服务数据单元。
  • 多个SDU可以合成为一个PDU;一个SDU也可划分为几个PDU
    在这里插入图片描述

二、物理层

2.1基本概念

  • 物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。
  • 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。
    在这里插入图片描述

2.2传输方式

串行传输和并行传输

  • 计算机内部采用并行传输
  • 计算机网络中远距离传输采用串行传输

同步传输和异步传输

在这里插入图片描述

单工/半双工/全双工

在这里插入图片描述

2.3编码与调制

在这里插入图片描述
在这里插入图片描述

三、数据链路层

3.1 数据链路层概述

  • 数据链路层在网络体系结构中所处的地位
    在这里插入图片描述
  • 链路(Link)就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
  • 数据链路(Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
  • 数据链路层以为单位传输和处理数据。
    在这里插入图片描述
  • 数据链路层的三个重要问题
    • 封装成帧
    • 差错检测
    • 可靠传输

3.2 封装成帧

  • 封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。
    • 帧头和帧尾中包含有重要的控制信息。
    • 帧头和帧尾的作用之一就是帧定界。
  • 透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。
    • 面向字节的物理链路使用字节填充(或称字符填充) 的方法实现透明传输。
    • 面向比特的物理链路使用比特填充的方法实现透明传输。

3.3 差错检测

  • 比特差错:实际的通信链路都不是理想的,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。
  • 误码率BER(Bit Error Rate):在一段时间内,传输错误的比特占所传输比特总数的比率称为。
  • 使用差错检测码来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一。
    • 检错码只能检测出帧在传输过程中出现了差错,但并不能定位错误,因此无法纠正错误
    • 要想纠正传输中的差错,可以使用冗余信息更多的纠错码进行前向纠错。但纠错码的开销比较大,在计算机网络中较少使用

奇偶校验

  • 在待发送的数据后面添加1位奇偶校验位,使整个数据(包括所添加的校验位在内)中"1"的个数为奇数(奇校验)或偶数(偶检验)。
  • 如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码;
  • 如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(漏检)
    在这里插入图片描述

循环冗余校验CRC

  • 收发双方约定好一个生成多项式G(x);
  • 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据的后面一起传输;
  • 接收方通过生成多项式来计算收到的数据是否产生了误码;
    在这里插入图片描述
  • 循环冗余校验CRC有很好的检错能力(漏检率非常低),虽然计算比较复杂,但非常易于用硬件实现,因此被广泛应用于数据链路层。

3.5 MAC地址、IP地址和ARP协议

  • MAC地址是以太网的MAC子层所使用的地址;——数据链路层
  • IP地址是TCP/IP体系结构网际层所使用的地址;——网际层
  • ARP协议属于TCP/IP体系结构的网际层,其作用是已知设备所分配到的IP地址,使用ARP协议可以通过该IP地址获取到设备的MAC地址;

MAC地址

  • 当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,即一个数据链路层地址;
  • 在每个主机发送的帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制MAC(Media Access Controly,此这类地址被称为MAC地址;
    • MAC地址一般被固化在网卡(网络适配器)的电可擦可编程只读存储器EEPROM中,因此MAC地址也被称为 硬件地址;
    • MAC地址有时也被称为 物理地址注意:这并不意味着MAC地址属于网络体系结构中的物理层!
  • 一般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡)。每个网络适配器都有一个全球唯一的MAC地址。而交换机和路由器往往拥有更多的网络接口,所以会拥有更多的MAC地址。综上所述,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。

IP地址

  • IP地址是因特网(Internet)上的主机和路由器所使用的地址,用于标识两部分信息:
    • 网络编号:标识因特网上数以百万计的网络
    • 主机编号:标识同一网络上不同主机(或路由器各接口)
      在这里插入图片描述
  • 数据包转发过程中IP地址与MAC地址的变化情况:
    在这里插入图片描述
    • 数据包转发过程中源IP地址和目的IP地址保持不变;
    • 数据包转发过程中源MAC地址和目的MAC地址逐个链路(或逐个网络)改变。

ARP协议

  • 源主机在自己的ARP高速缓存表中查找目的主机的IP地址所对应的MAC地址,若找到了,则可以封装MAC帧进行发送;若找不到,则发送ARP请求(封装在广播MAC帧中)
  • 目的主机收到ARP请求后,将源主机的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后给源主机发送ARP响应(封装在单播MAC帧中),ARP响应中包含有目的主机的IP地址和MAC地址;
  • 源主机收到ARP响应后,将目的主机的IP地址与MAC地址记录到自己的ARP高速缓存表中,然后就可以封装之前想发送的MAC帧并发送给目的主机;
  • ARP的作用范围:逐段链路或逐个网络使用; ARP协以只能在一段链路或一个网络上使用。
  • 除ARP请求和响应外,ARP还有其他类型的报文(例如用于检查IP地址冲突的"无故ARP、免费ARP(Gratuitous ARP)");
  • ARP没有安全验证机制,存在ARP欺骗(攻击)问题。
    在这里插入图片描述
    在这里插入图片描述

3.5 集线器与交换机的区别

集线器

  • 早期的总线型以太网
    在这里插入图片描述
  • 使用双绞线和集线器HUB的星型以太网
    • 使用集线器的以太网在逻辑上仍是一个总线网,各站共享总线资源,使用的还是CSMA/CD协议
    • 集线器只工作在物理层,它的每个接口仅简单地转发比特,不进行碰撞检测(由各站的网卡检测);
    • **集线器一般都有少量的容错能力和网络管理功能。**例如,若网络中某个网卡出了故障,不停地发送帧。此时,集线器可以检测到这个问题,在内部断开与出故障网卡的连线,使整个以太网仍然能正常工作。
      在这里插入图片描述
  • 使用集线器HUB在物理层扩展以太网
    在这里插入图片描述

以太网交换机

  • 目前以太网中使用最广泛的互连设备
  • 工作在OSI体系结构的数据链路层(也包括物理层)
  • 根据MAC地址对帧进行转发
  • 使用交换机作为互连设备的以太网,称为交换式以太网。交换机可以根据MAC地址过滤帧,即隔离碰撞域。
  • 交换机的每个接口是一个独立的碰撞域
  • 交换机隔离碰撞域但不隔离广播域(VLAN除外)

在这里插入图片描述
在这里插入图片描述

对比集线器和交换机

在这里插入图片描述
在这里插入图片描述

四、网络层

网络层概述

  • 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。
    在这里插入图片描述
  • 要实现网络层任务,需要解决以下主要问题:
    • 网络层向运输层提供怎样的服务(“可靠传输"还是"不可靠传输”)
    • 网络层寻址问题

五、运输层

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 17:02:28  更:2021-08-12 17:05:01 
 
开发: 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 19:33:26-

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