TCP/IP详解读书笔记 第五次更新2021.7.31

第一章 概述

本章用于介绍Internet体系结构和TCP/IP协议族
TCP/IP协议用于满足多种不同分组交换计算机网络的互联需求

1.1体系结构原则

1.1.1 分组、连接和数据报

网络的概念起源于60年代在一条通话中必须建立一条链接,且在结束后必须释放这条连接允许其他用户使用,在一次连接建立之后会提供一定数量的带宽或者容量。电话网络从模拟网络演变成数字网络,提高了其可靠性和可用性。

分组交换允许来自不同来源的“块”相互组合和分解,称此为多路复用,可以想象为车子来自不同的地方在同一条高速上走又分散去不同的地方。一般分组只携带少数信息,以提供到某个状态表的索引。

分组交换常常使用FIFO(先进先出),FIFO和按需调度结合实现统计复用,效率高,但是可预测性有限。
时分复用(TDM)和静态复用,可预测性强,但是效率不如统计复用。

数据报是一种特殊的分组,它的来源和最终目的地都存在与分组中,虽然较大但是不需要在交换机中维护连接状态,可用于无连接网络
由于数据包自身提供开始和结束,但是通过电路交换或者虚电路的数据并没有消息边界,应用程序需要自己提供功能。
在这里插入图片描述

1.1.2 端到端论点和命运共享

影响TCP/IP协议族设计的一个重要原则称为端到端论点
端到端论点认为:重要功能(如差错控制、加密、交付确认)通常不可能在大型系统的低层实现,但是低层可以提供方便端系统工作的功能,并最终可能改善性能。低层功能的设计不应该以完美为目标。

命运共享建议将所有必要的状态放在通信端点,这些状态用于维护一个活动的通信关联(如虚拟连接)。由于这个原因,导致通信失效的状态也会导致一个或者多个端点失效使得整个通信失败。

1.1.3 差错控制和流量控制

差错控制是指对在网络中存在数据损坏或丢失的情况(如硬件问题、数据传输中被修改、在无线网络中超出范围,以及其他因素)进行处理。
针对网络中可靠,按顺序交付的实现开销,帧中继和Internet协议采用一个尽力而为交付的服务,网络不会花费很大努力确保传输数据的安全,某些差错会采用差错检测码或者校验和来检测。

如果尽力而为的交付成功,发送方能以超过接收方处理能力的速度生成信息,在尽力而为的IP网络中,降低发送方的发送速度可以通过流量控制机制实现
这与端到端论点一致:TCP在端主机中实现速率控制。

1.2 设计与实现

分层是实现协议族的常用方案

1.2.1 分层

通过分层,每层只负责通信的一部分。
在这里插入图片描述
物理层定义了一种通过某种通信介质传输数字信息的方法,以太网和无线局域网标准的一部分也在这一层。

数据链路层包含为共享相同介质的邻居建立连接的协议或方法。有些链路层只连接两个邻居,当超过一个邻居可以访问共享网络时候,这个网络称为多接入网络。

网络层对分组网络(如TCP/IP)提供了一种可互相操作的分组格式看,可通过不同类型的链路层网络来连接。本层也包括针对主机地址方案和用于决定将分组从一台主机发送到另一台主机的路由算法。

上述三层的协议仅仅实现在端主机中

传输层提供了一个会话之间的数据流,而且可能相当复杂,取决于它提供的服务类型。

会话层会话表示表示运行中的应用之间的交互。会话层协议可以提供例如连接初始化和重新启动、增加检查点(保存到目前为止已经完成的工作)等功能。

表示层负责信息的格式转换和标准化编码。

Internet协议并不包括正式的会话层或表示层,如果需要,这些功能应该由应用程序实现

应用层各种应用通常会实现自己的应用层协议。应用层是创新最多,以及新功能开发和部署的地方。

1.2.3 分层实现中的复用、分解和封装

分层体系结构的一个主要有点事具有协议复用的能力。
封装的流程如下,PDU是协议数据单元。
在这里插入图片描述
并不是所有的网络设备都需要实现所有层,在某些情况下,如果设备只希望执行特定操作,那么它只需要实现少数几个层。如下图所示
在这里插入图片描述
上图展示的互联网络是理想化的,当前的交换机和路由器通常实现更多协议,超出单纯实现数据转发的需要。
一般我们所指的端系统包括两边的主机,中间系统指路由器,通常不认为交换机或桥接是中间系统,由于它们并没有使用互连网络协议的地址格式来编址,并且很大程度上以透明于网络层协议的方式运行。

主机都采用链路层协议D,但主机之间由采用链路层协议G的路由器和交换机隔开。

1.3 TCP/IP协议族结构和协议

TCP/IP协议族的3个主要层次是网络层、传输层和应用层。
在这里插入图片描述
地址解析协议ARP是IPv4的专用协议,只用于多接入链路层协议,完成IP层使用的地址和链路层使用的地址之间的转换。
IP发送给链路层协议的PDU称为IP数据报,“分组”是表示IP数据报的方式
链路层的PDU称为帧。

IP地址长度是IPv4和IPv6最大的差别。发送分组的行为和决定称为转发,在转发过程中有单播、广播和组播三种形式。
ICMP是Internet控制消息协议,是IP的一个辅助协议。
IGMP是Internet组管理协议,是IPv4的一个辅助协议,采用组播寻址和交付来管理作为组播组成员的主机。

传输控制协议TCP会处理数据包丢失,重复和重新排序等IP层不处理的问题,它采用面向连接(VC)的方式,且不保留消息边界。TCP发送到IP的PDU称为TCP段。
用户数据包协议UDP仅提供比IP协议稍多的功能,允许应用发送数据包并且保留消息边界,但不强制实现速率控制或差错控制。
数据包拥塞控制协议DCCP提供了一种介于TCP和UDP之间的服务类型:面向连接,不可靠的数据报交换,但提供拥塞控制功能。
流控制传输协议SCTP,用于某些特定系统的传输协议。SCTP提供类似于TCP的可靠交付,但不要求严格保持数据的顺序。

在这里插入图片描述0x0800表示这个帧包含IPv4数据报。0x0806和0x86DD分别表示ARP和IPv6。

端口号是16位的非负整数。每个IP地址有65536个可用的端口号,每个传输协议可使用这些端口号(大多情况下),它们被用于确定正确的接受数据的具体服务。
熟知端口号(0——1023)、注册端口号(1024——49151)、动态/私有端口号(49152——65535)
注册端口号提供给有特殊权限的客户机或服务器

在TCP/IP环境中,DNS是一个分布式数据库、提供主机名和IP地址之间的映射。

1.4Internet、内联网和外联网

internet表示使用常见协议族互联的多个网络。Internet表示可使用TCP/IP通信的世界范围的主机的集合。
internet一般构造路由器连接两个或多个网络的互联网络。
内联网是一个用于描述专用互联网络的术语,通常由一个商业机构或其他企业来运行,且一般情况下只供特定企业的成员使用。
用户可以使用虚拟专用网(VPN)连接到内联网。
VPN有助于保证内联网中潜在的敏感资源只供授权用户访问。
很多情况下,一些企业希望建立一个网络,其中包含可供合作伙伴或其他相关公司通过Internet访问的服务器,这种涉及VPN的网络通常被称为外联网,由连接在提供服务的企业防火墙之外的计算机组成。

1.5设计应用

我们已接触的网络概念提供了一个简单的服务模型:在运行与不同或相同的计算机上的程序传输数据。
网络应用的典型结构基于少数几种模式。最常见的模式是客户机/服务器模式和对等模式。

大多数网络应用被设计为一端是客户机、另一端是服务器。服务器为客户机提供某类服务,例如访问服务器主机中的文件。服务器分为两类:迭代和并发。
迭代服务步骤如I1——I4所示
在这里插入图片描述
大多数服务器都是并发的。并发服务器只产生其他服务器实例处理客户机的请求。

对等模式指的是每个应用既是客户机又是服务器,有时同时是两者,并能转发请求。这种应用称为对等或P2P应用。
并发的P2P应用接收到传入的请求,确定它是否能够相应这个请求,如果不能,将这个请求转发给其他对等方。因此一组P2P应用共同形成一个应用网络,也称覆盖网络
P2P网络需要一个引导程序以便每个客户机在最初配置中使用它所需的对等方的地址或端口号。

无论是P2P还是C/S模式都需要表述其所需的网络操作(例如建立一个连接、写入或读取数据),通常由主机操作系统使用一个网络应用程序编程接口(API)来实现。

1.6~1.9

IETF(Internet工程任务组)的领导组织为IAB(Internet架构委员会)和IESG(Internet工程指导组)。它用于指定各种协议和标准化。
IRTF(Internet研究任务组)讨论没有成熟到足以形成标准的协议、体系结构和程序。

Internet社会中的每一个官方标准都以一个RFC(征求意见)的形式发布。在接受并作为RFC发布之前,文件作为临时的Internet草案存在。
只有标准跟踪类别的RFC被认为是官方标准.

网络层(IP)提供了一个不可靠的数据报服务,必须由Internet中所有可寻址的系统来实现。
传输层(TCP、UDP)为端主机上运行的应用程序提供了端到端服务。主要的传输层协议由根本性差异即TCP和UDP。

每层都是用地址和分解标识符,以避免混淆不同协议或相同协议的不同关联/连接。
链路层多接入网络通常使用48位地址;IPv4使用32位地址,IPv6使用128位地址。

第二章 Internet地址结构

本章介绍Internet使用的网络层地址,如何为Internet中的设备分配地址,有助于路由可扩展性的地址层次结构分配方式,以及特殊用途的地址,包括广播、组播和任播地址。

2.2 表示IP地址

IPv4有四个用点分隔的十进制数组成,每个这样的数字是一个非负整数,范围为[0,255]
在这里插入图片描述
在IPv6中,地址长度是128位,是IPv4地址长度的4倍。
IPv6地址的传统表示方法是采用称为块或字段的四个十六进制数,由冒号隔开。
例如一个包含8个块的IPv6地址可写为5f05:2000:80ad:5800:0058:0800:2023:1d71

IPv6地址书写格式如下,a到f的十六进制需要使用小写
1.一个块中前导的0可以省略不写
2.全零的块可以省略,并用符号::代替,只能用于压缩最多的零且只能在一个地址中用一次
3.在IPv6中嵌入IPv4的地址可以使用混合符号形式,紧接着IPv4部分的地址块的值为ffff。IPv6地址::ffff:10:0:0:1可以表示为IPv4地址10.0.0.1,它被称为IPv4映射的IPv6地址
4.IPv6地址的低32位常采用点分四组表示法。一个十六进制占4位,一个二进制数一位。IPv6地址::0102:f001相当于地址::1.2.240.1。它被称为IPv4兼容的IPv6地址

在使用IPv6地址的时候,如果怕使用处由:干扰使用,可以用【】符号将IPv6地址包围住,以免造成不必要的混淆。

2.3 基本的IP地址结构

大多数IPv4地址块被细分成一个地址,用于识别连接Internet或某些其他专用的内联网的计算机网络接口。这些地址称为单播地址,IPv4地址空间中大部分是单播地址空间。

2.3.1 分类寻址

在最初定义Internet地址结构时,每个单播IP地址都有一个网络部分,用于识别接口使用的IP地址在哪个网络中可被发现;以及一个主机地址,用于识别网络部分给出的网络中的特定主机。
地址空间的划分涉及五大类,每类都基于网络中可容纳的主机数量。
在这里插入图片描述在这里插入图片描述
地址块中的第一个和最后一个地址通常不使用, 18.0.0.0实际上分配2的24次-2个单播IP地址

2.3.2 子网寻址

子网的概念是由站点接入Internet后为其分配一个网络号,然后由站点管理员进一步划分本地的子网数而来。
·从本质来说,子网寻址为IP地址结构增加了一个额外的部分,但它并没有为地址增加长度。
如下图所示的是IPv4的子网案例
在这里插入图片描述
这个搭配允许站点支持256个子网,每个子网最多可以包含254台主机(每个子网的第一个和最后一个地址无效)。

只有划分子网网络中的主机和路由器知道子网结构
在这里插入图片描述
上图演示了如何进行工作,目的地址以128.32开始的所有流量直接由internet路由系统交给边界路由器(特别是其接口的IPv4地址137.164.23.30)它必须能区分128.32网络中的不同子网。

2.3.3 子网掩码

子网掩码是由一台主机或路由器使用的分配位,以确定如何从一台主机对应IP地址中获得网络和子网信息。
在这里插入图片描述
下图所示的是掩码为255.255.255.0时,如何处理IPv4地址128.32.1.14
在这里插入图片描述
可以看出128.32.1.14属于子网128.32.1.0/24。Internet路由系统其余部分不需要子网掩码的知识,因为站点之外的路由器做出路由决策只基于地址的网络号部分,并不需要网络/子网或主机部分。

2.3.4 可变长度子网掩码VLSM

可变长度子网掩码提高了子网结构的灵活性
在这里插入图片描述
上图中三个不同的子网掩码被用于站点中的子网128.32.0.0/16:/24、/25和/26

可变子网掩码就是在子网的基础上再次划分。

2.3.5广播地址

在每个IPv4子网中,一个特殊地址被保留作为子网广播地址。子网广播地址通过将IPv4地址的网络/子网部分设置为适当值,以及主机部分所有位设置为1而形成。
获得广播地址的方法如下所示
在这里插入图片描述
使用这种地址作为目的地的数据包也被称为定向广播。在理论上这种广播可以作为一个单独的数据包通过Internet路由直至到达目标子网,再作为一组广播数组报发送给子网中所有主机。
特殊用途地址255.255.255.255被保留为本地网络广播,它根本不会被路由器转发。
IPv6中没有如何广播地址,仅使用组播地址。

2.3.6 IPv6地址和接口标识符

IPv6地址使用特殊前缀表示一个地址范围。
有关范围的重要例子包括节点本地(只能用于同一计算机中通信)、链路本地(只用于同一网络链路或IPv6前缀中的节点)或全球性(Internet范围)
链路本地IPv6地址使用接口标识符IID作为一个单播IPv6地址的分配基础。
IID在所有 情况下都作为一个IPv6地址的低序位,这样它们必须在同一网络中有唯一前缀。
IID的长度通常是64位,并直接由一个网络接口相关的链路层MAC地址形成,该地址使用修改的EUI-64格式或者由其他进程随机提供的值形成,以提供可防范地址跟踪的某种长度的隐私保护。

EUI表示扩展唯一标识符。EUI-64由一个24位的组织唯一标识符OUI和组织分配的40位扩展标识符组成。它由前面24位识别
在这里插入图片描述
一个EUI-64地址可以由一个EUI-48地址组成。
例如EUI-48:00-11-22-33-44-55 在EUI-64地址中将会变成00-11-22-FF-FE-33-44-55

2.4 CIDR和聚合

CIDR即无类别域间路由。
使用CIDR,未经过预定义的任何地址范围可作为一个类的一部分,但需要一个类似于子网掩码的掩码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值