TCP:须要将传输的文件分段传输,创建链接会话,实现可靠传输和流量控制
UDP:一个数据包就可以完成数据通讯,不须要创建链接会话和流量控制,不使用可靠传输缓存
常见的应用层协议使用的端口
http=TCP+80
https=TCP+443
RDP=TCP+3389
ftp=TCP+21
共享文件夹=TCP+445
SMTP=TCP+25
POP3=TCP+110
telnet=TCP+23
SQL=TCP+1433
DNS=UDP+53
SNMP=UDP+161
RIP=UDP+520安全
服务使用TCP或UDP的端口侦听客户端请求
客户端使用IP地址定位服务器,使用目标端口定位服务
能够在服务器网卡上设置只开放必要的端口,实现网络安全
端口范围:0-65535,通常分三类端口
熟知端口:0-1023
登记端口:1024-49151
客户端端口 :49152-65535服务器
网络安全主要从端口开放和链接策略考虑网络
这种传输过程的缺点是信道利用率低
超时重传时间大于2倍的往返(RTT)时间tcp
现代网络传输的信道使用状况
TCP滑动窗口技术经过连续ARQ协议保证数据可靠性
设计
上图中,一行表明32个比特,等于4个字节,固定部分一共5行,总共20个字节
各个字段意义以下3d
源端口:记录TCP数据包来源端口
目标端口:记录TCP数据包目标端口
序号:Sequence Number,TCP缓存中,发送窗口数据段的第一个字节占整个数据的第几个字节
确认号:确认号是客户端收到数据段后,返回一个值让服务器接下来发哪一个数据段
数据偏移:TCP报文长度不固定,数据偏移用来讲明TCP报文从哪一个字节开始是数据部分
保留:暂时没有用
URG:urgent,紧急发送二进制标记位,发送时不须要排队
ACK:acknowledge,确认二进制标记位,值为0或1;若是是0,表明确认号无效,若是是1,确认号有效
PSH:push,紧急接受二进制标记位,客户端接受时,不须要排队
RST:reset,重连二进制标记位,TCP会话出现严重错误,必须释放链接,要想正常通信,从新创建链接
SYH:synchronization,同步二进制标记位,同步时用到,当客户端和服务器初次创建链接时,须要同步(TCP/IP三次握手)
FIH:finish,释放链接二进制标记位,当链接结束须要服务端和客户端断开链接时,设置为1发送的标记位
窗口:window size,又称TCP发送缓存和接收缓存大小,客户端和服务端创建链接时协商窗口大小,使其一致
检验和:校验首部和数据部分
紧急指针:当URG为1表示数据包为紧急发送时起做用,紧急指针大小表明数据部分的紧急数据段大小
选项:用于一些自定义设计(例如指定数据段最大1460字节、是否容许选择性确认),在ipv6格式的数据包中已取消
填充:当可选部分不够位数时,用来填充的部分
TCP数据部分:ip数据包最大不超过1500字节,除去ip首部20个字节,剩下的IP数据部分,即传输层中的TCP报文段不超过1480字节,除去TCP首部,得出TCP数据部分最大不超过1460个字节指针
客户端和服务端创建通讯以后,在TCP缓存中经过TCP滑动窗口技术滑动发送和滑动接受数据包,客户端接受数据包以后反馈信息给服务端是否有丢包,服务端根据客户端反馈作下一步处理;
数据发送过程当中,窗口大小能够改变,当客户端须要处理缓存数据时,会把窗口大小设置为0,服务端收到信息也会把窗口设置为0,客户端处理完缓存数据以后,从新设置窗口大小,服务端从新发送数据blog
"拥塞避免"并不是指彻底可以避免拥塞。利用以上的措施要彻底避免网络拥塞仍是不可能的。"拥塞避免"是说在拥塞避免阶段把拥塞窗口控制为按线性规律增加,使网络比较不容易出现拥塞。
网络安全