互联网协议(Internet Protocol Suite)

文章目录:

一:从系统角度(解释互联网是如何构成的,协议的设计思想)

二:从用户的角度(解释结构是如何发挥作用,完成网络数据交换的)


参考:阮一峰

一:从系统角度(解释互联网是如何构成的,协议的设计思想

五层模型(也有四层和七层的)

越下面的层,越靠近硬件;越上面的层,越靠近用户:如果理解话从下往上面看,上层的变动完全不涉及下层的结构

    "应用层"(Application Layer):规定应用程序的数据格式。应用程序收到"传输层"的数据,接下来就要进行解读


    "传输层"(Transport Layer):就是建立"端口到端口"的通信
                                 端口(port):一个参数,表示这个数据包到底供哪个程序(进程)使用,就是使用网卡的程序的编号
                                 套接字(socket):确定主机+端口,我们就能实现程序之间的交流
                                 UDP协议:在数据包中加入端口信息,UDP数据包=标头+数据
                                          优点是比较简单,容易实现,但是缺点是可靠性较差,一旦数据包发出,无法知道对方是否收到
                                 TCP协议:有确认机制的UDP协议,每发出一个数据包都要求确认
                                          优点能够确保数据不会遗失。它的缺点是过程复杂、实现困难、消耗较多的资源
                                          没有长度限制,理论上可以无限长,通常长度不会超过IP数据包的长度


    "网络层"(Network Layer):建立"主机到主机"的通信
                               网络地址:作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络
                                         网络地址帮助我们确定计算机所在的子网络,MAC地址则将数据包送到该子网络中的目标网卡
                               IPV4:规定网络地址的协议
                               IP地址:地址分成两个部分,前一部分代表网络,后一部分代表主机
                               子网掩码(subnet mask):判断两台计算机是否属于同一个子网络,就是表示子网络特征的一个参数。它在形式上等同于IP地址
                                                        通过将两个IP地址与子网掩码分别进行AND运算看结果是否相同
                               IP数据包:根据IP协议发送的数据包
                               ARP协议:能够从子网络IP地址得到MAC地址,这里是两台主机在同一个子网络。如果不在同一个子网络交给网关去处理


    "链接层"(Link Layer):确定了0和1的分组方式
                            以太网协议:一组电信号构成一个数据包/"帧"(Frame)分成两个部分标头(Head)+数据(Data)
                                       "标头"包含数据包的一些说明项,比如发送者、接受者、数据类型等等;"数据"则是数据包的具体内容。
                            MAC地址:连入网络的所有设备,都必须具有"网卡"接口。数据包必须是从一块网卡,传送到另一块网卡。
                                     网卡的地址,就是数据包的发送地址和接收地址,都是独一无二的地址,可以定位网卡和数据包的路径
                            广播(broadcasting):发送一个数据包,接收者读取这个包的"标头",找到接收方的MAC地址,然后与自身的MAC地址相比较,
                                                  如果两者相同,就接受这个包,做进一步处理,否则就丢弃这个包


    ”实体层"(Physical Layer):把电脑连接起来的物理手段。它主要规定了网络的一些电气特性,作用是负责传送0和1的电信号

数据包的结构 

 

发送数据包的条件
      同一个子网络:对方的MAC地址+对方的IP地址
    非同一个子网络:网关的MAC地址+对方的IP地址

二:从用户的角度(解释结构是如何发挥作用,完成网络数据交换的

静态IP地址:本机的IP地址 + 子网掩码 + 网关的IP地址 + DNS的IP地址
动态IP地址:计算机开机后,会自动分配到一个IP地址,不用人为设定。它使用的协议叫做DHCP协议

DHCP协议:应用层协议
          每一个子网络中,有一台计算机负责管理本网络的所有IP地址,它叫做"DHCP服务器"
          新的计算机加入网络,必须向"DHCP服务器"发送一个"DHCP请求"数据包,申请IP地址和相关的网络参数

 

 

(1)最前面的"以太网标头",设置发出方(本机)的MAC地址和接收方(DHCP服务器)的MAC地址。前者就是本机网卡的MAC地址,后者这时不知道,就填入一个广播地址:FF-FF-FF-FF-FF-FF。

(2)后面的"IP标头",设置发出方的IP地址和接收方的IP地址。这时,对于这两者,本机都不知道。于是,发出方的IP地址就设为0.0.0.0,接收方的IP地址设为255.255.255.255。

(3)最后的"UDP标头",设置发出方的端口和接收方的端口。这一部分是DHCP协议规定好的,发出方是68端口,接收方是67端口。



以太网是广播发送,同一个子网络的每台计算机都收到了这个包。
因为接收方的MAC地址是FF-FF-FF-FF-FF-FF,看不出是发给谁的,所以每台收到这个包的计算机,还必须分析这个包的IP地址,才能确定是不是发给自己的。
当看到发出方IP地址是0.0.0.0,接收方是255.255.255.255,于是DHCP服务器知道"这个包是发给我的",而其他计算机就可以丢弃这个包
接下来,DHCP服务器读出这个包的数据内容,分配好IP地址,发送回去一个"DHCP响应"数据包。
这个响应包的结构也是类似的,以太网标头的MAC地址是双方的网卡地址,IP标头的IP地址是DHCP服务器的IP地址(发出方)和255.255.255.255(接收方),
UDP标头的端口是67(发出方)和68(接收方),分配给请求端的IP地址和本网络的具体参数则包含在Data部分。
新加入的计算机收到这个响应包,于是就知道了自己的IP地址、子网掩码、网关地址、DNS服务器等等参数。

网络数据交换,互联网协议的整个通信过程:从上层到下层

1.设置本机参数  

2.DNS协议

DNS协议:将网址转换成IP地址

3.子网掩码 :判断,这个IP地址是不是在同一个子网络,二进制的AND运算

4.应用层协议:浏览网页用的是HTTP协议

5.TCP协议:需要设置端口

6.IP协议:TCP数据包再嵌入IP数据包。IP数据包需要设置双方的IP地址

7.以太网协议:IP数据包嵌入以太网数据包。以太网数据包需要设置双方的MAC地址

8.服务器端响应:经过多个网关的转发,服务器收到了以太网数据包

                            根据IP标头的序号将包进行拼结,取出完整的TCP数据包,然后读出里面的"HTTP请求",接着做出"HTTP响应",再用TCP协议发回来

                            收到HTTP响应以后,就可以将网页显示出来,就完成一次网络通信文章来源地址https://uudwc.com/A/P5xDj

原文地址:https://blog.csdn.net/liu17234050/article/details/131599127

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年07月08日 06:53
下一篇 2023年07月08日 06:54