术语
- 链路
- 节点
- 点到点
- 多路复用
- 交换网路
- 存储转发
- 主机
- 交换机
- spanning tree
- 英特网
- 路由器
- host-to-host连接
- 地址
- 路由
- 单播、多播、广播
- LAN(局域网)
- MAN(城域网)
- WAN(广域网)
nw-wan
网络的可靠性
- 网路应该隐藏错误
- bit的丢失
- 包丢失
- 链路、交换机或者路由器失效
- 消息延迟到达
- 消息乱序
协议
- 应用层角度
- 协议视觉
- 路由器视觉
- 交换机视觉
传输
-
物理层(如何把资料在链路上传输)
- 铜族电缆
- 双绞线
- 光纤
- 无线电波
-
数据链路层(如何传输资料给直接相连的机器)
-
把bit汇聚成frame
-
通过CSMA/CD或者CSMA/CA协议传送
-
通过交换机或者网桥连接不同的主机
-
在网路上构建spanning tree来路由frame
-
nw-datalink-pro
-
网络层(如何透过英特网把资料送到目的主机)
-
通过IP包来传输
-
使用路由器来转发请求
-
路由协议有RIP、OSPF和BGP
-
路由器维护路由表
-
-
传输层(不同主机的进程如何传输资料)
-
在主机上通过端口区分不同进程
-
使用UDP和TCP作为协议
-
性能
-
带宽 Bandwidth
大数据传输,更关注单位时间内可以传输的数据的总量
-
延迟 Latency
短数据传输,更关注从源到目的,消息的传输时间
技术细节
Ethernet
nw-ethernet速度
10 Mb 到100 G
特性
-
无连接
-
不可靠
-
CSMA/CD协议
-
每段网,最长500米
-
可以通过repeater连接不同的网路,来延长Ethernet的覆盖范围
-
最多四个repeater
-
通过repeater相连的网路,每个包发送,都是广播形式,独占整条链路
-
通过switch相连的网路,每个包发送,不会独占整条链路,因为switch内部学习了MAC地址的路由规则,可以过滤掉包
CSMA/CA
- 发送数据包前先监听链路是否有包在传输
- 如果链路有包传输,则先不传输
- 如果链路空闲,则传输数据
- 如果在传输过程中,发现有冲突,则发送一个破坏包到链路上,并停止发送
- 过一个随机时间,再重新发送包到链路
- 数据包的最小长度是512bits
地址学习
nw-address-learningSpanning Tree
- switch之间通过包交换,来或者地址学习
- 解决链路中存在多条通路导致地址学习不收敛的问题
- 通过把一个可能有回路的链路图转换成一颗树的链路来解决地址学习不收敛问题
- 如果某条树的链路断开,则有不通的终端发起包,来局部重新构建spanning tree
术语
- Root Bridge:最小序号的交换机
- Path Cost:链路代价
- Root Port:每个交换机有可能有多个网卡,Root Port是到根交换机代价最小的网卡
- Root Path Cost:交换机到根交换机的最小代价
- Designated Bridge:对于每个LAN,到根交换机的最小代价的外出交换机
- Designated Port:对于每个LAN,外出到根交换机代价最小的交换机的网卡
算法过程
- 决定Root Bridge
- 决定每个交换机的Root Port
- 决定每个LAN的Designated Port
可靠传输
依赖特性
- ACK
- Timeout
停止等待协议
- 传送完一个包后,sender等待ACK,然后才发送下一个包
- 如果等待的ACK超过一定时间内没有回复,则超时重送
- 如果ACK延迟到达,则会造成相同的包发送了两次,可以通过加一个需要0,1来解决
滑动窗口
- Sending Windows Size (SWS)
- Last Acknowledgement Received(LAR)
- Last Frame Sent (LFS)
- SWS >= LFS - LAR
带来的问题
-
Receiver接受到窗口外的包
丢弃并会ACK
-
SWS计算
SWS = Delay x Bandwidth
-
Seq不能无限增长
通过循环使用来解决
-
Sender接受到不是窗口内的产生的包的回包ACK
SWS < (MaxSeqNum + 1)/2
功能
- 可靠传输
- 有序
- 流量控制
IP路由
- 面向无连接
- 尽可能交付(不可靠传输)
- 丢包
- 乱序
- 重复
- 延迟
- 路由器存储转发
- 路由器通过查询IP表,决定下一跳的路由器或者主机
- 路由器需要手工配置路由规则
- 路由器通过路由选择算法RIP、OSPF、BGP来决定网路最短路径
- 路由器维护IP->MAC的mapping表
IP地址分类
nw-ip-addr路由表
nw-router分包
每个网络都有MTU的限制
Router通过判断IP包是否允许分包
来做IP包的切割
并header包括分包信息,以方便重组
子网掩码与路由配置
nw-subnetnw-subnet-router
通过子网掩码来规划IP
来减少路由表的配置项
ARP
IP to MAC
ICMP
- 目标不可达,返回源机器
- 重组包失败,返回源机器
- TTL=0,返回源机器
- IP包checksum失败,返回源机器
路由算法
nw-forwarding-tablenw-routing
- 假设路由器的网络连接如上图
- 则需要运行一个算法,找到每个路由器到其他路由器的最短路径出口
算法
-
静态配置
-
动态寻路
-
RIP
通过交换路由器的Distance信息
慢慢构建路由表
存在的问题是,如果链路局部出现了问题,消息要很久才能广播到所有路由器
-
nw-rip-init
nw-rip-final
-
OSPF
通过广播路由表的方式
每个路由器就拥有了所有节点的信息
并通过Dijkstra算法,算出最短路径
网友评论