网络原理TCP/IP(5)

文章目录

  • IP协议
  • IP协议报头
  • 地址管理
  • 网段划分
  • 特殊的IP地址
  • 路由选择
  • 以太网
  • 认识MAC地址
  • 对比理解MAC地址和IP地址
  • DNS(域名服务器)

IP协议

IP协议主要完成的工作是两方面:

  1. 地址管理,使用一套地址体系,来描述互联网上每个设备所处的位置
  2. 路由选择,一个数据包如何从网络中的某个地址传输到另一个地址

在这里插入图片描述
• 主机:配有IP地址,但是不进⾏路由控制的设备;
• 路由器:即配有IP地址,⼜能进⾏路由控制;
• 节点:主机和路由器的统称;

IP协议报头

在这里插入图片描述

  1. 4位版本号(version): 指定IP协议的版本,对于IPv4来说,就是4.对于IPv6来说就是6
  2. 4位头部长度(header length): IP头部的⻓度是多少个32bit,也就是length*4的字节数.4bit表⽰最大的数字是15,因此IP头部最⼤⻓度是60字节.
  3. 8位服务类型(Type Of Service): 3位优先权字段(已经弃⽤),实际上只有四位有效,4位TOS字段,和1位保留字段(必须置为0).4位TOS分别表⽰:最⼩延时,最⼤吞吐量,最⾼可靠性,最⼩成本.这四者相互冲突,只能选择⼀个.对于ssh/telnet这样的应⽤程序,最⼩延时⽐较重要;对于ftp这样的程序,最⼤吞吐量⽐较重要.
  4. 16位总长度(total length): IP数据报整体占多少个字节.包含了报头和载荷,虽然IP自身有长度限制,但是IP也提供了拆包和组包,当载荷很大时,在IP这一层会自动拆成多个IP数据报,每个IP数据报来携带载荷的一部分
  5. 16位标识(id):唯⼀的标识主机发送的报⽂.如果IP报⽂在数据链路层被分片了,那么每⼀个⽚⾥⾯的这个id都是相同的.用于组包。
  6. 3位标志字段:第⼀位保留(保留的意思是现在不⽤,但是还没想好说不定以后要⽤到).第⼆位置为1表⽰禁⽌分片,这时候如果报⽂长度超过MTU,IP模块就会丢弃报⽂.第三位表⽰"更多分片",如果分⽚了的话,最后⼀个分片置为1,其他是0.类似于⼀个结束标记.
  7. 13位分片偏移(framegament offset):是分片相对于原始IP报⽂开始处的偏移.其实就是在表⽰当前分⽚在原报⽂中处在哪个位置.实际偏移的字节数是这个值*8得到的.因此,除了最后⼀个报⽂之外,其他报⽂的长度必须是8的整数倍(否则报⽂就不连续了).描述了这些包之间的先后顺序
  8. 8位⽣存时间(Time To Live,TTL):数据报到达⽬的地的最⼤报⽂跳数.⼀般是64.每次经过⼀个路由,TTL-=1,⼀直减到0还没到达,那么就丢弃了.这个字段主要是⽤来防止出现路由循环
  9. 8位协议:表示在传输层使用哪个协议
  10. 16位头部校验和:使用CRC进⾏校验,来鉴别头部是否损坏.
  11. 32位源地址和32位⽬标地址:表示了发件人地址和收件人地址

地址管理

IP地址的本质就是一个32位整数(int)
为了方便,就会把IP表示成点分十进制的方式
通过3个点分成4个部分,每个部分1个字节,每个部分的取值都是0-255
IP地址的存在,目的就是为了能够区分网络上不同的设备

如何解决IP地址不够用?

  1. 动态分配IP地址
    全世界的设备,也不是同一时刻一起都在上网,更充分的利用现有的IP地址
  2. NAT机制(网络地址映射)
    先把IP地址分成两大类
    a)私网IP(局域网IP):IP地址是以10.* , 172.16.–172.31. ,192.168.* 这三类地址都是私网IP
    b)公网IP:除了私网IP,其他的都是公网IP

公网上的设备对应的公网IP都必须是唯一的,但是私网上/局域网上的设备使用私网IP只要保证局域网内部的IP不重复即可,不同的局域网之间的Ip允许重复

由于上述的设定,就有一个重要的限制:
1.公网设备访问公网设备没有任何问题,直接访问即可
2.局域网设备访问局域网设备(同一局域网中)也是没有任何问题的
3.局域网设备访问局域网设备(不同局域网中)不允许访问
4.局域网设备访问公网设备就需要对局域网设备的IP进行地址转换
5.公网设备访问局域网设备不允许主动访问
在这里插入图片描述
路由器进行NAT的时候就会把这次通信的相关信息记录下来

在这里插入图片描述
3. IPv6从根本上解决问题
增加IP地址的个数
IPv6使用了16个字节表示IP地址

网段划分

IP地址分为两个部分,网络号和主机号

• 网络号:保证相互连接的两个网段具有不同的标识;
• 主机号:同⼀网段内,主机之间具有相同的网络号,但是必须有不同的主机号;

在这里插入图片描述
• 不同的子网其实就是把⽹络号相同的主机放到⼀起.
• 如果在子网中新增⼀台主机,则这台主机的网络号和这个子网的网络号⼀致,但是主机号必须不能和子网中的其他主机重复.
通过合理设置主机号和⽹络号,就可以保证在相互连接的⽹络中,每台主机的IP地址都不相同.
那么问题来了,⼿动管理⼦⽹内的IP,是⼀个相当⿇烦的事情.
• 有⼀种技术叫做DHCP,能够⾃动的给⼦⽹内新增主机节点分配IP地址,避免了⼿动管理IP的不便.
• ⼀般的路由器都带有DHCP功能.因此路由器也可以看做⼀个DHCP服务器.

过去曾经提出⼀种划分⽹络号和主机号的⽅案,把所有IP地址分为五类,如下图所⽰。
在这里插入图片描述

• A类0.0.0.0到127.255.255.255
• B类128.0.0.0到191.255.255.255
• C类192.0.0.0到223.255.255.255
• D类224.0.0.0到239.255.255.255
• E类240.0.0.0到247.255.255.255
随着Internet的⻜速发展,这种划分⽅案的局限性很快显现出来,⼤多数组织都申请B类⽹络地址,导致B类地址很快就分配完了,⽽A类却浪费了⼤量地址;
• 例如,申请了⼀个B类地址,理论上⼀个⼦⽹内能允许6万5千多个主机.A类地址的⼦⽹内的主机数更多.
• 然⽽实际⽹络架设中,不会存在⼀个⼦⽹内有这么多的情况.因此⼤量的IP地址都被浪费掉了. 针对这种情况提出了新的划分⽅案,称为CIDR(Classless InterdomainRouting):
• 引⼊⼀个额外的⼦⽹掩码(subnet mask)来区分⽹络号和主机号;
• ⼦⽹掩码也是⼀个32位的正整数. 通常⽤⼀串 “0” 来结尾;
• 将IP地址和⼦⽹掩码进⾏ “按位与” 操作, 得到的结果就是⽹络号;
• ⽹络号和主机号的划分与这个IP地址是A类、B类还是C类⽆关;
在这里插入图片描述
可见,IP地址与子网掩码做与运算可以得到⽹络号,主机号从全0到全1就是⼦⽹的地址范围;
IP地址和⼦⽹掩码还有⼀种更简洁的表⽰⽅法,例如140.252.20.68/24,表⽰IP地址为140.252.20.68,子网掩码的高24位是1,也就是255.255.255.0

特殊的IP地址

• 将IP地址中的主机地址全部设为0,就成为了⽹络号,代表这个局域⽹;
• 将IP地址中的主机地址全部设为1,就成为了⼴播地址, 用于给同⼀个链路中相互连接的所有主机发送数据包;
• 127.*的IP地址⽤于本机环回(loop back)测试,通常是127.0.0.1

路由选择

网络结构太复杂且,每一个路由器都无法掌握全局的信息,只能掌握局部信息,此时路由器规划出来的路线,只能是一个“较优解”路由的过程,是⼀跳⼀跳(Hop by Hop) “问路” 的过程.
所谓 “⼀跳” 就是数据链路层中的⼀个区间. 具体在以太⽹中指从源MAC地址到⽬的MAC地址之间的帧传输区间.
在这里插入图片描述

以太网

• "以太网"不是⼀种具体的网络,而是⼀种技术标准;既包含了数据链路层的内容,也包含了⼀些物理层的内容.例如:规定了⽹络拓扑结构,访问控制⽅式,传输速率等;
• 例如以太⽹中的⽹线必须使⽤双绞线;传输速率有10M,100M,1000M等;
• 以太⽹是当前应⽤最⼴泛的局域⽹技术;和以太⽹并列的还有令牌环⽹,⽆线LAN等;
以太⽹帧格式
以太⽹的帧格式如下所⽰:
在这里插入图片描述
• 源地址和⽬的地址是指网卡的硬件地址(也叫MAC地址), ⻓度是48位,是在⽹卡出⼚时固化的;
• 帧协议类型字段有三种值,分别对应IP、ARP、RARP;
• 帧末尾是CRC校验码。

认识MAC地址

• MAC地址⽤来识别数据链路层中相连的节点;
• ⻓度为48位, 及6个字节. ⼀般⽤16进制数字加上冒号的形式来表⽰(例如: 08:00:27:03:fb:19)
• 在⽹卡出⼚时就确定了, 不能修改. mac地址通常是唯⼀的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些⽹卡⽀持⽤⼾配置mac地址).

对比理解MAC地址和IP地址

• IP地址描述的是路途总体的 起点 和 终点;
• MAC地址描述的是路途上的每⼀个区间的起点和终点;

DNS(域名服务器)

使用IP地址来描述网络设备的位置,域名是一串可读性很好的单词,DNS把域名自动的转化成对应的IP地址
TCP/IP中使⽤IP地址和端⼝号来确定⽹络上的⼀台主机的⼀个程序.但是IP地址不⽅便记忆.
于是⼈们发明了⼀种叫主机名的东西,是⼀个字符串,并且使⽤hosts⽂件来描述主机名和IP地址的关系.
在这里插入图片描述
• DNS是应⽤层协议
• DNS底层使⽤UDP进⾏解析
• 浏览器会缓存DNS结果

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

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

相关文章

群晖各个型号之间有什么特色和区别

https://www.mi-d.cn/1338 您可以通过编译不同的型号固件来实现你想要的功能特性 DS3622xs、DS3617xs、SA6400 DSM7.x版本开始都支持24个CPU线程,其它的大部分型号都最多只支持8个线程(DS918、DS920)或16个线程,如果你的CPU核心…

JAVA Web 学习(五)Nginx、RPC、JWT

十二、反向代理服务器——Nginx 支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能支持…

TPRI-DMP的多级权限维护

一、多级授权维护 1、 多级授权的核心功能是当前用户给自己权限范围内的组织机构中的用户,分配自己权限范围内能看到的角色或删除用户已拥有的角色。 权限范围内的数据通过平台的权限表达式进行控制。在多层公司代码的组织机构中,多级授权功能(管理员角…

TrinityCore安装记录

TrinityCore模拟魔兽世界(World of Warcraft)的开源项目,并且该项目代码广泛的优化、改善和清理代码。 前期按照官方手册按部就班的安装即可。 注意几点: 1 需要配置Ubuntu22.04版本的服务器或者Debian11 服务器。2 需要使用gi…

力扣热门100题刷题笔记 - 5.最长回文子串

力扣热门100题 - 5.最长回文子串 题目链接:5. 最长回文子串 题目描述: 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。示例: 输入:s "…

微信小程序 使用npm包

1. 微信小程序 使用npm包 1.1. npm初始化 如果你的小程序项目没有安装过npm包的话,你需要先初始化npm npm init1.2. 安装npm包 这里以vant-weapp(小程序UI组件库)为例: npm i vant-weapp -S --production1.3. npm包构建 1.3.1. 点击微信开发者工具右…

OfficeWeb365 Readfile 任意文件读取漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

[Angular 基础] - 数据绑定(databinding)

[Angular 基础] - 数据绑定(databinding) 上篇笔记,关于 Angular 的渲染过程及组件的创建&简单学习:[Angular 基础] - Angular 渲染过程 & 组件的创建 Angular 之中的 databinding 是一个相对而言更加复杂,以及我个人觉得相对而言比…

MySQL 小技巧:xtrabackup 软件包的下载及安装

案例:xtrabackup 软件包的下载及安装 软件包下载:Index of /percona/centos/7/RPMS/x86_64/ CentOS7 默认的数据库版本比较老,因此建议使用 xtrabackup 2.4 版本 // CentOS7 默认的数据库版本比较老,因此建议使用 xtrabackup 2.4 版本 // 安装 CentOS7 默…

MacOS系统电脑远程桌面控制windows系统电脑【内网穿透】

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 1. 测试本地局域网内远程控制1.1 Windows打开远程桌面1…

办公室宝藏利器

今天我要向大家推荐的是五款超级实用的工作软件,它们能让你的工作变得如丝般顺滑,如行云流水般高效!让我们来一起揭开神秘的软件世界的面纱吧! 1、亿可达 他是一款自动化工具,相当于国内版免费的zaiper。它让任何人都…

【目标跟踪】相机运动补偿

文章目录 一、前言二、简介三、改进思路3.1、状态定义3.2、相机运动补偿3.3、iou和ReID融合3.4、改进总结 四、相机运动补偿 一、前言 目前 MOT (Multiple Object Tracking) 最有效的方法仍然是 Tracking-by-detection。今天给大家分享一篇论文 BoT-SORT。论文地址 &#xff0…