计算机网络笔记
第一章
1.3 因特网的组成
两种通信方式
-
客户端服务器方式(C/S方式),Client/Server方式
就像我们Java开发的系统,部署一个网站,那个网站所在主机就是服务器。用户通过浏览器访问网站,浏览器就是客户端
-
对等方式(P2P方式),Peer-toPeer方式
数据交换方式
-
电路交换:基本可以做到实时通信
- 电路交换的过程:建立连接–>通信–>关闭连接
- 适用场景:使用数据量很大的实时性传输
- 像我们打电话,就是电路交换。拨号等待就是建立连接的过程,对话就是通信,挂断就是关闭连接
-
分组交换:将数据分组传输
-
优点:高效,灵活,迅速,可靠
-
缺点:时延,开销
-
计算机就采用分组传输,不需要建立路径,只需要给分段数据加上目标头部即可
-
-
报文交换:不分组,直接加个目标首部传输,时延长,开销大
1.6 计算机性能
- 速率:连接在计算机网络上的主机在数字信道上传送数据位数的速率,也称比特率
- 单位:b/s,kb/s,Mb/s,Gb/s
- 我们手机下载软件看到的速度,就是在下载信道上的速率,xxkb/s,xMb/s这种,
- 带宽:数据通信领域,数字信道所传送的最高数据率(他和速率打配合,多条信道,最高带宽)
- 单位:b/s,kb/s,Mb/s,Gb/s
-
吞吐量:单位时间内通过某个网络的数据量
- 单位:b/s,Mb/s等
- 时延:
- 时延带宽积:传播时延*带宽
- 往返时间:从发送发发送数据开始,到发送方收到接收方确认
- 利用率:信道利用率和网络利用率组成
- 信道利用率:有数据通过时间/(有+无)数据通过时间
- 网络利用率:网络空闲时的时延/(1-信道利用率)
1.7 计算机网络体系结构
OSI参考模型
应用层–>表示层–>会话层–>传输层–>网络层–>数据链路层–>物理层
TCP/IP四层模型
应用层–>传输层–>网络层–>数据链路层
第五章
5.3 传输层协议
5.3.1 TCP协议概述
- TCP是面向连接的传输层协议
- 每一天TCP协议连接只能有两个端点,每一条TCP连接只能是点对点的(一对一)
- TCP提供可靠交付的服务
- TCP提供全双工通信
- 面向字节流
5.3.2 TCP连接
- TCP把连接作为最基本的抽象
- 每一条TCP连接有两个端点
- TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是运输层的协议端口。TCP 连接的端点叫做**套接字(socket)**或插口(是不是联想到了Java的Socket连接)
- 端口号拼接到IP地址即构成了套接字
- 套接字
- 套接字socket=(IP地址: 端口号)
- TCP连接= {socket1, socket2}={(IP1: port1), (IP2: port2)}
5.3.3 TCP协议实现可靠传输
停止等待协议
- 情况(a)无差错情况,A发送M1,B收到并确认M1,A收到M1的确认并发送M2,直至完成
- 情况(b)超时重传,A发送M1,在M1到达B时数据包丢了,那么B肯定不会给A发送M1的确认。此时的A在一直等待M1的确认,在等待数据往返时间更多一点时间后,判定M1发送失败,重新发送M1,重复情况(a)
- 情况(a)确认丢失,A发送M1,在M1正确到达B,B发送M1的确认,但M1的确认丢失了,此时A在一直等待M1的确认,在等待数据往返时间更多一点时间后,判定M1发送失败,重新发送M1,这时B会收到重复的M1,丢弃重复的M1并给A发送M1的确认
- 情况(b)确认迟到,A发送M1,在M1正确到达B,B发送M1的确认,M1的确认由于某些原因迟到了。A在等待M1的确认,超过一定时间重新发送给M1,B收到重复的M1,丢弃重复的M1并发送M1的确认,开始AB正常的收发。但一段时间后A收到了迟到的M1的确认,但A什么也不做
连续ARQ协议
ARQ:自动重传请求
用一个滑动窗口来发送请求,假设这个窗口可以存放5个数据,A一次发送5个,B收到1位置的数据,发送窗口滑动,而B如果全部收到的话,只需要发送5,就表示1-5的数据包全部收到了,此时会滑动5个位置