网络TCP/IP

文章目录

    • IP地址
    • 子网掩码
    • MAC地址
    • 网络数据传输
    • 网络硬件设备及技术
        • 集线器
        • 交换机
        • 主机
        • 主机&路由器——ARP缓存表
        • 路由器:路由+NAPT
        • 冲突域
        • 广播域
    • 网络数据传输流程
        • 局域网传输流程:集线器
        • 局域网传输流程:交换机——局域网内同网段
        • 局域网传输流程:交换机+路由器——不同网段
    • 广域网数据传输流程
        • DNS
        • 广域网数据传输流程

IP地址

  1. 作用:为每个网络及网络中的主机分配一个逻辑地址。
  2. 组成部分
  • 网络号:标识网络。一个大型网络由多个小型网络组建,不同的网络具有不同的网络号。
  • 主机号:标识网络中某台主机。
  1. 一个ip地址,包含网络号+主机号,整个用于标识主机,先找到网络(通过网络号),然后在找网络内的主机。(主机、路由器——有ip地址的网络设备)
    网络TCP/IP_第1张图片
  2. 划分网络号和主机号
    网络TCP/IP_第2张图片
A类 0.0.0.0到127.255.255.255
B类 128.0.0.0到191.255.255.255
C类 192.0.0.0到223.255.255.255
D类 224.0.0.0到239.255.255.255
E类 240.0.0.0到247.255.255.255

子网掩码

作用

  1. 划分子网(了解)︰可以把A~C类IP地址,再次划分更小的网络=>划分方式,把主机号一部分作为内部的一个网络号
  2. IP地址与子网掩码做与运算可以得到网络号,主机号从全0到全1就是子网的地址范围;
    网络TCP/IP_第3张图片
  3. 网络通信,子网掩码结合IP地址,可计算获得网络号(划分子网后的网络号)及主机号(划分子网后的主机号)。一般用于判断目的ip与本IP是否在同一网段。

MAC地址

  1. 作用:标识网络硬件设备的物理地址。
  2. 长度48位,6个字节。
  3. 广播数据报(对同网段所有主机发送数据报),MAC地址为:FF:FF:FF:FF:FF:FF

网络数据传输

  1. 网络节点:主机和路由器
  2. 主机和路由器有ip地址,集线器交换机没有。
    网络TCP/IP_第4张图片
    ip地址和MAC地址区别
  3. ip地址是给人用的逻辑地址(标识主机),MAC地址是给硬件用的物理地址。
  4. IP地址是整个路径的起点和终点。
  5. MAC地址是每一跳的起点和终点:每一跳的源MAC和目的MAC都会变。

网络硬件设备及技术

集线器

不管是什么数据(目的ip是具体某个主机,或目的ip是广播ip),都转发到其他所有主机。类似在房间中说话,其他人都听到了。

交换机

  • 内部维护了一个**mac地址转换表,记录mac地址<=>端口** 映射关系。
  • 发送的数据,是使用以上映射关系(mac地址转换表),通过目的mac找端口,往端口相连主机发数据。
  • 如果找不到目的 mac,交换机设置数据报目的mac为广播地址FF:FF:FF:FF:FF:FF,发送所有端口,由对应主机返回mac地址。

主机

网络TCP/IP_第5张图片

  • 源主机目的主机同网段:下一跳设备目的主机。
  • 源主机目的主机不同网段:下一跳设备是网关设备(一般路由器)
  • 封装数据,到数据链路层,必须要封装mac地址(目的mac就是下一跳设备的mac)。所以必须先找,哪个设备是下一跳设备。

主机&路由器——ARP缓存表

ARP协议:建立IP地址和MAC地址映射。用于通过IP地址找MAC地址。
ARP缓存表:主机或路由器,内部维护的一组数据(类似hash表,通过ip找mac)
ARP寻址:主要就是在数据链路层封装数据报时,需要设置mac地址(此时知道ip,可能不知道mac)
搜索下一跳设备mac的过程,就是寻址

  • 本机ARP缓存表去找(通过ip找mac)
  • 如果找不到,广播=>就有了

路由器:路由+NAPT

  1. 划分公网和内网(局域网)网关
  • 路由器中,具有多个网卡=>至少一个公网网卡+多个子网网卡(子网ip和mac)
  1. NAPT协议内网ip+端口 转换为=》 公网ip+端口
  • 使用场景:局域网内主机1发送到百度服务器。
  • 过程:主机(局域网ip和端口)发送数据,下一跳设备是网关(路由器)【路由器接收到的数据报:协议号,源ip,源port,目的ip,目的port】
    由于目的主机还需要返回响应数据,此时目的ip和port就需要设置为公网的才有用
    路由器再次发送数据(上一跳是主机1到路由器,现在这一跳就是路由器到下一跳设备)
    就会修改数据的内容:局域网内主机ip+port修改为路由器公网ip+port
  1. 路由——路径规划
  • 了解:路由器中,存在一个路由表,保存有ip地址信息(类似地图中的坐标点),根据目的ip,再基于最短路径…等算法,就可以计算出一个效率比较高的路线

冲突域

在某个范围的网络中,如果发送数据时,会产生冲突,该网络范围就是一个冲突域

  • 集线器:所有端口为一个冲突域 。交换机:一个端口为一个冲突域

广播域

广播域发送一个广播数据报,能够达到的网络范围

  • 集线器:所有端口为一个广播域。路由器:可以隔离广播域
  • 广播的范围,是同网段(不同网段,就不能接收到广播数据报)

网络数据传输流程

局域网传输流程:集线器

使用集线器网络互联的情况下,发送端主机发送数据包时,需要先从上到下封装数据报。但封装时,目的MAC可能并不知道,需要先进行ARP寻址:

(1)发送端在本机ARP缓存表中,根据目的IP查找对应的MAC地址
(2)如果找到,则可以在数据链路层以太网帧头中,设置目的MAC并发送数据包
(3)如果没有找到,需要先发送ARP广播请求,让接收端,即目的主机告诉自己,目的MAC是多少
(4)发送端更新本机ARP缓存表:保存目的P与目的MAC的映射(5)有了目的MAC,就可以按照第(2)个步骤发送数据了。

路途中,经过的每一个网络节点(主机或路由器),都会先分用,再封装–(源mac,目的mac,每—跳就会改变源mac:当前设备的mac。目的mac:下一跳设备的mac)

本机ARP缓存表缓存表可以找到目的MAC的流程:
网络TCP/IP_第6张图片
如果没有找到,需要先发送ARP广播请求:

网络TCP/IP_第7张图片

局域网传输流程:交换机——局域网内同网段

网络TCP/IP_第8张图片

局域网传输流程:交换机+路由器——不同网段

路途中,经过的每一个网络节点(主机或路由器),都会先分用,再封装
网络TCP/IP_第9张图片

广域网数据传输流程

DNS

  • 域名:给人用的,比较方便记忆或识别公司的一种字符串,也可以标识主机网络地址。https://blog.csdn.net/?spm=1010.2135.3001.4477
  • 作用域名和ip的映射
  • 域名系统:提供全球域名服务器(根域名+子域名服务器)+各级DNS缓存—构成多个根节点的树形结构。提供域名转ip的服务,发送的数据是dns协议的数据,域名系统接收就可以返回对应域名的ip

广域网数据传输流程

网络TCP/IP_第10张图片
以访问百度网站为例:

发送http请求到百度服务器:http://www.baidu.com,根据DNS协议域名转换为IP地址。http协议不带端口默认端口值为80.

  1. 首先对数据进行封装,封装到数据链路层时需要设置目的MAC,根据子网掩码计算源IP和目的IP的网段
  • 同网段得话,和交换机的流程一样;
  • 不在同网段,需要交给网关处理,也就是交给路由器处理,通过ARP寻址,查找路由器IP地址对应的MAC地址
  1. 数据传输到交换机,交换机保存有MAC地址转换表,读取数据后,通过mac地址转换表查找对应的端口:如果找到,直接将数据报转发到对应的端口;如果没有找到,进行广播,目的主机进行响应,记录目的主机MAC和端口,将数据转发到相应端口;
  2. 交换机后,数据报传输到路由器,分用解析数据报:
  • 基于NAPT协议,转换源IP为路由器公网的IP,源MAC为路由器公网的MAC;
  • 基于路由技术,通过路由表规划路线,找到下一个设备的IP;
  • 通过ARP寻址,找到下一个设备的MAC,封装数据报发送给下一个设备;
  1. 重复上面的步骤,直到将数据发送到百度服务器,此时服务器对数据报进行接收分用:
  • 数据链路层:目的MAC和我一样,进行接收;
    网络层:目的IP和我一样,进行处理;
    传输层:根据端口找对应的进程;
    应用层:将数据交给应用层,有应用程序根据应用层协议进行解析。
  1. 最后,百度服务器返回响应数据报,和请求流程一样,只是源IP和目的IP、源端口和目的端口的交换

你可能感兴趣的:(网络,网络,tcp/ip,网络协议)