2015暑假复习——计算机网络

TCP为什么能够保证可靠传输?个人理解是,它实现了数据重传和应答响应。

1、TCP建立连接

TCP建立连接需要三次握手,要经历请求、确认请求、确认收到请求的步骤,在握手过程中有一些重要的数据传输。

客户端请求建立连接的时候,会把TCP头部的SYN位置1,相当于发送一个SYN给服务器,还会附带一个序列号以及一个自身的MSS(maximum segment size,最大传输段),序列号是用来标记当前字节流的;

服务器收到请求以后,发送确认信息,TCP头部的ACK位被置1,SYN位也被置1,一个确认号(上一步的序列号加1),一个序列号,一个自身的MSS;

客户端收到数据后,再次发送SYN,ACK,确认号(上一步的序列号加1),以及两个MSS的最小值给服务器,至此就建立了一个TCP连接。MSS的作用是确认客户端和服务器数据传输窗口的大小。

2、TCP的拥塞控制

TCP拥塞控制有两种模式,四种策略。

第一种是慢启动+拥塞避免,启动窗口设置为一个MSS长度,然后每次扩大两倍。如果达到了阈值,则开始执行拥塞避免算法,每次增大一个MSS长度。当网络发生拥塞时(判断标准是发生了超时重传),则立刻把阈值下降为原来的一般,把窗口下降为1,然后重新执行慢启动算法;

第二种是快重传+快恢复,机理是如果接收端发现有包不是按照序列号发送的,则发送重传请求,如果发送端连续收到了三个对同一个序列号的重传请求,则认为发生了拥塞(上个算法需要等到超时重传),然后执行快恢复算法,把阈值降到原来的一半,然后把窗口降到阈值加3个MSS(根据数量守恒),然后执行拥塞避免算法;

接收端收到不按顺序的包的时候,先不处理后面的包,把他们先放到一个缓存里,等前面的包到了以后,一起发送一个确认号给发送端。

个人认为,发送端的超时重传和接收端的应答机制,保证了TCP是可靠传输。

附:TCP和UDP的帧格式

UDP的头很简单,16位目标端口,16位源端口,16位包长度,16位校验和;

TCP的头相对复杂,16位目标端口,16位源端口,32位序列号,32位请求号,SYN,ACK等一些控制信息,16位校验和;

3、网络号,子网掩码,主机号,网关

一个子网内的主机数量+网络地址+网关地址+广播地址=子网总共能够分配的ip地址。子网内ip起始于网络地址,结束于广播地址。

4、ABCDE五类网络

A:0开头;B:10开头;C:110开头;D:1110开头;E:11110开头。

A:政府单位;B:企业;C:个人、私营;D:局域网;E:保留;

A子网掩码默认为/8,B默认为/16,C默认为/24

5、不同主机通信

如果两个主机位于同一个子网(判断方法:IP和子网掩码),则直接调用网络层的ARP协议,向目标主机发送请求,解析器MAC地址,源主机收到之后把MAC地址发送给二层,打包三层传过来的数据,一并发送给目标主机。

如果两个主机不位于同一个子网,则源主机请求网关的MAC地址,然后把数据发送给网关,网关再根据IP,把数据发送给相应的网关。

6、不同协议使用相同端口

例如TCP和UDP都是用80端口,是没有问题的, 因为数据会先解析,区分是TCP还是UDP,然后在根据端口确认是哪个服务程序。

7、七层协议的理解

物理层:不是指物理媒介,而是指对物理媒介的一些电器规范标准,以及实现模数/数模转换,这一层传输的数据格式是bit;

数据链路层:把数据分割成帧,每一帧的格式是“目标MAC,源MAC,类型,数据,FCS”,每帧的长度控制在164Byte~1518Byte,如果太短则会认为是噪声,如果太长会出错。这一层实现简单的连接,避免物理层信号冲突,中间节点叫交换机(早期为网桥);

网络层:负责路由选择、拥塞控制、网络互连,IP就位于这一层,这一层的数据格式是包,中间节点叫路由器;

传输层:最重要的一层,把上层的数据打包分发给网络层,TCP、UDP都位于这一层。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值