网络基础

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

计算机网络分层的目的:支持异构网络系统的互联互通

img
img
img

OSI 7层参考模型是法定标准(国际标准化组织ISO提出)

应用层

所有能和用户交互产生浏览的程序,(有HTTP、FTP、SMTP协议)

表示层

用于处理两个通信系统中交换信息的表示方式(语法和语义),(有JPEG、ASCII协议),如:

  1. 数据格式的变换 如转换为0101进行
  2. 数据加密解密 哈希、MD5加密
  3. 数据压缩和恢复

会话层

向表示层实体/用户进程提供建立连接并在链接上有序传输数据,也是建立同步(SYN),(有ADSP、ASP协议)

  1. 建立、管理、终止会话
  2. 使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。

传输层

负责主机中两个进程的通信,即端到端的通信,传输单位是报文段或用户数据报,(有TCP、UDP协议)

  1. 可靠传输、不可靠传输
  2. 差错控制
  3. 流量控制
  4. 复用分用
    • 复用:多个应用层进程可同时使用下面运输层的服务
    • 分用:传输层把收到的信息分别交付给上面应用层中相应的进程。

网络层

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报,(协议有IP、IPX、ICMP、IGMP、ARP、RARP等)

  1. 路由选择
  2. 流量控制
  3. 差错控制
  4. 拥塞控制
    • 若所有节点都来不及接收分组,而要丢弃大量分组的化,网络就处于拥塞状态,因此要采取一定措施缓解这种拥塞

数据链路层

主要任务是把网络层传下来的数据报组装成帧,数据链路层/链路层的传输单位是,(有SDLC、HDLC、PPP、STP协议)

  1. 成帧(定义帧的开始和结束)
  2. 差错控制 帧错+位错
  3. 流量控制
  4. 访问(接入)控制 控制对信道的访问

物理层

主要任务是在物理媒介上实现比特流的透明传输,物理层传输单位是比特,(有Rj45、802.3协议)

  1. 定义接口特性
  2. 定义传输模式 单工、半双工、双工
  3. 定义传输速率
  4. 比特同步
  5. 比特编码

TCP/IP 4层参考模型是事实标准

  1. 应用层:应用程序通过这一层访问网络,常见 FTP、HTTP、DNS 和 TELNET 协议;
  2. 传输层:TCP 协议和 UDP 协议;
  3. 网络层:IP 协议,ARP、RARP 协议,ICMP 协议等;
  4. 网络接口层:是 TCP/IP 协议的基层,负责数据帧的发送和接收。

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

TCP三次握手

  1. 最开始的时候客户端和服务器都是处于CLOSED状态。主动打开连接的为客户端,被动打开连接的是服务器。
  2. 服务器进程先创建传输控制块TCB,时刻准备接受客户进程的连接请求,此时服务器就进入了LISTEN(监听)状态;
  3. 客户进程也是先创建传输控制块TCB,然后向服务器发出连接请求报文,这是报文首部中的同部位SYN=1,同时选择一个初始序列号 seq=x ,此时,TCP客户端进程进入了 SYN-SENT(同步已发送状态)状态。TCP规定,SYN报文段(SYN=1的报文段)不能携带数据,但需要消耗掉一个序号。
  4. TCP服务器收到请求报文后,如果同意连接,则发出确认报文。确认报文中应该 ACK=1,SYN=1,确认号是ack=x+1,同时也要为自己初始化一个序列号 seq=y,此时,TCP服务器进程进入了SYN-RCVD(同步收到)状态。这个报文也不能携带数据,但是同样要消耗一个序号。
  5. TCP客户进程收到确认后,还要向服务器给出确认。确认报文的ACK=1,ack=y+1,自己的序列号seq=x+1,此时,TCP连接建立,客户端进入ESTABLISHED(已建立连接)状态。TCP规定,ACK报文段可以携带数据,但是如果不携带数据则不消耗序号。
  6. 当服务器收到客户端的确认后也进入ESTABLISHED状态,此后双方就可以开始通信了。

img

为什么TCP客户端最后还要发送一次确认呢?
主要防止已经失效的连接请求报文突然又传送到了服务器,从而产生错误。
如果使用的是两次握手建立连接,假设有这样一种场景,客户端发送了第一个请求连接并且没有丢失,只是因为在网络结点中滞留的时间太长了,由于TCP的客户端迟迟没有收到确认报文,以为服务器没有收到,此时重新向服务器发送这条报文,此后客户端和服务器经过两次握手完成连接,传输数据,然后关闭连接。此时此前滞留的那一次请求连接,网络通畅了到达了服务器,这个报文本该是失效的,但是,两次握手的机制将会让客户端和服务器再次建立连接,这将导致不必要的错误和资源的浪费。
如果采用的是三次握手,就算是那一次失效的报文传送过来了,服务端接受到了那条失效报文并且回复了确认报文,但是客户端不会再次发出确认。由于服务器收不到确认,就知道客户端并没有请求连接。

TCP连接的释放(四次挥手)

数据传输完毕后,双方都可释放连接。最开始的时候,客户端和服务器都是处于ESTABLISHED状态,然后客户端主动关闭,服务器被动关闭。

  1. 客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态。 TCP规定,FIN报文段即使不携带数据,也要消耗一个序号。
  2. 服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个CLOSE-WAIT状态持续的时间。
  3. 客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)
  4. 服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。
  5. 客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。注意此时TCP连接还没有释放,必须经过2∗MSL(最长报文段寿命)的时间后,当客户端撤销相  应的TCB后,才进入CLOSED状态。
  6. 服务器只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。可以看到,服务器结束TCP连接的时间要比客户端早一些。
img

3、描述TCP和UDP区别

  1. 连接方面区别

    TCP面向连接(如打电话要先拨号建立连接)。

    UDP是无连接的,即发送数据之前不需要建立连接。

  2. 安全方面的区别

    TCP提供可靠的服务,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。

    UDP尽最大努力交付,即不保证可靠交付。

  1. 传输效率的区别

    TCP传输效率相对较低。

    UDP传输效率高,适用于对高速传输和实时性有较高的通信或广播通信。

  2. 连接对象数量的区别

    TCP连接只能是点到点、一对一的。

    UDP支持一对一,一对多,多对一和多对多的交互通信。

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

IP地址由四段组成,每个字段是一个字节,8位,最大值是255

IP地址由两部分组成,即网络地址主机地址。网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一台主机。二者是主从关系。

即主机号全0是网络地址,主机地址全为1是广播地址。

img

A类:(1.0.0.0-126.0.0.0)(默认子网掩码:255.0.0.0或 0xFF000000)第一个字节为网络号,后三个字节为主机号。该类IP地址的第一个字节最前面为“0”,所以地址的网络号取值于1~126之间。一般用于大型网络。

B类:(128.0.0.0-191.255.0.0)(默认子网掩码:255.255.0.0或0xFFFF0000)前两个字节为网络号,后两个字节为主机号。该类IP地址的第一个字节最前面为“10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。

C类:(192.0.0.0-223.255.255.0)(子网掩码:255.255.255.0或 0xFFFFFF00)前三个字节为网络号,最后一个字节为主机号。该类IP地址的第一个字节最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络。

D类:是多播地址。该类IP地址的最前面为“1110”,所以地址的网络号取值于224~239之间。一般用于多路广播用户[1] 。

E类:是保留地址。该类IP地址的最前面为“1111”,所以地址的网络号取值于240~255之间。

5、总结IP配置方法

通过命令配置,立即送往内核中的TCP/IP协议栈,并生效,但重启后失效

# 使用 ifconfig 命令 给 ens33 网卡配置 IP 和 掩码
~]# ifconfig ens33 192.168.240.163/24
~]# ifconfig ens33 192.168.240.163 netmask 255.255.255.0

# 使用 ip 命令 给 ens33 网卡配置 IP 和 掩码
~]# ip addr add 192.168.240.164/24 dev ens33

# 使用 ip 命令 删除 ens33 网卡配置的 IP 和 掩码
~]# ip addr del 192.168.240.164/24 dev ens33

通过配置文件修改,不能立即生效,需要重启网络服务

~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static        #激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none
DEFROUTE=yes
IPADDR=192.168.240.164  # IP地址
NETMASK=255.255.255.0   # 子网掩码
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ed98eb56-09f4-4ab4-a57a-d3bfab418b25
DEVICE=ens33
ONBOOT=yes            #在系统引导过程中,是否激活此接口
DNS1=8.8.8.8          #第一DNS服务器指向;
DNS2=114.114.114      #备用DNS服务器指向;

# 修改完成配置以后重启网络服务,以CentOS 7为例
~]# systemctl  restart  network.service
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • title: 网络基础学习总结(1) tags: 网络 categories:笔记 date: 2017-06-1...
    行径行阅读 2,719评论 0 3
  • 一、什么是TCP/IP 网络和协议 1. TCP/IP是一类协议系统,它是一套支持网络通信的协议集合。网络是计算机...
    karlon的马甲阅读 6,762评论 1 24
  • 计算机网络 基础概念 实现多个计算机系统的资源共享和信息传递 通信子网:介质,设备,协议,对应物理层,数据链路层,...
    Haozhong阅读 789评论 0 4
  • 转载 :http://www.cnblogs.com/maybe2030/p/4781555.html#_labe...
    奋斗live阅读 1,431评论 0 10
  • 越来越发现自己的贪心 并且贪心都是有代价的 比如猪肉脯 也谈不上爱吃 只是买也买了 得吃完吧 然而现在牙不大好了 ...
    梁绛阅读 224评论 0 0

友情链接更多精彩内容