CAN201 W8
Terms of packet in different layers
- Application layer: message
- Transport layer: segment
- Network layer: datagram
- Link layer: frame
TCP three-way handshake
- A -> B: SYN (seq = x, ack = 0, L = 0)
- B -> A: SYN ACK (seq = y, ack = x+1, L = 0)
- A->B: ACK (seq=x+1,ack=y+1,L=0)
Flow Control vs. Congestion Control
- Host vs. Router
这周还是继续IP的学习
Lecture
IP编址:引论
- IP地址:32位标示,对主机或者路由器接口编址
- 接口:主机/路由器和物理链路的连接处
- 路由器通常拥有多个接口
- 主机也可能有多个接口
- IP地址和每一个接口关联
- 一个IP地址和一个接口相关联
路由器一般有两个到两个以上的IP地址。
这些接口是如何连接的?
- 有线以太网链接到以太网网络交换机连接
- 无线WI-FI接口被WI-FI基站连接
子网 subnet
- IP地址:
- 子网部分 subnet part - high order bits
- 主机部分 host part - low order bits
- 在同一子网的IP地址拥有相同的prefix
- 什么是子网
- 一个子网内的节点(主机或者路由器)他们的IP地址高位部分相同,这些节点构成的网络这一部分叫做子网
- 无需路由器介入,子网内的各主机可以在物理上相互直接到达
将每一个接口从主机或者路由器上分开,构成了一个个网络孤岛,每一个网络孤岛都是一个subnet。
IP地址分类
- Class A: 126 networks, 16 million hosts 开头0
- Class B: 16382 networks, 64K hosts 开头10
- Class C: 2 million networks, 254 hosts 开头110
- Class D: multicast 开头1110
- Class E: reserved for future
IP地址: CIDR
CIDR: Classless Inter Domain Routing 无类域间路由(按需分配)
- Subnet portion of address of arbitrary length 子网部分可以在任意区域
- Address format:
a.b.c.d/x
, where x is # bits in subnet portion of address 其中x是地址中子网号的长度
子网掩码也是32位,假如是网络号部分那就是全是1,假如是主机号部分就都写0,再用点十计算。
如何获得IP地址
Q:主机如何获得IP地址?
- 系统管理员将地址配置到一个文件中:
- wintel: control - panel -> network -> configuration -> tcp/ip -> properties
- UNIX: /etc/rc.config
- DHCP: Dynamic Host Configuration Protocol:从服务器中动态获得一个IP地址
- “plug and play”
DHCP: Dynamic Host Configuration Protocol
Goal: allow host to dynamically obtain its IP address from network server when it joins network
- Can renew its lease on address in use
- Allows reuse of addresses (only hold address while connected/“on”)
- Support for mobile users who want to join network (more shortly)
DHCP overview:
- host broadcasts “DHCP discover” msg [optional]
- DHCP server responds with “DHCP offer” msg [optional]
- host requests IP address: “DHCP request” msg
- DHCP server sends address: “DHCP ack” msg
DHCP can return more than just allocated IP address on subnet:
- Address of first-hop router for client 客户端第一跳路由器地址
- Name and IP address of DNS sever DNS服务器的名称和IP地址
- Network mask (indicating network versus host portion of address) 网络掩码(表示地址的网络与主机部分)
DHCP: example 看ppt上有图
路由聚集(route aggregation)
层次编址允许路由信息的有效广播:
找到几个IP地址的相同前缀聚合
详解超网技术(路由聚合技术)
聚集可以提高寻找表项的速度,减少表项的数量。
NAT: network address translation
网络地址转换
所有离开本地网络的数据报具有一个相同的源地址NAT IP address: 138.76.29.7,但是具有不同的端口号。本网发送的数据报源地址是10.0.0.0/24,到达本网节点的目标地址为10.0.0.0/24。
动机:本地网络只有一个有效IP地址:
- 不需要从ISP分配一块地址,可用一个IP地址用于所有的(局域网)设备 – 省钱
- 可以在局域网改变设备的地址情况下而无需通知外界
- 可以改变ISP(地址变化)而不需要改变内部的设备地址
- 局域网内部设备没有明确的地址,对外是不可见的 – 安全
16 bit端口字段:
- 6万多个同时连接,一个局域网
对NAT是有争议的
- 路由器只应该对第三层做信息处理,而这里对端口号(4层)做了处理
- 违背了end-end原则
- 端到端原则:复杂性放到网络边缘
- 无需借助中转和变换,就可以直接传送到目标主机
- NAT可能要被一些应用设计者考虑(P2P)
- 外网的机器无法连接到内网的机器上
- 端到端原则:复杂性放到网络边缘
- 地址短缺问题可以被IPv6解决
- NAT穿越:如果客户端需要连接在NAT后面的服务器,如何操作
IPv6
初始动机:32bit的地址空间将会很快用完
- 头部格式改变帮助加速处理和转发
- TTL-1
- 头部checksum
- 分片
- 头部格式改变帮助QoS
IPv6数据报格式:
- 固定的40字节头部
- 数据报传输过程中,不允许分片
Priority: 标示数据报的优先级
Flow label: 标示数据报在一个“flow”
Next header: 标示上层协议
和IPv4的其他变化
- Checksum: 被移除掉,降低在每一段中的处理速度
- Options: 允许,但是在头部之外,被”Next Header”字段标示
- ICMPv6: ICMP的新版本
- 附加了报文类型
- 多播组管理功能
Transition from IPv4 to IPv6
- Not all routers can be upgraded simultaneously
- No “flag days”
- How will network operate with mixed IPv4 and IPv6 routers?
- Tunneling: IPv6 datagram carried as payload in IPv4 datagram among IPv4 routers
Generalized Forward and SDN
路由的概念
- 路由:按照某种指标(传输延迟,所经过的站点数目等)找到一条从源节点到目标节点的较好路径
- 较好路径:按照某种指标较小的路径
- 指标:站数,延迟,费用,队列长度等,或者是一些单纯指标的加权平均
- 采用什么样的指标,标示网络使用者希望网络在什么方面表现突出,什么指标网络使用者较为重视
- 路由器-路由器之间的最优路径 = 主机队之间的最优路径
- 路由器连接子网,到路由器之间的跳数就一跳,必须要走
- 路由器到下一跳路由器(节点到节点)之间的最优路径找到了
- 也就找到了从源子网向目标子网所有主机对之前的最优路径
- 大大降低了路由计算的规模
- 在路由计算中按照子网到子网的路径计算为目标,而不是主机到主机
- 路由选择算法(routing algorithm):网络层软件的一部分,完成路由功能
路由原则
路由选择算法的原则:
- 稳定性 stability: 产生的路由不应该摇摆
- 公平性 fairness: 对每一个站点都公平
- 最优性 optimality: 某一个指标的最优,时间上,费用上,等指标,或综合指标:实际上,获得最优的结果代价较高,可能是次优的