计算机网络
2020-04-17 09:54:55 0 举报
AI智能生成
计算机网络核心知识
作者其他创作
大纲/内容
物理层
数据链路层
提供的服务
成帧
链路接入
多路访问协议
信道划分协议
时分复用
消除了碰撞,且公平,但是单个节点的带宽只能固定为R/N
频分复用
码分多址
随机接入协议
ALOHA协议
时隙ALOHA
CSMA载波监听多路访问协议CSMA/CD带碰撞检测的载波监听多路访问协议,二进制数回退
轮流协议
轮序协议
令牌传递协议
可靠交付(可选)
差错检测和纠正
奇偶校验
检验和
循环冗余检测
MAC地址
6字节
广播地址:FF-FF-FF-FF-FF-FF
ARP(地址解析协议)
ARP表
存在于每台主机或路由器
IP地址 MAC地址 TTL
地址解析协议
放数据到子网以外
目的MAC地址是路由器接口的MAC地址
以太网
帧结构
数据字段:46~1500
源地址、目的地址:MAC地址
类型字段:把一层中的协议与上层结合起来
CRC校验和
同步前码(8字节),前7字节都是10101010,最后一个字节是10101011
所有的以太网技术都向网络层提供无连接服务以太网技术都向网络层提供不可靠服务
链路层交换机
转发和过滤
交换机表
MAC地址+接口+时间
自学习
性质
消除碰撞
异质的链路
管理
交换机与路由器比较
交换机是即插即用
交换机有相对高的分组过滤和转发速率
交换网络限制为一棵生成树
大型交换机网络需要可观的ARP流量和处理量
交换机对广播风暴不提供保护措施
网络层
尽力而为服务
传送的分组不保证顺序接收,也不保证最终交付;既不保证端到端时延,也不保证有最小带宽
路由器工作原理
输入端口
作用
执行终结入物理链路的物理层功能
与位于入链路远端的数据链路层交互来执行数据链路层功能
执行查找功能(查找转发表决定路由器的输出端口)
转发表匹配规则:最长前缀匹配规则
输入排队
交换结构
将路由器的输入端口连接到它的输出端口
交换方式
经内存交换
经总线交换
经互联网络交换(可以并行转发)
输出端口
存储从交换结构接收的分组,并通过执行必要的链路层和物理层功能在输出链路上传输分组
输出排队
弃尾
分组调度
先进先出
优先权排队
有多个不同优先权等级的队列
循环加权公平排队
存在多个队列,不存在严格的服务优先权,循环调度器轮流提供服务
路由选择处理器
传统路由器
执行路由选择协议
维护路由选择表与关联链路状态信息
为路由器计算转发表
SND路由器
负责与远端控制器通信
执行网络管理功能
IPv4
IPv4数据包格式
服务类型(TOS):区分不同类型的IP数据报(如低时延、高吞吐、高可靠)
数据报长度:16比特,单位是字节。所以IP数据报最长为65535字节。
标识、标志、片偏移:与IP分片有关
寿命TTL。TTL为0,数据报会被丢失
上层协议:该字段指示了数据报的数据部分应交给哪个特定的运输层协议
6:TCP
17:UDP
首部校验和:帮助路由器检测收到得到IP数据报中的比特错误
计算方法:首部中每两个直接当做一个数,用反码算数对这些数求和
IP层和TCP/UDP都进行差错检测的原因
IP层只对首部执行检测
TCP/UDP与IP不一定都必须属于同一个协议栈
数据报分片
标识
发送主机将它发送的每个数据报的标识加1
标志
最后一个分片的标志比特被设置为0,其他的被设置为1
偏移字段
确定分片顺序
IPv4编址
32位
子网掩码
DHCP协议
DHCP服务器发现:客户端使用UDP协议,向67端口发送发现报文,目的地址为255.255.255.255广播地址,本机地址为0.0.0.0.
DHCP请求:客户端从一个或多个服务器提供中选择一个,并向选中的服务器提供DHCP请求报文进行响应。
DHCP ACK:服务器用DHCP ACK对DHCP请求报文进行响应
网络地址转换(NAT)
IPv6
IPv6数据包格式
路由选择算法
分类
根据算法是集中式还是分散式分类
集中式路由选择算法:有完整的全局性的网络知识
分散式路由选择算法:路由器以迭代、分布式的方式计算最低开销
根据算法是静态还是动态进行分类
静态路由选择算法
动态路由选择算法
根据负载敏感还是负载迟钝进行分类
负载敏感算法
负载迟钝
链路状态路由选择算法(LS)
Dijkstra算法求单源最短路径
路由选择振荡
产生原因
解决方法:确保并非所有的路由器都同时运行LS算法
距离向量路由选择算法(DV)
原理:
路由选择表的迭代
路由选择环路
解决方法:增加毒性逆转
自治系统内部路由选择:OSPF(开放最短路优先)
ISP之间的路由选择:BGP(边界网关协议)
从邻居AS(自治系统)获得前缀的可达性信息
确定最好路由
热土豆算法
ICMP:因特网控制报文协议
ICMP报文承载在IP数据报之中,上层协议码是1
结构
分支主题
例子
ping ICMP类型8编码0
传输层
传输层和网络层的关系:网络层提供了主之间的逻辑通信、运输层为运行在不同主机上的进程之间提供逻辑通信
端口扫描工具:nmap
UDP
UDP报文段结构,UDP头占8字节
UDP检验和
计算方法:所有16比特字的和进行反码运算
校验:校验和和所有16比特字相加,结果为1111111111111111
TCP
TCP报文格式
确认号:期望接收到的下一字节的序号
可靠传输
三次握手四次挥手
三次握手
客户端SYN+初始序号
服务端:分配缓存,SYN+客户端确认序号+服务端初始序号
客户端发送:服务端的确认序号+客户数据(可选)
四次挥手
客户端:FIN报文
服务端:响应客户端报文
服务端:FIN报文
客户端:响应服务端报文
状态转化
差错检测
接收反馈
重传
重传触发条件
连续三个冗余ACK,快速重传
ACK产生的情况
期望序号按序到达,所有期望序号以及以前的数据都已经被确认。延迟的ACK。
期望序号按序到达,另一个按序的报文段等待ACK传输。立即发送单个累计ACK
比期望序号大的时许报文到达。立即发送冗余ACK
能部分或者完全填充间隔的报文段到达。倘若该报文段起始于间隔的低端,立即发送ACK
超时重传
重传策略
回退N步
选择重传
累积确认
滑动窗口
流量控制
接收窗口:接收方还有多少可用缓存空间
LastByteRcvd:放入接收缓存中的数据流的最后一个字节编号LastByteRead:应用进程从缓存读出的数据流的最后一个字节编号RcvBuffer:接收缓存大小缓存不溢出的条件:LastByteRcvd-LastByteRead<=RcvBuffer接收窗口rwnd:RcvBuffer-[LastByteRcvd-LastByteRead]
在途数据
LastByteSent-LastByteAcked
保证接收缓存不溢出:LastByteSent-LastByteAcked<=rwnd
拥塞控制
端到端的拥塞控制
TCP拥塞控制算法
慢启动
初始cwnd设置为MSS,发送速率为MSS/RTT,每收到一个ACK,cwnd增加1个MSS。发生丢包cwnd重置为1ssthresh(慢启动阈值)设置成丢包时的cwnd/2。当再次慢启动到达ssthresh时,进入拥塞避免模式
拥塞避免
每个RTT只讲cwnd增加1个MSS当出现超时时,cwnd设置为1,ssthresh更新为cwnd的一半当收到三个连续的冗余ACK,cwnd减半(并且加3,三个冗余ACK),进入快速恢复
快速恢复
当丢失报文段的一个ACK到达时,TCP降低cwnd后进入拥塞避免状态。如果出现超时,快速恢复在执行如图慢启动和拥塞避免重相同的动作后,迁移到慢启动状态
网络辅助的拥塞控制
MSS 1460MTU 1500
Telnet原理
SSL
SSL记录结构
握手步骤
1. 客户端发送它支持的密码算法的列表,连同一个客户的不重复计数
不重复计数是为了防止连接重放
2. 服务端从客户端支持的算法列表中选择一种对称算法、一种公钥算法和一种MAC算法。它把选择的以及证书和一个服务器不重复数返回给客户端。
3. 客户端验证该证书,提取服务器的公钥,生成一个前主秘钥(PMS),用服务器的公钥加密该PMS,并将加密的PMS发送给服务器
4.服务器使用相同的秘钥导出函数,客户和服务器独立地从PMS和不计数中计算出主秘钥(MS)。然后该MS被切片以生成两个密码和两个MAC秘钥。
5.客户端发送所有握手报文的一个MAC
防止在第一步中,算法被篡改成弱加密算法
6.服务器发送所有握手报文的一个MAC
连接关闭
类型字段中标识终止SSL的标志,可以使用MAC来校验标志是否被篡改
应用层
HTTP协议
持续连接和非持续连接HTTP
HTTP请求、响应格式
常见的请求首部行
Connection:close 服务器响应完毕后关闭TCP连接User-agent 浏览器类型
常见响应首部行
Connection:closeContent-Type:内容类型
Cookie
DNS
DNS使用协议UDP,端口53
DNS分层结构
根DNS服务器
顶级域名DNS服务器
权威DNS服务器
本地DNS服务器(不一定有)
DNS解析设计8次交互DNS缓存
Type=A,name是主机名,value是IP地址
Type=NS,,Name是域,Value是其权威DNS服务器的主机名
CDN
CDN服务器安置策略
深入:接入到ISP
邀请做客:在少量关键位置建造大集群,邀请ISP做客
其他
分组交换和电路交换的概念
分组交换的时延
处理时延
排队时延
传输时延
传播时延
分组交换丢包
分组交换吞吐量
计算机网络
0 条评论
回复 删除
下一页