博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP digest
阅读量:6203 次
发布时间:2019-06-21

本文共 596 字,大约阅读时间需要 1 分钟。

TCP在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data Link层,在第二层上的数据,我们叫Frame,在第三层上的数据叫Packet,第四层的数据叫Segment。   首先,我们需要知道,我们程序的数据首先会打到TCP的Segment中,然后TCP的Segment会打到IP的Packet中,然后再打到以太网Ethernet的Frame中,传到对端后,各个层解析自己的协议,然后把数据交给更高层的协议处理。

 

你需要注意这么几点:

  • TCP的包是没有IP地址的,那是IP层上的事。但是有源端口和目标端口。
  • 一个TCP连接需要四个元组来表示是同一个连接(src_ip, src_port, dst_ip, dst_port)准确说是五元组,还有一个是协议。但因为这里只是说TCP协议,所以,这里我只说四元组。
  • 注意上图中的四个非常重要的东西:
    • Sequence Number是包的序号,用来解决网络包乱序(reordering)问题。
    • Acknowledgement Number就是ACK——用于确认收到,用来解决不丢包的问题
    • Window又叫Advertised-Window,也就是著名的滑动窗口(Sliding Window),用于解决流控的
    • TCP Flag ,也就是包的类型,主要是用于操控TCP的状态机的

转载地址:http://tqmca.baihongyu.com/

你可能感兴趣的文章
64bit ubuntu 移植 arm-linux-gcc 4.3.2 版本出错
查看>>
对象映射工具AutoMapper介绍
查看>>
括号字符串
查看>>
解决Android调用https服务API时出错的问题
查看>>
MyBatis3学习--来源自用户指南
查看>>
@Select注解的情况下,重载的报错
查看>>
移动距离——第六届蓝桥杯C语言B组(省赛)第八题
查看>>
磁砖样式——第八届蓝桥杯C语言B组(国赛)第二题
查看>>
代码度量工具——SourceMonitor的学习和使用
查看>>
对JavaScript的认识?
查看>>
hdu 1503 Advanced Fruits 最长公共子序列 *
查看>>
Altium designer Silkscreen Over Component Pads
查看>>
Rsa2加密报错java.security.spec.InvalidKeySpecException的解决办法
查看>>
RESTful_简介
查看>>
1112 评论博客
查看>>
自动化测试实施(5)
查看>>
传输控制协议TCP
查看>>
小型调度思考
查看>>
UVA 111-History Granding
查看>>
MOOON-scheduler问题讨论:消息如何传递回去和主动发送出去?
查看>>