网络层_IP

传输层解决的是传输控制,而实际真正决定数据能否发送到对端的是网络层。网络层是有概率传输,而传输层是可靠性传输。所以传输层+网络层就可以做到将数据可靠发送到对端。网络层的常见协议有:IP、ICMP等,其中最重要的是IP协议,IP协议有IP4v和IPv6两种,目前用的最多的是IPv4.

一.IP协议

1.1 IP地址

一般每一个网卡都配有一个IP地址,而IP地址可以标识网络中的唯一一台主机,IP地址有网络号和主机号组成,按照网络号可以快速定位某一个主机在哪个网段,然后根据主机号进一步确认是哪个主机。

  • IPv4地址:32位,用点分十进制标识
  • IPv6地址:128位

环回地址:172.0.0.1 这个ip地址用于网络测试,从该ip发出的数据不会发送到网络中,而是贯穿自己的TCP/IP层,然后交给自己上层程序。

1.2 IP协议格式

image.png

  • 4位版本:4-IPv4
  • 4位首部长度:以4字节为单位,同TCP
  • 8位服务类型:表示IP提供哪种类型的传输方式
    • 最大吞吐量
    • 最小时延:路径选择最近
    • 最高可靠性:丢包概率最低路径路由
    • 最小成本:
  • 16位总长度:解决IP报文的粘包问题
  • 16位标识:用于区分不同IP报文
  • 3位标志:xxx 第一位x保留; 第二位x如果为1表示不能分片,0可以分片;第三位x表示更多分片:如果为1,则表示该分片后有分片。
  • 13位片偏移:该分片的数据在原始报文中的偏移量
  • 8位生存时间:最多可以经过几次路由器转发
  • 8位协议类型:交付给上层哪个协议,TCP or UDP
  • 16位首部校验和
1.3 网段划分

如果用MAC地址在网络中定位某一台主机,那么我们就必须得一台一台主机查,这样查找效率无疑是很低的。如果用IP地址在网络中定位某一台主机,根据网络号把所有主机划分为若干子网,每个子网都有其子网号,这样要查找一台主机,先查找目标主机的网络号,然后再确定具体是该子网中的哪个主机。这样的查找效率是很高的。举个例子,根据你的学号来找你,一定先是确定你的学院,然后确定你的专业,然后确定你的班级,最后找到你,这样查找效率一定是比一个一个找高的。

路由器:

  • 功能:构建子网,DHCP动态为当前子网内的主机分配IP地址

一般路由器就是你当前网段的入口主机,所以一般路由器的ip地址就是当前网段内的1号主机。例如:192.168.3.1 , 网络号:192.168.3,主机号:1。

Internet组织机构定义了五种IP地址,有A、B、C、D、E五类地址。但是由于这种划分子网的方式会导致大量的IP地址浪费,目前解决方案有CIDR,DHCP,NAT技术,IPv6。

  • CIDR方案:引入一个额外的子网掩码(subnet mask)来区分网络号和主机号;子网掩码也是一个32位的正整数. 通常用一串 “0” 来结尾;将IP地址和子网掩码进行 “按位与” 操作, 得到的结果就是网络号;网络号和主机号的划分与这个IP地址是A类、B类还是C类无关;

模拟子网划分方式:在下面的划分方案中,只是为了弄清一些网络机制。
image.png
在两个网络之间,要有一个路由器,这个路由器至少包含有两个IP地址,一个是对内的,一个是对外的。划分到一定程度上,运营商不会按照上述这样一直增大子网掩码,而是建立一个私网。
公网IP与私网IP:
标志规定私网IP有三种,且不能出现在公网中。私有IP可以相同

  1. 10.x.x.x 大型局域网用的私网IP
  2. 192.168.x.x 小型局域网用的私网IP,比如一个家庭
  3. 172.16.x.x - 127.31.x.x 中型局域网用的私网IP,比如一个学校

image.png
任何一台路由器都有两个IP,私有IP(LAN口IP)和公网IP(WAN口IP)。当用户要给公网的一个主机发送消息时,由于私网IP不能出现在公网上,所以报文在经过当前局域网的出口路由器时会将报文的私有IP换为路由器的WAN口IP,然后传输到公网上,经过路由后找到对应的主机。这种技术就是NAT技术(源ip不断被替换)。

1.4 路由

IP数据包的转发是不断进行查找路由表的过程,通常一个路由器会直连两个子网,如果查找路由表发现目的IP地址不是这两个子网,路由器就会将该IP数据包转发到默认路由,进行下一次查找;如果查找路由器发现目的IP在级联的两个子网中,就会将该IP数据包发送给目的子网
image.png
路由表:route命令查看路由表
image.png

路由表的Destination是目的网络地址,Genmask是子网掩码,Gateway是下一跳地址,Iface是发送接口,Flags中的U标志表示此条目有效(可以禁用某些条目),G标志表示此条目的下一跳地址是某个路由器的地址,没有G标志的条目表示目的网络地址是与本机接口直接相连的网络,不必经路由器转发;

1.5 分片与组装

由于MAC协议规定,一次传输的字节数(MTU)不超过1500字节。因此,如果IP数据包的大小超过1500字节,就要进行分片传送,然后到达对端主机的网络层再进行组装成一个完整的报文。在IP协议中有三个字段:16位标识,3位标志,13位片偏移。通过这三个字段可以实现对同一个包的分片进行组装。但IP数据包如果分片了,那么就会增加丢包概率,所以TCP向下交付的数据尽量不要过大,一般应该为1480。其中TCP报头20字节,有效载荷1460字节(MSS,最大段尺寸),最终加IP报头20字节,最后传输到数据链路层的总大小为1500字节。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/747744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32F103 CubeMX 使用USB生成鼠标设备

STM32F103 CubeMX 使用USB生成鼠标设备 1 配置cubeMX1.1配置外部晶振,配置debug口1.2 配置USB1.3 配置芯片的时钟1.4 生成工程 2. 编写代码2.1 添加申明2.2 main函数代码 1 配置cubeMX 1.1配置外部晶振,配置debug口 1.2 配置USB 1.3 配置芯片的时钟 需…

云与云计算:从传统到云端的IT资源变革

云:从分散到集约,资源服务化的新模式 让我们先通过一个生活化的场景来理解“云”这一概念。几十年前,诸如农村地区的居民需要自给自足,比如在自家院子里打井取水,冬季烧煤取暖,一切满足自己生活需要的都要…

html和winform webBrowser控件交互并播放视频(包含转码)

1、 为了使网页能够与winform交互 将com的可访问性设置为真 [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name "FullTrust")][System.Runtime.InteropServices.ComVisibleAttribute(true)] 2、在webBrow…

idea+vim+pycharm的块选择快捷键

平时开发的时候,有的时候我们想用矩形框住代码,或者想在某列上插入相同字符 例如下图所示,我想在22-24行的前面插入0000 1. Idea的快捷键:option 鼠标 2. Pycharm的快捷键:shift option 鼠标 2. Vim 块选择 v/V/c…

spy分析文件另存为弹框【selenium】

有时需要下载多个文件,但是不想保存在同一个目录下,需要做两步 selenium设置浏览器默认下载路径,这个路径需要是个不存在的路径操作文件另存为弹框 文章目录 selenium设置浏览器默认下载路径操作文件另存为弹框 selenium设置浏览器默认下载路…

Github和TeamCity的持续集成构建

一、简介 TeamCity是JetBrains旗下的一款持续集成[Continuous Integration,简称CI]工具,开箱即用。TeamCity提供一系列特性可以让团队快速实现持续集成:IDE工具集成、各种消息通知、各种报表、项目的管理、分布式的编译等等。 二、安装使用(…

Excel xlsx file:not supported

报错信息: 原因: Excel和xlrd版本不匹配 解决措施: 降低xlrd版本或Excel版本 方法一: 1) 先卸载了原来的版本:uninstal xlrd 2) 安装新的低版本xlrd模块pip install xlrd1.2.0 方法二: 1&#xff09…

AI日报:欧盟人工智能法案通过后行业面临合规障碍

文章目录 人工智能新规对web爬网的影响对英国的影响。 人工智能新规 立法者已经通过了欧盟人工智能法案。企业现在必须确保其人工智能应用程序符合规则。 全面的新规定对可能影响公民权利的人工智能系统实施制裁,并有可能彻底禁止某些系统。 违反规定的公司可能面…

【类和对象】类的作用域 | 类的实例化 | 类对象模型 | this指针

目录 5.类的作用域 6.类的实例化 6.1成员的声明和定义 6.2实例化出的对象大小 7.类对象模型❗❗ 7.1如何计算类对象的大小 7.2类对象的存储方式猜测 7.3结构体内存对齐规则 7.3.1内存对齐 7.3.2大小端 8.this指针 8.1this指针的引出 8.2this指针的特性 C和C实…

MySQL—redo log、undo log以及MVCC

MySQL—redo log、undo log以及MVCC 首先回忆一下MySQL事务的四大特性:ACID,即原子性、一致性、隔离性和持久性。其中原子性、一致性、持久性实际上是由InnoDB中的两份日志保证的,一份是redo log日志,一份是undo log日志&#xff…

了解常用测试模型 -- V模型、W模型

目录 V模型 测试流程 特点 优、缺点 w模型/双v模型 测试流程 特点 优、缺点 V模型 测试流程 用户需求:产品经理将用户需求转变为软件需求 需求分析与系统设计:验证需求是否正确,确定编程语言和框架 概要设计:项目结构设…

Java数据结构-优先级队列

文章目录 前言一、优先级队列1.1 概念 二、优先级队列的模拟实现2.1 堆的概念2.2 堆的存储方式2.3 堆的创建2.3.1 堆向下调整2.3.2 堆的创建2.3.3 建堆的时间复杂度 2.4 堆的插入与删除2.4.1 堆的插入2.4.2 堆的删除 2.5 用堆模拟实现优先级队列 三、常用接口介绍3.1 PriorityQ…

鼓楼夜市管理wpf+sqlserver

鼓楼夜市管理系统wpfsqlserver 下载地址:鼓楼夜市管理系统wpfsqlserver 说明文档 运行前附加数据库.mdf(或sql生成数据库) 主要技术: 基于C#wpf架构和sql server数据库 功能模块: 登录注册 鼓楼夜市管理系统主界面所有店铺信…

C++类与对象二

目录 一、类的嵌套 二、对象引用私有数据成员 通过公有函数为私有成员赋值 利用指针访问私有数据成员 利用函数访问私有数据成员 利用引用访问私有数据成员 三、成员函数重载 四、this指针 一、类的嵌套 #include <iostream> using namespace std;class CC1 { p…

华为配置中心AP内漫游实验

华为配置中心AP内漫游示例 组网图形 图1 配置中心AP内漫游组网图 配置流程组网需求配置思路数据规划配置注意事项操作步骤配置文件 配置流程 WLAN不同的特性和功能需要在不同类型的模板下进行配置和维护&#xff0c;这些模板统称为WLAN模板&#xff0c;如域管理模板、射频模…

Spring Cloud Gateway针对指定接口做响应超时时间限制

背景&#xff1a;我做的这个服务中存在要对大数据量做自定义统计的接口和大文件上传接口&#xff0c;接口响应用时会超过gateWay配置的全局用时&#xff0c;如果调整网关全局的超时时间和服务的全局超时时间是不合理的&#xff0c;故此想能否单独针对某个接口进行细粒度超时限制…

林木园区改造VR仿真培训课件提高人们的专业素质

森林经营VR模拟体验摆脱了传统森林经营周期长、实践难及耗材大等问题&#xff0c;借助VR虚拟仿真技术为人们提供一种全新的、沉浸式的森林经营体验&#xff0c;让人们更好地了解森林经营的全周期。 提高人们的环保意识 通过亲身参与森林经营的过程&#xff0c;人们可以更直观地…

4、鸿蒙学习-@ohos.promptAction (弹窗)

创建并显示文本提示框、对话框和操作菜单。 说明 本模块首批接口从API version 9开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 该模块不支持在UIAbility的文件声明处使用&#xff0c;即不能在UIAbility的生命周期中调用&#xff0c;需要在创建…

关于python中数据分析的一些函数

首先先下载numpy函数库 如果使用的pycharm软件&#xff0c;可在设置中下载&#xff0c;在Python interpreter设置里&#xff0c;点击号&#xff0c;搜索numpy点击下载即可 第一部分 1.array()函数 这是一个将类似数组的数据转为数组的函数&#xff0c;我们还可以控制其数组的…

【Unity】程序创建Mesh(二)MeshRenderer、光照、Probes探针、UV信息、法线信息

文章目录 接上文MeshRenderer&#xff08;网格渲染器&#xff09;Materials&#xff08;材质&#xff09;Material和Mesh对应Lighting光照Lightmapping材质中的光照 光源类型阴影全局光照Probes&#xff08;探针&#xff09;Ray Tracing&#xff08;光线追踪&#xff09;Additi…