计算机网络

发布时间 2023-08-31 20:47:22作者: 不正从心szd

1. OSI七层网络模型及协议

 2. TCP和UDP的区别

 

1. OSI七层网络模型及协议

应用层:为特定应用程序提供数据传输服务(HTTP、FTP、DNS、SMTP)

表示层:对上层信息进行变化,保证一个主机应用层信息被另一个主机的应用程序理解,包括数据的加密、压缩、格式转换

会话层:管理主机之间的会话进程,负责建立、管理、终止。

传输层:提供端对端的结构,监控数据传输服务的质量,保证报文的正确传输(TCP、UDP)

网络层:为数据包选择路由,为报文选择最适当的路径,定义了IP地址(IP、ICMP)

数据链路层:解说物理层的位流形式的数据,并封装成帧,传输有地址的帧送到上层(可逆),错误检测功能(PPP)

物理层:以二进制数据形式在物理媒介上传输数据

 

HTTP:超文本传输协议,用来访问在网页服务器上的各种页面

FTP:文件传输协议

DNS:域名解析服务,实现主机域名到IP地址之间的转换

TCP:传输控制协议,可靠的连接服务

UDP:提供了无连接通信,不可靠

IP:互联网协议,无连接、不可靠服务,将传输层的数据封装成熟举报,并完成原站点到目的站点的转发

ICMP:报文控制协议

PPP:点对点协议,多用于广域网

 

2. TCP和UDP的区别

① TCP是面向连接(三次握手)的传输,UDP是无连接的传输

② TCP有流量控制,拥塞控制,检验数据是否按顺序到达,UDP都没有

③ TCP 额路由选择只发生在建立连接的时候,而UDP的每个报文都要进行路由选择

④ TCP是可靠性传输,它的可靠性是由超时重发机制实现的,而UDP则是不可靠传输

⑤ UDP少了很多控制信息,传输速度比TCP快

⑥ TCP适用于大量数据传输,UDP适用于传输少量数据

⑦ TCP是面向字节流的传输,UDP是面向报文的传输

 

3. 键入网址到网页显示期间发生了什么?

① 解析URL网址,生成HTTP消息

 ②查询Web服务器域名对应的IP地址

www.server.com就是一个域名,越靠右层级越高

查询过程:

  客户端首先发出一个DNS请求,发送给本地DNS服务器(客户端的TCP/IP设置中填写的DNS服务器地址)

  本地域名服务器如果缓存内有该域名,则直接返回IP地址,如果没有,则会去询问根域名服务器

  根域名服务器将返回顶级域名服务器地址给本地DNS,本地DNS收到后再去询问顶级域名服务器

  顶级域名服务器再返回更第一及的域名服务器地址给本地DNS,本地DNS依次向下访问,直到找到对应的IP地址并返回给本地域名服务器

③获得IP地址后,即可建立TCP/IP连接

三次握手:

  客户端向服务器发送连接请求,这个请求称为SYN,客户端为SYN_SENT状态

  服务器受到SYN包后,返回一个ACK确认包,并发送自己的SYN,服务器变为SYN_RCVD状态

  客户端接收到ACK包后,向服务器发送一个ACK确认包,客户端变为Established状态,即建立连接

 

 三次握手的目的:防止已经失效的连接请求报文突然又传送到了服务端,因而产生错误

④发送HTTP请求

  TCP三次握手结束后,确认数据传输可靠后,开始发送HTTP请求报文

⑤服务器收到HTTP请求后进行处理,并产生一个相应,以响应报文的形式返回客户端

⑥客户端根据服务端返回的响应报文渲染页面并进行展示

⑦TCP四次握手断开连接

四次握手:

  客户端发送一个FIN,告诉服务器想要关闭连接

  服务器收到FIN后,返回确认包ACK

  服务器于此同时通知应用程序关闭网络连接,应用程序关闭后,服务器会发送FIN给客户端

  客户端收到FIN后发送ACK确认报文给服务端