第一章 概述
电信网、计算机网和有线电视网 三网合一
TCP/IP 是当前因特网协议簇的统称。TCP 和 IP 是因特网协议簇中两个极为重要的协议。
RFC标准轨迹由3个成熟级构成:提案标准、草案标准和标准。
第二章 计算机网络与因特网体系结构
计算机网络依据拓扑结构来划分,可分为总线型网;可分为环型网;可分为星型网;可分为格状网。
计算机网络按照覆盖范围来划分的话,可以分为广域网、城域网、局域网以及个域网。
网络可以划分成:资源子网和通信子网两个部分。
网络协议是通信双方需要共同遵守的东西。它是规则和约定的集合。网络协议包含三个要素,分别是语法,还有语义,以及同步规则。
通信双方的对等层中,那些完成相同协议功能的实体被称作对等实体。这些对等实体按照协议来进行通信。
有线接入技术分为铜线接入、光纤接入和混合光纤同轴接入技术。
无线接入技术包含多种类型。其中主要有卫星接入技术。还有无线本地环路接入。另外还有本地多点分配业务。
网关实现不同网络协议之间的转换。
因特网采用了网络级互联技术。网络级的协议转换带来了两个效果,一是增加了系统的灵活性,二是简化了网络互联设备。
因特网将底层网络技术和结构对用户进行了隐藏。在用户的视角里,因特网呈现为一个统一的网络。
因特网把能传输数据分组的通信系统都当作网络,这些网络都受到网络协议的平等对待。
TCP/IP 协议被分成 4 个协议层。其中有网络接口层,还有网络层,以及传输层和应用层。
IP 协议是 TCP/IP 协议簇中的核心协议。
第四章 地址解析
建立逻辑地址与物理地址之间映射的方法有两种,分别是静态映射和动态映射。动态映射是在需要获取地址映射关系的时候,借助网络通信协议直接从其他主机上获取映射信息。而因特网采用的就是动态映射这种方法来进行地址映射。
获得逻辑地址与物理地址之间的映射关系称为地址解析 。
地址解析协议 ARP 能够将逻辑地址也就是 IP 地址映射为物理地址,它是一种动态映射协议。
ARP 高速缓存中存有最近被使用过的一些信息。这些信息包含着 IP 地址与物理地址的映射关系。并且这些映射关系是有列表形式存在的。
ARP 高速缓存中创建的静态表项具有永不超时的特性,它是一种地址映射表项。
反向地址解析协议 RARP 是一种动态映射,它能将给定的物理地址映射到逻辑地址(即 IP 地址)。RARP 完成解析需要借助 RARP 服务器的帮助。
ARP 请求是采用本地物理网络广播实现的。RARP 请求也是采用本地物理网络广播实现的。
在代理 ARP 中,当主机有需求对隐藏在路由器后面的子网中的某一主机的 IP 地址进行解析。此时,代理 ARP 路由器会把自己的物理地址当作解析结果来进行响应。
第五章 IP协议
IP是不可靠的无连接数据报协议,提供尽力而为的传输服务。
TCP/IP 协议的网络层称为IP层.
IP 数据报在经过路由器进行转发时,通常要进行以下三个方面的处理:一是首部校验;二是路由选择;三是数据分片。
IP 层借助 IP 地址达成了物理地址的统一,同时借助 IP 数据报实现了物理数据帧的统一。IP 层通过这两方面的统一,将底层的差异给屏蔽了,进而向上层给予了统一的服务。
IP 数据报包含首部和数据这两部分。首部又分为定长部分以及变长部分。其中选项属于数据报首部的变长部分。定长部分的长度是 20 字节,而选项的长度不超过 40 字节。
IP 数据报中,首部长度是以 32 位字作为单位的。数据报的总长度是以字节作为单位的。片偏移是以 8 字节(64 比特)作为单位的。数据报中的数据长度等于数据报的总长度减去首部长度乘以 4。
IP 协议具备动态分片的功能。标识、标志和片偏移这几个字段用于控制分片和重组。网络的最大传输单元 MTU 会对分片产生影响,MTU 指的是物理网络帧能够封装的最大数据字节数。一般来说,不同协议的物理网络其 MTU 是不同的。分片的重组工作只能在信宿机上进行。
IP 数据报在网络上传输时会有一个生存时间,这个生存时间被称为 TTL。TTL 是数据报在网络上能够生存的最大时间。每经过一个路由器,数据报的 TTL 值就会减少 1。
IP数据报只对首部进行校验 ,不对数据进行校验。
IP 选项可用于网络控制与测试。它主要包含以下几种:严格源路由;宽松源路由;记录路由;时间戳。
IP 协议主要有以下功能:对数据进行封装,形成 IP 数据报;对数据报进行分片处理,以便在网络中传输;对分片后的数据报进行重组;处理数据的环回情况;处理 IP 选项;计算校验码;处理 TTL 值;进行路由选择等。
IP 数据报中存在与分片相关的字段,这些字段包括标识字段、标志字段以及片偏移字段。
数据报标识是分片所属数据报的关键信息,是分片重组的依据
分片需要满足两个条件。其一,分片要尽可能大,同时还必须能够被帧所封装。其二,片中数据的大小必须是 8 字节的整数倍,不然的话,IP 就无法表达其偏移量。
分片能够在信源机或者传输路径上的某一台路由器处进行。而分片的重组仅仅可以在信宿机上进行。片重组的控制主要依据数据报首部里的标识、标志以及片偏移字段。
IP 选项位于 IP 数据报首部且为变长部分,可用于网络控制与测试目的,像源路由、记录路由、时间戳等。同时,IP 选项的最大长度不能超过 40 字节。
1、IP 层不对数据进行校验。
原因:上层传输层属于端到端的协议。端到端的校验与点到点的校验相比,开销要小很多。尤其是在通信线路较好的情况下,这种差异更为明显。此外,上层协议能够依据对数据可靠性的需求,决定进行校验或者不进行校验,甚至还可以考虑采用不同的校验方法。这些做法给系统带来了极大的灵活性。
2、IP协议对IP数据报首部进行校验。
原因在于,IP 首部是属于 IP 层协议的相关内容,而这种内容不可能由上层协议来进行处理。
IP 首部中有部分字段在点到点的传递过程中会不断变化。这些字段只能在每个中间点重新形成校验数据,并且在相邻点之间完成校验。
3、分片必须满足两个条件:
分片尽可能大,但必须能为帧所封装 ;
片中数据的大小需为 8 字节的整数倍。若不满足此条件,IP 便无法表达其偏移量。
第六章 差错与控制报文协议(ICMP)
ICMP 协议对 IP 协议起到补充作用。它可用于 IP 层的差错报告。它还可用于拥塞控制。它也可用于路径控制。并且它能用于获取路由器或主机的信息。
ICMP 不会向信宿去报告差错,也不会向中间的路由器报告差错,而是会向信源报告差错。
ICMP 和 IP 协议处于相同的层次。ICMP 报文被封装在 IP 数据报的数据部分当中,以此来进行传输。
ICMP 报文可分为请求 /应答报文这一大类。
ICMP 差错报告包含三种类型。其中一种是信宿不可达报告,另一种是数据报超时报告,还有一种是数据报参数错报告。而数据报超时报告又包括 TTL 超时和分片重组超时这两种情况。
数据报参数错包含两方面情况,一是数据报首部中的某个字段的值存在错误;二是数据报首部中缺少某一选项所必须具备的部分参数。
ICMP控制报文包括源抑制报文和重定向报文。
无连接传输时因缺乏流量控制机制会带来拥塞问题。ICMP 会利用源抑制这种方法来进行拥塞控制,它能通过源抑制使信源发出数据报的速率减缓。
语言
ICMP 重定向报文是由位于同一网络的路由器发送给主机的。它的作用是完成对主机的路由表的刷新。
ICMP 回应请求与应答也能够被用于测试 IP 协议的工作情况。
ICMP时间戳请求与应答报文用于设备间进行时钟同步 。
主机利用 ICMP 路由器通告报文可以知道路由器是否处于活动状态。
第七章 IP 路由
数据传递存在两种方式,分别是直接传递和间接传递。直接传递指的是能够直接传输到最终信宿的过程。间接传递则是指在信宿之间进行的传输过程。
源和信宿位于不同物理网络时,所经过的一些中间传递过程。
TCP/IP 通过表驱动的方式来进行路由选择。每台主机以及路由器中都存有一个能反映网络拓扑结构的路由表。主机和路由器凭借路由表所呈现的拓扑信息,能够找到前往信宿机的正确路径。
信宿地址在通常的路由表中采用网络地址。路径信息则是用去往信宿的路径中的下一跳路由器的地址来表示。
路由表中的两个特殊表目是特定主机路由和默认路由表目。
路由表的刷新也可以采用这两种方式,即静态路由和动态路由。
一组网络和路由器组成的系统是由独立管理机构所管理的,这个系统就是自治系统。
路由器自动获取路径信息有两种基本方法,一种是向量—距离算法,另一种是链路—状态算法。
距离 D 按照去往信宿的跳数进行计算。各个路由器依据收到的 (V ,D)报文,按照最短路径优先这一原则来对它们各自的路由表进行刷新操作。
向量 —距离算法的优点是简单,易于实现。
缺点是收敛速度慢和信息交换量较大。
所以本节点能够根据这棵最短路径优先树形成路由表。
动态路由所使用的路由协议包含两类。一类是用于自治系统内部的协议,即内部网关协议;另一类是用于自治系统之间的协议,即外部网关协议。
RIP 协议基于基本的向量—距离算法。它增加了对路由环路的处理,也增加了对相同距离路径的处理,还增加了对失效路径的处理以及对慢收敛问题的处理。RIP 协议是以路径上的跳数来作为该路径的距离的。并且规定,一条有效路径的距离不能超过某个特定值。
RIP不适合大型网络。
RIP 报文是被封装在 UDP 数据报当中进行传输的。并且 RIP 会使用 UDP 的 520 这个端口号。
3、RIP 协议的三个要点
仅和相邻路由器交换信息。
交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
按固定的时间间隔交换路由信息,例如,每隔30秒。
4、RIP 协议的优缺点
RIP 存在的一个问题在于,若网络发生故障,需要耗费较长时间才能把此信息传递给所有的路由器。
RIP 协议最大的优点就是实现简单,开销较小。
RIP 对网络规模有所限制,它所能使用的最大距离为 15,而 16 则表示不可达。
路由器之间会交换路由信息,这些路由信息是路由器中的完整路由表。由于网络规模在不断扩大,所以开销也就随之增加了。
5、为了防止计数到无穷问题,可以采用以下三种技术。
水平分割法的基本思想为:路由器从某个接口接收到的更新信息,不被允许从这个接口再发回去。在图 7 - 9 所示的例子里,当 R2 向 R1 发送 V - D 报文时,不能包含经由 R1 去往 NET1 的路径,因为这一信息是由 R1 自身产生的。
保持法要求路由器在得知某网络不可到达后,需在一段时间内保持此信息不变,这段时间被称作保持时间,并且在保持时间内,路由器不会接受关于此网络的任何可达性信息。
毒性逆转法是水平分割法的一种变化形式。从某一接口发出信息时,如果从这一接口进来的信息改变了路由表表项,那么在 V-D 报文中,对应这些表目的距离值会被设为无穷(16)。
OSPF 把自治系统划分成区域。每个区域是由处于同一自治系统内的一组网络、主机以及路由器所构成的。区域的划分带来的好处是,广播得到了更好的管理,同时也让 OSPF 能够对大规模的网络提供支持。
OSPF 是一种链路状态协议。网络处于收敛状态时,每个 OSPF 路由器会运用算法,为每个网络和路由器算出最短路径,进而形成一棵以本路由器为根的最短路径优先(SPF)树,并且依据最短路径优先树来构造路由表。
OSPF 直接运用 IP。在 IP 首部的协议这个字段当中,OSPF 协议所对应的值是 89。
BGP 是一种外部网关协议,它采用路径—向量算法。BGP 能够支持基于策略的路由,并且路由选择策略与政治、经济或安全等因素存在关联。
BGP 报文有打开、更新、保持活动和通告这 4 类。BGP 报文是被封装在 TCP 段里进行传输的,并且使用的是 TCP 的 179 号端口。
第八章 传输层协议
传输层起到承上启下的作用,它将通信子网的细节进行了屏蔽,同时向上为进程提供通用的通信服务。网络层存在一定的局限性,而传输层则是对网络层的一种加强与弥补。在传输层中,TCP 和 UDP 是两大重要的协议。
端口分配有两种基本的方式:全局端口分配和本地端口分配。
在因特网里,会采用一个由协议、主机地址、端口号组成的三元组,以此在全局范围内唯一地标识一个进程。同时,会用一个包含协议、本地主机地址、本地端口号、远地主机地址、远地端口号的五元组,来对两个进程的关联进行描述。
TCP 是提供进程通信能力的传输层协议,它有一套端口号,范围是从 0 到 65535。UDP 也是提供进程通信能力的传输层协议,它也有一套端口号,同样是从 0 到 65535,且两套端口号相互独立。
TCP 在计算校验和时引入伪首部,其目的是能够验证数据是否传送到了正确的信宿端;UDP 在计算校验和时引入伪首部,其目的也是能够验证数据是否传送到了正确的信宿端。
TCP 为了实现数据的可靠传输,会在应用进程间建立传输连接。TCP 在建立连接的时候,采用三次握手的方法来解决重复连接的问题。而在拆除连接的时候,采用四次握手的方法来解决数据丢失的问题。
服务器端在建立连接之前,首先会被动地打开其熟知的端口,并且对该端口进行监听。当客户端想要与服务器建立连接时,就会发出一个主动打开端口的请求,而客户端通常会使用临时端口。
TCP 所采用的最基本的可靠性技术包含流量控制这一项,同时也包含拥塞控制,还包含差错控制。
TCP 使用滑动窗口协议来实现流量控制。在滑动窗口协议中,通过发送方窗口与接收方窗口的相互配合,从而完成传输控制。
TCP 的拥塞控制通过发送方的窗口来对注入网络的数据流的速度进行控制。发送窗口的大小是通告窗口与拥塞窗口中较小的那个。
TCP 依靠差错控制来解决数据的丢失事宜。
UDP 给 IP 协议增添了进程通信的能力。UDP 还通过可选的校验和来提供简单的差错控制。不过 UDP 不具备流量控制以及数据报确认的功能。
传输层的任务包括向用户提供可靠的数据传输,这种传输是端到端的且透明的,同时还具备差错控制和流量控制机制。
传输层为应用进程提供逻辑通信。意思是传输层之间的通信仿佛是沿水平方向传送数据,然而实际上这两个传输层之间并未存在一条水平方向的物理连接。
TCP 提供的可靠传输服务有如下五个特征 :
面向数据流;采用虚电路连接;进行有缓冲的传输;面对无结构的数据流;实现全双工连接。
TCP 采用一种技术作为提供可靠数据传输服务的基础,这种技术名为“带重传功能的肯定确认”。
第九章 域名系统
字符型的名字系统为用户提供了直观的方法,这种方法便于理解,也便于记忆。它非常符合用户的命名习惯。
因特网采用层次型命名机制。这种机制把名字空间划分成若干子空间,每个机构负责对一个子空间进行管理。授权管理机构能够将其管理的子名字空间进一步进行划分,然后把划分后的子名字空间授权给下一级机构去管理。名字空间呈现出一种树形结构。
域名是由圆点“.”分隔开的标号序列所构成的。如果一个域名包含了从树叶到树根的完整标号串,并且是以圆点结束的,那么就称这个域名为完全合格域名 FQDN。
常用的三块顶级域名分别是:通用顶级域名;国家代码顶级域名;反向域的顶级域名。
TCP/IP 的域名系统具备有效性、可靠性、通用性和分布式的特点,它是一个名字—地址映射系统。DNS 服务器有其管理单元,即区域,一般来说,区域指的是一个 DNS 服务器所管理的名字空间。区域和域是不同的概念,域是一个完整的子树,而区域可以是子树中的任何一部分。
名字服务器主要有三种类型。其中,主名字服务器拥有区域文件的原始版本。次名字服务器会从主名字服务器处获得区域文件的拷贝。并且,次名字服务器通过区域传输与主名字服务器保持同步。
DNS 服务器使用 TCP 的 53 号熟知端口。
DNS 服务器可以进行两种类型的解析。一种是递归解析,另一种是反复解析。
DNS 响应报文中包含回答部分、授权部分和附加信息部分。这些部分由资源记录构成。资源记录被存放在名字服务器的数据库中。
顶级域 cn 次级域 子域 主机
TFTP :普通文件传送协议( File )
RIP: 路由信息协议 ( )
OSPF 被称为 Open Path First 协议。
EGP 外部网关协议 ( )
BGP 边界网关协议 ( )
DHCP 动态主机配置协议( Host )
工作原理 : 远程主机连接服务
FTP 文件传输工作原理 File
SMTP 邮件传输模型