部分内容参考JavaGuide 计算机网络总结
一 概述
三网融合
电信网络、有线电视网络、计算机网络
计算机网络特点
- 连通性
- 共享
互联网的标准化工作
互联网组成
-
边缘部分
由所有连接在互联网上的主机组成
-
核心部分
由大量网络和连接这些网络的路由器组成,分组转发是网络核心部分最重要的功能
端系统之间的通信方式
- 客户-服务器方式(c/s)
- 对等方式(p2p)
交换技术
- 电路交换
- 报文交换
- 分组交换
互联网的核心部分采用分组交换技术
按照网络作用范围分类
- 广域网WAN
- 城域网MAN
- 局域网LAN
- 个人区域网PAN
计算机网络的性能指标
-
速率
数据的传送速率
-
带宽
单位时间内网络中某信道能通过的最高数据率
-
吞吐量
单位时间内通过某个网络的数据量
-
时延
包括发送、传播、处理、排队时延
发送时延=数据帧长度/发送速率
传播时延=信道长度/信号在信道上的传播速率
总时延=发送+传播+处理+排队
-
时延带宽积
传播时延*带宽,可以代表容量,即某段链路现在有多少比特
-
往返时间
从发送方发送数据开始,到发送方收到来自接收方的确认总共经历的时间
-
利用率
分为信道利用率和网络利用率
网络协议三个组成要素
- 语法
- 语义
- 同步
网络协议体系结构
OSI 对等层次之间传送的数据单位称为协议数据单元 PDU
OSI 层与层之间交换数据的单位是服务数据单元 SDU
实体、协议、服务
- 实体:表示任何可发送或接收信息的硬件或软件进程
- 协议:控制两个对等实体进行通信的规则的集合
- 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下层所提供的服务
- 协议是“水平的”,即协议是控制对等实体之间通信的规则
- 服务是“垂直的”,即服务是由下层向上层通过层间接口提供的
二 物理层
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体
协议数据单元是比特
中继器(再生数字信号,扩大网络传输距离)、集线器(再生、放大数字信号)工作在物理层
主要任务
确定机械特性、电气特性、功能特性、过程特性
通信双方的信息交互方式
- 单工通信:电视、广播
- 半双工通信:对讲机
- 全双工通信:计算机网络
基带信号调制
-
基带调制
编码,输入输出都是基带信号,编码方式有不归零制、归零制、曼彻斯特、差分曼彻斯特
-
带通调制
使用载波,输入是基带信号,输出是带通信号,方法有调幅、调频、调相
限制码元在信道上的传输速率的因素
- 信道能够通过的频率范围(带宽)
- 信噪比
奈氏准则、香农公式
奈氏准则 : 带宽受限无噪声条件下的码元传输速率上限,想提高就要提高带宽/用更好的编码技术
香农定理 :带宽受限有噪声条件下的数据传输速率上限,想提高就要提高带宽/信噪比
传输媒体
- 导引型:双绞线、同轴电缆、光缆、光纤
- 非导引型:短波、微波、卫星
信道复用技术
- 频分复用FDM
- 时分复用TDM
- 统计时分复用STDM
- 波分复用WDM
- 码分复用CDM(码分多址CDMA)
有线宽带接入技术
- ADSL:非对称数字用户线,上行(用户到ISP)和下行(ISP到用户)带宽不对称(异步传输模式)
- HFC:光纤同轴混合网
- FTTX:光纤到户/大楼/路边
三 数据链路层
数据链路层负责将网络层交下来的IP数据报组装成帧,在两个相邻节点的链路上传送帧
协议数据单元是帧
交换机、网桥工作在数据链路层
使用的信道
- 点对点信道(广域网)
- 广播信道(局域网)
三个基本问题
- 封装成帧
- 透明传输
- 差错控制
解决透明传输问题
- 字符计数法
- 字符填充法
差错类型
- 比特位出错
- 帧错:丢失、重复、乱序
循环冗余校验CRC
为了保证数据传输的可靠性,CRC 是数据链路层广泛使用的一种检错技术,帧检验序列 FCS 是添加在数据后面的冗余码
CRC算法流程:
- 生成多项式得到除数,原始数据末尾加r个0(r为多项式的阶)
- 原始数据作为被除数除以除数,得到余数作为帧检验序列FCS,并加到原始数据末尾传送
- 接收端将原始数据+FCS作为被除数,除以除数,若余数=0则接收该帧,否则丢弃
PPP协议
点对点协议。即用户计算机和 ISP 进行通信时所使用的数据链路层协议
只支持全双工通信
状态图
以太网相关
以太网把数据链路层分成了逻辑链路控制LLC子层和媒体接入控制MAC子层
以太网采用的无连接的工作方式,对发送的数据帧不进行编号,也不要求对方发回确认。目的站收到有差错帧就把它丢掉,其他什么也不做
以太网规定了最短有效帧长为 64 字节,10Mbit/s*51.2us=512bit=64B
以太网最大端到端长度约为5km
CSMA/CD协议
载波监听多点接入/碰撞检测
只支持半双工通信
协议的特点是:发送前先监听,边发送边监听,一旦发现总线上出现了碰撞,就立即停止发送。然后按照退避算法等待一段随机时间后再次发送
星形以太网
10BASE-T:10Mbit/s, 基带,双绞线
每个站到集线器的距离不超过100米
MAC地址
又名物理地址、硬件地址,用来定义网络设备的位置,长度48位,分为组织唯一标识符、扩展唯一标识符
碰撞域和广播域
碰撞域:网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络
隔离碰撞域:交换机、路由器
广播域:任何一台设备发出的广播通信都能被该部分网络中的所有其他设备所接收的网络
隔离广播域:路由器
交换机自学习功能
四 网络层
网络层负责为分组交换网上的不同主机提供通信服务,在发送数据时,网络层把运输层产生的报文段或用户数据包分组进行传送,以及选择合适的路由
路由器(网关)工作在网络层
虚电路和数据报
IP协议
是 TCP/IP 体系中两个最主要的协议之一,是 TCP/IP 体系结构网际层的核心。配套的有 ARP,RARP,ICMP,IGMP
IPV4地址
网络号+主机号,32位
第一个字节为1-126:A
第一个字节为128-191:B
第一个字节为192-223:C
IP 地址放在 IP 数据报的首部,而硬件地址则放在 MAC 帧的首部
ARP协议
地址解析协议,从网络层使用的 IP 地址,解析出在数据链路层使用的硬件地址
每一个主机或路由器都设有一个 ARP 高速缓存 (ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表
IPV4数据报
首部的前一部分是固定长度,共 20 字节
标志字段最低位是MF,MF=1表示还有分片,中间位是DF,DF=0表示允许分片
片偏移以8个字节为偏移单位,计算:每个分片的数据部分第一个字节/8
生存时间表示数据报在网络中可通过的路由器数的最大值
交付方式
- 间接交付
- 直接交付
路由器分组转发算法
路由表和转发表的区别
1.路由表用以存放路由信息,包括了目标地址,掩码,下一跳。
2.转发表主要用以在主机内部将一个数据包从一个端口导向另一端口
划分子网
IP地址变成网络号+子网号+主机号
子网掩码左边一连串1代表网络号+子网号,一连串0代表主机号
IP地址 and 子网掩码=网络地址
CIDR
无分类域间路由选择
在IP 地址后面加上斜线“/”,然后写上前缀所所占的位数(对应于三级编址中子网掩码中 1的个数)
把前缀都相同的连续的 IP 地址组成一个“CIDR 地址块”
ICMP
网际控制报文协议
ICMP 报文作为 IP 数据报的数据,加上首部后组成 IP 数据报发送出去。使用 ICMP 数据报并不是为了实现可靠传输。ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。
ICMP 报文的种类有两种 ICMP 差错报告报文和 ICMP 询问报文。
差错报告报文有4种:
- 终点不可达
- 时间超过
- 参数问题
- 重定向
应用:
- ping: 测试两个主机之间的连通性
- traceroute: 跟踪一个分组从源点到终点的路径
路由选择协议
-
内部网关协议IGP
自治系统内部使用,有RIP, OSPF
-
外部网关协议EGP
自治系统之间使用,有BGP-4
RIP
路由信息协议
基于UDP
基于距离向量(跳数)
允许一条路径最多只能包含 15 个路由器
- 和相邻路由器交换信息
- 交换路由表
- 按固定的时间间隔交换路由信息
距离向量算法
OSPF
开放最短路径优先
基于IP
- 使用洪泛法向本自治系统中所有路由器发送信息
- 交换与本路由器相邻的所有路由器的链路状态
- 只有当链路状态发生变化时才交换
BGP
边界网关协议
基于TCP
BGP发言人:自治系统的路由器
- 相邻BGP发言人之间互相交换信息
- 交换发言人的路由表
- 在BGP 刚刚运行时交换整个的 BGP 路由表。以后只需要在发生变化时更新有变化的部分
IPV6
带来的变化有
- 更大的地址空间(采用 128 位地址)
- 灵活的首部格式
- 改进的选项
- 支持即插即用
- 支持资源的预分配
- IPv6 的首部改为 8 字节对齐
IPv4 向 IPv6 过渡
- 双协议栈
- 隧道技术
VPN
虚拟专用网
利用公用的互联网作为本机构专用网之间的通信载体。VPN 内使用互联网的专用地址。一个 VPN 至少要有一个路由器具有合法的全球 IP 地址,这样才能和本系统的另一个 VPN 通过互联网进行通信。所有通过互联网传送的数据都需要加密。
NAT
网络地址转换
在虚拟机中不用做任何配置,只要宿主机器访问网络即可