美文网首页
osi七层模型和TCP/IP五层模型

osi七层模型和TCP/IP五层模型

作者: 沐熙一叶_Leaf | 来源:发表于2021-01-17 21:39 被阅读0次

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

    1.1 osi七层模型
    • 第7层 应用层
      应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如:
      HTTP、HTTPS、FTP、TELNET、SSH、SMTP、POP3、MySQL等

    • 第6层 表示层
      主条目:表示层(Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式

    • 第5层 会话层
      会话层(Session Layer)负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接。

    • 第4层 传输层
      传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议
      等发送信息。例如:传输控制协议(TCP)等。

    • 第3层 网络层
      网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成报文。
      网络表头包含了网络数据。例如:互联网协议(IP)等。

    • 第2层 数据链接层
      数据链路层(Data Link Layer)负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形
      成信息框(Data Frame)。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链
      表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务
      (GPRS)等。分为两个子层:逻辑链路控制(logical link control,LLC)子层和介质访问控制
      (Media access control,MAC)子层

    • 第1层 物理层
      物理层(Physical Layer)在局部局域网上传送数据帧(Data Frame),它负责管理电脑通信设备和网
      络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机接口卡等

      OSI七层模型

      osi参考模型 各层的解释
      应用层 为应用程序提供服务
      表示层 数据格式化、数据加密
      会话层 建立、管理和维护会话
      传输层 建立、管理和维护端到端的链接
      网络层 IP选址及路由器的选择
      数据链路层 提供介质访问和链路管理
      物理层 物理层
    1.2 TCP/IP五层模型
    OSI参考模型 TCP/IP五层模型
    应用层 应用层
    传输层 四层的交换机、四层的路由器
    网络层 路由器、三层交换机
    数据链路层 网桥、以太网交换机、网卡
    物理层 中继器、集线器、双绞线

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

    三次握手过程

    第一次握手:建立连接时,客户端发送syn包(syn=x)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;

    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

    完成三次握手,客户端与服务器开始传送数据。

    四次挥手过程

    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连接的时间要比客户端早一些。

    3、描述TCP和UDP区别

    • UDP,在传送数据前不需要先建立连接,远地的主机在收到UDP报文后也不需要给出任何确认。虽然UDP不提供可靠交付,但是正是因为这样,省去和很多的开销,使得它的速度比较快,比如一些对实时性要求较高的服务,就常常使用的是UDP。对应的应用层的协议主要有 DNS,TFTP,DHCP,SNMP,NFS 等。
    • TCP,提供面向连接的服务,在传送数据之前必须先建立连接,数据传送完成后要释放连接。因此TCP是一种可靠的的运输服务,但是正因为这样,不可避免的增加了许多的开销,比如确认,流量控制等。对应的应用层的协议主要有 SMTP,TELNET,HTTP,FTP 等。
    TCP UDP
    链接类型 TCP确认是否已连接在传输数据 UDP直接发送数据,不检查链接
    序列 TCP有序列编号
    主要用途 文件分享,下载 UDP聊天,视频
    效率 较低 更高
    可靠性 较高 较低

    相关文章

      网友评论

          本文标题:osi七层模型和TCP/IP五层模型

          本文链接:https://www.haomeiwen.com/subject/mumzaktx.html