当前位置: 首页 > article >正文

计算机网络笔记(横向)

该笔记也是我考研期间做的整理。一般网上的笔记是按照章节纪录的,我是按照知识点分类纪录的,大纲如下:

文章目录

  • 1. 各报文
    • 1.1 各报文头部详解
    • 1.2 相关口诀
  • 2. 各协议
    • 2.1 各应用层协议使用的传输层协议与端口
    • 2.2 各协议的过程
      • 2.2.1 数据链路层的协议簇
        • (1) 数据链路层介质访问控制协议
            • 1. ALOHA协议——不听就说
            • 2. CSMA协议——先听再说
            • 3. CSMA/CD协议——先听后发,边听边发,冲突停发,随机重发
            • 4. CSMA/CA协议
            • 5. 轮询访问:令牌传递协议
        • (2) 广域网数据链路层PPP协议
      • 2.2.2 网络层的协议簇
        • (1) RIP路由信息协议(应用层协议-UDP数据报文-端口520)
        • (2) OSPF开放最短路径优先协议(网络层协议-IP数据报-IP首部协议89)
        • (3) BGP边界网关协议(应用层协议-TCP数据报-端口179)
        • (4) ARP地址解析协议(网络层协议-IP数据报)
        • (5) ICMP互联网控制消息协议(网络层协议-IP数据报)
      • 2.2.3 传输层的协议簇
        • (1) TCP连接管理
          • 1. TCP连接的建立——三次握手
          • 2. TCP连接的释放——四次挥手
          • 3. 关于TCP
      • 2.2.4 应用层的协议簇
        • (1) DHCP动态主机配置协议(应用层协议-UDP数据报)
        • (2) FTP文件传输协议(应用层协议-TCP数据报-端口21)
        • (3) 电子邮件系统中的协议栈大杂烩
    • 2.3 公式大全
      • 2.3.1 奈奎斯特准则
      • 2.3.2 香农定理
    • 2.4 各协议注意事项
      • 2.4.1 数据链路层中滑动窗口大小问题
    • 2.5 TCP、UDP、IP封装的协议
  • 3. 各IP地址
    • 3.1 IPv4
    • 3.2 IPv6
  • 4. 各表
    • 4.1 路由表
    • 4.2 各种介质适用情况
  • 5. 陌生的名词
    • 5.1 SDN
    • 5.2 VLAN
    • 5.3 最短帧长
    • 5.4 通信 & 资源子网
    • 5.5 调制 & 解调
    • 5.6 开环控制 & 闭环控制
    • 5.7 SAP
  • 6. 各设备
    • 6.1 物理层
      • (1) 中继器 RP Repeater
      • (2) 集线器 Hub
      • (3) 放大器
    • 6.2 数据链路层
      • (1) 局域网交换机 LAN Switches
    • 6.3 网络层
      • (1) 路由器 Router
  • 7. 注意
    • 7.1 网络层分片问题
    • 7.2 两种模型协议栈的区分
    • 7.3 以太网的规定
    • 7.4 UDP与TCP的特殊校验
    • 7.5 域名与域名解析
  • 8. 参考资料

1. 各报文

1.1 各报文头部详解

重要程度分类需记
HTTP报文段请求行:方法 请求URL HTTP协议版本
状态行:版本 状态码 短语
★★UDP数据报首部长8B,4个字段都是2B
长度字段(1) = 首部 + 数据
检验和(可选) => 伪首部 + 首部 + 数据
面向报文:既不合并、也不拆分
★★★TCP报文段**首部固定部分20B,最大60B
**目的端口和源端口各占2B
序号:本报文段的第一个字节序号
确认号:期待收到下一个字节的序号
数据偏移=首部长度(单位4B)
检验和 => 伪首部 + 首部 + 数据
窗口:允许对方发送的数据量,并非表示自己的窗口。
★★★★IP分组首部固定部分20B,最大60B
总长度(1)+片偏移(8)+首部长度(4) “一种八片首饰”
标志位:(?)+DF+MF
检验和 => 首部
源地址、目的地址各占4B
★★★MAC帧前同步码8B
MAC地址长度6B
数据长度为46~1500B首尾部共18B帧长范围64~1518B
校验码 => 首部 + 数据

1.2 相关口诀

IP分组的单位:一种八片首饰(1总8片首4)

端口、IP、MAC(从上到下)的SAP长度:2B、4B、6B

2. 各协议

2.1 各应用层协议使用的传输层协议与端口

应用程序FTP-控SMTPDNSHTTPDHCP
协议TCPTCPUDPTCPUDP
端口2125538068请求
69回应

端口

  • 服务器使用的端口:
    • 0~1023:熟知端口号
    • 1024~49151:登记端口号
  • 客户端使用的端口号:
    • 49152~65535

2.2 各协议的过程

2.2.1 数据链路层的协议簇

(1) 数据链路层介质访问控制协议

1. ALOHA协议——不听就说

纯ALOHA协议——不听就说

有话直说,发生冲突则随机等待一段时间

时隙ALOHA协议——不听就说,整点发送

背景:纯ALOHA发送具有随机性,导致更多的冲突发生

例如将发送时间规定在01:00, 02:00, 03:00, …, 24:00,那么在下午15:34要说的话,就推迟到16:00发出去。(实际上不会隔那么久,这里假设T0=1h)

而如果发生碰撞,则继续采用纯ALOHA协议的方法。

2. CSMA协议——先听再说

1-坚持 CSMA——100%

发前先监听信道,若信道空闲,则立即发送

否则持续监听并等待(本次发送100%要发送)。

如果发生冲突,则随机等待一段时间后再监听。

非坚持 CSMA——0%

发前先监听信道,若信道空闲,则立即发送

否则就放弃监听(本次发送0%要发送,也就是可以不发送)。

如果发生冲突或者信道忙,则随机等待一段时间后再监听。

p-坚持 CSMA——p

发前先监听信道,若信道空闲,则按p概率发送,1-p概率推迟到下一个间隙。

否则就放弃监听,并在下一个间隙监听(本次发送只有p的概率会被发送)

3. CSMA/CD协议——先听后发,边听边发,冲突停发,随机重发

当发生冲突时,采用二进制指数退避算法:

  1. 确认基本的退避时间,一般取两倍的总线端到端传播时延2τ(即争用期)
  2. 定义参数k,k=[重传次数, 10]
  3. 每次重传从整数集合[0, 1, …, 2k-1]中随机取出一个数r,重传需要退避的时间就是2rτ
  4. 重传达16次,说明网络太拥挤,认为此帧永远无法正确发送,抛弃此帧
4. CSMA/CA协议

定义了帧间间隔(InterFrame Space, IFS)

  • SIFS(短IFS):最短的IFS,用来分隔属于一次对话的各帧,使用SIFS的帧类型有ACK帧、CTS帧、分片后的数据帧、所有回答AP探寻的帧
  • PIFS(点协调IFS):中等长度的IFS,在PCF操作中使用
  • DIFS(分布式协调IFS):最长的IFS,用于异步帧竞争访问的时延

只有在发出RTS之前会等待DIFS

其余发信号前均等待SIFS

处理隐蔽站问题

  • 源站发送前,使用RTS(Request To Send)控制帧,包括源地址、目的地址、通信所持续的时间。

    用来告知源站要在该时间内与其他人通信了,也用来告知目的站自己的发送请求。

  • 接收站接受请求,发送CTS(Clear To Send)控制帧,包括通信所持续的时间。

    用来告知其他人我要和源站通信了,也用来告知源站自己已经准备好了。

5. 轮询访问:令牌传递协议
  1. 空闲时,令牌在环路中循环传递
  2. 当轮到某站点,并且有数据要发送,此时令牌就变成数据帧
  3. 目的站发现是给自己的,于是复制该数据帧
  4. 最后该数据帧绕回源站,若发现出错,则重发
  5. 源站传输完数据后,重新生成一个令牌,回到步骤1

(2) 广域网数据链路层PPP协议

组成部分

  1. 链路控制协议(LCP):建立、配置、测试和管理数据链路
  2. 网络控制协议(NCP):为网络层协议建立和配置逻辑连接
  3. 将IP数据报封装到串行链路的方法:放置在PPP的信息部分,大小范围为0~1500B。

MTU

最大传送单元的最小值并非是46,因为PPP采用点对点连接,无需采用CSMA/CD协议

具体组成部分

PPP帧:[F, A, C, 协议, 信息部分, FCS, F]

  • F:标志字段,占1字节,规定为0x7E,类似帧定界
  • A:地址字段,占1字节,规定为0xFF
  • C:控制字段,占1字节,规定为0x03
  • 协议:协议段,占2字节,说明信息段中运载的是什么种类的分组。

一些要求

  • PPP是面向字节的,所以整个PPP帧的长度必须是整数个字节
  • 无确认不可靠服务
  • 支持点对点,不支持多点线路
  • 只支持全双工

面向字节的异步链路使用字节填充实现透明传输

在这里插入图片描述

面向比特的同步链路使用0比特填充实现透明传输

在这里插入图片描述

工作状态切换
在这里插入图片描述

2.2.2 网络层的协议簇

(1) RIP路由信息协议(应用层协议-UDP数据报文-端口520)

距离-向量路由算法的代表为RIP

  • 规定
    • 距离:距离即跳数,最多15跳:目的是防止环路
    • 动态更新:每30s广播一次RIP路由更新信息
    • 网络支持:子网掩码必须相同,RIP2及以后支持变长子网掩码和CIDE
  • 特点
    • 交换方式:与自己邻居交换自己所知道的所有路由信息
    • 心跳时间:180s没收到,对应路由则不可达(跳数为16)
  • 问题
    • 慢收敛

(2) OSPF开放最短路径优先协议(网络层协议-IP数据报-IP首部协议89)

链路状态路由算法的代表为OSPF

  • 规定
    • 距离:可根据IP分组的不同服务类型设置不同的代价,若代价相同,可将通信量分配给这几条链路(多路径间的负载平衡)
    • 动态更新:发生变化时广播
    • 网络支持:支持可变长子网掩码和CIDE
    • 判断新状态:会附上32位的序号,序号越大,状态越新
  • 特点
    • 交换方式:与所有成员交换自己邻居的路由信息
    • 划分网络:使用层次路由时,OSFS将一个自治系统再划分为若干区域(Area)
  • 五类分组
    • 问候分组:确认邻居是否还在(10s问候一次)
    • 数据库描述分组:向邻居给出自己知道的所有链路状态的摘要信息
    • 链路状态请求分组:向对方请求发送某些链路状态项目的详细信息
    • 链路状态更新分组:用洪泛法对全网更新链路状态
    • 链路状态确认分组:对链路更新分组的确认

(3) BGP边界网关协议(应用层协议-TCP数据报-端口179)

背景

无论是使用RIP还是OSPF,随着系统中路由的增加,路由表条目数会增多,扫描时间也会增加,因此引入层次路由的概念,将网络分为多个自治系统。

一个自治系统内部所使用的路由选择协议称为内部网关协议(IGP),也称域内路由选择。其中代表协议为RIP和OSPF

自治系统之间所使用的路由选择协议称为外部网关协议(EGP),也称域间路由选择。其中代表的协议为BGP边界网关协议

  • 规定
    • 距离:距离-向量,并非找到最好,力求找到较好
    • 动态更新:首次交换所有BGP路由表,往后只交换更新的部分
  • 四类报文
    • 打开(Open)报文:与另一个BGP发言人建立连接
    • 更新(Update)报文:告诉另一个BGP发言人自己更新的部分
    • 保活(Keepalive)报文:确认邻居是否还在
    • 通知(Notification)报文:用来发送检测到的差错
  • 交换的信息:到达某个网络所经过的路径,因此是路径向量协议

(4) ARP地址解析协议(网络层协议-IP数据报)

目的:A主机通过B的IP找到B主机的MAC

  1. A发送:广播ARP请求分组

    (源IP, 目的IP, 目的MAC, 源MAC) = (IPA, IPB, FF-FF-FF-FF-FF-FF, MACA)

  2. B发送:单播ARP响应分组

    (源IP, 目的IP, 目的MAC, 源MAC) = (IPB, IPA, MACA, MACB)

注意:如果跨网络,需要交给路由器这个中介完成,类似递归式地进行

(5) ICMP互联网控制消息协议(网络层协议-IP数据报)

目的:目标主机或目标路径上的路由器向源主机报告差错和异常情况。

ICMP有五种类型:

类型含义例子
终点不可达不能交付1. 端口没打开
2. 端口没有应用程序接待
源点抑制拥塞而丢弃主机或路由器太忙了,没时间接待,直接丢掉了
时间超过TTL=0中间途径的路由器太多了,导致TTL在半路就为0了
参数问题检验和不通过路由器检测到收到的数据有比特位错误了
改变路由
(重定向)
可通过更好的路由路由器检测到:
1. 从哪来又回哪去
2. 想发往远程网络的数据就在本网络

ICMP有四种情况不响应ICMP:

  • 对ICMP不响应ICMP
  • 对第一个分片响应,后续分片不响应
  • 组播地址
  • 特殊地址:例如127.0.0.1、0.0.0.0

2.2.3 传输层的协议簇

(1) TCP连接管理

在这里插入图片描述

1. TCP连接的建立——三次握手

目的

  1. 确知对方的存在
  2. 协商参数:最大窗口值、窗口扩大选项、时间戳选项、服务质量等
  3. 能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配

过程解析

  1. 客户端发送连接请求报文段(SYN=1, seq=x),并进入到SYN-SEND(同步已发送)状态
  2. 服务器收到后发回确认(ACK=1, SYN=1, seq=y, ack=x+1),并进入到SYN-RCVD(同步收到)状态
  3. 客户端收到服务器的确认后,还要向服务器给出确认(ACK=1, SYN=1, seq=x+1, ack=y+1),并为该TCP连接分配缓存和变量,进入到ESTABLISHED(已建立连接)状态
  4. 服务器收到客户端的确认后,也进入到ESTABLISHED(已建立连接)状态

一些细节

客户端在第三次握手若不发送数据,则不消耗序号,并且在下次传输数据时,序号从x+1开始。

服务器资源是在第二次握手时分配,而客户端是在第三次握手才分配资源,这使得服务器易受到SYN泛洪攻击(DDoS攻击)。

一些问题

Q: 为什么还要第三次握手,两次握手不行吗?

A: 假设两次握手的情况:客户端发送了第一个连接请求报文(SYN=1, seq=x),由于网络拥塞,客户端超时重传发送了第二个连接请求报文(SYN=1, seq=x+1),服务器收到了第二个连接请求,并发回确认,与客户端开始交换数据,最后,断开连接。不巧的是,第一个连接请求报文后来又到达了服务端,服务端就开始分配资源并发回确认,但是实际上这个确认直接被客户端给拒绝了!也就是说服务器的资源被白白浪费了。引用原话:“The principle reason for the three-way handshake is to prevent old duplicate connection initiations from causing confusion.”

2. TCP连接的释放——四次挥手

过程解析

  1. 客户端发完了

    报文:发送连接释放报文(FIN=1, seq=x),此时客户端单方向地关闭了数据通路。

    状态:进入FIN-WAIT-1(终止等待1)状态

  2. 服务器知道客户端发完了

    报文:对连接释放报文发回确认(ACK=1, seq=y, ack=x+1)

    状态:服务器进入CLOSE-WAIT(关闭等待)状态,客户端收到后进入FIN-WAIT-2(终止等待2)状态

  3. 服务器也发完了

    报文:发送连接释放报文(FIN=1, seq=y+n, ack=x+1),n为从第二、三步之间发送的字节数。

    状态:服务器进入LAST-ACK(最后确认)状态

  4. 客户端知道服务器发完了

    报文:对连接释放报文发回确认(ACK=1, seq=x+1, ack=y+n+1)

    状态:客户端先进入TIME-WAIT(等待计时器设置的2MSL最长报文寿命)状态,然后再进入到CLOSED(连接关闭)状态。而服务器直接进入到CLOSED(连接关闭)状态

3. 关于TCP

服务特点

  • 仅支持单播,不支持广播、组播
  • 字节流
  • 全双工

可靠传输

  • TCP默认使用累积确认
  • 重传的触发有两类:①超时重传;②冗余ACK:若期望收到seq=[1, 2, 3, 4],但是依次收到seq=[1, 3, 4],则依次发送的ACK中ack=[2, 2, 2, 2]。(知识交叉:重复收到三个相同ACK会触发快恢复

拥塞控制

(1) 定义

拥塞窗口cwnd:发送方的窗口

接收窗口rwnd:接收方的窗口

(2) 慢开始 & 拥塞避免

  • 慢开始:1-2-4-8-16-32-64
  • 拥塞避免:对慢开始设置ssthresh(例如31),则该过程为1-2-4-8-16-31-32
  • 对网络拥塞的处理:当在cwnd=32时发生拥塞(未按时收到确认)则①ssthresh=cwnd/2;②cwnd=1

(3) 快重传 & 快恢复

  • 快重传:收到3个重复的ACK报文,直接重传对方尚未收到的报文段
  • 快恢复:收到3个重复的ACK报文,则①ssthresh=cwnd/2; ②cwnd=cwnd/2;

可靠传输 与 拥塞控制的关系

可靠传输:滑动窗口的大小由接收方决定。

拥塞控制:滑动窗口的大小由网络拥塞情况决定。

滑动窗口仍然是服务于可靠传输,拥塞控制只是滑动窗口大小的动态调节机制。

当题目中二者同时出现时,选择其中最小的那个。(知识交叉:极限数据传输速率也是二者取小者)

拥塞控制的细节

拥塞窗口改变cwnd的时机并不是等待依次发送的cwnd个报文,而是每个RTT内会并行地发送cwnd个报文。

要认识到:①cwnd每RTT将可能改变一次;②一个RTT内的多个报文的发送不是串行,而是并行

2.2.4 应用层的协议簇

(1) DHCP动态主机配置协议(应用层协议-UDP数据报)

目的:A主机向DHCP服务器申请并注册一个私有IP使用

  1. A发送:广播DHCP发现报文
    (源IP, 目的IP) = (0.0.0.0, 255.255.255.255)
  2. DHCP服务器发送:广播DHCP提供报文
    (源IP, 目的IP) = (IPDHCP, 255.255.255.255)
  3. A发送:广播DHCP请求报文
    (源IP, 目的IP) = (0.0.0.0, 255.255.255.255)
  4. DHCP服务器发送:广播DHCP确定报文
    (源IP, 目的IP) = (IPDHCP, 255.255.255.255)

为什么DHCP是应用层协议?

因为DHCP有DHCP服务器、DHCP客户,采用C/S模式,只要采用C/S模式的协议就是应用层协议

(2) FTP文件传输协议(应用层协议-TCP数据报-端口21)

控制连接

  1. 打开21端口
  2. 等待客户进程发来请求
  3. 启动从属进程来处理客户进程发来的请求
  4. 回到等待状态

数据连接-主动模式PORT

  1. 客户端向服务器21端口发送PORT命令+端口号
  2. 服务器使用20端口连接客户告知的端口
  3. 数据传输
  4. 发送完毕,断开连接

主动可理解为:服务器主动连接客户要求的端口

数据连接-被动模式PASV

  1. 客户端向服务器21端口发送PASV命令
  2. 服务器随机开放一个端口(>1023),并告知客户端
  3. 客户端再自己开放一个端口(>1023),连接服务器告知的端口
  4. 数据传输
  5. 发送完毕,断开连接

被动可理解为:服务器被客户连接

一些细节

  • 控制信号都是7位ASCII码

(3) 电子邮件系统中的协议栈大杂烩

SMTP——TCP25

使用范围:发件人 => 发送方邮件服务器发送方邮件服务器 => 接收方邮件服务器

限制:只能传输一定长度的ASCII码邮件

MIME——SMTP的升级媒介(仅仅是翻译工作)

使用范围:发件人发之前由MIME“转码”后转交给SMTP、接收人收之前由MIME“恢复”

POP3(Post Office Protocal 3) 邮局协议——TCP110

使用范围:接收方从接收方服务器“拉取”邮件

特点:提供下载并保留、下载并删除工作方式

限制:无法分类,必须下载整个邮件才能读

IMAP——POP3的升级

使用范围:同POP3

特点:可以建立文件夹、可以在文件夹之间转移邮件、可以在文件夹内检索邮件、可以只读取一个报文的首部或者多部分MIME报文的一部分

电子邮件格式

From:jiang@taibai.cloud
To:522806735@qq.com
Subject:Are you OK?
  Hi, I'm LiHua, How are you? 
I'm fine, thank you!

1~3:首部

4~:主体

SMTP连接过程解析

以下简写:SMTP客户为发送方SMTP服务器,SMTP服务器为接收方SMTP服务器。

(1) 连接建立

  • SMTP客户:定时扫描,若有邮件则开始连接
  • SMTP客户:使用熟知端口号25与SMTP服务器建立TCP连接。
  • SMTP服务器:220 Service ready(服务就绪)
  • SMTP客户:发送HELLO命令,附上发送方的主机名

(2) 邮件传送

  • SMTP客户MAIL FROM:<jiang@taibai.cloud>
  • SMTP服务器:若已准备好接收,则发送250 OK
  • SMTP客户:一个或多个RCPT(收件人recipient的缩写),RCPT TO:<user1@taibai.cloud>
  • SMTP服务器:每收到一个RCPT,就响应250 OK或者550 No such user here(查无此人)
  • SMTP客户:发送DATA表示要发送数据了(先别发)
  • SMTP服务器:354 Start mail input; end with<CRLF>.<CRLF>。表示客户要以<CRLF>.<CRLF>表示邮件内容的结束

(3) 连接释放

  • SMTP客户:发送QUIT命令
  • SMTP服务器:响应221(服务关闭)

整个过程简化为:

  • HELLO,我的电脑名字
  • MAIL,我的邮箱
  • RCPT,我要发给的邮箱1
  • RCPT,我要发给的邮箱n
  • DATA,我准备发了你有什么要求
  • 数据传输
  • QUIT,传输结束

2.3 公式大全

2.3.1 奈奎斯特准则

设W为理想低通信道的带宽,V表示每个码元可表示的离散电平数目(实际上log2V意思就是一码元多少bit)
理想低通信道下的极限数据传输速率 = 2 W ( B a u d ) = 2 W l o g 2 V ( b / s ) 理想低通信道下的极限数据传输速率=2W(Baud)=2Wlog_2V(b/s) 理想低通信道下的极限数据传输速率=2W(Baud)=2Wlog2V(b/s)

2.3.2 香农定理

设W为信道的带宽,S为信道所传输信号的平均功率,N为信道内部的高斯噪声功率。
信道的极限数据传输速率 = W l o g 2 ( 1 + S / N ) 信道的极限数据传输速率 = Wlog_2(1+S/N) 信道的极限数据传输速率=Wlog2(1+S/N)
扩展:信噪比=10log10(S/N) 分贝(dB),给定分贝单位的数据,要知道求S/N

2.4 各协议注意事项

2.4.1 数据链路层中滑动窗口大小问题

最大限制

选择重传协议要求发送窗口WT与接收窗口WR最大的限制:WTmax=WRmax=2(n-1)

多维分析

发送窗口WT接收窗口WR
停止-等待协议11
后退N帧协议1≤WT≤2n-1
(等于1时退化到停等协议)
1

选择重传协议需满足:

  • 发送窗口大小 + 接收窗口大小 ≤ 2n
  • 发送窗口大小 ≥ 接收窗口大小(一般相等,因为发送比接收大没有意义)

2.5 TCP、UDP、IP封装的协议

TCP封装的

协议名称所属层次端口功能
BGP网络层179边界网关协议
FTP-控制应用层21文件传输控制命令传输
SMTP应用层25简单邮件传输协议
HTTP应用层80超文本传输协议
POP3应用层110邮局通讯协定第三版
TELNET应用层23远程登录

UDP封装的

协议名称所属层次端口功能
RIP网络层520路由信息协议
DHCP应用层68动态主机配置
DNS应用层53域名解析服务
TFTP应用层69普通文件传送协议
SNMP应用层161简单网络管理协议

IP封装的

协议名称所属层次功能
OSPF网络层开放最短路径优先协议
ARP网络层地址解析协议
ICMP网络层互联网控制消息协议

3. 各IP地址

3.1 IPv4

基本分类

类型固定首位范围
A0网络号1B,主机号3B
B10网络号2B,主机号2B
C110网络号3B,主机号1B
D1110多播地址
E1111保留为今后使用

特别地址不作主机地址

  1. 主机号全0:代表本网络地址
  2. 主机号全1:代表本网络的广播地址(直接广播地址)
  3. 127.x.x.x:本地回环地址
  4. 32为全0:本网络本主机地址
  5. 32为全1:整个TCP/IP网络的广播地址,由于路由器具有隔离广播域的作用,实际等效为本网络的广播地址(本地广播地址)

私有地址不出现在Internet中

  • 1个A类网段:10.0.0.0 ~ 10.255.255.255
  • 16个B类网段:172.16.0.0 ~ 172.31.255.255
  • 256个C类网段:192.168.0.0 ~ 192.168.255.255

特殊的CIDE无分类编址IP

  • a.b.c.d/32:主机路由,对目的主机的IP地址专门指明一个路由,软路由,把一台主机当做路由。仅仅只能表示一台,所以子网掩码要用255.255.255.255
  • 0.0.0.0/0:默认路由,当在路由表中找不到目的路由时,一律选择默认路由

3.2 IPv6

与IPv4的异同

IPv6IPv4
长度16B(128位)4B(32位)
首部长度8nB4nB
分片不允许分片允许分片
基本类型地址单播、多播、 任播单播 、多播
校验和不校验校验首部

4. 各表

4.1 路由表

基本格式:(目标网络的IP地址, 子网掩码, 下一跳, 接口)

关于下一跳:

  • 无下一跳:在同一个网络内,与路由器直连的目标IP地址

默认网关的配置:

  • (0.0.0.0, 0.0.0.0, 默认路由的IP, 与默认网关相连的端口)
  • 作用:A路由器在本网络,B路由器连接着Internet,如果A收到不是本网络的数据,就发给默认路由。

4.2 各种介质适用情况

数据链路层知识P110

参数10BASE210BASE510BASE-T10BASE-FL
传输媒体基带同轴电缆(粗缆)基带同轴电缆(细缆)非屏蔽双绞线光纤对
编码曼彻斯特编码曼彻斯特编码曼彻斯特编码曼彻斯特编码
拓扑结构总线总线星型点对点
最大段长500m185m100m200m
最多结点数目1003022

这样记

数字就是粗缆细缆的意思,T就是Twisted-Pair即双绞线,FL就是Fiber Light即光纤(虽然不是这样翻译的)

双绞线在路由器见得多,而一个路由器连接多个电脑就像是星型一样。实际上双绞线的中心是集线器,在逻辑上依旧是总线,属于一个冲突域。

光纤要求比较多,弄一个中继器很难实现分发,所以干脆点到点。

另外两个就是总线型(总要有几个是总线型吧!)

5. 陌生的名词

5.1 SDN

软件定义网络,SDN(Software Defined Network)

传统路由器分为控制层面与数据层面,在近年流行的SDN中,将控制层面集中在了远程控制器

路由器的任务就是:

  • 收到远程控制器的转发表
  • 收到分组
  • 直接按照转发表所指示的方向转发分组

路由器无需的任务:

  • 维护转发表
  • 无需路由选择软件
  • 无需与其他路由器交换路由信息

5.2 VLAN

虚拟局域网,是数据链路层范畴,由交换机实现。

交换机隔离冲突域,不隔离广播域

但交换机实现的VLAN即隔离冲突域,又隔离广播域

5.3 最短帧长

以太网规定最短帧长为64B

若某物理链路采用CSMA/CD(载波监听多点接入/碰撞避免)算法控制访问介质,那么就需要考虑最短帧长
最短帧长 = 2 × ( 单向传输时延 + 单向传输时的其他耗时 ) × 宽带 最短帧长 = 2×(单向传输时延+单向传输时的其他耗时)×宽带 最短帧长=2×(单向传输时延+单向传输时的其他耗时)×宽带
该公式意思是,因为需要在发送过程中一直监听链路

在极限情况下,接收方刚准备接收就发生碰撞,因此会给发送方告知发生了碰撞,此时所需时间就是往返时延

若在往返时延之前就结束了发送,意味着不能监听到极限情况下的碰撞,也就丢失了这一个帧

5.4 通信 & 资源子网

通信子网:下三层(物理层、数据链路层、网络层)

资源子网:上三层(会话层、表示层、应用层)

传输层作为承上启下的作用。

5.5 调制 & 解调

调制:数字信号 转 模拟信号,基带 转 宽带

解调:模拟信号 转 数字信号,宽带 转 基带

5.6 开环控制 & 闭环控制

作用

取自P142,用于网络层的拥塞控制

区别

【静态】开环控制:在设计网络时事先将有关发生拥塞的因数考虑周到,力求网络在工作时不产生拥塞。

【动态】闭环控制:事先不考虑,采用监测网络系统去监视,哪里拥塞就把拥塞消息传到合适的地方。

玄学记忆

闭环就是关起来,只有内部人员(网络系统监视)才可以维护。

而开环控制不需要维护(实现考虑周全),所以不需要闭起来了。

5.7 SAP

SAP:Server Access Point,服务访问点

数据链路层SAP:MAC地址

网络层SAP:IP地址

传输层SAP:端口号

6. 各设备

一般性特征

能存储转发就能连接协议不同的网络。

6.1 物理层

(1) 中继器 RP Repeater

主要作用:将信号整形并放大放出去

限制:不能连接两个速率不一致的局域网

区分:放大器放大的是模拟信号,中继器放大的是数字信号

遵守:5-4-3原则——用4个中继器连接的5个网络最多只有3段可以挂在主机

(2) 集线器 Hub

主要作用:实质上是多端口的中继器

限制:仅支持半双工,因此会均分带宽

结构:逻辑总线,物理星型

(3) 放大器

常用于远距离模拟信号的传输,但同时会使噪声放大,引起失真。

6.2 数据链路层

(1) 局域网交换机 LAN Switches

主要作用:多端口的网桥,隔离冲突域

相关联:本身不隔离广播域,但用交换机实现的虚拟局域网VLAN,则隔离广播域

特点:全双工、无冲突、自学习、N个端口的(10MB/s)交换机总容量为N×10MB/s

注意:交换机收到某未知单播、广播时,不会转发到发来的端口上

分类

直通式交换机存储转发式交换机
检查范围只检查帧的目的地址整个帧
优点延时低可靠性高
缺点可靠性低需要缓存整个帧,延时高
不同速率端口兼容性无法转换速率不同的端口支持速率不同端口间的转换

6.3 网络层

(1) 路由器 Router

如果转发本网络,无需经过路由器,直接交付

如果转发到其他网络,则需要根据转发表间接交付

两个表

路由表:由软件实现

转发表:从路由表得到,由软件或者硬件实现

实际上转发时靠的是转发表,而非路由表

7. 注意

7.1 网络层分片问题

  1. 分片时,数据部分长度必须是8B的整数倍
  2. 转发时,若MTU小于当前帧长,分片时需要考虑到底能不能分片,位于标志位[保留, DF, MF]的DF位(DF即Don’t Fragment, MF即More Fragment)

7.2 两种模型协议栈的区分

ISO/OSITCP/IP
传输层面向连接无连接 & 面向连接
网络层无连接 & 面向连接无连接

这样记

TCP/IP模型中,传输层UDP无连接、TCP面向连接,网络层IP无连接。

ISO/OSI是理论理想的,为了保证安全,传输层必须是面向连接的才安全,而传输层实现了面向连接,网络层有没有连接无所谓了。

7.3 以太网的规定

物理层:采用曼彻斯特编码,每位数据需要两个电平表示,因此1Baud=0.5b/s

数据链路层:最小帧长64B

7.4 UDP与TCP的特殊校验

计算校验和之前,需要在原首部前加上12B的伪首部

伪首部结构:[源IP(4B), 目的IP(4B), 0(1B), 17/6(1B), UDP/TCP长度(2B)],其中UDP/TPC长度=原来UDP/TCP数据报的首部+数据长度。不包括伪首部的长度

伪首部第四个是协议字段,UDP的伪首部为17,TCP的伪首部为6。

伪首部既不向下传递也不向上递交,仅在计算校验和时出现。

校验和范围:伪首部+首部+数据部分

7.5 域名与域名解析

对于 Aaaa.bb-bb.cc(…)cc.com

  • Aaaa: 不区分大小写
  • bb-bb: 连字符外不能用其他的符号
  • cc(…)cc: 每个标号不超过63个字符
  • com:顶级域名分三类①国家顶级域名;②通用顶级域名;③基础结构域名(有且仅有arpa):用于反向域名解析
  • 整个域名:不超过255个字符

对于source.cdn.taibai.cloud域名的DNS解析过程:

  • 根域名服务器:找到cloud的DNS顶级服务器
  • 顶级域名服务器:找到taibai.cloud的DNS权限域名服务器A
  • 权限域名服务器A:找到cdn.taibai.cloud的DNS权限域名服务器B
  • 权限域名服务器B:找到source.cdn.taibai.cloud的IP地址

注意权限域名服务器以下的均为权限域名服务器

且注意cdn.taibai.cloud的权限域名服务器就可以告诉source.cdn.taibai.cloud的IP,无需再递归去找source.cdn.taibai.cloud权限域名服务器了,而且source.cdn.taibai.cloud根本不是权限域名服务器,而是实实在在的主机。

8. 参考资料

如有错误欢迎指正,本笔记主要参考资料:
[1] 王道论坛 2023年计算机网络考研复习指导 北京:电子工业出版社,2021.12
[2] 计算机网络谢希仁(第8版)


http://www.kler.cn/a/10232.html

相关文章:

  • 【MySQL】数据库知识突破:数据类型全解析与详解
  • JavaScript数组去重的实用方法汇总
  • 【韩老师零基础30天学会Java 】06章 数组、排序和查找
  • 前端知识点---选择输入框confirm(Javascript)
  • .netCore WebAPI中字符串加密与解密
  • 杨辉三角-一维数组与二维数组解法
  • 代码随想录算法训练营第三十四天-贪心算法3| 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果
  • 微服务+springcloud+springcloud alibaba学习笔记【Eureka服务注册中心】(3/9)
  • C++标准库--IO库(Primer C++ 第五版 · 阅读笔记)
  • 离散数学_第二章:基本结构:集合、函数、序列、求和和矩阵(1)
  • 探索树形数据结构,通识树、森林与二叉树的基础知识(专有名词),进一步利用顺序表和链表表示、遍历和线索树形结构
  • 梯度的看法
  • MyBatis配置文件 —— 相关标签详解
  • 干翻Hadoop系列之:Hadoop前瞻之分布式知识
  • Leetcode.1992 找到所有的农场组
  • NumPy 秘籍中文第二版:十、Scikits 的乐趣
  • vue3+TS+Pinia+Vite项目实战之一
  • 程序员的日常瞎想,个人规划,和企业把控之间的微妙关系。职场人你懂!!
  • WPF MVVM模式构建项目
  • “三步走”推动云原生转型之路
  • Unity资源-音效初识
  • 【MySQL】表的约束
  • Wijmo JavaScript UI 5.20222.877 Crack
  • ESLint的配置
  • 使用向量机(SVM)算法的推荐系统
  • Flutter系列(七)ListView 图文列表详解