译者注:很久没有翻译文章了,最近在网络看到这篇介绍网络栈的文章非常详细,正好最近在看这方面的内容,索性翻译过来。因为很多文章比较长,而且很多内容比较专业,翻译过程中难免会有错误,如果读者发现错误,还望不吝指出。文章中 Linux 内核源码摘自哪个版本原文并没有表明,我也没有找到对应的版本,代码的缩进可能会有问题。

原文地址:https://www.cubrid.org/blog/understand...

Continue reading >>

在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱序。但我在查阅了当前很多资料后发现,它们大多只简单介绍了TCP通讯的过程,并没有对序列号和确认号进行详细介绍,结合实例的讲解就更没有了。近段时间由于工作的原因,需要对TCP的序列号和确认号进行深入学习,下面便是我学习后的一些知识点总结,希望对TCP序列号和确...

Continue reading >>

1.png

◎目录

Ø 协议地图... 1

Ø ARP/RARP报文格式... 2

Ø VLAN帧格式... 5

Ø IP报文格式... 7

Ø TCP报文格式... 12

Ø UDP报文格式... 21

Ø DHCP报文格式... 22

Ø DNS报文格式... 29





[real3dflipbook id="27"]

1. TCP/IP参考模型

  • 传输控制协议(TCP)

    面向连接、可靠传输、支持流控及窗口机制(HTTP、FTP等)

  • 用户数据报协议(UDP)

    无连接、尽力而为的传输、无流控及窗口机制(TFTP、DNS、DHCP等)

  • 端口号

    逻辑端口,可用范围为1-65535,用来区分主机服务,源端口随机分配(一般为系统中未使用的且大于1023),目标端口号使用知名端口(服务端应用服务的进程接口,如HTTP 80端口)。


2. T...

Continue reading >>

  •  TCP header

image.png

  • TCP半连接和全连接

tcp-sync-queue-and-accept-queue-small-1024x747.jpg

  • TCP三次握手、四次挥手详解

  • tcp-connection-made-three-way-handshake.pngtcp-connection-closed-four-way-handshake.png

    Seq=x Len=y ACKnum=x+y,上图取len=1的情况,这样可以检测是否丢包。

    TCP的功能:面向连接(三次握手+四次挥手)、可靠传输(序列号+确认号)、流控(滑动窗口)、多路复用(套接字Socket: ip+port)

image.png

blob.png

Continue reading >>