计算机网络知识整理

cookie和session和token:当我们从浏览器端向服务器后台发送请求时,后台会为每一个用户生成一个cookie对象,记录了一些信息(用户id,电话之类的)再把这个cookie返给用户,等用户下一次再发送请求时带上这个cookie,后台就能认出这是哪个用户。如果数据很多,cookie里携带的信息就也很多。在这个过程中如果有人截取了cookie,又制造了一个伪数据包,后台也是认不出来有问题的,会觉得是合法的。cookie是存储在客户端,而sessionid是存储在服务器端,session为了区分不同的服务器对象,还生成了sessionid,sessionid存储在cookie里,用户发送请求时把cookie发给服务器。服务器根据sessionid在redis数据库里查找sessionid对应的用户id。session比cookie安全得多,因为不能拦截服务器。session的缺点是会比较占用服务器的性能。而token记录了解码方式和id,存在客户端,服务器收到token根据解码方式得到用户id,就省下了去数据库查找用户信息的消耗。

一文讲透Token与Cookie、Session的区别 - 知乎 (zhihu.com)

tcp和udp:

                  tcp传播速度比udp要慢,tcp要建立连接,还有一些确认机制,重传机制,udp是无连接传输数据

                  tcp是一对一连接,比较可靠稳定,udp是一对多或者多对多连接,不可靠也不稳定

                  tcp一般用在登录微信,发送邮件等,传输大量数据,udp的实时性比较高,一般用在视频通话这种的

                  tcp会出现粘包问题,udp不会,因为udp有消息边界

TCP 如何保证数据的可靠传输的(这个问题可以引申出很多子问题,拥塞控制慢开始、拥塞避免、快重传、滑动窗口协议、停止等待协议、超时重传机制,最好都能掌握)

tcp三次握手具体流程:

第一次握手:客户端想连接服务器,就给服务器发送一个syn包,客户端进入syn_send状态,表示这个包已经发出去了,等待服务器确认。

第二次握手:服务器收到了客户端发来的syn包,就回给客户端一个syn+ack包(acknowledge),服务器进入syn_received状态,表示我确认收到了用户端发的包。

第三次握手:客户端收到了syn+sck包,再向服务器发送一个ack确认包,发完之后客户端和服务端就都进入了established状态,进入这个状态就代表完成了握手。

1. 客户端发送一个带SYN=1,Seq=X 的数据包到服务器端(第一次握手,由浏览器发起,告诉服务器我要发送请求了)

2. 服务器发挥一个带SUN=1,ACK=Y的响应包以示传达确认信息(第二次握手,由服务器发起,告诉浏览器我准备接收了,可以发送了)

3. 客户端再传回一个带ACK=Y+1,Seq=Z的数据报,代表握手结束(第三次握手,由浏览器发送,告诉服务器,我准备发送了)
 

用处是:测试客户端和用户端发送数据和接受数据的能力是否正常,指定自己的初始化序列号,为后续发送数据做准备。如果在数据传输过程中使用的是https协议,还会涉及到数字证书的验证和加密密钥的生成。第一次和第二次握手是不能传输数据的,第三次握手可以传输数据。

四次挥手:来回发FIN和ACK,状态也要记住

TCP建立连接和断开连接过程 假设Client端发起中断连接请求,也就是发送FIN报文。Server端接到FIN报文后,意思是说"我Client端没有数据要发给你了",但是如果你还有数据没有发送完成,则不必急着关闭Socket,可以继续发送数据。所以你先发送ACK,"告诉Client端,你的请求我收到了,但是我还没准备好,请继续你等我的消息"。这个时候Client端就进入FIN_WAIT状态,继续等待Server端的FIN报文。当Server端确定数据已发送完成,则向Client端发送FIN报文,"告诉Client端,好了,我这边数据发完了,准备好关闭连接了"。Client端收到FIN报文后,"就知道可以关闭连接了,但是他还是不相信网络,怕Server端不知道要关闭,所以发送ACK后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。“,Server端收到ACK后,"就知道可以断开连接了"。Client端等待了2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,我Client端也可以关闭连接了。Ok,TCP连接就这样关闭了!

为什么要等待2MSL:一个MSL就是报文在网络上存在的最长时间,考虑到报文一来一回,就是2MSL。防止最后ACK报文的丢失. 意思是客户端只要在TIME_WAIT内不收到服务器发送的FIN就算成功了. 当服务端未收到ACK时候,会重传FIN. 而此时客户端等待的最长时间是上次ACK丢失报文的时间(MSL)+服务器重传的FIN报文的最长时间(MSL). TIME_WAIT>2MSL没有意义.TIME_WAIT<2MSL将会收不到重传的FIN.

被动方进入的是LAST_ACK状态,主动方进入的是TIME_WAIT状态

(24条消息) TCP四次挥手详解_‍oOoOoOooOO的博客-CSDN博客

http和https:http:超文本传输协议,以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了客户端和服务端之间的传输报文,就可以直接读到里面的信息,因此不适合用来传输敏感的信息。https:超文本传输安全协议,会进行一次握手,需要ssl加密证书(要花钱),使用了ssl和tls来加密传输的包,提供对网站服务器的身份认证,保证传递和交换数据的完整性和隐私性,但会消耗更多的cpu,内存。http端口号是80,https端口号是443。

http工作原理:浏览器和服务器建立连接,打开一个socket文件,有这个文件就代表着连接成功了。然后浏览器通过这个socket向服务器提交get/post请求,提交请求后通过http协议传给服务器,服务器处理完响应后,又通过http传回去,信息就出现在浏览器上,然后关闭连接。

(24条消息) 详解HTTP协议的工作原理_http工作原理__nigar的博客-CSDN博客

响应码:500 内部服务器错误,404 请求错误,403 禁止访问,400 错误请求,200 请求成功,502 无效网关 504 超时

浅析10个HTTP常见的状态响应码! - 知乎 (zhihu.com)

https工作原理:浏览器请求 https服务,把自己的加密规则发给了服务器;服务器选择其中一套 加密规则, 把自己的身份信息(公钥等)以证书的形式发给浏览器,浏览器拿到了证书后检查是否合法,然后生成一组随机数并使用信息里的公钥对随机数进行加密,再传回给服务器,服务器收到了用私钥进行解密。

(24条消息) HTTP面试题(三):HTTPS工作原理_http3 面试题_我是小杨我就这样的博客-CSDN博客

http的四种请求方式:get,post,put,delete,请求结构就是四种方式中的一种加上url,再加上协议http,响应信息也是由三部分组成:响应协议+响应码+响应信息(1:表示我已经收到信息 2:表示请求成功 3:重定向,还要进一步处理发送的信息 4:客户端请求错误,服务器没办法处理请求 5:服务器出错,响应失效)。

http响应中断的原因:网络断了,网络拥堵,请求超时,浏览器服务器出现了问题。

http的请求方法有:get(获取资源)post(修改、传输数据)put(传输文件)head(获得报文头部)delete(删除文件)trace(追踪路径)connect(采用隧道的方式连接)

get和post的区别:get用来获取信息,post用来修改服务器上的信息,post比get更加安全,因为get发送的数据就是url地址的一部分,大小会有限制,一般是4kb,而post请求的参数是放在请求实体里的,不会被浏览器保存的;get可以被缓存,post不能缓存。get是幂等的,多次点击不会有副作用,而post多次点击会有副作用。

在浏览器输入一个url到页面全部展示的流程:dns域名解析协议,把域名地址解析为ip地址,然后进行tcp连接,三次握手,然后客户端发送一个http请求到服务端,服务端处理请求,返回http报文,浏览器接受http报文并进行解析渲染,最后断开连接进行四次挥手。

arp协议,可以把mac地址转化成ip地址

官方点:

  1. 浏览器进行DNS域名解析,得到对应的IP地址
  2. 根据这个IP,找到对应的服务器建立连接(三次握手)
  3. 建立TCP连接后发起HTTP请求(一个完整的http请求报文)
  4. 服务器响应HTTP请求,浏览器得到html代码(服务器如何响应)
  5. 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等)
  6. 浏览器对页面进行渲染呈现给用户
  7. 服务器关闭TCP连接(四次挥手)

上网的时候发现很卡:硬件:网速太慢,带宽不足,硬件配置太低,内存被占满

                                               网页js脚本太大,阻塞页面的加载

                                               与协议相关,http请求次数过多,网页资源太多

传输时延又名发送时延:   发送数据时,数据块从结点进入到传输媒体所需要的时间,又称为发送时延

传输时延:报文交换>分组交换>电路交换

ip网络的时延:发送时延(传输时延),传播时延,处理时延,排队时延_林哥小站的博客-CSDN博客

路由器、集线器、交换机区别:路由器的作用是用于连接不同网段并且找到网络中数据传输最合适的路径。集线器的作用是将一些 pc 机连起来组成一个局域网。交换机的作用与集线器的相似, 区别在于集线器采用的是共享带宽的方式, 交换机是独享带宽。

我现在有个程序, 发现在 Windows 上运行得很慢, 怎么判别是程序存在问题还是软硬件系统存在问题?

1、 检查系统是否有中毒的特征;

2、 检查软件/硬件的配置是否符合软件的推荐标准;

3、 确认当前的系统是否是独立, 即没有对外提供什么消耗 CPU 资源的服务;

4、 如果是 C/S 或者 B/S 结构的软件, 需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;

5、 在系统没有任何负载的情况下, 查看性能监视器, 确认应用程序对 CPU/内存的访问情况。

TCP/IP协议的层次结构:

应用层:http,https,smtp(邮箱服务),ftp,消息,message

传输层:tcp udp(dhcp)(无连接服务,提供复用分用服务) dns,数据段,segment

网络层:ip,分组,packet,icmp,通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。一个路由器的路由表通常是包含目的网络和到达目的网络路径的下一个路由器ip地址

链路层:arp,rarp,帧,frame,通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路

物理层:比特,bit,利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。

TCP:又叫传输控制协议(Transmission Control Protocal)是一种面向连接的、端对端的、可靠的、基于IP的传输层协议。主要特点是3次握手建立连接,4次挥手断开连接。
IP:又叫因特网协议(Internet Protocol),IP协议位于网络层,IP协议规定了数据传输时的基本单元(数据包)和格式,IP协议还定义了数据包的递交办法和路由选择。

arp地址解析协议:把ip地址和mac地址(物理)的转换

(24条消息) ARP地址解析协议详解_arp协议_scut_yp的博客-CSDN博客

子网掩码的用途:用来判断两个ip地址是否在同一个局域网:子网掩码和 IP 地址进行按位与运算后, 结果一致, 表示处于一个局域网当中, 如果不一致,表示不再一个局域网当中, 需要寻找路由。

ftp使用两条TCP连接完成文件传输,一条是控制连接 21,一条是数据传输连接20。一个文件传输结束,即数据传输结束,只是关闭了数据连接,即20端口,但是还要等待客户是否有下一个文件传输,所以控制连接21端口还没有关闭释放,所以他们不是同时被释放的。

简述一下 c/s 模式或者 b/s 模式:

C/S 模式: 客户端/服务器模式。 工作原理: Client 向 Server 提交一个请求; Server 则使用一些方法处理这个请求, 并将效果返回给 Client。

B/S 结构, 即 Browser/Server(浏览器/服务器)结构, 是随着 Internet 技术的兴起, 对 C/S 结构的一种变化或者改进的结构。 在这种结构下, 用户界面完全通过 WWW 浏览器实现, 一部分事务逻辑在前端实现, 但是主要事务逻辑在服务器端实现, 形成所谓 3-tier 结构。 B/S 结构, 主要是利用了不断成熟的 WWW 浏览器技术, 结合浏览器的多种 Script 语言(VBScript、 JavaScript…)和 ActiveX 技术, 用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能, 并节约了开发成本, 是一种全新的软件系统构造技术。

上网的时候,访问某个网页却突然出现了某个运营商的网页(如联通、电信)。出现此问题可能的原因是:出现了DNS劫持(校园网欠费页面)

DNS攻击:攻击者攻击了域名解析服务器,修改了其中IP和域名的对应关系,使得用户输入域名时候,会进入到错误的网站上去,攻击者可以截获信息,等等

DOS攻击:DOS攻击是指攻击者发送大量请求使得正常用户的请求无法到达,或者是攻击者在某一个时间发送大量数据给服务器,造成服务器瘫痪两种方式

DDOS攻击:攻击者发送大量请求,使得正常用户的请求无法到达

MAC地址欺骗:使局域网内主机无妨访问局域网,通过修改交换机端口和MAC地址的映射关系

根据给定的ip地址判断其网络号,主机号:

  • 网络号,它标志主机(或路由器)所连接到的网络,网络地址表示其属于互联网的哪一个网络
  • 主机号,它标志该主机(或路由器),主机地址表示其属于该网络中的哪一台主机。

根据题目给定的IP 128.202.99.65  属于B类范围

A类地址范围:1.0.0.0-126.255.255.255   网络号范围: 1~126

10.0.0.0到10.255.255.255是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)

B类地址范围:128.1.0.1-191.255.255.254  网络号范围:128.1 ~ 191.255

172.16.0.0到172.31.255.255是私有地址  

C类地址范围:192.0.1.1-223.255.255.254  网络号范围:192.0.1 223.255.255

192.168.0.0到192.168.255.255是私有地址

A类网络地址:第一个数1-126,网络标识:X.0.0.0,主机标识:0.X.X.X;
B类网络地址:第一个数128-191,网络标识:X.X.0.0,主机标识:0.0.X.X;
C类网络地址:第一个数192-223,网络标识:X.X.X.0,主机标识:0.0.0.X;

如何根据ip地址判断网络号:和子网掩码相与,留下的就是主机号和网络号

注意:网络号主机号全为0,广播地址主机号全为1

for.zj.edu.cn 一般结构为:主机名.三级域名.二级域名.顶级域名,故for是主机名

WAN(wide):广域网,一个国家几个国家

MAN:城域网

LAN(local):局域网,一般是一栋楼,用于办公楼

PAN(personal):无线个人局域网

计算机网络中可以共享的资源包括:硬件,软件,数据,通信通道

计算机网络的的功能:
数据通信: 实现计算机之间的数据传输,将不同地理位置的计算机连接起来进行统一管理。
资源共享: 资源共享可以是软件共享、数据共享和硬件共享、是各计算机分工协作,提高资源利用率。
分布式处理: 当某一计算机负载过重时,将任务分配给其他计算机
提高可靠性: 各台计算机可以互为替代机
负载均衡: 将任务均衡分配给计算机

滑动窗口协议有

1、停止等待协议,发送窗口=1,接受窗口=1;

2、后退N帧协议,发送窗口>1,接收窗口=1;

3、选择重传协议,发送窗口>1,接收窗口>1

mac地址转发和ip路由表的区别

mac帧的长度

马可尼和布劳恩发明了无线电

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值