IP协议

105.IP协议的作用
    IP寻址
    选路
    封装打包,即添加IP头部
    报文分片 当所传输的报文大大小超过了MTU,那么IP层将会对报文进行分片
106.数据链路层的作用
    逻辑链路控制,就是控制虚拟电路连接,
    媒体访问控制,即控制拥有MAC地址的主机网卡和交换机
    封装链路层帧, 数据链路层从网络层中收到的数据是由一段字节流所组成的packet,但是数据通过光缆传输是通过电信号传输的,所以数据链路层要将网络层传过来的字节流转换成数据帧
    MAC寻址,基于网卡的MAC地址寻址,
    差错检测与处理,主要是为了防止数据在物理链路中传输出现差错
    定义物理层标准,由于数据链路层是直接和硬件打交道的,所以它需要定义物理层的标注
107.细腰结构
    IP网络层之上的协议由多种,IP网络层之下的协议也有多种,但是网络层确只有IP协议一种,所以整个网络协议中,IP层处于细腰结构的瓶颈出,就是就像沙漏的连接处
108.IP协议的特点
    IP层追求性能至上
    无连接的,因为管理连接和维护连接的成本太高了
    非可靠的,它不会像TCP协议一样去进行顺序可控制和重发控制确认控制等
    无确认
109.路由器与交换机
    工作在网络层的路由器,连接不同的网络
    工作在数据链路层的交换机,同一个网络下连接不同的设备
    一般而言,与广域网连接的是路由器,然后路由器再与局域网的交换机相连,局域网内的各个主机是通过交换机进行连接的,交换机是认识IP地址的,它只认识MAC地址
110.分类地址
    IP地址是一个32位的二进制,但是我们在使用的时候就按每八位(0~255)换算成一个十进制数来表示IP地址,这叫做点分十进制表示法
    就全球而言,IP地址按照不同的州分配不同的IP地址范围,所以有些IP地址工具可以根据IP地址分析出IP地址所在的地方
    IP地址分为NETWORK和HOST这两个部分的
    A类地址,以0开头,前面8位是NETWORK,后面24位是HOST,它用于特大网络的单波传输  1.0.0.0 - 126.255.255.255
    B类地址,以10开头,前面16位是NETWORK,后面16位是HOST,它用于数千台中大型网络的单播传输 128.0.0.0 - 191.255.255.255
    C类地址,以110开头,前面24位是NETWORK,后面8位是HOST,它用于250台以下小型网络的单播传输 192.0.0.0 - 223.255.255.255
    D类地址,以1110开头,所有的都是NETWORK,用于IP多播 224.0.0.0 - 239.255.255.255
    E类地址,以1111开头,所有的都是NETWORK,预留实验用 240.0.0.0 - 255.255.255.255
    分类地址的优点 简单明了 具有3个级别的灵活性 选路简单(基于网络地址)
    分类地址的缺点 缺少私有网络下的地址灵活性,同一个网络下没有地址层次 3类地址块太少,无法与现实网络很好的匹配,比如一个企业它的网络一共需要5000个IP,
                   如果用C类地址的话太少了,如果用B类地址的话又太浪费了
111.CIDR无分类地址、子网掩码
    表示方法是 A.B.C.D/N,N的范围[0, 32] 后面的N表示网络号的位数,而不是像分类地址那样网络号(NETWORK)只能是8,16,24,32这样,而是可以是5,10,11,19,27这种,这个N就是子网掩码
    比如 10.10.1.32/27  那么我们就可以判断10.10.1.44 和10.10.1.32/27是同一个网络中的,而10.10.1.90 它与10.10.1.32/27就不是同一个网络中的,因为他们的前27位不一样
112.CIDR子网划分示例
    现在假设一个企业拿到了一个71.94.0.0/15这个IP段
    企业拿到这个IP段之后,通过子网掩码来划分自己公司内部的子网
    首先将71.94.0.0这个IP地址的16位按照0和1分成两个很大的子网,这两个子网分别可以容纳2^16 - 2 台主机即65534台主机
    现在在将第16位是1的这个子网在进行子网的划分,按照地17位和18位分别是00、01、10、11划分成4个子网,这样每个子网可以容纳 2^14 - 2 即16382台主机
    然后我们发现16382这个网络还是太大了,我们可以再细分,当17、18位是00的时候,再将19、20、21、22、23为再进行子网划分,这样划分出来的每一个子网就只能容纳2^9 - 2台主机了
113.实际的IP地址寻址历程
    假设现在在浏览器里面访问了www.freesoft.org这个站点,它的网络地址是208.130.29.33
    那么它的寻址历程如下
    在90年代末的时候北美的ARIN把208.128.0.0/11 这个网段分配给了MCI,所以我们先寻址到了MCI
    MCI将208.130.28.0/22分配给了自己的一个子机构ARS,于是我们又寻址到了MCI-ARS
    ARS又将它的208.130.29.0/22分配给了自己的一个部门 PS使用 于是我们又寻址到了MCI-ARS-PS
    最后我们在208.130.29.0/22这个子网中找到了 208.130.29.33/32 这台主机
114.特殊的IP地址
    如果某个IP的网络号有具体的值,而主机号为全0比如A类的77.0.0.0,B类的154.3.0.0,C类的227.82.157.0 它指的是某一个特定的网络
    如果网络号为全0,主机号有具体的值,比如A类地址的0.91.215.5 B类地址的0.0.99.6 C类地址的0.0.0.161 它指的是当前所属网络下的某个主机
    如果网络号和主机号都是0 即0.0.0.0 指本地
    如果网络号有具体的值,而主机号是全1的时候 比如A类地址的77.255.255.255 B类地址的154.3.255.255 C类地址的 227.82.157.255 它指的某个网络下的所有主机,用于广播
    如果网络号和主机号是全1 即255.255.255.255,它所指的是所有主机
115.预留IP地址
    0.0.0.0 ~ 0.255.255.255 保留
    10.0.0.0 ~ 10.255.255.255 A类私有地址
    127.0.0.0 ~ 127.255.255.255 环回地址
    128.0.0.0 ~ 128.0.255.255 保留
    169.254.0.0 ~ 169.254.255.255 B类私有地址   一般的公有云给我们个人用户分配的就是B类私有地址
    172.16.0.0 ~ 172.31.255.255  B类私有地址
    191.255.0.0 ~ 191.255.255.255 保留
    192.0.0.0 ~ 192.0.0.255 保留
    192.168.0.0 ~ 192.168.255.255 C类私有地址,比如我们的家庭,办公室内部通信都是用的这一IP段
    223.255.255.0 ~ 223.255.255.255 保留
116.将IP地址与MAC地址进行转换的ARP和RARP协议
    查看MAC地址 WINDOWS ipconfig /all  LINUX ifconfig
    2.5层ARP协议 因为MAC地址工作在2层数据链路层,而IP地址工作在3层网络层,因为ARP是转换这两种地址的,所以也成为2.5层协议
    转换过程:
    现在假设在一个企业内网中,ABCD(192.168.0.1234)这四台机器用一个交换机进行连接的,这时候A想与B建立数据链路层的虚拟电路连接来传输数据,这时A只知道要将数据传播给192.169.0.2
    但是它不知道BCD中谁的IP地址是192.168.0.2,于是它就通过ARP协议发出一个广播,向BCD都发送一个数据包询问谁是0.2,C和D收到这个数据包之后发现自己的IP都不是0.2于是就不回答,B收到
    之后发现自己的IP是0.2,于是它回一个数据包给A,告知自己的MAC地址。这样A和B之间就可以通过MAC地址来通讯了,下一次再传输数据时就不是广播给BCD了,而是直接通过MAC地址发送给B
    由于ARP协议是通过多播的形式来建立连接的,所以它的开销是很大的,于是为了提高性能,A在得知0.2所对应的MAC地址之后,会将这个IP地址与MAC地址的映射关系维护到自己的本地缓存中,当下一次
    要传输数据时直接从换从中取出对方的MAC地址建立虚拟电路连接
    通过wireshark抓包时,通过在过滤器中输入ARP来进行过滤数据链路层的报文,抓到的报文头部如果Destination是ff:ff:ff:ff:ff:ff 就表示是一个广播,type 为ARP 表示这是一个ARP报文
    ARP报文中Opcode 如果是1表示是请求,如果是2表示是应答
    RARP 就是ARP的反转的一个过程,就是通过MAC地址找出IP地址的过程,比如有一个打印机在启动的时候是没有配置IP地址的,这时有一个服务器会自动的给它配置地址
    这时候打印机就会发出一个RARP报文询问服务器自己的IP地址是多少,RARP报文和ARP报文非常相似,只是不一样的是Opcode 3表示请求,4表示应答
    ARP欺骗 在一个本地网络中本来有ABC三台机器,但是现在有一个攻击者加入到这个网络中了,当ABC任何一方发出ARP报文的时候它都进行应答告知对方这个IP地址对应的MAC地址都是自己的IP
    这时ABC三个主机都会将后面的数据传送给D,从而遭遇数据劫持。比如我们在入住酒店的时候使用用户名密码登录加入WIFI的时候就是使用的这种方式
117.NAT地址转换技术
    NAT技术的作用是使得一个公网IP地址可以被内网中的多个主机使用
    一个内网与广域网传输数据是通过一个公网路由器来实现的,比如一个内网中的一台主机它的A类私有地址是10.0.0.207它所在的网络有一个公网路由器
    这个公网路由器被分配了几个公网IP,它的其中一个公网IP是194.54.21.11,这时内网的这台10.0.0.207的主机,想访问IP地址为204.51.16.12这台主机的上的内容,那么整个过程是
    A 内网主机先将报文发送至公网路由器,公网路由器收到报文后,发现10.0.0.207是要将数据发往204.51.16.12这台主机,于是它在自己的内存中建立一个映射关系即 10.0.0.207 - 194.54.21.11
    B 然后公网路由器将源IP地址由原来的10.0.0.207改成自己的公网地址之一194.54.21.11,然后将数据转发给目标主机204.51.16.12
    C 目标主机收到报文之后,向IP地址194.54.21.11发送数据,即发送给公网路由器
    D 公网路由器在收到204.51.16.12主机发过来的报文之后,根据目的IP地址去自己内存的IP地址映射关系列表中找到194.54.21.11 对应的 内网主机IP地址10.0.0.207
    E 公网路由器将报文头部的目的IP地址改成10.0.0.207, 然后将数据转发给该内网主机
    NAT技术而言,内网中能够在同时连接外网的主机数量与公网路由器中配置的公网IP数量时一样的,这样就存在一个很明显的问题,就是同一时刻同一个内网中只有少数的几台主机能够访问外网
    比如我们家庭网络中,一般一个家庭只有一个账号,一个账号对应一个路由器,而一个路由器只被分配了一个IP地址,那么如果采用NAT这种方式那么家里就只有一台主机能够连接外网
    NAPT地址转换技术
    它是NAT地址转换技术的改进版,它是利用端口来进行映射的,NATP的作用过程如下
    A 内网的主机在与公网的某个主机建立TCP连接的时候,我们的WINDOWS操作系统会给这个TCP连接分配一个随机的端口比如7000
    B 当收到内网主机的报文后,它就会在内存中建立一个映射关系如下: 10.0.0.207:7000 - 7224
    C 公网路由器将源IP地址和源端口改成自己的公网IP地址:7224
    D 目的主机收到之后按照公网IP地址:7224的地址回复数据
    E 公网路由器收到外网主机发过来的数据之后去映射关系表里面找到端口7224对应的内网主机地址和端口 10.0.0.207:7000
    F 公网路由器将报文头部的目的IP:PORT改成10.0.0.207:7000,然后将报文发出
    双向NET 它是可以做到从公网的主机来主动访问某一个内网的主机的,它是通过IP地址静态映射来实现的,在一段时间以内将10.0.0.207与公网路由器的外网IP地址进行对应,只要在这段时间内
            通过公网主机来访问内网的10.0.0.207这个机器是可以的    
    我们的家庭网络或者一些小型的办公网络就是采用的NAPT技术来实现的
    LVS 三层负载均衡
    
    
    
    
    
    
    
    
    
    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值