第八周

一、简述osi七层模型和TCP/IP五层模型

  • OSI七层模型

    • 应用层

      为应用程序进程提供网络服务;提供用户身份验证。协议有http、mstp、ftp、dns、snmp等

    • 表示层

      确保接收系统可以读出该数据;格式化数据;构建数据;协商用于应用层的数据传输语法;提供加密

    • 会话层

      建立、管理、终止在应用程序之间的会话

    • 传输层

      确保数据传输的可靠性;建立、维护和终止虚拟电路;通过错误检测和恢复;信息流控制来保障可靠性。协议有TCP和UDP

    • 网络层

      路由数据包;选择传递数据的最佳路径;支持逻辑寻址和路径选择。协议有ICMP、IGMP、IP

    • 数据链路层

      定义如何格式化数据以便进行传输以及如何控制对网络的访问;支持错误检测

    • 物理层

      为启动、维护、断开物理链路定义了电气规范、机械规范、过程规范和功能规范

  • TCP/IP五层模型

    应用层对应OSI模型的会话层、表示层、应用层,其他各层和OSI模型一一对应,作用也基本相同

    有的时候也把“数据链路层”和“物理层”合并称为网络接口层

    • 应用层
    • 传输层
    • 网络层
    • 数据链路层
    • 物理层

二、总结描述TCP三次握手四次挥手

  • TCP三次握手

    在建立连接时使用三次握手,通信双方必须从对方了解如下信息:

    1、对方报文发送的开始序号;2、对方发送数据的缓冲区大小;3、能被接收的最大报文段长度MSS;4、被支持的TCP选项。

    第一次握手,客户端向服务器发送SYN报文,报文序号为a,并进入SYN_SENT状态,等待确认;

    第二次握手,服务器收到SYN包之后回复SYN+ACK,确认序号为a+1,报文序号为b,进入SYN_RECV状态

    第三次握手,客户端收到服务器端的SYN+ACK包,回复ACK,确认序号为b+1,报文序号为a+1,双方进入ESTABLISHED状态,连接建立成功。

  • 四次挥手

    在要断开连接时,使用四次挥手,由于TCP是全双工的,所以需要双向断开连接

    假设A主机和B主机要断开TCP连接

    第一次挥手:A数据传输完毕需要断开连接,向B发送FIN报文,报文序号为j,进入FIN-WAIT-1状态,等待B的确认;

    第二次挥手:B收到FIN报文回复ACK,确认序号为j+1,报文序号为k,进入CLOSE-WAIT状态,此时A到B的连接已经断开,A收到确认之后进入FIN-WAIT-2状态,等待B发出的FIN报文;

    第三次挥手:B数据发送完毕,要终止连接,发送FIN+ACK报文,报文序号为m,确认序号必须和上一个确认序号相同,也就是j+1,B进入LAST-ACK状态,等待A的最后确认;

    第四次挥手:A收到B发送的FIN+ACK报文,回复ACK,确认序号为m+1,报文序号为j+1,B在收到确认报文之后,会进入CLOSED状态。但是A会进入TIME-WAIT状态并等待2MSL(MSL是最长报文段生存时间)时间才能进入CLOSED状态。至此,双方TCP连接释放完毕。

三、描述TCP和UDP区别

  • TCP特性

    • 工作在传输层
    • 面向连接协议
    • 全双工协议
    • 半关闭
    • 错误检查
    • 将数据打包成段,排序
    • 确认机制
    • 数据恢复,重传
    • 流量控制,滑动窗口
    • 拥塞控制,慢启动和拥塞避免算法
  • UDP特性

    • 工作在传输层
    • 提供不可靠的网络访问
    • 非面向连接协议
    • 有限的错误检查
    • 传输性能高
    • 无数据恢复特性

四、总结ip分类以及每个分类可以分配的IP数量

  • A类地址

    以0开头的地址,子网掩码为8位,范围:0.0.0.0-127.255.255.255,网络数量126(不能是0和127),可分配的ip数量2^24-2,私有地址10.0.0.0/8

  • B类地址

    以10开头的地址,子网掩码为16位,范围:128.0.0.0-191.255.255.255,网络数量214,可分配的ip数量216-2,私有地址172.16.0.0/12

  • C类地址

    以110开头的地址,子网掩码为24位,范围:192.0.0.0-223.255.255.255,网络数量2^21,可分配的ip数量254,私有地址192.168.0.0/16

  • D类地址

    以1110开头的地址,组播地址,范围:224.0.0.0-239.255.255.255

  • E类地址

    以1111开头的地址,为保留地址

五、总结IP配置方法

  • 通过ifconfig配置地址

    ifconfig IFACE IP netmask NETMASK

    临时生效,重启服务之后配置消失

    # 设置eth0的ip为192.168.1.10,掩码为255.255.255.0
    [root@centos7 ~]# ifconfig eth0 192.168.1.10 netmask 255.255.255.0
    
  • 通过ip addr命令配置地址

    ip addr { add | del } IFADDR dev STRING

    这种方式,通过ifconfig命令无法查看添加的ip地址,可以通过ip addr查看,也是临时生效

    # 为eth0网卡添加地址172.16.1.10/16
    [root@centos7 ~]# ip addr add 172.16.1.10/16 dev eth0
    [root@centos7 ~]# ip addr 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        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 00:0c:29:15:a4:f8 brd ff:ff:ff:ff:ff:ff
        inet 192.168.211.134/24 brd 192.168.211.255 scope global noprefixroute dynamic eth0
           valid_lft 1747sec preferred_lft 1747sec
        inet 172.16.1.10/16 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::2732:2e0:2b27:954a/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    
    
  • 修改配置文件

    修改/etc/sysconfig/network-scripts/ifcfg-ens33配置文件,需要重启network服务生效

    # 这里文件名中的ens33可以随便写,不影响识别设备,我这里叫ifcfg-ens33,但是设备名是eth0,最好改成一样,方便查看
    [root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33     
    DEVICE=eth0                        # 这里必须写eth0,识别设备看这一项
    BOOTPROTO=none                     # 激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp,写none和static都是静态ip,如果是静态ip,就必须配置IPADDR、NETMASK、GATEWAY三项
    HWADDR=00:0c:29:fb:c1:9d           # 网卡的mac地址,也用于指定该文件对应的设备,这里的必须是真实的MAC地址,HWADDR和DEVICE也可以任写一个。相对应的有一个MACADDR,可以用于设置临时MAC地址,但是HWADDR一定要是真实的MAC地址
    NM_CONTROLLED=no                   # NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”
    DNS1=10.40.0.4                     # 第一个DNS服务器10.40.0.4
    DNS2=10.40.0.2                     # 第二个DNS服务器10.40.0.2
    ONBOOT=yes                         # 在系统引导时是否激活此设备,也就是是否开机启动,一定要改为yes,no相当于禁用状态
    TYPE=Ethernet                      # 接口类型;常见有的Ethernet, Bridge
    UUID="11c91e40-82ba-4b0e-8764-70e2dd62b48c"
    USERCTL=no                         # 普通用户是否可控制此设备
    IPADDR=192.168.211.129             # ip地址,因为上面BOOTPROTO设置为none,所以必须配置静态ip
    NETMASK=255.255.255.0              # 掩码,也可以写成PREFIX=24
    GATEWAY=192.168.211.2              # 默认网关
    
  • setup和system-config-network命令

    在CentOS6上可用,在CentOS7上已经没有配置网卡的功能了

    setup和system-config-network命令配置网卡的方法是相同的

    1、输入setup命令,然后选择Network configuration

    2、选择Device configuration

    3、选择要配置的网卡,这里选择

    4、出现如下界面即可配置ip地址,如果要启用DHCP,则敲空格选中Use DHCP,选中之后会打星号,配置好之 后选择OK退出,继续退出时一定要选Save

    下面是system-config-network命令的配置界面,和setup配置方法相同

  • 图形界面配置ip

    1、点击右上角图标,展开Wired Connected,点击Wired Settings

2、如下图,先选中Network,再点击Wired设置图标

3、在弹出的对话框中,选中IPv4选项卡,在这里可以使用DHCP,也可以使用手工配置,配置完成之后点击Apply

4、这种方法相当于修改了配置文件,需要重启network服务生效

[root@centos7 ~]#systemctl restart network
posted @ 2020-06-07 21:28  scott_Lsh  阅读(189)  评论(0)    收藏  举报