TCP/IP各层讲解 - 网络层(下)

DNS

DNS(域名系统协议)主要是负责域名与IP地址之间的转换,当访问域名时,DNS会自动检索注册当前域名的主机的IP地址进行返回。数据库

域名的构成

了解DNS是怎么检索以前,须要了解域名是怎么构成的。举个例子:缓存

www.yahoo.com.cn 分别对应的是:服务器

  • 顶级域名:cn/com
  • 组织机构名:yahoo
  • 主机名:www

域名的结构就是一个树状结构,顶点就是根(Root),底下就是第一级域名(顶级域名)如:.com 顶级域名/一级域名,二级域名就是:baidu.com,如此类推,三级域名就是tieba.baidu.com。每一级域名下面都有一个域名服务器,每一层域名服务器注册着下一层的IP地址,对于DNS的检索数据有着相当重要的做用。网络

DNS查询

举个例子,当ku-sa.co.cn域中的计算机想要访问www.ietf.org的时候.net

  1. 解析器(主机)就向本域下的域名服务器进行查询
  2. 接收到查询的域名服务器会在数据库进行查询,找到便可返回,若是没有找到,则像上一层根服务器进行查询。
  3. 根服务器知道ietf.org域名服务器的地址,把域名服务器地址返回。
  4. ku-sa.co.cn的域名服务器会像ietf.org域名服务器请求www.ietf.org的IP地址,而后返回。
  5. 这样ku-sa.co.cn域中的计算机就能够和www.ietf.org创建通讯。

ARP

ARP是一个以IP地址为线索,能够找到对应的MAC地址的协议。若是查找的IP地址不在同一数据链路,则会返回下一跳的路由器MAC地址。blog

ARP的工做机制

ARP的工做机制其实就是利用广播发送一个ARP请求包,这个包包含了想要了解其MAC地址的IP地址,当适配的主机接收到此包后ARP响应包进行返回。路由

若是每一次获取MAC地址都须要发送包会形成没必要要的网络流量。所以,MAC地址一般都会被缓存一段时间,当到过时时间后,从新请求MAC地址后,被缓存的MAC地址即被删除。get

IP地址和MAC地址缺一不可?

blog.csdn.net/guorong520/…域名

  1. 首先,咱们若是第一次将信息从A端发往B端,那么信息须要从应用层到物理层一层一层进行封装,到达对端后再从物理层到应用层依次解包,拿到信息。
  2. A端发送的信息到了网络层的时候只能知道对方的IP地址,却不了解对方的MAC地址,到不了数据链路层,没法发送帧,因此这时咱们就须要使用ARP协议,来获取到对端的MAC地址。
  3. 这时就有人说,为啥不直接使用IP地址,知道了对端的IP地址就能够直接发送了,是的,它确实能够识别一台主机,可是在局域网中,IP地址都是动态分配的,当你下一次发送消息时,说不定就不是这个IP地址了(分配到了新的IP地址),可是MAC地址就不存在这个问题,其序列号存在于网卡中,全球惟一,一出厂网卡上就烧录了MAC地址(48位的序列号)。那么此时有人就说光使用MAC地址不就够了,还须要IP地址干吗?
  4. 其实,MAC地址种类繁杂,处处分布在世界上海量的主机上,要是光靠MAC地址来找对端,不知道路由器转发的消息获得猴年马月才能到对端手上,那么,此时IP地址的优点就体现了出来。IP地址的分配有必定的区域性,经过IP地址能够将地址进行集约。就比如你找某个地方,经过IP地址你能够找到大体的方位,如中国陕西,再经过MAC地址,找到具体地方的街道门牌号。

ICMP

ICMP主要是功能是确认IP包是否成功到达目标地址,通知在发送过程中IP包被废弃的具体缘由,改善网络等等。class

举个例子:主机A给主机B发送数据包,但因为主机B关机了没法发送,那么主机B所链接的路由器B就会给主机A发送一个ICMP包告诉主机A到底是什么缘由致使。

下面是ICMP消息类型

  • 0:回送应答
  • 3:目标不可达
  • 4:原点抑制
  • 5: 重定向或改变路由
  • 8: 回送请求
  • 9: 路由器公告
  • 10: 路由器请求
  • 11: 超时
  • 17: 地址子网请求
  • 18:地址子网应答

ICMPv6

ICMPv6对于IPv6来讲是必不可少的。在IPv6中,从IP地址寻找MAC地址的ARP变成了ICMPv6中的邻居探索。邻居搜索消息融合了ARP、ICMP重定向以及ICMP路由器选择消息等功能,设置融合了DHCP自动分配IP地址的功能。

DHCP

DHCP主要是为了实现自动设置IP地址、统一管理IP地址分配,也就是即插即用。

DHCP工做机制

  1. DHCP客户端发送DHCP发现包,因为IP地址还没有肯定,因此DHCP发现包的地址为广播地址。
  2. 管理员在DHCP服务器上设置可分配的IP地址、默认地址以及子网掩码。而后DHCP服务端(路由器)通知可使用的网络设置。
  3. DHCP客户端广播其余DHCP客户端通知想要使用的IP地址。
  4. DHCP服务端通知DHCP客户端容许配置。

DHCP中继器

通常家庭可以使用路由器充当DHCP服务端,但在大型的网络中,若是须要给每一个路由器都配置可分配的IP地址范围,会变得难以维护。这时可使用DHCP中继器进行统一管理,DHCP客户端会向DHCP中继器发送DHCP请求包,当DHCP接受到这个包后会以单播的形式发给DHCP服务器。服务器会向DHCP中继器做出应答,并由中继器将包返回DHCP客户端。

NAT

NAT是用在本地网络中使用私有地址,而在链接互联网的时候就使用全局IP地址的技术。

NAT工做机制

若是10.0.0.10的主机要和163.221.120.9通讯,在经过NAT路由器的时候会被转化为全局IP地址202.224.137.34进行通讯,而当包返回时,会把地址转化为10.0.0.10再进行转发。

但这样子全局地址明显是浪费的,因此这时候就使用NAPT解决。便是在请求的时候带上端口号,10.0.0.10:8082和10.0.0.10:8083都须要与外界通讯,在经过NAPT转化的时候,全局地址既变成202.224.137.34:8082和202.224.137.34:8082进行通讯。

写在最后

IP层说完啦啦啦啦

图解TCP/IP

这会做为最近的一个长期目标不按期更新。

相关文章
相关标签/搜索