输入网址后发生了什么? TCP/IP五层协议?

2022-09-28 13:28:58 浏览数 (2)

输入网址后发生了什么

输入url

统一资源定位器uniform resource locator

url组成

代码语言:javascript复制
https://www.baidu.com/
协议://域名[:端口]/路径

file:///H:/BaiduNetdiskDownload/

url作用

定位指定的资源.

url是uri的一个子集, uri是唯一标识符的意思. 身份证可以是uri, 但不是url.

DNS解析

域名系统Domain Name System, 将域名解析为IP地址

  • 域名解析流程 域名(www.baidu.com) -> DNS服务器->返回真实的IP地址36.152.44.96:443 -> 通过IP地址访问服务器

客户端与服务器建立连接.

客户端和服务端要互相确认身份, 建立连接通道后再发送数据

客户端正式向服务端发送请求.

服务端处理请求并返回结果

浏览器接收到响应后, 做相应的渲染

TCP/IP五层协议

代码语言:javascript复制
https://www.cnblogs.com/xjtu-lyh/p/12416763.html

应用层

为进程(客户端应用)和进程(服务器应用)之间提供服务. 应用层协议定义了应用之间进行数据交互的方式.

代码语言:javascript复制
浏览网页
网易云
用python模拟请求
  • 应用层协议
    • HTTP/HTTPS(超文本传输协议)
    • DNS(域名系统)
    • FTP(文件传输协议)
    • SMTP(邮箱传输协议)

传输层

负责向两个主机应用进程的通信提供服务.

一个主机可以开启不同的因看应用, 同不同的服务器之间进行通信, 但是都是共用一个传输服务来发送和接受信息

代码语言:javascript复制
进程 <---> 进程

传输层协议

TCP(传输控制协议)

提供面向连接, (尽可能)可靠的数据传输服务.

代码语言:javascript复制
一对一
代码语言:javascript复制
面向连接指的就是, 客户端和服务端进行三次交互验证, 也就是TCP三次握手. 建立连接后才可以发送数据.
  • 文件传输(FTP)
  • 浏览网页(HTTP)

UDP(用户数据协议)

提供无连接的, 不保证数据传输的可靠性

代码语言:javascript复制
一对多, 一对一, 多对多...
  • 直播
  • 实况游戏

网络层

决定了数据的转寄和路径选择, 封装和分组运输层产生的报文段/用户数据段.

代码语言:javascript复制
主机 <---> 主机

网络层协议

IP协议

公网IP

也就是指的传统IP地址, 是唯一的.

局域网IP

代码语言:javascript复制
ipconfig

数据链路层

负责两台主机之间的数据传输, 向网路层提供数据传输服务

代码语言:javascript复制
网卡 <---> 网卡
  • 数据链路层的作用 比特流在传输媒介上传输时肯定有误差, 数据链路层的作用就是检错和纠错
    • *流量控制
    • 差错检测
    • 差错控制

物理层

物理层再局部局域网上传送数据帧, 在设备节点传输比特流.

代码语言:javascript复制
光纤 <---> 光纤

物理层和数据链路层

代码语言:javascript复制
物理层才是真正传输数据的, 数据链路层是用来检查数据完整性的.

0 人点赞