计算机⽹络基础中的⼏个常识问题以下是引⽤链接:
⼀、OSI七层
⼆、IP地址分类
三、ARP
四、RARP
五、协议
六、TCP和UDP区别
七、TCP三次握⼿和四次挥⼿
⼋、TCP可以两次握⼿吗
九、TCP如何保证可靠性
⼗、输⼊地址后发⽣了什么
⼗⼀、交换机、路由器、⽹关
⼀、OSI七层
每⼀层的协议如下:
应⽤层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS
表⽰层:JPEG、MPEG、ASII
会话层:NFS、SQL、NETBIOS、RPC
传输层:TCP、UDP、SPX
⽹络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)
数据链路:PPP、FR、HDLC、VLAN、MAC (⽹桥,交换机)
物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器)
每⼀层的作⽤如下:
应⽤层:允许访问OSI环境的⼿段(应⽤协议数据单元APDU)
表⽰层:对数据进⾏翻译、加密和压缩(表⽰协议数据单元PPDU)
会话层:建⽴、管理和终⽌会话(会话协议数据单元SPDU)
传输层:提供端到端的可靠报⽂传递和错误恢复(段Segment)
⽹络层:负责数据包从源到宿的传递和⽹际互连(包PackeT)
数据链路层:将⽐特组装成帧和点到点的传递(帧Frame)
物理层:通过媒介传输⽐特,确定机械及电⽓规范(⽐特Bit)
⼆、IP地址分类
A类地址:以0开头, 第⼀个字节范围:1~126(1.0.0.0 - 126.255.255.255);
B类地址:以10开头, 第⼀个字节范围:128~191(128.0.0.0 - 191.255.255.255);
C类地址:以110开头, 第⼀个字节范围:192~223(192.0.0.0 - 223.255.255.255);
D类地址:以1110开头,第⼀个字节范围:224~239(224.0.0.0 - 239.255.255.255);(作为多播使⽤)
为什么要划分这么多类IP?
掩码是什么
IP地址与⼦⽹掩码相与得到⽹络号:
ip : 192.168.2.110
Submask : 255.255.255.0
⽹络号 :192.168.2 .0
三、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列表,并利⽤此信息发送数据。如果源主机⼀直没有收到ARP响应数据包,表⽰ARP查询失败。
⼴播发送ARP请求,单播发送ARP响应。
四、描述RARP协议
RARP是逆地址解析协议,作⽤是完成硬件地址到IP地址的映射,主要⽤于⽆盘⼯作站,因为给⽆盘⼯作站配置的IP地址不能保存。⼯作流程:在⽹络中配置⼀台RARP服务器,⾥⾯保存着IP地址和MAC地址的映射关系,当⽆盘⼯作站启动后,就封装⼀个RARP数据包,⾥⾯有其MAC地址,然后⼴播到⽹络上去,当服务器收到请求包后,就查对应的MAC地址的IP地址装⼊响应报⽂中发回给请求者。因为需要⼴播请求报⽂,因此RARP只能⽤于具有⼴播能⼒的⽹络。
五、各种协议的介绍
ICMP协议: 因特⽹控制报⽂协议。它是TCP/IP协议族的⼀个⼦协议,⽤于在IP主机、路由器之间传
递控制消息。
TFTP协议: 是TCP/IP协议族中的⼀个⽤来在客户机与服务器之间进⾏简单⽂件传输的协议,提供不复杂、开销不⼤的⽂件传输服务。HTTP协议: 超⽂本传输协议,是⼀个属于应⽤层的⾯向对象的协议,由于其简捷、快速的⽅式,适⽤于分布式超媒体信息系统。
NAT协议:⽹络地址转换属接⼊⼴域⽹(WAN)技术,是⼀种将私有(保留)地址转化为合法IP地址的转换技术,
DHCP协议:动态主机配置协议,是⼀种让系统得以连接到⽹络上,并获取所需要的配置参数⼿段,使⽤UDP协议⼯作。具体⽤途:给内部⽹络或⽹络服务供应商⾃动分配IP地址,给⽤户或者内部⽹络管理员作为对所有计算机作中央管理的⼿段。
六.TCP和UDP的区别?
TCP提供⾯向连接的、可靠的数据流传输,⽽UDP提供的是⾮⾯向连接的、不可靠的数据流传输。
TCP传输单位称为TCP报⽂段,UDP传输单位称为⽤户数据报。
TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却⼀般。
TCP对应的协议和UDP对应的协议
TCP对应的协议:
(1) FTP:定义了⽂件传输协议,使⽤21端⼝。
(2) Telnet:⼀种⽤于远程登陆的端⼝,使⽤23端⼝,⽤户可以以⾃⼰的⾝份远程连接到计算机上,可提供基于DOS模式下的通信服务。
(3) SMTP:邮件传送协议,⽤于发送邮件。服务器开放的是25号端⼝。
(4) POP3:它是和SMTP对应,POP3⽤于接收邮件。POP3协议所⽤的是110端⼝。
(5)HTTP:是从Web服务器传输超⽂本到本地浏览器的传送协议。
UDP对应的协议:
(1) DNS:⽤于域名解析服务,将域名地址转换为IP地址。DNS⽤的是53号端⼝。
(2) SNMP:简单⽹络管理协议,使⽤161号端⼝,是⽤来管理⽹络设备的。由于⽹络设备很多,⽆连接的服务就体现出其优势。
(3) TFTP(Trivial File Transfer Protocal),简单⽂件传输协议,该协议在熟知端⼝69上使⽤UDP服务。
七.TCP三次握⼿和四次挥⼿的全过程
A 的 TCP 向
B 发出连接请求报⽂段,其⾸部中的同步位 SYN = 1,并选择序号 seq = x,表明传送数据时的第⼀个数据字节的序号是
x。
B 的 TCP 收到连接请求报⽂段后,如同意,则发回确认。B 在确认报⽂段中应使 SYN = 1,使 ACK = 1,其确认号ack = x+1,⾃⼰选择的序号 seq = y。
A 收到此报⽂段后向
B 给出确认,其 ACK = 1,确认号 ack = y + 1。A 的 TCP 通知上层应⽤进程,连接已经建⽴。
B 的 TCP 收到主机 A 的确认后,也通知其上层应⽤进程:TCP 连接已经建⽴。
接收端的ACK总是等于发送端SEQ+1。
TCP的四次挥⼿
也可以看成两次握⼿(A的释放和B的释放)
过程:
现在 A 的应⽤进程先向其 TCP 发出连接释放报⽂段,并停⽌再发送数据,主动关闭 TCP 连接。A 把连接释放报⽂段⾸部的 FIN = 1,其序号seq = u,等待 B 的确认。
B 发出确认,确认号 ack = u + 1,⽽这个报⽂段⾃⼰的序号 seq = v。TCP 服务器进程通知⾼层应⽤进程。从 A 到 B 这个⽅向的连接就释放了,TCP 连接,处于半关闭状态。B 若发送数据,A 仍要接收。
若 B 已经没有要向 A 发送的数据,其应⽤进程就通知 TCP 释放连接。
tcpip协议pdfA 收到连接释放报⽂段后,必须发出确认。
在确认报⽂段中 ACK = 1,确认号 ack = w + 1,⾃⼰的序号 seq = u + 1。
⼋.为什么会采⽤三次握⼿,若采⽤⼆次握⼿可以吗?为什么采⽤四次挥⼿?三次可以吗?TIME_WAIT有什么作⽤?
为什么采⽤三次握⼿⽽不是两次?
为了防⽌已失效的连接请求报⽂段突然⼜传送到了,因⽽产⽣错误。
解释原因:如果在发送过程中的话,假如是两次:当A给B发送⼀个连接请求,因为⽹络的原因该请求没有按时到达(实际上只是晚⼀些到,但超时重传了),A就会重新发送⼀次请求,这次请求正常到,然后B就会给A⼀个确认请求,此时就可以传送数据了。但是当A第⼀次发送的数据⼜来到了(A以为这个包已经丢失了),那么B就会再次向A发送⼀个确认,此时的A就不知道这个确认的意义了(不会理会B的再次确认,因为在A看来连接已经建⽴),⽽B就会在⼀直等待着A给他发送信息(等待会导致资源浪费)。
简单的说,两次握⼿可能导致A多发⼀次SYN,导致A多接收⼀次ACK。⽽如果是三次握⼿,在第三次A向B发送ACK之后,已经超时失效的旧的SYN(来⾃第⼀次握⼿)就不会导致多余的ACK。
为什么采⽤四次挥⼿⽽不是三次?TIME_WAIT的作⽤?
1.前俩次挥⼿:结束⼀个⽅向上的链接
2.后俩次挥⼿:结束另外⼀个⽅向上的链接
TIME_WAIT
客户端接收到服务器端的 FIN 报⽂后进⼊此状态,此时并不是直接进⼊ CLOSED 状态,还需要等待⼀个时间计时器设置的时间 2MSL。这么做有两个理由:
1、确保最后⼀个确认报⽂7能够到达。如果 B 没收到 A 发送来的确认报⽂7,那么就会重新发送连接释放请求报⽂,A 等待⼀段时间就是为了处理这种情况的发⽣。如果没有TIME_WAIT,客户端会重发RST报⽂段回应服务器,服务器会认为这是⼀个错误。
2、等待⼀段时间是为了让本连接持续时间内所产⽣的所有报⽂都从⽹络中消失,使得下⼀个新的连接不会出现旧的连接请求报⽂。⼀个TCP连接处于TIME_WAIT状态时,将⽆法⽴即使⽤该连接占⽤着的端⼝来建⽴⼀个新连接。如果不存在TIME_WAIT,应⽤程序能够⽴即建⽴⼀个新的、拥有相同IP地址和端⼝号的连接(实际上客户端端⼝号是随机分配的,不太可能和上⼀次⼀样),这样可能会接收到上⼀个连接残留的旧的报⽂段。
九.TCP是怎么保证可靠性的?
发送⽅有拥塞窗⼝,发送数据前⽐对接收⽅发过来的即使窗⼝,取⼩
慢启动、拥塞避免、拥塞发送、快速恢复
应⽤数据被分割成TCP认为最适合发送的数据块。
TCP的接收端会丢弃重复的数据。
⼗.在浏览器中输⼊www.baidu后执⾏的全部过程
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论