网络传输过程

网络传输过程

准备

准备 服务器先启动,服务器上的程序,是一个进程,生成此进程的套接字。
应用层

  1. 客户端发出请求,如:在网页中输入URL,发送请求,此时浏览器发出的请求中有 请求消息request (resquest格式包括请求行,
    请求头部、空行、请求体。)生成已个套接字,此时客户端程序(浏览器)在操作系统上是一个进程,屏蔽网络层,链路层、物理层,可2以看做客户度端程序与服务器程序直接通 过套接字沟通。
  2. 数据从应用层经套接字到达运输层。运输层主要负责数据的传输。运输层有两个协议,udp和tcp。
    1. 运输层提供的服务最低有两种;
      1. 将主机之间的数据交付整理为进程之间的数据交付,称多路复用或者多路分解。
      2. 将运输层首部报文段差错检查字段进行完整性检查。
    2. tcp还可以解决以下问题;
      1. 丢包问题:
        解决:重传,直到收到接收方发来的确认码(ACK),才发第二个包。否则,在一定时间内,重发包。称停止等待协议。
      2. 效率问题;上述停止等待协议太浪费时间,采用流水线方式,就是一次发多个包,同时接收多个确认包。
      3. 顺序问题:采用流水线问题,会有顺序问题,有可能,后发的包比先发的包先到。解决方案,给发送包加序号,给确认包(ACK)也加序号。值的注意的是,比如
        确认的顺序号是3,表示3以前的包都收到了,请发顺序为3的包。
      4. 流量问题:由于接受端的接受能力有限,如果发送方发送速度超过b接受方的接受能力,会发生拥塞。解决;接受方在接收到数据后,会向发送方,发送一个
        表示接收能力的数据,这个数据称为窗口,告诉发送方按照窗口大小,发送包。发送方就按照窗口大小发送包,接收到接收方的确认号,窗口就想后滑动以一格。
        这样也解决了流水线方式无节制的发送包。
      5. 拥塞:网络原因造成,同样采取设置窗口大小解决。窗口大小,由网络告知。
      6. 连接;接收方的进程还没准备好,发送方就开始发送,造成浪费,采用要连接时采用,3次握手,要结束连接时,4次挥手解决。

网络层(ip层)解决的是两个主机之间的数据交流,不可靠连接。

运输层将数据经套接字交付给进程,或运输层从套接字接收数据,生成报文,交给网络层。称多路复用,反之,称多路分解。

套接字:为了区分不同进程间的网络通讯和连接。主要有3个参数,ip地址,传输层协议(tcp或udp)和端口号。最重要的是端口号。端口号连接了应用层和传输层。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值