概述
-
互联网两个重要基本特征:连通性、共享
-
互联网发展的三个阶段:
- 第一阶段:从单个网络ARPANET向互连网发展的过程。这个阶段只是一个单个的分组交换网。所有要连接在ARPANET上的主机都直接与就近的节点交换机相连。
- 第二阶段:三级结构的互联网。三级计算机网络分为主干网,地区网和校园网。希望实现连接到互联网的所有用户都可以相互通信。
- 第三阶段:全球范围的多层次ISP结构的互联网。NSFNET逐渐被商用的互联网主干网替代,政府机构不在负责互联网的运营,取而代之的时互联网提供者ISP(互联网服务提供商)。
-
互联网的组成
-
边缘部分
- 客户/服务器
- p2p:类似于客户/服务器模式,不过p2p中每一个主机既是客户端,也是服务器。
-
核心部分
- 电路交换:在进行通信前必须建立一个连接,可以理解为面向连接的服务方式。
- 分组交换:将要发送的一整个数据块划分为若干个小块,同时加上首部,形成一个个分组。
-
-
计算机网络中的性能指标:
-
速率:在信道中实际的传输速率
-
带宽:在信道中最大的传输速率
-
吞吐量:在规定时间内传输的数据量
-
时延-
- 发送时延:信号源发送数据的速度,用数据长度除以数据率。
- 传输时延:数据在信道中的传输速度,用信道长度除以介质的传播速率。
-
时延带宽积:可以理解为在持续传输数据、最大传输速率保留在信道中的数据量,传播时延*带宽。
-
往返时间:A向B发送数据后,B要返回一个响应,收到这个响应所需要的时间,传播时延*2。
-
利用率:信道的利用率。信道的利用率越高,网络的响应时延越长。其中D表示实际时延,D0D_0D0表示空闲信道的时延,U表示信道的利用率。
D=D01−U D = \frac{D_0}{1-U} D=1−UD0
-
-
网络协议的三要素
- 语法:规定数据和控制信息的结构与格式。
- 语义:解释每个控制信息每个部分的意义。
- 同步:对事件实现的先后顺序的详细说明。
-
五层协议的体系结构
- 应用层
- 运输层:TCP和UDP
- 网络层:数据层面和协议层面
- 数据链路层:点对点和广播信道
- 物理层:
-
体系结构是指各层及其协议的集合。
物理层
-
信号可分为:
- 连续信号
- 离散信号:使用码元进行表示
-
信道可以分为:
- 单向信道:只能发送消息。
- 半双工信道:既能发送消息,又能接收消息。
- 全双工信道:同上,不过可以同时进行,可以理解为建立了两个信道。
-
调制可以分为:
- 编码(变换之后仍然时基带信号):常见的是曼切斯特编码,编码之后码元是归零编码的两倍。
- 带通调制:将低频信号转换为高频信号,方便在信道中进行传输。
-
信道的极限容量:
-
奈氏准则:带宽为 WWW HZ的低通信道,码元传输速率最大为2W。
-
信噪比:信号的功率和噪音的功率之比,信噪比越大越好。
SN \frac{S}{N} NS -
香农公式的极限传输速率:极限传输速率收到带宽和信噪比的影响。
C=W∗log2(1+SN) C = W * \log_{2}({1+\frac{S}{N}}) C=W∗log2(1+NS)
-
-
传输媒体:
- 引导型传输媒体:
- 双绞线
- 同轴电缆
- 光缆
- 非引导型传输媒体:
- 引导型传输媒体:
-
信道复用技术:
-
频分复用:将各路信号在相同的时间占用不同的带宽。
-
时分复用:将各路信号在不同的时间占用相同的带宽。
-
波分复用:在单一光纤中同时传输多种不同波长的光信号
-
码分复用:当码分共享信道被多个地址占用时,每个地址的码分序列都不相同,并且正交。码分序列中0表示为-1,1表示为1.
不同的码分序列:S∗T=0相同的码分序列:S∗S=1码分序列及其反码:S∗S‾=−1 不同的码分序列:S * T = 0\\ 相同的码分序列:S * S = 1\\ 码分序列及其反码:S * \overline{S} = -1 不同的码分序列:S∗T=0相同的码分序列:S∗S=1码分序列及其反码:S∗S=−1
-
数据链路层
-
数据链路层的信道:
- 点对点信道
- 广播信道
-
数据链路:一条物理链路 + 一些通信协议
-
帧:数据链路层的协议数据单元。
-
数据链路层的三个问题:
- 封装成帧:将网络层传下来的数据加上特定的首部和尾部,形成帧。
- 透明传输:在传输的过程中使用转义字符对定界符进行转换。
- 差错检测:使用循环冗余码来对数据部分进行检测。先确定除数(n),在数据部分后面加上n-1个0,然后除以除数,将余数(n-1)加在数据部分后面一起进行传输。
-
PPP协议:用于计算机和ISP通信时所使用的数据链路层协议。
-
差错检测方法:
- 字节填充:将7E改为7D 5E,将7D改为7D 5D。
- 比特填充:在连续出现5次的1后面加上0。这是因为7E的比特数表示为01111110。
-
帧的格式:将IP数据报作为数据部分,加上8字节的首部和尾部。信息部分的长度不超过1500字节,所以一个ppp帧的长度不超过1508个字节。
-
F(7E) | A | C | 协议 | IP数据报 | FCS | F(7E) |
---|
-
CSMA/CD协议:用于广播信道。所有主机不管想要发送数据之前还是发送数据之中,每个站都要不断地检测信道。
-
最短帧长:512bit/64字节。长度小于64字节的帧直接丢弃。
-
阶段二进制避让:在 2n2^n2n 个数字中随机选取一个数字重新发送数据。
-
最短争用期:51.2us
-
信道利用率:我们使用传播时延 τ\tauτ 和发送时延 T0T_0T0 的比值(a)来表示信道利用率(S)。值得注意的是a和S应该是成反比的关系。
a=τT0Smax=T0T0+τ=11+a因此a越小,代表信道的利用率越高,因为我们希望把时间放在发送数据上面 a= \frac{\tau}{T_0}\\ S_{max} = \frac{T_0}{T_0+\tau} = \frac{1}{1+a}\\ 因此a越小,代表信道的利用率越高,因为我们希望把时间放在发送数据上面 a=T0τSmax=T0+τT0=1+a1因此a越小,代表信道的利用率越高,因为我们希望把时间放在发送数据上面 -
MAC帧:MAC地址存放在ROM中,全球唯一。在IP数据报加上18个字节的首部和尾部。在物理层传送时还需要就加上8字节的前同步码和帧定界符。
- MAC帧判断为无效帧的情况:
- 帧的长度不是整数字节
- FCS有问题
- MAC帧的数据长度不位于[64,1518]之间。
- MAC帧的格式
目的地址 源地址 类型 IP数据报 FCS - MAC帧判断为无效帧的情况:
-
-
在物理层扩展以太网:使用集线器将多个集线器连接,不过这样会使得最大吞吐量减小;并且不同带宽的集线器不能连在一起。
-
在数据链路层扩展以太网
- 使用以太网交换机进行扩展
- 以太网交换机的自学习功能:现在交换机的转发表中寻找目的地址端口,若没有则进行广播,若有则直接指定端口发送消息。
- 使用网桥进行扩展:
- 网桥类似于交换机,不过无论如何都会直接发送到网桥中,然后网桥再根据是否有目的地址的端口决定是否转发。
- 使用以太网交换机进行扩展
网络层
-
网络层要设计得尽量简单,向其上层值提供简单灵活的无连接的,尽最大努力交付的数据报服务。
-
网络层的两种服务:
- 虚电路服务:连接的服务方式。所传送的分组不出错、丢失、重复和失序(不按序列到达终点),也保证分组传送的时限,缺点是路由器复杂,网络成本高。
- 数据报服务:无连接的服务方式。无网络资源障碍,尽力而为。
-
网络层的两个层面:
- 数据层面:传送数据。
- 控制层面:传送路由信息。
-
中间设备:
- 集线器,转发器(物理层)
- 交换机、网桥、桥接器(数据链路层)
- 路由器(网络层)
- 网关(网络层以上)
-
电脑中有一个转发表:用于存放同一局域网上其他主机的信息
-
分类的IP地址:
- A类地址:1-127
- B类地址:128-191
- C类地址:192-223
- D类地址:224-239
- E类地址:240-255
-
无分类编码方式:使用"斜线记法",也可以使用掩码方式确定网络号。得到一个网络号之后我们可以进一步使用掩码来进行子网的划分。
-
一个路由器至少连接到两个网络,至少有两个不同的IP地址。
-
ARP协议:将IP地址转换为MAC地址。
-
每台主机都有ARP高速缓存:若ARP中有记录,直接发送,没有则广播发送ARP请求分组(为了得到目的地址的MAC地址)
-
IP数据报:首部固定20字节,首部后面是可选字段。首部最长为60字节。
- 总长度:
- 标识:
- MF:“还有分片”,若为1表示后面还有分片。
- DF:“不能分片”,若为0表示分片。
- 片偏移:以8字节为单位,计算在原始数据的偏移量。
- 协议:
- ip(4)
- TCP(6)
- UDP(17)
- 首部检验和:检验首部是否正确。
-
IP层转发分组的方式:找到网络号进行转发分组
- 最长前缀匹配:
- 二叉线索查找转发表:根据转发表中已有的IP地址,得到每一个IP地址的唯一前缀,根据唯一前缀来构造二叉树。当查找某一个IP地址时,IP地址位于叶子节点则查找成功,否则不在转发表中。
-
ICMP报文:当IP数据报出错时,会发送ICMP报文。ICMP报文作为IP数据报的数据部分进行发送。
- ICMP差错报文:
首部 ICMP的前八字节 出错的IP数据报首部 出错的IP数据报数据字段前八字节 - ICMP询问报文:
-
IPv6使用冒号进行零压缩,使用16进制表示。
-
IPv4—>IPv6:
- 双协议栈:部分主机同时装上两个协议栈。
- 隧道技术:将IPv6数据报作为IPv4数据报的数据部分进行传送,其中协议字段设置为41。
-
路由选择协议:
- 自治系统内部:
- RIP协议:
- 将收到的RIP数据下一跳改为X,同时距离+1。
- 查看路由表,若没有,则直接加入到路由表中;若有,原始路由表中的下一跳为X,则直接修改,否则判断距离在进行选择。
- OSPF协议:向所有路由器发送相邻的路由器链路状态。使用层次结构搭建区域划分:
- 主干部分
- 区域边界
- 自治系统边界
- RIP协议:
- 自治系统间:
- BGP协议:BGP路由 = “前缀,AS-PATH,NEXT-HOP”
- 自治系统内部:
-
硬件多播:使用硬件进行广播。源地址为MAC地址前25位,后23位为IP地址的后23位。
-
VPN:在一个专用网络号中,可以有私网IP地址。也就是说在不同的网络号中,私网IP地址是可以相同的。
-
NAT:将私网IP地址转换为公网IP地址,向外界进行通信。