第7周

1、简述osi七层模型和TCP/IP五层模型
        OSI七层模型包含:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

0SI.png

       物理层:为启动,维护和关闭物理链路定义了电气规范、机械规范、过程规范和功能规范;
        数据链路层:传输数据帧,并为网络层提供差错控制和流量控制服务;
        网络层:为数据在节点之间传输创建逻辑链路,通过路由选择算法为分组选择最佳路径,从而实现拥塞控制、网络互联等功能;
        传输层:传输层主要为用户提供端到端服务,处理数据报错误、数据包次序等传输问题
        会话层:主要功能是负责维护两个节点之间的传输联接,确保点到点传输不中断,以及管理数据交换等功能;
        表示层:主要功能是处理在两个通信系统中交换信息的表示方式,主要包括数据格式变化、数据加密与解密、数据压缩与解压等;
        应用层:为网络用户之间的通信提供专用的程序服务以及用户验证;
应用层基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。
tu2.png

        二者的相同点:
       均属于网络协议栈;
       功能大体相似,均有类似的应用层,传输层和网络层;
       二者传输层以上都是以应用为主导。

        二者的不同点:
       TCP/IP一开始就对面向连接各无连接并重,而OSI在开始时只强调面向连接服务;
       TCP/IP有较好且相对简单灵活的网络管理功能,而OSI并不具备。
2、总结描述TCP三次握手四次挥手
       首先,客户端与服务器均处于未连接状态,并且是客户端主动向服务器请求建立连接:
       客户端将报文段中的SYN=1,并选择一个seq=x,(即该请求报文的序号为x) 将这个报文发送到服务器。此时,客户端进入同步已发送状态(SYN-SEND).SYN报文段不能携带数据,但是要消耗掉一个序号。
       服务器收到请求报文后,若同意建立连接,则回复报文中,SYN=1,ACK=1,并选择一个seq = y,且报文中确认号为x+1,序号为y .此时服务器进入同步已接收状态(SYN-RCVD)客户端收到服务器的同步确认后,对服务器发送确认的确认。将ACK=1,确认号为y+1,而报文首部的序号为x+1,将该报文发出后,客户端进入已连接状态(ESTABLISHED)。
       服务器收到客户端的确认后,也进入已连接状态。
以上即三次握手
通俗描述3次握手就是

       A对B说:我的序号是x,我要向你请求连接;(第一次握手,发送SYN包,然后进入SYN-SEND状态)

       B听到之后对A说:我的序号是y,期待你下一句序号是x+1的话(意思就是收到了序号为x的话,即ack=x+1),同意建立连接。(第二次握手,发送ACK-SYN包,然后进入SYN-RCVD状态)

       A听到B说同意建立连接之后,对A说:与确认你同意与我连接(ack=y+1,ACK=1,seq=x+1)。(第三次握手,A已进入ESTABLISHED状态)

       B听到A的确认之后,也进入ESTABLISHED状态。

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

连接的释放较连接的建立复杂。

现假设客户端与服务器均处于连接建立状态,客户端主动断开连接:

       1.客户端向服务器发送FIN报文:FIN=1,序号seq=上一个最后传输的字节序号+1=u,发送后,客户端进入FIN-WAIT-1状态。

       2.服务器接收到该报文后,发送一个确认报文:令ACK=1,确认序号ack = u+1,自己的报文序号seq=v,发送后,服务器进入CLOSE-WAIT状态。

       3.此时TCP连接进入连接半关闭状态,服务器可能还会向客户端发送一些数据。

       4.客户端收到来自服务器的确认之后,进入FIN-WAIT-2状态。等待服务器发送连接释放报文。

       5.如果服务器已经没有要发送的数据,则释放TCP连接,向客户端发送报文:令FIN=1,ACK=1,确认号ack =u+1,自己的序号seq = w(w可能等于v也可能大于v),服务器进入LAST-ACK状态。

       6.客户端收到服务器的连接释放报文后,对该报文发出确认,令ACK=1,确认号ack=w+1,自己的序号seq=u+1,发送此报文后,等待2个msl时间后,进入CLOSED状态。

       7.服务器收到客户端的确认后,也进入CLOSED状态并撤销传输控制块。

客户端状态变化:未连接----->SYN-SEND----->ESTABLISHED----->FIN-WAIT-1----->FIN-WAIT-2----->TIME-WAIT----->CLOSED

服务器状态变化:未连接----->SYN-RCVD----->ESTABLISHED----->CLOSE-WAIT----->LAST-ACK----->CLOSED

描述四次挥手就是:

       A与B交谈结束之后,A要结束此次会话,对B说:我要关闭连接了(seq=u,FIN=1)。(第一次挥手,A进入FIN-WAIT-1)

       B收到A的消息后说:确认,你要关闭连接了。(seq=v,ack=u+1,ACK=1)(第二次挥手,B进入CLOSE-WAIT)

       .A收到B的确认后,等了一段时间,因为B可能还有话要对他说。(此时A进入FIN-WAIT-2)

       B说完了他要说的话(只是可能还有话说)之后,对A说,我要关闭连接了。(seq=w, ack=u+1,FIN=1,ACK=1)(第三次挥手)
       A收到B要结束连接的消息后说:已收到你要关闭连接的消息。(seq=u+1,ack=w+1,ACK=1)(第四次挥手,然后A进入CLOSED)

TCP三次握手四次挥手.png

3、描述TCP和UDP区别

二者均是工作在传输层的协议,以下为主要区别
       1、TCP是面向连接的协议,UDP为无连接协议;
       2、TCP可实现可靠传输,使用流量控制和拥塞控制;UDP为不可靠传输;
       3、TCP是流模式(SOCK_STREAM) UDP是数据报模式(SOCK_DGRAM);
       4、TCP适用于要求可靠传输的应用,例如文件传输的场景;UDP适用于实时应用(例如语音,视频等)
       5、TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证;
基于TCP的网络协议:
       Tlenet:远程登录协议
       FTP:文件传输协议
       SMTP:简单邮件传输协议
       SNMP:简单网络管理协议
       HTTP:超文本传输协议
基于UDP的网络协议:
       NTP:网络时间协议
       TFTP:简单文件传输协议

4、总结ip分类以及每个分类可以分配的IP数量
       IPv4地址目前被划分为5类:

IP分类.png

       A类:网络位首字节开头为0,可分配16777214台主机
       B类:网络位首字节开头为10,可分配65534台主机
       C类:网络位首字节开头为110,可分配254台主机
       D类:网络位首字节开头为1110,为组播地址
       E类:网络位首字节开头为1111,为保留地址

       网络数=2^可变的网张ID位
       主机数=2^主机ID位-2
       网络ID=IP与netmask
5、总结IP配置方法
    ifconfig命令配置 临时生效,重启后配置丢失
        ifconfig ##查看网卡信息
        ifconfig ethx ipadd netmask x.x.x.x
       其中 ethx 中 x 代表第几块以太网卡,默认第一块为 0,ipadd 代表 ip 地址。x.x.x..x 为子网掩码

IP命令配置
       ip address 查看网卡信息;简写 ip a
       ip addr add 10.10.1.178/16 dev eth0 ###添加IP
       ip addr del 172.16.55.34/16 dev eth0 ### 删除IP

网络配置文件
       文件目录为:/etc/sysconfig/network-scripts/ 下的网卡对应文件
       vim ifcfg-eth0
        BOOTPROTO=static
        IPADDR=10.3.131.40
        NETMASK=255.255.255.0
        GATEWAY=10.3.131.254
        ONBOOT=yes

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。