基础知识过完了一遍,在这里总结顺便复习一下
配套教材:计算机网络-自顶向下方法第七版
声明:
部分图片来自:
1.CSDN:http://t.csdn.cn/NXk2c (邮件协议)
第一章 计算机网络和因特网
1.1 什么是因特网
从因特网的具体构成分析
1.端系统(主机):简单来说就是连接到网络的各种设备,如智能手机、平板电脑、电视等。
2.端系统通过通信链路和分组交换机连接到一起。
3.套接字接口(socket interface):该接口规定了运行在一个端系统上的程序请求因特网设施向运行在另一个端系统上的特定目的地程序交付数据的方式。
4.协议(protocol):定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和接收其他事件所采取的动作。(掌握计算机网络领域知识的过程就是理解网络协议的构成、原理和工作方式的过程)
5.IETF(因特网工程任务组):研发因特网标准的组织,IETF的标准文档被称为请求评论(RFC),RFC定义了TCP/IP/HTTP和SMTP等协议。
6.分布式应用程序:涉及多个相互交换数据的端系统的应用程序。
7.ISP: 因特网服务提供商。
1.2 网络边缘
1.端系统因为位于因特网的边缘而被称为端系统。
2.接入网:指的是将端系统物理连接到其边缘路由器(edge router)的网络。而边缘路由器又是端系统到任何其他远程系统的路径上的第一台路由器。
这里放一张图片来总结一下上面提到的一些术语。自顶向下即从边缘到核心。
家庭接入:DSL、电缆、FTTH、拨号和卫星
DSL: 数字用户线,住户通常从本地电话公司处获得DSL因特网接入,即本地电话公司是住户的ISP;
电缆因特网接入:利用有线电视基础设施。
FTTH(FIBER TO THE HOME): 光纤到户;两种有竞争性的光纤分布体系结构:主动光纤网络ANO和被动光纤网络PON。以下简要展示PON的原理:
卫星链路:一般在无法提供DSL、电缆和FTTH的地方使用。
企业(和家庭)接入:以太网和WIFI. (细节在后面章节)
3.物理媒体:可分为导引型媒体和非导引型媒体。
导引型:电波沿着固体媒体前行
非导引型:电波在空气或外层空间中传播。
**双绞铜线(导引型)**:最便宜且最常用。两根绝缘的铜线螺旋排列绞合。上图!
同轴电缆(导引型):由于特殊的结构和特殊的绝缘体和保护层,同轴电缆能够达到较高的数据传输速率。
光纤:最大特点:不收电磁干扰。
陆地无线电信道:无线电信道承载电磁频谱中的信号,不需要安装物理线路。
卫星无线电信道:通常使用的是同步卫星和近地轨道卫星
1.3 网络核心
1.分组交换:端系统彼此交换报文,报文又被划分为较小的数据块, 称为分组。在源和目的地之间每个分组通过通信链路和分组交换机传送。(交换机主要有两类:路由器和链路层交换机)
2.存储转发传输:交换机收到整个分组后才进行转发。
3.L比特分组数据经过传输速率为R的链路传输时总传输时间为L/R;通过由N条速率为R的链路组成的路径,总的端到端时延为NL/R
4.排队时延和分组丢失:
排队时延:需要在交换机的输出缓存中停留的时间。
分组丢失:当交换机的输出缓存已满时,新来的分组将被丢弃。
5.转发表和路由选择协议:在网络层详细描述。
6.电路交换:
频分多路复用(FDM):不同频率的波代表不同的信道。
时分多路复用(TDM)
对于FDM,每条电路连续地分到部分带宽。对于TDM,每条电路在段时间间隔中周期性地得到所有带宽。
总结1:虽然分组交换和电路交换在今天的电信网络中都是普遍采用的方式,但是趋势无疑是朝着分组交换方向发展。
7.网络的网络:
总结2:今天的因特网是一个网络的网络,其结构复杂,由十多个第一层ISP和数十万个较低层ISP组成。ISP覆盖的区域多种多样,有些跨越多个大洲和大洋,有些限于狭窄的地理区域。较低层的ISP与较高层的ISP相连,较高层ISP彼此互联。用户和内容提供商是较低层ISP的客户,较低层ISP是较高层ISP的客户。近年来,主要的内容提供商也已经创建自己的网络,直接在可能的地方与较低层ISP互联。
1.4 分组交换中的时延、丢包和吞吐量
1.节点总时延包括:
- 节点处理时延
- 检查分组首部
- 决定将改分组导向何处
- 检查比特级别的差错等
- 排队时延:分组在链路上等待传输;实际中排队时延是毫秒到微妙级别
- 传输时延:L比特分组长度,R为链路传输速率,则传输时延是L/R;值得注意的是:传输时延是路由器推出分组所需要的时间,是分组长度和链路传输速率的函数,与两台路由器之间的距离无关。
- 传播时延:从A路由器推到链路中的数据从该起点到路由器B传播所需要的时间。
2.排队时延:令a表示分组到达队列的平均速率,(a的单位是分组/s),假定所有的分组由L比特构成,则比特到达队列的平均速率为La;La/R被称为流量强度。若La/R>1,该队列趋向于无限增加,排队时延将趋于无穷大。
3.丢包
4.吞吐量:
- 瞬时吞吐量:在任意时间主机B接收文件的速率。
- 平均吞吐量:F比特文件用时T秒,则平均吞吐量为F/T.
- 瓶颈链路:两链路网络中,吞吐量是min(Rc,Rs)
1.5 协议层次及服务模型
层级 | 协议 | 信息分组名 |
---|---|---|
应用层 | HTTP SMTP FTP DNS等 | 报文(message) |
运输层 | TCP UDP | 报文段(segment) |
网络层 | IP | 数据报(datagram) |
链路层 | 以太网 WIFI 等 | 帧(frame) |
物理层 | 比特 |
1.6 面对攻击的网络:
- 恶意软件 木马植入 僵尸网络
- DOS DDOS
- 弱点攻击
- 带宽洪泛: 大量分组导致链路拥塞
- 连接洪泛:半开或全开的TCP连接、
- 分组嗅探
- IP哄骗
1.7 计算机网络和因特网的历史
略.()
第二章 应用层
2.1 应用层协议原理
1.客户-服务器架构(CS)和点对点(P2P)体系结构:
2.进程通信:端到端的通信实际上是端系统之间的进程之间的通信,在不同端系统上的进程通过跨越计算机网络交换报文而相互通信。
- 客户和服务器进程:在一对进程之间的通信会话场景中,发起通信的进程被标识为客户,在会话开始时等待练习的进程是服务器。
- 套接字接口:进程通过一个称为套接字的软件接口向网络发送报文和从网络中接收报文。套接字是建立网络应用程序的可编程接口,因此也被称为应用程序和网络之间的应用程序编程接口(API).
- 进程寻址:发送方需要指定接收方的IP地址和端口号。
3.应用程序可使用的运输服务:一个运输层协议能够为调用它的应用程序提供的服务可根据可靠数据传输、吞吐量、定时性和安全性进行分类。
- 可靠数据传输:发送进程只要将其数据传递进套接字,就可以完全相信该数据将能无差错地到达接收进程。
- 吞吐量:发送进程能够向接收进程交付比特的速率。
- 定时:即时延的长短。
- 安全性:提供机密性和隐私性等。
4.因特网提供的运输服务:
- TCP:面向连接和可靠数据传输服务。(在运输层详细介绍)
- UDP:轻量级运输协议,无连接,提供不可靠数据传送服务。
5.应用层协议:应用层协议定义了运行在不同端系统上的应用程序如何相互传递报文。
2.2 HTTP
1.WEB的应用层协议是HTTP(超文本传输协议),HTTP使用TCP作为它的支撑运输协议,因此不用担心数据丢失和乱序故障的细节。HTTP是一个无状态协议。
2.非持续连接和持续连接:
- 非持续连接:(HTTP 1.0) 每个TCP连接在服务器发送一个对象后关闭,该连接不为其他的对象而持续下来。每个TCP连接只传输一个请求报文和一个响应报文。
往返时间(RTT):三次握手中前两个部分耗费的时间占用一个RTT,客户结合三次握手的第三部分向该TCP连接发送一个 HTTP请求报文,服务器收到该请求报文后在该TCP连接上发送HTML文件。该HTTP请求、响应用去另一个RTT.粗略地讲:总的响应时间就是两个RTT加上服务器传输HTML文件的时间。在非持续连接中,若客户要请求10个HTML文档,则需要10*2=20个RTT加上10个文件传输的时间。
- 持续连接:(HTTP 1.1):相较于非持续连接,一个连接可以传输多个对象。
3.HTTP报文格式*:
请求报文 第一行叫:请求行 后继行叫:首部行 响应报文 常见状态码:
状态码 短语 含义 200 OK 请求成功,信息在返回的响应报文中 301 Moved Permanently 请求的对象被永久转义,新的URL在响应报文的Location:首部行中 302 重定向 404 Not Found 请求的资源不存在 400 Bad Request 通用差错代码,表示该请求不能被服务器理解 403 Forbidden 服务器收到请求,但是拒绝提供服务 500 服务器内部错误 503 服务器当前不能处理客户端的请求,一段时间后可能恢复 505 HTTP Version Not Supported 服务器不支持请求报文使用的HTTP协议版本
4.cookie: 把内容与用户身份联系起来。有4个技术组件:
在http响应报文中的一个cookie首部行
在http请求报文中的一个cookie首部行
在用户端系统中保留的一个cookie文件,由用户的浏览器进行管理
位于web站点的一个后端数据库
web缓存:web缓存器也叫代理服务器(proxy server)
客户先请求web缓存器,如果web缓存器上面不存在请求的对象时web缓存器从初始服务器拉取该对象。通过使用内容分发网络CDN,web缓存器在因特网中发挥越来越重要的作用。
- 条件GET方法:解决问题:存放在web缓存器中的对象副本可能是陈旧的。条件get方法允许缓存器证实它的对象是最新的。如果:请求报文使用GET方法,且请求报文包含“If-Modified-Since”首部行,那么这个HTTP请求就是一个条件GET请求报文。
2.3 电子邮件
1.电子邮件的主要组成部分:用户代理、邮件服务器、**简单邮件传输协议(SMTP)**。
补充:电子邮件是一种异步通信方式,通信时不需要双方都在场。发送和接收的过程:
Email的构成组件:
2.SMTP: SMTP是因特网电子邮件中主要的应用层协议,使用TCP可靠数据传输服务。SMPT用于从发送方的邮件服务器发送报文到接收方的邮件服务器。
邮件对应的端口为25
传输过程的三个阶段:握手(建立连接)——消息的传输(邮件传送)——关闭(释放连接)
完整过程:
Email消息只能包含7位ASCII码
SMTP服务器利用CRLF.CRLF确定消息的结束,使用持久性连接
SMTP是典型的推(push)协议,不需要客户端请求即把消息推送到客户端。
3.多用途网络邮件扩充(MIME):为了解决SMTP只能传送固定长度ASCII而导致很多文件类型或语言无法编码的问题。MIME未改动或取代SMTP,只是增加了邮件主体的结构,定义了非ASCII码的编码规则。
4.POP3(POST OFFICE PROTOCOL) :邮件访问协议,采用的是拉(pull)的通信方式,传输层使用TCP,端口号为110 无状态。
- 通信流程:
POP3的两种工作方式:
- 下载并保留:从邮件服务器读取邮件后,邮件依然保留在服务器,用户可再次读取。
- 下载并删除:邮件一旦被读取则从服务器删除,用户无法再次读取。
5.IMAP:因特网报文存取协议;IMAP为用户提供了创建文件夹、在不同文件夹之间移动邮件及在远程文件夹中查询邮件的命令,为此IMAP服务器维护了会话用户的状态信息。
- 允许用户代理只读取邮件的一部分消息。
- POP3和IMAP的区别:
- POP3协议允许客户端下载服务器上的邮件,但是在客户端的邮件操作不会反馈到服务器上(非同步)
- IMAP提供了服务器和客户端之间邮件操作的同步性,即在客户端对邮件的操作也会反馈到服务器,在服务器上也进行响应的操作。
注意:用户浏览器与web的邮件服务器之间的邮件发送或接收使用的是HTTP,而仅在不同邮件服务器之间传送邮件时才使用SMTP。
2.4 DNS 域名解析系统
这一节没有啃书上的知识,发现了一篇不错的博客讲得很详细,如有需要请到https://blog.csdn.net/crazymakercircle/article/details/120521694?spm=1001.2014.3001.5506查看
1.DNS的作用:进行主机名到IP地址之间的转换。
2.DNS运行在UDP之上,使用53号端口。
3.域名的级别从右到左递减。 baike.baidu.com.root .root根域名 .com是顶级域名;gTLD Server,国际顶尖域名服务器,如.com .cn .org等
4.一条域名信息的映射关系叫做一个资源记录(RR).
5.常见的资源记录类型:
类型 | 编码 | 内容 |
---|---|---|
A | 1 | IP地址和域名之间的映射关系 |
NS | 2 | 权威名称服务器记录,用于说明这个区域有哪些 DNS 服务器负责解析 |
CNAME | 5 | 别名记录,主机别名对应的规范名称 |
MX | 15 | 邮件交换记录,指定负责接收和发送到域中的电子邮件的主机 |
TXT | 16 | 文本资源记录,用来为某个主机名或域名设置的说明 |
AAAA | 28 | 域名映射到 IPv6 地址,基本作用是说明一个域名对应了哪些 IPv6 地址 |
6.DNS解析过程:缓存查找–>本地HOSTS文件查找–>DNS服务器查找
缓存查找IP:检查浏览器缓存中是否缓存过该域名对应的IP地址
本地HOSTS文件:
- windows:C:\Windows\System32\drivers\etc\hosts
- Linux/mac:/etc/hosts
DNS服务器查找:
递归查询:一次请求获得最终结果
迭代查询:多次请求多次响应
递归与迭代结合:
4.DNS报文:
2.5 P2P文件分发
1.客户-服务器体系结构的最小分发时间:
2.P2P体系结构的最小分发时间的下限:
3.BitTorrent: 是一种用于文件分发的流行P2P协议。
参与一个特定文件分发的所有对等方的集合被称为一个洪流(torrent)
追踪器:每个洪流具有的一个基础节点,用于注册登记新的对等方。
最稀缺优先:在对等方之间优先传输副本数量最少的资源,目的是均衡每个块在洪流中的副本数量。
疏通:一个对等方确定自己的邻居中最高速率流入的4位作为自己的疏通。
2.6 视频流
1.HTTP:在HTTP流中,视频存储在HTTP服务器中作为一个普通的文件,每个文件有一个特定的URL.
- 缺陷:所有客户接收到相同编码的视频
2.DASH:HTTP动态适应性流:视频编码成不同的版本,每个版本具有不同的比特率,对应不同的传输质量。 HTTP服务器的告示文件为每个版本提供一个URL及其比特率。
2.7 内容分发网络(CDN)
1.专用CDN: 为内容提供商自己所有。
2.第三方CDN:代表多个内容提供商分发内容。
3.CDN通常采用两种不同的服务器安置原则:
- 深入:在接入ISP中部署服务器集群来深入到ISP的接入网中
- 邀请做客:在少量关键位置建造大量群来邀请ISP做客。
2.8 套接字编程
1.UDP 套接字:
- 发送进程:
- 目的地址:目的主机的IP地址和目的地套接字的端口号
- 源地址:源主机的IP地址和源套接字的端口号
2.TCP套接字:
- 建立TCP连接:客户程序生成一个TCP套接字,其中指定服务器的欢迎套接字的地址(即服务器主机的IP地址和套接字的端口号)
- 服务器生成连接套接字
- 传输数据时将数据经过连接套接字丢经TCP连接即可
第三章 运输层
运输层为运行在不同主机上的应用进程提供直接的通信服务起着至关重要的作用。
3.1 概述和运输层服务
1.运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信功能。
2.运输层协议运行在端系统中。
3.运输层和网络层的关系:
- 网络层提供主机之间的逻辑通信
- 运输层提供不同主机上的进程之间的逻辑通信
4.UDP(用户数据报协议)为调用它的应用程序提供一种不可靠、无连接的服务;
5.TCP(传输控制协议)为调用它的应用程序提供可靠的、面向连接的服务。
6.UDP 和 TCP 都提供差错检查
3.2 多路复用与多路分解
1.一个进程有一个或多个套接字(一个套接字对应一个端口,即一个进程可以对应多个端口),是从网络向进程传递数据和从进程向网络传递数据的门户。
2.在接收主机上可能不止有一个套接字,每个套接字都有唯一的标识符,标识符的格式取决于它是UDP还是TCP套接字。
3.多路分解:将运输层报文段中的数据交付到正确的套接字的工作。
4.多路复用:源主机从不同套接字中收集数据块,并为每个数据块封装上首部信息,从而生成报文段,然后将报文段传递到网络层的工作。
5.周知端口号:0–1023,受限制,保留给HTTP和FTP之类的周知应用层协议来使用。
6.无连接(UDP)的多路复用与多路分解:
- UDP套接字:
- 创建时分配1024–65535内的一个端口号,如果是一个周知协议的实现,则需要分配周知端口号
- 一个UDP套接字是由一个二元组(目的IP地址、目的端口号)唯一标识的。
7.面向连接的多路复用与多路分解:
- TCP套接字:
- TCP套接字由一个四元组(源IP地址,源端口号,目的IP地址,目的端口号)标识。
- 两个具有不同源IP地址或源端口号的到达TCP报文段将被定向到两个不同的套接字。
- TCP服务器应用程序有一个欢迎套接字,端口号为12000,如果有连接请求到达时,服务器根据四元组创建连接套接字,以后的通信数据通过该套接字传输。
3.3 无连接运输:UDP
1.许多应用更适合用UDP,原因主要有:
- 关于发送什么数据以及何时发送的应用层控制更为精细。只要应用进程将数据传递给UDP,UDP就会将此数据打包进UDP报文段并立即传递给网络层。
- 无需建立连接。无连接状态。
- 分组首部开销小,每个TCP报文段都有20字节的首部开销,UDP只有8字节。
- UDP之上的QUIC协议在应用层协议中实现了可靠性
2.UDP报文段结构:
长度字段:知识了在UDP报文段中的字节数(首部加数据)
UDP校验和:用于确定当YDP报文段从源到达目的地时其中的比特是否发生了改变。
- 计算:对报文段中的所有16比特字的和进行反码运算,遇到任何溢出都被回卷(即将溢出位加到结果的最后一位)。
- 接收方判断:将所有的16位字(包括校验和)重新加和,如果和全为1,则说明没有引入差错,有一位是0则表示出现了差错。
3.4 可靠传输数据的原理
1**.rdt1.0**:经完全可靠信道的可靠数据传输。
FSM:(有限状态机)
2.rdt2.0: 经具有比特差错信道的可靠数据传输。也称为停等协议。
使用了肯定确认(ACK)与否定确认(NAK)。引出自动重传请求协议。
3.rdt2.1&rdt2.2 :在2.0的基础上引入对序号的确认和否认。
4.rdt3.0:经具有比特差错的丢包信道的可靠数据传输。引入重传计时器。分组序号在0和1之间交替,所有rdt3.0有时被称为比特交替协议。
- 流水线可靠数据传输协议:
- 回退N步(GBN):也被称为滑动窗口协议
- 使用累计确认:
- 如果分组序号字段的比特数是k,则该序号范围是[0,2^k-1]
- 如果出现超时,发送方重传所有已发送但还未被确认过的分组。
- 选择重传(SR):
- 发送方和接收方的窗口并不总是一致
- 窗口太大带来的问题:因此窗口长度必须小于或等于序号空间大小的一半,即k个比特的空间,窗口大小为[0,2^(k-1)]
3.5 TCP 面向连接的运输
1.TCP连接:
最大报文长度MSS通常由最大链路层帧长MTU确定。
2.TCP报文段结构
32比特的序号字段:用于实现可靠传输
- 32比特的确认号字段:用于实现可靠传输
- 16比特的接收窗口字段:用于流量控制
- 4比特的首部长度字段:指示了以32比特字为单位的TCP首部长度。
- 可选与变长的选项字段:用于发送方和接收方写上最大报文段长度
- 6比特的标志字段:
- ACK:用于知识确认字段中的值是有效的
- RST, SYN ,FIN:用于连接建立和拆除
- PSH: 知识接收方应立即将数据交给上层
- URG: 报文段中存在被发送端的上层实体置为“紧急”的数据,
- 紧急数据指针:指示紧急数据
3.往返时间估计(RTT):
- EstimatedRTT:
RTT偏差DevRTT:用于估算AampleRTT一般会偏离EstimatedRTT的值:
4.重传超时时间间隔:
5.TCP的隐式NAK机制:
- TPC快重传:收到对一个特定报文的3个冗余ACK就可以作为对后面报文段的一个隐式NAK,从而在超时之前触发对该报文段的重传。
6.流量控制:发送方维护接收窗口来提供流量控制。UDP不提供流量控制。
7.TCP连接管理:
建立连接:三次握手
关闭连接:
3.6 拥塞控制原理
1.拥塞的原因与代价:
- 无限缓存
- 有限缓存
多条路径有限缓存
2.拥塞控制的方法
端到端的拥塞控制:TCP报文段的丢失(通过超时或3次冗余确认而得知)被认为是网络拥塞的一个迹象,TCP会相应地减小其窗口长度。
网络辅助的拥塞控制:在网络辅助的拥塞控制中,路由器向发送方提供关于网络中拥塞状态的显式反馈信息。
3.7 TCP拥塞控制
1.TCP使用端到端的拥塞控制而不是网络辅助的拥塞控制。
2.运行在发送方的TCP拥塞控制机制跟踪一个额外的变量:拥塞窗口(cwnd),通过调节拥塞窗口值的大小,发送方能够调整它向连接发送数据的速率。
3.丢包事件会被发送方认为是出现拥塞的指示。
4.一个确认报文段指示该网络正在向接收方交付发送方的报文段,因此,当对先前未确认报文段的确认到达时,能够增加发送方的速率。
5.TCP拥塞控制算法:
慢启动:
- cwnd的值以1个MSS开始并且每当传输的报文段首次被确认就增加1个MSS
- 因此,TCP发送速率起始慢,但在慢启动阶段以指数增长
拥塞避免:
快恢复:
6.TCP吞吐量:
7.经高宽带路径的TCP:
8.公平性
9.网络辅助拥塞控制
第四章 网络层:数据平面
4.1 网络层概述
1.转发和路由选择:数据平面和控制平面:
- 转发:路由器将分组从输入链路移动到适当的输出链路。通常用硬件来实现。
- 路由选择:决定分组所采用的路由或路径;通常用软件来实现。
- 控制平面:
- 传统方法:人工配置
- SDN方法:即软件定义网络,计算转发表和路由器交互的控制器是用软件实现的。
2.网络服务模型
确保交付
具有时延上界的确保交付
有序分组交付
确保最小带宽
安全性
尽力而为服务
4.2 路由器工作原理:
1.一个通用路由器体系结构的总体视图:
其中:
- 输入端口:终结物理层功能、执行数据链路层功能、查找功能。
- 交换结构:将输入端口连接到输出端口。
- 输出端口:存储从交换结构接收的分组,通过执行必要的链路层和物理层功能在输出链路上传输分组。
- 路由选择处理器:执行路由选择协议、维护路由选择表与关联链路状态信息、计算转发表。
2.输入端口处理和基于目的地转发:
前缀匹配:
最长前缀匹配:当存在一个目的地址与多个表项相匹配时,使用最长前缀匹配。
三态内容可寻址存储器:TCAM
3.交换:
三种交换技术:
- 经内存交换:输入端口与输出端口之间的交换在CPU的直接控制下完成的,不能同时转发两个分组。
- 经总线交换:分组必须跨过单一总线,交换带宽受总线速率的限制
- 经互联网络交换:非阻塞式。
4.输出端口处理:
5.何处出现排队:
随着缓存队列的增长,路由器的缓存空间最终将会耗尽,并且当无内存可用于存储到达的分组时将会出现丢包(packet loss)。回想前面的讨论,我们说过分组“在网络中丢失”或“被路由器丢弃”。正是在一台路由器的这些队列中,这些分组被实际丢弃或 丢失。
- 输入排队:
- 线路前部阻塞(HOL):
输出排队:
- 主动队列管理AQM算法:
- 随机早期简则RED:是AQM的一种算法之一
缓存数量:缓存数量(B)应当等于平 均往返时延(RTT,比如说250ms)乘以链路的容量(C)。
6.分组调度:
- FIFO先进先出:也被称为FCFS先来先服务
优先权排队:
循环和加权公平排队:
4.3 网际协议:IPv4、寻址、IPv6
1.IPv4数据报格式:
- 版本号:4比特,规定数据报的IP协议版本。
- 首部长度:4比特,确定IP数据报中载荷实际开始的地方。
- 服务类型:使不同类型的IP数据报能相互区别开来。
- 数据报长度:总长度:首部加数据
- 标识、标志、片偏移:与 IP分片有关
- 寿命:TTL
- 协议:指示数据部分应该交给哪个运输层协议
- 检验和
2.IPV4数据报分片:
不同的链路可能具有不同的MTU的链路层协议,为了适应链路层, 将IP数据报中的数据分片成两个或更多个较小的IP数据报,用单独的链路层帧封装这些较小的IP数据报,然后通过输出链路发送这些帧。分片的重新组装工作在端系统中进行。
3.IPv4编址:
- 每个IPv4的地址长是32位比特,通常按照点分十进制表示,即将32位比特每8位表示成一个十进制数,十进制数之间用
.
分隔 - CIDR:无类别域间路由选择:
- 形式为:a.b.c.d/x ,其中该地址的前x位构成网络后,后面剩余的部分构成主机位。
- 路由聚合:最长前缀匹配
- 分类编址的IP地址:分为A/B/C/D/E类,其中A/B/C可分配使用
4.动态主机配置协议:DHCP。(又称为即插即用协议或零配置协议)
dhcp允许主机自动获取一个IP地址,还允许一台主机获得子网掩码、默认网关、DNS服务器的地址等、
四个配置过程:
- DHCP服务器发现:主机通过广播(源地址0.0.0.0,目的地址255.255.255.255)找寻DHCP服务器
- DHCP服务器提供:DHCP通过DHCP提供报文向客户做出响应,仍然使用广播
- DHCP请求:主机通过广播向DHCP服务器发送DHCP请求报文
- DHCP ACK:服务器通过广播向主机发送DHCP确认报文,此后主机就可以使用分配的IP地址进行通信
主机将分别在0.5倍租用期、0.75倍租用期、0.875倍租用期分别向DHCP确认使用许可
5.网络地址转换:NAT
- 通过一个网络转换路由器(NATP)进行私有IP地址和共用IP地址的转换
- NAT可以起到隐藏内网地址的作用
- 外网无法直接搜寻到内网的IP地址
4.IPv6
- 数据报格式
地址长度从版本4的32位扩充到128位
流:该字段可用于“给属于特殊类的分组加上标签”
从4到6的迁移:
建隧道
4.4 通用转发和SDN
1.匹配:
2.动作:包括转发、丢弃、修改字段
3.负载均衡:将发往同一格式的IP地址的报文通过多个端口输出
第五章 网络层:控制平面
网络层控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报,而且控制网络层组件和服务如何配置和管理。
5.1 概述
1.转发表和流表的计算、维护和安装:
每路由器控制:每台路由器中都包含转发和路由选择功能。
逻辑集中式控制:逻辑集中式控制器计算并分发转发表以供每台路由器使用。
5.2 路由选择算法
集中式或分散式:
1.集中式路由选择算法:用完整的、全局性的网络知识计算出从源目的地之间的最低开销路径。
- LS链路状态算法。(全局交换信息)
2.分散式路由选择算法:路由器以迭代、分布式的方式计算出最低开销路径。
距离向量(DV)路由选择算法:迭代的、异步和分布式的算法。只与邻居交换信息。
路由环路问题
增加毒性逆转:善意的”小“谎言。
静态和动态:
3.静态路由选择算法:路由随时间的变化非常缓慢,通常是人工进行调整。
4.动态路由选择算法:随着网络流量负载或拓扑发生变化而改变路由选择路径。
负载敏感和负载迟钝:
5.负载敏感算法:链路开销会动态地变化以反映出底层链路的当前拥塞水平。
6.负载迟钝算法:某条链路的开销不明确地反应其当前的拥塞水平。
5.3 开放最短路径优先算法(OSPF)
OSPF是一种链路状态协议,它使用洪泛链路状态信息和最低开销路径算法。
1.自治系统(AS):每个AS由一组通常处在相同管理控制下的路由器组成。一个自治系统由其全局唯一的AS号标识,AS号由ICANN区域注册机构所分配。
2.在一个自治系统内运行的路由选择算法叫作自治系统内部路由选择协议。
5.4 ISP之间的路油选择:BGPP(边界网关协议)
1.BGP为每台路由提供的完成任务的手段:
从邻居AS获得前缀的可达性信息。
确定到该前缀的“最好的”路由。
热土豆路由选择:尽可能快地将分组送出其AS.
Ip任播: