计算机网络基础(未完结)

1.HTTP协议(超文本传输协议)

HTTP:用于从web服务器传输超文本到本地浏览器。

HTTP是应用层上的协议,使用了面向连接的TCP作为传输层协议,保证数据的可靠传输。但HTTP本身是无连接的。也就是说通信双方在交换HTTP报文前不需要先建立连接。
HTTP协议是无状态的,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时相同。

在浏览器地址栏键入URL,按下回车之后会经历以下流程:

1、浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;

2、解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;

3、浏览器发出HTTP 请求报文,作为 TCP 三次握手的第三个报文的数据发送给服务器;

4、服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;

5、释放 TCP连接;

6、浏览器解析HTML内容;


HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。

2.DNS协议(域名解析协议):实现域名与IP地址之间的转换

1.IP地址是面向主机的,而域名则是面向用户的
2.域名和IP的对应关系保存在一个叫hosts文件中,由DNS系统维护;
3.用户输入域名后,由DNS服务器检索数据库,得到对应的IP地址;
4.DNS是应用层协议,DNS服务启动时会同时开启TCP53号端口以及UDP53号端口,首先用UDP这个较快速的数据传输协议来查询,若没有查询到完整信息,就会再次用TCP协议来重新查询。

DNS解析域名到IP有三个阶段:

  1. 本地DNS缓存解析
  2. 本地DNS服务器解析,递归查询
  3. 各级域名服务器解析,迭代查询

DNS域名结构:根域名服务器 -> 顶级域名服务器 -> 权限域名服务器 -> 本地域名服务器 -> 主机

递归查询:主机<——>本地域名服务器<——>根域名服务器<——>顶级域名服务器<——>权限域名服务器

迭代查询 :
主机——>本地域名服务器
本地域名服务器<——>根域名服务器
本地域名服务器<——>顶级域名服务器
本地域名服务器<——>权限域名服务器
本地域名服务器——>主机


3.TCP协议——传输层

(1)TCP三次握手建立连接:客户端A,服务器B

第一次握手:A向B发起连接请求时发送同步序列号SYN=x到B,然后A状态变为SYN-SENT;
第二次握手:B收到A的SYN后,发送确认包ACK=x+1,同时发送一个序列号SYN=y,然后B状态从LISTEN变为SYN-RCVD;
第三次握手:A收到B的SYN和ACK后,发送确认包ACK=y+1,发送完毕后A状态变为ESTABLISHED,待B收到A的SYN后,B状态也变为ESTABLISHED;
TCP连接成功。

(2)TCP四次挥手断开连接

断开连接请求可以由客户端发出,也可以由服务器端发出,在这里我们称A端向B端请求断开连接。

第一次挥手:A向B请求断开连接时向B发送FIN=u,然后状态从ESTABLISHED变为FIN-WAIT-1;
第二次挥手:B收到A的FIN后,先向A发送一个确认号ACK=u+1,然后状态从ESTABLISHED变为CLOSE-WAIT,继续传输数据;A收到B的ACK后,状态从FIN-WAIT-1变为FIN-WAIT-2,继续等待;
第三次挥手:B数据传输完成后,向A发送FIN=w,状态从CLOSE-WAIT变为LAST-ACK,等待A的最后确认;
第四次挥手:A收到B的FIN后,向B发送ACK=w+1,状态从FIN-WAIT-2变为TIME-WAIT,等待两个MSL时长后断开连接,状态从TIME-WAIT变为CLOSED;B收到A的ACK后直接断开连接,状态从LAST-ACK变为CLOSED;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值