zoukankan      html  css  js  c++  java
  • 第四章 网络层

    网络层负责在不同网络之间尽力转发数据包,基于数据包的IP地址转发,不负责丢失重传和顺序.
     
    路由器是三层设备,有路由表决定网段往哪走,路由表可以学习也可以通过管理员设置.
    ARP协议为IP协议提供服务,IP协议为ICMP和IGMP协议提供服务.
     

    网络设备和OSI参考模型

    计算机通信的过程 本网段通信跨网段通信的过程
     

    发送端

    1.应用程序准备要传输的文件
    2.传输层 将文件分段(分组)  并编号
    3.网络层 添加目标IP地址源IP地址
    4.数据链路层 两种情况 使用自己的子网掩码 判断自己在哪个网段 使用自己的子网掩码 判断目标地址在哪个网段 
        如果是同一个网段 arp协议广播解析目标IP地址的MAC地址.
        如果不是一个网段  则会arp协议广播得到网卡所在MAC地址.
     
     

    ARP协议

    将IP地址通过广播 目标MAC地址是FF-FF-FF-FF-FF-FF 解析目标IP地址的MAC地址
    目的是找到目标mac地址,会用缓存保存mac地址,或者管理员静态设置,也就是说只要找一次就好. 查看arp -a 静态设置arp -s 本地连接修复清除缓存

    arp欺骗

    arp防火墙就是检测arp欺骗和静态绑定网关mac地址
     

    ICMP协议

    网际控制报文协议 用来检测网络层是否畅通,是否有故障并报告 ping(Packet Internet Grope 因特网包探索器)就是使用这个协议
    路由器不会往哪走,就会返回目标主机不可到达.
    到那边了没回来,就是请求超时.
    ping time 查看延迟 
    TTL是数据包的生存时间,每过一个路由器-1,防止数据包在网上有循环 Linux默认64,Windows默认128,Unix默认255 默认值可以改
    pathping 
     
    QQ能发消息但是网页打不开,说明网络层没问题,可能是DNS域名解析有问题.因为QQ可以通过IP地址聊天.
     

    通信方式

    点对点 建立会话通信
    广播 全F广播
    多播 组播
    如何理解多播,多播就是一堆主机绑定一个多播地址,同时接受,可以理解成电视频道,与点对点的区别就是,点对点会建立会话可以调进度,而多播不能只能接受看,组内的进度一样。多播省带宽.
     

    IGMP

    因特网组播管理协议
    igmp协议就是周期性扫描网段中哪些主机绑定了多播ip地址
     

    IP数据包结构

    一个IP数据包由首部和数据两部分组成。
    ■首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。
    ■在首部的固定部分的后面是一些可选字段,其长度是可变的。
    版本: 用来表示 TCP/IP协议的版本 v4/v6
     
    首部长度: 首部多长,因为有可变部分
     
    区分服务: 区分优先级,还要配置路由器 QOS
     
    总长度: 整个数据包的长度 2^16-1 65535字节
    数据链路层 1500字节 最大传输单元 MTU
    网络层会分片到数据链路层,一般情况下不需要分片 数据大于1480就分片
    数据包分片 分片分别加上IP地址 通过标识知道哪些片是属于一个数据包 泪滴攻击 一直发损坏的片
     
    标志: 标记是分片后的数据包还是完整数据包,还有就是标记后面有没有分片
     
    片偏移: 记录这个片第一个字节是整个数据包的第多少字节
    ICMP协议产生的标识是不连续的,其他一般是连续的
     
    生存时间: TTL,每过一个路由器-1,mac地址也要修改,防止环路
     
    协议号: ICMP-1 IGMP-2 TCP-6 UDP-17 IPv6-41 OSPF-89 没有arp因为不在网络层之上 指出应将数据部分交给哪一个进程
     
    首部检验和: 判断首部发生的变化,去反码,检验为0保留,否则丢弃,比数据链路层CRC要快.
     
    可选字段: 用来支持排错,测量和安全等措施,用0填充为32bit.IPv6没有这个东西了.
     
    网络畅通的条件 数据包有去有回
     

    IP协议

    都有选路的协议都是IP协议
    走不一样的路可以实现负载均衡
    静态路由: 管理员给路由器设定的,需要管理员告诉路由器所有没有直连的网络下一跳给谁?
    静态路由缺点 适合于小规模的网络 不能够自动的调整路由
     
    动态路由: 路由器自己学习的
    特点:减少管理任务,占用网络带宽;
     
    RIP 周期性广播路由表 跳数 30秒广播一次 为了让邻居知道他还活着 最大跳数是15跳 只要配相邻网段  不适合于网络规模大的
     
     
     
  • 相关阅读:
    [LeetCode] 131. 分割回文串
    [LeetCode] 130. 被围绕的区域
    [LeetCode] 128. 最长连续序列
    [LeetCode] 129. 求根到叶子节点数字之和
    转:阿里巴巴集团技术丛书——淘宝一线团队实践
    转:开源知识库
    转:php使用websocket示例详解
    阿里巴巴上市背后的技术力量
    转:php中实现精确设置session过期时间的方法
    转:Java程序员最常用的8个Java日志框架
  • 原文地址:https://www.cnblogs.com/2462478392Lee/p/14273014.html
Copyright © 2011-2022 走看看