网际协议IP

与IP协议配套使用的还有三个协议:

地址解析协议 ARP   (Address Resolution Protocol)

网际控制报文协议 ICMP  (Internet Control Message Protocol)

网际组管理协议 IGMP  (Internet Group Management Protocol)

将网络互相连接起来要使用一些中间设备,中间设备又称为中间系统或中继(relay)系统。根据中间设备所在的层次,可以有以下几种不同的中间设备:

物理层中继系统:转发器(repeater)。

数据链路层中继系统:网桥桥接器(bridge)。

网络层中继系统:路由器(router)。

网桥和路由器的混合物:桥路器(brouter)。

网络层以上的中继系统:网关(gateway)。

IP数据报的格式

一个 IP 数据报由首部数据两部分组成。

首部的前一部分是固定长度,共 20 字节,是所有 IP 数据报必须具有的。

在首部的固定部分的后面是一些可选字段,其长度是可变的。

地址解析协议ARP

不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。这就需要解决一个问题,如何根据一个机器的IP地址找出其对应的物理地址;或反过来,如何根据物理地址找到其对应的IP地址。地址解析协议ARP与逆地址解析协议RARP就是用来解决这样的问题的。

每一个主机都设有一个 ARP 高速缓存(ARPcache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表,这个映射表还经常动态更新。

当主机 A 欲向本局域网上的某个主机B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。

如果查不到主机B的IP地址,主机A就会在本局域网上广播发送一个ARP请求分组,本局域网上的所有主机都会收到此ARP请求分组,但是只有主机B会返回一个ARP响应分组,主机A收到后会写入到映射表中。

网际控制报文协议ICMP

为了提高 IP 数据报交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet ControlMessage Protocol)。ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告

ICMP 不是高层协议,而是 IP 层的协议。ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。

ICMP 报文的种类有两种,即 ICMP 差错报告报文ICMP 询问报文

ICMP 差错报告报文共有 5 种:

(1)终点不可达

(2)源点抑制(Sourcequench)

(3)时间超过

(4)参数问题

(5)改变路由(重定向)(Redirect)

ICMP 询问报文有两种:

(1)回送请求和回答报文

(2)时间戳请求和回答报文

ICMP的一个重要应用就是分组网间探测PING(Packet Intenet Groper),用来测试两个主机之间的连通性。PING是应用层直接使用网络层ICMP的一个例子。它,没有通过运输层的TCP或UDP。

计算机网络之IP协议族的更多相关文章

  1. 计算机网络——TCP/IP协议族详解

    一.OSI七层协议体系结构域TCP/IP四层体系结构对比 ISO/OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是 ...

  2. 计算机网络之tcp/ip协议族

    TCP/IP协议族是一个四层协议系统: 1. 数据链路层   1.1 作用  (1) 实现网卡接口的网络驱动,以处理数据在以太网线等物理媒介上的传输  (2) 网络驱动程序隐藏了不同物理网络的不同电气 ...

  3. 第12章 网络基础(1)_网络分层和TCP/IP协议族

    1. 协议的概念 (1)计算机网络中实现通信必须有一些约定.如对速率.传输代码.代码结构.传输控制步骤和出错控制等约定,这些约定即被称为通信协议 (2)在两个节点之间要成功地进行通信,两个节点之间必须 ...

  4. iOS的TCP/IP协议族剖析&&Socket

    原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0 简介 该篇文章主要回顾--TCP/IP协议族中的TCP/UDP.HTTP:还有S ...

  5. Android网络编程系列 一 TCP/IP协议族

    在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等.对于这些接口的底层实现我们也有必 ...

  6. TCP/IP协议原理与应用笔记10:TCP/IP协议族

    1. 协议族视图如下:(这里我们列举重要的,并不是所有的) (1)网络接入层(数据链路层 和 物理层): 通过接入的物理网络的 功能 和 覆盖范围 进行分析划分为: •LANs :局域网(Local ...

  7. 服务器编程入门(1)TCP/IP协议族

    问题聚焦: 简单地梳理一下TCP/IP各层的功能和常用协议 详细了解ARP(数据链路层)和DNS(应用层)协议的工作原理 1 TCP/IP协议族体系结构 数据链路层:     职责:实现网卡接口的网络 ...

  8. TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

    接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单 ...

  9. TCP/IP 协议族的简介

    TCP/IP重要的特性就是分层.TCP/IP 按照层次分为四层:应用层.传输层.网络层.数据链路层.分层的好处就是当某些地方需要改变的时候,只需要将改变的层替换掉即可,而不用去把整体做替换.各层之间的 ...

随机推荐

  1. TP-LINK | TL-WR842N设置无线转有线

    首先点击右上角的"高级设置". 点击左侧的"无线设置"栏,点击"WDS无线桥接",然后一步步设置可以使路由器连接到当前的一个无线网络. 然后 ...

  2. Windows安装SVN服务器和客户端

    我的操作系统版本是windows10 64位.接下来我会先介绍SVN服务器的安装,然后再介绍安装SVN客户端,并进行测试. 下载 首先我们需要到官网上去下载svn服务器程序. [svn官网地址] (h ...

  3. jQuery系列 第二章 jQuery框架使用准备

    第二章 jQuery框架使用准备 2.1 jQuery框架和JavaScript加载模式对比 jQuery框架的加载模式 <script> window.onload = function ...

  4. 洛谷 P3038 [USACO11DEC]牧草种植Grass Planting(树链剖分)

    题解:仍然是无脑树剖,要注意一下边权,然而这种没有初始边权的题目其实和点权也没什么区别了 代码如下: #include<cstdio> #include<vector> #in ...

  5. JavaScript数据结构与算法(七) 双向链表的实现

    TypeScript方式实现源码 // 双向链表和普通链表的区别在于, 在链表中, // 一个节点只有链向下一个节点的链接,而在双向链表中,链接是双向的:一个链向下一个元素, // 另一个链向前一个元 ...

  6. Linux下 Apache Vhost 配置 防止403

    首先,贴一份正确的配置(最简单的) <VirtualHost *:80> DocumentRoot /home/ubuntu/www/spider/public ServerName sp ...

  7. [Codeforces 961G]Partitions

    Description 题库链接 给你 \(n\) 个不同的元素组成的集合 \(R\) ,每个元素有一个权值 \(w\) .对于一个子集集合 \(S\) ,它的价值为 \(W(S)=|S|\cdot\ ...

  8. [AHOI 2005]COMMON 约数研究

    Description Input 只有一行一个整数 N(0 < N < 1000000). Output 只有一行输出,为整数M,即f(1)到f(N)的累加和. Sample Input ...

  9. [SHOI2008]小约翰的游戏John

    Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取 的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不 ...

  10. [HAOI2009]逆序对数列

    题目描述 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组成的数列,可以很容易求出有多少个逆序对数.那么逆序对数为k的这样 ...