您的位置:首页 > 理论基础 > 计算机网络

网络知识点总结

2017-08-20 08:50 225 查看
1.交换机 和路由器 有什么区别?

交换机是基于MAC地址识别,能够封装、转发数据包功能的设备。他具有流量控制,一般用于组建局域网络。

路由器是 用于链接Internet中 各局域网、广域网的设备,是网络的枢纽,用于为数据包找到最合适的到达路径。

不同点: (1)工作层次不同, 交换机是在OSI模型的数据链路层个工作,路由器是在OSI模型的网络层工作。

(2)转发数据时依据不同,交换机依据设备的MAC地址,路由器依据IP地址。

(3)交换机连接的网段是属于一个广播域的,不能隔离广播域;  链接到路由器的网段被划分为不同的广播域,能隔离广播风暴。

(4)交换机负责同一网段的通信, 路由器负责不同网段的通信。

2.集线器(Hub)与交换机有什么 区别?

集线器实质上是一个中继器,与网卡、双绞线等传输介质一眼,是数据通信系统中的设备。用于对接收到的信号进行放大。

不同点:

(1)工作层次不同, 集线器工作在OSI模型中的物理层, 而交换机工作早数据链路层。集线器只是对数据传输 起到同步、放大和整形作用。交换机不但可以对数据传输 起到同步、放大和整形作用,还可以过滤短帧、碎片,对数据包进行转发。

(2)工作方式不同,集线器是通过广播方式进行的, 某个端口在接受相应时,其他所有端口都会接受到响应,只是其他端口会丢弃收到的响应。。  交换机,只有请求端口和目的端口会收影响,其他的不会收到影响。

(3)带块不同,集线器所有端口 共享一个带宽, 交换机每个端口 有一条独占的带宽。

3.路由表 。  路由表是 指 路由器或者其他网络设备上存储的表, 他决定如何将数据包从一个网络传到另一个网络。

路由表能力: 路由表所能容纳的表项数量。

静态路由表: 系统管理员 固定设置好。

动态路由表:路由器能自动创建 和修改。    根据  路由选择协议   自动学习和记忆网络运行情况。

4. 网络协议

TCP就想打电话, UDP就像发短信

4.1 TCP和UDP区别:

(1)TCP面向连接的传旭控制协议, UDP提供无连接的数据报服务。

(2)TCP具有高可靠性,确保数据的正确性,不出现丢失或者乱序; UDP传输数据不可靠,可能会出现丢失、重复、乱序。(应用程序负责可靠性的工作)。

(3)TCP对系统资源要求较多,UDP则较少。

(4)UDP实时性较高,工作效率比TCP高。

(5)UDP段结构比TCP的简单,网络开销少。

4.2 如何将无连接的UDP变成类似TCP的功能

4.3 三次握手,四次断开        详细参考  http://blog.csdn.net/xifeijian/article/details/12777187

(1)客户端发送连接请求SYN包

(2)服务器端对连接请求进行确认ACK包+ SYN包

(3)客户端对服务器端发的确认进行确认。ACK包

三次握手的原因:如果两次握手,某一个因网络延迟出现的失效请求,被服务器端确认后,导致服务器端一直等待客户端发送数据(因为这个失效连接请求,在3次握手中,客户端并不会对服务器的确认 进行确认),浪费资源。

 详细参考  http://www.cnblogs.com/huhuuu/p/3572485.html

(1)客户端发送数据完毕,发送一个FIN包,请求关闭连接。

(2)服务器端收到FIN包,做出相应发送ACK包,确认这一方向的连接将要关闭。

(3) 服务器花费一定时间,做好关闭准备后, 服务器发送一个FIN包给客户端,请求关闭连接请求。

(4)客户端对服务器发送的请求进行确认,并发送ACK包。

为什么要四次:(前提需要记住,谁发送FIN,意味着谁就不再发送数据了,可以接受数据)

 客户端发送关闭请求FIN后,服务器端进行确认ACK。但此时服务器可能还在发送数据,因此FIN不能和ACK同时发送,必须分开发送。当服务器发送数据完毕,就可以发送关闭连接请求FIN了,客户端发送确认ACK,等待2MSL后,客户端就知道服务器端已经收到ACK(否则2MSL时间内必会收到一个新的FIN),连接关闭。

A为什么等待2MSL,才从TIME_WAIT到CLOSE状态?

  在Client发送出最后的ACK回复,但该ACK可能丢失。Server如果没有收到ACK,将不断重复发送FIN片段。所以Client不能立即关闭,它必须确认Server接收到了该ACK。Client会在发送出ACK之后进入到TIME_WAIT状态。Client会设置一个计时器,等待2MSL的时间。如果在该时间内再次收到FIN,那么Client会重发ACK并再次等待2MSL。所谓的2MSL是两倍的MSL(Maximum Segment
Lifetime)。MSL指一个片段在网络中最大的存活时间,2MSL就是一个发送和一个回复所需的最大时间。如果直到2MSL,Client都没有再次收到FIN,那么Client推断ACK已经被成功接收,则结束TCP连接。

举例:

A:“喂,我不说了。”A->FIN_WAIT1

B:“我知道了。等下,上一句还没说完。Balabala…..”B->CLOSE_WAIT | A->FIN_WAIT2

B:”好了,说完了,我也不说了。”B->LAST_ACK

A:”我知道了。”A->TIME_WAIT | B->CLOSED

A等待2MSL,保证B收到了消息,否则重说一次”我知道了”,A->CLOSED
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: