一.运输层的作用
运输层:负责将数据统一的交给网络层
实质:进程在通信
TCP(有反馈)UDP(无反馈)
二.复用和分用
三. TCP和UDP的特点和区别
进程号--不是固定的 端口号固定--mysql--3306
端口--通信的终点
四.端口
五.用户数据报协议UDP
UDP面向无连接 UDP在应用层给我们的首部加上一些信息,直接发送给网络层
对于tcp,将数据先放到缓存里,然后进行分段,最后进行发送(此过程是有时延的)
一次交付完整的报文,而不会像tcp一样进行分段
首部开销小,减少数据传输的大小。
直接交付给ip层(网络层),UDP并不会做什么分割(既不合并,也不拆分,保留这些报文的边界)。整个过程非常快
网络层会进行分片 网络层会加上ip首部
其中,伪首部的作用就是用来做检验的
伪首部会包含源ip地址,目的ip地址,UDP的地址和UDP的长度
对于UDP首部,包含伪首部,源端口,目的端口,长度和检验和
UDP和数据再统一发送给网络层
对于伪首部和检验和是做什么的呢?
伪首部就是对UDP做两次检查
端系统是智能的,也需要对ip数据报进行检验:UDP传输是不可靠的,但是对于接收而言,需要保证数据是接收正确的
六.传输控制协议TCP
TCP是一对一的
TCP要对数据进行分段,数据本身就是字节
七.TCP面向字节流的连接
发送方发送的需要多少个字节是由接收方进行决定的,但是又不是完全由接收方决定的,也要按照实际情况来进行决定。
用套接字来形容端点(数据标识某一个连接)
两个端点,用来标识一个连接
ip地址和端口号组成一个套接字