学习视频:
Http、Https、TCP、UDP之间的区别和联系,看这一篇合集就够了_哔哩哔哩_bilibili
一条视频讲清楚TCP协议与UDP协议-什么是三次握手与四次挥手_哔哩哔哩_bilibili
TCP与UDP都工作在传输层,目标是在程序之间传输数据
区别:
最大的区别是TCP是基于连接的,UDP是基于非连接的
TCP稳定可靠,对网络质量要求高,适用于传输文件、发送邮件、浏览网页等
UDP速度快,性能损耗少,资源占用少,但可能会产生丢包,适用于语音通话、视频直播等
TCP:传输控制协议 Transmission Control Protocol
TCP报文:TCP首部+TCP数据部分
TCP首部组成结构:
源端口和目的端口:寻找相应的应用层协议,找到相应的应用程序处理TCP的数据包
序号:sequence number,编号,TCP数据包过大,分段,服务端收到后按序号重组。
确认号:acknowledge number,依据序号。
ack(确认号)=seq+1,表示服务端期望收到下一个包的序号
标志位:信号灯 1=亮 0=灭
ACK:确认位,ACK=1,消息已确认
RST:reset,RST=1,表示这个消息要被释放掉,TCP出现错误,需要断开连接
SYN:synchronous,同步。=1 1.发起连接的消息 2.确认接受连接消息
FIN:final,终止。=1 发送报文结束,释放连接——四次挥手
TCP实现原理和过程
HTTP、HTTPS协议(应用层协议)——基于TCP协议
例:在浏览器里访问百度页面
client(本地客户端)--百度服务器:TCP协议--交互和连接(前提基础)——> HTTP、HTTPS协议交互
TCP协议如何连接
TCP连接请求:三次握手
服务器回复完SYN+ACK后已经建立连接,防止已失效的请求报文突然恢复传送到服务器引起错误。
三次握手就是为了解决网络信道不可靠的问题 ,之后进入数据传输状态。
断开请求:四次挥手
客户端发起连接关闭请求,向服务器发送FIN包,自身进入终止等待1状态,这是第一次挥手
服务器发回ACK包,表示自己进入关闭等待状态,客户端进入终止等待2状态,只是第二次挥手
此时服务器还可以发送未发送的数据,客户端可以接收数据
服务端发送完后发送FIN包,进入最后确认状态,这是第三次挥手
客户端收到后发送ACK包,进入超时等待状态,超时后关闭连接,服务端收到ACK后立即关闭连接,这是第四次挥手
超时时间是为了确认对方已收到ACK包,防止ACK包丢失,一旦ACK包丢失,服务端没收到ACK包会重发FIN包,客户端会重发ACK包并刷新超时时间。
UDP:用户数据报协议
学习视频:快速搞懂HTTP与HTTPS_哔哩哔哩_bilibili
HTTP协议:超文本传输协议
基于TCP协议,用来规定客户端和服务端的数据传输格式
特点:基于请求与响应模式的、无状态的应用层协议
HTTP报文格式
HTTP与HTTPS的区别
HTTP
1.无状态:协议对客户端没有状态存储,对事务处理没有记忆能力,比如访问一个网站需要反复登陆操作
2.无连接:每次请求完之后就断开了,想要请求一次数据就要发送一次请求,然后就断开,没有联系
3.简单、快速、灵活
4.通信使用明文,无法保护数据的完整性
HTTPS:
1.内容加密:采用混合加密技术
2.验证身份:通过证书认证客户端访问的是自己的服务器
3.保护数据完整性:防止传输内容被中间人冒充或篡改
计算机网络
学习视频:【网络】半小时看懂<计算机网络>_哔哩哔哩_bilibili
HUB集线器:消息转发
只适用于小规模网络,工作在物理层
SW交换机
可以记录地址(Mac地址),工作在数据链路层(Mac层)
路由器(网关) 网络层
osi(开放式系统互连模型)七层模型
学习视频:半个月,我把Linux内核、操作系统,网络基础,网络管理,负载均衡,OSI网络模型,TCP/IP模型,企业案例等,全部整理出来了_哔哩哔哩_bilibili
应用层:HTTP/HTTPS协议、FTP协议、SSH协议、SMTP协议……
表示层:信息的语法、意义以及格式,比如压缩、加密、格式转换、解压等
会话层:不同的主机之间建立以及管理会话
SSL协议(安全套接字层协议)、TLS协议(传输层安全协议)……
传输层:接受上一层数据,在需要的时候分割数据并传输给网络层
TCP/IP协议、NetBIOS协议、RUDP协议(可靠的用户数据报文协议)……
网络层:控制子网的运行,IP地址分组传输、路由选择
OSPF协议(开放最短路径优化协议)、IP/IPv6协议(互联网协议/互联网协议第六个版本)、VRRP协议、IGRP协议 ……
数据链路层:物理寻址,同时将原始比特流转换为逻辑传输线路
ARP协议(地址解析协议);VPN:PPTP协议、LTP协议、L2F协议、ATMP协议……;CDP协议,又称为思科发现协议;
物理层 :机械、电子、定时接口通信信道上的原始比特流传输
规定了RJ45、RJ11、IEE802.2、Ethernet标准规范
TCP/IP网络模型