运输层

简言之就是提供应用进程间的逻辑通信。这里要提到复用和分用的概念。
复用就是应用层所用进程都可以通过运输层传到IP层。分用是运输层从IP层收到的数据交给指明的进程。
下面在讲端口号,端口号相当于运输层的IP地址,端口即应用层和各种协议进程与运输实体进行层间交互的一种地址。TCP和UDP是不同的端口

UDP有一下几个特点
1、面向无连接 2、UDP使用进最大努力交付 3、UDP是面向报文的 4、UDP没有拥塞控制 5、UDP支持一对一、一对多、多对一、多对多的交互通信。6、UDP的首部开销小
所以他与TCP的主要区别就是传输速度快,但是UDP的传输是不可靠的


UDP的首部地址

在这里上图一张 UDP的头部真是太简单了 这里就不多介绍了。


TCP特点
1、TCP是面向连接的运输层协议 2、每一条TCP连接只能由两个端点 3、TCP提供可靠交付的服务 4、TCP提供全双工通信 5、TCP面向字节流
保证可靠传输
1、三次握手时,确认丢失、确认迟到接收端都不要。

下面是TCP报文格式


1.源端口和目的端口 各占两个字节。即0到65535
2.序号  占四个字节,他标明了TCP传输的每一个字节,范围为0到2的32次幂减一,到头重新从0计算。
3.确认号 占四个字节,这个地方要强调是期望收到对方下一个报文段的第一个数据字节的序号
4.数据偏移 占四位,他是指出TCP报文段的数据起始处距离TCP报文报文段的起始处有多远,这个字段实际上是指出TCP报文段的首部长度。
5.保留 占六位,目前置为0,留作以后使用
下面是TCP的重要字段
6.紧急URG 当URG=1是,表明紧急指针字段有效,这表示报文段中有紧急数据,应当尽快传送。也就是报文的优先级比较高。发送时,发送方TCP就把紧急数据插入到本报文数据的最前面。
7.确认ACK 仅当ACK=1是 确认好字段才有效,建立连接后,所有报文段都必须把ACK置1。
8.推送PSH 一般在交互性通信的时候,一端键入命令时,一般把PSH置1.此时就立即创建一个报文段然后发送出去,接收方收到PSH=1的报文段,就立即向应用层传输,而不等缓存都填满就向上交付
9.复位RST 一般用在TCP连接出现差错的时候。把RST置1拒绝一个非法的报文段或拒绝打开一个连接。
10.同步SYN SYN置为1就表示这是一个连接请求或连接接受请求的报文。一般用在三次握手的前两次
11.终止FIN 用来释放连接,当FIN=1时,表明此报文要求释放连接,一般用于四次挥手的一、三次
12.窗口 占两个字节,就是接收窗口的大小
13.检验和 两个字节 同UDP,但协议号不同为6
14.紧急指针 占两个字节 就是指出本报文段中紧急数据的字节数
15.选项
发送窗口
滑动窗口以字节为单位,主要操作就是利用三个指针P1、P2、P3
小于P1的是已发送并已收到确认的部分,而大一P3的是不允许发送的部分
P3 - P1 = A的发送窗口(又称为通知窗口)
P2 - P1 = 已发送但尚未收到确认的字节数
P3 - P2 = 依序发送但尚未发送的字节数
拥塞控制 记住一下四点,慢开始、拥塞避免、快重传、快恢复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值