计算机网络第四章——网络层(中)

提示:待到山花烂漫时,她在丛中笑。

文章目录



需要加头加尾,其中头部最重要的就是加了IP地址和MAC地址(也就是逻辑地址和物理地址)集线器物理层设备,交换机是物理链路层的设备,如上图路由器左边就是一个局域网,若是文件比较大就需要在传输层进行分段,在网络层进行封装就需要加上IP地址形成一个IP数据报,要加两个一个是源主机的地址,一个是目的主机的地址,(传输层要讲)根据这个DNS就可以将目的地址填入,分组通常是数据报分片之后的结果,为什么要进行分片可能是因为这个链路层的协议要求的最大传输单元有一个是MTU,根据MTU来决定是否要在网络层进行分片,然后构成一个IP数据报,然后再数据链路层加上一个MAC地址,每一个主机或者说每一个路由器都会有一个ARP高速缓存可以把他想想成是一个仓库,这个仓库存的就是IP地址和MAC地址的映射,也就是某一个IP地址对应的MAC地址应该是多少,当然所存的都是一个局域网内部的主机,若是没有找到就要使用ARP的协议,

就需要先发送一个ARP分组请求,其实是一个帧,这个数据帧的这几个部分,它自己的IP地址,它所查询的主机的IP地址,以及自己的MAC地址,还一个就是目的物理地址,这里能够看出来是全fFFF,也就是局域网内有广播效应的一个帧,若是MAC地址是广播地址的话,那么交换机就可以 将他从所有的端口转发出去,这里也就是2,3,还有连接的路由器,只有三号会响应,单播就是不是广播而是只发给1,

假如说要和五号主机进行通信,正常交换机是没有MAC地址的,只有这个主机和路由器的端口是有MAC地址的,路由器可以有多个MAC地址,IP地址,先来查看高速缓存自然是没有的,先用自己的子网掩码和目的IP地址也就是IP5向与,看看是否在自己的网段内,结果1号主机发现不在自己的网段内,然后查询默认网关的MAC地址,也就是他与外界沟通的路由器,下一跳(或者说下一个路)是可以跳到三个地方,2,3,和默认网关,然后如何得到MAC6的地址呢,依然是广播的形式获得默认网关IP6的MAC地址,

此时假设已经传输到了路由器这里,然后进行一个数据的解封装,然后最高到网络层,然后再从网络层开始封装,封装就是要加上这个源地址和目的地址,也就是IP1和IP5源地址和目的地址是不变的,当然目前是不考虑NAT那种请求的(若是NAT这个IP地址会发生改变的),这个物理地址是要发生变化了(因为到了一个新的网络内)它的源MAC和目的MAC都发生了改变,也就变长了这个的MAC7和下一个的MAC8,此时是一个点对点的通信也就是使用PPP协议,我们说过PPP协议中目的MAC是全1的,若不是点对点就是填MAC8,然后到了下一个路由器,然后依然是IP1和IP5这个是自始至终都是不变的,目的MAC地址就是MAC5,这个MAC5依然是使用ARP协议得来的,然后这个路由器也就知道下一跳要往哪走了,具体如何做到走5不走4的这就是链路层对数据帧进行转发的过程了,

局域网内部只能看懂MAC地址,有的主机没有找到就需要这个ARP协议,

也就是只要是发给本网络中的一个主机,那么只需要使用ARP获取这个主机的MAC地址,若是要发给另外一个网络,也就是不在同一个网络的主机或者路由器也就是需要通过默认网关,通过ARP找到这个默认网关的MAC地址,剩下的事交给这个网关就可以了,主机的用户对这个ARP的过程是不知情的,

6次ARP协议

结合了MAC地址和IP地址,但是主要是将其划分成网络层的协议,它是为IP协议来提供服务的,

主机在进行通信的时候,一定是需要一个IP地址,但是主机是如何获取一个IP地址的呢?这个默认网关就是这些主机它的数据得以进入外界的一个端口,通常都是一个路由器的接口的IP地址,只有通过这样一个默认网关才能与外界进行通信,手机到了一个教室中就会给它分配一个动态的IP地址,也就是通过DHCP服务器来进行分配的,主机走了这个分配的IP地址就会收回了,

之所以把这个应用层协议放到网络层来讲是因为这个协议为网络层的通信提供了一个基础,只有有了DHCP协议我们才有IP地址,才能延伸出许多的内容,

可以看出就是主机和服务器之间来回交互,这种方式就是客户服务器的方式,而且这四种方式都是使用广播的方式,

ICMP和IGMP是处于网络层和传输层之间的协议,ICMP协议起到一个桥梁的作用,也就是为了更好的转发IP数据报和提高交互成功的机会,

在实际的通信中总会有一些分组出错,在网络层的出来就是给它丢弃,并同时发送一个ICMP的差错报文,ICMP的报文是装在IP数据报的数据部分,所以ICMP是网络层的协议,

类型是为了指这个ICMP是那一类的,代码是为了区分某一个类型中具体的情况,这个检验和是为了检验整个ICMP报文的,(注意IP数据报的首部检验和是只检验首部,)

所有的ICMP差错报告报文,它们的数据字段的格式都是一样的,收到的需要进行差错报告的IP数据报首部以及前八个字节取出来,作为ICMP报文的数据字段,然后加上ICMP的前8个字节然后构成了一个完整的差错报告报文,然后加上IP数据报的首部就构成了一个完整的数据报,也就是ICMP差错报告报文是网络层传输单元的数据部分,

因为既然是封装成帧,自然是有可能还是出错的,

组播是一点到多点,广播是一点到所有结点,组播是有选择性的,

是有两个主机一个是源主机,一个是目的主机,源主机就会发送一连串的数据报,主要差别是生存时间是不一样的,然后就可以测算出从源点到终点之间的距离了,

支持Qos就可以满足实时的以及多媒体通信的需要,

也就相当于讲IPv4中的可变部分挪到了有效载荷当中,所以IPv6的基本首部就是固定的,这个扩展首部就是对这个数据报有什么要求,比如这个数据报要增加什么功能,也就是放在这个扩展首部来实现,因为有这个扩展首部原来IPv4中一些不必要的部分就可以先不用了,用的话只需要放在扩展首部中就可以了,IPv6灵活的首部格式就可以大大的加快分组处理的速度,
其中的扩展首部是可有可无的,有效载荷长度指的是有效载荷这个的长度是有多大,IPv4标识长度有两个字段,一个叫做首部长度字段,一个叫总长度字段,首部长度字段指的是首部的大小,总长度是首部加上数据部分的大小,而这里的有效载荷长度指的是扩展首部加上数据的大小,基本首部中的下一个首部指向的是扩展首部1,扩展首部1中的下一个首部指向的是扩展首部2,最后一个指向的是数据部分,跳数限制也就相当于IPv4中的生存时间,若是为零,返回一个ICMP差错报告报文,

如果没有校验和字段,对于数据报的首部的检验时间就缩短了,因此就可以减少每一跳的时间,

若是IPv6数据报很大,必须要进行分片,只能在路由器这里将其丢弃,然后返回一个差错报告报文,

IPv4的协议字段是指其中的数据使用的是哪一个协议,也就是分组的数据部分应该是交给的哪一个传输层协议,

只要前面有连续的0我们就可以对其进行压缩,

多播地址只能作为目的地址,不能作为源地址,多播地址可以包括广播地址,任播是IPV6独有的一种地址,是一对多的一个通信,本质上也是一对一的,通常是选择一个离他最近的一个主机,

隧道技术是一种使用比较广泛的技术,也就是将IPv6作为IPv4的数据部分进行传输,,



相关推荐
DC_BLOG30 分钟前
IPv6(四)
运维·服务器·网络·ip
明朝百晓生37 分钟前
无线感知会议系列【3】【基于WiFi和4G/5G的非接触无线感知:挑战、理论和应用-1】
网络·5g
城南云小白4 小时前
Linux网络服务只iptables防火墙工具
linux·服务器·网络
羌俊恩4 小时前
视频服务器:GB28181网络视频协议
服务器·网络·音视频
Flying_Fish_roe5 小时前
linux-网络管理-网络配置
linux·网络·php
hellojackjiang20116 小时前
即时通讯框架MobileIMSDK的H5端开发快速入门
网络·即时通讯·im开发
有时间要学习6 小时前
Linux——应用层自定义协议与序列化
linux·服务器·网络
Tony聊跨境6 小时前
什么是 SSL 代理?
网络·网络协议·ssl
我叫啥都行7 小时前
计算机基础知识复习9.7
运维·服务器·网络·笔记·后端
Monodye7 小时前
【Java】网络编程:TCP_IP协议详解(IP协议数据报文及如何解决IPv4不够的状况)
java·网络·数据结构·算法·系统架构