热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IP协议及地址解析协议

IP协议及地址解析协议1     TCPIP1.1     五层架构名称硬件功能传输对象协议(举例)应用层提供应用程序网络接口具体的协议报文HTTP,Telnet,FTP,ping
IP协议及地址解析协议

1      TCP/IP

1.1      五层架构

名称

硬件

功能

传输对象

协议(举例)

应用层

/

提供应用程序网络接口

具体的协议报文

HTTP, Telnet,FTP,ping

传输层

/

建立端到端连接

segment

TCP/UDP

网络层

路由器

寻址和路由选择

IP报文

IP

ICMP

ARP/RARP

数据链路层

交换机

物理介质访问

帧(frame)

Ethernet,PPP

物理层

接口,线缆(双绞线,光纤),无线电波

二进制数据流传输

比特流(bit)

/

 

1.2      IP首部

《IP协议及地址解析协议》

普通的IP头部长度为20个字节,不包含IP选项字段。

版本号(Version字段标明了IP协议的版本号,目前的协议版本号为4。下一代IP协议的版本号为6。

头部长度指IP报文头长度,占4位。

8位的服务类型(TOS,Type of Service)字段包括一个3位的优先权字段(COS,Class of Service),4位TOS字段和1位未用位。4位TOS分别代表最小时延、最大吞吐量、最高可靠性和最小费用。

总长度(Total length)是整个IP数据报长度,包括数据部分。由于该字段长16比特,所以IP数据报最长可达65535字节。

标识符(Identification)字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加1。

标志位:3比特。

片偏移:13位,用于指明分片起始点对于报头起始点的偏移量;

生存时间(TTL,Time to Live)字段设置了数据包可以经过的最多路由器数目。TTL的初始值由源主机设置(通常为32或64),一旦经过一个路由器,TTL值就会减1,当该字段值为0时,数据包将被丢弃,并发送ICMP报文通知源主机。

协议字段确定在数据包内传送的上层协议,和端口号类似,IP协议用协议号区分上层协议。TCP协议的协议号为6,UDP协议的协议号为17。

报头校验和(Head checksum)字段计算IP头部的校验和,检查报文头部的完整性。

 

2 IP地址

每个IP地址是一个写成4个8位字节的32比特值。

IP地址唯一标示一台网络设备.最初互联网络设计者根据网络规模大小规定了地址类,把IP地址分为A、B、C、D、E五类。

 

《IP协议及地址解析协议》

 

2.1 特殊IP地址

a.IP地址255.255.255.255 为受限的广播地址,任何情况下路由不转发目的地址为受限的广播地址的数据报,只让数据报出现在本地网络中。

b.主机号全为1的地址为指向网络的广播地址。路由器必须转发指向网络的广播。

c.主机号全为1且有特定子网号的地址为子网广播地址,同时需要子网掩码来确定子网号。例:IP 128.1.2.255 当子网掩码:255.255.255.0 则改地址为子网广播地址;当子网掩码为255.255.254.0时 改地址不是一个子网广播地址。

d.主机号为0时,表示网络号或子网号不能占用。

《IP协议及地址解析协议》

 

2.2 子网掩码

IP地址的网络部分称为网络地址,网络地址用于唯一地标识一个网段,或者若干网段的聚合,同一网段中的网络设备有同样的网络地址。IP地址的主机部分称为主机地址,主机地址用于唯一的标识同一网段内的网络设备。

 

网络设备使用子网掩码(subnet masking)决定IP地址中哪部分为网络部分,哪部分为主机部分。

子网掩码使用与IP地址一样的格式。子网掩码的网络部分和子网部分全都是1,主机部分全都是0。缺省状态下,如果没有进行子网划分,A类网络的子网掩码为255.0.0.0,B类网络的子网掩码为255.255.0.0,C类网络子网掩码为255.255.255.0。利用子网,网络地址的使用会更有效。对外仍为一个网络,对内部而言,则分为不同的子网。

 

下期是地址解析协议(ARP跟RARP)和天马星空的现场提问,敬请期待^_^


推荐阅读
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Firefox火狐浏览器关闭到http://detectportal.firefox.com的流量问题解决办法
    本文介绍了使用Firefox火狐浏览器时出现关闭到http://detectportal.firefox.com的流量问题,并提供了解决办法。问题的本质是因为火狐默认开启了Captive portal技术,当连接需要认证的WiFi时,火狐会跳出认证界面。通过修改about:config中的network.captive-portal-service.en的值为false,可以解决该问题。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
author-avatar
倒霉熊丶JO_205
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有