计算机网络(五)传输层

传输层两个协议应用场景

TCP:分段编码   流量控制   建立会话 netstat    -n

UDP:一个数据包就能完成数据通信,不建立会话,  多播

传输层与应用层的关系

应用层协议  = 传输层协议+端口
http = TCP+80
https = TCP +443
FTP=TCP +21
SMTP = tcp+25
POP3=TCP+110
RDP=TCP+3389
共享文件夹=TCP+445
SQL=TCP+1433
DNS=UCP+53 OR TCP+53

应用层与服务之间的关系

服务运行后在TCP或UDP的某个端口侦听客户端请求

 

IPSec严格控制网络流量:

TCP与UDP:

两个对等运输尸体在通信时传送的数据单元叫做传输协议数据单元;

TCP传送的协议数据单元是TCP报文段。

UDP传送的协议数据单元是UDP报文或用户数据段。

TCP连接:

每一条TCP连接有两个端点(套接字)。TCP连接的端点不是主机,不是主机的IP地址,不是应用程序,也不是传输层的端口。TCP连接的端点叫做套接字。

端口号拼接到IP地址即构成了套接字(socket)。

 

基于确认重传机制,实现不可靠的传输网络上实现可靠的通信。这种可靠协议常称为自动重传请求ARQ;表明重传请求是自动进行的。接受方不需要请求发送方重传某个出错的地方。

 

信道利用率:

停止等待协议的优点是简单,但是缺点是信道利用率低。

TD : 发送数据包的时间    RTT:数据包在信道上的往返时间 TA:接受数据包的时间

 

 

 

如何

如何提高信道利用率?

提高TD——流水线传输

发送方连续发送多个分组,不必每发送完一个分组就停顿下来等待对方确认。由于新岛上一直有数据不间断的传送,这种方式可获得很高的信道利用率。

 

 

滑动窗口的累计确认:

接收方一般采用累计确认的方式,优点是容易实现,信道利用率高;缺点是不能向发送方反映出接收方已经正确收到所有分组的信息。

 

序号:是数据包的第一个字节是整个文件的第几个字节的序号

确认号:接收端在收到数据包之后(例如,接收到数据包1234),告诉发送端继续发送以多少开头的数据包(继续发送以5开头的数据包)

数据偏移:记录TCP报文段从那个位置开始是数据。(占4位,0~15)但是数据偏移里面的1代表4个字节,一共可以表示60个字节;所以这里的选项部分最多40个字节!!!

 

模拟TCP请求的过程:

 

URG:表示优先传输,比如在传输文件的过程中的终止命令数据包

ACK:0表示确认号无效(当发送端第一次发送数据包时),1代表确认号有效

SYN:1代表建立会话的请求

PSH:1代表该数据优先放入接收端的TCP缓冲队列的队首;

RST:1代表TCP连接出现严重错误,需要重新建立连接

FIN:数据通讯结束的时候,释放链接前发送。

 

窗口:占2字节;窗口最大为2^16=65535个字节;窗口即下图中的接收缓存和发送缓存大小;需要接收端与发送端相互协商确定。

检验和

紧急指针:如果是77,即表示数据部分第77个字节是需要紧急处理的字节。

TCP滑动窗口技术实现可靠传输

1.以字节为单元的滑动窗口技术;

A的发送窗口由B的接收窗口决定的

 

 

拥塞控制的一般原理:

出现资源拥塞的条件:对资源需求的总和>可用资源

拥塞控制是一个全局性过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。

流量控制:指的是在给定的发送端和接收端之间的点对点通信量的控制,它所要做的就是抑制发送端发送数据的速率,以便于接收端来得及接收。

慢开始和拥塞避免

发送方维持窗口(cwnd)

发送方控制拥塞控制窗口的原则

只要网络没有出现拥塞,拥塞窗口就再增大一些,以便于把更多的分组发送出去。

只要网络出现拥塞,拥塞窗口就小一些,以减少注入到网络中的分组数。

 

 

注意:(1)第二次的慢开始门限的值根据第一次丢包的拥塞窗口值来确定,即丢包的时候窗口为24,则新的满慢开始门限为12;当窗口的大小大于慢开始门限时,加1增长;当窗口小于慢开始门限则指数增长;

(2)拥塞避免:并非完全能够避免拥塞。利用以上的措施要完全避免网络拥塞还是不可能的。

拥塞避免,是说在拥塞避免阶段把拥塞窗口控制为线性规律增长,使网络不容易出现拥塞。

快重传和快恢复

快重传算法首先要求接收方每收到一个失序的报文段就立即发出重复确认(并非累计确认)。这样可以让发送方及早知道有报文段没有到达接收方。当发送端接收连续三个重复的确认的时候,就执行乘法减小算法,把慢开始门限(ssthresh)减半,但是拥塞窗口cwnd现在不设置为1,而是设置为慢开始门限ssthresh减半后的数值,然后开始执行拥塞避免算法(加法增大),使拥塞窗口缓慢地线性增大。

 

如上图所示:A发送数据给B,传统的滑动窗口和重传机制是:A发送5个数据包之后,B发送确认信息,指明发送第六个;第二次再发送从6开始到10结束的数据包;如果这中间发生错误,例如3的数据包丢失了,当B接收到4之后发现错误,但是默认是5个数据包确认一次,只有等接收到第5个数据包后,才会确认,告诉A第3个数据包丢失。

但是基于快重传的算法:则是当收到4数据包,就立即发送三个确认,告诉A数据包3已经丢失;

发送窗口的实际上限值:

发送方发送窗口的上限值应当取为接收方窗口和拥塞控制这两个变量较小的一个,即应按照以下公式确定:

rwnd :接收端的接受窗口大小  cwnd:发送端拥塞窗口

发送窗口的上限值=Min[rwnd,cwnd]

 

TCP的传输连接管理

传输连接有三个阶段:建立连接、数据传输、连接释放

TCP连接的建立都是采用客户服务器方式

主动发起连接建立的应用进程叫做客户。被动等待连接建立的应用进程叫做服务器。

为什么要进行第三次握手:

---------------------

先假设主机A不用发送确认,那么当互联网中出现丢包现象,主机A发送的连接请求经过很长时间才到达主机B,这个时候主机A已经和主机B由于超时重新连接已经通信过了。但是仍然收到一个连接请求。主机A由于已通信过了,所以不理睬B的确认信号,这个时候主机B将建立连接并长时间白白浪费端口和资源。主机B如果是服务器的话,那么其他客户端根本就没有可以连接的机会了,这是一种灾难。
--------------------- 
作者:swffsdgasdg 
来源:CSDN 
原文:https://blog.csdn.net/u013011841/article/details/38519971 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

TCP连接释放:

 

 

MSL:最大报文存活时间;time_wait是避免最后一次挥手的信号没有发送到B时,可以进行重发。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值