IP协议是网络层唯一的协议,全称Internet Protocol(互联网协议),也是TCP/IP协议体系中最核心的协议之一,通过IP地址,保证了联网设备的唯一性,IP最大的特性是为两个终端之间的通信提供更高的效率、更高的传输速度,也带来了弊端就是无连接以及不可靠的传输。

IP协议是面向非连接的,所谓的非连接就是在数据的传递过程中,不需要检测网络是否连通,所以是不可靠的数据报协议。IP协议主要用于在主机之间的寻址和选择数据包路由。


这里以访问者1(12.1.56.6)访问服务器(1.1.1.1)举例(这里只看网络层)
访问者1把请求服务器的数据前面封装源目IP(源:12.1.56.6,目的:1.1.1.1),将这个带有IP地址信息的数据包发送给interent。
Internet上面是有许许多多的网络设备,比如路由器,它们收到这个数据包后会根据包里面的目的IP地址,通过查询路由表,会把这个数据包发送给它最近的邻居设备,这样以接力棒的形式抵达目的地。服务器收到数据请求后,处理完,要把这个结果返回给访问者1,这个时候它会把源目IP地址调换(源:1.1.1.1,目的:12.1.56.6),将这个数据包封装发到互联网,最终同样的方式回到访问者1。

以生活中快递的形式代入,把包裹当成数据包,把快递单号当成源目IP(快递单号包含发件人与收件人),快递公司的运输工具当成internet中的路由器等设备,在运输途中,根据单号的收件人地址(目的IP)来运输,中途会进行中转,交给另外的运输车继续运输(路由器通过查询路由表,交给下一个设备继续处理一样),最终到达收件人的手里。

通过以上内容可以得到的信息

IP协议中提供了IP地址,在数据包中包含源目IP地址,中间处理数据包的路由器可以根据目的地址查询路由表来得到转发的方向(交给谁处理)

IP地址中的源IP给接收方提供了一个回复的信息,它可以根据这个源进行正确的响应。

IP协议虽然数据包中包含了源目地址信息,但是一旦这个数据包发送出去后,不一定保证能够到达地方,比如中途路由线路坏了或者它也不知道目的地怎么走(类似于快递中丢件了),这里就正好体现了IP协议的弊端,无连接以及不可靠的传输特性。那带来了一个问题,如果真出现了丢包,IP协议不能处理,谁处理呢?这个就是后面要提到的TCP协议。

Internet地址结构

学习IP协议,重点要搞清楚IP地址。

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位的标识符。IP地址使我们在互联网上很方便地进行寻址。

这时候大家肯定会想到MAC地址,那二者有什么区别呢?

物理地址是数据链路层和物理层使用的地址,是由网卡生产厂家固化在网卡的EPROM上,用来识别主机,具有全球唯一性。

IP地址是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址是逻辑地址是因为IP地址是用软件实现的),IP地址放在IP数据报的首部,而硬件地址则放在MAC帧的首部。

在网络层抽象的互联网上只能看到IP数据报。在局域网的链路层,只能看见MAC帧。

形象的说,IP地址就像你的家庭住址,MAC地址就像你的身份证号,只知道MAC地址是无法知道你在什么位置的,除非是有个超大功率的扩音器,世界上所有人都能听到:“王老五,你在哪?”然后,你再用扩音器喊:我在这。这样才能实现通信。
而IP地址不一样,不管你去了哪里?总会有个住址,很容易就会定位到你的位置。

表示IP地址

这样区分起来就比较清楚了,我们继续探讨IP地址。

IP地址由网络号和主机号组成。第一个字段是网络号,它标志主机(或路由器)所连接到的网络,在互联网中是唯一的。第二个字段是主机号,它标志设备本身,在所在网络范围内是唯一的。因此,一个IP地址在整个互联网中都是唯一的。

IP地址由32位二进制数组成,为了提高可读性,通常采用“点分十进制”表示IP地址,如192.168.1.2。

IPV4地址的数量约有42亿个,为了便于管理,必须对IP地址进行分类。IP地址可分为A、B、C、D、E五类。
目前的IP版本有4和6。

目前最流行的就是IPv4,有十进制和二进制两种表示方法。分别是:
点分四组十进制。每一组范围是[0~255],如:255.255.255.255
二进制。如:11111111 11111111 11111111 11111111

IPv6地址长度是128位,
由8块(或8个字段)组成,每一块都包含四个16进制数,每块由冒号分隔。
有以下特点:
1、一个块中前导的0不必书写。
2、全0的块可以省略,并用符号::代替。
3、IPv6可以兼容IPv4地址,即可以用IPv6格式表示IPv4地址。
表示方式为:IPv6块值为ffff,其后面紧跟“点分四组”的格式。如:
::ffff:10.0.0.1
可以代表IPv4:10.0.0.1
4、IPv6的低32位通常采用点分四组(就是上面那样)的表示法。

基本的IP地址结构

IP地址由网络号和主机号组成。第一个字段是网络号,它标志主机(或路由器)所连接到的网络,在互联网中是唯一的。第二个字段是主机号,它标志设备本身,在所在网络范围内是唯一的。因此,一个IP地址在整个互联网中都是唯一的。

IP地址由32位二进制数组成,为了提高可读性,通常采用“点分十进制”表示IP地址,如192.168.1.2。

IPV4地址的数量约有42亿个,为了便于管理,必须对IP地址进行分类。IP地址可分为A、B、C、D、E五类。

分类寻址
IPV4被分为五大类:ABCDE
A类为:点分四组中的第一组地址范围为0~127的IP地址。已二进制来看就是“首位为0”
B类:128~191.二进制首位为10
C类:192~223.二进制首位为110
D类:224~239.二进制首位为1110
E类:240~255.二进制首位为1111


A类地址的网络号占1字节,前面一位固定为0,第一个字节的取值范围为0~127。
B类地址的网络号占2个字节,前面两位固定为10,第一个字节的取值范围为128~191。
C类地址的网络号占3个字节,前面三位固定110,第一个字节的取值范围为192~223。
D类地址第一个字节的前4位为1110,取值范围为224~239。D类地址是一个专门保留的地址,用于多播。
E类地址第一个字节的前4位为1111,取值范围为240~255。E类地址保留为以后用,其中255.255.255.255用作广播。

还有一些特殊的IP地址我们要搞清楚

1.广播地址

广播通信是“一对所有”的通信方式,就像学校的大喇叭,一对多的发送数据,但是广播也是需要地址才能进行数据传送。当IP地址的主机地址部分全部设置为1的时候,IP地址就成了广播地址。

广播地址分为受限广播和直接广播。

受限广播地址发送目的地址全为1的广播包,但在任何情况下,路由器都会禁止转发目的地址为255.255.255.255的广播数据包,因此这样的数据包仅仅会出现在局域网中。

直接广播地址是主机号全为1而得到的地址,使用该地址可以向网络内的所有主机发送数据。

A类地址的广播地址为×××.255.255.255。
B类地址的广播地址为×××.×××.255.255。
C类地址的广播地址为×××.×××.×××.255。
注意:这些广播地址只能作为目的地址,不能做源地址。

2.多播地址
多播地址用在一对多的通信中,即一个发送者,多个接收者,不论接收者数量为多少,发送者只发送一次数据包。多播地址属于D类地址范畴,且也只能作为目的地址。

3.环回地址
127网段的所有地址都称为环回地址,主要用来测试网络协议是否工作正常。比如在电脑中使用ping命令去ping127.1.1.1就可以测试本地TCP/IP协议是否工作正常。

4.本网络本主机
IP地址为0.0.0.0表示本网络本主机,这个IP地址只能用作源IP地址。一般发生在设备启动时不知道自己的IP地址时,主机向DHCP服务器发送IP数据报,并用0.0.0.0作为源地址,目的地址为255.255.255.255(因为主机还不知道DHCP服务器的地址),然后DHCP服务器就会知道这个主机暂时没有IP地址,就会分配一个IP地址给该主机。

5.私有地址
私有地址属于非注册地址,专门为组织机构内部使用。以下为留用的内部私有地址。
A类:10.0.0.0-10.255.255.255
B类:172.16.0.0-172.31.255.255
C类:192.168.0.0-192.168.255.255

IP数据报


1.版本号:占4位,就是IP协议的版本,通信双方的IP协议必须要一致,IPv4的版本就是4。
2.首部长度:占4位,大部分的IP头部中首部字节都是0101,也就是5*4=20个字节,如果是最大值15的话,IP首部的最大值就是60个字节。
3.服务类型:占8位,用处不大。
4.总长度:占16位,表示IP数据报中首部和数据的总和的长度,总长度的最大值就是2的16次方减一,意味着一个IP数据报的最大长度就只能装下65535个字节,传输的长度超过这个就需要分片。
5.标识:占16位,IP在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报片的标识字段中,等到重组的时候,相同标识符的值的数据报就会被重新组装成一个数据报。
6.标志:占3位,一般有用的是前两位,最低位叫做MF,MF=1表示后面还有若干个数据报,MF=0表示这已经是最后一个数据报了。中间位叫做DF,DF表示不能进行分片,DF=0才可以进行分片操作。
7.片偏移:占13位,就是指在原来的数据报分片以后,该片在原分组中的相对位置。
8.生存时间TTL:占8位,表明数据报在网络中的寿命,每经过一个路由器,该值就减一,减到零的时候就被抛弃,最大值就是2的8次方减一,255。
9.协议:占8位,就是用来指明数据报携带了哪种协议。
10.首部检验和:占16位,这个字段用来检验数据报首段。


首先在发送端的时候,将检验和全部置为0,然后把数据报首段数据全部进行反码相加,得到的值为检验和,放入首段检验和里面,然后接收端将数据报首段数据和检验和一起全部反码相加,最后若是得到零,则保留,若是不为零,则说明数据报在传输的过程中发生了改变,则丢弃该数据报。

11.IP源地址:占32位,指明了该数据包的来源。
12.目的地址:占32位,指明了该数据包发送的最终目的地。
13.可选选项:实际上就是增加了数据报的功能,在实际上是很少用到的。

接下来我们解决子网掩码的问题

引入子网掩码,是为了把一个大网络划分成一些小网络。
子网掩码又叫网络掩码,作用就是区分IP地址中“网络地址”和“主机地址”。子网掩码也是32位二进制数,也采用“点分十进制”,但子网掩码通常是由连续的1和0组成。1用来标记网络位,0用来标记主机位。子网掩码必须结合IP地址一起使用。

互联网标准规定所有网络都要使用子网掩码。不管网络有没有划分子网,只要把子网掩码和IP地址进行二进制逐位相“与”(计算机进行这种逻辑AND运算是很容易的),就得出了所要找的子网的网络地址。

例:已知IP地址是141.14.72.24,子网掩码是255.255.192.0,试求网络地址。

通过划分子网,可以更有效地使用IP地址空间,限定广播的传播以及更有利于网络安全管理。

最后再提一下网关和DNS

网关又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。简单说,网关就是网络出口,也就是路由器。我们的设备与运营商直接连接的就是网关。

DNS(域名系统),互联网上作为域名和IP地址相互映射的一个分布式数据库,IP地址不容易记忆,所以网址使用域名,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

再谈子网掩码

在ip地址传播的时候,可以根据二进制首位的格式判断其属于第几类网,也就爱能判断其网络号有多少位。
但ip地址本身并没有包含任何关于子网划分的信息,所以光凭ip地址无法知道“其是如何划分子网的”。
于是就出现了子网掩码,和ip地址配套着出现,用来说明“该ip地址的子网ID是那几位数”。

以二进制来看子网掩码,只有“连续的1”或“连续的0”。IP子网掩码的长度和他所对应的IP地址长度一样(即32位和128位)。
其中的“1”对应的是ip中的“网络号”和“子网号”,“0”对应的是ip中的“主机号”。

将ip地址与子网掩码进行“按位与”运算,就能得出用于路由的“子网标识符”,如:ip地址:  128.32.1.14 对应二进制:10000000 00100000 00000001 00001110掩码地址: 255.255.255.0 对应二进制:11111111 11111111 11111111 00000000子网标识符 128.32.1.0 对应二进制:10000000 00100000 00000001 00000000

通过上面的运算我们可以看出:128.32.1.14这个地址属于子网“128.32.1.0”。

以上面的各个ip地址为例,整个流程可以如下所示:

1、某个站点申请到了一个B类网的网络号:128.32.x.x
2、然后该站点的管理员决定使用“255.255.255.0”作为该站点的子网掩码。这样就该站点有多少个子网划分好了
(一旦决定使用该子网掩码,通过计算就能知道,将该站点划分了256个子网,每个子网里有254台主机(因为每个子网的第一个和最后一个地址无效))
3、然后为每一个子网中的主机都安排好ip地址。
4、假设现在有一个访问,请求访问ip地址128.32.1.14
5、先根据该ip地址的二进制前几位,发现该地址是一个B类网,所以网络号有16位,也就是说128.32是它的网络号。于是根据网络号128.32找到该站点。
6、该站点边界路由器将该ip与子网掩码进行“按位与”运算,发现子网标识符为128.32.1.0(即128.32.1,后面的.0不存在,因为每个子网的第一个和最后一个地址无效)
7、找到子网128.32.1后,再根据.14找到主机。

697-细谈IP协议相关推荐

  1. 网络基础3-1(细谈IP协议头, 网络层,子网划分,路由选择,数据链路层,以太网帧格式,MAC地址,再谈ARP协议)

    IP协议 IP协议头格式 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4 4位头部长度(header length): IP头部的长度是多少个.32bit, 也就是 ...

  2. 《TCP IP协议 详解》思考总结 · 三

    前言 这一篇文章主要围绕了IP协议,ICMP协议和UDP协议展开,希望可以在这里大概做一个总结,将<TCP/IP协议详解 卷一>书中TCP相关章节前面的内容做一个结束,在下一篇文章专心的去 ...

  3. [趣谈网络协议学习] 03 DHCP与PXE:IP是怎么来的, 又是怎么没的?

    如何配置 IP 地址? 在linux中可以使用ifconfig, 也可以使用ip addr. 设置好了以后, 用这两个命令, 将网卡 up 一·下, 就可以开始工作了. 使用 net-tools: s ...

  4. server2008网卡驱动包_从网卡发送数据再谈TCP/IP协议—网络传输速度计算-网卡构造...

    在<在深谈TCP/IP三步握手&四步挥手原理及衍生问题-长文解剖IP>里面提到 单个TCP包每次打包1448字节的数据进行发送(以太网Ethernet最大的数据帧是1518字节,以 ...

  5. 网络基础2(下):IP协议与MAC帧

    "你说不爱了,又依依不舍." (一)传输层(IP协议) IP协议的基本概念 主机:配有IP地址,但是不进行路由控制的设备. 路由器:既配有IP地址,又进行路由控制. 节点:主机 & ...

  6. windows server 2003 DNS 细谈系列之(二)记录类型、数据库

    windows server 2003 DNS 细谈系列之(二)记录类型.数据库<?xml:namespace prefix = o ns = "urn:schemas-microso ...

  7. 浅谈网络协议(一) 为什么要学网络协议

    2019独角兽企业重金招聘Python工程师标准>>> 最近在学习网易研究院云技术部首席架构师刘超先生的趣谈网络协议,开一个系列记录一下. 本系列文章是在原作的基础上修正,并加以自己 ...

  8. 趣谈网络协议笔记-二(第十九讲)

    趣谈网络协议笔记-二(第十九讲) HttpDNS:网络世界的地址簿也会指错路 自勉 勿谓言之不预也 -- 向为祖国牺牲的先烈致敬! 引用 dns缓存刷新时间是多久?dns本地缓存时间介绍 - 东大网管 ...

  9. 趣谈网络协议笔记-二(第十八讲)

    趣谈网络协议笔记-二(第十八讲) DNS协议:网络世界的地址簿 自勉 勿谓言之不预也 -- 向为祖国牺牲的先烈致敬! 正文 DNS用于域名解析,但也不仅仅是用于域名解析,不仅仅是将域名转换成IP. 在 ...

最新文章

  1. Sharepoint2013商务智能学习笔记之Secure Store Service服务配置(二)
  2. 【深度学习】翻译:60分钟入门PyTorch(四)——训练一个分类器
  3. 【笔记】mybatis的sqlSession和Mapper详解
  4. Android 优化电池使用时间——确定和检测网络状态
  5. 【Ubuntu】ubuntu更新设置
  6. 『Python基础-12』各种推导式(列表推导式、字典推导式、集合推导式)
  7. overleaf表格_latex 表格制作
  8. Repository 仓储,你的归宿究竟在哪?(一)-仓储的概念
  9. mysql 的命名管道_SQL Server中的命名管道(named pipe)及其使用
  10. Vaadin介绍与开发练习之二(创建第一个Vaadin类)
  11. mac上virtualbox创建vm需要注意启动顺序
  12. Apple苹果ID怎么修改地区经验之谈
  13. 小白操作Win10扩充C盘(把D盘内存分给C盘)亲测多次有效
  14. POJ 2706 Connect
  15. Python之拉盖尔多项式
  16. 【ES6】Promise
  17. 大数据核心32个算法技术
  18. 活水渠-云影院之云时代的观影方法
  19. markdown如何打印拼音
  20. 历届试题 兰顿蚂蚁 (模拟)

热门文章

  1. 塑壳断路器选型需关注的5个重要参数
  2. 微信公众号代运营的的技巧有哪些(3)
  3. 深度优先和广度优先算法(例题)
  4. 一条经典的汇总的sql
  5. 华为路由器、交换机、AC忘记密码,但是想保留配置怎么处理
  6. 〖Python零基础入门篇㊲〗- 类的继承、多态与多重继承
  7. 嵌入式 - 固件防复制系列【3】GD32读保护解除
  8. 湛江财贸学校计算机二级,湛江财贸学校一级计算机应用
  9. 盐城大数据产业园人才公寓_5亿!高新区正邦大数据产业园开工!配套人才公寓…...
  10. 地铁三号线 - 跟婶婶道个别