Tcp的实现机制(它是如何具体跑起来的?)

控制计算机的运行,就看两个东西:1、每个cpu周期都是有意义且高效的吗?2、每个内存请求都能得到满足吗?

做到第一点就看程序写得怎么样算法怎么样会不会导致系统空转或低效。第二点就看内存规划使用得怎么样?说到底就是要控制系统的状态。不让系统失序,永远把它控制在受管理状态。所以要有状态机的思想。

Tcp有状态机,我们不用担心它的状态管理。我们需要担心的是我们自己的“状态”。比如网线断了系统会不会做出一些出格或离谱的举动。会不会影响数据安全?会不会影响业务安全?如果是医疗器械,会不会影响人身安全,如果是金融系统,会不会影响资金及银行,用户资料安全?我们需要严格控制程序只在它的自责范围内做事情。要严格限制程序的语义(后果),最小化程序的“职责”。不让它输出任何不是其职责范围的东西或影响。

我们需要关心的永远是程序的输出(特性)。这个是哲学,是正确的思维范式。绝不能为了小利丢了大局。抓了芝麻丢了西瓜。

Tcp的数据单元是数据段-segment。tcp基于这个做它的传输服务。一个数据段就是一个ip包。所以一个数据段相当于一个udp数据报。但是不能把它们等同于Ip包。因为ip包不是tcp/Udp层的处理对象。tcp,udp层的处理对象分别是segment与datagram,是自己的东西。滑动窗口,慢启动,一切流措施都是基于segment发明的,segment是基本的数据单元。是tcp的“原子”。

数据流向:线路比特->网卡数据帧(单元)->ip协议->tcp协议 |-> 进程(即用户区内存)。

Tcp具有非常强的流控制能力。要调整网络性能光调一端不行。主要是要处理它的错误。


转载于:https://my.oschina.net/digerl/blog/211921

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值