TCP-IP-part7-IP协议相关技术(一)

仅凭IP是无法完成通信的,需要一些IP的辅助技术。这些技术的包格式可能不一样,但它们都是基于IP地址进行的,都是通过匹配路由表来进行的,只是功能不一样。例如DHCP分配IP地址,它只管通知这条信息,具体怎么分还要依靠上层。

TCP/IP相关内容第七部分,包含:

  • DNS
  • ARP
  • ICMP

一、DNS

IP地址不好记,我们希望用主机名代替。DNS负责将主机名转换为具体的IP地址。

早期的方法是集中管理一个大型的数据库,所有主机都要下载这个文件,更新主机名和地址的时候要通知所有人,非常麻烦。
现在用DNS维护一个用来表示组织内部主机名和IP地址之间对应关系的数据库。地址和主机名的变更只需要在组织机构内部进行即可,不需要向别的机构申请或报告。较小的范围内通过DNS管理主机名映射,很方便。

域名的构成

域名是指为了识别主机名称和组织机构名称的一种具有分层的名称。在使用域名时,可以在每个主机名后追加上组织机构的域名。主机名重合,但只要组织机构域名不重合就可以。

分层结构呈树状结构,顶点是根,下一层第一层域名包括国家域名和特定机构域名(如所有美国教育机构.edu、所有美国企业.com),在下一层可以是地域的通用域名,或是不同组织机构的属性域名。

域名服务器

每层域名都有一个域名服务器,实质上是个软件。每个域名服务器都有一个IP地址,本层的域名服务器都了解(注册了)本域内下层域名服务器的IP地址,直到再无下一层域名,就可以连主机,指定主机名给IP地址了。另外,每个域名服务器必须注册所在区域的根域名服务器的IP地址(全球共13个),在查找非本域的时候从跟开始。

为了提高容灾能力,一个域名至少设置两个以上域名服务器。

解析器

解析器,即需要进行DNS查询的主机,就是你的电脑。其至少要注册一个以上的域名服务器IP地址,解析器不仅可以访问本域名中的域名服务器,也可访问其他域的域名服务器,进行域名查询。

DNS查询

解析器相域名服务器申请查询,域名服务器会先在自己的数据库查找,没找到则相跟域名服务器申请查询,从上往下顺序遍历,找到返回。解析器和域名服务器都有缓存,可以保存最新了解到的信息,可以减少查询。

DNS不仅保留主机名和IP地址的映射,也保留了其他如邮件地址等映射。

二、ARP

主机发送IP数据包,封装成帧时的目的MAC只是同一个数据链路上的节点的MAC,甚至同一个链路上也可能只知道IP,不知道MAC。

用来根据IP地址查询MAC地址。ARP只适用于IPv4,IPv6用ICMPv6替代ARP发送邻居探索信息。

工作机制

借助ARP请求和ARP响应完成。ARP发送的包格式与IPv4是不一样的,因此需要不同的程序去处理。

起初通过广播发送一个ARP请求包,包中包含了目的主机的IP地址,在链路层,ARP包会被链路层默认封装成广播帧,在网络层,接收方默认认为ARP包是广播的,不想IP包目的IP要全1才是广播,才接受下来去解析。当解析后发现目的IP与自己的IP一致,则返回ARP响应包,里面有自己的MAC地址,目的IP是从请求包中了解到的。ARP包会被路由器隔离。

IP地址和MAC地址的信息缓存一段时间,下次发送时会先查表,可以减少ARP查询。但要定时清楚缓存,要是不换的话IP可能已经更换了MAC设备,就不可达了。

RARP

与ARP相反。设置RARP服务器,设备发送自己的MAC地址给服务器,可以获得IP地址来设置。因为有些硬件设备不具备DHCP动态获取IP的功能,只能用RARP获取IP。

大专栏  TCP-IP-part7-IP协议相关技术(一)tle="代理ARP">代理ARP

通常ARP包会被路由器隔离,采用代理ARP可以将ARP请求转发给邻近的网段,使两个以上的网段节点像在一个网段上一样通信。

三、ICMP

起到辅助IP的作用,ICMP数据是放在IP首部的后面,就像TCP/UDP一样明文传输,因此是IP的上层协议,但它是为了分担IP的一部分功能,因此仍属于网络层。ICMP两大类型:

  1. 通知出错原因的错误信息
  2. 用于诊断的查询信息

ICMP有多个消息类型,每个消息类型有自己的错误号来说明信息。

1、主要的ICMP消息

ICMP目标不可达信息(类型3)

IP路由器无法将IP包发送给目标地址时,会给发送端主机返回一个目标不可达信息。错误号为1表示主机不可达,即找不到目的IP的MAC,ARP没人响应。错误号0表示网络不可达,即在路由表中找不到下一跳的IP。错误号4用于MTU发现,包不可分片。

ICMP重定向信息(类型5)

路由器发现发端主机使用了次优的路径发送路径,就返回一个ICMP重定向信息,包含更合适的路由信息。但路由信息并不包含子网掩码,因此主机追加更优路由信息时,只会以“主机路由”形式(/32)为这个目的IP地址追加下一跳路由信息,且在一定时间后自动清除。一般不进行重定向设置。

ICMP超时信息(类型11)

错误号0表示TTL减到0,IP包被抛弃,返回ICMP超时消息。错误号1表示路由器在规定时间内没有收到所有分片,重组超时。

traceroute命令就是利用ICMP超时信息工作。显示到达特定主机之前经历多少路由器。原理是利用IP包生存周期从1开始递增,同时发送UDP包,强制接收超时消息。

ICMP回送信息(类型0、8)

可以向对端主机发送回送请求(类型8),主机收到后回复一个应答消息(类型0)。Ping命令就是用这个实现的。

ICMP原点抑制信息(类型4)

低速广域网时,WAN路由器遇到网络拥堵,会向源地址发送ICMP原点抑制信息。收到后主机打开IP包的传输间隔。一般不用。

ICMP路由器探索信息(类型9、10)

用于发现与自己相连网络中的路由器。主机发出ICMP路由请求(类型10),路由器返回公告消息(类型9)。

ICMP地址掩码信息(类型17、18)

主机或路由器向了解子网掩码情况。向目标主机或路由器发送ICMP地址掩码请求信息(类型17),收方返回地址掩码应答信息(类型18),收房获得子网掩码信息。

2、ICMPv6

同样分为错误消息和信息消息。IPV6中使用的ICMP,不再是辅助作用,而是不可缺少。IPV4中的ARP就是通过ICMPv6的邻居探索消息实现。

邻居探索消息,类型133-137。用于查询IPv6地址和MAC地址的对用关系。采用多播地址传输。

得益于IPV6用MAC地址作主机标识,IPv6也实现了即插即用,不需要DHCP服务器也能自动获取IP地址。在没有路由器的网络,就是用MAC地址作为链路本地单播地址。在有路由器的网络环境中,从路由器中获取前64bit,后64bit用MAC地址设置。

原文地址:https://www.cnblogs.com/lijianming180/p/12360830.html

时间: 2024-10-29 02:46:04

TCP-IP-part7-IP协议相关技术(一)的相关文章

[转载]5. IP协议相关技术

一.仅凭IP无法完成通信 二.DNS 1)IP地址不便记忆 2)DNS的产生 3)域名的构成 4)DNS查询 5)DNS如同互联网中的分布式数据库 三.ARP 1)ARP概要 2)ARP的工作机制 3)IP地址和MAC地址缺一不可? 4)RARP 5)代理ARP 四.ICMP 1)辅助IP的ICMP 2)主要的ICMP消息 3)其他ICMP消息 ICMP原点抑制消息 ICMP路由探索消息 ICMP地址掩码消息 4)ICMPv6 五.DHCP 1)DHCP实现即插即用 2)DHCP的工作机制 3)

http协议相关知识

HTTP一个属于应用层的面相对象的协议,简单快捷,适用于分布式超媒体信息系统. 目前www使用的版本是1.0的第六版 http特点: 1:支持客户/服务器模式 2:简单快捷.客户想服务器发送请求,只需要传送请求方法和路径.请求的方法有get post head 3:灵活:http允许传输任意类型的数据对象. 4:无连接.无连接的含义是限制每次链接至处理一个请求.服务器处理完客户的请求,并受到客户的应答之后即断开链接.采用这种方式可以节省传输时间. 5:无状态.http协议是无状态协议.无状态是指

TCP/IP 7 应用层协议

第8章 应用层协议 8.1 TCP/IP应用层协议主要是指OSI参考模型中的第5层.第6层.第7层上半部分的协议.(会话层,表示层,应用层) 应用层协议定义: 利用网络的应用程序有很多,包括web浏览器.电子邮件.远程登陆.文件传输.网络管理等.能够让这些应用进行特定通信处理的正是应用协议. TCP和IP等下层协议是不依赖于上层应用类型.适用性非常广的协议.而应用协议则是为了实现某种应用而设计和创造的协议. 应用协议与协议的分层: 应用可以直接享用传输层以下的基础部分.因为开发者只要关心选用哪种

TCP/IP和HTTP协议代理

TCP/IP协议族 TCP/IP(传输控制协议/网际协议)是用于计算机通信的一个协议族. TCP/IP协议族包括诸如Internet协议(IP).地址解析协议(ARP).互联网控制信息协议(ICMP).用户数据报协议(UDP).传输控制协议(TCP).路由信息协议(RIP).Telnet.简单邮件传输协议(SMTP).域名系统(DNS)等协议. 1. 应用层 应用层包含一切与应用相关的功能,我们经常使用的HTTP.FTP,Telnet.SMTP等协议都在这一层实现. 2. 传输层 传输层负责提供

OSI,TCP/IP,五层协议的体系结构,以及各层协议

以下整理的是计算机网络的OSI,TCP/IP,五层协议的体系结构,以及各层协议,便于以后查看: OSI分层,自上而下分别是:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层 TCP/IP分层:网络接口层(对应OSI的物理层和数据链路层),网际层(对应OSI的网络层,定义了标准的分组格式和协议,即IP协议,当前采用ip4,下一版为ip6),运输层(对应OSI的传输层),应用层(对应OSI的会话层,表示层和应用层) 五层协议分别为:物理层,数据链路层,网络层,传输层,应用层 物理层:作用:

【网络协议】TCP分段与IP分片

我们在学习TCP/IP协议时都知道,TCP报文段如果很长的话,会在发送时发生分段,在接受时进行重组,同样IP数据报在长度超过一定值时也会发生分片,在接收端再将分片重组. 我们先来看两个与TCP报文段分段和IP数据报分片密切相关的概念. MYU(最大传输单元) MTU前面已经说过了,是链路层中的网络对数据帧的一个限制,依然以以太网为例,MTU为1500个字节.一个IP数据报在以太网中 传输,如果它的长度大于该MTU值,就要进行分片传输,使得每片数据报的长度小于MTU.分片传输的IP数据报不一定按序

IP实时传输协议RTP/RTCP详解

1.简介 目前,在IP网络中实现实时语音.视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详细介绍IP协议族中用于实时语音.视频数据传输的标准协议RTP( Real-time Transport Protocol)和RTCP(RTP Control Ptotocol)的主要功能. 2.RTP/RTCP协议简介 RTP 由 IETF(www.ietf.org)定义在 RFC 3550和3551中. RTP被定义为传输音频.视频.模拟数据等实时数据的传输协议,与传统的注重的高可靠的数据传

Linux 网卡驱动学习(六)(应用层、tcp 层、ip 层、设备层和驱动层作用解析)

本文将介绍网络连接建立的过程.收发包流程,以及当中应用层.tcp层.ip层.设备层和驱动层各层发挥的作用. 1.应用层 对于使用socket进行网络连接的server端程序.我们会先调用socket函数创建一个套接字: fd = socket(AF_INET, SOCK_STREAM, 0); 以上指定了连接协议,socket调用返回一个文件句柄,与socket文件相应的inode不在磁盘上,而是存在于内存. 之后我们指定监听的port.同意与哪些ip建立连接,并调用bind完毕port绑定:

地址解析协议ARP,网络层协议IP、ICMP协议

分析所用软件下载:Wireshark-win32-1.10.2.exe 阅读导览 1. 分析并且应用ARP协议 2.分析IP协议 3.分析ICMP协议 1.分析arp报文的格式与内容 (1)ping 172.18.3.132 的arp请求报文: 000108000604000100e04c512ae8ac12038e000000000000ac120384 物理网络类型Hardware type: 0001 - Ethernet (1) 协议类型Protocol type: 0800 - IP