【Linux】网络层之IP协议

这篇具有很好参考价值的文章主要介绍了【Linux】网络层之IP协议。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网络层

在整个互联网中,为了能够标识每台机器,所有连接互联网的机器都会被分配一个IP地址,实现端到端之间的数据透明传送,具体功能包括寻址和路由选择,连接的建立,保持和终止。

网络层协议的作用

网络层主要的协议有IP协议,IP协议主要就是将数据包从源地址传输到目的地址,同时负责数据包的路由选择,分段和重组的功能。

IP协议的格式

【Linux】网络层之IP协议,linux,linux,网络
从图中可以看到,主要分为20个字节的固定长度和40字节的选项(IP头部),剩下的就是数据本身了(其实数据本身也包含了传输层头部+应用层数据)

那么在20个字节的固定长度中包含: 4位版本号:IP协议的版本
4位头部长度:IP协议头部的长度,4个bit位表示的最大数字是15,15*4=60表示最大的IP头部长度是60字节 8位服务类型:
16位总长度:IP数据报整体占多少字节
16位标识:标识发送的报文是否是同一个报文,如果IP报文在数据链路层被分片了,那么每个片中的16位标识是相同的
3位标志字段:第一位保留,第二位为1表示禁止分片,如果报文长度超过MTU就会丢弃该报文,第三位表示更多分片,如果进行了分片,那么最后一个分片置为1,其他置为0
13位片偏移:表示当前分片在原报文的哪个位置,以保证分片之后的报文也是连续的
8位生存时间:数据报到达目的地的最大报文跳数,一般是64,每经过一个路由就会减一,如果到0还每到达就会被丢弃,防止出现路由循环
8位协议:表示上层协议类型 16位头部校验和:使用CRC校验,鉴别IP头部是否损坏 32位源地址和32位目的地址:表示发送和接收端的IP地址
选项:40个字节的选项,可有可无

IP协议是如何管理地址的

将IP地址分为两部分:网络号和主机号
网络号:标识两个不同的网段
主机号:在同一个网段下,主机之间有相同的网络号,但是主机号不同

对于如何划分网络号,使用了一种划分方案,CIDR
引入了一个额外的子网掩码来区分主机号和网络号,子网掩码是32位的正整数,将子网掩码和IP地址进行按位与运算即可得到该IP地址的网络号。

IP地址 140.252.20.68
子网掩码 255.255.255.0
网络号 140.252.20.0
子网地址范围 140.252.20.0~140.252.20.255

其中:子网地址中主机号全为0代表网络号,代表整个局域网,主机号全为1称为广播地址,可以给所有在此连接中的主机发送数据包

特殊的IP地址

为了进一步缓解IP地址枯竭的问题,还使用了动态IP分配地址,即只给接入网络的设备分配IP地址,使用IPV6协议升级IPV4,提高IP地址的数量,使用公网和私网IP

子网地址中主机号全为0代表网络号,代表整个局域网,主机号全为1称为广播地址,可以给所有在此连接中的主机发送数据包

公网IP和私网IP

私网IP:10...* 172.16.. 192.168..
这三个作为私网IP,其余的称为公网IP,当私网IP的机器需要和公网IP的机器进行通信时,就需要将其私网IP地址转化为公网IP地址,这种转换方式就称为NAT(地址转换协议)。文章来源地址https://www.toymoban.com/news/detail-678157.html

到了这里,关于【Linux】网络层之IP协议的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】IP协议——网络层

    目录 IP协议 基本概念 IP协议格式 分片与组装 网段划分 特殊的IP地址 IP地址的数量限制  私网IP地址和公网IP地址 路由 路由表生成算法 IP协议全称为“网际互连协议(Internet Protocol)”,IP协议是TCP/IP体系中的网络层协议。 网络层解决的问题 TCP作为传输层控制协议,其保证的

    2024年02月13日
    浏览(31)
  • Linux【网络基础】IP协议

    IP是InternetProtocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。设计IP的目的是提高网络的可扩展性: 一是解决互联网问题,实现大规模、异构网络的互联互通; 二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。根据端到端的设计原则

    2024年02月11日
    浏览(46)
  • Linux学习记录——삼십팔 网络层IP协议

    应用层之下有传输层,应用层使用系统调用把数据拷贝到传输层就返回,继续执行自己那一层的代码;传输层使用TCP协议来管理和对端主机传输层之间的交互;应用层将数据传给传输层的TCP,TCP这个传输控制协议根据滑动窗口,选好能发送的数据,传给网络层,网络层有IP协

    2024年02月02日
    浏览(41)
  • Linux 网络编程学习笔记——一、TCP/IP 协议族

    数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介(以太网、令牌环等)上的传输,不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供一个统一的接口。最常用的协议是 ARP(Address Resolve Protocol,地址解析协议)和 RARP(

    2024年02月02日
    浏览(71)
  • Linux 网络基础(1)基础知识、IP地址、端口、协议、网络字节序

    网络发展背景: 网络的划分:局域网(覆盖范围在1000m以内)、城域网(覆盖范围在20km以内)、广域网(更大范围) 组网方式:以太网、令牌环网.... 日常名词:互联网,因特网----说的是一个网络,就是国际化的广域网 网卡:实现数字信号与电信号之间的转换 中继器:信号

    2024年02月05日
    浏览(90)
  • 网络网络层之(7)PPPOE协议

    Author: Once Day Date: 2024年4月7日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文档可参考专栏:通信网络技术_Once-Day的博客-CSDN博客。 参考文章: RFC 1661 - The Point-to-Point Protocol (PPP) RFC 2516 - A Metho

    2024年04月12日
    浏览(37)
  • Linux【网络基础】数据链路层&IP协议技术补充&DNS&DHCP

    数据链路层的主要功能就是负责相邻设备之间的数据传输 。 在网络层是点对点之间的通信。主要通过IP协议描述起点到终点。而链路层则是对网络层的补充,负责在起点到终点的路径中,每一个相邻节点的数据传输。 网络层主要关心的是从起点到终点 链路层则关心的是其中

    2024年02月14日
    浏览(53)
  • Linux内核--网络协议栈(五)TCP IP栈的实现原理与具体过程

    一、引言 二、Linux内核的结构 三、Linux网络子系统 四、TCP/IP协议栈 ------4.1、网络架构 ------4.2、协议无关接口 ------4.3、套接口缓存 ------4.4、重要的数据结构 五、网络信息处理流程 ------5.1、硬中断处理 ------5.2、ksoftirqd内核线程处理软中断 ------5.3、网络协议栈处理 ------5.4、

    2024年01月21日
    浏览(69)
  • 网络链路层之(2)PPP协议

    Author: Once Day Date: 2024年3月27日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: 通信网络技术_Once-Day的博客-CSDN博客。 参考文章: 《TCP/IP详解卷一》 1. 概述 ppp是一个协议集合,包

    2024年04月16日
    浏览(39)
  • 【Linux】网络基础常识{OSI七层模型/ TCP/IP / 端口号 /各种协议}

    了解网络发展背景,对局域网/广域网的概念有基本认识; 了解网络协议的意义, 重点理解TCP/IP五层结构模型; 学习网络传输的基本流程,理解封装和分用; DHCP(动态主机配置协议,Dynamic Host Configuration Protocol)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:

    2024年04月14日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包