计算机网络-网络互连和互联网(四)

1.TCP协议:

  • 传输控制协议,面向字节流按顺序连接,可靠,全双工,可变滑动窗口,缓冲累积传送。协议号为6
  • 下面是TCP段(段头),TCP头(传输头),TCP包头(报头)格式:

  •  TCP协议中几个重要字段
  1. 源端口、目的端口:16位,2^16(0~65535) 
  2. URG:紧急指针有效
  3. ACK:应答顺序号有效
  4. PSH:推进功能有效
  5. RST:复位为初始状态
  6. SYN:建立同步连接
  7. FIN:结束释放连接
  8. 校验和:包括TCP段头、数据、伪段头

2.TCP端口:

连接不同的程序,常用协议端口号。更多协议端口,如下图:

3.TCP三次握手:防止产生错误的连接。

 

4.TCP拥塞控制:

报文到达速率大于路由器的转发速率,产生拥塞。解决方法有:

  • 重传计时器

        超时重传计时器,重传是保证TCP可靠的重要措施。TCP每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的时间到了,但还没有收到确认,就重传这一报文段。

        重传时间要设置的合理,一般和往返时间、平均时延、时间偏差等有关。大多数采取观察最近一段时间的报文时延来估算往返时间。

  • 慢启动(慢开始)

        慢启动,发送方在接收到确认之前逐步扩大窗口的大小。1、2、4、8等按指数规律翻倍,最后达到门限阈值。出现超时,将拥塞窗口回到1,再次开始慢启动。

  • 拥塞避免

        拥塞避免,窗口达到门限阈值以后,进入拥塞避免阶段,TCP采用线性增加方式放大窗口,按照+1递增。发生拥塞,门限阈值减半。再发生再减半。按指数规律成倍减半

  • 快速重传

        快速重传,发送端一连收到3个重复的ACK,就重传,不等计时器。

  • 可变滑动窗口
  • 选择重发ARQ
  • 总结:差错控制、流量控制、拥塞控制 

5.UDP协议:

  • 用户数据报协议,无连接的、不可靠的、不保证顺序的、无差错流控机制。校验和包括:UDP头部、数据、伪头部。协议号为17
  • UDP报文格式如下:少量传输数据,高层程序负责解决数据排序、差错控制等。开销小(头部8个字节),网络管理常使用。

6.电子邮件协议:

SMTP简单邮件传输协议,负责将邮件上传到服务器,采用TCP的25端口C/S工作。仅传送ASCII码文本。 

7.电子邮件协议:

PGP电子邮件加密协议,包括加密、鉴别、签名和压缩等技术。使用IDEA(128位)加密数据,RSA加密密钥,MD5认证。 

PEM增强保密邮件协议,使用多种加密方式提供机密性、认证和信息完整性的因特网电子邮件协议,采用每个报文一次一密的方法加密。其他和PGP功能差不多。

8.文件传输协议:

FTP,负责文件通过服务器上下传送。采用TCP的两条连接:数据连接20端口,控制连接21端口,C/S工作。合法访问和匿名访问(anonymous)

 FTP,有主动模式(PORT/Standard)和被动模式(PASV/Passive)。区别是:服务器主动20传数据,被动随机端口。

9.远程登录协议:

Telnet,TCP/IP终端仿真协议,登录到远程主机上操作,网络虚拟终端NVT支持异构主机,采用TCP的23端口,C/S工作。使用命令telnet 192.168.1.254

 10.超文本传输协议:

HTTP,万维网WWW(Web)服务器提供全球的、分布的、动态的、多平台的、交互的、多媒体信息。TCP的80端口,B/S工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/417207.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【科研基础】小波变换

[1].参考开源库1:https://github.com/fbcotter/pytorch_wavelets Cotter, Fergal. Uses of complex wavelets in deep convolutional neural networks. Diss. 2020. [2].参考开源库2:https://github.com/brunobelloni/wran-sr-pytorch [3] F:\A\1.Code\3…

【GameFramework框架内置模块】7、事件(Event)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q7…

java工具类之解析地址

输出 代码实现 import java.util.regex.Matcher; import java.util.regex.Pattern;public class AddressResolutionUtil {/*** 解析地址* author ys* param address* return*/public static String addressResolution(String address){String regex"(?<province>…

Keepalived 双机热备基础知识

7.1 Keepalived 双机热备基础知识 Keepalived起初是专门针对LVS设计的一款强大的辅助工具&#xff0c;主要用来提供故障切换(Failover) 和健康检查査(Health Checking)功能一一判断LVS 负载调度器、节点服务器的可用性&#xff0c;及时隔离并替 换为新的服务器&#xff0c;当故…

从零开始学习Netty - 学习笔记 -Netty入门【ByteBuf】

5.2.4.ByteBuf ByteBuf 是 Netty 框架中用于处理字节数据的一个核心类。它提供了一个灵活而高效的方式来处理字节数据&#xff0c;适用于网络编程和其他需要处理字节数据的场景。 ByteBuf的特点 可扩展性&#xff1a; ByteBuf 支持动态扩容&#xff0c;可以根据需要自动增长容…

1978-2022年各省农业总产值数据(无缺失)

1978-2022年各省农业总产值数据(无缺失) 1、时间&#xff1a;1978-2022年 2、范围&#xff1a;包括全国31省 3、来源&#xff1a;国家统计J、统计NJ、各省NJ 4、指标解释&#xff1a;农业总产值是一定时期&#xff08;通常为一年&#xff09;内以货币形式表现的农、林、牧、…

【C#】忽略大小的替换字符串

结果 代码 string a"aAAAAAAaBBaaCC"; string b Strings.Replace(a, "a", "D", 1, -1, CompareMethod.Text);

学习大语言模型(LLM),从这里开始

在见识了ChatGPT的各种强大能力后&#xff0c;不少 NLP一线从业人员很自然地想到&#xff0c;以后开发者只要借助 ChatGPT&#xff0c;就可以做到现在大部分NLP工程师在做的事&#xff0c;比如文本分类、实体抽取、文本推理等。甚至随着大语言模型&#xff08;largelanguagemod…

面试数据库篇(mysql)- 07索引创建原则与失效及优化

索引创建原则 1). 针对于数据量较大,且查询比较频繁的表建立索引。 2). 针对于常作为查询条件(where)、排序(order by)、分组(group by)操作的字段建立索引。 3). 尽量选择区分度高的列作为索引,尽量建立唯一索引,区分度越高,使用索引的效率越高。 4). 如果是字符…

算法基础(三)(模拟)

1.模拟算法介绍&#xff1a; 模拟算法通过模拟实际情况来解决问题&#xff0c;一般容易理解但是实现起来比较复杂&#xff0c;有很多需要注意的细节&#xff0c;或者是一些所谓很“麻烦”的东西。模拟题一般不涉及太难的算法&#xff0c;一般就是由较多的简单但是不好处理的部…

buuctf_web_knife

题目&#xff1a; 哥们&#xff0c;名字叫白给的shell&#xff0c;嘻嘻。本题主要练习一下蚁剑工具 激动的心&#xff0c;颤抖的手&#xff0c;我打开了蚁剑。在空白处右击 然后&#xff0c;输入URL&#xff0c;密码&#xff08;所以上面说白给&#xff09;是Syc 添加后点进…

【Java程序设计】【C00322】基于Springboot的高校竞赛管理系统(有论文)

基于Springboot的高校竞赛管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的高校竞赛管理系统&#xff0c;本系统有管理员、老师、专家以及用户四种角色&#xff1b; 管理员&#xff1a;首页、个人中心、管…

1 数据分析概述与职业操守

1、 EDIT数字化模型 E——exploration探索 &#xff08;是什么&#xff09; 业务运行探索&#xff1a;探索关注企业各项业务的运行状态、各项指标是否合规以及各项业务的具体数据情况等。 指标体系——目标&#xff08;O&#xff09;、策略&#xff08;S&#xff09;、指标&a…

jenkins插件下载失败bug

如果遇到安装jenkins插件经常失败并报以下类似错误&#xff0c;很可能是因为jenkins国外官方插件地址下载速度非常慢&#xff0c;我们可以修改为国内插件地址。 java.io.IOException: Failed to load: SCM API Plugin (scm-api 676.v886669a_199a_a_) - Jenkins (2.361.4) or h…

cmake如何将源文件按照指定的组织方式进行分组,在IDE例如vistual stdio或者xcode项目工程文件中展示和管理这些源文件

1、我们先来看下面的一个项目的结构 TestGroup工程下面的main.cpp同级的有两个文件夹&#xff0c;到时候我们想在IDE比如xcode或者visual stdio2019中也显示这样的结构怎么弄呢(答案是用cmake中的source_group函数) 2、假如没有用source_group生成的xcode工程是怎么样的&#…

map和set的简单介绍

由于博主的能力有限&#xff0c;所以为了方便大家对于map和set的学习&#xff0c;我放一个官方的map和set的链接供大家参考&#xff1a; https://cplusplus.com/ 在初阶阶段&#xff0c;我们已经接触过STL中的部分容器&#xff0c;比如&#xff1a;vector、list、deque&#x…

2.29作业

1.编写链表&#xff0c;链表里面随便搞点数据 使用 fprintf 将链表中所有的数据&#xff0c;保存到文件中 使用 fscanf 读取文件中的数据&#xff0c;写入链表中 //main.c#include "link_list.h" int main() {link_p Lcreate_head();insert_tail(L,12);insert_tai…

【小沐学QT】QT学习之信号槽使用

文章目录 1、简介2、代码实现2.1 界面菜单“转到槽”方法2.2 界面信号槽编辑器方法2.3 QT4.0的绑定方法2.4 QT5.0之后的绑定方法2.5 C11的方法2.6 lamda表达式方法 结语 1、简介 在GUI编程中&#xff0c;当我们更改一个小部件时&#xff0c;我们通常希望通知另一个小程序。更普…

如何测试抖音

如何测试抖音 其实&#xff0c;现在的面试题&#xff0c;对于基础的测试用例和场景考察越来越多样化&#xff0c;就跟这样一道面试题。 面试官一上来就是跟我说下怎么测试刷抖音&#xff1f; 很多人一上来就开始各种UI测试&#xff0c;兼容性测试&#xff0c;易用性测试&#…

SWOT分析法是什么?

SWOT法又称态势分析法&#xff0c;是一种通过分析对象内外部因素从而得出战略结论的分析方法。核心理念在于通过对影响因素进行分类梳理&#xff0c;再通过聚合考虑来得出结论。主要就是四个维度&#xff1a;优势&#xff08;Strengths&#xff09;、劣势&#xff08;Weaknesse…