路由交换学习笔记04--TCP/UDP
2018-03-04 23:41
162 查看
一、
传输层协议:定义了主机应用程序之间端到端的连通性
Host—to—host,port—to—port
tcp传输控制协议,udp用户数据包协议
协助数据的发送
端口号16bit,0—65535(知名应用程序知名端口1—1023,非知名应用程序非知名端口:1024—65535随机)
单应用对应单端口——单信道
单应用对应多端口——多信道(ftp:20(控制端口)/21(传输端口,有时随机))
HTTP——80
telnet——23(密文)
ssh——22(密文,也可附加ipsec)
pop3——110
smtp——25
1、面向连接的传输层协议
tcp传输控制协议
三次握手和四次挥手
Client 发TCP syn(seq=a,SYN) server
Client 收TCP SYN+ack同步(seq=b,ack=a+1) server
Client 发TCPack确认(seq=a+1,ack=b+1) server
————————(完全会话,完整会话)——————
Client 发流控Window传输字节 server
(滑动窗口TCP slow start,序列号字段sequence)
Client 收确认和下次传输的大小 server
四次挥手
Client发FIN,ACK(seq=a,ack=b) server
Client收ack(seq=b,ack=a+1) server
Client收fin,ack(seq=b,ack=a+1) server
Client发ack(seq=a+1,ack=b+1) server
防丢包acknowledgement确认号
1、source port 源端口号
2、destination port目端口号
3、sequence number 序列号
4、acknowledge number 确认号
5、header length包头长度
6、resv保留,全为0
7、多个控制位
a) Syn同部位
b) Ack确认为
c) Fin完结,完成传输使用
d) Rst重置,断开后重新连接
e) Psh
f) Urg紧急指针,多个会话的优先级设置
8、Window窗口
9、checksum校验和
10、 urgentpointer紧急指针结合urg位
11、 扩展报头和填充项
TCP面向连接协议的特性:
1、流量控制:协商速率:Window字段,一次性可以传送多少字节,每次发送后等对方回复确认和下次传送的速率,每次发送都需要协商速率,称为滑动窗口协商方法slow start:每次传送会是上次的2倍,超过预值后减半再增大,带宽一般使用70%--75%
2、防乱序:处理延迟、串行化延迟、传输延迟、队列延迟。不一致的延迟叫jitter抖动,sequence number序列号确定数据的位置,解决乱序
3、防丢包,acknowledge number确认号在返回的ack中,最大序列加1,丢包会把丢包的序列号发回去,后面的也全要重传
4、完整性检查,防数据被篡改:单纯的散列算法,checksum自身也能被篡改,校验和=4层报头+数据载荷
5、数据重传,
TCP是P2P应用,只支持单播应用的发送,不能支持组播和广播
三次完全建立叫完全会话,完整会话,建立可靠连接
Dos:denial of service
当只建立两次连接,不完成第三次确认——半开连接
半开连接会消耗服务器的cpu和内存,
多虚拟建立半开连接,DDos分布式dos,耗尽服务器资源,
称之为TCP SYN flooding attack攻击,防火墙可以防御
无连接协议UDP,支持组播和广播
Checksum不起作用,无重传机制媒体流量VoIP:Ethernet2|IPv4|rtp|VoIP|FCSRtp:real time transport protocol实时传输协议,提供一个序列号的字段,保证一个序列型(rtp报头12字节,加UDP报头就变为20字节)UDP不支持重传机制,占资源小,处理效率高,安全性高,带宽利用率高TCP可靠性高,支持重传,单应用不灵活
传输层协议:定义了主机应用程序之间端到端的连通性
Host—to—host,port—to—port
tcp传输控制协议,udp用户数据包协议
协助数据的发送
端口号16bit,0—65535(知名应用程序知名端口1—1023,非知名应用程序非知名端口:1024—65535随机)
单应用对应单端口——单信道
单应用对应多端口——多信道(ftp:20(控制端口)/21(传输端口,有时随机))
HTTP——80
telnet——23(密文)
ssh——22(密文,也可附加ipsec)
pop3——110
smtp——25
1、面向连接的传输层协议
tcp传输控制协议
三次握手和四次挥手
Client 发TCP syn(seq=a,SYN) server
Client 收TCP SYN+ack同步(seq=b,ack=a+1) server
Client 发TCPack确认(seq=a+1,ack=b+1) server
————————(完全会话,完整会话)——————
Client 发流控Window传输字节 server
(滑动窗口TCP slow start,序列号字段sequence)
Client 收确认和下次传输的大小 server
四次挥手
Client发FIN,ACK(seq=a,ack=b) server
Client收ack(seq=b,ack=a+1) server
Client收fin,ack(seq=b,ack=a+1) server
Client发ack(seq=a+1,ack=b+1) server
防丢包acknowledgement确认号
1、source port 源端口号
2、destination port目端口号
3、sequence number 序列号
4、acknowledge number 确认号
5、header length包头长度
6、resv保留,全为0
7、多个控制位
a) Syn同部位
b) Ack确认为
c) Fin完结,完成传输使用
d) Rst重置,断开后重新连接
e) Psh
f) Urg紧急指针,多个会话的优先级设置
8、Window窗口
9、checksum校验和
10、 urgentpointer紧急指针结合urg位
11、 扩展报头和填充项
TCP面向连接协议的特性:
1、流量控制:协商速率:Window字段,一次性可以传送多少字节,每次发送后等对方回复确认和下次传送的速率,每次发送都需要协商速率,称为滑动窗口协商方法slow start:每次传送会是上次的2倍,超过预值后减半再增大,带宽一般使用70%--75%
2、防乱序:处理延迟、串行化延迟、传输延迟、队列延迟。不一致的延迟叫jitter抖动,sequence number序列号确定数据的位置,解决乱序
3、防丢包,acknowledge number确认号在返回的ack中,最大序列加1,丢包会把丢包的序列号发回去,后面的也全要重传
4、完整性检查,防数据被篡改:单纯的散列算法,checksum自身也能被篡改,校验和=4层报头+数据载荷
5、数据重传,
TCP是P2P应用,只支持单播应用的发送,不能支持组播和广播
三次完全建立叫完全会话,完整会话,建立可靠连接
Dos:denial of service
当只建立两次连接,不完成第三次确认——半开连接
半开连接会消耗服务器的cpu和内存,
多虚拟建立半开连接,DDos分布式dos,耗尽服务器资源,
称之为TCP SYN flooding attack攻击,防火墙可以防御
无连接协议UDP,支持组播和广播
Checksum不起作用,无重传机制媒体流量VoIP:Ethernet2|IPv4|rtp|VoIP|FCSRtp:real time transport protocol实时传输协议,提供一个序列号的字段,保证一个序列型(rtp报头12字节,加UDP报头就变为20字节)UDP不支持重传机制,占资源小,处理效率高,安全性高,带宽利用率高TCP可靠性高,支持重传,单应用不灵活
相关文章推荐
- TCP/UDP-路由交换原理6-【HCNA笔记】
- Golang 学习笔记:HTTP, TCP/IP, UDP
- 路由交换学习笔记10
- 路由交换学习笔记16
- 路由交换学习笔记17——PPPoE
- python网络编程学习笔记(2)--TCP和UDP区别(补充)
- Socket/UDP/TCP学习笔记
- 黑马程序员_学习笔记第22天——网络编程TCP/UDP
- 路由交换笔记(26)--CCNA论坛焦点学习
- 黑马程序员_学习笔记第23天——网络编程TCP/UDP
- 路由交换学习笔记03
- 学习笔记一:TCP与UDP通信协议
- 19. JAVA 网络编程 Part 1 (IP与InetAddress类、URL与URLConnection类、URLEncoder与URLDecoder类、TCP&UDP)---- 学习笔记
- UNIX网络编程学习笔记(1) 传输层:TCP UDP STCP
- 黑马程序员_学习笔记:15) 网络编程:Socket(udp、tcp)
- 黑马程序员________Java中UDP和TCP网络编程学习笔记
- JAVA学习笔记Day24——javaTCP UDP网络编程Socket总结
- (原创)TCP-IP学习笔记之UDP(用户数据报协议)
- 网络编程学习笔记(使用select函数的TCP和UDP回射服务器程序)