网络协议与通信过程

网络协议
  • 网络协议介绍  
    • 协议
      • 双方的约定、沟通的前提
    • 网络协议
      • 网络通讯双方的约定
      • IP、ICMP、TCP、UDP、HTTP、ARP、DHCP
    • 协议族
      • TCP/IP协议族 是当今互联网最通用一套网络协议族
    • 网络协议的分层,OSI七层 VS TCP/IP四层
  • TCP\IP网络参考模型
    • 应用层协议:HTTP、DHCP协议
    • 将协议分层的意义:封装和隔离,每层只需要使用其他层提供的接口来实现其对应的功能
  • 各种网络协议与网络设备的介绍
    • 网络协议中的基础介绍
      • ip地址
        • 概念:IP地址由子网号和主机号构成。
        • 获取方式:手动设置容易冲突,使用DHCP自动分配时会自动获取IP地址和子网掩码
        • 作用: IP地址是一台主机在网络中的逻辑地址,网络中通信前提,是在网络中标识一台主机的标识符;
      • 子网掩码
        • 子网掩码作用:和IP地址按位&,获取IP地址中网络号。然后判断该网段是属于局域网还是网络子网,如果不在局域网会去访问网关
      • MAC地址
        • 概念:
          • 也称物理地址、硬件地址,实际就是写入到网卡中6字节序列号数据,一般全球唯一。
          • IP地址是网络层的标识,数据链路层不能识别上层标识IP,只能靠mac地址来完成数据通讯,mac地址是同网段通讯得前提;
        • 获取的方法:
          • 当用IP地址来进行通信时,交换机如果没有记录对应IP的mac地址,会应用ARP协议进行全网广播,对应的IP地址的机器会返回消息,交换机会记录对应机器的mac地址的信息,之后发送给此mac地址便不需要广播;
        • MAC地址作用:
          • 在数据链路层工作,可以被交换机识别,用来标识子网中的主机;
          • 主机用以判断数据是否发给自己的
      • DNS(域名系统)
        • DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址。
        • 通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析。
      • NAT
        • 当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),又想和因特网上的主机通信可使用NAT方法,这样所有的主机可以通过公网的IP地址来访问互联网。
        • 路由器可以通过NAT功能,在内网中的主机访问公网的时候,可以将其IP地址和端口替换成路由器的公网地址,并通过路由器的端口来记录该IP地址,这样路由器收到公网的信息反馈再反馈给对应的IP地址
    • DHCP动态主机配置协议
      • 是一个应用层协议。当我们将客户主机iP地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给局域网计算机分配IP和子网掩码,使得客户机能够利用这个IP上网和通信。
    • ARP协议
      • ARP协议作用
        • ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议
        • 当需要获取目的IP的MAC地址时先全网ARP广播,广播信息中包括想要寻找的IP地址
        • 收到ARP广播 判断IP地址是否为自己是则回复自己MAC地址,不是则丢掉
      • ARP命令
        • arp -a    用来获取进行过数据交流的主机信息
        • ping命令     采用ICMP协议实现通讯的原理
          • ping 172.16.31.127
          • ICMP报文发送之前需要通过arp协议获取MAC地址
          • 为获取MAC地址首先ARP广播,获取MAC地址后才能进行数据包的发送和接收
      • 拓展:rarp协议是通过mac地址寻找IP地址
  • 交换机\集线器\路由器的介绍
    • 集线器--HUB  (外接USB口 大多采用集线器方式, 容器产生电涌现象
      • 作用:在物理层上全部数据直接广播 (电信号)
      • 存在问题:由于只在物理层工作所以只传播电信号,不能识别链路层的mac地址,不能控制数据的发送到指定机器,而且广播数据容易造成网络造成阻塞
      • 目前网络设备中比较少见,还存在于一些比较特殊的环境中。
    • 交换机--Switch
      • 作用:用于局域网中的通信
      • 原理:
        • 具有MAC地址学习能力,能够缓存IP地址到MAC转换关系,记录到交换机的固定端口;
        • 交换机会存储IP-MAC的转换关系,具有时效性,过期将删除
      • 分类:
        • 两层交换机 可识别MAC 可根据MAC转发
        • 三层交换机(拓展功能带路由功能)
    • 路由器--Router
      • 作用:
        • 又称网关设备(Gateway)是用于连接多个逻辑上分开的网络。
      • 原理:
        • 路由器是网关设备,存在一个局域网中,路由器中时刻维持着一张路由表,记录着可以和该网络通讯的网段网关地址和其他等信息,这样当局域网想要访问其他网关的时候,路由器就可以通过路由表找的对应的网关地址,将报文送给相应端口的数据链路层,数据链路层封装后,发送报文;
        • 路由器当收到一个子网传递给其他网络的信息的时候,会根据RIP协议或者手动设置的规定的下一跳地址来判断下一跳的最优地址,然后替换网络报文中的下一跳的mac地址,以此来访问整个互联网络,这就是路由器的判断网络地址和选择IP路径的功能。
      • 作用:用来连接多个逻辑上分开的网络,和判断网络地址和选择IP路的功能
网络通信过程介绍
  • TCP\IP协议传输示意图
    • 在构造网络报文的时候,每经过一层会被打上一个头
    • 其中链路层的mac地址是一直在变化的,在链路层中每次路由的传递会对应的替换其中的mac地址为下一跳的mac地址
    • 报文的IP地址用来指向最终的传输地址(终点),mac地址用来指向下一跳地址(指路)
  • 上网全过程分析
    • 1. 域名解析开始; 2. ARP探测网关MAC地址; 3. IP路由选择; 4. 域名解析完成结果返回HTTP服务器IP; 5. 建立和HTTP服务器的连接; 6. 连接发送HTTP请求-响应-解析-显示; 7. 关闭连接
  • 实例(访问百度服务器的全过程)
    • 一、先要解析出baidu.com对应的ip地址
      • 1.要先使用arp获取默认网关的mac地址
      • 2.组织数据发送给默认网关(ip还是dns服务器的ip,但是mac地址是默认网关的mac地址)
      • 3.默认网关拥有转发数据的能力,把数据转发给路由器
      • 4.路由器根据自己的路由协议,来选择一个合适的较快的路径转发数据给目的网关
      • 5,目的网关(dns服务器所在的网关),把数据转发给dns服务器
      • 6.dns服务器查询解析出baidu.com对应的ip地址,并原路返回请求这个域名的client
    • 二、得到了baidu.com对应的ip地址之后,会发送tcp的3次握手,进行连接
      • 1.使用http协议发送请求数据个web服务器
      • 2.web服务器收到数据请求之后,通过查询自己的服务器得到相应的结果,原路返回给浏览器
      • 3.浏览器接收到数据之后通过浏览器自己的渲染功能来显示这个网页
      •  4.浏览器关闭tcp连接,即4次挥手结束,完成整个访问过程。


















刘小恺(Kyle) wechat
如有疑问可联系博主