写在前面:
最近春招各种笔试面试,计网总是必不会少的一项问题,然而博主并没有复习计网,当时学的一点早就全部忘光了,笔试关于计网的题存粹瞎蒙,面试时就完全不提计网,也是非常无奈……上周也一直在忙网易和华为的面试,一直没有时间来复习。刚做完搜狐的笔试,结果发现又是一堆计网题(虽然我并不打算去搜狐,不过还是随便做了下,题挺简单,编程题更是非常基础,提前做完就交卷了……),现在总算有时间了,准备开始系统的复习一下计算机网络相关的知识。
一.直接连接的网络:
点到点网络:
多路访问网络:
二.间接连接的网络:
网络提供的服务:
1.可靠的服务
文件传输,浏览网页,电子邮件,电子商务
2.不可靠的服务
视频直播,IP电话,网络会议
面向连接的服务,无连接的服务
有确认的服务,无确认的服务
数据报服务:无连接无确认
因特网体系结构:
应用层:提供对某些专门应用的支持,如文件服务(ftp),邮件(smtp),网页(http)
传输层:进程之间的数据传送(端到端,end-to-end),如TCP,UDP
网络层:路由选择,实现到互连网中的数据传送(主机到主机,host-to-host),如IP,routing protocols
数据链路层:在物理网络中传送包(跳到跳,hop-to-hop节点到节点node-to-node),ppp,Ethernet
物理层:线上的比特(传送原始比特流)
每一层都可以有多个协议,每个协议都可以使用下层提供的服务并为上层提供服务。
同一个互连网络中要求网络层协议相同而链路层协议可以不同
应用层对应消息,传输层对应数据段segment,网络层对应数据报datagram,链路层对应帧frame,将source封装起来,从一个主机经过网络层从高到低发送出去,到达另外一个主机,由低到高到达应用层。
网络性能分析:延迟和丢包
延迟(delay):当一个包到达时如果有空闲缓存则排队等待转发
丢失(loss):如果没有空闲缓存,则丢其该包
包交换(packet-switching)中的延迟:
1.处理延迟(processing)
包括检查比特错
确定输出链路
2.排队延迟(queueing)
在输出链路队列等待发送
依赖于路由器的拥塞程度
3.传输延迟(transmission delay)
包长(bits)/链路带宽(bps),也称为发送延迟
4.传播延迟(propagation delay)
物理链路长度/信号传播速度(~2*10^8m/sec)
节点延迟:d(nodal) = d(proc) + d(queue) + d(trans) + d(prop)
d(proc) = 处理延迟
d(queue) = 排队延迟
d(trans) = 发送延迟
d(prop)= 传播延迟
往返时间(round trip time,RTT):从源主机到目的主机再返回源主机所花的时间成为往返时间。
带宽和吞吐量:
带宽(bandwidth):一条链路可达到的最大数据传送速率(bits per second,bps)
吞吐量(throughput):发送者和接收者之间的数据传送速率(bps)
互连网络:
- 系统域网(system area network) SAN
- 广域网(wide area network) WAN
- 局域网(local area network) LAN
- 城域网(metropolitan area network) MAN
单向:通信线路上的数据按单一方向传送
半双工:一段时间内只有一边向另一边传送,如对讲机
全双工:接收数据的同时也能传送数据,如电话
习题:
无线电台使用了频分多路复用技术(frequency division multiplexing)
多播(multicast)的通信方式是一对多,单播(unicast)是每个时刻一个站点发送一个站点接收。
电话使用了全双工的传输方式。
实验室一般采用局域网的连网方式。