首页 Net
文章
取消

Net

计算机网络

1.⭐OSI七层模型和TCP-IP五层模型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
应用层:
	作用:为特定的应用程序提供一个传输服务
	协议:HTTP、HTTPS、FTP、DNS
	
传输层:
	作用:为两台主机之间的应用程序提供一个通用的端到端数据传输服务
	协议:TCP、UDP
	协议数据单元:数据段
				
网络层:
	※作用:为分组交换中的不同主机提供通信服务
	(1)通过一定的算法 让互联网中的所有路由器生成的一个用来转发分组的转发表<分组>
	(2)当前路由器根据分组中的转发表 把分组转发到下一个路由器 让源主机运输层传下来的分组到达目的主机<转发>
	协议:IP、ARP
	设备:路由器
	协议数据单元:数据包

数据链路层:
	作用:
		它控制网络层与物理层之间的通信 其主要功能是在不可靠的物理介质上提供可靠的传输。
		把网络层传下来的数据进行进行封装成帧发送到链路上 以及 把接收到的帧中的数据交给网络层 	
	协议:
	设备:交换机、网桥
	协议数据单元:帧

物理层:
	作用:屏蔽传输媒体和通信手段的差异 让连接的计算机在传输媒体上传输数据比特流 
	协议:
	设备:集线器
	协议数据单元:比特

2.⭐TCP-UDP的区别

1
2
3
4
5
6
7
8
9
10
	   				 TCP					 UDP
是否连接			  有连接					无连接	
数据载体			  面向字节流				  面向报文
速度
效率
安全性				  				
几对几
应用				 	
丢包					不丢包			 		  丢包
其他				   有拥塞控制				无拥塞控制

3.⭐TCP头部报文段的结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
IP数据报的数据 = 头部报文段+数据

TCP头部作用:存放一些决定tcp功能的字段

TCP头部结构:
	源端口号和目的端口号 
	
	头部长度:头部的最大长度 60个字节 
	
	序号(seq): 当前报文段的第一个数据字节的序号
	
	※确认号(ack):期望接收到对方下一个的报文段的第一个数据字节的序号
	
	标志位:
		1.ACK:传送的报文是否有效 	ACK=1 表示有效
		2.SYN:用于连接时候的同步位 一般和ACK一起使用表示 是否能建立连接
		3.FIN:用于连接释放的时候使用 
		※4.RST:表示当前报文段是否要重新建立连接
		※5.PSH:提示接收端要尽快取走当前缓冲区的数据 不需要等到缓冲区的数据满了再取 (赶快拿走)
		6.URG:紧急指针是否有效   URG=1 紧急指针有效 表示当前报文段的数据是紧急的 要快点传送
		
	紧急指针:表示紧急传送数据的大小 在 URG=1才有效
	
    ※窗口大小:TCP流量控制的手段 告诉发送方 当前报文段的缓冲区还能接受多少数据 告诉发送方自己收多少数据
    
    校验和:当前报文段在传输过程中有没有出现错误
    
    选项:可变长度的字段 表示当前tcp的一些拓展字段 如:最大报文段长度、窗口扩大、时间戳、选择确认
    
    填充:使当前TCP首部长度是4的整数倍

4.IP头部结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
源ip地址和目的ip地址

头部长度

可选字段:一些拓展功能

填充:让头部字段长度成为4的整数倍

首部检验和:判断当前ip数据包在运输过程中是否损坏



版本:当前ip协议使用的版本

区分服务:为了获取更好的服务

总长度:首部和数据部分的总长度

标识:唯一标识一个ip数据报

标志:为了分片而存在的字段 
	 如果为DF  DF=1 表示不可以分片 如果为0可以分片
	 如果为MF  MF=1 表示后面还有分片 如果为0则当前是最后一个
片偏移:分片相对于原始数据报开始处的偏移

生存时间:最大的跳数


5.⭐TCP三次握手和四次挥手的过程以及原因

1
2
3
4
三次握手: 建立全双工的一对一可靠连接

四次挥手: 释放连接

6.⭐简述TIME_WAIT和CLOSE_WAIT的区别

7.⭐TCP协议-如何保证可靠传输

1
2
3
4
5
6
7
8
9
10
11
12
13
1.序号和ACK
2.头部校验和
3.超时重传
4.流量控制
5.拥塞控制
	慢开始
		拥塞窗口慢慢变大 
	拥塞避免
		拥塞窗口加法增大
	快重传
		连续收到三个重复确认就立即重新发送对方未收到的数据 不必等待设置的重传计时器到期
	快恢复
		从拥塞避免开始

8.DNS域名解析

9.⭐HTTP报文结构

HTTP请求报文结构
1
2
3
4
5
6
7
8
9
10
11
12
请求行:
	方法:对请求对象的操作
		※GET:查看请求的url资源
		※POST:添加请求的url资源
		PUT:修改请求的url资源
		DELETE:删除请求的url资源
	⭐URL:统一资源定位符:从互联网上得到资源和访问这些资源的方法
	版本:http的版本
		http1.1支持 长连接 流水线 
⭐请求头部
	首部字段和值  
请求数据
HTTP响应报文结构
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
状态行:
	版本:http的版本号
	状态码:响应的状态
		1xx:表示通知信息
		2xx:表示请求成功信息
			200:请求成功
		3xx:表示完成某些请求之前还要做的事
			301:永久重定向
			302:临时重定向
		4xx:表示客户端错误信息
			400:客户端内部语法错误
		   ※401:客户端未经授权
			403:服务器拒绝访问
			404:目标资源找不到 url错误
		5xx:表示服务器错误信息
			500:服务器内部发生不可预期的错误
			503:服务器收到请求但是不能处理 过一段时间可能恢复正常
	短语:
响应头部
	首部字段和值  
响应数据

⭐10.Get和Post的区别

1
2
3
4
5
6
作用
安全
参数
幂等
缓存
底层

⭐11.Cookie和Session以及它们的区别

1
2
3
4
存储位置
支持存储的数据类型
数据大小
安全性

12.短链接、长连接和流水线

1
2
3
短连接: 
长连接:
流水线:

⭐13.Http和Https以及它们之间的区别

1
SSL使https 有了 加密 认证和完整性的功能 证书授权

14.Http和Ftp的区别

1
2
3
4
5
6
7
8
9
同:
	都是应用层的协议
	都是建立在tcp协议的基础上
	
异:
	http是超文本传输协议 面向网页  		    ftp是文件传输协议 面向文件
	http控制信息 带内传送         		   ftp是带外传送
	http是无状态的					    ftp则需要在整个会话期间 保存用户的状态信息
	http使用持久连接和非持久连接都可以       ftp是传输文件的时候 使用控制连接(持久连接)和数据连接(非持久连接)

⭐15.输入一个网址背后的原理

1
2
3
4
5
6
7
8
1.输入URL
2.DNS解析
3.建立TCP连接(三次握手)
4.浏览器发送http请求报文
5.服务器做响应 然后发回http响应报文
6.浏览器获取到响应信息 然后解码 进行页面的渲染 
7.浏览器发送异步请求 请求数据
8.TCP连接的释放(四次挥手)
本文由作者按照 CC BY 4.0 进行授权