资料参考
计算机网络
概述
网络分层模型
网络连接错误举例
- 物理层故障:网线断了、网线发包接口连通但收包接口断了
- 数据链路层故障:MAC冲突、ADSL欠费、网速协商不一致、连接到错误的VLAN
- 网络层故障:配错IP、配错网关、配错DNS、配错子网掩码、路由器找不到路由
- 应用层故障:配置
网络安全举例
- 物理层安全:不需要的绑定到交换机上的网线没有拔掉
- 数据链路层安全:ADSL用户名密码、VLAN交换机端口绑定mac地址
- 网络层安全:IP黑白名单、路由器上使用ACL控制数据包流量
- 应用层安全:网站登录等等
性能指标
- 速率:单位时间,某数字信道的,当前传送的数据量。kb/s
- 带宽:单位时间,某数字信道的,最高传送的数据量。kb/s
- 吞吐量:单位时间,某网络的,当前/最高传送的数据量,kb/s
时延:
- 发送时延:从网卡发到网线上。数据块长度(b) / 信道带宽(b/s)
- 传播时延:在网线上传输
- 处理时延:路由器接受网线上的数据
- 排队时延:路由器发送数据到网线上
往返时间RTT:发包开始到收包确认。ping时候的时间
利用率:
- 信道利用率:有数据通过的时间 / 所有时间
- 网络利用率:所有信道利用率加权
物理层
物理层信号:模拟信号、数字信号
物理层设备:电缆、集线器
信道复用技术:频分复用、时分复用、波分复用
宽带接入技术:ADSL、光纤到户
数据链路层
基本概念
- 信道类型:点对点(PPP协议)、广播(CSMA/CD)
- 数据链路:实现了了传输协议的物理链路(一般的网卡都实现了数据链路层和物理层的功能)
- 帧:数据链路层传送的叫帧
解决的问题
- 封装成帧:加帧头和帧尾
- 透明传输:加转义字符解决数据部分出现帧头
- 差错检测:CRC
以太网
- 概念:局域网广播,用CSMA/CD协议机制的,都可以叫以太网
- MAC:IEEE的注册管理机构分配前三个字节,厂家自己分配后三个字节
- MAC帧:源mac、目标mac、网络包类型、data
以太网扩展:
- 网桥:网桥的口能对应上mac地址,缓解冲突域
- 交换机:交换机口可以缓存,冲突时先缓存再发,也能缓解冲突域(主流,淘汰无脑的集线器)
PPP(Point-to Point Protocol)
- 链路控制协议(LCP):用于建立、配置、测试和管理数据链路
- 网络控制协议(NCP):允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接
- 将IP数据报封装到串行链路:IP数据报在PPP帧中就是其信息部分,这个信息部分的长度受最大传送单元(MTU)的限制
网络层
功能
异构网络互联
- 物理层中继系统:Hub
- 数据链路层中继系统:交换机和网桥
- 网络层中继系统:路由器
- 网络层以上的中继系统:网关
路由与转发
- 路由选择
- 分组转发
拥塞控制
- 开环控制:设计网络时将有关因素考虑周到
- 闭环控制:设计时不考虑,用监视网络去调整网络系统
路由算法
静态:静态IP
距离-向量:RIP协议
- 选择过的路由器数少的路径
链路状态:OSPF协议
- 选择带宽高的路径
层次:RIP、OSPF、BGP协议
RIP
OSPF
BGP
IP
转发分组
执行的分组转发算法如下:
- 从数据报的首部提取目的主机的IP地址D,得出目的网络地址N。
- 若网络N与此路由器直接相连,则把数据报直接交付给目的主机D,这称为路由器的直接交付;否则是间接交付,执行步骤3。
- 若路由表中有目的地址为D的特定主机路由(对特定的目的主机指明一个特定的路由,通常是为了控制或测试网络,或出于安个考虑才采用的),则把数据报传送给路由表中所指明的下一跳路由器;否则,执行步骤4。
- 若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行步骤5。
- 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行步骤6。
- 报告转发分组出错。
IPv4
0.0.0.0 网络本身
127.0.0.0 回环地址LoopBack
D类(224~239)多播地址
网络类别 | 最大可用网络数 | 第一个可用的网络号 | 最后一个可用的网络号 | 每个网络中的最大主机数 |
---|---|---|---|---|
A | 2^7-2 | 1 | 126 | 2^24-2 |
B | 2^14-1 | 128.1 | 191.255 | 2^16-2 |
C | 2^21-1 | 192.0.1 | 223.255.255 | 2^8-2 |
特殊IP地址(网络地址,广播地址等) :
- 网络号特定值;主机号全是0:网络地址,表示一个网络,如:10.0.0.0
- 网络号特定值,主机号全是1:直接广播地址,指特定网络中的所有主机,如:10.255.255.255
- 网络号主机号都为1,有限广播地址,指本网络中的所有主机:255.255.255.255
- 网络号主机号都为0,未获取UO地址的主机或路由表中的默认路由
- 网络号127,主机号全0或全1除外的任何数,环回地址,用于本主机软件环回测试
- 网络号169.254,主机号全0或全1除外的任何数,当不能通过DHCP正常得到IP地址时,由Windows系统自动为主机分配的IP地址
NAT(网络地址转换)
A类:1个A类网段,10.0.0.0~10.255.255.255
B类:16个B类网段,172.16.0.0~172.31.255.255
C类:256个C类网段,192.168.0.0~192.168.255.255
子网掩码
A类:255.0.0.0
B类:255.255.0.0
C类:255.255.255.0
使用子网掩码时路由器的分组转发算法如下:
- 从收到的分组的首部提取目的地址,记为D。
- 先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相“与",看结果是否和相应的网络地址匹配。若匹配,则将分组直接交付,则间接交付,执行步骤3。
- 若路由表中有目的地址为D的特定主机路由,则将分组传送给路由表中所指明的下一跳路由器;否则,执行4。
- 对路由表中的每一行(目的网络地址、子网掩码、下一跳地址)中的子网掩玛和D逐位相“与”,其结果为N。若N与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行步骤5。
- 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行步骤6。
- 报告转发分组出错。
ARP(地址解析协议)
工作原理:
- 主机A欲向本局域网上的某台主机B发送IP数据报时,先在其ARP高速缓存中有无主机B的IP地址。如有,就可出其对应的硬件地址,再
- 将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。
- 如果没有,那么就通过使用目的MAC地址为FF-FF-FF-FF-FF-FF的帧来封装并广播ARP请求分组,使同一个局域网里的所有主机收到ARP请求。
- 主机B收到该ARP请求后,向主机A发出响应ARP分组,分组中包含主机B的IP与MAC地址的映射关系,主机A在收到后将此映射写入ARP缓存,然后按查询到的硬件地址发送MAC帧。
- ARP由于“看到了”IP地址,所以它工作在网络层,而NAT路由器由于“看到了”端囗,所以它工作在传输层。
情况总结:
- 发送方是主机时,要把IP数据报发送到本网络上的另一台主机。这时用ARP找到目的主机的硬件地址。
- 发送方是主机时,要把IP数据报发送到另一个网络上的一台主机。这时用ARP找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器完成。
- 发送方是路由器时,要把IP数据报发送到本网络上的另一台主机。这时用ARP找到目的主机的硬件地址。
- 发送方是路由器时,要把IP数据报发送到另一个网络上的一台主机。这时用ARP找到本网络上的一个路由器的硬件地址,剩下的工作由这个路由器完成。
DHCP(动态主机配置协议)
DHCP是应用层协议,基于UDP
DHCP的工作原理:
- 使用客户/服务器方式。需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文,这时该主机就成为DHCP客户。本地网络上所有主机都能收到此广播报文,但只有DHCP服务器才回答此广播报文。
- DHCP服务器先在其数据库中查找该计算机的配置信息。
- 若找到,则返回找到的信息。
- 若找不到,则从服务器的IP地址池中取一个地址分配给该计算机。
- DHCP服务器的回答报文称为提供报文。
ICMP(网际控制报文协议)
差错报告报文
- 终点不可达
- 源点抑制
- 时间超过
- 参数问题
- 改变路由(重定向)
不应发送差错报告报文
- 对ICMP差错报告报文不再发送ICMP差错报告报文。
- 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。
- 对具有组播地址的数据报都不发送ICMP差错报告报文。
- 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文。
询问报文
- ICMP询问报文有4种类型:回送请求和回答报文、时间戳请求和回答报文、掩码地址请求和回答报文、路由器询问和通告报文,最常用的是前两类。
- ICMP的两个常见应用是分组网间探到PING(用来试两台主机之间的连通性)和Traceroute(UNIX中的名字,在Windows中是tracert,可以用来跟踪分组经过的路由)。其中PING使用了ICMP回送请求和回答报文,Traceroute(Tracert)使用了ICMP时间超过报文。