计算机网络笔记(湖科大教书匠版本)

第一章、

①三种交换方式

电路交换分组交换报文交换被分组交换所取代

1.电路交换:会一直占用通道,不适合计算机之间的数据通信

2.分组交换:通常我们把表示该数据的整块数据称为一个报文

  • 先把较长的报文划分为一个个更小的等长数据段
  • 在每个数据段前面,加上一些由必要的控制信息组成的首部后,就构成了一个个分组
    • 添加首部的作用:存放目的地址
  • 发送主机将所构造出各分组依次发送出去,这些分组,经过途中各分组交换机(也就是路由器)的存储转发,最终达到目的地主机
  • 目的地主机接收到这些分组后,去掉首部,将各数据段组合还原出原始报文

②计算机网络的定义和分类

1.计算机网络最简单的定义:一些互相连接的、自治的计算机的集合

  • 互联:指计算机之间可以通过有线或无线的方式进行数据通信
  • 自治:指独立的计算机,它有自己的硬件和软件,可以单独运行使用
  • 集合:指至少需要两台计算机

2.分类

  • 按照交换技术分类:电路交换网络、报文交换网络、分组交换网络
  • 按照使用者分类:公用网、专用网(某些特殊单位会有,不给单位外的人使用)
  • 按照传输介质分类:有线网络、无线网络(目前,无线局域网使用的WiFi技术,应用普遍)
  • 按照网络的覆盖范围分类:广域网WAN、城域网MAN、局域网LAN、个域网PAN
  • 按照拓扑结构分类:总线型网络、星型网络、环型网络、网状型网络

③计算机网络的性能指标

1.速率

        连接在计算机网络上的主机在数字信道上传送比特的速率,通常也称为:比特率、数据率

单位:bit/s (b/s,bps)

注意区分:数据量上的M:“兆”  和  速率单位上的M:“兆”的大小取值

2.带宽

        指网络的通信线路传送数据的能力

3.吞吐量

        指在单位时间内,通过某个网络(或信道、接口)的数据量

4.时延

        分为发送时延、传播时延、处理时延

5.时延带宽积

        传播时延 * 带宽。可以抽象为圆柱体 的体积

6.往返时间

        双向交互一次所需要的时间

7.利用率

        分为信道利用率和网络利用率

8.丢包率

  •  又称:分组丢失率。是指在一定时间内,传输过程中,丢失的分组数量与总分组数量的比率。
  • 分组丢失的两个主要原因:分组误码结点交换机缓存队列满网络拥塞
    • 无拥塞时,路径丢包率为0
    • 轻度拥塞时,路径丢包率为1%~4%    
    • 严重拥塞时,路径丢包率为5%~15%    

④常见的三种计算机网络体系结构

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

⑥计算机网络体系结构中的专业术语

实体、对等实体、协议(水平)、服务(垂直)

第二章、物理层

①物理层定义接口特性

②物理层下面的传输媒体

1.传输媒体是计算机网络设备之间的物理通路,也成为传输介质传输媒介

2.传输媒体不包含在计算机网络体系结构中

③传输方式

1.串行传输:在发送端和接收端仅有一条数据传输线路,一般适用于远距离传输

并行传输:在发送端和接收端之间有多条数据传输线路,一般适用于近距离传输。计算机内部通常采用并行传输。

2.同步传输:以比特为传输单位

异步传输:以字节为传输单位。是指每个字节之间的异步,即字节之间的时间间隔不确定;但字节内的每个比特仍需同步。需要在每个字节的前后分别添加起始位终止位

3.单工、半双工、全双工

④编码与调制

1.双极性不归零编码:正电平表示1,负电平表示0,不会出现零电平。编码效率高,但是存在同步问题

下图,解释如何判断这是一个码元还是两个码元还是三个码元:通过时钟信号,来严格确定

2.双极性归零编码:自同步,但编码效率低 。通过在每个码元里添加 零电平 实现时钟同步

下图,解释了其实归零编码就是将时钟信号用“归零”的方式编码在了数据之内,这成为“自同步”信号。

3.曼彻斯特编码:每个码元的中间时刻,电平发生跳变:正跳变表示0还是1,负跳变表示0还是1,可以自行定义

下图,解释了码元中间时刻跳变又表示时钟,又表示数据。

4.差分曼彻斯特编码:码元中间时刻的电平跳变仅仅是表示时钟信号,而不是表示数据;数据的表示在于每一个码元的开始处,是否有电平跳变:无跳变表示1,有跳变表示0

下图,解释了码元中间时刻跳变仅仅表示时钟,然后开始处电平是否发生变化表示数据。

基本调制方法:调幅、调频、调相

 如何让一个码元来包含更多的比特:通过混合调制

此时,每种码元可以对应表示4的比特,采用格雷码,使得16种码元相邻之间只会存在一个比特位不同

⑤信道的极限容量

奈氏准则、香农公式

准确的来说,传输媒体不能和信道画等号:例如,在单工传输中,传输媒体中只能有一个信道,要么是发送信道,要么是接收信道

码元传输中失真的因素:码元传播速率信号传输距离噪声干扰传输媒体质量

码元传输速率,又称波特率、调制速率、波形速率、符号速率。

奈氏准则:理想低通信道的最高码元传播速率为2W Baud , 。其中W表示信道带宽(单位:Hz),Baud表示波特,码元/秒

香农公式:信道的信道带宽W或者信道中的信噪比S/N越大,信道的极限信息传输速率C就越高

要想提高信息的传输速率,必须采 用多元制(即更好的调制方法)和努力提高信道中的信噪比 

 数据传输速率=波特率(码元传输速率)* 每个码元所携带的信息量

信噪比

第三章、数据链路层

①数据链路层概述

②封装成帧

封装成帧:在上层交付过来的协议数据单元,添加帧头和帧尾,使之称为帧

透明传输

③差错检测

比特差错:比特在传输过程中产生差错,0可能变成1,1可能变成0

那么,数据链路层所要解决的重要问题之一就是:使用差错检测码来检测数据是否在传输过程中发生了比特差错

方法一:奇偶校验

        在待发送的数据后面添加一位奇偶校验位,添加1表示比特1的数量为奇数,添加0表示比特1的数量为偶数

        缺点:如果有偶数个比特发生误码,那么接收方会误认为接收到的数据是正确的

方法二:循环冗余校验CRC

④可靠传输

不可靠传输服务:仅仅丢弃有误码的帧

可靠传输服务:想办法实现发送端发送什么,接收端就收到什么。注意:可靠传输实现机制的基本原理并不仅限于数据链路层,可以应用到计算机网络体系结构的各层协议中。

1.停止-等待协议SW:

发送方每次发完一个数据分组之后,必须停止,等待接收方发确认分组或否认分组,之后才可继续发送下一个分组。这样才可以确保发送方发送什么,接收方收到什么。

  • 为了避免,迟迟没有接收到确认分组或否认分组(由于数据分组在路上丢失),通过添加一个超时计时器,一般设置重传时间为略大于“从发送方到接收方的平均往返时间”
  • 为了避免,分组重复(由于确认分组在路上丢失),通过 给每个数据分组添加一个比特序号 0或1,
  • 为了避免,确认分组 混淆,通过 给每个确认分组也添加一个比特序号

2.回退N帧协议GBN

如果WT变成1,就是停止等待协议。

一个数据分组的误码,会导致其后续的多个数据分组不能被接收方按序接收而丢弃(尽管它们无乱序误码),这必然会造成发送方对这些数据分组的超时重传,显然这是对通信资源的极大浪费。

3.选择重传协议SR

为了进一步提高“回退N帧协议”的性能,可设法只重传出现了误码的数据分组,因此,接收窗口WR不应该再等于1,以便接收方先  收下失序到达但是没有误码并且序号落在接收窗口内的那些数据分组,等到所缺分组收齐后,再一并送交上层,这就是选择重传协议

3.6  媒体接入控制

复用技术:复用是将单一媒体的频带资源划分为很多子信道,这些子信道相互独立,

时分多址、频分多址、码分多址都是物理层的信道复用技术,属于静态划分信道,不会发生冲突

而CSMA属于争用型的媒体接入协议,连接在同一媒体的多个站点使用该协议以竞争方式发送数据帧,会发生冲突

频分复用:  频分多址FDMA

时分复用:   时分多址TDMA

码分多址CDMA

随机接入:总线局域网使用的协议:CSMA/CD协议

CSMA/CD:载波接听多址接入/碰撞检测   

随机接入:无线局域网使用的协议:CSMA/CA协议

CSMA/CA:载波接听多址接入/碰撞避免collision avoidance    

为什么无线局域网不用碰撞检测?   因为隐蔽站问题,如下图,

在CSMA/CA协议中,有信道预约和虚拟载波监听

3.7MAC地址、IP地址、以及ARP协议

MAC地址相关知识

当多个主机连接在同一个广播信道上时,如果想要发送帧,那么必须携带标识发送主机和接收主机的地址,由于这类地址是用于媒体接入控制MAC(Media Access Control),因此这类地址被称为MAC地址

注意:MAC地址也称为物理地址,但是!这不意味着MAC地址属于网络体系结构的物理层!MAC地址属于数据链路层的范畴

随机MAC地址:主要是因为美国的安全局通过用户MAC地址,来监测用户的移动轨迹。因此,在后续的IOS系列设备、Windows10、安卓6.0等  都应用了随机MAC地址

IP地址相关知识

数据包转发过程中,

主机H1知道应该把数据包传给R1,由R1帮其把数据包转发出去,

但是H1只知道R1相应接口的IP地址为IP3,不知道其对应的MAC地址是什么

如何通过IP地址推出MAC地址?     通过ARP协议

ARP地址解析协议相关知识(Address Resolution Protocol)

ARP协议只能在一个网络上使用、或者一段链路上使用。

首先要发送ARP广播请求,来获取目的主机的MAC地址

3.8集线器和交换机的区别

集线器HUB、交换机SWITCH

情况1:发送的数据是   广播帧

在集线器连接的总线型网络中,若主机A想要发送广播帧给主机C,那么这条广播帧会发送给连接在这个总线的所有主机

而交换机,若主机A想要发送广播帧给主机C,那么这条广播帧只会发送给主机C,不会发送到其他的主机上

情况2:发送的数据是  单播帧

在集线器连接的总线型网络中,若主机A和主机C同时想要发送数据给主机B,那么数据会发生碰撞,遭遇碰撞的帧  会传播到总线上的各主机

对于使用交换机的交换式以太网中,交换机收到多个帧时,会将他们同时缓存起来,然后逐个转发给目的主机,不会产生碰撞

下图:分别使用集线器、交换机来扩展以太网

3.9以太网交换机自学习和转发帧的流程

以太网交换机工作在数据链路层(也包括物理层)

使用一个或多个以太网交换机互连起来的交换式以太网,其所有站点都属于 同一个广播域

交换机里面有一个  “帧交换表”,当收到一个帧时,便会记录下MAC地址和相对应的接口  到自己的帧交换表中,然后还会判断目的地址是否为自己,如果是,则接收该帧,如果不是,就丢弃该帧。

注意:如果说 在“帧交换表”中,没有目的物理地址,那么就会进行 盲目转发,即,将该帧转发给所有接口,并且在帧交换表中,记录下  1.该帧由哪个物理地址转发的,且2.记录对应的接口

3.10以太网交换机的生成树协议STP

为了提高网络的可靠性,可以通过增加冗余链路,

但是这会导致  网路形成环路,从而造成“广播风暴”、“主机收到重复的广播帧”等,

因此,以太网交换机使用生成树协议STP,来避免网络环路带来的各种问题。

3.11.1虚拟局域网VLAN

由来:

当一个个较小的广播域  ,通过交换机连接起来,  形成了一个  非常大的广播域,这样子,当任何一台主机发送  广播请求时,会造成“广播风暴”,这会对CPU造成极大地浪费,但是广播请求又是不可以避免的,那么如何将一个巨大的广播域分隔成较小的呢?

        使用路由器就可以隔离广播域,         路由器默认情况下不对广播数据包进行转发。

但是路由器的成本较高,在巨大的广播域中,全部使用路由器隔离是不太现实,从而,虚拟局域网VLAN(Virtual Local  Area Network)出现了。

实现机制:

通过“加标签”、“去标签”

第四章、网络层

4.3.1   IPV4地址

IPV4地址就是给因特网(Internet)上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32比特的标识符

分类编址的IPV4地址

 根据分类的IP地址,写出类别:

  1. 根据地址的左起第一个十进制的值,可以判断出网络类别:小于127的为A类,128~191的为B类,192~223的为C类
  2. 根据网络类别,就可以找出地址中网络号部分和主机号部分:A类地址网络号是左起第一个字节,B类是左起前两个字节,C类是左起前三个字节
  3. 有三种情况的地址不能指派给主机或路由器接口:①A类网络号0和127②主机号全0,这是网络地址主机号全1,这是广播地址  

注意:地址0.0.0.0只能作为源地址使用;地址255.255.255.255只能作为目的地址使用;127开头的,且后面的三个字节非全“0”非全“1”  ,既可以作为源地址使用,也可以作为目的地址使用,用于本地软件环回测试

                        

  划分子网的IPV4地址

如何将一个大的网络分成一个个子网呢?IPV4地址分为,网络号和主机号,如果申请不同的网络号,会浪费资源。因此,我们通过占用主机号的比特位,用来区分子网,如果占用1位,那么就是说有两个子网。      

子网掩码

32比特的子网掩码,对应的IPV4的网络号和子网号的比特位上全部为1,主机号对应的全部为0,然后做   按位与操作。

无分类编址的IPV4地址

一般在地址后面  添加   “/数字”,比如在地址后面添加“/19”,表示该地址的前面19比特是代表网络号

中继器、集线器、网桥、交换机、路由器

4.6.2路由信息协议RIP的基本工作原理

RIP要求自治系统 AS  内的每一个路由器,都要维护从它自己到AS内每一个网络的距离的记录。这是一组距离,称为“距离向量D-V(Distance-Vector)”

                                                                        

注意:距离为“16”的时候,就不可达了 

4.6.3开放最短路径优先OSPF

OSPF是基于链路状态的,而不像RIP基于距离向量的。

第五章

5.3  UDP和TCP对比

UDP:用户数据报协议(User  Datagram Protocol)

TCP:传输控制协议(Transmission Control Protocol)

  • 在运输层使用 UDP协议的两台主机,可以直接进行 数据传输
  • 在运输层使用TCP协议的两台主机,需要先“三报文握手”建立连接,然后才能进行数据传输,最后还需要“四报文挥手”释放连接。

综上,可以看出 :无连接的UDP,和  面向连接的TCP

UDP向上提供无连接不可靠传输服务,适用于IP电话、视频会议等实时应用

TCP向上提供 有连接可靠传输服务

5.4  TCP的流量控制

通过滑动窗口来实现

接收方可以控制发送方的发送窗口大小

5.5  TCP的拥塞控制

四种拥塞控制算法

慢开始、拥塞避免、快重传、快恢复

5.8.1 TCP的连接建立

TCP运输连接有三个阶段:

  1. 建立TCP连接         “三报文握手”
  2. 数据传送
  3. 释放TCP连接         “四报文挥手”

                

                

第六章   应用层                 

6.4  域名系统DNS                                           

    DNS 采用UDP协议进行封装               

                                                                                                                                                                

6.5文件传送协议FTP

FTP客户和服务器之间要建立以下两个并行的TCP连接:

  1. 一个是控制连接,在整个会话期间一直保持打开,用于传送FTP相关控制命令
  2. 另一个是数据连接,用于文件传输,在每次文件传输时建立,传输结束就关闭

       

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/737385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

下载、安装并配置 Node.js

文章目录 1. 下载2. 自定义安装3. 添加环境变量4. 验证5. 修改下载位置6. npm 换源7. 测试 ➡️➡️➡️来源:Simplilearn.com Node.js 是一个开源、跨平台的 JavaScript 运行时环境和库,用于在客户端浏览器之外运行 web 应用程序。 Ryan Dahl 在2009年开…

React useMemo钩子指南:优化计算性能

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

萝卜大杂烩 | Polars ,最强Pandas平替(内含实操代码,建议收藏!)

本文来源公众号“萝卜大杂烩”,仅用于学术分享,侵权删,干货满满。 原文链接:Polars (最强Pandas平替) 本文章转自:数据studio 1 介绍 Polars是一个用于操作结构化数据的高性能DataFrame库,可以说是平替…

leetcode 热题 100_旋转图像

题解一&#xff1a; 翻转数组&#xff1a;先将数组沿右上-左下对角线翻转&#xff0c;再将数组上下翻转。 class Solution {public void rotate(int[][] matrix) {int n matrix.length;for (int i 0; i < n; i) {//沿右上-左下对角线翻转for (int j 0; j < n - i - 1…

简单句,并列句【语法笔记】

1. 简单句&#xff0c;并列句本质分别是什么 2. 如何区分简单句和并列句 3. 连接词 4. 简单句的五大基本句型 5. 有连接词&#xff0c;未必都是并列句&#xff0c;这是为什么

为何系统对接采用定制开发周期通常比集成平台更长

在信息化建设的浪潮中&#xff0c;系统对接是实现企业内外部系统间数据共享和业务协同的关键环节。在对接开发过程中&#xff0c;定制开发与平台开发是两种主要的实现方式&#xff0c;而普遍观点认为&#xff0c;定制开发对接的周期通常要比平台开发更长。本文将深入探讨这一现…

物奇平台超距断连无蓝牙广播问题解决方法

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 物奇平台超距断连无蓝牙广播问题解决方法 一 问题反馈 二解决方法: 1 运行流程分析 对应代…

智能合约开发基础知识:最小信任机制、智能合约、EVM

苏泽 大家好 这里是苏泽 一个钟爱区块链技术的后端开发者 本篇专栏 ←持续记录本人自学两年走过无数弯路的智能合约学习笔记和经验总结 如果喜欢拜托三连支持~ 专栏的前面几篇详细了介绍了区块链的核心基础知识 有兴趣学习的小伙伴可以看看http://t.csdnimg.cn/fCD5E关于区块…

线上又出问题了!又是特殊场景,哎呀,当时怎么没有想到!

目录标题 导读01.为什么经常会发生测试场景覆盖不全的问题?02.如何提升测试覆盖度?03.综述 导读 在我们的测试工作中&#xff0c;是不是经常遇到这样的情形&#xff0c;发生了线上问题&#xff0c;产品、研发或者测试同学一拍脑袋&#xff1a;当时怎么没有想到&#xff0c;怎…

Vue.js+SpringBoot开发海南旅游景点推荐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…

【论文阅读】VMamba:视觉状态空间模型

文章目录 VMamba:视觉状态空间模型摘要相关工作状态空间模型 方法准备状态空间模型离散化选择扫描机制 2D 选择扫描VMamba 模型整体结构VSS块 实验分析实验有效感受野输入尺度 总结 VMamba:视觉状态空间模型 摘要 受最近提出的状态空间模型启发&#xff0c;我们提出了视觉状态…

一款适合程序员开发复杂系统的通用平台——JNPF 开发平台

在过去&#xff0c;很多开发工具更侧重代码编辑&#xff0c;针对数据库增删改查&#xff08;CRUD&#xff09;类的 Web 系统开发&#xff0c;在界面设计、前后端数据交互等环节主要还是靠写代码&#xff0c;效率比较低。目前很多所谓的低代码开发平台&#xff0c;大多数也都是基…

Linux第75步_pinctrl子系统驱动和gpio子系统的常用函数

1、STM32MP1的pinctrl子系统驱动 pinctrl子系统源码目录为drivers/pinctrl&#xff0c;一个PIN最好只能被一个外设使用。 “stm32mp151.dtsi”中有一个“pin-controller节点标签”叫pinctrl pinctrl: pin-controller50002000 { #address-cells <1>; /*定义子节点的…

【24春招/Java】Java的市场情况介绍及Spring Boot基础

Java的市场情况 需求减少 人员增加 面试难度增加 1、Java高级开发&#xff0c;100份简历&#xff0c;筛选了20份&#xff0c;邀约20个人面试 面试机会&#xff1a;录取人数20:1 充分准备通过面试的前提 不要裸面&#xff01;&#xff01;&#xff01; 背葵花宝典&#xff08;…

23.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-实现配置工具数据结构

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果 内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;22.加载配置文件…

站库分离技术--反向代理技术-雷池云WAF-给自己搭建一个安全点的网站

文章目录 概要整体架构流程技术名词解释技术细节ssh-ubuntu服务器docker-映射-链接-通信nginx反代mysql设置数据库新密码 小结我的mysql映射目录我的wordpress映射目录 成果展示 概要 新买了一个云服务器&#xff0c;想搭建一个站库分离的wordpress为主的网站&#xff0c;采用d…

PID控制器组(完整SCL代码)

PID控制器组不是什么新概念,是在PID控制器的基础上,利用面向对象的思想对对象进行封装 批量实例化。 1、增量式PID https://rxxw-control.blog.csdn.net/article/details/124363197https://rxxw-control.blog.csdn.net/article/details/1243631972、完全增量式PID https:/…

Vue 3:引领前端开发的未来

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

自制STLink-V2.1

STLink-V2.1需要使用的芯片是STM32F103CBT6 原理图如下&#xff1a; PCB如下&#xff1a; 将板子焊接好后下载&#xff1a;STM32 DebugMass storageVCP V2.J40.M27的固件后&#xff0c;再使用ST官方ST-LinkUpgrade工具对我们自制的STLink-V2.1进行升级。升级完成后&#xff0c…

数据结构---复杂度(2)

1.斐波那契数列的时间复杂度问题 每一行分别是2^0---2^1---2^2-----2^3-------------------------------------------2^(n-2) 利用错位相减法&#xff0c;可以得到结果是&#xff0c;2^(n-1)-1,其实还是要减去右下角的灰色部分&#xff0c;我们可以拿简单的数字进行举例子&…