IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP/IP 详解(第二版) 笔记 / 1 介绍 / 1.3 TCP/IP 协议栈的架构与协议 / 1.3.1 ARPANET 参考模型 -> 正文阅读

[网络协议]TCP/IP 详解(第二版) 笔记 / 1 介绍 / 1.3 TCP/IP 协议栈的架构与协议 / 1.3.1 ARPANET 参考模型

目录


1.3.1 ARPANET 参考模型

图 1-5 描绘了 ARPANET 参考模型鼓励使用的分层方案,这个方案最终被 TCP/IP 协议栈采用
这个方案的结构比 OSI 模型简单

从图 1-5 的底部向上看,低一层为 2.5 层,是一个 “ 非官方的 ” 层
这一层有多个协议,其中最重要的一个协议被称为地址解析协议Address Resolution Protocol (ARP)),它也是最古老的协议之一
这个协议与 IPv4 一起使用,并且只能与多路访问(multi-access)链路层协议(如以太网、Wi-Fi)一起使用
专门用来转换 IP 地址与链路层地址
ARP 会在第 4 章讲到
IPv6 中的地址映射功能是 ICMPv6 的一部分,会在第 8 章讲到
Figure 1-5 中文

图 1-5
互联网使用的,基于 ARM(ARPANET 参考模型)或 TCP/IP 协议栈的协议分层
与官方的分层模型相比,少了会话层与表示层
多了一些还无法完全对应到标准分层模型中的 “ 附属 ” 或助手协议,协助其它协议完成一些关键功能
其中一些在 IPv6 中没有使用(如:IGMP、ARP)

如图 1-5,IP 协议在第 3 层(第 5 章会详细介绍)
IP 发送给链路层协议的 PDU 被称为 IP 数据报IP datagram),大小为 64 KB(IPv6 最大为 4 GB)
在上下文清楚的情况下,可以用数据包packet)指代 IP 数据报
链路层的 PDU 叫做frame
当一个网络层的 IP 数据报大于链路层的一个帧能携带的最大长度时,需要用分片fragmentation)功能对 IP 数据报进行切分
IP 主机具备分片功能,如有必要,一些路由器也可以实现这个功能
分片功能将 IP 数据报切分为更小部分,这些部分称为分片fragment
分片到达目的地后会被重组reassembly)为原来的数据报
第 10 章会讨论分片

每个 IP 数据报中都同时含有 3 层发送者与接收者的地址
这些地址被称为 IP 地址IP address),IPv4 的地址为 32 位,IPv6 的地址为 128 位
每个数据报中的目的地地址用来决定数据报向哪里发送
判断往哪里发送的过程与将数据报发送至下一跳的过程被称为转发forwarding
路由器与主机都能执行转发,一般来说路由器执行得更频繁
有 3 种类型的 IP 地址,IP 地址类型决定了转发的方式

  1. 单播unicast)(发送至单独的主机)
  2. 广播broadcast)(发送至某个特定网络中的所有主机)
  3. 组播(multicast)(发送至属于同一个组播组的所有主机)
    第 2 章会详细介绍

互联网控制报文协议Internet Control Message Protocol (ICMP))是一个 IP 协议的附属协议,我们将其标注为 3.5 层协议
IP 层用 ICMP 协议来与其它主机或路由器上的 IP 层交换错误信息以及其它的重要信息
ICMP 有两个版本:ICMPv4 对应于 IPv4,ICMPv6 对应于 IPv6
ICMPv6 比 ICMPv4 复杂得多,包括了地址自动配置与邻居发现功能,在 IPv4 中这些功能由其它协议(如:ARP)完成
虽然 ICMP 主要是 IP 协议在使用,但应用程序也可以使用它
两个著名的诊断工具 pingtraceroute 就实现了 ICMP 协议
ICMP 报文被封装在 IP 数据报中,就和传输层的 PDU 一样

互联网组管理协议Internet Group Management Protocol (IGMP))是 IPv4 的另一个附属协议
提供组播寻址与交付功能,管理哪些主机属于组播组multicast group)的成员(接收发往某个特定组播目的地址的流量的一组接收者)
我们在第 9 章讨论广播与组播的一般属性(与 IGMP 一起)
以及组播侦听者发现Multicast Listener Discovery)协议 (MLD, 与 IPv6 一起使用)

第 4 层上有两种最常见的互联网传输层协议,TCP 与 UDP,它们的区别很大
最广泛使用的传输控制协议Transmission Control Protocol (TCP))用于处理包丢失、重复、重排序之类的 IP 层没有修复的问题
TCP 以面向连接的(VC)的形式工作,不保存消息边界
相对来说用户数据报协议User Datagram Protocol (UDP))就简单很多了
它的作用是让应用程序发送可以保存消息边界的数据报,但没有速率控制与差错控制功能

TCP 提供了两个主机之间的可靠数据流量,它会做下面这些事情:

  • 为网络层把应用程序传递给它的数据分成适当大小的数据块
  • 确认收到了数据包
  • 为了判断对方是否已经收到了发送的数据包,为对方的确认回复设置超时时间

因为传输层提供了可靠的数据流,所以应用层可以忽略这些细节
TCP 发送给 IP 的 PDU 被称为 TCP 段TCP segment

UDP 为应用层提供的服务要简单得多
它允许将数据报从一个主机发送至另一个主机,但不保证数据报能成功到达,可靠性只能靠应用层实现
UDP 所做的就是为多路复用与解复用提供一个端口号集合,加上一个数据完整性校验和
UDP 与 TCP 虽然在同一层,却有着根本的不同

有两个相对较新的传输层协议,因为还没有被广泛采用因此不做深入讨论,但有必要知道它们的存在

  1. 数据拥塞控制协议Datagram Congestion Control Protocol (DCCP))[RFC4340]
    通了一个介于 TCP 与 UDP 之间的服务:提供面向连接的不可靠数据报交换能力,能进行拥塞控制
    拥塞控制包含多项技术,发送者靠这些技术来限制发送速率,避免网络超负荷

  2. 流控制传输协议Stream Control Transmission Protocol (SCTP))[RFC4960]
    SCTP 和 TCP 一样提供可靠交付,但不会严格保持数据的顺序
    与 TCP 不同的是,SCTP 允许一个连接上有多个逻辑流,并提供了一个消息抽象
    设计 SCTP 是为了在 IP 网络上携带类似在电话网络中使用的信号消息


目录

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-03 12:18:17  更:2021-09-03 12:18:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:47:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码