网络传输
ISP
- ISP是互联网服务提供商的缩写
- 例如中国移动,AT&T,也包括谷歌、cloudflare等
- ISP的结构是多层次的
- 小的ISP比如一个学校的ISP接入大的ISP比如一个国家的ISP
- 最大的全球传输ISP必须是互联的
- 同级的ISP也可以直接连接从而不通过上级ISP传输,减少成本
- 大型互联网内容提供商(如谷歌)选择创建自己的网络而不通过顶层ISP
时延(RTT)
- 时延类型
- 节点处理时延
- 例如检查bit错误
- 排队时延
- 传播时延
- 链路传播时间
- 储存转发时延
- 节点处理时延
- 储存转发时延
- 交换机只有在收到整个包的所有bit才会开始输出该包的第一个bit
- 排队时延
- 交换机一次只能输出一个包,剩下的包需要在输出缓存中等待
- 如果缓存满了,剩下的包就会被丢弃,造成丢包
- 造成这种现象的原因一般是输入速度大于输出速度
- 例如100Mbps的以太网到10Mbps的无线网
- 流量越大,丢包比例越大
- RTT(round-trip time)指往返时延
吞吐量
- 一定时间内主机B接受主机A发送的文件的速率
- 取决于瓶颈链路的传输速率
- 一条链路的传输速率和流量大小与链路总速率有关
- 10条流量会使得链路传输速率下降为最大速率的1/10
- 所以如果流量过多,一条高速链路也可能成为瓶颈
网络类型
- 无线局域网
- 学名802.11,别名WIFI
- 蓝牙
- 主设备(手机,电脑)告知从设备(鼠标,耳机)以后广播使用的地址,频率,时长等
- 以太网
- 学名802.3,别名以太网(Ethernet)
- 有线局域网
- VPN
- 虚拟专用网络
- 底层使用了互联网连接,缺乏对底层资源的控制
- 但是不租用专线,灵活性强、省钱
传输方式
- 电路交换和分组交换
- 在电路交换网络中,端与端通话前需要预留资源,即先建立一条专属连接在通信
- 例如电话网络
- 此时能够确保双方以恒定的速度传输数据
- 优点
- 传输速度快,时延小,稳定
- 缺陷
- 双方的通信间隙仍然占据着带宽,资源被浪费了
- 预先建立连接和释放连接需要一定时间
- 在分组交换网络中,网络资源被所有分组(包)共享
- 因此出现网络拥堵时,端到端时延无法预测
- 参考链接:https://www.cnblogs.com/kubidemanong/p/9631875.html
- 在电路交换网络中,端与端通话前需要预留资源,即先建立一条专属连接在通信
网络模型
-
一般采用把TCP/IP和OSI两种模型结合的五层模型
- 物理层
- 链路层
- 网络层
- 传输层
- 应用层
-
优点
- 层与层之间相互独立,每一层改变协议时别的层无需改动
-
缺点
- 高层有时会冗余底层功能
- 例如差错纠正
- 高层有时会冗余底层功能
-
不是网络上的所有节点都实现了所有层
- 交换机只实现1,2层
- 路由器实现1,2,3层
- 主机实现了5层
- 这和吧复杂性放到网络边缘的观点一致
- 这和吧复杂性放到网络边缘的观点一致
OSI和TCP/IP模型的比较
- OSI模型在各种协议发明之前就产生了,更有通用性,不偏向于任一协议
- 但这也导致模型对于每层该有哪些功能没有设计好,导致需要后续嵌入新的子层
- TCP/IP模型在协议后出现,是对已有协议的描述
- 导致这一模型不适合其他协议,例如蓝牙协议
物理层
- 研究如何传输bit,传输是否能够双向进行等问题
链路层
- 研究把数据帧(或者说包)从一个节点(主机或路由器)移动到路径的下一个节点
- 接收方必须确认正确收到每一帧,即给发送方发送确认帧
- 研究如何保证帧的每一个bit的正确性
- 研究流量调节机制,以便让发送方知道接收方何时可以接受更多数据
- 更高层也要考虑这一问题
- 以太网协议,WIFI协议
- 一个数据包可能被沿途不同链路上的不同协议处理
- 洪泛攻击
- 向目标主机发送大量包,导致链路 拥堵,合法包被迫丢弃
网络层
- 研究如何将数据包在子网间传输
- IP协议,选择协议
传输层
- 传输层是第一个端到端的层
- 下面的层都只涉及一台机器和他的直接邻居,而不涉及源机器和目标机器
- TCP和UDP协议
- 拒绝服务攻击
- 攻击者在在目标主机中创建大量半开或全开的TCP连接,占用了服务器全部资源,导致合法连接无法接受
应用层
- DNS协议,SMTP协议,FTP协议,HTTP协议