计算机网络——运输层
来源:互联网 发布:薪酬数据分析哪些内容 编辑:程序博客网 时间:2024/05/22 00:30
计算机网络——运输层
一、概述:
运输层的作用主要是负责向上面的应用层提供通信服务,我们知道下三层的通信只是负责将IP数据报送到目的主机,但是具体的通信是怎样实现的未知,实际上就是运输层来完成,其是通过两台主机的应用进程互相通信,所以对象是主机的进程。
网络层与运输层区别:网络层是负责主机之间的逻辑通信,但是运输层主要负责的是应用进程之间的端到端的逻辑通信。
二、主要协议:
【1】运输层的端口(两种端口号):
又称为协议端口号(16位即65536个端口号),运输层的端口是用来标识进程的,计算机中进程很多,通信时需要用一个标识符来确定那个进程通信,端口号就是这个作用。与硬件端口不同的是,软件端口是应用层的各种协议进程与运输层进行层间交互的一种地址。
1)、服务器端使用的端口号:
1、熟知端口号,数值一般为0~1023。如FTP、DNS等这些协议。
2、登记端口号,数值一般是1024~49151,为不熟知的端口号应用进程使用,使用前需登记。
2)、客户端使用的端口号:
【2】用户数据报协议UDP
UDP 是一种无连接的,不可靠的并且缺乏流量控制和差错控制的协议。它使用端口号对来自应用层的数据实现多路复用
1)、特性
1、无连接,即发送数据之前是不需要简历连接的
2、尽最大努力交付,即不可靠的传输,可能会有所丢失
3、面向报文,这里要理解一下UDP的首部结构,因为首部结构只有8个字节,也就是说UDP只负责进行对应用层的数据进行首部装载或者拆卸,不进行其他操作。
4、没用拥塞控制,为了保证速度,如视频电话,即使丢失一些数据也没关系,但是必须保证速率,所以不进行拥塞控制。
5、支持一对多,一对一,多对一,多对多。
6、首部开销比起TCP来说(20字节)很小。
2)、首部格式
用户数据报 UDP有两个字段:数据字段和首部字段。首部字段有8个字节,由4个字段组成,每个字段都是两个字节。
在计算检验和时,临时把“伪首部”和 UDP用户数据报连接在一起。伪首部仅仅是为了计算检验和。
伪首部只是做一个计算检验和的作用而已,不向上想下传递,校检和的计算与它是否包含在用户数据报中是可选择的.。
【3】传输控制协议TCP
1)、特性
1、TCP 是面向连接的运输层协议。
2、每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是点对点的(一对一)。
3、TCP 提供可靠交付的服务。
4、TCP 提供全双工通信。
5、面向字节流。
6、发送方的发送速度不得超过接收方的处理速度。
2)、TCP的连接(套接字)
每一条TCP的连接有两个端点,TCP连接的断点叫做套接字(socket),socket的格式:(IP地址:端口号)
TCP的连接::={socket1,socket2}={(IP1:port1),{IP2:port2}}
【4】可靠传输的工作原理
1)、停止等待协议
1】、无差错情况
2】、出现差错
当出现差错时,有两种情况,第一种是B发现差错但是直接丢弃,另一种是B收不到,无论那种情况之下,A都收不到确认,因此会有一个超时重传的情况,设置一个超时计时器,如果在时间到之前收到确认则取消计时,否则就重发一次,这也就要求有几个点要注意,
一、必须保留副本,二、对分组和确认分组进行编号,才能明确对应关系,三、重发的数据倒计时会长一点。
3】、确认丢失和确认迟到(自动重传请求ARQ)
确认丢失:当A计时器到之后就要重传,B收到数据,B可能是直接丢弃或者向A发送确认,
确认迟到:就是传输有延迟,到时超时重发后,B会收到两次一样的数据,然后B会发送两次确认,这就是确认迟到。
也正是利用这个方式来保证不可靠的网络实现可靠的通信。
4】、信道利用率
2)、连续ARQ协议
(Go—back—N)简单来说就是一个连续的发送几个数据,然后一个个确认收到,但是这里有个坏处就是可能需要不断重传,但传输5个数据,但是只收到前两个的确认,那么就需要不断的重传后面三个数据直到按序到达。
另一种方法就是选择重发ARQ,意思就是在发现出错后,未收到的等待重发,而已经接收的则缓存下来,等待拼接。
【5】滑动窗口机制
1.TCP使用窗口机制进行流量控制
2.什么是窗口? 连接建立时,各端分配一块缓冲区用来存储接收的数据,并将缓冲区的尺寸发送给另一端。接收方发送的确认信息中包含了自己剩余的缓冲区尺寸。剩余缓冲区空间的数量叫做窗口
【6】TCP连接(三次握手)
【7】tcp释放
A把连接释放报文段首部的 FIN = 1,其序号seq = u,等待 B 的确认。
- 计算机网络—运输层
- 计算机网络——运输层
- 计算机网络——运输层
- 计算机网络——运输层
- 计算机网络——运输层
- 计算机网络基础——运输层
- 计算机网络——运输层TCP/UDP
- 计算机网络—运输层—UDP
- 计算机网络运输层
- 《计算机网络 3》 运输层
- 《计算机网络》之运输层
- 《计算机网络 3》 运输层
- 计算机网络之运输层
- 计算机网络 3.运输层
- 计算机网络笔记---运输层
- 计算机网络运输层
- 计算机网络 - 运输层
- 计算机网络之运输层
- [Leetcode] 237. Delete Node in a Linked List 解题报告
- 单片机及汇编实例
- 在后台JAVA代码中执行打乱集合顺序的方法
- 解决Jquery冲突的问题
- 数字电视原理
- 计算机网络——运输层
- Oracle的tnsnames.ora配置(PLSQL Developer)
- mapreduce,自定义排序,分区,分组实现按照年份升序排序,温度降序排序
- Wifi连接热点会连接上以保存的网络
- 税收与补贴问题——数论
- lenet-5,Alexnet详解以及tensorflow代码实现
- 图书管理系统(增删改查带分页,上传)
- 利用monkey进行app的乱点测试
- 一个开始