计算机网络知识点

一.http与https的区别

1.http是无状态的超文本传输协议,http是安全的(SSL+http)超文本传输协议

2.使用http不需要证书,使用https需要SSL证书

3.http默认使用80端口,https默认使用443端口

http请求方式:

  • get:请求目标信息,返回响应体
  • post:向指定资源提交数据进行处理请求,提交的数据包含在请求体中。
  • head:与get相似,但是无响应体,用于获取报头
  • put:从客服端到服务器传送的数据取代指定的文档内容
  • delete:请求服务器删除指定页面
  • connect:HTTP/1.1协议中能够将连接改为管道方式的代理服务器
  • trace:回显服务器收到的请求,主要用于测试或诊断
  • options:允许客服端查看副武器的性能

 

二.网络模型

OSI中的层功能TCP/IP协议族
应用层文件传输,电子邮件,文件服务,虚拟终端TFTP,HTTP,SNMP,FTP,SMTP,DNS,RIP,Telnet
表示层数据格式化,代码转换,数据加密
会话层控制应用程序之间会话能力;如不同软件数据分发给不同软件ASAP、TLS、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、Winsock、BSD sockets
传输层端到端传输数据的基本功能TCP、UDP
网络层定义IP编址,定义路由功能;如不同设备的数据转发IP,ICMP,RIP,OSPF,BGP,IGMP
数据链路层定义数据的基本格式,如何传输,如何标识SLIP,CSLIP,PPP,ARP,RARP,MTU
物理层二进制数据形式在物理媒体上传输数据ISO2110,IEEE802

 

三.TCP/IP的区别与应用

TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP建立连接必须有三次握手、断开连接必须有四次挥手。

UDP(User Data Protocol,用户数据报协议)是一个非连接的协议,传输数据之前源端和终端不建立连接, 当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上

 TCPUDP
连接性面向连接面向非连接
传输可靠性可靠不可靠
报文面向字节流面向报文
效率传输效率低传输效率高
流量控制滑动窗口
拥塞控制慢开始、拥塞避免、快重传、快恢复
传输速度
应用场合对效率要求低,对准确性要求高或要求有连接的场景对效率要求高,对准确性要求低

 

 

四.客户端与服务端建立TCP连接时所需的“三次握手”具体流程

三次握手:服务端与客服端建立连接的过程中需要发送三次数据包。

 具体流程:

第一次握手:客户端请求建立连接,向服务端发送syn包(SYN=1,seq=j(随机值)),客户端进入SYN_SENT阶段,等待服务端响应;
第二次握手:服务端收到客户端发来的syn包,检查syn=1知道客户端请求连接,如果同意连接,则发送(syn+ack)包(SYN=1,ACK=1,ack=j(客户端seq值)+1,seq=k(随机值))给客户端以确认连接请求;客户端进入SYN_RCVD状态,等待客户端响应;
第三次握手:客户端收到服务端发来的syn包,检查ACK=1和ack=j+1知道服务端同意连接;那么发送ack包(ACK=1,ack=k(服务端seq值)+1)给服务端;服务端接收到ack包后检查ACK=1和ack=k+1后则连接建立成功,客户端与服务端进入ESTABLISHED状态。
三次握手完成后,客户端和服务端可进行数据传输了。

SYNSynchronize Sequence Numbers):同步序列编号

seq:序列号

SYN_SENT:同步序列编号已发出

SYN_RCVD(SYN_Received):同步序列编号已收到

ACK (Acknowledge character):确认收到字符

ESTABLISHED:已建立的

 

五.客户端与服务端断开TCP连接时所需的“四次握手”具体流程

四次挥手:服务端与客服端断开连接的过程中需要发送四次数据包。因为TCP连接是全双工的,所以两个方向的连接关闭“请求关闭-确认”需要做两次,总共四次挥手。

第一次挥手:服务端请求关闭连接,发送fin数据包(FIN=1,seq=u(随机值))到服务端,进入FIN-WAIT-1状态(白话:客户端告诉服务端,我已经没有数据再传输给你啦,想请求关闭连接了,但如果你还有未传输完则不必着急关闭连接);

第二次挥手:服务端接收到FIN数据包,检查FIN=1知道客户端已无数据传输而请求关闭了,于是发送ack数据包(ACK=1,ack=u(客户端seq)+1,seq=v(随机值))给客户端,进入CLOSE-WAIT状态,这个状态对于客户端来说是半关闭状态,即 "客户端-->服务端" 传输通道已关闭,但服务端仍可发消息到客户端,而且客户端必须接收(白话:服务端告诉客户端,你的关闭请求我已经收到了,但是我还有数据要发送,请继续等我消息);客户端收到ack数据包后,进入FIN-WAIT-2状态;

第三次挥手:服务端数据传输完后,向客户端发送(fin+ack)数据包(FIN=1,ACK=1,ack=u(客户端seq)+1,seq=w),进入LAST_ACK状态(白话:服务端告诉客户端,我已经完事了,可以关闭了);

第四次挥手: 客户端收到(fin+ack)数据包,检查FIN=1知道服务端已经准备好了,于是发送ack数据包(ACK=1,ack=w(服务端seq值)+1,seq=u+1)给服务端后客户端进入TIME_WAIT状态,服务端收到客户端的ack数据包后,检查ACK=1和ack=w+1知道一切OK了,于是立即关闭了服务端-->客户端的连接,而客户端再等待2MSL时间后也关闭了连接。(白话:客户端告诉服务端,我已经知道你已经准备好关闭了,我给你说一声,那你就关闭吧,(服务端收到信息于是就关闭了)。。。。一段时间后,我已经半天没收到你的回复了,肯定正常关闭了,那我也关闭了)

FIN:finish

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值