最后更新:2022-04-28 18:04
国际标准化组织(标准化组织)开发了开放系统互联参考模型(OSI)。
OSI利用分层技术建立七层:
物理层、数据连接层、网络层、传输层、会话层、表达式层和应用层都是相互关联的。
虽然现场视察模式是精密和学术性的,但我们采用TCP/IP模式分为五层:
TCP/IP模型还提及物理层、数据连接层作为网络界面层,与此相对应的议定书称为TCP/IP四层协议模型)、网络层、传输层和应用层。


虽然TCP和UDP协定开始时有16位数的二进制,以记录港口数量和目的地的港口数量,但港口总数为216个=65536个,但使用0个港口代表所有港口,因此可进入的港口实际数量为65535个。
Netstastat- no 显示所有可用的端口号
netstat -ano | grep 3306
使用根用户 Linux 可以运行 Isof-i: 用于检查特定港口占用量的端口号 。
lsof -i:3306
显示 tcp、 udp 端口和程序等等 。
netstat -tunlp

服务端
源 IP 地址和端口都是变量 :
由于 IP 地址是32 位整数, 源 IP 只能是 32 位长 。
由于港口的整数是16位数,因此港口的数量是两个端数的第16位数。
第32边的2 (p) x 2, 第16边的2 (port) 等于 20 亿多。
原则上,我们每个服务器都可能获得20多亿个连接。
客户端
在针对客户的四方小组中,有三个可变组成部分,自然客户可同时维持的连接数量大大高于服务器。
最初握手:客户请求在1点前标出SYN符号。在用于报告的服务编号字段(Seq short)中,要求随机值为J。然后将数据包传送到服务器上。当客户进入SYN-SEN条件时,等待服务器端确认。
当服务器收到数据包时,请求标牌SYN=1确认客户正在寻求连接。在服务器上, SYN 和ACK 都分配到 1 。在致谢号字段中插入引用=J+1(简短),应对报告作出答复。在应对报告作出答复的以下各栏中,输入随机K值。为了确认连接请求,将数据包传送给客户。服务器端现已进入 SYN_RCVD 模式。
第三次握手:客户在收到答复时有机会投票。检查是否 Jack 是 J+1 。ACK是否为1,如果正确的话,将第三个ACK符号设为 1。ack=K+1,然后将数据包传送到服务器上。如果卡片是 K+1, 服务器端会检查它 。ACK是否为1,如果一切都是对的,连接成功建立。客户和服务器已到达创建状态。完成三次握手,此后,客户端和服务器之间可以交换数据。
为了保持这一状态,操作系统使用队列。
无效连接监视释放
这是追踪所有连接的方法包括三次握手的,还有握手一次的,反正是所有的,当达到某一特定(和)阈值时,将切断连接。从而释放系统资源。这种技术以同样的方式考虑所有连接。这是典型的,进攻性的, 和正常的不寻常的,进攻性的, 和正常的。因此,没有建议采用这种方法。
延缓TCB分配方法
在习惯的初始握手之后,服务器将需要为请求指定一个TCB(连接控制资源),通常需要200个字节以上。在正常连接形成时延迟分配TCB将有效地最大限度地减少使用服务器资源,使习惯的初始握手恢复正常。服务器将需要为请求指定一个TCB(连接控制资源),通常需要200个字节以上。在建立正常连接时延迟分配TCB将有效地最大限度地减少服务器资源的使用。
使用防火墙
在向内部服务器(听众)发送SYN请求之前,防火墙验证了连接。
TCP是一个可靠的传输控制协议,三个握手是可靠数据传输可能提高传输效率的最起码次数。 RFC793, 通常称为TCP协议,提到RFC中所述的理由,因为:
为确保可靠的数据传输,TCP议定书的双方必须保留一个序列号,以确定对方以前曾收到哪些数据包。
例如:发送者传送包件(假设10字节大小),同时,已发送一个序列号(500号)。因此,当将数据包送交收件人时,"我已经收到你的数据包了 我给了你一个确认号码 (510=500+10) 通知发件人您可自由发送下一个数据包 。"从511开始的序号 "
双方必须进行三次握手,才能相互告知序列号起始值,并确认对方收到了序列号起始值。
如果你只握手两次, 只有第一个连接提案国的序列号才会被验证, 而对方所选的序列号将被忽略 。
在三次握手之后,可以明显看出,通信双方都理解对方序号的初始价值,并确认对方知道其序号的起始价值,因此,第四次握手是多余的。
当 TCP 连接中断时, 共需要客户和用户验证断开连接的服务提供四个包。 在套接字程序程序中, 程序由客户或服务端执行关闭的用户启动 。
由于TCP连接是全时的,每个方向都必须独立关闭。 主动关闭由第一当事方进行,被动关闭由第二当事方进行。
如上图所示,TCP要求三个分节建立连接,四个分节终止连接。
(1) 申请过程最初是要求关闭,我们称之为“主动关闭”,TCP为此提供了FIN部分,表明数据已发送,申请过程已进入FIN-WAIT-1(终端等待1)。
(二) 在FIN结束时,被动,发出确认报文。由于FIN的接收表明,接收的最终申请程序没有通过连接接收的进一步数据。接收者的地位已改为CLOSE-WAIT(近距离等待)。这是一个半封闭期。在主动关闭端, 没有进一步的数据可以发送 。另一方面,如果被动关闭端发送数据活动关闭结束仍然可以使用 。目前的状况将持续一段时间。也就是说,CLOSE-WAIT状态的长度。在主动关闭端收到确认信息后输入 FIN-WAIT-2(终止等待 2) 。
(3) 在固定时间之后,被动关闭申请程序将关闭并关闭它,这导致其TCP交付了一个FIN, 表明它没有数据在固定时间之后发送通信,被动关闭申请程序将关闭并关闭它,从而导致其TCP交付了一个FIN, 表明它没有数据要发送。
(4) FIN最后发件人发件人TCP(即主动关闭结束)的收件人承认FIN发送了ACK确认信。它也在时间-时间等待(等待)中。似乎TCP的连接还没有被放弃2MSL(最大生命期/最大部分生命期的最大生命期),MSL是任何IP数据报告可在互联网上使用的最大时间。每个TCP的实现都必须选择MSL值。RFC 1122 [Braden 1989] 建议2分钟。尽管如此,Berkelcy的成就一般已改变为30秒值。这意味着时间-WAIT条件持续1至4分钟。当相关的 TCB 退出运行关闭时,我们只是现在处于封闭状态。
(5) 被动关闭停止一旦收到客户的确认即进入关闭状态,类似地,TCB的退出终止了TCP的连接,从可以看到,被动关闭结束终止TCP的连接比主动关闭结束早。
因为每个方向都需要FIN和ACK因此,往往需要四个部分。我们列入限定词“通常”是因为第1步FIN有时随有效载荷一起传输;此外,步骤2和步骤3分节是从实施被动关闭这一目的中发出的。并入分章是一种选择。
TCP是一种全时双重工作连接,必须在两端关闭,然后才能完全关闭。
如果其中一方愿意签署该文件,但是,它可以读取另一方传送的数据。这篇文章是全球之声在线特稿的一部分。对方收到后,回复ACK报文。派对结束后 是时候说好话了发送FIN报文,对方回复ACK。两端都关闭,TCP 连接已终止 。
时代-WAIT状态的产生有两个目的。
1. TCP连接被可靠地终止。
2. 为发现和删除迟交的TCP报告提供足够的时间。
看看时间等待的数量 :netstat -ant | grep TIME_WAIT | wc -l
本文由 在线网速测试 整理编辑,转载请注明出处。