一.ARP(地址解析)协议
介于数据链路层和网络层之间的协议.
作用:
ARP协议建立了主机IP地址和MAC地址的映射关系
在网络通信时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址
数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃
因此在通信前必须获得目的主机的硬件地址
工作流程:
源主机发出ARP请求,询问某IP地址的主机的硬件地址是多少,并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播)
目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机将自己的硬件地址填写在应答包中
每台主机都维护一个ARP缓存表,可以用arp -a命令查看
二.DNS(域名解析)协议 --- 应用层协议 --- 传输层协议UDP
hosts文件:描述常用域名与其IP地址的关系.
hosts文件的位置:
Windows :C/Windows/system32/dirves/etc/hosts
linux: /etc/hosts
DNS:域名系统(管理域名与服务器IP地址之间的关系,进行域名解析获取服务器IP地址)
域名:一串由点分隔的名字所组成的互联网上的一个主机/机组的名称.
作用:便于记忆查找服务器
因为最终通过域名访问一个服务器的时候,首先需要将容易记忆的域名转换成服务器的IP地址
域名的层次划分:
顶级域名:.com/.org/.gor/.edu/.cn/.jp/.us
二级域名:.baidu.com/.qq.com
三级域名:.baike.baidu.com
域名的解析流程:
通过域名访问服务器最终转换为通过服务器地址访问服务器
三.ICMP控制报文协议(网络层协议)
主要功能:
确认IP包是否成功到达目标地址
通知在发送过程中包被丢弃的原因
ICMP也是基于IP协议工作的,但是它并不是传输层的功能,因此人们仍然把它归结为网络层协议
ICMP只能搭配IPV4使用,如果是IPV6的情况下,需要的是用ICMPv6
四.ping命令 traceroute命令 Telnet命令
ping命令不光能验证网络连通性,同时也会统计响应时间和TTL(ip包中的Time to Live,生存周期)
ping命令会先发送一个ICMP Echo Request给对端,对端接收到之后,会返回一个ICMP Echo Reply.
Telnet协议(网络远程访问协议) 属于应用层 是23端口 ssh是22端口
ping命令基于ICMP,是在网络层.而端口号是传输层的内容,在ICMP中根本就不关注端口号这样的信息.
traceroute命令: 能够打印出可执行程序主机,一直到目标主机之前经历多少路由器.
在linux下查看另一台主机的某个端口是否在监听(是否启动)?
Telnet+另一台主机的IP+端口号
五.NAT技术:网络地址转换服务(将私有IP逐级转换为公有IP)
NAT技术当前解决了IP地址不够用的主要手段,是路由器的一个重要功能.
私有IP地址 和 公有IP地址:
私有IP地址:主要用于在局域网中进行分配,在Internet是无效的.这样可以很好地隔离局域网与Internet.私有地址在公网上是不能被识别的,必须通过NAT将内部IP地址转换成公网上可用的IP地址,从而实现内部IP地址和外部公网的通信.公有地址是在广域网内使用的地址,但是在局域网中同样也可以使用,除了私有地址以外的地址都是公有地址.
公有IP地址:就是分配给公共网络可以直接访问互联网的地址
局域网的内的IP为私有IP,一个局域网内的IP不可以相同,但是不同局域网内的IP没有限制.私网IP在公网上是看不到的,不同的局域网可以使用同一个私有IP,最终经过NAT协议转发后,会变成公网的IP地址.
私有IP地址范围:
A类私有IP地址: 10.0.0.0 ~ 10.255.255.255
B类私有IP地址: 172.16.0.0 ~ 172.31.255.255
C类私有IP地址: 192.168.0.0 ~ 192.168.255.255
这些地址不会被Internet分配.
NAT服务通常部署在网关设备上,对流经网关设备的数据替换IP报头中的源地址信息,网关设备通过数据转发,实现多个主机共用同一个公有IP地址上网
NAT/NAPT技术:
NAT技术可以将私网IP转化为公网IP
NAPT技术则是将私网IP和私有端口转化为公网IP和公有端口
六.代理服务:
代理服务与NAT服务的区别:
代理服务工作在应用层,可部署在任意设备上,其它主机请求服务器的时候先请求代理服务器.
NAT服务工作在网络层,对IP报文地址转换,通常部署在网关设备上.
七.DHCP(动态主机配置)协议 --- 应用层协议 --- 传输层协议UDP
是一个局域网的网络协议
动态主机配置协议,在局域网中为主机自动分配资源初始化的协议,这里的资源主要包括IP、掩码、网关、DNS服务器等 原理过程:
主机广播发送Discover包寻找DHCP服务器
DHCP服务器收到Discover包,单播给主机一个offer包,其中包含ip等等那些主要信息
主机收到offer包如果确实要使用该ip就广播一个request包告诉网络里的其他DHCP服务器自己已使用该IP
某一个DHCP服务器向主机发送一个ACK包表示许可,主机即使用该IP以及其他配置信息