《图解TCP/IP协议》笔记 第五章 IP协议族

通信的基础

IP协议的实现,成功实现了主机间通信的功能,但是这里仍有许多问题需要解决,单纯使用IP的网络必须使用对应的IP地址才能访问对应的服务器,IP地址又从哪里获取,IP是否重复,内外网络IP地址的转换等等。由此,需要更多的协议来协助IP协议完成数据传输的告诉公路。

域名访问服务 DNS

每个主机都有对应的IP,但是对于人类来说记忆每个服务器的功能和它的IP地址无疑是一个很麻烦的事情,无序的数字记录起来很困难。于是就有了DNS(Domain Name Service)服务。

DNS实现

域名服务的实现原理很简单。
用户在web代理上(通常为一个浏览器)输入所需访问的域名信息,主机查询本地是否有该域名对应的IP地址信息,若不存在,向域名服务器发起DNS请求,请求该域名对应的IP地址信息,域名服务器查询到对应的IP地址信息后,回复给主机,主机构造目的地址为域名地址的报文发送给域名对应服务器,开始数据的交互。
向google的DNS服务器请求CSDN.NET的ip 地址信息

地址解析服务 ARP

主机接入网络后,对于一个已被授予IP地址的主机,它需要确认自己的IP地址是否被使用,当其需要寻找目的主机时,又要去请求对应主机的MAC地址才能正确发送给对端的数据报文,同时,主机处于在线的情况下, 需要固定时间进行保活,防止自己使用的IP地址被占用等。
因此,需要一个协议来帮助主机来解析对端地址、确定自己使用的地址是否重复。这个协议就是ARP(Address Resolution Protocol)

ARP的使用

ARP的二层协议标识是0x0806,其工作在2层(数据链路层)和3层(网络层)之间,来完成IP和MAC的转换。一个带有IP地址的主机上线后,会发送一条ARP广播请求,请求其本身是否有对应的MAC地址存在,若存在则证明当前网络中存在使用同一个地址的主机,若不存在则可以正确使用这个IP地址;而当主机需要访问一个已知的IP地址时,同样会发送ARP请求,请求该地址对应的MAC,来完成报文的转发。
网关向主机发送ARP信息,完成一次地址保活

连通性检查——ICMP

我们有了IP协议,可以完成数据的传输,但是仅仅使用IP协议,当网络存在异常时,只知道数据无法正常传输,但是无法得知当前的网络状况,通过ICMP协议可以帮我们检查当前的网络。在windows和linux上执行“ping”命令就是在发送ICMP报文。
使用ping命令 进行连通性检查

DHCP (Dynamic Host Configration Protocol)动态地址配置协议

在实际网络环境中,允许静态配置的方法接入网络的情况很少,大多都由网络运营商对IP地址进行分配。通过使用DHCP(Dynamic Host Configration Protocol)协议来进行IP地址的分配。

DHCP地址分配。

未分配地址的主机不具有IP地址,所以它会向其所在网络发送DHCP广播请求,请求网络中的DHCPserver 为其分配地址(也可通过中继的方式跨网络获取IP地址),DHCPserver收到请求后,向主机提供分配给主机的地址信息主机发出DHCP请求报文
DHCP Server为主机分配地址

NAT (Network Address Translator) 网络地址转换

由前述可知,现有的IP地址对于需要接入网络的设备而言,是远远不够的。在使用了可变长子网的方法来扩充可用的网络地址后,有没有什么途径来完成使用内网地址去访问公网IP地址的方法呢。
NAT协议提供了这样一种方法。将内网的IP地址和外网的IP地址形成一种映射关系
NAT转换
如上图所示,所有的内部网络设备在需要访问外部网络时,需要有一个中间设备(通常为网关)完成内网地址和外网地址的信息转换。
NAT使用 三种方式完成地址转换:

1.静态转换(1对1)

静态转换的方式,即内网、外网的IP地址采取1对1的方式进行转换,内网内的IP地址想要访问外部信息
,中间设备将数据包的源地址更换为对应的公网IP地址,将报文转发出去。使用这种方法,内外网仍是占用了一个公网IP地址,并没有减少对有限的IP地址的占用问题。

2.多地址动态转换(多对多)

使用多地址转换的情况下,内网IP地址进行公网访问时,中间设备会在一组已指定的公网地址中选择一个来完成地址转换,所以此种情况下内网地址访问公网时所用的IP地址是不固定的。

3.端口复用(多对1)

端口复用状况下,内部主机去访问公网时,不再使用IP地址替换来完成公网访问,而是将内网的IP地址与公网的IP地址的某个端口建立映射关系,中间设备收到了某个外网发来的信息,依据端口号,来发给指定的内网主机。现在网络中的NAT一般用本种方式完成地址转换。

小结

TCP/IP协议族,是以太网的最重要构成部分,在错综复杂的网络环境中,仅仅依靠IP的寻址和TCP的传输来完成网络通信是远远不够的,因此需要更多的网络协议来帮助主机加入网络、传达消息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值