网络地址翻译(NAT)
NAT和超载
NAT:私有IP地址和公有IP地址之间的转换
超载:将多个私有IP地址影射到同一个公有IP地址的不同端口,NAT让一个IP地址可以承载61,440 (65536-4096)个私人地址(超载,PAT)
原因
一个IP地址耗尽的快速修补方案
内部网络使用私人地址,当内网需要和外网通信的时候,私人地址转换成合法的global 的地址
NAT 工作原理
以源端口作索引(Index)
家用路由器
互联网控制协议(ICMP)
为什么需要ICMP?
IP分组传送不可靠,可能遭遇各种问题如丢包,可能发生拥塞,产生很大延迟、抖动等,ICMP用来向源(通常)报告这些问题或状况。
ICMP也常用来测试网络
More ICMP Types
应用
ping
测试TCP/IP是否正常工作:ping 127.0.0.1
网络设备是否正确:ping 本机IP地址
检查对外连接的路由器:ping 默认网关IP
检查与某台设备的畅通情况:ping IP
检查DNS设置:如ping www.scut.edu.cn
执行DNS反向查询:ping –a IP地址
tracert命令
通过ICMP数据报超时报文来得到一张途经的路由器列表
PMTU(Path Maximum Transmission Unit)
发数据包,分段标记DF=1,尝试1400,1200,900,直到到达目的机
结果:MTU=900
注意:一般来说,ICMP 消息仅送给源机,ICMP消息封装在IP分组中,ICMP消息本身也可能遭遇问题,不报告本身的问题。
地址解析协议(ARP Address Resolution Protocol)
任务
找到一个给定IP地址所对应的MAC地址
ARP的工作原理
拥塞控制
什么是拥塞?
当一个子网或子网的一部分出现太多分组的时候,网络的性能急剧下降,这就是拥塞.
导致拥塞的因素
输入流量大于输出线路的容量
慢速的处理器也可能引起拥塞,如线路容量充足,但处理器来不及处理
拥塞控制的通用原则
闭环:建立在反馈环路的概念上,分三个步骤
监视系统,检测何时何地发生了拥塞:通过拥塞量度来判断拥塞的程度
把这些信息传递到能够采取行动的地方:拥塞信息传播
调整系统的运行,以改正问题
怎样解决拥塞问题?
拥塞根源:负载 > 资源
增加资源
在某些点之间使用更多的通道增加带宽(广深)
把流量分散到多条路径
启用空闲或备份的路由器
降低负载
拒绝为某些用户提供服务(春节车票提价,限行)
给某些用户的服务降低等级(黄金周旅游)
让用户更有预见性地安排他们的需求(年假制)
开环系统中的拥塞控制方法
若它的输出线路是处于“警告状态”:以某种百分比减少它发向该目标的流量。
丢掉分组:如随机丢弃
流量整形
定义
以恒定的速率将分组发到网络上,减少突发的影响,可以减少拥塞
漏桶算法
算法描述
每个主机连接到网络的接口中都有一个漏桶,即一个优先长度的内部队列
当桶中有分组的时候,输出速率是恒定的,当桶空的时候,输出速率是0
当一个分组到达满的桶的时候,分组将被丢弃(满则溢)每个时钟嘀嗒( tick ),仅允许一个分组或固定数量的分组发送出去
算法效果
主机内用户进程产生的分组流往往是一个不稳定的流,漏桶可以让它输出到网络时变成一个稳定流,抹平了突发尖峰,极大地减少了发生拥塞的机会。