互联网早期的进化完成了复杂性向主机侧的收敛。

互联网(典型的早期原型就是著名的阿帕网)一开始只是申明了一种理想,但却从未被真正设计过,计算机被简单连接在一起,意味着连接不同的计算机就需要不同的接口:

IMP(接口信息处理机,下图中以R表示)开始将复杂性逐步收敛到端主机,使网络中心趋于简单,使互联网终成一根弦连接两个罐子的结构:

接口数量明显减少,R互联的核心网络(通信子网)与边缘网络(资源子网)分开,核心网络只需要一种标准接口,网络屏蔽了主机的异构。

作为存储转发网络,IMP提供buffer可靠暂存主机数据,然而若一台主机故障导致数据无法接收,IMP将会被塞满,最终链路不可用,这便是著名的死锁问题。

端到端的TCP协议将buffer管理推到主机,实施端到端流控而无需IMP参与,其重传机制使IMP彻底无状态化,仅实施尽力而为的存储转发,实在存不下了就丢包。

此时的IMP已经成了真正的路由器。

关键的进化来自于IP协议从TCP协议中的分离,即TCP/IPv3。而这次分离恰恰是在软件层面表征了简单的核心网络和复杂的主机网络这个已经形成的结构,促成了TCP/IP的最终胜利。

IP负责核心网络的尽力而为逐跳转发,而TCP则负责端到端的传输控制,再分离一个UDP在传输层复制IP协议的语义,这便是完美的TCP/IPv4,就是我们经常说的IPv4。

至此,TCP/IP网络终于实现了最初的理想,即分布式,统计复用,存储转发,分组交换的可以抗核打击的网络。

从此,所有事情均发生在这张网上,特别值得一提的是TCP拥塞控制,以及最近移动互联网场景拉胯的弱网传输,这些事情后面再说,本文的重点在于互联网的根基是如何形成的,TCP/IP最初是什么样子,它们背后的思想如何影响现在传输优化的思路。

浙江温州皮鞋湿,下雨进水不会胖。

夜谈TCP/IP网络相关推荐

  1. server2008网卡驱动包_从网卡发送数据再谈TCP/IP协议—网络传输速度计算-网卡构造...

    在<在深谈TCP/IP三步握手&四步挥手原理及衍生问题-长文解剖IP>里面提到 单个TCP包每次打包1448字节的数据进行发送(以太网Ethernet最大的数据帧是1518字节,以 ...

  2. 在深谈TCP/IP三步握手四步挥手原理及衍生问题—长文解剖IP

    如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...

  3. TCP/IP网络协议详解

    一. 计算机网络体系结构分层 一图看完本文 计算机网络体系结构分层 计算机网络体系结构分层 Frame:   物理层的数据帧概况 Ethernet II: 数据链路层以太网帧头部信息 Internet ...

  4. 再深谈TCP/IP三步握手四步挥手原理及衍生问题—长文解剖IP

    转载地址: https://www.zhoulujun.cn/html/theory/ComputerScienceTechnology/network/2015_0708_65.html 如果对网络 ...

  5. TCP/IP网络协议的通俗理解,socket,http,soap。

    前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没弄清楚.后来我花了一些时间去了解这些网络协议,现在对TCP/IP网络 ...

  6. TCP/IP 网络数据封包和解包

    这是一个网上的代码:下面列出资料并简略分析代码: TCP/IP 网络数据封包和解包  .   TCP/IP 网络数据以流的方式传输,数据流是由包组成,如何判定接收方收到的包是否是一个完整的包就要在发送 ...

  7. 高等学校计算机科学与技术教材:tcp/ip网络编程技术基础,TCP/IP网络编程技术基础...

    TCP/IP网络编程技术基础 语音 编辑 锁定 讨论 上传视频 <TCP/IP网络编程技术基础>是2012年北京交通大学出版社出版的图书,作者是王雷. 书    名 TCP/IP网络编程技 ...

  8. TCP/IP网络编程之基于TCP的服务端/客户端(二)

    回声客户端问题 上一章TCP/IP网络编程之基于TCP的服务端/客户端(一)中,我们解释了回声客户端所存在的问题,那么单单是客户端的问题,服务端没有任何问题?是的,服务端没有问题,现在先让我们回顾下服 ...

  9. TCP/IP网络协议栈面试经典题目

    目录 面试官:看你简历说精通TCP和IP,那我们来讨论下网络模型和TCP.IP协议,讲下你的理解先 面试官:看你画的图,TCP有自己的首部结构,这都有哪些字段,最好说说它们的作用 面试官:那TCP和U ...

最新文章

  1. ui设计的文字怎样提高设计感呢?
  2. 通过ping命令测试主机与虚拟机之间是否连通
  3. 上的网页显示拒绝访问_DLink家庭路由器上发现6个漏洞
  4. 【关键词提取】第二篇:数据集、实现代码介绍
  5. windows中运行qt5构建的程序提示 无法启动此程序,因为计算机中丢失qt5Cored.dll 解决方法
  6. 第二十四章 异常和错误处理 1异常
  7. linux系统 date命令,linux系统 的 date命令
  8. 管理新语:别人反映问题,你要形成自己的材料
  9. 怎样修改MTK Scatter 文件
  10. 什么是代理服务器,代理ip池芝麻
  11. git仓库服务器SSH认证示例
  12. 快递e栈控制台版实现心得
  13. 一款功能强大的开源excel在线表格
  14. java实现记账本功能_java基础实战项目一:实现家庭记账本的简易记账功能
  15. DialogUtils 弹出窗工具类
  16. Inverse/Reverse/Converse的辨异
  17. 领英发错的消息可以撤回吗?
  18. 情感分析的新方法,使用word2vec对微博文本进行情感分析和分类
  19. elasticSearch Analysis Token Filters作用及相关样例
  20. 运动规划,路径规划和轨迹规划的关系(补充路径跟踪和轨迹跟踪)

热门文章

  1. 泛在电力物联网即将落地,这对数据有何要求?
  2. 数据序列化与传输 Protocal Buffers 与flatbuffer选型对比
  3. 【一通百通】C/C++的std标准总结
  4. 求学时代的一本数据库老书,谢谢你的陪伴!
  5. C/C++程序的断点调试 - Microsoft Visual Studio
  6. APP - 一个设置,让微信聊天背景清晰10倍
  7. 异贝,通过移动互联网技术,为中小微实体企业联盟、线上链接、线上线下自定义营销方案推送。案例23
  8. 大厂派发的开门红包已经将我杀死在不想上班的路上了!
  9. 公认最搞笑的15则冷笑话
  10. 二、Vue(发送AJAX请求、Vue生命周期、计算属性、属性和方法、自定义指令、过渡(动画))