计算机网络知识总结

总结中国大学MOOC计算机网络课程相关知识。

课程介绍

学习计算机网络时找到了这套课程,作为入门还是不错的,老师的PPT都很通俗易懂。可以在MOOC计算机网络上下载课程PPT,B站上计算机网络微课堂(有字幕无背景音乐版)也有课程视频。

第1章 概述

1.1 计算机网络在信息时代的作用

略。

1.2 因特网概述

  1. 网络是由若干结点和连接这些结点的链路组成。

  2. 多个网络可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网。因此,互联网就是“网络的网络”。

  3. 因特网是世界上最大的互连网络。它是一个专用名词,采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。

ISP(Internet Service Provider):因特网服务提供者。例如国内的中国电信、中国联通和中国移动。

因特网的组成:边缘部分+核心部分

1.3 电路交换、分组交换、报文交换

分组交换:

  • 发送方:构造分组、发送分组
  • 路由器:存储转发分组
  • 接收方:接收分组、还原报文

分组交换的优缺点:

  • 优点
    • 无需建立连接
    • 线路利用率高
    • 简化了存储管理
    • 加速传输
    • 减少出错概率和重发数据量
  • 缺点
    • 引发了转发时延
    • 需要额外的信息量
    • 对于数据报服务,存在失序、丢失和重复分组的问题;对于虚电路服务,存在呼叫建立、数据传输和虚电路释放三个过程

1.4 计算机网络的定义与分类

计算机网络:一些互相连接的、自治的计算机的集合。

1.5 计算机网络的性能指标

image1 image2

🚩1.6 计算机网络体系结构

image-20220306165831945

image-20220306165900996

应用层 :解决通过应用进程的交互来实现特定网络应用的问题。为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。

表示层 :数据处理(编解码、加密解密、压缩解压缩)。

会话层 :管理(建立、维护、重连)应用程序之间的对话。

传输层 :解决进程之间基于网络的通信问题。为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供 无连接、尽最大努力的数据传输服务,数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务。

网络层 :解决分组在多个网络上传输(路由)的问题。为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。

数据链路层 :解决分组在一个网络(或一段链路)上传输的问题。网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。

物理层 :解决使用何种信号来传输比特的问题。考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。

image-20220306171201560

第2章 物理层

2.1 物理层的基本概念

image-1

2.2 物理层下面的传输媒体

image-2

2.3 传输方式

传输方式

2.4 编码与调制

2.4-1 2.4-2 2.4-3 2.4-4 2.4-5 2.4-6 2.4-7 2.4-8

2.5 信道的极限容量

2.5-1 2.5-2 2.5-3 2.5-4

第3章 数据链路层

3.1 数据链路层概述

2.4-1 2.4-2 2.4-3 2.4-4 2.4-5 2.4-6

3.2 封装成帧

1 2 3

3.3 差错检测

1 2 3 4 5 6

3.4 可靠传输

3.4.1 可靠传输的基本概念

1 2 3

3.4.2 停止-等待协议SW

1 2 3

3.4.3 回退N帧协议GBN

1 2 3 4 5 6 7 8

3.4.4 选择重传协议SR

1 2 3 4 5

3.5 点对点协议PPP

1 2 3 4 5 6 7 8

3.6 媒体接入控制MAC

3.6.1基本概念

1

3.6.2静态划分信道

1 2 3 4 5 6 7 8 9 10

3.6.3 CSMA/CD

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

3.6.4 CSMA/CA

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

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

3.7.1 MAC地址

1 2 3 4 5 6 7 8 9 10 11 12 13 14

3.7.2 IP地址

1 2 3 4 5

3.7.3 ARP协议

1 2 3 4 5 6 7

3.8 集线器与交换机的区别

1 2 3 4 5 6 7 8

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

1 2 3 4 5 6

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

1

3.11 虚拟局域网VLAN

3.11.1概述

1 2

3.11.2 实现机制

1 2 3 4 5 6 7 8

第4章 网络层

4.1 网络层概述

1 2

4.2 网络层提供的两种服务

1 2 3

4.3 IPv4地址

4.3.1 IPv4地址概述

1 2

4.3.2 分类编址的IPv4地址

1 2 3 4 5 6 7

4.3.3 划分子网的IPv4地址

1 2 3 4 5 6 7 8

4.3.4 无分类编址的IPv4地址

1 2 3 4 5 6 7

4.3.5 IPv4地址的应用规划

1 2 3 4 5 6 7 8

4.4 IP数据包的发送和转发过程

1 2 3 4 5 6 7 8 9 10 11

4.5 静态路由配置及其可能产生的路由环路问题

1 2 3 4 5 6 7

4.6 路由选择协议

4.6.1 路由选择协议概述

1 2 3 4 5 6 7

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

1 2 3 4 5 6 7

4.6.3 开放最短路径优先OSPF的基本工作原理

1 2 3 4 5 6 7 8 9 10

4.6.4 边界网关协议BGP的基本工作原理

1 2 3 4 5 6 7 8 9 10

4.7 IPv4数据报的首部格式

重要的是能画出IPv4数据报的首部格式

image-20220220131707502

4.8 网际控制协议ICMP

  • 目的:为了更有效地转发IP数据报和提高交付成功的机会
  • 封装在IP数据报中
  • ICMP差错报告报文分为5种:终点不可达、源点抑制、时间超过、参数问题、改变路由(重定向)
  • 不应发送ICMP差错报告报文 有4种情况
  • ICMP询问报文
    • 回送请求和回答:测试目的站是否可达
    • 时间戳请求和回答:进行时钟同步和测量时间
  • ICMP应用
    • 分组网间探测PING
    • 跟踪路由

4.9 虚拟专用网VPN和网络地址转换NAT

  • VPN:利用公用的因特网作为本机构各专用网络之间的通信载体
  • 虚拟专用网中的各主机所分配的地址应该是本机构可自由分配的专用地址。有专用地址。
  • NAT:可使大量使用内部专用地址的网络用户共享少量外部全球地址
  • 网络地址与端口号转换:NAPT,用一个全球IP地址就可以使本地地址的主机同时和因特网上的主机进行通信。
  • NAT对外网屏蔽了内网主机的网络地址,能为内网的主机提供一定的安全保护。

第5章 运输层

5.1 运输层概述

  • 计算机网络体系结构中的物理层、数据链路层和网络层共同解决了将主机通过异构网络互联起来说面临的问题,实现了主机到主机的通信
  • 运输层任务:为运行在不同主机上的应用进程提供直接的通信服务
  • 运输协议:面向连接的TCP和无连接的UDP

5.2 运输层端口号、复用和分用的概念

  • TCP/IP体系的运输层使用端口号来区分应用层的不同进程
    • 熟知端口号
    • 登记端口号
    • 短暂端口号
  • 端口号只具有本地意义
  • 发送方的复用和接收方的分用

image-20220220135230146

  • 熟知端口号

image-20220220135502221

5.3 UDP和TCP的对比

image-20220220142051219

UDP的首部格式

image-20220224191840954

5.4 TCP的流量控制

  • 所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收

  • 利用滑动窗口机制可以很方便地在TCP连接上实现对发送方的流量控制。

    • TCP接收方利用自己的接收窗口的大小来限制发送方发送窗口的大小。
    • TCP发送方收到接收方的零窗口通知后,应启动持续计时器。持续计时器超时后,向接收方发送零窗口探测报文

5.5 TCP的拥塞控制

在某段时间内,若对网络中某一资源的需求超过了该资源所能提供的部分,网络性能就要变坏。这种情况就叫做拥塞。

image-20220221191213823

image-20220221191002197

5.6 TCP超时重传时间的选择

超时重传时间RTO应略大于加权平均往返时间RTTs(又称为平滑的往返时间)。

image-20220221192951884

5.7 TCP可靠传输的实现

image-20220221194903190

5.8 TCP的运输连接管理

5.8.1 TCP的连接建立

image-20220221200835993

发送针对TCP连接请求的确认的确认不多余,这是为了防止失效的连接请求报文段突然又重传到了TCP服务器,因而导致错误。

TCP 为什么是三次握手,而不是两次或四次?

5.8.2 TCP的连接释放

image-20220221202241831

image-20220221202420969

参考两张动图-彻底明白TCP的三次握手与四次挥手:

为什么建立连接是三次握手,关闭连接确是四次挥手呢?

建立连接的时候, 服务器在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,服务器收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,而自己也未必全部数据都发送给对方了,所以己方可以立即关闭,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送,从而导致多了一次。

5.9 TCP报文段的首部格式

image-20220222143614760

序号:指出本TCP报文段数据载荷的第一个字节的序号

确认号:指出期望收到对方下一个TCP报文段的数据载荷的第一个字节的序号,同时也是对之前收到的所有数据的确认。

TCP规定,在连接建立后所有传送的TCP报文段都必须把ACK置1。

保留:占6比特

校验和:在计算校验和时,要在TCP报文段的前面加上12字节的伪首部。

复位标识位RST:用来复位TCP连接。为1表明TCP连接出现了异常。RST置1还用来拒绝一个非法的报文段或拒绝打开一个TCP连接。

PSH:推送标志位

紧急标记位URG

紧急指针:占16比特,以字节为单位,用来指明紧急数据的长度。

选项:最大报文段长度MSS选项、窗口扩大选项、时间戳选项(计算往返时间RTT,处理序号超范围的情况)、选择确认选项

第6章 应用层

6.1 应用层概述

image-20220222150200269

image-20220222150247501

6.2 客户/服务器方式和对等方式

image-20220222150411463

6.3 动态主机配置协议DHCP

image-20220222151827754

image-20220222151905764

6.4 域名系统DNS(Domain Name System)

image-20220222153928601

image-20220222154000857

image-20220222154058684

image-20220222154122175

为了提高DNS的查询效率,并减轻根域名服务器的负荷和减少因特网上DNS查询报文的数量,在域名服务器和主机中广泛使用了高速缓存

DNS报文使用运输层的UDP协议封装,运输层端口号为53

6.5 文件传送协议FTP

image-20220222161515570

image-20220222161543913

6.6 电子邮件

image-20220222173318475

image-20220222173351178

image-20220222173528597

image-20220222173558645

6.7 万维网WWW

万维网是运行在因特网上的一个分布式应用

万维网利用网页之间的超链接将不同网站的网页链接成一张逻辑上的信息网。

万维网使用统一资源定位符URL来指明因特网上任何种类“资源”的位置。URL一般形式:<协议>://<主机>:<端口>/<路径>

万维网文档

  • 超文本标记语言HTML,使用多种标签来描述网页的结构和内容
  • 层叠样式表CSS,从审美的角度来描述网页的样式
  • JavaScript,一种脚本语言,控制网页行为

image-20220223135217357

image-20220223135245364

image-20220223135322233

image-20220223135804011

image-20220223135834276

image-20220223135913212

image-20220223140106001

Cookie是一种对无状态的HTTP进行状态化的技术。

image-20220223140250457

image-20220223140415470