本文共 2848 字,大约阅读时间需要 9 分钟。
1) DNS域名解析协议:
解析域名对应的相关IP地址。维护了一个名字的高速缓存,存放最近解析过的名字的相关记录,可以大大的减少根域名服务器的负荷。为了保证高速缓存中的内容正确,应该设立一个计时器,设定超过合理时间的处理。
2)FTP文件传输协议:
端口21为服务器端口,端口20为客户端的自己的传输端口。
3)HTTP超文本传输协议:
基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据。是明文传输。常用的端口号是80。 常见的状态码:200请求成功,400请求有语法错误,404资源不存在,500服务器错误,401未授权等
4)HTTPS协议:
是HTTP协议增强版;在HTTP协议的的基础上增加了SSL加密传输协议。常用的端口号是443。SSL协议可以分为两层,一层是建立在TCP可靠传输上的SSL记录协议,主要负责加密,压缩等。另一层则是建立在SSL记录协议上的SSL握手协议,主要用于数据传输之前通讯双方的校验,包括身份认证,协商密钥等。
由于主机可以同时运行多个进程,因此运输层有复用和分用功能。
复用:多个应用层可以同时使用本层运输层的服务。
分用:把收到的信息分别交给上一层应用层对应的进程。
三次握手:
三次握手主要流程: 第一步、客户端请求建立链接,发送SYN包表示请求建立链接,并传递自己的序列号。 第二步、服务器接收到SYN请求进行响应,也回应了SYN表示请求建立链接,同时发送ACK=1表示确认收到了请求表示准备就绪,ack=x+1表示的是已经接收到上一次传递过来的数据。 第三步、客户端接收到响应之后,也进行了回应,表示自己也准备就绪,这样一来链接建立完成,可以开始传输数据了。
四次挥手主要流程:
第一步、 客户端发送FIN=1表示请求断开链接,同时发送自己的序列号。此时主动关闭TCP链接,停止传送数据。 第二步、 服务端收到断开链接的请求,此时会发送一个ACK=1的讯号表示自己已经接收到了请求断开的请求,并发送自己的序列号v。此时A->B的链接通道已经关闭了,TCP链接处于半关闭状态。这个时候B(服务器)发数据,A还得接收。告诉A我准备关闭了,在这之前我得先处理一些手尾。 第三步、 服务器发送FIN=1表示手尾已经处理完了,已经关闭了链接,此时服务器被动关闭。这个时候服务器进入最后的确认阶段。 第四步、 客户端接收到了服务器已经关闭了的请求后,发送了相关确认信息给服务器,服务器接收到最后一次的确认后,进入了完完全全的关闭状态,不再接收任何来自A的信息了,并且不会发送信息给A了。这个时候A进入了一个2MSL的等待时间,因为传输的过程中可能存在丢失,导致A发送的确认收到服务器端的关闭信息服务器并没能及时接收,如果发生这种情况,服务器会进行超时重传。这一步的目的就是为了保证服务器并没有进行超时重传。当经过了一整子的等待之后,如果没收到服务器的回应,则关闭连接。四次挥手到此结束。
停止等待策略:
即每次发送一个分组,就停止发送,等待对方确认,对方确认之后再继续发送。但是如果在传输的过程中出现了差错,就有可能导致造成互相等待的现象。解决方案是ARQ超时重传
超时重传策略:
每发送一个组,就设定一个超时计时器,规定时间内如果收到相应的确认,就撤销该计时器。如果没收到确认,就重发。因此,在发送完一个分组后,必须暂时保留已发送的分组的副本,以备重发。如图所示:
流量控制–滑动窗口:
1、定义: 让发送方不要发送的太快,给接收方足够的时间来得及接收,避免不发生网络拥塞。 2、发送窗口与接收窗口: 发送方维持的一个窗口叫发送窗口,允许在没有接收到服务端的确认号下能发送的最大数量的组。告知发送方自己能一次性接收多少组的窗口为接收窗口。具体的流程如下所示: 3、流量控制具体流程:
拥塞控制(重点)–基于拥塞窗口(cwnd)的控制方法:
1、出现拥塞的原因: 请求的资源数大于可以提供的资源数。塞车就是一个很好的例子,道路资源就这么多,路上的车的数量很多,每一个都想尽快的使用车道去做自己的事情,就很有可能发生交通事故或者阻塞的现象,计算机网络也是如此。 2、与流量控制的区别: 流量控制更倾向于点对点的控制,主要针对的是用户进程之间。而拥塞控制更倾向于全局的控制,防止过多的数据注入到网络中,使网络中的路由器或链路不致过载。 3、拥塞控制采用的方法: 拥塞窗口并不是一个固定的窗口大小,它是动态的随时随刻变化的。属于的是基于反馈的闭环控制方法,而不是一开始就事先面面俱到的开环控制方法。 4、拥塞控制算法: 慢开始算法: 在不超过慢开始门限(ssth默认初始值为16)的基础上,每经过一个传输轮次,就翻倍增长发送窗口。如图所示: 关于慢开始门限ssth,有: 当 cwnd < ssthresh 时,使用慢开始算法。 当 cwnd > ssthresh 时,停止使用慢开始算法而改用拥塞避免算法。 当 cwnd = ssthresh 时,既可使用慢开始算法,也可使用拥塞避免算法。 拥塞避免算法: 加法线性增大,每经过一个传输轮次,发送窗口就增加1;值得注意的是,无论是在慢开始阶段还是拥塞避免阶段,只要发送方判断出现了网络阻塞(重传计时器超时),迅速的将ssth慢开始门限设置为Max(cwnd/2,2),同时将拥塞窗口重新设置为1。如下图所示: 快重传: 当出现发送方连续收到了3个对同一报文段的重复确认。发送方改为快重传和快恢复算法。 快重传的目的是在于更早的重传丢失的报文,而不是等到超时计时器。这样就不会让发送方以为发生了网络阻塞的现象。提高了系统的吞吐率。 快恢复: 由于此时进行了快重传,发送方认为网络此时此刻只是个别报文丢失而已,没有发生阻塞,这个时候就没必要执行慢开始算法,而是执行快恢复算法。 此时。慢开始门限 ssth = 当前拥塞窗口 cwnd / 2 ;新拥塞窗口 cwnd = 慢开始门限 ssthresh;然后执行拥塞避免算法。
TCP传输控制协议(重点):
1、一种有链接协议。传输之前需要建立通信。是可靠的传输服务。 2、套接字socket:IP+端口号; 3、可靠的原理:三次握手、四次挥手、停止等待、ARQ超时重传、拥塞控制。
UDP用户数据报协议:
一种无连接协议,传输数据之前不需要建立链接。尽最大努力交付。
为分组交换网上的不同主机提供通信服务。
两个相邻结点传输数据时,将网络层交下来的数据报封装成帧
所传数据单位是比特:透明传输比特流
转载地址:http://kcqof.baihongyu.com/