6.网络基础

网络基础

  1. 什么是网络?
    通信的双方主机,必须对传输的信号做一致的约定:
    电磁信号的宽度、高度、速度等。
    即,双方必须遵守一定的”协议”.

    1)点对点网络
    2)总线型网络
    一台主机和另一台主机发送信号时,
    总线上的所有主机都能接收到。
    所以,此时,其他主机不能再发送信号!
    即不支持多台主机同时发送信号。

    问题:怎么避免多太主机同时发送信号?
    必须使用某个策略,才实现“线路仲裁”.
    常有这种策略:CSMA/CD (载波侦听多路访问/冲突检测)
    3) 环状网络
    网络空闲时,有一个“令牌”,在环状网络中循环发送。
    当某台主机需要发送数据时,必须获得该令牌。
    当数据发送完毕后,在把这个令牌发送到环状网络。
    4)星型网络

  2. 网络内的“冲突”
    当一个网络内的主机,越来越多时,冲突的概率也越来越大
    网络的性能下降。

    解决方案:
    使用“网桥”

    网桥:隔离两个网络的冲突域。
    冲突域:在一个冲突域中,最多只有1台主机发送信号。

    网桥内部,维护了一张“表”,
    这个表,记录了每个主机,对应的网桥端口。

    这个表,是网桥,通过某个“协议”,自主的学习获得。

    网桥的特点:只能隔离“冲突域”,不能隔离“广播”

  3. 网桥和交换机
    交换机,就是一种“特殊的”网桥。
    网桥只有2个端口
    交换机,就是具有多个端口的”网桥”
    所以,交换机具有独特的特点:
    1)有多个端口,所以允许多组端口之间同时工作。
    2)交换机把系统分成了更多的物理网段(更多的冲突域)
    3)交换机更快。
    4)交换机对数据的转发方式不同。
    了解:
    网桥:接收到完整的数据帧,并执行帧检测之后,才转发。
    交换机:“存储转发”或”直接转发”

  4. 路由器
    问题:交换机和网桥不能隔离”广播”
    解决方案:使用“路由器”

    逻辑地址(IP地址)
    组成: 网络地址.主机地址

    子网掩码: 用来确定一个主机的IP地址是在哪个网络
    比如:
    320107 1980….
    xxxxxx

    IP地址 = 网络地址.网内的主机地址
    1位.2位
    0~1. 00,01,10,11
    0.00, 0.01, 0.10, 0.11,
    1.00, 1.01, 1.10, 1.11

                  1.10 就是110
    
                  110  
               &  100   &就是二进制位的“乘法"
              --------- 
                  100
    
                  子网掩码,就是1.00 
    

    扩展:网络地址有8位,主机地址也有八位
    0000 0000 ~ 1111 1111. 0000 0000 ~ 1111 1111

        子网掩码就是: 1111 1111.0000 0000
                  转换为10进制就是 255.0
    

    结论:如果掩码的最高位有8个1,就表示IP地址的最高8位是网络地址

    逻辑地址(IP地址)和物理地址之间的转换:
    使用ARP协议

    路由器内维护一个表:
    各个网路的网络地址或主机的IP地址 与 路由器的端口 的对应关系
    该表称为“路由表”

    路由表是怎么生成的:
    方法1:人为的设置,静态路由表。
    方法2:通过特定的协议(比如RIP2或OSPF等),来主动的学习来获取。

    总结:
    MAC地址(物理地址,就是网卡的序列号):
    用来在本地网络内,唯一地标识主机
    IP地址(逻辑地址,人为设置的地址)
    用来在不同的网络之间,唯一地标识主机。
    端口号:
    用来标识同一台主机上的不同进程(正在执行的程序)

协议
关于通信的语法、语义的规范。

OSI参考模型
7层

应用层  (http等应用次序,比如在浏览器中输入www.baidu.com并回车,就是请求百度的首页)
表示层   对一些信息做加密处理等。
会话层   管理会话
传输层   封装了源端口号、目的端口号
网络层   封装了源IP地址、目的IP地址
数据链路层:  封装了源MAC地址、目的MAC地址
物理层:      封装了前导码等。

注意:这个模型是 参考模型,实际网络中并不使用。

实际网络中,使用的是TCP/IP网络模型
要求掌握,OSI模型和TCP/IP模型的对应关系。

协议:没一层数据,都是在上一层的数据的基础上,再封装该层的数据。

TCP和UDP的区别
UDP通信:是面向数据报,是不可靠的,有可能会丢包。
发送频繁的发送短小的数据时,效率很高。
很便宜。
TCP通信:面向连接的,可靠的。
TCP通信建立连接:3次握手

   TCP通信断开连接:4次断开   

IP包的报头分析:
version 版本号 v4, v6(没有推广)
IHL, 报头的长度(行)
实际长度是 IHL x 4 字节
Total Length:总长
Identification, 信息可以被切割成多个IP包,
那么这些被切割的报文就有相同的Identification
Fragmentation Offset, 这个报文在整个信息中的偏移量(即位置)
MF, 表示是否还有更多的包
DF,表示有没有被切割。
TTL(Time To Live):报文的生存时间(是能够经过的路由器的次数)
Protocol,表示上一层所使用的协议的标识。
Header Checksum, 包头的校验信息,用来检查包头信息是否发生错误

Source Address, 源主机的IP地址
Destination Address, 目标主机的IP地址
Data:表示数据

TCP的包头分析:

IP地址的表示
用户常常使用点分10进制。
在计算机内部,使用32位二进制数表示。

IP地址: 网络地址.网内的主机地址
        一共32位,4个字节(1个字节8位),每个字节之间用.分隔

网络地址:
    A类:
       第1位为0,
       第1位到第8位用来表示网络地址(从左数起)
       A类网络的子网掩码是:255.0.0.0

       0 000 0000 ~ 0111 1111 共128个
       0000 0000不能作为网络地址, 1 ~ 127
       127用于固定的回环地址。
       所以,只剩下126个A类地址     
       一共有126 个A类网络地址

    B类:
      前2位固定为10
      10 00  0000 00000000~ 1011 1111 11111111
      128 ~ 191
      一共64个B类地址。
      子网掩吗是255.255.0.0

    C类:
      前3位为110
      110 0 0000 00000000 00000000 ~ 110 1 111 11111111 11111111
      192~223
      掩码是255.255.255.0
      0000 0000 ~ 1111 1111
      0000 0000不能作为主机地址
      1111 1111作为广播地址
      就只有2^8 - 2 = 254个主机地址

私有地址:
私有地址,是不能直接接入互联网

A类:10.0.0.0/8
B类:172.16.0.0/16  ~  172.31.0.0/16
     16个B类私有地址
C类:192.168.0.0/24 ~ 192.168.255.0/24
     256个C类地址

子网的划分
假设某公司有1个C类的网络地址,
公司内有100台主机,但是公司希望前50台主机和后50台主机不能通信
可以使用子网划分:
主机地址有8位
向主机借1位作为网络地址
/25

协议栈和Linux的内核

网桥:有2个端口
可以用来连接两个物理网段
每个物理网段有1个冲突域
可以隔离冲突域。
但是,不能隔离广播。
交换机:相当与带多个端口的网桥
和网桥一样,只能隔离冲突域,不能隔离广播
路由器:可用来隔离广播。
用来连接不同的网络。
路由器内部维护一张路由表:
路由表,记录主机的IP地址或网络的IP地址, 和端口的对应关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值