学习笔记:《TCP/IP详解 卷1》概述

概述

1.1 体系结构列表

Internet体系结构

1.1.1 分组、连接和数据报

  • 分组交换思想
  • (多路)复用
  • 统计复用
  • 时分复用(TDM)和静态复用
  • 面向连接的网络
  • 数据报:一个特定类型的分组,有关来源和最终目的地的所有识别信息都位于分组中(不在分组交换机中),可用于建立一个无连接的网络,并且没有必要使用复杂的信令协议。
  • 消息边界或记录标记

1.1.2 端到端论点和命运共享

  • 端到端论点:倾向于支持一种使用“哑”网络和连接到网络的“智能”系统的设计方案。这是我们在TCP/IP设计中所看到的,很多功能在端主机的应用程序中的实现。
  • 命运共享:一种通过“虚拟连接”维持活动的设计理念,也支持一种“带智能终端主机的哑网络”模型。建议将所有必要的状态放在通信端点,这些状态用于维护一个活动的通信关联(例如虚拟连接)。

1.1.3 差错控制和流量控制

  • 差错控制:对在网络中由于硬件问题、数据传输中被修改、在无线网络中超出范围以及其他因素产生的存在数据损坏或丢失的问题的处理
  • 尽力而为的交付:网络不会花费很大努力来确保数据在没有差错或缺陷的情况下交付。
  • 流量控制:如果尽力而为的交付成功,发送方能以超过接收方处理的速度生成信息。在尽力而为的IP网络中,降低发送方的发送速度可通过流量控制实现,它在网络外部或通信系统高层中运行。

1.2 设计和实现

1.2.1 分层

通过分层,每层只负责通信的一个方面。

开放系统互连标准(OSI)模型

每层都有不同的任务。
这里写图片描述

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

复用、分解和封装
  • 协议复用:允许多种协议共存于同意基础设施中。它也允许相同协议对象(例如连接)的多个实例同时存在,并且不会被混淆。
    复用可以发生在不同层,并在每层都有不同类型的标识符,用于确定信息属于哪个协议或信息流。
  • 封装:当某层的一个称为协议数据单元(PDU)的对象(分组、消息等)被低层携带时,这个过程称为在相邻低层的封装(作为不透明数据)
    这里写图片描述
    封装的本质:每层都将来自上层的数据看作不透明、无需解释的信息。
  • 分解:若某层在在获得PDU前面增加自己的头部头部用于在发送时复用数据,接收方基于一个分解(拆分)标识符执行分解
理想化的小型互联网络

有些理想化的小型互联网络包括两种端系统,即交换机路由器
在图中,每个设备实现协议栈的一个子集。
左侧的主机对应的物理层实现了3种链路层协议(D、E和F),以及运行在同一网络层协议上的3种传输层协议(A、B和C)。
端主机实现了所有层,交换机实现到第2层,路由器实现到第3层。
由于路由器具有互联不同类型的链路层网络的能力,因此它必须为互联的每种网络实现链路层协议。
这里写图片描述
上图中,可以区分为端系统(两边的两台主机)和中间系统(中间的路由器)。网络层之上的各层使用端到端协议。在我们的描述中,只有端系统需要这些层次。
但是网络层提供了一种逐跳协议,它用于两个端系统和每个中间系统

  • 交换机:通常不认为交换机或桥接是一个中间系统,这是由于它们没有使用互联网络协议的地址格式来编址,并在很大程度上以透明于网络层协议的方法运行。从路由器和端系统的角度来看,交换机和网桥实际上是不可见的。

  • 路由器:有两个或更多的网络接口——多宿主(有多个接口的系统)。一台主机也可以是多宿主的,但除非它专门将分组从一个接口转发到另一个接口,否则不能称为路由器。

互联网络的目标之一是对应用隐藏所有关于物理布局(拓扑)和底层协议的异构性的细节。

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

1.3.1 ARPANET参考模型

这里写图片描述
上图描述了源于ARPANET参考模型的分层,它最终被TCP/IP协议族采纳。它的结构比OSI模型更简单,但在实现中包括一些特定次恶意,并且不适合常规层次的简化。

常见的IP协议
  • Internet控制消息协议(ICMP)是IP的一个辅助协议,IP层使用它于其他主机或路由器的IP层之间交换差错消息和其他重要消息。(IPv6和IPv4)
  • Internet组管理协议(IGMP)是IPv4的另一个辅助协议,采用组播寻址和交付来管理组播组成员的主机。
常见的两种Internet传输协议
  • 传输控制协议(TCP)会处理数据包丢失、重复和重新排序等IP层不处理的问题。它采用面向连接(VC)的方式,并且不保留消息边界。【可靠】
  • 用户数据报协议(UDP)仅提供比IP协议稍多的功能。UDP允许应用发送数据报并保留消息边界,但不强制实现速率控制或差错控制。【简单】
  • 其他:数据报拥塞控制协议(DCCP)(介于TCP和UDP之间,面向连接、不可靠的数据报交换,但具有拥塞控制功能)、流控制传输协议(SCTP)(类似于TCP的可靠交付,但不要求严格保持数据的顺序)
1.3.2 TCP/IP中的复用、分解和封装

协议的复用、分解和封装的具体形式,具体协议的理解。

1.3.3 端口号

端口号是16位的非负整数(0~65535)【抽象、无物理意义】,每个IP地址有65536个可用的端口号,每个传输协议可使用这些端口号,它们被用于确定正确的接受数据的服务。

特定端口号(Internet号码分配机构IANA分配)
  • 熟知端口号(0~1023):安全外壳协议(SSH,22)、FTP(20和21)、电子邮件/简单邮件传输协议(SMTP,25)、域名系统(DNS,53)、超文本传输协议或web(HTTP和HTTPS,80和443)、简单网络管理协议(SNMP,161和162)……
  • 注册端口号(1024~49151)
  • 动态/私有端口号(49152~65535)
1.3.4 名称、地址和DNS

在TCP/IP中,每台计算机的每个链路层接口至少有一个IP地址(足以识别主机,但不方便记忆或操作)。DNS是一个分布式数据库,提供主机名和IP地址之间的映射。域名建立是有层次的,以.com、.org、.gov、.in、.uk和.edu等域结尾。

1.4 Internet、内联网和外联网

  • Internet/internet:internet表示使用常见协议族互联的多个网络,Internet表示可使用TCP/IP通信的世界范围的主机集合。Internet是一个internet,但反过来说是不对的。
  • 内联网:是一个用于描述专用互联网络的术语,通常由一个商业机构或其他企业来运行。用户可使用虚拟专用网(VPN)连接到(如企业)内联网。
  • 外联网:如一个企业或商业机构希望建立一个网络,其中包含可供合作伙伴或其他相关公司通过Internet访问的服务器。这种涉及VPN的网络通常被称为外联网。
  • 虚拟专用网(VPN)

1.5 设计应用

1.5.1 客户机/服务器模式

大多数网络应用被设计成一端是客户机,另一端是服务器。服务器为客户机提供某类服务,例如访问服务器主机中的文件。可以将服务器分为两类:迭代和并发

迭代

I1: 等待客户机请求到达。
I2: 处理客户机请求。
I3: 将响应发送给请求的客户机。
I4: 回到步骤I1。

并发

C1: 等待客户机请求到达。
C2: 启用一个新服务器实例来处理客户机请求。(这可能设计创建一个新的进程、任务或线程,它依赖于底层操作系统的支持)
这个新的服务器处理一个客户机的全部请求。当请求的任务完成后,这个新的服务器终止。同时,原有服务器实例继续执行C3。
C3: 回到步骤C1。

1.5.2 对等模式

有些应用以更分布式的形式设计,其中没有专门的服务器。每个应用既是客户机,又是服务器,有时同时是两者,并能转发请求。这种应用称为对等P2P应用。一组P2P应用共同形成一个应用网络,也称为覆盖网络

1.5.3 应用程序编程接口(API)

1.6 标准化进程

1.7 实现和软件开发

1.8 与Internet体系结构相关的攻击

  • 欺骗Internet体系结构交付数据报是基于目的IP地址。因此,恶意用户能在自己发送的每个IP数据报的源地址字段中插入任何IP地址,这种行为称为欺骗。(难以确定接受的数据报来源/真实来源
  • 拒绝服务(DoS):涉及消耗大量的重要资源,以导致合法用户被拒绝访问。
  • 未授权访问:涉及以未授权方式访问信息或资源。可以采用多种技术实现。
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页