传输层协议TCP&UDP

传输层定义了主机应用程序之间端到端的连通性。

端口---port[逻辑端口]

基于应用级别的互访,就是端口到端口的互访

传输层中最为常见的连 个协议分为:

传输控制协议TCP(Transmission Control Protocol):面向连接的协议

用户数据包协议UDP(User Datagram Protocol):面向无连接的协议

传输层----0-65535【端口范围】

0----->1023 端口:知名端口,提前保留出来的端口

TCP协议:FTP[20/21],SSH[22],Telent[23],HTTP[80],HTTPS[443]

UDP协议:DNS[53],DHCP[67/68]

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

连接:正式发送数据之前,提前建立好一种虚拟的“点到点”式的连接---单播的模式

TCP--1.只能适用于单播通信

          2.可以基于建立好的连接,灵活的对接下来的数据传递 进行控制

          3.无法很好的满足即时性的业务要求,传递一些文件,稳定性支持性很好

          4.自带分片功能,能够感知上层数据大小,网络层不做分片

IP HeaderTCP HeaderData
Source PortDestination Port
Sequence Number(序列号)
Acknowledge Number
Header length [URG ACK PSH RST SYN FIN]Window
ChecksumUrgent Pointer
OptionsPadding

UDP--1.保证数据进行传输,无法对传递的数据进行控制,如果相对数据做控制,此时借用应用层实现

         2.可以很好的满足即时性的要求,对时间要求比较高

         3.对于上层传递的数据‘全盘接收’[没有分片机制],在网络层进行分片

使用UDP传输数据时,由应用程序根据需要提供报文到达确认、排序、流量控制等功能

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

TCP建立连接的过程:(连接建立完毕之前,不会传递数据)

三次握手,四次挥手

1. 主机-->服务器 Send SYN(seq=a,SYN)

--SYN置为1

2.服务器-->主机 Send SYN,ACK(seq=b,ack=a+1,SYN,ACK)

--通过确认号ACK,确认已收到对方传来的报文

--通过SYN,与对方建立连接

--再次发送报文从a+1开始发

3.主机-->服务器Send ACK(seq=a+1,ack=b+1,ACK)

----seq=a+1,已经收到服务器发的数据

----再次发送报文从b+1开始发

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

TCP关闭连接:

1.主机-->服务器 FIN,ACK(seq=a,ack=b)--FIN置为1

2.服务器-->主机ACK(seq=b,ack=a+1)

3.服务器-->主机 FIN , ACK(seq=b,ack=a+1)

4.主机-->服务器 ACK(seq=a+1,ack=b+1)

主机在关闭连接之前,要确认收到来自对方的ACK

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

确认机制

1.三次握手中,小ack=对方seq+1

2.数据传输时,小ack=对方所传递的数据的最大值+1

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

TCP流量控制

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值