计算机网络学习之(一)基础

一、查看ip地址

  1. linux操作系统下 运行 ip addr

root@test:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff
    inet 10.100.122.2/24 brd 10.100.122.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fec7:7975/64 scope link 
       valid_lft forever preferred_lft forever

inet 就是ip地址 是ipv4 32位 分为 网络号和主机号
inet6 是ipv6 128位

IP地址分类
A类:10. 最大数量 166777214
B类:128. 最大数量 65534
C类:192. 最大数量 254
在这里插入图片描述
2. 无类型域间选路(CIDR)
将32位ip地址一分为二 前边是网络号 后边是主机号 例如 10.100.122.2/24 就代表前24位是网络号 后 8位是主机号
广播地址 10.100.122.255 如果发送到这个地址 10.100.122 网络里的机器都可以收到
子网掩码 255.255.255.0
网络号 将子网掩码和IP地址按位计算AND 就可以得到网络号。

一般家用的设备数量也不会超过256个 所以一般是C类IP地址 WIFI路由器的地址是192.168.0.1 广播地址是 192.168.0.255 一旦发送这个地址 整个192.168.0网络里的所有机器都能收到

  1. MAC 地址
    是一个网卡的物理地址 唯一标示 无定位功能
    IP地址可以定位 可以定位到具体的位置 然后找到具体的网卡

二、IP地址的由来

  1. 动态主机配置协议DHCP
    网络管理员配置一段共享的IP地址 每一台新接入的机子都通过这个DHCP协议 来这个共享的IP里申请 然后 自动配置 用完释放

  2. DHCP的工作方式

    1. DHCP Discover
      新进入的电脑 IP地址0.0.0.0 发送一个广播包 目的地址为255.255.255.255 广播包封装了UDP UDP封装了BOOTP DHCP是BOOTP的增强版
      广播包中 包含了 新电脑的MAC地址 IP地址 广播IP地址 源端口68 目标端口 67 向目标IP地址申请IP

    2. DHCP Offer 此时如果网络管理员配置了DHCP Server的话 他就会立马知道有一个新的IP地址来了 这时MAC地址的唯一性就非常重要 可以确定 这是一个新人 需要给他配置一个新的IP 这个过程叫做 DHCP Offer 同时DHCP Server 就会保留这个IP 并且不会再分配给其他电脑

    3. DHCP Server 仍然使用广播地址作为目的地址 因为此时 新的电脑并不知道 自己的IP是多少 回复的包中包含了 新电脑的Mac地址 广播的Mac地址 新电脑IP 0.0.0.0 广播IP 255.255.255.255 源端口68 目标端口 67 准备租用给新电脑的 IP地址 全部发给 新电脑

    4. DHCP ACK 当客户机收到回复之后 还不能直接使用这个IP 仍然使用0.0.0.0 作为IP回复一下 DHCP Server 当DHCP Server 收到返回以后 再给客户机一个 DHCP ACK确认 表明此时新电脑可以使用这个IP地址了

  3. 地址回收和续租
    分配IP地址的时候 会把过期时间一起下发 当到期时间还有一半的时候就需要重新申请

三、机房里如何给很多机器安装操作系统

  1. 预启动执行环境 PXE
    BIOS 一个嵌在硬件里的小系统 计算机启动 首先会来到这 也就是实模式

PXE 分为客户端和服务端 由于没有操作系统 只能把客户端放在BIOS里。计算机启动的时候BIOS把PXE客户端调入内存 就可以连接到服务端做一些操作了

PXE自己需要有个IP地址 就开始发送一个DHCP请求 让DHCP Server 给他分配一个地址 ,PXE如何知道PXE服务端在哪里呢?DHCP Server 在给IP的时候 会再增加一个配置 next-server 和 初始启动文件 filename 告诉PXE 这样PXE就知道PXE服务端在哪里 也知道如何从PXE服务端下载某个文件 去初始化操作系统

  1. PXE的工作过程

首先启动客户端 通过DHCP协议告诉DHCP Server 请求一个IP地址 同时也会拿到PXE 服务地址 启动文件 PXE客户端就开始从PXE服务端下载 这个文件 收到这个文件后就开始执行这个文件 向TFTP 服务器请求下载 和 配置信息 最后启动 linux 内核 启动操作系统

四、从物理层到Mac层(数据链路层)

  1. 网线
    两个电脑链接的网线需要使用 1-3 2-6 交叉法 可以实现两个电脑的通信

  2. 集线器 hub
    完全在物理层的一个设备 可以链接多个网线 相当于中转 其中一个电脑打出消息会通知到所有通信的电脑

五、数据链路层 (Mac层 Media Access Control)媒体访问控制层

  1. 包发给谁 谁接收
    需要使用到Mac地址 源MAC地址和目标MAC地址 数据包在链路上广播 MAC的网卡才能发现 然后把包收进来 打开IP包 发现IP地址也是自己的 再打开TCP包 发现端口也是自己的 nginx就是监听80端口 然后目标地址变成源地址 源地址变成目标地址 把数据响应回去
  2. 都在发 谁先发 谁后发
  3. 发送出错了怎么办
    第二层的最后面是 CRC 也就是 循环冗余检测 通过XOR异或算法来检测这个过程中是否发生错误
  4. 不知道目标Mac地址的情况怎么办呢
    ARP协议 知道IP地址不知道MAC地址怎么办 吼一声 发送一个广播包 谁是这个IP 谁来答
    以上是Hub连线形成的小局域网

六、局域网

  1. 交换机-一个会智能学习的设备
    交换机的学习过程
    一台MAC1电脑将一个包发给另一个MAC2电脑 当这个包到达交换机的时候 一开始交换机也不知道MAC2在哪里 只能将包转发给除了刚才的口的所有口 此时交换机会记录着MAC1是来自一个明确的口 经过几轮之后 就会形成一个转发表

  2. 两台交换机在这里插入图片描述
    例如机器1 要想访问机器4 机器1 知道机器4的 IP地址
    机器1不知道机器4在哪里 于是发起一个广播 那么机器2可以收到 但不是找他的 交换机A可以收到广播 但是最初交换机并没有转发表 交换机A收到这个广播之后做的操作就是除了从机器1在的方向外 还要转发给其他的网口 ,于是机器3也收到了广播信息 但还是不是找3的 此时交换机B也收到了信息,交换机B也开始广播 这时 机器4和机器5 都可以收到信息 这时机器4就会响应 告诉机器1 这个是我的MAC地址

在上面的学习过程中 交换机A和交换机B 都能学到信息 机器1是在左边局域网的 当机器3想访问机器1的时候 就不会再将广播转发到 其他局域网了

  1. 常见的环路问题 如下图

在这里插入图片描述
交换机A 和 交换机B 同时连接着两个局域网 当机器1想访问机器2的时候 发一个ARP广播请求,然后机器2可以收到 完美!!! 但是换机A 和 交换机B也能收到 这是A会转发 到右边的局域网 B也会转发到右边的局域网 A的右边网口就会收到来自B的广播 B也就收到来自A的广播,因此 出现了环路问题。

  1. STP协议 Spanning Tree Protocol
    将环生成树 解决环路问题 下面是相关概念
  • Root Bridge 跟交换机
  • Designated Bridges 指定交换机 跟交换机下边的分支
  • Bridge Protocol Data Units BPDU 网桥协议数据单元 相互比较实力的协议
  • Priority Vector 优先级向量 就是一堆ID [Root Bridge ID, Root Path Cost, Bridge ID, and Port ID] 就是拼爹 拼爷 拼老爷 拼祖宗 一级一级的比

工作原理

  • 分配初始优先级 那个交换机贵 那个优先级高 管理员分配一个ID 这个ID就是优先级
  • 相互链接的交换机之间会相互比较优先级 优先级低的就只能做小弟了 收到BPDU时 就只能转发一下了
  • 当两个局部优先级高的 相遇 还会进行比较比较出一个优先级高的 那么优先级低的的所有下线就会全部拿来服从这个优先级高的
  • 优先级低的相遇 会比较老大
  1. 广播问题和安全问题
  • 虚拟隔离 VLAN
    我们只需要在原来的二层头上加上一个TAG 里边有个VLAN ID 共12位

如果我们买的交换机支持 VLAN 当交换机把二层头取下来的时候 就能够识别这个VLAN ID 这样只有相同的VLAN ID的包 才会相互转发 不同的VLAN 包看不到。

我们可以设置交换机每个口对用的VLAN
使用Trunk 口 可以链接多个交换机

  1. ICMP 互联网控制报文协议
    ping 就是基于 ICMP协议的
    ICMP 报文是封装在IP包里面的 最常用的类型是主动请求为 8 主动请求的应答为0
  • 查询报文类型
    ping 就是查询报文 主动发起 主动应答的ICMP协议
  • 差错报文类型
    1. 终点不可达 分为 网络不可达 找不找路 主机不可达 找不着人 协议不可达 口号不对 端口不可达 需要分片但设置了不分片
    2. 源站抑制 让源站放慢速度
    3. 时间超时
    4. 路由重定向 下次发给另一个路由
  1. ping 的 发送和接收
    假定主机A的IP地址是 192.168.1.1 主机B的IP地址是 192.168.1.2 同在一个子网 在主机A上运行 ping 192.168.1.2 的过程
    首先构建一个ICMP请求数据包 ICMP包 包含多个字段 最重要的是两个 一个是类型字段 对于请求包该字段是 8 另一个是顺序号 为了计算往返时间 还会在报文数据部分插入发送时间

然后 由ICMP协议将这个数据包连同地址 192.168.1.2 一起交给IP层 IP层将192.168.1.2作为目标地址 192.168.1.1 作为源地址构建一个IP数据包 接下来加入MAC头 在ARP映射表中找到192.168.1.2所对应的MAC地址 如果有就可以直接使用 如果没有还需要发出一个ARP请求 协议查询MAC地址 获取MAC地址后 由数据链路层构建一个数据帧 目的地址就是IP层传来的MAC地址 源地址则是本机的MAC地址 依据以太网的访问规则 将他们传递出去
发完之后 主机B收到这个数据帧之后 先检查他的目的MAC地址 并和本机的MAC地址对比 如果符合就接收 不符合就丢弃 然后将相应有用的信息拿出来 构建一个应答包 类型字段是 0 顺序就是接受包里的顺序 如果在规定的时间内 源主机没有找到ICMP的应答包 说明目的主机不可达 如果接收到了ICMP应答包 说明目标主机可达。这是源主机会用当前时间减去该数据包最初从源主机上发出的时刻 就是ICMP的时间延迟。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值