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

2024-03-11 23:44

本文主要是介绍计算机网络笔记(湖科大教书匠版本),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一章、

①三种交换方式

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

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.chinasem.cn/article/799470

相关文章

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear