ip电话网关(ip电话网关)-pg电子平台

大家好!分享了这么久,一直想写一篇关于ip知识的内容,所以这期来了。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

好了,老规矩,发一段好听的音乐开始今天的内容分享。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

一.导言

在我们的日常生活中,所有能上网的电子设备都有ip地址,就像每个人都有自己的名字一样。

ip地址分为ipv4和ipv6,ip地址是指ipv4地址。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

在tcp/ip参考模型中,它位于第三层,即网络层。

网络层的主要功能是实现主机之间的通信,也叫点对点通信。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

所以在这一点上,还是给大家普及一下吧。计算机网络系统

计算机体系结构有三种:osi体系结构(七层)、tcp/ip体系结构(四层)和五层体系结构。

osi体系结构: 概念清楚,理论也比较完整,但是它既复杂又不实用。tcp/ip体系结构:tcp/ip是一个四层体系结构,得到了广泛的运用。五层体系结构:为了方便学习,折中osi体系结构和tcp/ip体系结构,综合二者的优点,这样既简洁,又能将概念讲清楚。ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

tcp/ip和osi最大的区别在于,osi是一种理论上的网络通信模型,而tcp/ip是一种实用的网络协议。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

看看五层网络架构的每一层的主要功能:

应用层:应用层是网络协议的最高层,主要任务通过进程间的交互完成特定网络应用。应用层协议定义的是应用程序(进程)间通信和交互的规则。对于不同的网络应用需要有不同的应用层协议,在互联网中的应用层协议很多,如域名系统dns,支持万维网应用的http协议,支持电子邮件的tp协议,等等。应用层交互的数据单元称为报文。运输层:有时也译为传输层,它负责为两台主机中的进程提供通信服务。该层主要有以下两种协议:传输控制协议 (tranission control protocol,tcp):提供面向连接的、可靠的数据传输服务,数据传输的基本单位是报文段(segment);用户数据报协议 (user datagram protocol,udp):提供无连接的、尽最大努力的数据传输服务,但不保证数据传输的可靠性,数据传输的基本单位是用户数据报。网络层:网络层负责为分组网络中的不同主机提供通信服务,并通过选择合适的路由将数据传递到目标主机。在发送数据时,网络层把运输层产生的报文段或用户数据封装成分组或 包进行传送。在tcp/ip体系中,由于网络层使用ip协议,因此分组也叫ip数据报。数据链路层:数据链路层通常简称为链路层。数据链路层在两个相邻节点传输数据时,将网络层交下来的ip数据报组装成帧,在两个相邻节点之间的链路上传送帧。物理层:保数据可以在各种物理媒介上进行传输,为数据的传输提供可靠的环境。

下面是应用过程的数据在层间传输过程中所经历的变化的简单示意图:

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

tcp/ip的架构比较简单,只有四层。

层次名称

单比特

功能

草案

网络接口

指绘画或书法

负责实际数据的传输,对应于osi参考模型的下两层

hdlc(高级链路控制协议)ppp(点对点协议)slip(串行线路接口协议)

网路层

数据报

负责解决网络间的数据传输,对应于osi参考模型的第三层。

ip(互联网协议)icmp(网络控制消息协议)arp(地址解析协议)rarp(反向地址解析协议)

传输层

消息段

负责提供可靠的传输服务,对应于osi参考模型的第四层。

tcp(控制传输协议)udp(用户数据保护协议)

应用层

负责所有与应用相关的功能,对应于osi参考模型的上三层。

ftp(文件传输协议)http(超文本传输协议)dns(域名服务器协议)tp(简单邮件传输协议)nfs(网络文件系统协议)

这种四层协议数据交换的示意图如下:

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

有些朋友分不清ip(网络层)和mac(数据链路层)的区别和关系。

其实很好区分。从上面我们知道,ip的功能是主机之间的通信,而mac的功能是实现两个“直连”的设备之间的通信,而ip负责两个“非直连”的网络之间的通信传输。

在区间内移动相当于数据链路层,起到区间内两个节点之间的传输功能。区间中的起点就像源mac地址,终点就像目的mac地址。

整个旅游行程相当于网络层,起到远程定位的作用。行程的开始就像源ip,行程的结束就像目的ip地址。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ip地址和目的ip地址在传输过程中不会改变,只有源mac地址和目的mac地址保持不变。

在tcp/ip网络通信中,为了保证正常通信,每个设备都需要配置正确的ip地址。否则无法实现正常沟通。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

1.1的定义。ip地址:

ip地址(ipv4地址)由32位正整数表示。tcp/ip通信要求将此类ip地址分配给参与通信的每台主机。ip地址在计算机内部以二进制模式处理。但由于人类社会不习惯使用二进制,所以需要一种特殊的标记方法。也就是说,32位ip地址被分成4组,每组没有8位,每组之间用“.”隔开,每组中的数字都转换为十进制数。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

那么,最大ip地址是

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

也就是说,最多允许43亿台电脑连接网络。

其实ip地址不是根据主机数量配置的,而是根据网卡配置的。服务器、路由器等设备都有两个以上的网卡,也就是会有两个以上的ip地址。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

每个网卡可以分配多个ip地址。

所以43亿台电脑其实不可能全部联网,更何况ip地址是由“网络id”和“电脑id”两部分组成的,所以实际能联网的电脑数量要少得多。

互联网初期,ip地址很丰富,所以计算机科学家设计了分类地址。

ip地址分为五种类型,即a类、b类、c类、d类和e类。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ip地址分类

上图黄色部分是分类号,用来区分ip地址类别。

什么是a、b、c类地址?

其中a、b、c型主要分为两部分,即网络号和主机号。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

利用下表我们可以清楚的知道a、b、c类对应的主机的地址范围和最大数量。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

如何计算a、b、c分类地址中的最大主机数量?

主机的最大数量取决于主机号的位数。例如,如果c类地址的主机数量占8位数,那么c类地址的最大主机数量为:

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

为什么要减去2?

因为在ip地址中,有两个ip地址比较特殊,就是主机号全1和全0的地址。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

主机号全为 1 指定某个网络下的所有主机,用于广播主机号全为 0 指定某个网络

所以在分配的过程中,要杜绝这两种情况。

广播地址是做什么用的?

广播地址用于在同一链路中互连的主机之间发送数据包。

班里有播音的例子。准备上课的时候,班长一般会喊一声“同学们,大家起立!”听到这句话,班里的同学都站起来了吗?这句话有广播的意思。

当所有主机号都为1时,表示网络的广播地址。例如,172.20.0.0/16用二进制表示如下:

10101100.00010100.00000000.00000000

将此地址的所有主机部分更改为1,广播地址将形成:

10101100.00010100.11111111.11111111

如果这个地址用十进制表示,就是172.20.255.255。

广播地址可分为本地广播和直接广播。

在本网络内广播的叫做本地广播。例如网络地址为 192.168.0.0/24 在这情况下,广播地址是 192.168.0.255 。因为这个广播地址的 ip 包会被路由器屏蔽,所以不会到达 192.168.0.0/24 以外的其他链路上。在不同网络之间的广播叫做直接广播。例如网络地址为 192.168.0.0/24 的主机向 192.168.1.255/24 的目标地址发送 ip 包。收到这个包的路由器,将数据转发给 192.168.1.0/24,从而使得所有 192.168.1.1~192.168.1.254 所有主机都能收到这个包(由于直接广播有一定的安全问题,多数情况下会在路由器上设置为不转发。) 。ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

本地广播和直接广播

什么是d类和e类地址?

d类和e类地址没有主机号,因此不能用于主机ip。d类常用于组播,e类是保留分类,暂时不用。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

多播地址是做什么用的?

多播用于向特定组中的所有主机发送数据包。

还是全班的栗子,老师说:“最后一排的同学,上来做这道数学题。”老师是最后一排的同学,就是组播的意思。

因为广播无法穿透路由,所以如果要将同一个数据包发送到其他网段,可以使用可以穿透路由的组播。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

单播、广播、多播通信

用于组播的d类地址,前四位是1110,表示是组播地址,其余28位是组播组号。

从224.0.0.0到239.255.255.255都是组播的可用范围,可以分为以下三类:

224.0.0.0 ~ 224.0.0.255 为预留的组播地址,只能局域网中,路由器是不会进行转发的。224.0.1.0 ~ 238.255.255.255 为用户可用的组播地址,可以用于 internet 上。239.0.0.0 ~ 239.255.255.255 为本地管理组播地址,可供内部网在内部使用,仅在特定的本地范围内有效。

ip分类的优势

无论是路由器还是主机在解析一个ip地址的时候,我们都可以判断其ip地址的第一位是否为0,如果0是a类地址,那么就可以快速的找出网络地址和主机地址。

其他分类判断方法见下图:

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ip分类判断

所以这种分类地址的优点是简单明了,路由简单(基于网络地址)。

ip分类的缺点

不足之处

同一个网络中没有地址层级。比如某公司使用b类地址,但可能需要根据生产环境、测试环境、开发环境来划分地址层级。这种ip分类没有地址层次划分的功能,所以缺乏地址的灵活性。

缺点2

a类、b类、c类有一个尴尬的情况,就是不能很好的匹配真实网络。

c 类地址能包含的最大主机数量实在太少了,只有 254 个,估计一个网吧都不够用。而 b 类地址能包含的最大主机数量又太多了,6 万多台机器放在一个网络下面,一般的企业基本达不到这个规模,闲着的地址就是浪费。

这两个缺点可以在cidr无法归类的地址解决。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

由于肯定式ip分类存在诸多不足,提出了一种无分类地址的方案,即cidr。

这种方法不再有分类地址的概念。32比特币ip地址分为两部分,前面是网络号,后面是主机号。

网络号和主机号怎么分?

表示形式为a.b.c.d/x,其中/x表示前x位属于网络号,x的取值范围为0 ~ 32,使得ip地址更加灵活。

例如,10.100.122.2/24,此地址表示为cidr。/24表示前24位是网络号,其余8位是主机号。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

还有一种把网络号和主机号分开的方法,就是子网掩码,意思是把主机号掩盖起来,剩下的就是网络号。

通过子网掩码和ip地址逐位计算得到网络号。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

为什么要把网络号和主机号分开?

因为两台电脑要通讯,首先要确定是否在同一个广播域,也就是网络地址是否相同。如果网络地址相同,说明接收方在本地网络上,可以直接将数据包发送到目标主机。

在路由器寻址工作中,通过这种方式找到对应的网络号,然后将数据包转发到对应的网络。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ip地址的网络号

如何划分子网?

在上图中,我们知道网络号和主机号可以用子网掩码来划分。其实子网掩码还有一个作用,就是子网划分。

子网划分实际上将主机地址分为两部分:子网网络地址和子网主机地址。其形式如下:

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

未做子网划分的 ip 地址:网络地址+主机地址做子网划分后的 ip 地址:网络地址+(子网网络地址+子网主机地址)

假设c类地址划分了子网,网络地址为192.168.1.0,子网掩码为255.255.255.192。

c类地址的前24位是网络号,后8位是主机号。根据子网掩码,我们可以从8位主机号中借用2位作为子网号。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

因为子网网络地址分为2位,所以有4个子网地址,分别是00、01、10和11。具体分工如下:

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

下表显示了划分的四个子网:

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

在a、b、c分类地址中,实际上有公有ip地址和私有ip地址。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

通常我们办公室、家里、学校使用的ip地址都是私有ip地址。因为这些地址允许组织内的it人员自行管理和分配,并且可以重复使用。所以你学校的一个私有ip地址可以和我的一样。

就像每个小区都有自己的楼号和门牌号一样,你的小区家冬天可以叫101号,我的小区家冬天也可以叫101号,没有任何问题。但是一旦出了小区,就需要走中山路666号(公网ip地址),国家统一分配。不能两个小区都叫中山路666号。

因此,公共ip地址由一个组织统一分配。假设你想开一个博客网站,那么你需要申请一个公共ip,让全世界的人都可以访问。而且公网ip地址在整个互联网基本上是唯一的。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

公共ip地址和私有ip地址

谁管理公共ip地址?

私有ip地址通常由内部it人员管理,而公共ip地址由icann管理,中文称为互联网名称与数字地址分配机构。

iana是icann的机构之一,负责分配互联网ip地址,而且是按州逐层分配。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

arin 北美地区lacnic 拉丁美洲和一些加勒比群岛ripe ncc 欧洲、中东和中亚afrinic 非洲地区apnic 亚太地区

其中,在中国,由中国唯一指定的全球ip地址管理机构cnnic管理。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ip地址的网络地址用于路由控制。

路由控制表记录了网络地址和接下来应该发送给路由器的地址。主机和路由器都有自己的路由器控制表。

当发送一个ip包时,首先确定ip包报头中的目的地址,然后从路由控制表中找到一条网络地址相同的记录,根据该记录将ip包转发到对应的下一个路由器。如果路由控制表中有多个相同网络地址的记录,则选择相同位数最多的网络地址,即最长匹配。

下图中的网络链接作为示例进行了说明:

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ip地址和路由控制

主机 a 要发送一个 ip 包,其源地址是 10.1.1.30 和目标地址是 10.1.2.10,由于没有在主机 a 路由表找到与目标地址 10.1.2.10 的网络地址,于是把包被转发到默认路由(路由器 1 )路由器 1 收到 ip 包后,也在路由器 1 路由表匹配与目标地址相同的网络地址记录,发现匹配到了,于是就把 ip 数据包转发到了 10.1.0.2 这台路由器 2路由器 2 收到后,同样对比自身的路由表,发现匹配到了,于是把 ip 包从路由器 2 的 10.1.2.1 这个接口出去,最终经过交换机把 ip 数据包转发到了目标主机上

环回地址不会流向网络。

环回地址是一个默认地址,用于同一台计算机上的程序之间的网络通信。

计算机使用特殊的ip地址127.0.0.1作为交换地址。与此地址含义相同的是一个名为localhost的主机名。当使用此ip或主机名时,数据包不会流向网络。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

每条数据链的最大传输单位mtu是不一样的,比如fddi数据链mtu 4352,以太网mtu 1500字节。

每个数据链路的mtu是不同的,因为每个不同数据链路的目的是不同的。不同用途可以携带的mtu是不同的。

其中,我们最常见的数据链路是以太网,它的mtu是1500字节。

然后当ip包大小大于mtu时,ip包将被分段。

分片的ip数据报重组时,只能由目的主机进行,路由器不会重组。

假设发送方发送一个4000字节的数据报。如果数据报要在以太网链路上传输,需要分成三个小的数据报进行传输,然后接收方再把它们重新组合成大的数据报。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

断裂和重组

在分片传输中,一旦丢失一个分片,整个ip数据报就会失效,所以tcp引入了mss,即tcp中的分片不是由ip层进行的,所以我们尽量不为udp发送大于mtu的数据报。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ipv4地址为32位,可提供约42亿个地址,但早在2011年,ipv4地址就已经分配完毕。

但是ipv6的地址是128位的,可分配的地址数量惊人。说一段ipv6的话就能保证地球上的每一粒沙子都能分配到一个ip地址。

但是ipv6不仅有更多的地址,而且有更好的安全性和可扩展性。简单来说,ipv6比ipv4能带来更好的网络体验。

但由于ipv4和ipv6互不兼容,不仅需要我们的电脑、手机等设备的支持,还需要网络运营商对现有设备进行升级,所以这可能是ipv6普及速度慢的一个原因。

ipv6的亮点

ipv6不仅有更多的可分配地址,还有很多亮点。

ipv6 可自动配置,即使没有 dhcp 服务器也可以实现自动分配ip地址,真是便捷到即插即用啊。ipv6 包头包首部长度采用固定的值 40 字节,去掉了包头校验和,简化了首部结构,减轻了路由器负荷,大大提高了传输的性能。ipv6 有应对伪造 ip 地址的网络安全功能以及防止线路窃听的功能,大大提升了安全性。… (由你发现更多的亮点)

ipv6地址的识别方法

ipv4地址的总长度为32位,在点分十进制系统中每8位代表一个地址。

ipv6地址的长度为128位,每组16位用冒号“:”分隔。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ipv6地址表示方法

如果有连续的零,也可以省略,用两个冒号“::”隔开。但是,一个ip地址中一次只允许有两个连续的冒号。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

pv6地址默认代表方

ipv6地址的结构

与ipv4类似,ipv6也通过ip地址的前几位来标识ip地址的类型。

ipv6地址主要有以下类型的地址:

单播地址,用于一对一的通信组播地址,用于一对多的通信任播地址,用于通信最近的节点,最近的节点是由路由协议决定没有广播地址ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ipv6地址结构

ipv6单播地址类型

对于一对一通信的ipv6地址,主要有三类单播地址,每类地址的有效范围都不一样。

在同一链路单播通信,不经过路由器,可以使用链路本地单播地址,ipv4 没有此类型在内网里单播通信,可以使用唯一本地地址,相当于 ipv4 的私有 ip在互联网通信,可以使用全局单播地址,相当于 ipv4 的公有 ipip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ipv6中的单波通信

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ipv4报头和ipv6报头的区别如下:

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

ipv4报头和ipv6报头之间的差异

与ipv6报头相比的改进:

取消了首部校验和字段。 因为在数据链路层和传输层都会校验,因此 ipv6 直接取消了 ip 的校验。取消了分片/重新组装相关字段。 分片与重组是耗时的过程,ipv6 不允许在中间路由器进行分片与重组,这种操作只能在源与目标主机之间,这将大大提高了路由器转发的速度。取消选项字段。 选项字段不再是标准 ip 首部的一部分了,但它并没有消失,而是可能出现在 ipv6 首部中的「下一个首部」指出的位置上。删除该选项字段是的 ipv6 首部成为固定长度的 40 字节。

与ip协议相关的技术有很多。接下来,我们来说说ip协议相关的重要和常用技术。

dns 域名解析arp 与 rarp 协议dhcp 动态获取 ip 地址nat 网络地址转换icmp 互联网控制报文协议igmp 因特网组管理协会

我们上网的时候一般都是用域名而不是ip地址,因为域名方便人类记忆。

那么这个技术的实现就是dns域名解析,可以自动将域名地址转换成特定的ip地址。

域名的层次关系

dns中的域名用句点分隔,如www.server.com,其中句点代表不同级别之间的界限。

在域名中,位置靠右表示其级别较高。

毕竟域名是外国人发明的,所以思维和中国人是相反的。比如一个城市的选址,国外喜欢从小到大(比如xx省xx市xx区xx街),而中国喜欢从小到大(比如xx省xx市xx区xx街)。

根域在顶级,下一级是com顶级域,下一级是server.com。

所以域名的层级关系类似于树状结构:

根 dns 服务器顶级域 dns 服务器(com)权威 dns 服务器(server.com)ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

dns树结构

根域的dns服务器信息存储在互联网的所有dns服务器中。这样,任何dns服务器都可以找到并访问根域dns服务器。

所以客户端只要能找到任意一台dns服务器,就能找到根域dns服务器,然后顺着路径找到更低一级的目标dns服务器。

域名解析的工作流程

首先,浏览器查看自己的缓存。如果没有,它会从操作系统的缓存中请求它。如果没有,它将检查本地域名解析文件主机。如果仍然没有,它将查询dns服务器。查询过程如下:

客户端首先会发出一个 dns 请求,问 www.server.com 的 ip 是啥,并发给本地 dns 服务器(也就是客户端的 tcp/ip 设置中填写的 dns 服务器地址)。本地域名服务器收到客户端的请求后,如果缓存里的表格能找到 www.server.com,则它直接返回 ip 地址。如果没有,本地 dns 会去问它的根域名服务器:“老大, 能告诉我 www.server.com 的 ip 地址吗?” 根域名服务器是最高层次的,它不直接用于域名解析,但能指明一条道路。根 dns 收到来自本地 dns 的请求后,发现后置是 .com,说:“www.server.com 这个域名归 .com 区域管理”,我给你 .com 顶级域名服务器地址给你,你去问问它吧。”本地 dns 收到顶级域名服务器的地址后,发起请求问“老二, 你能告诉我 www.server.com 的 ip 地址吗?”顶级域名服务器说:“我给你负责 www.server.com 区域的权威 dns 服务器的地址,你去问它应该能问到”。本地 dns 于是转向问权威 dns 服务器:“老三,www.server.com对应的ip是啥呀?” server.com 的权威 dns 服务器,它是域名解析结果的原出处。为啥叫权威呢?就是我的域名我做主。权威 dns 服务器查询后将对应的 ip 地址 x.x.x.x 告诉本地 dns。本地 dns 再将 ip 地址返回客户端,客户端和目标建立连接。

到目前为止,我们已经完成了dns解析过程。现在总结一下,我画了一张全过程的图。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

域名解析的工作流程

dns域名解析的过程挺有意思的。整个过程类似于我们日常生活中找人问路的过程,只指路不带路。

在传输一个ip数据报时,源ip地址和目的ip地址确定后,会通过主机的“路由表”来确定ip包的下一跳。但是网络层的下一层是数据链路层,所以我们需要知道“下一跳”的mac地址。

因为可以在主机的路由表中找到下一跳的ip地址,所以可以通过arp协议获得下一跳的mac地址。

那么arp怎么知道对方的mac地址呢?

简单来说,arp通过两种类型的数据包来确定mac地址:arp请求和arp响应。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

arp广播

主机会通过广播发送 arp 请求,这个包中包含了想要知道的 mac 地址的主机 ip 地址。当同个链路中的所有设备收到 arp 请求时,会去拆开 arp 请求包里的内容,如果 arp 请求包中的目标 ip 地址与自己的 ip 地址一致,那么这个设备就将自己的 mac 地址塞入 arp 响应包返回给主机。

系统通常会缓存第一次通过arp获取的mac地址,以便下次直接从缓存中找到该ip地址对应的mac地址。

但是,mac地址会缓存一段时间,超过这段时间后,缓存的内容将被清除。

你知道什么是rarp协议吗?

arp协议是已知的ip地址,但是rarp协议正好相反。找到ip地址是已知的mac地址。它通常用于将小型嵌入式设备(如打印机服务器)连接到网络。

这通常需要设置一个rarp服务器,在那里注册设备的mac地址和ip地址。然后将该设备连接到网络,然后:

该设备会发送一条「我的 mac 地址是xxxx,请告诉我,我的ip地址应该是什么」的请求信息。rarp 服务器接到这个消息后返回「mac地址为 xxxx 的设备,ip地址为 xxxx」的信息给这个设备。

最后,设备根据从rarp服务器接收的响应信息设置其自己的ip地址。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

反向地址解析协议(reverse address resolution protocol)

dhcp在我们的生活中非常常见,我们的电脑一般都是通过dhcp动态获取ip地址,大大节省了ip信息分配的繁琐过程。

接下来,我们来看看我们的计算机是如何通过一个四步的过程来获取ip的。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

dhcp工作流

首先,dhcp客户端进程监控端口号68,dhcp服务器进程监控端口号67。

这四个步骤:

客户端首先发起 dhcp 发现报文(dhcp discover) 的 ip 数据报,由于客户端没有 ip 地址,也不知道 dhcp 服务器的地址,所以使用的是 udp 广播通信,其使用的广播目的地址是 255.255.255.255(端口 67) 并且使用 0.0.0.0(端口 68) 作为源 ip 地址。dhcp 客户端将该 ip 数据报传递给链路层,链路层然后将帧广播到所有的网络中设备。dhcp 服务器收到 dhcp 发现报文时,用 dhcp 提供报文(dhcp offer) 向客户端做出响应。该报文仍然使用 ip 广播地址 255.255.255.255,该报文信息携带服务器提供可租约的 ip 地址、子网掩码、默认网关、dns 服务器以及 ip 地址租用期。客户端收到一个或多个服务器的 dhcp 提供报文后,从中选择一个服务器,并向选中的服务器发送 dhcp 请求报文(dhcp request进行响应,回显配置的参数。最后,服务端用 dhcp ack 报文对 dhcp 请求报文进行响应,应答所要求的参数。

一旦客户端收到dhcp ack,交互就完成了,客户端就可以在租期内使用dhcp服务器分配的ip地址。

如果租约的dhcp ip地址过期,客户端将向服务器发送dhcp请求消息:

服务器如果同意继续租用,则用 dhcp ack 报文进行应答,客户端就会延长租期。服务器如果不同意继续租用,则用 dhcp nack 报文,客户端就要停止使用租约的 ip 地址。

可以发现,在dhcp交互的整个过程中都使用了udp广播通信。

啧啧,广播是用的,那么如果dhcp服务器和客户端不在同一个局域网,路由器又不会转发广播包,那不是每个网络都配有dhcp服务器吗?

因此,为了解决这个问题,出现了dhcp中继代理。有了dhcp中继代理,不同网段的ip地址分配也可以由dhcp服务器管理。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

dhcp中继代理

dhcp 客户端会向 dhcp 中继代理发送 dhcp 请求包,而 dhcp 中继代理在收到这个广播包以后,再以单播的形式发给 dhcp 服务器。服务器端收到该包以后再向 dhcp 中继代理返回应答,并由 dhcp 中继代理将此包转发给 dhcp 客户端 。

因此,dhcp服务器可以统一分配和管理ip地址,即使它们不在同一链路上。

ipv4地址供应不足。如前所述,我们可以通过未分类地址来减缓ipv4地址的耗尽。然而,互联网用户的增长速度是惊人的,因此ipv4地址仍然有耗尽的危险。

因此提出了网络地址转换nat的方法,再次缓解了ipv4地址耗尽的问题。

简单来说,nat就是同一公司、家庭或教室内的主机与外界通信时,将私有ip地址转换为公有ip地址。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

精灵

那不是n个私有ip地址,所以你要n个公有ip地址?这如何缓解ipv4地址耗尽的问题?这不是废话吗?

是的,普通的nat转换是没有意义的。

因为大部分网络应用都是用tcp或者udp来传输数据。

所以ip地址 端口号可以一起转换。

这样,就可以使用一个全球ip地址,这种转换技术被称为网络地址和端口转换napt。

很抽象?来,看看下面的图,你马上就明白了。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

napt

在图中,两个客户端192.168.1.10和192.168.1.11同时与服务器183.232.231.172通信,它们的本地端口都是1025。

此时,两个私有ip地址都被转换为公有地址120.229.175.121,但它们由不同的端口号来区分。

因此,通过生成napt路由器的转换表,可以正确地转换地址和端口的组合,使客户端a和b可以同时与服务器通信。

该转换表是在nat路由器上自动生成的。例如,在tcp的情况下,在tcp连接的第一次握手期间,一旦syn包被发出,就将生成该表。然后从表中删除,并在连接关闭时发送fin数据包确认。

nat这么牛逼,难道没有缺点吗?

当然有缺陷,肯定没有完美的pg电子平台的解决方案。

由于nat/napt都依赖于自己的转换表,因此会有以下问题:

外部无法主动与 nat 内部服务器建立连接,因为 napt 转换表没有转换记录。转换表的生产与转换操作都会产生性能开销。通信过程中,如果 nat 路由器重启了,所有的 tcp 连接都将被重置。

如何解决nat的潜在问题?

有两种主要的pg电子平台的解决方案。

首先是切换到ipv6。

ipv6的可用范围非常大,每个设备都可以配置一个公共ip地址,因此不需要这么多花哨的地址转换,但ipv6要普及还需要一段时间。

第二种nat穿透技术

nat穿越技术有这样一个功能,它可以让网络应用主动发现自己在nat设备后面,并且会主动获取nat设备的公有ip,为自己建立端口映射条目。请注意,这些都是由nat设备后面的应用程序自动完成的。

也就是说,在nat穿越技术中,nat设备后面的应用程序处于主动地位,它已经清楚地知道nat设备要修改它的出网数据包,所以它主动配合nat设备的操作,主动建立映射,这样就不像以前那样由nat设备建立映射了。

用中文来说,就是客户端主动从nat设备获取公有ip地址,然后自己建立端口映射条目,再用这个条目与外界通信,这样就不需要nat设备进行转换了。

icmp的全称是互联网控制消息协议,即互联网控制消息协议。

这里面有一个关键词——控制。是如何控制的?

在复杂的网络传输环境中,网络经常会遇到各种各样的问题。

遇到问题,不能白死。无脑风格不是计算机网络的风格。所以需要发出消息,汇报遇到了什么问题,这样才能调整传输策略,掌控全局。

icmp的功能是什么?

icmp的主要功能包括:确认ip包是否成功送达目的地址,报告ip包在发送过程中被丢弃的原因,改进网络设置。

在ip通信中,如果一个ip包由于某种原因未能到达目的地址,icmp将负责通知具体原因。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

icmp目标不可达消息

如上例所示,主机a向主机b发送报文,由于某种原因,途中的路由器2未能发现主机b的存在,此时路由器2会向主机a发送icmp目的地不可达报文,表示发送给主机b的报文失败。

icmp的这个通知消息将使用ip发送。

因此,从路由器2返回的icmp数据包将首先通过路由器1,然后根据通常的路由控制转发到主机a。接收到icmp数据包的主机a对icmp的报头和数据字段进行了分解,了解到了问题的具体原因。

icmp类型

icmp大致可以分为两类:

一类是用于诊断的查询消息,也就是「查询报文类型」另一类是通知出错原因的错误消息,也就是「差错报文类型」ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

常见的icmp类型

icmp和igmp没有关系,就像周杰和周杰伦的区别一样。不要混淆。

前面我们知道了组播地址,也就是d类地址。既然是组播,就意味着只有一组主机可以接收数据包,不在同一组的主机是无法接收数组数据包的。如何管理他们是否在同一个组?然后,我们需要igmp协议。

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

多播模型

igmp是一种互联网组管理协议,工作在主机(组播成员)和最后一跳路由之间,如上图蓝色部分所示。

igmp 报文向路由器申请加入和退出组播组,默认情况下路由器是不会转发组播包到连接中的主机,除非主机通过 igmp 加入到组播组,主机申请加入到组播组时,路由器就会记录 igmp 路由器表,路由器后续就会转发组播包到对应的主机了。igmp 报文采用 ip 封装,ip 头部的协议号为 2,而且 ttl 字段值通常 为 1,因为 igmp 是工作在主机与连接的路由器之间。

igmp的工作机制

igmp分为三个版本,即igmpv1、igmpv2和igmpv3。

接下来以igmpv2为例,讲两种工作机制:定期查询响应和离开组播组。

通用查询和响应工作机制

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

igmp的一般查询和响应机制

路由器会周期性发送目的地址为 224.0.0.1(表示同一网段内所有主机和路由器) igmp 常规查询报文。主机1 和 主机 3 收到这个查询,随后会启动「报告延迟计时器」,计时器的时间是随机的,通常是 0~10 秒,计时器超时后主机就会发送 igmp 成员关系报告报文(源 ip 地址为自己主机的 ip 地址,目的 ip 地址为组播地址)。如果在定时器超时之前,收到同一个组内的其他主机发送的成员关系报告报文,则自己不再发送,这样可以减少网络中多余的 igmp 报文数量。路由器收到主机的成员关系报告报文后,就会在 igmp 路由表中加入该组播组,后续网络中一旦该组播地址的数据到达路由器,它会把数据包转发出去。

离开组播组的工作机制

在离开组播组的情况1中,组播组仍然存在于网段中:

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

igmpv2离开组播组1的工作机制

主机 1 要离开组 224.1.1.1,发送 igmpv2 离组报文,报文的目的地址是 224.0.0.2(表示发向网段内的所有路由器)路由器 收到该报文后,以 1 秒为间隔连续发送 igmp 特定组查询报文(共计发送 2 个),以便确认该网络是否还有 224.1.1.1 组的其他成员。主机 3 仍然是组 224.1.1.1 的成员,因此它立即响应这个特定组查询。路由器知道该网络中仍然存在该组播组的成员,于是继续向该网络转发 224.1.1.1 的组播数据包。

在离开组播组的情况2中,网段中没有组播组:

ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

igmpv2离开组播组2的工作机制

主机 1 要离开组播组 224.1.1.1,发送 igmp 离组报文。路由器收到该报文后,以 1 秒为间隔连续发送 igmp 特定组查询报文(共计发送 2 个)。此时在该网段内,组 224.1.1.1 已经没有其他成员了,因此没有主机响应这个查询。一定时间后,路由器认为该网段中已经没有 224.1.1.1 组播组成员了,将不会再向这个网段转发该组播地址的数据包。ip 网络基础知识全解,网关、dns、子网掩码、mac地址、ipv6大总结

好了,今天的分享就到这里。内容有点晦涩,是一些专业名称。你可以浏览几次。

感兴趣的朋友可以喜欢 关注 转发。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文链接:https://www.andon8.com/1286.html

网站地图