网络基础相关

目录

OSI七层协议模型

OSI的实现:TCP/IP

TCP的三次握手:

TCP的四次挥手:

Socket

HTTP:

WebSocket和HTTP的区别


OSI七层协议模型

第1层:物理层:定义物理设备的标准(网卡)

第2层:数据链路层:定义了如何格式化数据以进行传输,如何控制对物理介质的访问,提供错误监测和纠正(交换机)

第3层:网络层:将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方(主要关注ip协议)

第4层:传输层:解决了主机间的数据传输,解决了传输质量的问题(OSI模型中最重要的一层)(需要关注的是TCP协议和UDP协议)

第5层:会话层:建立和管理应用程序之间的通讯

第6层:表示层

第7层:应用层

OSI的实现:TCP/IP

TCP的三次握手

第一次握手:建立连接时,客户端发送SYN包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到SYN包,必须确认客户的ACK(ack=j+1),同时自己也发送一个SYN包(syn=k),即进入SYN_RECV状态;

第三次握手:客户端收到服务器端的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进去ESTABLISHED状态,完成三次握手。

为什么要进行三次握手:为了初始化sequence number。

首次握手隐患:连接超时,会造成SYN Flood的恶意攻击。

TCP的四次挥手

T1、CP四次挥手释放连接:

第一次挥手:Client发送给一个FIN,用来关闭Client到Server的数据传输,Client进入FIN_WAIT_1状态;

第二次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号加1,Server进入CLOSE_WAIT状态;

第三次挥手:Server发送一个FIN,用来关闭Server到Client的数据传送,Server进入LAST_ACK状态;

第四次挥手:Client收到FIN后,Client进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号加1,Server进入CLOSED状态,完成四次挥手。

为什么会有TIME_WAIT状态:

  • 确保有足够的时间让对方收到ACK包;
  • 避免新旧连接混淆。

为什么需要四次挥手:

因为全双工,发送方和接收方都需要FIN报文和ACK报文。

Socket

Socket是对TCP/IP协议的抽象,是操作系统对外开放的接口。

Socke通信流

HTTP

HTTP状态码:

WebSocket和HTTP的区别

   http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能发送信息。

  http链接分为短链接,长链接,短链接是每次请求都要三次握手才能发送自己的信息。即每一个request对应一个response。长链接是在一定的期限内保持链接,保持TCP连接不断开。客户端与服务器通信,必须要有客户端发起然后服务器返回结果。客户端是主动的,服务器是被动的。 

  WebSocket他是为了解决客户端发起多个http请求到服务器资源浏览器必须要经过长时间的轮训问题而生的,他实现了多路复用,他是全双工通信。在webSocket协议下客户端和浏览器可以同时发送信息。建立了WebSocket之后服务器不必在浏览器发送request请求之后才能发送信息到浏览器。这时的服务器已有主动权想什么时候发就可以发送信息到服务器。而且信息当中不必在带有head的部分信息了与http的长链接通信来说,这种方式,不仅能降低服务器的压力。而且信息当中也减少了部分多余的信息。

  HTTP的长连接与websocket的持久连接 

  HTTP1.1的连接默认使用长连接(persistent connection),即在一定的期限内保持链接,客户端会需要在短时间内向服务端请求大量的资源,保持TCP连接不断开。客户端与服务器通信,必须要有客户端发起然后服务器返回结果。客户端是主动的,服务器是被动的。 在一个TCP连接上可以传输多个Request/Response消息对,所以本质上还是Request/Response消息对,仍然会造成资源的浪费、实时性不强等问题。如果不是持续连接,即短连接,那么每个资源都要建立一个新的连接,HTTP底层使用的是TCP,那么每次都要使用三次握手建立TCP连接,即每一个request对应一个response,将造成极大的资源浪费。

  长轮询,即客户端发送一个超时时间很长的Request,服务器hold住这个连接,在有新数据到达时返回Response,websocket的持久连接 只需建立一次Request/Response消息对,之后都是TCP连接,避免了需要多次建立Request/Response消息对而产生的冗余头部信息。

  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1计算机拓扑结构mp4,网盘文件,永久链接 002计算机硬件介绍mp4 003服务器介绍mp4 004计算机网络设备mp4 005任务说明mp4 006网络设备连接介质mp4 007IP和MAC简介mp4 008IP地址介绍mp4 0091进制和二进制转换mp4 010十进制转二进制mp4 011A类P地址mp4 012B类P地址mp4 013特张P+总结mp4 014根据子网掩码判断主机数mp4 015根据P和子网来判断子网掩码mp4 016根据P和子网掩码判断子网数和范围mp4 017课堂练习mp4 018任务解决方案mp4 0190S的七层模型mp4 020数据的传输过程mp4 021 TCP IP协议簇四层模型相关协议了解]mp4 022数据的封装与解封装 过程t了解 p 4 023TCP协议的三次握手【理解】mp4 024TCP协议的四次断开【理解】mp4 025桥接和NAT网络【理解】mp4 026仅主机模式+总结mp4 027NA模式补充【理解+记忆】mp4 028查看网络信息基本命令掌握]mp4 _029静态P地址配置mp4 030静态P地址配置错误总结菌悉]mp4 031网卡名字命名规则和修改【了解】mp4 032主机的其他配置[机名+ DNSI. mp4 033读懂路由表信息【掌握】mp 034多网卡配置【熟悉】mp4 035读懂路由表信息2[掌握]mp4 036路由转发实验【理解】avmp4 037路由转发实验总结mp4 038实验需求讲解mp4 039 Centos7安装【掌握】mp4 040 Centos7安装后续mp4 041 Centos7基础网络环境配置掌握]mp4 042 Centos7基础环境配置本地yum源【掌握】mp 043 wireshark工具抓ping包【解]mp4 044 wireshark工具抓ssh三次握手四次断开了解]mp4 045 telnet服务搭建 Centos7【了解】mp4 046远程登录环境介绍【理解】mp4 047 wireshark工具抓 telnet数据包mp4 048 tcpdump工具抓包【了解】mp4

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值