《图解TCP_IP》阅读笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/winter_wu_1998/article/details/88635560

基础知识

  • TCP_IP协议是IP.TCP, UDP, HTTP等一系列协议的集合

    • TCP/IP中对数据链路层和物理层未作定义,视为透明
  • OSI分层模型

    • 应用层
      • 针对特定应用的协议
      • 例如电子邮件协议,远程登录协议,文件传输协议
    • 表示层
      • 把数据从特定的格式转换为网络通用的标准数据格式
    • 会话层
      • 表示层和会话层在TCP/IP模型中是合并到应用层中的
    • 传输层
      • TCP/UDP等协议
    • 网络层
      • IP,ARP等协议,硬件为路由器等
    • 数据链路层
      • PPP等协议,硬件为网桥、交换机等
    • 物理层
      • 硬件为中继器,双绞线等
  • IP和MAC地址都具有唯一性,但是只有IP地址具有层次性

    • 通过IP地址是按照位置信息组织的,可以快速定位终端
    • MAC地址是根据厂家和产品编号等组织的,但是并不能确定哪家的网卡被用到那个地方,无法寻址

数据链路层

  • 该层主要是在同一种数据链路的节点直接进行包传递
    • 如果跨越多种数据链路,就是网络层的任务了
      在这里插入图片描述
  • MAC地址长48bit,由厂商识别码和厂内识别码组成,是全世界唯一的**
  • 交换机
    • 交换机实现了全双工通信
    • 根据目标MAC地址决定从哪个接口发送数据
    • 使用转发表参考、记录发送的接口
  • 路径MTU
    • 由于链路层中不同种类的最大传输单元(MTU)大小不同,因此需要进行分片,大包分小包
      • 过去的分片是由路由器进行的
    • 为了提高传输效率,小包只有在目标主机才能重新合并
      • 但是这会使得其中一个小包的丢失导致整个大包无用
    • 对此我们可以选择在发送端就分片,这样所有片都是独立的
      • 这就要我们多次尝试,找到可以被传输的大小
      • 在这里插入图片描述

IP协议

在这里插入图片描述

  • IP协议是对不同数据链路的抽象,无论底层使用以太网还是PPP,都一视同仁
  • IP协议无论接收方是否存在都会发送出去,也不验证对方是否收到
    • 这一任务由上一层的TCP协议完成
    • 这样做是为了提高传输速度,减少协议实现的复杂度
  • IP首部
  • 在这里插入图片描述

IP地址

  • IP地址的组成

    • IPv4地址32位,一共课链接约42亿设备
    • IP地址是和网卡一一对应的,而非主机
    • 地址由网络地址和主机地址组成
      • IP包被路由转发时,主要依据网络地址
      • 主机地址相当于局域网地址,用于区分局域网中的不同主机
      • 分割网络与主机地址依靠子网掩码
        在这里插入图片描述
  • 旧的地址分类

    • ABCD类地址现在只是一个历史概念,实际已经没有意义了
    • 现在使用CIDR代替,就是把多个地址合并为一个更大的地址
      在这里插入图片描述在这里插入图片描述
  • CIDR地址分类

在这里插入图片描述

  • 全局地址和私有地址
    • 过去每一个主机都必须有唯一的IP地址,否则会产生地址冲突,不知道该传向哪个主机
      • 但是这样会造成IP地址不足的问题
      • 于是产生的私有地址
    • 私有地址
      • 私有地址可以重复,知道局域网内唯一即可
      • 为了防止私有地址在访问外网时与全局地址冲突,我们把分配了几段地址作为私有地址,所有的私有地址应该在这一范围内
        • 如果使用全局地址作为私有地址,路由器会拒绝传出外网
      • 为了访问外网,我们使用了NAT技术转化私有地址和全局地址
  • NAT技术
    • 第一种为静态转化,就是一一映射,但是这样没有减少全局地址的使用
    • 第二种为动态转化,相当于线程池的做法,轮转使用
      • 这样的缺点在于局域网内设备数量不能超过所映射的全局地址太多
    • 第三种为端口转化,就是把不同的内网地址转化为同一去全局地址的不同端口

TCP与UDP

  • TCP虽然能够处理丢包,乱序等问题,但是连接和断开很复杂,导致了网络流量的浪费
  • UDP不关注接收端是否收到数据,因此更快
    • 视频,音频等数据适合用UDP传输
  • 三次握手和四次握手
    在这里插入图片描述

路由协议

在这里插入图片描述

  • 默认路由地址
    • 0.0.0.0
    • 所有没有匹配项的地址都由该地址匹配
  • 环路路由地址
    • 127.0.0.1(localhost)
    • 同一计算机上的程序之间进行网络通信是使用的默认地址

猜你喜欢

转载自blog.csdn.net/winter_wu_1998/article/details/88635560