计算机网络基础

计算机网络

指使用一定的通信线路,把地理位置上相对分散的、具有独立自制能力的计算机系统等连接起来,在一定通信协议的约束与控制下,实现数据交换的目的!

计算机网络体系结构

计算机网络体系结构是一个分层次的模块式结构,每一层完成一个功能,这种流式化的结构能提高生产力!
网络分层的好处

  1. 促进了标准化

  2. 各层次相互独立,技术升级和扩展灵活性好

  3. 便于方案的设计

开放系统互连基本参考模型 OSIRM 简称 OSI

这个模型是由 ISO 标准化组织定义的

  1. 物理层:用来定义各设备的物理规范:通信支持距离,线的粗细,线芯的大小(二进制比特流传输)

  2. MAC层: 数据报文的封装和相应方式 (相邻节点间的可靠传输)

  3. 网络层 :定义基于IP地址的通信过程的实现 (寻址和路由的选择)

  4. 传输层用来定义端口的,主机进程与主机进程之间端口之外的其他问题! (端到端的可靠传输)

  5. 会话层:建立会话,完成通信 (主机间会话管理)

  6. 表示层:数据的表示方式;要不要加密等 (数据表示、压缩与加密)

  7. 应用层:如何实现真正的资源交换的 (提供各种网络应用接口)

计算机网络基础

TCP / IP协议

这个是我们真正用到的模型,不是国际化标准!
计算机网络基础

注意:局域网就只有物理层和数据链路层!

网络体系结构的传输

计算机网络基础

计算机网络基础

各层上传输的数据格式

对等层之间传送的数据单元称为PDU(协议数据单元)

  • 物理层:一最原始的比特流格式传输,其PDU为比特

  • 数据链路层:传输的单元是帧,一个帧包括多个比特,但一个帧的大小必须是一个整数字节/不同协议的帧大小也不一样

  • 网络层:传输的单元是分组(或者是包),一个分组可以包含多个帧,分住的大小也要根据不同协议而定。

  • 传输层:在TCP/IP协议体系当中,TCP是以数据为单元进行传输,UDP是以数据包为单位进行传输

  • 会话层、表示层、应用层:以具体的数据报文为单位进行传输

通信子网:

是网络中实现网络通信功能的设备及其软件的集合,通信设备、网络通信协议、通信控制软件、是网络的内层,负责信息的传输。主要为 用户提供数据的传输,转接加工,变换等
中继器、集线器、交换机、通讯线缆、路由器、各种网关引荐等设备

资源子网:实现资源共享的设备

主要由网络的服务器、工作站、共享的打印和其他设备及相关软件组成。资源子网的主题为网络资源设备
包括
用户计算机、网络存储系统、网络打印机、独立运行的网络数据设备、网络终端、服务器、网络上运行的各种资源软件、数据资源等、

计算机网络基础

物理层与数据链路层

物理层就是地基,为了解决物理层传输层出现的错误核问题提出了数据链路层,物理层提供了物理的传输通路,数据链路层提供了逻辑的通路!

物理层的通信介质是不同的 为了统一传输道路! 联立一个逻辑的链路

数据链路的管理

封装成帧
透明传输
差错控制

网桥

网卡是工作在数据链路层!
网桥用来连接不同的网段(只是不同物理位置的网络)的计算机,不是直接连主机,连接集线器!
计算机网络基础

网桥的学习过程
计算机网络基础

交换机

交换机是具有多个交换端口,数据转发率很高,更强的MAC地址系统学习功能 ,(在灯的闪烁时自动学习),交换机工作在数据链路层!交换机内部是矩阵式 排列!
计算机网络基础

接上端口时就会广播(灯会闪烁)动态学习MAC地址
计算机网络基础

以太网的MAC帧

计算机网络基础
前导:主要是为了实现帧的同步
FCS:是为了校验

VLAN(虚拟局域网)

把现实的大的交换网络划分成虚拟的小的交换网络,减小二层网络中广播流量对整个交换网络的影响!

VLAN是一个二层协议,VLAN之间是独立的,没有物理连接!VLAN之间的通信就需要网络层解决!

一个VLAN可跨越多台物理交换机,这就是VLAN的中继功能!
计算机网络基础

网络层

连接两个不同的网段!构建一个中间通信子网的作用!网络层相当于车站!关注的是如何将分组从源端沿着网络路径传送到目标端。网络层是端到端的!

目前主流的 IPv4 三个协议:
IP(因特网协议)
ARP(地址解析协议)
ICMP(因特网控制消息协议)

IPv6 :

IPv6,ICMPv6、ND(邻居发现协议) 、MLD(组播帧听器发现)协议

IP协议的基本功能:

就是把数据报在互联网上传输,通过将数据报在一个个IP模块间传送直到目的模块来达到目的。 分为 寻址、 数据报的封装、分段与重组!

计算机网络基础

ARP是将IP地址解析为以太网MAC地址的协议!是一个独立的三层协议!
计算机网络基础

TCP可靠通信

计算机网络基础

套接字:

计算机网络基础

浏览器默认解析是 http 服务,80端口!

  • 应用的通信靠的是发起的进程

  • 进程与进程之间的通信靠的是套接字!

  • TCP连接的每一端(应用)都必须设有两个窗口,一个发送一个接受,这四个窗口是可变的,叫做滑动窗口!!

计算机网络基础
中间的几个标志位的含义

  • URG : 当此为1时,表示紧急指针字段有效。它告诉系统此报文段有紧急数据,应当尽快处理(相当于高优先级的数据)

  • ACK: 确认ACK;当此位为1时字段才有效,当为0时确认号无效

  • PSH: 为1时,就尽快的交付接受应用进程,而不等到整个缓存都填满了再上交付

  • RST: 复位重置控制位! 当此位为1时,就需要从新发起请求,从新建立连接

  • SYN: 同步控制位;2为1时表示这是一个连接的请求,或正在接受报文!

  • FID: 终止连接!当此位为1时,表示此报文的发送端发送完毕,请求关闭建立!

三次握手

计算机网络基础

UDP

发送之前不需要建立连接,尽最大努力交付不保证可靠交付,同时也不使用拥塞控制;是面向报文的!支持一对一,一对多,多对一,多对多的交互通信!
UDP开销小,速度快!
计算机网络基础

IP地址与子网划分(IPv4)

子网掩码就是为了获取网络地址

与算法
    网络ID全为1、主机ID部分全为0
    网络ID用来确认网络,主机ID用来确定每个网络中有的IP地址数
网络地址。主机部分全为0的地址
广播地址。主机部分全为1的地址    

通过IP地址就能标示每个网络!方便管理,所以不用MAC做地址

a、b、c 用于单播通信,D组播地址、E保留地址

A类:

计算机网络基础    

    0 000 0001 - 0 111 1111: 1-127
    特性:N.H.H.H
    默认掩码:255.0.0.0
    网络数:1-126
        每个网络中的主机位:
            全1为:广播地址
            全0为:网络地址
        每个网络中可以容纳多少个主机:2^24-2
    回环:127.0.0.0/8

        私有地址:10.0.0.0/8

B类:

计算机网络基础

    10 00 0000 - 10 11 1111:128-191
    特性:N.N.H.H
    默认掩码:255.255.0.0
    网络数:2^14
        每个网络中的主机:
            每个网络中可容纳多少个主机:2^16-2、

        172.16.0.1 - 172.31.255.254 /12        
        私网:10.0.0.0 - 255.0.0.0
        私有地址:172.16.0.0/16-172.31.0.0/16
                172.16.0.0/12

C类:

计算机网络基础

    110 0 0000 - 110 1 1111: 192-223
    特性:N.N.N.H
    掩码:255.255.255.0
    网络数:2^21
        每个网络中的主机位:
            每个网络中可容纳多少个主机:2^8-2

    192.168.0.0 - 255.255.0.0 /16
    私有地址:192.168.0.0/24-192.168.255.0/24
            192.168.0.0/16

D类:组播地址

计算机网络基础

E类:预留地址

计算机网络基础

自动获得的地址,169.254.0.0 没有DHCP服务器,但是电脑有时自动获取地址时用到的地址。

无分类模式!

子网

计算机网络基础

分子网:  全0全1(最后一段00000000 11111111)不能用
一个大网划分成若干个小网
网络ID向主机ID借位(红色),子网数2^n

一个网段的主机数=2^主机位数-2
主机ID位数=32-网络ID位数
网络ID=IP相与子网掩码
损失IP=(子网数2^n-1)*2

计算机网络基础
计算机网络基础
————————————————————————————–上图来源于强哥

将Linux主机接入到网络中:

IP/NETMASK:本地通信
路由(网关):跨网络通信
DNS服务器地址:基于主机名的通信
    主DNS服务器地址
    备用DNS服务器地址
    第三备份DNS服务器地址

网络接口命名方式:

传统命名:

以太网:ethX, [0,oo),例如eth0, eth1, ...
PPP网络:pppX, [0,...], 例如,ppp0, ppp1, ...

可预测命名方案(CentOS):

支持多种不同的命名机制:
    Fireware, 拓扑结构

    (1) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,如eno1, eno2, ...
    (2) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如ens1, ens2, ...
    (3) 如果硬件接口的物理位置信息可用,则根据此信息命名,如enp2s0, ...
    (4) 如果用户显式定义,也可根据MAC地址命名,例如enx122161ab2e10, ...
    上述均不可用,则仍使用传统方式命名;

    命名格式的组成:
        en:ethernet
        wl:wlan
        ww:wwan

        名称类型:
            o<index>:集成设备的设备索引号;
            s<slot>:扩展槽的索引号;
            x<MAC>:基于MAC地址的命名;
            p<bus>s<slot>:基于总线及槽的拓扑结构进行命名;

练习

例:180.200.210.123/16 划分14个子网,最小和最大的子网IP范围,每个子网IP最多多少

    算出网络ID  180.200.210.123 相与255.255.0.0 结果 180.200.00000000.0
      借4位(最多可划16个子网)   网络位16+4=20  主机位32-20=12   主机数=2^12-2=4094
               0子网
  180.200.0000 0000.00000001   180.200.0.1
  180.200.0000 1111.11111110   180.200.15.254
               13子网
  180.200.1101 0000.00000001   180.200.208.1
  180.200.1101 1111.11111110   180.200.223.254

将最大的子网再分成28子网给本子公司的各部门使用,求最大子网和最小子网ID?
借5位(最多可划32个子网)
180.200.1101 0000.0 0000001    
180.200.208.0/25      第1个子网的网络id
180.200.1101 1101.1 0000000    
(180.200.1101 1111.1 1111110  最大IP:180.200.223.254)
180.200.221.128/25   第28个子网的网络id

2.将 10.100.208.0/20 网络划分成 8 个子网,写出各子网的 IP 范围。

10.100.1101 000 0.00000000
10.100.1101 111 0.00000000  /23  
子网掩码 :255.255.254.0                                                               
10.100.1101 000 0.00000001 - 10.100.1101 000 1.11111110
           10.100.208.1-10.100.209.254  
10.100.1101 001 0.00000001 - 10.100.1101 001 1.11111110
           10.100.210.1 - 10.100.211.254
10.100.1101 010 0.00000001 - 10.100.1101 010 1.11111110
            10.100.212.1 - 10.100.213.254
10.100.1101 011 0.00000001 - 10.100.1101 011 1.11111110
            10.100.214.1 - 10.100.215.254
10.100.1101 100 0.00000001 - 10.100.1101 100 1.11111110
            10.100.216.1 - 10.100.217.254
10.100.1101 101 0.00000001 - 10.100.1101 101 1.11111110
            10.100.218.1 - 10.100.219.254
10.100.1101 110 0.00000001 - 10.100.1101 110 1.11111110
            10.100.220.1 - 10.100.221.254 
10.100.1101 111 0.00000001 - 10.100.1101 111 1.11111110
            10.100.222.1 - 10.100.223.254

原创文章,作者:qzx,如若转载,请注明出处:http://www.178linux.com/43588

(0)
上一篇 2016-09-06 08:51
下一篇 2016-09-06 08:51

相关推荐

  • 第三天作业

    1、列出当前系统上所有已经登录的用户的用户名。注意:同一个用户登录多次,则只显示一次即可 [root@localhost ~]# who | cut -d ' ' -f1 | sort | uniq [root@localhost ~]# who (unknown) :0         &nbsp…

    Linux干货 2016-08-30
  • week7

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; fdisk /dev/sdb  按提示创建出来10G分区 查看1:…

    Linux干货 2016-12-08
  • 马哥教育网络班21期第1周课程练习 — 草稿

    1、描述计算机的组成及其功能。     计算机的主要组成部分包括:运算器、控制器、存储器、输入设备、输出设备。        按更常见的组件来讲:CPU = 运算器+控制器、 内存+硬盘 = 存储器、 I/O = 输入设备+输出设备  &n…

    Linux干货 2016-07-07
  • mariadb数据库的主从复制

    mariadb的主从复制

    2018-02-27
  • man和history及bashi的快捷键

    man:帮助命令     命令格式:man# cmd;使用时可以先使用whatis 查询所对应的man的章节,然后用对应的man章节来查询帮助;     info:本地帮助文档     官方文档,在线查询等等,如果是付费版系统的话可以使用S…

    Linux干货 2016-07-29
  • 马哥教育网络班21期-第九周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash m=0 n=0 for i in `awk -F: '{print $NF}'&nb…

    Linux干货 2016-09-15