资源描述
弱电工程中能用到的计算机网络知识汇总什么是计算机网络? 计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设 备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协 议的管理和协调下,实现资源共享和信息传递的计算机系统。
什么是无线网络? 无线网络,既包括允许用户建立远距离无线连接的全球语音和数据网络,也 包括为近距离无线连接进行优化的红外线技术及射频技术,与有线网络的用 途十分类似,最大的不同在于传输媒介的不同,利用无线电技术取代网线, 可以和有线网络互为备份。
OSI , TCP/IP ,五层协议的体系结构,以及各层协议OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示 层、应用层。
TCP/IP分层(4层):网络接口层、网际层、运输层、应用层。
五层协议(5层):物理层、数据链路层、网络层、运输层、应用层。
每一层的协议如下:
物理层:RJ45、CLOCK. IEEE802.3(中继器,集线器,网关)数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)
网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、(路由器)传输层:TCP、UDP、SPX
会话层:NFS、SQL、NETBIOS. RPC表示层:JPEG、MPEG、ASH
应用层:FTP、DNS、Telnet. SMTP、 、WWW、NFSTCP各层作用
物理层:物理层规定了激活、维持、关闭通信端点之间的机械特性、电气特 性、功能特性以及过程特性。在这一层,数据的单位称为比特。
数据链路层:数据链路层在不可靠的物理介质上提供可靠的传输。该层的作 用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。在 这一层,数据的单位称为帧。
网络层:网络层负责对子网间的数据包进行路由选择。网络层还可以实现拥 塞控制、网际互连等功能。在这一层,数据的单位称为数据包。
传输层:传输层是第一个端到端,即主机到主机的层次。传输层负责将上层 数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理 端到端的过失控制和流量控制问题。
会话层:会话层管理主机之间的会话进程,即负责建立、管理、终止进程之 间的会话。会话层还利用在数据中插入校验点来实现数据的同步。
表示层:表示层对上层数据或信息进行变换以保证一个主机应用层信息可以 被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、 格式转换等。
应用层:应用层为操作系统或网络应用程序提供访问网络服务的接口。
TCP应用场景效率要求相对低,但对准确性要求相对高的场景。因为传输中需要对数据确 认、重发、排序等操作,相比之下效率没有UDP高。举几个例子:文件传输
(准确高要求高、但是速度可以相对慢)、接受邮件、远程登录。
UDP应用场景效率要求相对高,对准确性要求相对低的场景。举几个例子:QQ聊天、在 线视频、网络语音 (即时通讯,速度要求高,但是出现偶尔断续不是太 大问题,并且此处完全不可以使用重发机制)、广播通信(广播、多播)O
TCP对应的协议和UDP对应的协议TCP对应的协议:
(1 ) FTP :定义了文件传输协议,使用21端口。常说某某计算机开了 FTP 服务便是启动了文件传输服务。下载文件,上传主页,都要用到FTP服务。
(2 ) Telnet :它是一种用于远程登陆的端口,用户可以以自己的身份远程 连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。 如以前的BBS是-纯字符界面的,支持BBS的服务器将23端口翻开,对外 提供服务。
(3 ) SMTP :定义了简单邮件传送协议,现在很多邮件服务器都用的是这个 协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端 口 ,所以在电子邮件设置-中常看到有这么SMTP端口设置这个栏,服务器开 放的是25号端口。
(4 ) POP3 :它是和SMTP对应,POP3用于接收邮件。通常情况下, POP3协议所用的是110端口。也是说,只要你有相应的使用POP3协议的 程序(例如Fo-xmail或Outlook ),就可以不以Web方式登陆进邮箱界 面,直接用邮件程序就可以收到邮件(如是163邮箱就没有必要先进入网易 网站,再进入自己的邮-箱来收信)。
(5 ) 协议:是从Web服务器传输超文本到本地浏览器的传送协议。
UDP对应的协议:
(1 ) DNS :用于域名解析服务,将域名地址转换为IP地址。DNS用的是 53号端口。
(2 ) SNMP :简单网络管理协议,使用161号端口,是用来管理网络设备 的。由于网络设备很多,无连接的服务就表达出其优势。
(3 ) TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在 熟知端口 69上使用UDP服务。
TCP的三次握手与四次挥手过程,各个状态名称与含义三次握手
第一次握手:客户机首先向服务器的TCP发送一个连接请求报文段,这 个特殊的报文段不含应用层数据,其首部中同步位SYN被设置为10另外, 客户机会随机选择一个起始序号seq=x(连接请求报文不携带数据,但要消耗 一个序号).
第二次握手:服务器的TCP收到连接请求报文段后,如果同意建立连 接,就向客户机发回确认,并为该TCP连接分配TCP缓存和变量。在确认 报文段中,SYN和ACK位都被设置为1 ,确认号字段值为ack=x + 1,并且服 务器随机产生起始序号seq=y.确认包同样不包含应用层数据。
第三次握手:当客户机收到确认报文段后,还要向服务器给出确认,并 且也要给该连接分配缓存和变量。这个报文段确实认为ACK被设置为1,序 号段被设置为seq = x + 1,确认号字段ack=y+1.该报文段可以携带数据,如 果不携带数据那么不消耗序号。理想状态下,TCP连接一旦建立,在通信双方 中的任何一方主动关闭连接之前,TCP连接都将被一直保持下去。因为TCP 提供全双工通信,因此双方任何时候都可以发送数据。
四次挥手
第一次挥手:客户机打算关闭连接,就向其TCP发送一个连接释放报 文,并停止再发送数据,主动关闭TCP连接。该报文段的FIN标志位被设置 为1 , seq = u,它等于前面已经发送过的数据的最后一个字节的序号加1。
第二次挥手:服务器收到连接释放报文段后即发出确认,确认号是 ack = u + 1,序号为v,等于它前面已经发送过的数据的最后一个字节序号加1. 此时客户机到服务器这个方向的连接就释放了,TCP处于半关闭状态。 ACK=1 , seq=v,ack=u + 1
第三次挥手:假设服务器已经没有要向客户机发送的数据,就通知TCP释 放连接,此时发出FIN = 1 ,确认号ack= u + 1,序号seq =w,已经发送过的数 据最后一个字节加 10 确认为 ACK=1. (FIN = 1, ACK=1,seq = w, ack = u + 1)
第四次挥手:客户机收到连接释放报文段后,必须发出确认。在确认报 文段中,确认位ACK=1 ,序号seq = u + 1,确认号ack=w+1.此时连接还没 有释放掉,必须经过实践等待计时器设置的时间2MSL(Max Segment Lifetime),后,客户机才进入连接关闭状态。(ACK=1,seq = u + 1,ack=w+1) 为什么会采用三次握手,假设采用二次握手可以吗?
采用三次握手是为了防止失效的连接请求报文段再次传到服务器,因而 产生错误。如果由于网络不稳定,虽然客户端以前发送的连接请求以到达服 务方,但服务方的同意连接的应答未能到达客户端。那么客户方要重新发送连 接请求,假设采用二次握手,服务方收到客服端重传的请求连接后,会以为是 新的请求,就会发送同意连接报文,并新开进程提供服务,这样会造成服务 方资源的无谓浪费。
如果只采用一次的话,客户端不知道服务端是否已经收到自己发送的数据, 那么会不断地发送数据。为了保证服务端能收接受到客户端的信息并能做出正 确的应答而进行前两次(第一次和第二次)握手,为了保证客户端能够接收到服 务端的信息并能做出正确的应答而进行后两次(第二次和第三次)握手为什么断开连接要四次?
因为TCP连接是全双工的网络协议,允许同时通信的双方同时进行数据的收 发,同样也允许收发两个方向的连接被独立关闭,以防止client数据发送完 毕,向server发送FIN关闭连接,而server还有发送到client的数据没有 发送完毕的情况。所以关闭TCP连接需要进行四次握手,每次关闭一个方向 上的连接需要FIN和ACK两次握手。
TCP拥塞控制
为了更好对TCP进行拥塞控制,因特网建议标准定义了以下四种算法: 慢开始,拥塞防止,快重传,快恢复。
首先在TCP要求发送端维护两个窗口 :
1 )接收窗口 rwnd ,接收方根据当前缓存大小锁许诺的最新窗口值。
2 )拥塞窗口 cwnd,发送方根据自己估算的网络拥塞程度而设置的窗口值。 发送窗口的上限是取这两者的最小值。
慢开始:TCP刚连接好时,先令拥塞窗口 cwnd =1,在每次收到一个对 新报文段确实认时将cwnd加倍.Cwnd的大小呈指数增长。
拥塞防止算法:当cwnd大于等于慢开始门限ssthresh时,cwnd窗口 每次加1而不是加倍。当发送方检测到超时事件的发生时,就将慢开始门限 设置为当前cwnd的一半,同时将cwnd设置为1.这样的目的是迅速减少主 机发送到网络的分组数,使得发生拥塞的路由器有足够的时间吧队列中积压 的分组处理完毕。
快重传:当发送方连续收到三个重复的ACK报文时,直接重传对方尚未 收到的报文段,而不必等待那个报文段设置的重传计时器超时。
快恢复:当发送端收到连续三个冗余的ACK时,就执行"乘法减小"算 法,把慢开始门限ssthresh减半,cwnd设置为慢开始门限减半后的数值 (与慢开始不同)。
简述DNS进行域名解析的过程首先,客户端发出DNS请求翻译IP地址或主机名。DNS服务器在收到客户 机的请求后:
(1 )检查DNS服务器的缓存,假设查到请求的地址或名字,即向客户机发出 应答信息;
(2)假设没有查到,那么在数据库中查找,假设查到请求的地址或名字,即向客户 机发出应答信息;
(3 )假设没有查到,那么将请求发给根域DNS服务器,并依序从根域查找顶级 域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字, 即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后 现在缓存中存储,然后,将解析结果发给客户机。
(4 )假设没有找到,那么返回错误信息。
当然它有递归查询与迭代查询两种方式,但是大概流程和我刚刚讲的一样简单解释一些ARP地址解析协议的工作过程
广播发送ARP请求,单播发送ARP响应。
1 :首先,每个主机都会在自己的ARP缓冲区中建立一个ARP列表,以表示 IP地址和MAC地址之间的对应关系。
2 :当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的 主机的MAC地址,如果有,那么直接发送数据,如果没有,就向本网段的所 有主机发送ARP数据包,该数据包包括的内容有:源主机IP地址,源主机 MAC地址,目的主机的IP地址。
3 :当本网络的所有主机收到该ARP数据包时,首先检查数据包中的IP地址 是否是自己的IP地址,如果不是,那么忽略该数据包,如果是,那么首先从数据 包中取出源主机的IP和MAC地址写入到ARP列表中,如果已经存在,贝!] 覆盖,然后将自己的MAC地址写入ARP响应包中,告诉源主机自己是它想要找的MAC地址。
4 :源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP歹U 表,并利用此信息发送数据。如果源主机一直没有收到ARP响应数据包,表 示ARP查询失败。
一次完整的 请求过程域名解析-> 发起TCP的3次握手-> 建立TCP连接后发起 请求-- >服务器响应 请求,浏览器得到html代码-> 浏览器解析html代 码,并请求html代码中的资源(如js、css、图片等)--> 浏览器对页面进 行渲染呈现给用户
说明一下从 协议发送的客户端请求到达服务器端的整个传输过程。
1、客户端浏览器通过DNS解析到的IP地址220.181.27.48 ,通过这个IP地址找到客户端到服务器的路径。客户端浏览 器发起一个 会话到220.161.27.48 ,然后通过TCP进行封装数据包, 输入到网络层。
2、在客户端的传输层,把 会话请求分成报文段,添加源和目的端口, 如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如 5000 ,与服务器进行交换,服务器把相应的请求返回给客户端的5000端 □ o然后使用IP层的IP地址查找目的端。
3、客户端的网络层不用关心应用层或者传输层的东西,主要做的是通过查找 路由表确定如何到达服务器,期间可能经过多个路由器。
4、客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就 可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP 数据包到达服务器的地址。
如何编写socket套接字服务器端程序的编写步骤:
第一步:调用socket。函数创立一个用于通信的套接字。
第二步:给已经创立的套接字绑定一个端口号,这一般通过设置网络套接口 地址和调用bind。函数来实现。
第三步:调用listen。函数使套接字成为一个监听套接字。
第四步:调用accept。函数来接受客户端的连接,这是就可以和客户端通信 To第五步:处理客户端的连接请求。
第六步:终止连接。
客户端程序编写步骤:
第一步:调用socket。函数创立一个用于通信的套接字。
第二步:通过设置套接字地址结构,说明客户端与之通信的服务器的IP地址 和端口号。
第三步:调用connect。函数来建立与服务器的连接。
第四步:调用读写函数发送或者接收数据。
第五步:终止连接。
路由器工作原理路由器是一种三层设备,是使用IP地址寻址:
路由器接收到数据包,提取目标IP地址及子网掩码计算目标网络地址;根据目标网络地址查找路由表,如果找到目标网络地址就按照相应的出口发 送到下一个路由器;
如果没有找到,就看一下有没有默认路由,如果有就按照默认路由的出口发 送给下一个路由器;如果没有找到就给源IP发送一个出错ICMP数据包说明没法传递该数据包; 如果是直连路由就按照第二层MAC地址发送给目标站点。
请问交换机的实现原理是什么一一数据链路层.交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射, 并将其写入MAC地址表中。
1 .交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比拟,以 决定由哪个端口进行转发。
2 .如数据帧中的目的MAC地址不在MAC地址表中,那么向所有端口转发。这 一过程称为泛洪(flood )。
3 .广播帧和组播帧向所有的端口转发。
路由器和交换机区别
(1)外形上:
交换机通常端口比拟多,而路由器的端口比拟少
(2 )工作层次不同:
交换机一般工作在数据链路层,而路由器那么工作在网络层
(3 )数据的转发对象不同:
交换机是根据MAC地址转发数据帧,而路由器那么是根据IP地址来转发IP数 据报/分组。
(4 )"分工"不同交换机主要是用于组建局域网,而路由器那么是负责让主机连接外网。
(5 )冲突域和广播域交换机分割冲突域,但是不分割广播域,而路由器分割广播域。
END
本篇完我知道爱学习的你“在看”
展开阅读全文