网络地址转换NAT技术
NAT技术用于多个主机通过一个公有IP访问互联网的私有网络
减缓了IP地址的损耗,但是增加了网络通信的复杂度
网际控制报文协议ICMP
差错报告报文:
终点不可达:网络不可达、主机不可达
重定向:对网络重定向、对主机重定向
传输超时、坏的IP头、缺少其他必要参数
询问报文:
回送请求或者应答
时间戳请求或者应答
ICMP的应用
Ping应用:发出ICMP询问报文
Traceroute:探测IP数据报在网络中走过的路径
AS自治系统
一个自治系统是处于一个管理机构下的网络设备群
AS内部网络自行管理,AS对外提供一个或者多个出入口
内部网关协议:RIP,OSPF
外部网关协议:BGP
RIP协议(使用DV算法)
距离矢量算法(DV算法):
Di表示当前节点到下一节点的距离
Si表示当前节点的下一节点是什么
每一个节点与相邻节点交换Di与Si信息,然后更新自己的信息
RIP协议把网络跳数(hop)作为DV算法的距离
RIP协议每隔30s交换一次路由信息
默认将跳数>15设置为不可达路由
RIP协议的过程
1.路由器初始化路由信息(两个向量Di和Si)
2.对相邻路由器X发过来的信息,对信息的内容进行修改(下一跳设置为X,所有距离加一)
检索本地路由,将信息中新的路由插入到路由表里面
检索本地路由,对于下一跳为x的,更新为修改后的信息
检索本地路由,对比相同目的的距离,如果新的信息距离更小,则更新本地路由表
优点:实现简单,开销小
缺点:故障信息传递很慢,限制了网络的规模
迪杰斯特拉算法
1.初始化两个集合(S,U)(S为只有初始顶点A的集合,U为其他顶点集合)
2.如果U不为空,对U集合进行距离的排序,并取出距离A最近的一个顶点D
1.将顶点D纳入S集合
2.更新通过顶点D到达U集合所有点的距离
3.重复2步骤
3.直到U集合为空,算法完成
链路状态协议(LS)
向所有的路由器发送信息
消息描述该路由器与相邻路由器的链路状态
只有链路状态发生变化时,才发送信息
OSPF五种消息类型
问候消息(Hello)
链路状态数据库的描述信息
链路状态请求消息
链路状态更新消息
链路状态确认信息
OSPF协议的过程
路由器接入网络
路由器向邻居发出问候消息
与邻居交流链路状态数据库
广播和更新未知路由
RIP协议 | OSPF协议 |
---|---|
从邻居看网络 | 整个网络的拓扑 |
在路由器间累加距离 | 使用迪杰斯特拉算法 |
频繁、周期更新,收敛很慢 | 状态变化更新,收敛很快 |
路由间拷贝路由信息 | 路由间传递链路状态,自行计算路径 |
外部网关路由之BGP协议
BGP(边际网关协议)
BGP协议是运行在AS之间的一种协议
BGP找到一条比较好的路由(不是最好)
AS之间通过BGP发言人来进行路由信息的交换
UDP(用户数据报协议)
UDP是无连接协议
UDP不能保证可靠的交付数据
UDP是面向报文传输的(对于应用层的数据不进行加工处理)
UDP没有拥塞控制
UDP的首部开销很小
TCP(传输控制协议)
TCP是面向连接的协议
TCP的一个连接有两端(点对点通信)
TCP提供可靠的传输
TCP提供全双工的通信
TCP是面向字节流的协议
TCP标记
URG:紧急位,URG=1,表示紧急数据
ACK:确认位,ACK=1,确认号生效
PSH:推送位,PSH=1,尽快把数据交付给应用层
RST:重置位,RST=1,建立重新建立连接
SYN:同步位,SYN=1表示连接请求报文
FIN:终止位,FIN=1表示释放连接
可靠传输——停止等待协议
超时重传:使用超时定时器
对于信道的利用率不高,单次发送
连续ARQ协议
使用滑动窗口(累积确认),滑动窗口以字节为单位
选择重传
选择重传需要指定需要重传的字节
每一个字节都有唯一的32位序号
TCP协议的流量控制
流量控制是指让发送方的发送速率不要太快
流量控制是使用滑动窗口实现的
坚持定时器:
当发送方接收到窗口为0的消息,则启动坚持定时器
坚持定时器每隔一段时间发送一个窗口探测报文
TCP协议的拥塞控制
流量控制是点对点的通信量的控制
拥塞控制是考虑整个网络,是全局性的考虑
慢启动算法
1.有小到大逐渐增加发送数据量
2.每收到一个报文确认,就加一:1 2 4 8 16…慢启动阈值
到达阈值后启用拥塞避免算法
1.维护一个拥塞窗口变量
2.只要网络不拥塞,就试探着拥塞窗口变大(每次加一)
TCP连接的建立
发送方:SYN=1,seq=x
接收方:SYN=1,ACK=1,ack=x + 1,seq = y
发送方:SYN = 1,ACK = 1, ack= y + 1,seq = x + 1
为什么要发送三个确认报文
避免已经失效的连接请求报文传送到对方,引起错误
TCP连接的释放
发送方:FIN=1,seq=u
接收方:ACK=1,seq=v,ack=u+1(此时查询自己有没有未接收的数据报)
接收方:FIN=1,seq=w,ack=u+1(同意关闭),使用等待计时器,确保发送方的ACK可以到达接收方
发送方:ACK=1,seq=u+1,ack=w+1,若超过等待计时器,则重新发
等待计时器
等待2MSL(最长报文段寿命,通常为2分钟)
应用层概述
UDP:多媒体信息分发:视频、语音、实时信息
TCP:可靠消息传输:金融交易、可靠通讯、MQ
DNS(域名系统)
使用域名帮助记忆
域名可以分割为顶级域、二级域、三级域。(从后往前)
使用UDP
DHCP动态主机设置协议(局域网协议)
是应用UDP协议的应用层协议
在租期以内分配临时IP
HTTP超文本传输协议
可靠的数据传输协议(依靠TCP)
分为请求报文(请求头,请求内容)和应答报文(应答头,应答报文)。
状态码:成功状态码、重定向状态码、客户端错误状态码、服务端错误状态码。
HTTPS是明文传输的
SSL安全套接层(处于传输层和应用层之间)
保证数据安全和数据完整
对传输层数据进行加密后传输