计算机网络

计网虐我千百遍,我待计网如初恋,已经不记得是几次重学计网了。这次看的视频教程动画甚是精美,章节末的总结精炼实用,遂截图下来,并补充下细节,以后忘了不用再去找视频刷,翻翻笔记就好了。

概述

因特网组成

image-20210607174531600

3 种交换方式对比

image-20210607175932078

计算机网络的分类

image-20210607180336023

计算机网络的性能指标

image-20210607181736288

image-20210607182256059

image-20210607192809203

网络体系结构划分

image-20210607183116713

image-20210607190354136

image-20210607183708539

image-20210607184028006

image-20210607190206792

服务与协议

  • 下层协议对上层是透明的,上层实体不关心下层提供服务的具体实现。

image-20210607184751610
image-20210607184908020

物理层

image-20210607202252272

传输媒体

  • 严格来说传输媒体不属于计算机网络体系结构的任何一层,或者说在物理层之下。

image-20210607203619245

传输方式

image-20200917150009806

编码与调制

image-20200917150133434

信道的极限容量

image-20210607210352767

媒体接入控制 MAC

  • 媒体接入控制(Medium Access Control):协调多个发送和接收站点对一个共享传输媒体的占用问题。

image-20200912110505135

image-20210608102921391

  • CSMA/CD(Carrier Sense Multiple Access with Collision Detection,载波监听多路访问/碰撞检测):CSMA/CD 协议曾经用于早起的总线式(共享信道)的 802.3 以太网,点对点链路和链路层交换机的交换式局域网在有线领域已经完全取代了共享式局域网。现代的以太网多基于交换机和全双工连接,不会有碰撞,也没必要使用 CSMA/CD 协议。

image-20210608103347140

image-20210608103256365

image-20200912112412881

  • 最小帧长:争用期 × 信道带宽,为了让距离最远的两台主机之间都能检测碰撞(CSMA/CD),以 10 Mbps 的以太网为例,最小帧长 = 争用期 51.2 μs × 10 Mb/s = 512 bit = 64 KByte。

    最大帧长:为了防止长时间占用信道还有接收方缓冲区溢出等问题,帧也不能太长,并且太长容易发生误码,接受后由于校验所造成延迟也更长。

    image-20200912131434472
    image-20200912131836358
    image-20200912131920242

image-20210608113802494

  • CSMA/CA(Carrier Sense Multiple Access with Collision Avoid,载波监听多路访问/碰撞避免):802.11 无线局域网采用的媒体接入控制协议是 CSMA/CA(载波监听多点接入/避免碰撞),802.11局域网在使用 CSMA/CA 的同时,还使用停止-等待协议保证可靠传输。这是因为无线信道的通信质量远不如有线信道,因此无线站点每发送完一个数据帧后,要等到收到对方的确认帧后才能继续发送下一帧。

image-20200912141852488

image-20210608115629654

MAC 地址、IP 地址 和 ARP 协议

  • MAC 地址:是对网络上各个接口的唯一标识,网卡出厂即分配好,全球唯一,常用于目的地址和源地址的标识,由于这类地址是用于媒体接入控制(Medium Access Control),所以被称为 MAC 地址。但并不是所有 MAC 层(即数据链路层)的协议都要用到该地址,例如使用点对点信道的数据链路层协议 PPP 就不需要 MAC 地址的标识。MAC 地址一般被固化在网卡的EEPROM中,因此也被称为物理地址。

image-20210608121448929

image-20200912145152380

image-20200912145256790

  • IP 地址
    image-20210608121946112

image-20200912152434524

  • ARP 协议:地址解析协议(网络层)
    image-20200912153531522
    image-20200912153609468

集线器和交换机

  • 集线器:image-20200912154028327

  • 交换机:
    image-20200912154315513

  • 对比:image-20200912154602523

  • 交换机自学习
    image-20200912155231126image-20200912155733718

  • 以太网交换机生成树协议 STP
    image-20200912161224967

虚拟局域网

  • 局域网:在一个广播域中的所有网络设备构成一个局域网,即两台主机只通过二层(物理层和数据链路层)就可达就说明这两台主机在一个局域网内。使用交换机或集线器连接的主机构成一个局域网。
  • 使用交换机或集线器会扩大广播域,但可能会带来广播风暴或者安全问题,可以用路由器隔离广播域但是成本较高。可以利用 VLAN 技术将一个局域网中的设备划分成不同的逻辑组,同一个 VLAN 之间可以相互广播通信,不同 VLAN 之间不能通过直接通信。
    image-20210608125649494
  • VLAN 的实现:VLAN 是在交换机上实现的,需要交换机实现以下两大功能,能够处理带有 VLAN 标记的帧,即 IEEE 802.1Q 帧,二是交换机的各端口可以支持不同的端口类型,不同端口类型的端口对帧的处理方式有所不同。

image-20200912164006130

网络层

网络层概述

image-20210608173200652

网络层服务

  • IP 协议提供的是不可靠服务,并不确保传输的分组不丢失。IP 路由器对收到的 IP 分组进行差错检测,发现错误会丢弃该分组并向源主机发送 ICMP 差错报文(类型为参数错误)。
  • 虚电路服务与数据报服务比较
    image-20200912170832551

IP编址

image-20200912170942244

  • 分类编址:image-20200912190919894

image-20210608175219518

  • 划分子网:从原来 ABC 类地址中的主机号借用一定位数的比特来作为子网号,子网掩码左起全 1 的位数 = 网络号位数 + 子网号位数。格式:网络号 + 子网号 + 主机号。
    image-20210608194529835
  • 无分类编址 CIDR格式:前缀号 + 主机号/n。

image-20200912194143096

  • 路由聚合,构造超网
    image-20200912195743365
  • 定长子网掩码划分和变长子网掩码划分
    image-20200912200332163

路由转发过程

  1. 源主机判断目的主机IP地址是否在同一个网络(子网)中:源主机ip地址和子网掩码相与得到源主机所在网络号,与目的ip地址和源主机子网掩码相与得到的结果比较,如果相同则说明在同一网络,不同则说明不在同一个网络,同一子网中,网络号相同,掩码相同,
  2. 如果不在同一个网络?则将 IP 数据报发送给默认网关,默认网关IP是用户操作系统配置好的或者自动分配的,再结合ARP协议查询到默认网关的MAC地址,通过链路层将 IP 数据报 发送给默认网关,通常是路由器的一个端口。
  3. 路由器接收到IP 数据报后检查是否出错,若出错则直接丢弃IP数据报并报告源主机
  4. 将目的地址与路由条目中的地址掩码相与,然后xxxxx把结果和此条目对应的目的网络号相比较,如果相等或者是目的网络的一个子网 ,则此路由条目就是匹配的路由条目
  • 路由器不会转发全网络广播IP数据报(目的IP地址受限广播地址255.255.255.255),即路由器是隔离广播域的。但是可以通过配置转发直接广播地址跨网段广播。
  • 对目的地址是私有地址的 IP数据报一律不转发。
  • 中继器和集线器工作在物理层,既不隔离冲突域也不隔离广播域。
  • 网桥和交换机(多端口网桥)工作在数据链路层,可以隔离冲突域,不能隔离广播域。
  • 路由器工作在网络层,即隔离冲突域,也隔离广播域。

image-20210608204939096

静态路由

image-20210608205410293

image-20200913082153860

动态路由

image-20200913085133174

路由信息协议 RIP

image-20210608210811895

image-20200913091250744

开放最短路径优先协议 OSPF

  • OSPF 工作过程
    image-20200913092353796

  • 为了减少 AS 系统内部的泛洪,可以把 AS 再划分为多个区域,这样泛洪的范围就局限于一个每一个区域,而不是整个 AS。
    image-20200913093015022

image-20200913093354260

边界网关协议 BGP

image-20210608212234397

image-20200913094650012

三种路由选择协议的封装

image-20210608212455298

IPv4 首部格式

image-20200913095143617

image-20200913103749489

image-20200913103850332

image-20200913103929613

  • IPv4 分片:因为链路层的最大载荷可能有限制(例如以太网为 1500 字节),所以要对较长的 IP 数据报进行分片,负责 IP 分片的那台主机、路由器通过硬件、或软硬件结合、或纯粹软件方式来分片,处理分片会花费很多 CPU 资源,要尽可能避免 IP 分片。

    1
    2
    IP = IP Header + TCP = 20 + 1480 = 1500 Byte 
    TCP = TCP Header + TCP Payload = 20 + 1460 = 1480 Byte

    这个 TCP Payload = 1460 Byte 对应的就是 TCP 最大传输单元,我们称之为 Maximum Segment Size 即 MSS,即 MSS = MTU - IP Header - TCP Header = 1500 - 20 -20 = 1460。
    TCP 在三次握手的第一个 SYN 消息中有一个选项 option 4,就是为了协商通信双方的 MSS,会选择较小的一方作为这个 TCP 连接的 MSS,这样双向通信都可以避免因为 IP 包太大引起的分片。参考:TCP/IP 协议栈中,为什么选择 IP 层负责分片?以及车小胖谈网络:IP层分片

image-20200913104123195

image-20200913104138634

image-20200913104252932

image-20200913104311529

网际控制报文 ICMP

image-20200913110122111

image-20200913110052374

image-20200913105840922

VPN 和 NAT

image-20210608221318355

image-20210608221407260

image-20210608221449407

image-20210608221210918

运输层

运输层概述

image-20210608223016389

端口号

image-20200913121805940

image-20210609064541512

UDP 和 TCP 的对比

image-20200913123315833

image-20200913123200866

TCP 流量控制

image-20200913160117528

image-20200913163208407

image-20200913163126209

TCP 拥塞控制

image-20210609072002446

  • 慢开始和拥塞避免(1988 TCP Tahoe 版本)

image-20200913160946680

  • 快重传和快恢复(1990 年 TCP Reno 版本)

image-20200913162804123

image-20200913162150570

  • TCP 超时重传时间选择
    image-20200913164756064

TCP 可靠传输实现

  • 重传机制:采用的是累计确认,发送接收双滑动窗口传输, 选择重传还是回退N帧根据不同实现不同(TCP 扩展首部的「选项」字段里加一个 SACK 的东西的选择确认)

image-20200913181452069

TCP 建立连接

image-20200913190746286

TCP 断开连接

  • 等待 2 倍 MSL 时间的作用:可以确保TCP 服务进程可以收到最后一个 TCP 确认报文段而正确进入关闭状态,释放相关资源 ,并且使连接持续时间所产生的所有报文段都从网络中消失,这样下一个TCP 连接中不会出现旧连接中的报文段。

image-20200913192327712

image-20210609083841769

TCP 首部格式

image-20200913194841680

image-20200913194936410

image-20200913195003453

image-20200913195244786

image-20200913195557210

image-20200913195928780

image-20200913195016090

image-20200913200201010

image-20200913200154677

image-20200913200124280

image-20200913200142360

image-20200913195629509

image-20200913195816410

image-20200913200008538

image-20200913200015548

应用层

  • C/S 架构和 P2P

image-20200913222801512

DHCP

image-20200913224141124

image-20200913224229014

image-20200913224111960

DNS

image-20200914201550904

FTP

image-20200914202751122

SMTP

image-20200914204248600

HTTP

image-20200914210810207

参考

  1. B 站视频:计算机网络微课堂
  2. 计算机网络自学笔记

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!