网络基础——传输层

传输层:(解决如何传输,协议都不可变)

      五元组织:源IP、源端口号、目的IP、目的端口号、协议号

  • 端口号:(标识一台主机)
    一个进程可以绑定多个端口号;
    一个端口号只能绑定一个进程;
  • UDP协议:(面向数据报,即无连接,易实现,但传输可靠性差)

                    
UDP报文:报头(源端口,目的端口)+ 16位UDP长度+16位UDP校验和;(解决有效载荷与报头分离)
基于UDP的应⽤用层协议:
NFS: 网络文件系统
TFTP: 简单文件传输协议
DHCP: 动态主机配置协议 (向路由申请IP)
BOOTP: 启动协议(⽤用于⽆无盘设备启动)
DNS: 域名解析协议

  • TCP协议:(标准长度为20,面向连接,具有可靠性)

       TCP面向连接:

           三次握手,四次挥手;
           
 

       连接过程中,主动断开连接的一方必须进入TIME_WAIT 状态(无法立即重启):
         
确保双方连接安全释放;
         减少网络延迟报文双向消散;

       等待时间:小于等于2*MSL;(MSL 最大单向报文发送时间)   
          

        TCP保证可靠性:
         1、确认应答机制:
               最新报文永远没有应答;
               能够收到最后一条应答,就能保证最后一次应答之前的所有报文的可靠性都可以保证

         2、数据按序到达:(32位序列)保证报文按序到达;
         3、超时重传+去重机制:引入32位序列及32位确认序列,保证所有报文全部到达,若缺少就重传,序号多出就去重;
         4、流量控制:16位窗口大小(自己接收缓冲区剩余的大小)
                过慢,影响性能;过快,导致丢包。

       TCP提高性能效率:
          1、滑动窗口:自己发送程序的发送缓冲区;
                窗口之前:已发送数据并得到应答;窗口之内:可以同时发送的数据;窗口之后:待发送区域;
          2、快重传:在收到3个以上的ACK信息时,重发后ACK确认最后一个;
          3、延迟应答;
          4、捎带应答;
          5、拥塞控制:(引入慢启动:按指数增长)
                网络拥塞:大量数据拥塞在网络中,导致主机发送的数据源大量丢包;(解决的问题)
                慢启动阈值:超过阈值之前指数增长,超过阈值之后线性增长;经过一次拥塞之后,慢启动阈值变为前一次拥塞值的一                                         半。
                

            TCP异常:
                 
进程异常关闭,操作系统底层可以正常四次挥手断开连接;
                 断电情况:关闭之前会先关闭进程,因而正常四次挥手断开连接;
                 断网情况:TCP内置有保活定时器,会定时询问对方是否还在,若不在四次挥手断开连接;

            解决粘包问题:(明确报文与有效值载荷之间的边界)
               
使用UDP协议,本身有明确的边界,不存在粘包问题;
                合理使用特殊符号作为间隔符,如HTTP协议中的空格;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值