美文网首页
Problems 关于 TCP

Problems 关于 TCP

作者: 李伟13 | 来源:发表于2020-05-09 23:31 被阅读0次

一个网页图像传输时.TCP将其划分为长度为MSS(Max segment size)的若干块,(最后一块除外,一般小于MSS)

  • 16位端口号:标示该段报文来自哪里(源端口)以及要传给哪个上层协议或应用程序(目的端口)。进行tcp通信时,一般client是通过系统自动选择的临时端口号,而服务器一般是使用知名服务端口号或者自己指定的端口号。

  • 32位序号(sequenc enumber):一次TCP通信(从TCP连接建立到断开)过程中某一个传输方向上的字节流的每个字节的编号。假设主机A和主机B进行TCP通信,A发送给B的第一个TCP报文段中,序号值被系统初始化为某个随机值ISN(Initial Sequence Number,初始序号值)。那么在该传输方向上(从A到B),后续的TCP报文段中序号值将被系统设置成ISN加上该报文段所携带数据的第一个字节在整个字节流中的偏移。例如,某个TCP报文段传送的数据是字节流中的第1025 ~ 2048 字节,那么该报文段的序号值就是ISN+1025。另外一个传输方向(从B到A)的TCP报文段的序号值也具有相同的含义。
    主机开启TCP会话,初始序列号随机在 0~2^32 - 1(4294967295)之间.

  • 32位确认号(acknowledgement number):用作对另一方发送来的TCP报文段的响应。其值是收到的TCP报文段的序号值加1。假设主机A和主机B进行TCP通信,那么A发送出的TCP报文段不仅携带自己的序号,而且包含对B发送来的TCP报文段的确认号。反之,B发送出的TCP报文段也同时携带自己的序号和对A发送来的报文段的确认号。
    例子1
    主机A与主机B通信,假设主机A已收到主机B 0~535的所有字节,然后它要发一个报文段给B,那么就会在确认号填上536.
    例子2
    主机A收到了0~535 和9001000的报文段,还没有收到536899报文段,这时报文段确认字号仍为536.
    像例子2中失序报文段的处理
    实践中选择接收方保留失序字节,并等待缺少的字节填补间隔这种方式.

  • 4位头部长度,标识该TCP头部有多少个32bit(4Byte) (一行8字节)(虽然实际传输中没有一行这样的说法),TCP头部最长是60Byte(2^4-1 = 15 15*4 = 60)

  • 六位标志位

  1. URG(urgent pointer)标志,表示紧急指针是否有效。
  2. ACK(acknowledge)标志,表示确认号是否有效,一般称携带ACK标志的TCP报文段为“确认报
    文段”。
  3. PSH(push)标志,提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接收后
    续数据腾出空间(如果应用程序不将接收到的数据读走,它们就会一直停留在TCP接收缓冲
    区中)。
  4. RST标志,表示要求对方重新建立连接,一般称携带RST标志的TCP报文段为“复
    位报文段"。
  5. SYN(Synchronize Sequence Numbers)(同步序列编号)标志,表示请求建立一个连接,一般称携带SYN标志的TCP报文段为“同步
    报文段”。
  6. FIN标志,表示通知对方本端要关闭连接了,一般称携带FIN标志的TCP报文段为
    “结束报文段”。
  • 16位接收窗口字段,用于流量控制.用于指示接收方本端愿意接受的字节数量

  • 16位校验和,对TCP的头部和数据部分使用CRC算法进行校验.保证TCP可靠传输.

  • 16位紧急指针( urgent pointer): 是-一个正的偏移量。它和序号字段的值相加表示
    最后一个紧急数据的下一字节的序号。因此,确切地说,这个字段是紧急指针相对当前序号
    的偏移,不妨称之为“紧急偏移”。TCP的紧急指针是发送端向接收端发送紧急数据的方法。
    我们将在后面讨论TCP紧急数据。

三次握手和四次挥手

TCP状态流转图

TCP建立连接

在建立连接的时候,通信的双方要互相确认对方的最大报文长度(MSS),以便通信。一般这个SYN长度是MTU减去固定IP首部和TCP首部长度。对于一个以太网,一般可以达到1460 Byte。当然如果对于非本地的IP,这个MSS可能就只有536 Byte,而且,如果中间的传输网络的MSS更加的小的话,这个值还会变得更小。

三次握手 SYN洪泛攻击

SYN cookie[RFC 4987]部署在主流操作系统之中

如何随机选择初始序号

[CERT 2001-09]

相关文章

  • Problems 关于 TCP

    一个网页图像传输时.TCP将其划分为长度为MSS(Max segment size)的若干块,(最后一块除外,一般...

  • 关于inversed eigenvalue problems

    概述一下问题:使用等谱流方法(isospectral flow method)求解逆谱问题。即给定一个矩阵的本征值...

  • 关于“TCP segment of a reassembled

    关于“TCP segment of a reassembled PDU” 标签:TCP segment of a ...

  • 网络系列1 TCP/IP协议簇

    参考:关于TCP/IP https://www.jianshu.com/p/a3a1ff562468关于TCP/I...

  • 关于TCP

    互联网协议族(Internet Protocol Suite,缩写IPS)是一个网络通信模型,以及一整个网络传输协...

  • 关于tcp

    tcp的特点 三次握手 四次挥手 可靠连接 丢包重传 但是最核心的:tcp是可以可靠传输协议,它的所有特点都为这个...

  • problems

    WebSocket、HTML、WebGL、客户端数据库 https://threejs.org http://ww...

  • problems

    ∮昨天演讲比赛结果出来了,不出所料。也许是准备不够充分的锅吧,或许也是思想不够深刻?被嘉宾学姐点名表扬的人,说真我...

  • Problems

    zsh报corrupt history file /home/ccsexyz/.zsh_history暴力删除之

  • problems

    i know there are so many problems in our life and anyone ...

网友评论

      本文标题:Problems 关于 TCP

      本文链接:https://www.haomeiwen.com/subject/pomknhtx.html