目录
1.1 网络层---从发送主机向接收主机传送数据段(segment)
1.2 虚电路网络(virtual-circuit network)
1.5 IP协议(3)---IP编址(addressing)
1.6 IP协议(4)---有类IP地址(Addresses)
1.9 DHCP(Dynamic Host Configuration Protocol)动态主机配置协议
1 网络层
1.1 网络层---从发送主机向接收主机传送数据段(segment)
(1)发送主机:将数据段(segment)封装到数据报(datagram)中;
(2)接收主机:向传输层交付数据段(segment);
1、每个主机和路由器都运行网络层协议
2、路由器检验所有穿越它的IP数据报的头部域:决策如何处理IP数据报;
3、网络层的核心功能------转发(forwarding)与路由
4、网络层核心功能------连接建立
5、网络层服务模型
(1)无连接服务(connection-less service)---数据报网络(datagram network)
a、不是先为系列分组的传输确定传输路径;
b、每个分组独立确定传输路径;
c、不同分组可能传输路径不同;
(2)连接服务(connection service)---虚电路网络(virtual-circuit network)
a、首先为系列分组的传输确定从源到目的经过的路径(建立连接);
b、然后沿该路径(连接)传输系列分组;系列分组传输路径相同
c、传输结束后拆除连接;
1.2 虚电路网络(virtual-circuit network)
1、连接服务与无连接服务
(1)数据报(datagram)网络与虚电路(virtual-circuit)网络是典型的两类分组交换网络;
(2)数据报网络提供网络层无连接服务;虚电路网络提供网络层连接服务;
(3)类似于传输层的无连接服务(UDP)和面向连接服务(TCP),但是网络层服务:
主机到主机的服务、网络核心实现
2、虚电路(virtual circuits)
(1)通信过程:呼叫建立(call setup)->数据传输->拆除呼叫;
(2)每个分组携带虚电路标识(VC ID),而不是目的主机地址;
(3)虚电路经过的每个网络设备(如路由器),维护每条经过它的虚电路连接状态;
(4)链路、网络设备资源(如带宽、缓存等)可以面向虚电路VC进行预分配;
3、VC虚电路的具体实现
(1)每条虚电路包括:
a、从源主机到目的主机的一条路径;b、虚电路号(VCID),沿路每段链路一个编号;
c、沿路每个网络层设备(如路由器),利用转发表记录经过的每条虚电路;
(2)沿某条虚电路传输的分组,携带对应虚电路的VCID,而不是目的地址;
(3)同一条VC在每段链路的VCID通常不同---路由器转发分组时依据转发表改写/替换虚电路号;
4、VC(虚电路)转发表---VC路径上的每个路由器都需要维护VC连接的状态信息!
5、虚电路信令协议(signaling protocols)
(1)用于VC的建立、维护与拆除----路径选择;
(2)应用于虚电路网络---如ATM、帧中继(frame-relay)网络等;
(3)目前Internet不采用;
1.2 数据报网络(datagram)
1、数据报网络特点
(1)网络层无连接;(2)每个分组携带目的地址;
(3)路由器根据分组的目的地址转发分组;
a、基于路由协议/算法构建转发表;b、检索转发表;c、每个分组独立选路
2、数据报转发表
(1)路由算法(协议)确定通过网络的端到端路径;转发确定在本路由器如何转发分组;
(2)最长前缀匹配优先
在检索转发表时,优先选择与分组目的地址匹配前缀最长的入口(entry);
3、数据报网络 or VC网络
1.3 IP协议(1)---IP数据报
1、Internet网络层
2、IP数据报(分组)格式
(每行4个字节32个比特位,固定部分就有5行,20个字节)
(1)版本号:字段占4位,IP协议的版本号,例如4->IPv4;6->IPv6;
(2)首部长度:4位,IP分组首部长度;以4字节为单位,例如5->IP首部长度为20(5*4)字节
(3)服务类型(TOS):字段占8位,指示期望获得哪种类型的服务;
a、1988年这个字段改名为区分服务;只有在网络提供区分服务(DiffServ)时使用;
b、一般情况下不使用,通常IP分组的该字段(第2字节)的值为00H;
(4)总长度:字段占16位,IP分组的总字节数(首部+数据);
a、最大IP分组的总长度:65535B;b、最小的IP分组首部:20B;
c、IP分组可以封装的最大数据:65535-20=65515B
(5)生存时间(TTL):字段占8位,IP分组在网络上中可以通过的路由器数(或跳步数)
a、路由器转发一次分组,TTL减1;b、如果TTL=0,路由器则丢弃该IP分组;
(6)协议:字段占8位,指示IP分组封装的是哪个协议的数据包;
a、实现复用/分解;
b、例如:6为TCP,表示封装的是TCP段,17为UDP,表示封装的是UDP数据段;
(7)首部校验和:字段占16位,实现对IP分组首部的差错检测;
a、计算校验和时,该字段置全0;b、采用反码算术运算求和,和的反码作为首部校验和字段;
c、每次经过路由器转发时,首部校验和都要重新计算;逐跳计算,逐跳校验;
(8)源IP地址、目的IP地址字段各占32位:分别标识发送分组的源主机/路由器(网络接口)和接收分组的目的主机/路由器(网络接口)的IP地址;
(9)选项字段:长度可变,在1-40B之间:携带安全、源选路径、时间戳和路由记录等内容;
实际上很少被使用;
(10)填充:字段占长度可变,范围在0-3B之间,目的是补齐整个首部,符合32位对齐,即保证首部长度是4字节的倍数;
1.4 IP协议(2)---IP分片
1、最大传输单元(MTU)---链路层数据帧可封装数据的上限
2、IP分片与重组
IP分组格式:标识(ID)、标志位、片偏移
(1)标识字段:占16位,标识一个IP分组,
a、IP协议利用一个计数器,每产生IP分组计数器加1,作为该IP分组的标识;
(2)标志位:字段占3位;保留+DF+MF
(3)片偏移字段:占13位,一个IP分组分片封装原IP分组数据的相对偏移量;
a、片偏移字段以8字节为单位;
3、IP分片过程
4、IP分片过程举例
1.5 IP协议(3)---IP编址(addressing)
1、IP分组
(1)源地址(SA)-从哪里来;(2)目的地址(DA)-到哪里去;
2、接口(interface):主机/路由器与物理链路的连接
(1)实现网络层功能;(2)路由器通常有多个接口;
(3)主机通常只有一个或两个接口(e.g,有线的以太网接口,无线的802.11接口)
3、IP子网(Subnets)
1.6 IP协议(4)---有类IP地址(Addresses)
1、特殊IP地址
2、私有(Private)IP地址
1.7 IP协议(5)---IP子网划分与子网掩码
1、子网划分
2、子网掩码
3、子网划分举例
4、子网掩码的应用---将IP分组的目的IP地址与子网掩码按位与运算,提取子网地址
5、一个C类网络划分子网举例
1.8 IP协议(6)---CIDR与路由聚合
1、CIDR(Classless InterDomain Routing)无类域间路由
(1)消除传统的A类、B类和C类地址界限:NextID+SubID->Network Prefix(Prefix)可以任意长度
(2)融合子网地址与子网掩码,方便子网划分:无类地址格式:a.b.c.d/x,其中x为前缀长度
2、CIDR(Classless InterDomain Routing)无类域间路由的优点
(1)提高IPv4地址空间分配效率;
(2)提高路由效率:a、将多个子网聚合成一个较大的子网;b、构造超网(supernetting)
3、路由聚合(route aggregation)---大大简化路由表,记录超网
1.9 DHCP(Dynamic Host Configuration Protocol)动态主机配置协议
1、IP地址获取
(1)“硬编码”---静态配置
(2)DHCP(Dynamic Host Configuration Protocol)动态主机配置协议:
a、从服务器动态获取:IP地址、子网掩码、默认网关地址、DNS服务器名称与IP地址;
b、“即插即用”;c、允许地址重用;d、支持在用地址续租;e、支持移动用户加入网络;
2、DHCP(动态主机配置协议)工作过程示例
2.0 网络地址转换(NAT)
1、网络地址转换(NAT)动机
(1)只需/能从ISP申请一个IP地址:IPv4地址耗尽;
(2)本地网络设备IP地址的变更,无需通告外界网络;
(3)变更ISP时,无需修改内部网络设备IP地址;
(4)内部网络设备对外界网络不可见,即不可直接寻址(安全);
2、NAT实现
(1)替换:利用(NAT IP地址,新端口号)替换每个外出IP数据报的(源IP地址,源端口号)
(2)记录:将每对(NAT IP地址,新端口号)与(源IP地址,源端口号)的替换信息存储到NAT转换表中;
(3)替换:根据NAT转换表,利用(源IP地址,源端口号)替换每个进入内网IP数据报的(目的IP地址,目的端口号),即(NAT IP地址,新端口号);
3、NAT实现的问题
(1)16-bit端口号字段:可以同时支持60,000多并行连接;
(2)NAT主要争议:a、路由器应该只处理第3层功能;
b、违背端到端的通信原则:应用开发者必须考虑到NAT的存在,e.g,P2P应用;
c、地址短缺问题应该又IPv6来解决;
4、NAT穿透问题---实现外网对内网的地址直接访问