Web协议(一)

以太网帧格式:

           Web协议(一)_第1张图片

1.源地址和目的地址值得是网卡的硬件地址(MAC地址),出厂时固化。

2.帧协议类型字段有三种值:IP、ARP、RARP。

3.帧末尾是CRC效验码。


认识MAC地址

1.MAC地址用来标识数据链路层中相邻的节点

2.在网卡出厂时就确定,基本不能修改。

3.长度位48位,一般用16进制加冒号表示

MAC地址描述的是路途上每一个区间的起点和终点

IP地址描述的是每一个区间的起点和终点


MTU:MAC帧的有效载荷

MTU相当于发送数据时对数据大小的限制,这个限制是不同的数据链路对应的物理层产生的限制。

1.以太网数据帧长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节要补充。

2.最大1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU

3.如果数据包从以太网到链路上,数据包长度大于链路的MTU,则需要对数据分片。

4.不同的数据链路层标准的MTU也是不同的。


MTU对IP的影响:

由于MTU的限制,要对较大的IP数据包进行分包。

1.将打包分为小包,并给小包打上标签

2.每个小包IP协议头的16位标识(id)都是相同的。

3.每个小包IP协议头的3位标志字段中,第二位置为0,表示允许分片,第三位表示结束标志(表示当前是否最后一个包,是为1,否为0).

4.如果有小包丢失,接收端重组就会失败,但是IP层不会负责重新传输数据。


MTU对IP的影响:

如果UDP携带数据包长度超过1472(减去20位IP首部和8位UDP首部),那么就会在网络中分为多个IP数据包。但是UDP协议是不可靠的协议,那么数据包丢失的概率就会大大增加。

MTU对TCP的影响:

1.TCP的数据报不是无限大,也要受限于MTU,TCP的单个数据报的最大长度,称为MSS。

2.TCP在建立连接的过程中,通信的双方会进行MSS协商。

3.最理想状态,MSS的值正好是IP数据不会被分片的最大长度。(受限MTU)

4.双方在发送SYN时会在TCP的头部写入自己能支持的MSS。

5.选择最小的MSS当作最终的MSS。

6.MSS在TCP首部的40字节变长选项中。


ARP协议(将IP地址转换为MAC地址)介于数据链路层和网络层之间的协议

作用:建立了主机IP地址和MAC地址的映射关系

1.在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址;

2.数据包首先被网卡首先是被网卡接收到再去处理上层的协议,如果接收到的数据包的硬件地址于本机不负,则直接丢弃

3.通讯前必须获得目的主机的硬件地址

ARP通讯的工作流程:

Web协议(一)_第2张图片

    每个主机都有一个ARP缓存表。ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址-->MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。

    为使广播量最小,ARP维护IP地址到媒体访问控制地址映射的缓存以便将来使用。ARP缓存可以包含动态和静态项目。动态项目随时间推移自动添加和删除。静态项目一直保留在缓存中,直到重新启动计算机为止。
  

  每个动态ARP缓存项的潜在生命周期是10分钟。新加到缓存中的项目带有时间戳,如果某个项目添加后2分钟内没有再使用,则此项目过期并从ARP缓存中删除;如果某个项目已在使用,则又收到2分钟的生命周期;如果某个项目始终在使用,则会另外收到2分钟的生命周期,一直到10分钟的最长生命周期。

ARP数据报格式:

Web协议(一)_第3张图片


DNS(域名系统):

    DNS属于典型的应用层协议,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上

用户输入域名的时候,会自动查询DNS服务器,由DNS服务器检索数据库,得到对应的IP地址,至今,我们的计算机上仍然保留了hosts文件,在域名解析的过程中,会优先查找hosts中的内容。


域名服务器的层级结构:

Web协议(一)_第4张图片

解析过程:(图解HTTP)

Web协议(一)_第5张图片


URL(统一资源定位符)与URI(统一资源标识符):

    相比URI我们更熟悉URL,因为URL正是使用Web浏览器等时,访问Web页面时需要输入的网页地址。

    URI用字符串标识某一互联网资源,而URL表示资源的地点(互联网上所处的位置)。可见URL是URI的子集。

URI的格式:

Web协议(一)_第6张图片


服务器地址:使用URI必须指定待访问的服务器地址,地址可以是DNS可解析的名称,或者是IPv4或IPv6的地址名。

服务器端口号:指定服务器连接的网路端口号,为可选项,若用户省略则使用默认端口号。

带层次的文件路径:指定服务器上的文件路径来定位特指的资源。

查询字符串:针对已经指定的文件路径内的资源,可以使用查询字符串传入任意参数。可选。

片段标识符:可以标记已获取资源中的子资源(文档中的某个位置)。





你可能感兴趣的:(学习笔记,Linux)