网络层-IP

网络层-IP

IP协议格式

在这里插入图片描述

  • 4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4
  • 4位头部长度(header length): IP头部的长度是多少个32bit, 也就是 length * 4 的字节数. 4bit表示最大的数字是15, 因此IP头部最大长度是60字节.
  • 8位服务类型(Type Of Service): 3位优先权字段(已经弃用), 4位TOS字段, 和1位保留字段(必须置为0). 4位 TOS分别表示: 最小延时, 最大吞吐量, 最高可靠性, 最小成本. 这四者相互冲突, 只能选择一个. 对于ssh/telnet这样的应用程序, 最小延时比较重要; 对于ftp这样的程序, 最大吞吐量比较重要.
  • 16位总长度(total length): IP数据报整体占多少个字节.
  • 16位标识(id): 唯一的标识主机发送的报文. 如果IP报文在数据链路层被分片了, 那么每一个片里面的这个id都是相同的.
  • 3位标志字段: 第一位保留(保留的意思是现在不用, 但是还没想好说不定以后要用到). 第二位置为1表示禁止分片, 这时候如果报文长度超过MTU, IP模块就会丢弃报文. 第三位表示"更多分片", 如果分片了的话, 最后一个分片置为1, 其他是0. 类似于一个结束标记
  • 13位分片偏移(framegament offset): 是分片相对于原始IP报文开始处的偏移. 其实就是在表示当前分片在原报文中处在哪个位置. 实际偏移的字节数是这个值 * 8 得到的. 因此, 除了最后一个报文之外, 其他报文的长度必须是8的整数倍(否则报文就不连续了).
  • 8位生存时间(Time To Live, TTL): 数据报到达目的地的最大报文跳数. 一般是64. 每次经过一个路由, TTL -=1, 一直减到0还没到达, 那么就丢弃了. 这个字段主要是用来防止出现路由循环
  • 8位协议: 表示上层协议的类型
  • 16位头部校验和: 使用CRC进行校验, 来鉴别头部是否损坏
  • 32位源地址和32位目标地址: 表示发送端和接收端.
  • 选项字段:(不定长, 最多40字节)
IP分组分片和组装
  • 什么是MTU?
    MTU=最大传输单元 单位:字节
    互联网时进行的各种网络操作,都是通过一个又一个“数据包”传输来实现的。而MTU指定了网络中可传输数据包的最大尺寸,在我们常用的以太网中,MTU是1500字节。超过此大小的数据包就会将多余的部分拆分再单独传输。
  • 为什么MTU影响网络性能?
    在Windows系统中,默认MTU值也是1500字节,但是“不同的接入方式、不同地区的网络运营商、不同的路由器”有着不同的MTU设置。
    在这里插入图片描述
    例如:ADSL接入时MTU为1492字节,假设A需要给B传输3000字节数据,如果整个传输过程中各个环节的MTU都是1500,那么2个数据包就可以传输完成。可是偏偏这时ADSL接入方式的MTU是1492字节,数据包就因为这个MTU差异额外拆分为3个(为了便于理解,暂时不将“数据包报头”纳入考虑范围)显然这额外增加了需要传输的数据包数量,而且拆包组包的过程也浪费了时间。如果从本地到网络采用一致的MTU就可以避免额外拆包。
  • ADSL?
  1. ADSL是一种异步传输模式(ATM)。ADSL是指使用电话线上网,需要专用的猫(Modem),在上网的时候高频和低频分离,所以上网电话两不耽误,速度比普通拨号快很多,但是没有光纤快,是目前性价比最高的上网联入方法方式,目前很多家庭去电信或者网通办理上网也多数是采用ADSL上网。
  2. ADSL使用高频信号,所以在两端还都要使用ADSL信号分离器将ADSL数据信号和普通音频电话信号分离出来,避免打电话的时候出现噪音干扰。通常的ADSL终端有一个电话Line-In,一个以太网口,有些终端集成了ADSL信号分离器,还提供一个连接的Phone接口。某些ADSL调制解调器使用USB接口与电脑相连,需要在电脑上安装指定的软件以添加虚拟网卡来进行通信。
  • 异步传输模式?
    ATM采用面向连接的交换方式,它以信元为单位。每个信元长53字节。其中报头占了5字节。信息元中继(cellrelay)的一种标准的(ITU)实施方案,这是一种采用具有固定长度的分组(信息元)的交换技术。之所以称其为异步,是因为来自某一用户的、含有信息的信息元的重复出现不是周期性的
  • 猫(Modem)?
    常说的Modem,其实是Modulator(调制器)与Demodulator(解调器)的简称,中文称为调制解调器。也有人跟据Modem的谐音,亲昵地称之为“猫”。计算机内的信息是由“0”和“1”组成数字信号,而在电话线上传递的却只能是模拟电信号。于是,当两台计算机要通过电话线进行数据传输时,就需要一个设备负责数模的转换。这个数模转换器就是我们这里要讨论的Modem。计算机在发送数据时,先由Modem把数字信号转换为相应的模拟信号,这个过程称为“调制”。经过调制的信号通过电话载波传送到另一台计算机之前,也要经由接收方的Modem负责把模拟信号还原为计算机能识别的数字信号,这个过程我们称“解调”。正是通过这样一个“调制”与“解调”的数模转换过程,从而实现了两台计算机之间的远程通讯。
  • 如何合理设置MTU呢?
    不合理的情况:(影响效率低)
    1、本地MTU值大于网络MTU值时,本地传输的数据包过大导致网络会拆包后传输,不但产生额外的数据包,而且消耗了“拆包、组包”的时间。
    2、本地MTU值小于网络MTU值时,本地传输的数据包可以直接传输,但是未能完全利用网络给予的数据包传输尺寸的上限值,传输能力未完全发挥。
    合理情况
  1. 这样我们就知道,所谓合理的设置MTU值,就是让本地的MTU值与网络的MTU值一致,既能完整发挥传输性能,又不让数据包拆分。
  • 为什么要分片?
    由于IP分组的最大长度为65535,而实际的网络MTU(最大传输单元)都比IP的最大长度小,所以为了传输IP分组,只能把IP分组分片传输
    如何分片?
    首先确定每一片长度,每一片都加上分组头,一直分割到剩下的数据都小于数据链路层MTU
    分组分片和组装相关的字段有:标识,标志,位偏移
  1. 标识(标识字段长度为16位)
    标识字段是片识别的标记,由于每一个分片都有分组头,属于同一个分组的分片要有统一的标识,到达目的主机后才能跳出相同标识的分片组装成分组
  2. 标志字段(标志字段3位)
    在这里插入图片描述
    第一位:为0,
    第二位:DF表示是否能够分片,DF为1表示不能分片,DF为0表示可以分片,如果DF为1,且IP分组长度大于MTU,则路由器只能放弃该分组,并发送ICMP差错报文向源主机报告
    第三位:MF表示该分片是不是最后一个分片,MF=1表示不是最后一个分片,MF=0表示是最后一个分片,作用就是告知接收主机要不要继续挑选分片
  3. 片偏移(片偏移长度为13位 )
    当接受主机挑选出相同标识的分片,组装分片时必然要涉及到哪个分片在前,哪个分组在后的位置问题,片偏移就是用来表示分片在原IP分组的位置
IP分组的地址
  • IP地址和MAC地址区别?
  1. MAC地址是每块网卡的硬件地址,用于数据链路层的帧传递地址;IP地址是网络层地址(也称逻辑地址),用于路由器寻址
  2. IP地址标识的是一台主机或路由器 与 网络的接口,而MAC地址唯一地标识一台主机
  3. 网桥,Ethernet交换机属于数据链路层设备,使用MAC地址,不属于网络层设备,所以不分配IP
  • IP地址的分类
    在这里插入图片描述
    A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播
  • 特殊的IP地址:
  1. 直接广播地址
    如果主机号全1,例如191.1.255.255,那么这个地址为直接广播地址
    路由器将这个分组以广播的形式发送到网络号位191.1.x.x的全部主机
  2. 受限广播地址
    网络号与主机号的32位全为1(255.255.255.255)为受限广播地址
    用来将一个分组以广播方式发送给本网的所有主机
  3. “这个网络上的特定主机”地址
    网络号是全0 (如0.0.0.25) 的地址是这个网络号的特定主机地址
    路由器接到这样的分组,不向外转发,而是直接交付给本网络中主机号为25的主机
  4. 回送地址
    A类地址中127.0.0.0是回送地址,它是一个保留地址
  • 网段划分
  1. 网络号: 保证相互连接的两个网段具有不同的标识;
  2. 主机号: 同一网段内, 主机之间具有相同的网络号, 但是必须有不同的主机号;
  3. 不同的子网其实就是把网络号相同的主机放到一起.
  4. 如果在子网中新增一台主机, 则这台主机的网络号和这个子网的网络号一致, 但是主机号必须不能和子网中的其他主机重复
  • 怎么管理子网内的IP?
    有一种技术叫做DHCP, 能够自动的给子网内新增主机节点分配IP地址, 避免了手动管理IP的不便.一般的路由器都带有DHCP功能. 因此路由器也可以看做一个DHCP服务器
IP地址的子网划分
  • 子网地址结构
  1. 标准的ABC类IP地址是两级结构:网络号—主机号,而划分子网后,IP地址的结构为三级结构:网络号—子网号—主机号
  2. 同一个子网的主机,网络号和子网号必须相同
  3. 子网之间的距离必须很近,例如一个公司或者校园内
  • 子网掩码
  1. 子网掩码的作用:从一个IP地址中提取出子网号
  2. 子网掩码的表示:网络号和子网号全改为1,主机号全改为0
IP地址的数量限制
  • CIDR

CIDR在一定程度上缓解了IP地址不够用的问题(提高了利用率, 减少了浪费, 但是IP地址的绝对上限并没有增加), 仍然不是很够用. 这时候有三种方式来解决

  1. 动态分配IP地址: 只给接入网络的设备分配IP地址. 因此同一个MAC地址的设备, 每次接入互联网中, 得到的IP地址不一定是相同的;
  2. NAT技术
  3. IPv6: IPv6并不是IPv4的简单升级版. 这是互不相干的两个协议, 彼此并不兼容; IPv6用16字节128位来表示一个IP地址; 但是目前IPv6还没有普及;
  • CIDR的概念和格式

CIDR其实讲得是IP地址的格式问题,标准的IP地址的点分十进制是网络号—主机号的二层结构,而CIDR用区别于传统标准分类的IP地址与划分子网的概念的“网络前缀(network -prefix)”,用”<网络前缀>/<主机号>“代替网络号—主机号的二层结构,形成新的无分类二层地址结构 (主机号全0的网络地址和全1的广播地址不分配给主机)

IP的私有地址和公有地址
  • 公有IP地址

组建一个企业级网络,需要去向“电信运营商ISP”申请一个接入Internet的宽带,同时ISP还会给我们分配一个或多个IP地址,这些IP地址可以供我们企业内部上网,这些ISP分配给我们的IP,就是公有IP。

  • 私有IP

私有地址(Private address,也可称为专网地址)属于非注册地址,专门为组织机构内部使用,它是局域网范畴内的,私有IP禁止出现在Internet中,在ISP连接用户的地方,将来自于私有IP的流量全部都会阻止并丢掉。如:企业或家庭内部组建局域网用的IP,一般都会用私有IP。

  • 五类IP

A类IP:从0.0.0.0 – 127.255.255.255,共有16777216个IP
B类IP:从128.0.0.0 – 191.255.255.255,共有65536个IP
C类IP:从192.0.0.0 – 223.255.255.255,共有256个IP
D类IP:从224.0.0.0 – 239.255.255.255
E类IP:从2240.0.0.0 – 255.255.255.255

  • 公有

A类的公有IP:
1.0.0.0~9.255.255.255
11.0.0.0~126.255.255.255
B类的公有IP:
128.0.0.0~172.15.255.255
172.32.0.0~191.255.255.255
C类的公有IP:
192.0.0.0~192.168.255.255
192.169.0.0~223.255.255.255

  • 私有

A类私有IP地址:
10.0.0.0~10.255.255.255
B类私有IP地址:
172.16.0.0~172.31.255.255
C类私有IP地址:
192.168.0.0~192.168.255.255

路由

路由的过程, 就是这样一跳一跳(Hop by Hop) “问路” 的过程.
所谓 “一跳” 就是数据链路层中的一个区间. 具体在以太网中指从源MAC地址到目的MAC地址之间的帧传输区间.

路由算法转载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值