主机上线的时候要广播一下(寻找DHCP server)
DHCP server收到之后,就会分配上网的一些子网掩码等等的配套信息
主机向DHCP server发送单波的请求, 请求获取某个ip地址及其相应的配套信息。
DHCPserver就会登记相应的信息(ip的租用日期)。如果过期就会收回这个ip
** DHCP: 不仅仅是IP addresses DHCP 返回的有:**
IP 地址
第一跳路由器的IP地址(默认网关)
DNS服务器的域名和IP地址
子网掩码 (指示地址部分的网络号和主机号)
实例:【解释上图中的两次交互】
层次编址: 路由聚集(route aggregation)
** 层次编址允许路由信息的有效广播: **
NAT: 网络地址交换
** Network Address Translation **
动机: 本地网络只有一个有效IP地址:
不需要从ISP分配一块地址,可用一个IP地址用 于所有的(局域网)设备–省钱
可以在局域网改变设备的地址情况下而无须通知 外界
可以改变ISP(地址变化)而不需要改变内部的 设备地址
**局域网内部的设备没有明确的地址,对外是不可见的–安全 **
相当于对外公开一个, 内部的ip是不需要分配的,用本地网络即可
当然,缺点就是外网的ip想要访问内网的ip建立连接是不行的, 需要进行内网的穿越
实现: NAT 路由器必须:
外出数据包:替换源地址和端口号为NAT IP地址 和新的端口号,目标IP和端口不变 …远端的C/S将会用NAP IP地址,新端口号作为目标地址
**记住每个转换替换对(在NAT转换表中) .. 源IP,端口 vs NAP IP ,新端口 **
** 进入数据包:替换目标IP地址和端口号,**采用存 储在NAT表中的mapping表项,用(源IP,端口)
** 16-bit端口字段:** 6万多个同时连接,一个局域网!
** 对NAT是有争议的: **
路由器只应该对第3层做信息处理,而这里对端口号(4层)作了处理(团长拆了师长的信…)
违反了end-to-end 原则(端到端的原则)
端到端原则:复杂性放到网络边缘
无需借助中转和变换,就可以直接传送到目标主机
NAT可能要被一些应用设计者考虑, eg, P2P applications
外网的机器无法主动连接到内网的机器上
地址短缺问题可以被IPv6 解决
**NAT穿越: 如果客户端需要连接在NAT后面的服务器,如何操作 **
可以用IPv6的方式来解决内网穿越的问题
NAT 穿越问题
** 客户端需要连接地址为 10.0.0.1的服务器 **
服务器地址10.0.0.1 LAN**本地地 址 **(客户端不能够使用其作为目标地址)
整网只有一个外部可见地址: 138.76.29.7
方案1: 静态配置NAT:转发 进来的对服务器特定端口连接 请求
e.g., (123.76.29.7, port 2500) 总是转发到10.0.0.1 port 25000
方案2: Universal Plug and Play (UPnP) Internet Gateway Device (IGD) 协议. 允许 NATted主机可以:
获知网络的公共 IP地址 (138.76.29.7)
列举存在的端口映射
增/删端口映射 (在租用时间内 )
i.e., 自动化静态NAT端口映射配 置
方案 3: 中继 (used in Skype)
NAT后面的服务器建立和中继的连接
外部的客户端链接到中继
中继在2个连接之间桥接
IPv6
** 初始动机: 32-bit地址空间将会被很快用完 **
** 另外的动机: **
头部格式改变帮助加速处理和转发
TTL-1
头部checksum
分片
头部格式改变帮助QoS
IPv6 数据报格式:
固定的40 字节头部
**数据报传输过程中,不允许分片 **
Priority: 标示流中数据报的优先级
Flow Label: 标示数据报在一个“flow.” ( “flow”的概念没有被严格的定义)
Next header: 标示上层协议
和IPv4的其它变化
**Checksum: **被移除掉,降低在每一段中的处理 速度
**Options: **允许,但是在头部之外, 被 “Next Header” 字段标示
**ICMPv6: **ICMP的新版本
附加了报文类型, e.g. “Packet Too Big”
多播组管理功能
IPv5是一个实验性的, 已经被废除
** 从IPv4到IPv6的平移 **
不是所有的路由器都能够同时升级的
没有一个标记日 “flag days”
在IPv4和IPv6路由器混合时,网络如何运转?
** 隧道: 在IPv4路由器之间传输的IPv4数据报中携 带IPv6数据报 **
**隧道: **
IPv6的应用
Google: 8% 的客户通过IPv6访问谷歌服务
NIST: 全美国1/3的政府域支持IPv6
估计还需要很长时间进行部署