深入理解 TCP 协议:TCP_IP 历史与分层模型

深入理解 TCP 协议:TCP_IP 历史与分层模型

    • 目标
    • 一、TCP/IP 协议栈历史背景
    • 二、TCP/IP 网络分层
    • 三、习题

目标

  • 了解 TCP/IP 协议历史
  • 理解 TCP/IP 协议分层
  • 使用 wireshare 抓包,查看网络分层

一、TCP/IP 协议栈历史背景

1969 年,当时 Intent 是美国国防部高级研究计划局(Advanced Research Projects Agency,ARPA)研究的非常小的网络,被称为 ARPANET(Advanced Research Projects Agency Network)
担心敌人摧毁通信网络,于是下决心建立一个高可用网络,即使部分线路或交换机的故障,也不会导致整个网络瘫痪,于是 ARPA 建立了著名的 ARPANET

ARPANET 最早只是一个单个的分组交换网络,后来发展成多个网络的互联技术,促成了互联网的出现

1983 年,TPC/IP 协议成为 ARPANET 上的标准协议,使得所有用 TCP/IP 协议的计算机都能互联,因此 1983 年是互联网诞生的元年

TCP/IP 协议族指在 IP 协议通信过程中用到的协议的统称

二、TCP/IP 网络分层

应用层:规定了应用程序之间如何相互传递报文
传输层:为两台主机之间的应用进程提供端到端的逻辑通信,并不是真的将数据包从一台主机传送到另一台,而是对传输行为进行控制(重传、流量控制、拥塞控制等)
网络互联(网络)层:提供了主机到主机的通信,将传输层产生的数据报封装成分组数据包,发送到目标主机,并提供路由选择的能力
网络访问(MAC)层:提供了主机连接到物理网络需要的硬件和相关的协议

分层好处

  • 各层独立
    各层之间使用标准化的接口,不管具体实现
  • 更灵活
    路由器不需要应用层和传输层,可以没上层,但必须有下层
  • 易于测试和维护
  • 利于标准化
    每一层职责清晰,方便进行标准化

三、习题

① 收到 IP 数据包解析以后,它怎么知道这个分组应该投递到上层的哪一个协议(UDP 还是 TCP)?
解:IP 头中有个字段 protocol 可用来表示上层用的哪个协议,TCP(6),如下图:
深入理解 TCP 协议:TCP_IP 历史与分层模型_第1张图片
Ethernet II:网络接口层,以太网帧头部信息
Internet Ptotocol Version 4:互联网层,IP 包头部信息
Transimission Control Protol:传输层,数据段头部信息
Hypertext Transfer Protocol:应用层 HTTP 协议

你可能感兴趣的:(深入理解,TCP,协议:从原理到实战,TCP)