tcp/ip 模型

应用层

传输层

网络层

接口层

tcp/ip协议族

tcp(传输控制协议):面向连接,在传递数据之前,会测试主机的联通性,如果通才会传输真实数据

udp(用户数据报协议):无连接,不会测试主机的联通性,直接传递真实数据

面向连接网络协议: 是指通信双方之间在进行通信之前要先建立连接。比如打电话,双方通话前需要先建立连接。等数据发送结束后,双方再断开连接。

无连接网络协议: 是指通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包送到网络线路上,由系统自主选定路线进行传输。比如QQ发送信门 TCP面向连接的协议: TCP是面向连接的、可靠的进程到进程通信的协议。TCP提供全双工服务,即数据可在同一时间双向传输,每一个TCP都有发送缓存和接收缓存,用来临时存储数据。 UDP协议是无连接、不保证可靠性的传输层协议: 发送端不关心发送的数据是否到达目标主机、数据是否出错等,收到数据的主机也不会告诉发送方是否收到了数据,它的可靠性由上层协议来保障。传输数据速度更快,效率更高

单机确定应用程序 依靠pid号 (pid号是系统随机产生的,每打开一个程序,系统会自动分配给你一个pid号)

涉及到网络传输的应用程序,需要依靠端口号来进行区分

客户端程序的端口号是随机产生的 服务端的端口号一般是固定的

浏览器(30000+)-----------------------------------------------------网站程序(http 80)

端口号

1.服务端一般固定,客户端随机产生

2.前1024端口号被知名程序使用

3.端口号的范围 0-65535 2^16

4.一个端口号只能被一个应用程序使用

5.协议的最终体现形式是某个程序

确认号:确定对面收到了我的包,并且约定我下一个包的序号为加一

控制位:描述了目前 两台电脑处于什么阶段(请求连接 建立连接 半状态 断开连接)

SYN 请求建立连接

FIN 断开连接

ACK 确认同意连接 断开连接

A电脑发送了一个序号为x的包给B

B只有在收到A的包之后才发现A发的包的序号为x 才可以生成x+1 确认号,才能告诉对面我收到了你的包,并且规定对面下一个包的序号为x+1

A收到B的回复报文 发现了确认号 为x+1知道对面收到了我的包,并且要求我一个包的序号为x+1

pc1 和pc2 三次握手过程

断开连接的4次挥手

fin-wait1 pc1 发送 断开请求给pc2 pc1处于此状态

close-wait pc2 收到 pc1 断开请求 pc2处于此状态 半断开

fin-wait2 pc1收到pc2的 确认报文但是没有同意断开

last-ACK pc2 发送同意断开报文后所处在的状态

time-wait 2msl pc1 也同意断开后处于的状态

TCP特性

1.工作在传输层

2.面向连接协议 反馈失败 就不会传数据

3,全双工协议

4,半关闭

5.错误检查

6.将数据打包成段,排序

7.确认机制

8.数据恢复,重传

9.流量控制,滑动窗口

UDP协议

UDP特性

工作在传输层

提供不可靠的网络访问

非面向连接协议

有限的错误检查

传输性能高

无数据恢复特性

talnet 测试远端服务器的某项服务

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐