传输层协议

传输层概述

        数据链路层和网络层中,分别通过MAC地址和IP地址识别不同的节点

                MAC地址:用于识别同一链路中不同的主机

                IP地址:用于识别网络中互连的主机和路由器

        传输层中,则通过端口号识别同一主机中的不同同应用程序

                端口号也被称为程序地址

        网络层协议只提供点到点的连接,而传输层协议则提供端到端的服务

传输层的协议

  • TCP(Transmission Control Protocol)        
    • 传输控制协议
    • 可靠的,面向连接的协议
    • 传输效率低
  • UDP(User Datagram Protocol)
    • 用户数据报协议
    • 不可靠的,无法连接的服务
    • 传输效率高
  • TCP工作原理即特点
    • 工作原理
      • TCP数据段采取编号的方式保证数据的正确顺序
      • TCP的接收端必须有丢弃重复数据的功能
      • TCP提供流量控制功能
    • 特点
      • 面向连接
        • 应用程序自使用TCP协议之前,必须先建立TCP连接
        • 完成数据传送后,必须释放已建立的TCP连接
      • 仅支持单播传输
        • TCP传输连接只能有两个端点(一对一),只能进行点对点的数据传输
        • 不考虑中间网段和节点,不支持多播和广播传输方式
      • 高可靠性
        • 能够确保传输数据的正确性,不会出现丢失或乱序等情况
      • 全双工通信
        • TCP允许通信双方的程序进程在任何时候都能发送数据
        • TCP连接的两端都设有缓存和接收缓存,用于临时存放双向通信的数据
      • 面向字节流
        • 采用字节流方式进行数据传输
    • 首部格式
      • URG:紧急指针有效位。它和紧急指针配合使用,当 URG=1 时,TCP 根据紧急指针确定紧急数据的最后一个字节的位置。这样接收端就可以优先准确快速地获取紧急数据,确保紧急数据的即时到达。 
      • ACK(确认位):只有当 ACK=1 时,确认序列号字段才有效;当 ACK=0 时,确认号字段无效。 
      • PSH:标志位为 时,要求接收端尽快将数据段送达应用层,标志位是为了加快特殊数据的处理速度。 
      • RST:当 RST 值为 时,通知重新建立 TCP 连接。 
      • SYN:同步序列号位。TCP 需要建立连接时,将这个值设为 1。 
      • FIN:发送端完成发送任务位。当 TCP 完成数据传输需要断开连接时,提出断开连接的一方将该值设为 1

 TCP连接(三次握手,四次挥手/四次断开)

第 1 次握手 

客户端通过将一个含有“同步序列号(SYN)”标志位的数据段发送给服务器而开始请求连接。通过该数据段,客户端告知服务器两点:客户端希望建立连接请求,服务器应答;客户端告诉服务器使用哪个序列号作为数据传输时数据段的起始号

第 2 次握手 

服务器用一个带有确认应答(ACK)同步序列号(SYN)标志位的数据段响应客户端。它也有两个目的:发送 ACK 通知客户端收到了数据段;通知 A 从哪个序列号开始给数据段做标记

第 3 次握手 

客户端再次发送一个数据段,确认收到了服务器的数据段,并可以开始传送实际数据。 

这样 3 次握手就全部完成了,数据将开始传输

四次挥手

        

UDP工作原理及特点

  • UDP是一个简单的面向数据包的传输层协议
    • 进程的每个输出操作都恰好产生一个UDP数据段,并组装成一份待发送的IP数据包
    • UDP并提供可靠性
    • UDP把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地
    • 在小数据文件的传输UDP发挥了重要的作用
    • 提高效率付出的代价就是数据传输的可靠性得不到保障        
  • 特点
    • 无连接
      • 进行数据传输之前不需要先建立连接,也没有各种重传机制、拥塞控制和流量控制,所以传输速度很快,消耗很低,延迟小,数据传输效率高
    • 支持单播、多播、广播
      • UDP不仅支持一对一的传输方式,同样还支持一对一,多对多,多对一的传输方式,换言之,UDP提供了单播,多播,广播的功能
    • 不可靠
      • 只负责数据的发送、不关心数据是否送达,没有确认机制,主机收到数据也不会有响应
    • 面向报文
      • TCP是面向字节传输,而UDP则是面向报文传输,对于应用层交下来的报文段不进行拆分合并,直接保留原有报文段的边界然后添加UDP的首部就交付给网络层
    • 无拥塞控制
      • UDP没有拥塞控制机制,网络出现的拥塞不会使源主机的发送速率降低

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值