什么是网络基础层(计算机网络基础网络层)
今天给各位分享什么是网络基础层的知识,其中也会对计算机网络基础网络层进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
网络的6个基本层是?
OSI七层模型介绍
OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。下面我简单的介绍一下这7层及其功能。
OSI的7层从上到下分别是
7 应用层
6 表示层
5 会话层
4 传输层
3 网络层
2 数据链路层
1 物理层
其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过网络的端到端的数据流。下面我给大家介绍一下这7层的功能:
(1)应用层:与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:telnet,HTTP,FTP,WWW,NFS,SMTP等。
(2)表示层:这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASII格式,发送方将把文本从发送方的字符集转换成标准的ASII后发送数据。在接收方将标准的ASII转换成接收方计算机的字符集。示例:加密,ASII等。
(3)会话层:他定义了如何开始、控制和结束一个会话,包括对多个双向小时的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。
(4)传输层:这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。
(5)网络层:这层对端到端的包传输进行定义,他定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。
(6)数据链路层:他定义了在单个链路上如何传输数据。这些协议与被讨论的歌种介质有关。示例:ATM,FDDI等。
(7)物理层:OSI的物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他组织制定的标准。连接头、针、针的使用、电流、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。
网络基础-传输层, 网络层数据链路层
同轴电缆: 半双工通讯;
集线器: 类似同轴电缆, 半双工通讯;容易冲突;
网桥: 两个接口, 通过自学习记录每个接口侧的 mac 地址;从而起到隔绝冲突域的作用;
交换机: 相当于接口更多的网桥, 全双工通讯;
路由器: 可以在不同网段之间发送数据, 隔绝广播域;
IP地址的组成:
IP地址有两部分组成: 网络标识(网络ID, 网段), 主机标识( 主机ID);
如何避免浪费IP***?
信道:信息传输的通道, 一条传输介质上(比如网线), 可以有多条信道;
单工通信: 信号只能往一个方向传, 任何时候不能改变信号的方向;
半双工通信:信号可以双向传播, 但是必须交替进行, 同一时间只能往一个方向传播;
全双工通信:信号可以同时双向传播;
数据帧:数据链路层
如何确保一个数据帧的完整性:
帧的尾部有FCS标识符是根据帧首和帧尾计算得来的, 在获得一个帧数据后帧首帧尾根据计算计算如果值等于FCS则数据帧完整, 去掉帧首帧尾即可获得中间的数据buffer;
数据链路层的数据(MTU)大小为不超过1500个字节,因此我们可以推断出传输层的数据段最大为不超过1460字节;(网络层的首部最小20个字节, 传输层首部最小20个字节, 因此传输层的数据段最大为1460);
ping 的几个用法:
通过tracert, pathping ip地址的方式, 可以查看途径的路由器;
TTL : Time To Live(生存时间) 每经过一个路由器值就会减1; 为0时数据包不再传输;
端口:
UDP首部中端口是占用2个字节(因此其取值范围是0-65535);
防火墙可以可以设置开启/关闭某些端口提升安全性;
常用命令:
传输层的两个协议
TCP: 传输控制协议;
UDP: 用户数据报协议;
TCP的数据格式:
TCP标志位的作用:
如果数据超时或者收到三次确认都会重新发送保证数据完整性;
主要是通过ARQ(自动重传技术-超时重发)+滑动窗口协议实现(例如一次可以接收4个数据包, 就是一个缓冲区的设置);
另外通过SACK(选择性确认)来告诉发送方哪些数据已经接收到哪些数据丢失, 这样TCP就只发送丢失的部分即可;
如果接收方的数据缓冲区已经满了, 而发送方还在不停的发数据, 则需要进行流量控制;如果不进行控制则接收方只能将大量的数据包进行丢弃, 造成的大量的网络***浪费;
什么是流量控制?
让发送方的发送速度不要太快, 让接收方有足够的时间和空间来处理和接受数据;注意这个概念是指点对点之间;
原理:
通过确认报文中的窗口字段来控制发送方的发送速率;
发送方的发送窗口大小不能超过接收方的窗口大小;
当发送方收到接收方的窗口为0时则不再发数据;
特殊情况:
刚开始接收方发送了0窗口报文给发送方, 然后发送方停止了发送数据;
后面接收方有空间了, 发送了非0窗口报文给发送方结果报文丢失了;
则接收方和发送方陷入循环;
解决方案: 发送方收到0窗口报文的时候停止发送数据, 同时开启一个定时器, 隔一段时间发送测试报文取询问接收方窗口的大小, 如果仍然收到0窗口报文则重新刷新启动定 时器;
链路的吞吐量在过载的时候会导致拥塞;直观的理解为, 一条路可以同时供100辆车100km/h通过, 但是当有200辆车的时候估计只能以50km/h通过, 当有300辆车时估计会堵的动不了;
拥塞控制是指避免过多的数据注入到网络中, 避免网络中的路由器或者链路过载;拥塞控制是一个全局性的过程, 涉及到所有的主机, 路由器; 是大家共同努力的结果; 注意区分流量控制是点对点之间的;
几个缩写:
MSS: 每个段最大的数据部分大小, 在建立链接是确定;
swnd: 拥塞窗口;
rwnd:接收窗口;
swnd:发送窗口; swnd=min(swnd, rwnd);
拥塞控制思路:
慢开始(慢启动)-拥塞避免- 快速重传-快速恢复;
a. 慢开始 :
b. 拥塞避免 :
c. 快重传 :
d. 快恢复 :
e. 用图片表示拥塞控制
状态解读:
Closed: Client处于关闭状态;
Listen: Server处于监听状态, 等待Client链接;
SYN-RCVD: 表示Server收到SYN报文, 当收到Client的ack报文后进入ESTABLished状态;
SYN-SENT: 表示Client已经发出SYN-SENT报文, 等待Server的第二次握手;
ESTABlished: 已经建立链接;
TCP建立链接前两次握手的特点:
ACK和ack的区别:
大写的ACK(Acknowledgement)是标识位, 可以通过它标识包的性质, [ACK] or [SYC] or [FIN] .
小写的ack(Acknowledgement Number), 是确认号。 即收到seq=x 的数据包后,回复 ack=x+1 的确认。
状态解读
FIN-WAIT1: 表示向主动断开, 向对方发送了FIN报文后进入FIN-WAIT1状态;
CLOSE-WAIT: 表示等待关闭, 当对方发送FIN报文给自己,会回应一个ACK报文, 同时进入CLOSE-WAIT状态, 此状态下如果仍然有数据发送给对方则会继续发送, 如果没有数据发给对方,则发送FIN给对方;
FIN-WAIT2: 主动方收到对方的ACK报文后就会处于FIN-WAIT2状态然后等待对方的FIN报文;
LASK-ACK: 被动一方在发送FIN报文后处于LAST-ACK状态, 收到主动方的ACK报文后就进入CLOSED状态;
TIME-WAIT: 主动方收到对方的FIN报文后回复ACK报文给对方并进入TIME-WAIT状态, 等待2MSL时间后进入CLOSED状态;
如果在FIN-WAIT1状态下同时收到对方的FIN和ACK报文则直接进入TIME-WAIT状态, 无需经过FIN-WAIT2状态;
CLOSED: 关闭状态;
CLOSING: 一种比较罕见的状态, 表示发出FIN报文后没有收到对方的ACK报文反而也收到了FIN报文,即双方几乎同时发送FIN报文时就会进入CLOSING状态;表示双方都在进行关闭链接;
细节补充
为了提高重传的性能; 可靠性传输是在传输层进行控制的;
这个取决于系统的设置, 例如有些系统在重新传输5次后仍然不能成功, 就会发送reset报文( RST )断开TCP链接;
三次握手的目的: 防止服务器端一直等待, 浪费***;
如果改成两次握手会出现的情况: ***如client客户端第一次发送的请求报文段, 因为网络延迟的原因, 在释放链接后才到达服务器端, 本来这是一个应该失效的请求链接, 但是server端收到这个请求后会误认为这是client发送的新的链接请求, 于是sever端就会再次给client发送确认报文然后建立链接, 等待client发送数据过来, 这样的话, server端就会一直处于链接状态等待;
***用三次握手的方法可以防止上述情况发生:例如上述情况, client没有向server发出确认, server端收不到确认就知道client不是建立链接;
另一种解析的思路 : client和server建立链接是为了相互交换数据, 所以得确保自己和对方的数据收发功能都处于正常状态;
第一次握手: server端可以确认自己的接收功能和client端的发送功能正常;
第二次握手: client端可以确认自己的发送和接收功能都是正常, 并且server端的接收和发送功能都是正常的;
第三次握手: server端确认自己的发送功能和client的接收功能正常
第三次握手的时候server处于SYB-RCVD状态, 如果等不到client端的ACK, server端会再次发送ACK+SYN包, 如果多次发送后仍然等不到client的ACK包, 则server端发送RST包, 强制断开链接;
有必要, 而且不能省去, 原因如下: ***如Client在发送ACK报文后立即进入了断开状态, 然后因为网络状态Server端没有收到这个ACK报文则会重发FIN报文给Client, 则可能会出现的情况如下:
a. Client端没有反应, Server重复尝试发送FIN给Client, 浪费***;
b. Client刚好有个新的应用分配了同一个端口, 新应用本是想建立链接, 结果收到FIN报文后就会进入断开链接操作;
e
网络基础是什么意思
一般都是些网络原理。像tcp/ip协议四层。iso/osi,物,数,网,传,会,表,应七层。还有就是主要在网络层和应用层上的一些软件或设置,像交换机,路由器,防火墙,web服务器。asp,jsp,html等提一点。个人觉得主要还是TCP/IP协议和iso/osi,物,数,网,传,会,表,应七层是主要学习重点。是计算机网络的原理知识。
关于什么是网络基础层和计算机网络基础网络层的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。