参与浏览网站的重要名词
1、MAC地址也叫硬件地址、物理地址。那这个东西就是设备你出厂的时候就会带有的,详情跳转,其构成如下:
MAC地址用16进制表示,就是一共有12位,前六位他们会像一个国际的这种专门组织去申请前六位的那个号码,
2、IP实质就是一个连接上网的一个身份证。只要你这个设备接入了网络,你就会获得一个IP地址,这个IP地址是一般是由那个通信商分发的。
3、DNS是互联网使用的命名系统,用于人们使用的机器名字(域名)转换为IP地址。当我们在浏览器中搜索某个域名地址时,用户主机首先会在DNS高速缓存中寻找该域名的IP地址,若没有找到,则会向网络中的某台DNS服务器进行查询。
DNS服务器中有域名和IP地址映射关系的数据库,当查询到访问域名的IP地址后,发送给主机
www.bilibili.com就是域名,是DNS系统中的一部分
4、统一资源定位符URL是用来表示从互联网上得到的资源位置和访问这些资源的方法。URL给资源的位置提供一种抽象的识别方法,并进行定位。在哔哩哔哩的网址(例如
www.bilibili.com
)前面加上https://
,它就变成了一个完整的URL(统一资源定位符)。他后面还可以接端口号加上路径这些东西的,但是我们一般可以省略。
各类协议简述
FTP与HTTP协议
- FTP叫做文件传输协议。那么这两个协议呢,他们都可以作为我们URL的协议字段填充进来,
https://www.bilibili.com
,这里前面HTTPS也可以改成FTP。
- FTP的服务器熟知端口号为21、20;HTTP的服务器的端口号是80
RIP、BGP和OSPF
这三个是我们在路由选择那一块,这样的就是为了路由器来选择最佳的路径。
- 那么RIP和OSPF呢是一个内部网关协议,就是说自治系统内的一个路由选择协议。而BGP是一个自治系统间的选择协议。
- RIP它是基于UDP的,(可以理解为RIP协议封装在UDP报文段中)所以它是一个不可靠的无连接的协议;然后OSPF协议是基于IP协议进行通信的——参照图例。BGP(边界网关协议)是基于TCP的。
- 在BGP的运行过程中,路由器之间会先通过TCP三次握手建立连接
TCP协议与UDP协议
- TCP协议是面向连接的可靠的协议,UDP是无连接的不可靠的协议。
- TCP虽然可靠,但是经历的时间就要更多,它携带的信息也更多。TCP首部一般为20字节;UDP首部只有8个字节,实时音视频和直播之类的更适合UDP。
IP层协议
- IP地址分为两部分,一个是网络号,后面是主机号,这两个部分共同构成了IP的这一段数字。
- 主机号为全1的话,就代表了这是一个广播和广播的信息。
- 主机号是127的话,它是一个环回地址,用来测试网络可达性
- 网络号主机号全都是0,那就代表是本网络的本台主机。
- 划分子网:利用主机号的前几位将它作为子网号,跟前面的网络号并在一起,然后你后面这几位就是子网号。
- 子网掩码:而1的个数就是网络前缀的长度,后面的这个主机号都标为0,就是它的啊子网掩码。
- 划分的子网与子网掩码的关系
- 路由聚合:如果几个连续的、小的 CIDR 地址块具有相同的下一跳路由器,则可以把这几个小的地址块合并成一个大的地址块。
- ICMP:由差错报告报文和询问报文两种,
- 可以进行差错报告
- 可以测试这个网络延迟
- 可以进行路由追踪
- ARP:它的作用是将IP地址转化为MAC地址;这个RARP就是一个反向的将MAC地址转化为IP地址。
打开网站的具体过程
用浏览器点击链接访问网站
假如我现在要访问这个这个网站,点进了这个URL。
1、首先我的主机它会在它的本地缓存里面去找DNS缓存里面去找,我之前有访问过这个网页吗?如果有的话,就可以直接用。
2、如果没有的话,他就得去本地DNS服务器去找这个东西。
3、如果还是没有,则使用两种查询方式访问权限域名服务器(详情请看)
4、最终主机拿到bilibili服务器的IP地址
三次握手建立TCP连接
主机拿到服务器的IP地址后,首先进行的是三次握手来建立TCP连接
1、三次握手,使主机与服务器建立TCP连接
2、其他层协议在三次握手中的作用
- ARP:在局域网中,网络层协议ARP解析IP地址以获取目标设备的MAC地址。
- 这里还涉及到ARP的跨网络寻址,当ARP跨网络寻到MAC地址后,数据包会被封装成数据帧,其中包含了源MAC地址、目标MAC地址、数据以及必要的控制信息。
- ICMP:在网络诊断和错误报告中使用,但不直接参与三次握手。
发送http报文
http报文的封装(准备部分)
http报文的实干部分
三次握手时已经知道了服务器的mac地址,保存在ARP高速缓存中直接调用即可。
- MAC帧到达物理层时将以比特流的方式传输到路由器,
- 网络设备的处理:当比特流到达路由器时,路由器会解析MAC帧,查找路由表,并根据目的IP地址将数据包转发到下一跳的路由器或目标主机。
- 服务器的处理:目标服务器接收比特流,并将其转换回MAC帧,服务器解析MAC帧,提取IP数据包,并进一步解析TCP段和HTTP请求。服务器处理HTTP请求,并返回相应的HTTP响应。