**为什么说udp是面向报文的,而tcp是面向字节流的**?
发送方udp对上层交付的报文,添加首部后就向下交付。对报文不拆分,不合并,保留边界。接收方udp对下层交付的报文,去首部后原封不动交付上层,一次交付完整的报文,所以说是面向报文的。
发送方TCP对上层传下来的报文数据块,视为无结构的字节流(无边界约束),但会维持各字节,有序。
tcp报文段数据部分最大为65495字节。
由于IP数据报最大长度为65535B,IP首部最小20B,tcp首部最小20B,65535-40=65495B。
当需要传送的数据的字节长度超过了TCP报文段的最大编号,(序号32位,数据最大未达到如上),可以循环重复使用序列号。因生命期的限制,旧序号要么到达终点,要么被丢弃。
回退n重传,丢弃不按序号的报文,造成报文的重复发送,增大网络带宽消耗,但是却减少了接收缓冲区的占用。
选择拒绝重传,不按序报文在缓冲区保存,等待所缺报文全部收齐后一并上交,减少了对网络带宽的消耗,却增大了接收缓冲区的占用。
保留端口0~1023
( FTP, 21/20)(TELNET,23 )
(SMTP,25) (DNS,53)
(TFTP,69)(HTTP,80)
(SNMP,161)
登记端口1024~45191
需在IANA登记防重复
客户端端口/短暂端口45192~65535