目录
重要应用层协议DNS(Domain Name System)
网络层
路由选择
这里就需要解决一个数据包,如何从网络中的一个地址,传输到另一个地址.
路由的过程,就是一跳一跳"问路的过程".(摸着石头过河).
所谓"一跳"就是数据链路层中的一个区间.具体在以太网中指从源MAC地址到目的MAC地址之间的帧传输区间.
IP数据报传输的过程也和问路一样.
数据报中包含目的IP的字段(问路的目标),每个路由器对于网络环境(和它相邻的设备有所了解),此时就根据它的了解,告诉我们下一步应该往哪走.
假设某主机上的网络接口和路由表如下:
数据链路层
认识以太网
以太网帧格式
如下所示:
认识MAC地址
对比理解MAC地址和IP地址
认识MTU
MTU相当于发快递时对包裹尺寸的限制.这个限制是不同的数据链路层对应的物理层,所产生的限制.
ARP协议
ARP和RARP可以认为是两个横跨了网络层和数据链路层的协议.
ARP协议的作用
ARP协议建立了主机IP地址和MAC地址的映射关系.
ARP协议工作流程
重要应用层协议DNS(Domain Name System)
DNS是一整套从域名映射到IP的系统(域名解析系统),(eg.www.google.com这种的就是域名).
DNS背景
TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序.但是IP地址不方便记忆.
于是人们发明了一个叫做主机名(域名)的东西,是一个字符串,并且使用hosts文件描述主机名和IP地址的关系.
随着互联网的发展,域名和服务器都越来越多了, 此时要维护hosts文件就非常麻烦了.
就有大佬干脆搭建了一组服务器,来提供域名解析服务(hosts内容放到服务器里了),你某个主机想访问某个域名,就先查询一下域名解析服务器(DNS服务器),查到的结果,就是域名对应的IP,拿着IP进行访问即可.
NAT技术
之前提到过,IPv4协议中,IP地址数量不充足的问题.
NAT技术是当前解决IP地址不够用的主要手段,也是路由器的一个重要功能;
NAT IP转换过程
NAPT
那么问题来了,如果局域网内,有多个主机都访问同一个外网服务器,那么对于服务器返回的数据中,目的IP都是相同的,那么NAT路由器如何判定将这个数据包转发给哪个局域网的主机?
这时候NAPT来解决这个问题了.使用IP+port来建立这个关联关系
这种关联关系也是由NAT路由器自动维护的.例如在TCP的情况下,建立连接时,就会生成这个表项;在断开连接时,就会删除这个表项;
NAT技术的优缺点
由于NAT依赖这个转换表,所以有诸多限制:
但是NAT有个最大的优点:不需要更新硬件设备,只更新软件,就可以解决IP地址不够用的问题.