我只是一名学生,这篇文章中可能有一些错误,欢迎大家指正!对于计算机网络这门课的自学,本人强烈推荐逼站“湖科大教书匠”。
目录
什么是计算机网络?
将分散的具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完备的软件实现资源共享和信息传递的系统。
- 将独立功能的计算机网络连接起来
- 实现资源共享与信息传递
计算机网络要解决的问题?
可以从计算机网络的七层模型来回答这个问题:
- 物理层:如何才能在连接各台计算机上的传输媒体上传输比特流?
- 数据链路层:物理层提供的物理连接是有可能出差错的,数据链路层要解决的问题就是将可能出错的物理连接改造成逻辑上无差错的数据连接。数据链路层将数据封装成帧,可以提高传输效率,也可以做到差错控制。
- 网络层:两台主机之间的通信,实现异构互联网的互联。保证计算机网络能在数据通信链路中找到一条最佳路径,若某个节点堵塞了,必须能找到另外的通路。要保证数据信息能够到达对方主机。
- 传输层:应用进程之间的通讯。实现分用与复用。
- 应用层:
用自己的语言整理一下就是:要保证数据在传输媒体上的正确传输,其中要解决差错控制与流量控制的问题;如何为发送方与接收方找到一条最佳路径;要保证数据信息能够正确到达对方主机;要保证通信双方的数据格式一致,能够互相理解。
计算机网络的组成
通信子网:各种传输介质、通信设备、网络协议
资源子网:实现资源共享功能的设备及其软件的集合。
计算机网络有哪些性能指标?
- 速率
- 带宽:数字信道上的最高数据率
- 吞吐量:单位时间内通过某个网络的数据量
- 时延:包括发送时延、传播时延、处理时延、排队时延
- 时延带宽积:传播时延和带宽的乘积
- 往返时间RTT
- 利用率
什么是计算机网络中的“服务”?
下层为紧邻上层提供的功能调用。
服务原语:
- Request:↓ 上层向下层发送请求,请求完成某个工作
- Indication:↑ 下层向上层发送告知,上层被告知某件事情发生
- Response:↓ ,上层用户对indication的响应
- Confirmation:↑ ,作为对请求的证实
网络分类有哪些?
从作用范围:广域网 WAN、城域网MAN、局域网 LAN、个域网PAN
从使用范围:公用网、专用网
从拓扑结构:星形、网状、总线、令牌环网、树形
计算机网络有什么传输介质?
双绞线、同轴电缆、光纤、无线传输媒介
TCP/IP是什么?
是因特网使用的一个协议族,逐步演变成TCP/IP参考模型。是一个四层协议的体系结构。
IP协议是TCP/IP体系结构网际层的核心协议。
TCP和UDP是TCP/IP体系结构运输层的两个重要协议。
IP协议可以将不同的网络结构进行互联,并向其上的TCP协议和UDP协议提供网络互联服务。
TCP协议在享受IP协议提供的网络互联服务的基础上,可向应用层的相应协议提供网络传输服务。
UDP协议在享受IP协议提供的网络互联服务的基础上,可向应用层的相应协议提供不可靠传输服务。
IP协议作为TCP/IP体系结构中的核心协议,一方面互联不同的网络接口,也就是IP over everything。另一方面,为各种网络应用提供服务,也就是Everything over IP。
在TCP/IP体系结构中包含有大量的协议,IP和TCP协议是其中两个非常重要的两个协议。因此用TCP和IP两个协议来表示整个协议大家族,因此被称为TCP/IP协议族。
什么是UDP(用户数据报协议)?
UDP是TCP/IP参考模型中传输层的一个重要协议,全称为User Datagram Protocol。是无连接、不可靠的服务。支持单播、多播、广播。UDP没有拥塞控制。
对于应用进程提供的应用报文,UDP只是给它加上了一个UDP头,然后就丢给网际层了。UDP对应用进程交下来的报文既不合并,也不拆分,而是保留这些报文的边界,UDP是面向应用报文的。
UDP协议有哪些特点?
UDP是无连接的,支持单播、多播、广播。
UDP提供的是不可靠传输,只尽最大努力交付,而且没有拥塞控制。UDP比较适合允许数据出错且对数据传输的实时性要求较高的场景。
对于应用层的应用报文,UDP就给它加个UDP头,而且UDP头部比较小,只有8B。UDP不对应用层报文进行任何拆分拼接的操作。因此,应用程序必须选择合适大小的报文。
TCP协议有哪些特点?
1、TCP协议是面向连接的,只支持单播。使用TCP协议的通信双方,在进行数据传输之前,必须使用“三报文握手”来建立TCP连接,TCP连接建立成功之后,才能进行数据传输。数据传输结束后,必须使用“四报文挥手”来释放TCP连接。
2、TCP协议是面向字节流的,应用层给TCP的报文,在TCP眼里,每个字节都是有编号的。在TCP眼里,应用层报文就是一个一个的、无结构的字节流。TCP会给应用报文编号,放在自己的发送缓存中。TCP根据发送策略,从发送缓存中提取一定的字节,构建TCP报文段并发送。接收方的TCP,一方面从所接受到的TCP报文段中取出数据载荷部分,并存在接收缓存中;一方面,从接受缓存中的一些字节交付给应用进程。
3、TCP提供全双工通信。
4、TCP提供拥塞控制。
5、TCP提供可靠传输。
TCP与UDP有什么区别?
1、TCP是基于连接的,UDP是基于无连接的。
2、TCP对系统资源的要求较多,TCP头部至少包含20个字节,至多包含60个字节。而UCP报文首部只有8字节,且UDP不对应用层报文进行拆分与拼接,UDP对系统资源的要求较少。
3、UDP程序结构简单。
4、TCP是面向字节的,UDP是面向报文的。
5、TCP提供流量控制,UDP不提供流量控制。
6、TCP保证数据接收的正确性,保证数据顺序。UDP有可能丢包,UDP不保证数据顺序。
TCP的可靠性如可保证?
- 面向连接
- 确认和超时重传:当TCP发出一个段后,它会启动一个定时器,如果不能及时收到一个确认就重发。
- 数据合理分片和排序
- 流量控制和拥塞控制:流量控制——TCP的接收端只允许另一端发送接收端缓冲区能接纳的数据,这能防止较快主机致使较慢主机的缓冲区溢出。拥塞控制——当网络拥塞时,减少数据的发送。
- 数据校验
为什么说TCP协议传输是可靠的?
TCP的可靠新表现在:它向应用层提供的数据是无差错的、有序的、无丢失的。
TCP采用连接建立、流量控制、拥塞控制、数据合理分片、确认和超时重传、数据校验来保证它的可靠性。
TCP的拥塞控制与流量控制的区别?
流量控制是为了确保接收端不会因为来不及接受而接受缓存溢出,是通过滑动窗口机制来实现的。
拥塞控制是,当网络发生拥塞之后,TCP发送端会降低数据的发送速度以缓解网络拥塞。