计算机网络
应用层:为特定应用程序提供数据传输服务(HTTP、FTP、DNS、SMTP)
表示层:对上层信息进行变化,保证一个主机应用层信息被另一个主机的应用程序理解,包括数据的加密、压缩、格式转换
会话层:管理主机之间的会话进程,负责建立、管理、终止。
传输层:提供端对端的结构,监控数据传输服务的质量,保证报文的正确传输(TCP、UDP)
网络层:为数据包选择路由,为报文选择最适当的路径,定义了IP地址(IP、ICMP)
数据链路层:接收物理层的位流形式的数据,并封装成帧,传输有地址的帧送到上层(可逆),错误检测功能(PPP)
物理层:以二进制数据形式在物理媒介上传输数据
HTTP:超文本传输协议,用来访问在网页服务器上的各种页面
FTP:文件传输协议
DNS:域名解析服务,实现主机域名到IP地址之间的转换
TCP:传输控制协议,可靠的连接服务
UDP:提供了无连接通信,不可靠
IP:互联网协议,无连接、不可靠服务,将传输层的数据封装成熟举报,并完成原站点到目的站点的转发
ICMP:报文控制协议
PPP:点对点协议,多用于广域网
① TCP是面向连接(三次握手)的传输,UDP是无连接的传输
② TCP有流量控制,拥塞控制,检验数据是否按顺序到达,UDP都没有
③ TCP 额路由选择只发生在建立连接的时候,而UDP的每个报文都要进行路由选择
④ TCP是可靠性传输,它的可靠性是由超时重发机制实现的,而UDP则是不可靠传输
⑤ UDP少了很多控制信息,传输速度比TCP快
⑥ TCP适用于大量数据传输,UDP适用于传输少量数据
⑦ TCP是面向字节流的传输,UDP是面向报文的传输
① 解析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确认报文给服务端
TOP