TCP/IP协议
1、OSI(Open System InterConnection),开放式系统互联,分为7层,TCP/IP分为4层:数据链路层,网络层,传输层,应用层。
2、网络链路层的地址是MAC地址,网络层的地址是IP地址,传输层的地址是Port
3、每一层上都有啥?
网络层:IP,ARP,ICMP
传输层:TCP,UDP
应用层:HTTP,FTP,SMTP,DNS
4、ARP(Address Resolution Protocol):将目标IP地址转化为MAC地址
5、ICMP(Internet Control Message Protocol):确认网络是否正常。ping和tracert都是由ICMP实现的。tracert的原理:X在网络上找Y,对外发个消息,指明消息的接受者为Y,当A接收到消息时,返回消息给X,告诉X自己不是Y,把跳数(中间经过了几个人)加1,并且把消息对外发送,直到找到Y。
6、DNS(Domain Name System):把域名转化为IP地址。
7、对于TCP,如果每发一个消息,都要等到反馈,再发下一个,效率太低。解决办法是,发一个消息后,不必等到反馈,就发下一个消息,但是需要标记前一个消息还没有得到反馈。这就是滑动窗口协议。连续发的消息个数收到一定约束,如果发了N个消息后,还没收到第一个消息的反馈,需要等待第一个消息的反馈,不能再继续发了。
8、对于TCP,如果一连接好,就马上发送大量消息,可能会导致阻塞。解决办法是,采用试探性的策略,先发1个试试,没问题,再发2个试试,还没问题,再发4个试试。采用指数级向上加,直到达到阈值。这就是慢启动算法,慢启动算法并不慢,只不过是启动的时候慢,很快速度就上来了。
9、对于TCP,通信双方经常发送确认报文,单独回一个确认,效率太低。可以在给对方发数据的时候,顺便带上确认报文,这样就可以减少发送消息的个数,这就是捎带技术。
10、TCP为什么要进行三次握手?
TCP是面向连接的协议,是靠谱的协议。如何保证靠谱呢?要保证双方确实可以沟通的。三次握手做了下面的事情,说明双方可以沟通。
①A问B一个问题;②B回答A的问题,同时问A一个问题,③A回答B的问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理