· OSI,TCP/IP,五层协议的体系结构,以及各层协议
①OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
②TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。
③五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。
④每一层的协议以下:
物理层:RJ4五、CLOCK、IEEE802.3 (中继器,集线器)
数据链路:PPP、HDLC、VLAN、MAC (网桥,交换机)
网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP (路由器)
传输层:TCP、UDP
应用层:FTP、DNS、Telnet、SMTP、HTTP
⑤每一层的做用以下:
物理层:经过媒介传输比特,肯定机械及电气规范(比特Bit)
数据链路层:将比特组装成帧和点到点的传递(帧Frame)
网络层:负责数据包从源到宿的传递和网际互连(包PackeT)
传输层:提供端到端的可靠报文传递和错误恢复(段Segment)
会话层:创建、管理和终止会话(会话协议数据单元SPDU)
表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
应用层:容许访问OSI环境的手段(应用协议数据单元APDU)
· 在浏览器中输入www.baidu.com后执行的所有过程
①浏览器获取输入的域名
www.baidu.com
② 浏览器向DNS请求解析
www.baidu.com的IP地址
③ 域名系统DNS解析出百度服务器的IP地址
④浏览器与该服务器创建TCP链接(默认端口号80)
⑤浏览器发出HTTP请求,请求百度首页
⑥服务器经过HTTP响应把首页文件发送给浏览器
⑦TCP链接释放
⑧浏览器将首页文件进行解析,并将Web页显示给用户。
· DNS域名系统,简单描述其工做原理。
当DNS客户机须要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:指定的DNS域名,指定的查询类型,DNS域名的指定类别。基于UDP服务,端口53. 该应用通常不直接为用户使用,而是为其余应用服务,如HTTP,SMTP等在其中须要完成主机名到IP地址的转换。
①客户机向其本地域名服务器发出DNS请求报文
②本地域名服务器收到请求后,查询本地缓存,假设没有该记录,则以DNS客户的身份向根域名服务器发出解析请求
③根域名服务器收到请求后,判断该域名所属域,将对应的顶级域名服务器的IP地址返回给本地域名服务器
④本地域名服务器向顶级域名服务器发出解析请求报文
⑤顶级域名服务器收到请求后,将所对应的受权域名服务器的IP地址返回给本地域名服务器
⑥本地域名服务器向受权域名服务器发起解析请求报文
⑦受权域名服务器收到请求后,将查询结果返回给本地域名服务器
⑧本地域名服务器将查询结果保存到本地缓存,同时返回给客户机
· HTTP的状态码:
①大体可分为五大类
100-199 信息,服务器收到请求,须要请求者继续执行操做。指定客户端应相应的某些动做。
200-299 用于表示请求成功。
300-399 重定向,须要进一步的操做以完成请求
400-499 用于指出客户端的错误。请求包含语法错误或没法完成请求
500-599 用于支持服务器错误。服务器在处理请求的过程当中发生了错误
②常见的状态码
206 部份内容。服务器成功处理了部分GET请求
301 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。从此任何新的请求都应使用新的URI代替。
302 临时移动。与301相似。但资源只是临时被移动。客户端应继续使用原有URI
400 (错误请求) 服务器不理解请求的语法。
404 (未找到) 服务器找不到请求的网页。
500 (服务器内部错误) 服务器遇到错误,没法完成请求。
505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。
· HTTP和HTTPS的区别:
https:全称Hyper Text Transfer Protocol Secure,相比http,多了一个secure,这一个secure是怎么来的呢?这是由TLS(SSL)提供的,能够简单理解为 HTTPS=HTTP+SSL。
①HTTP 的 URL 以 http:// 开头,而 HTTPS 的 URL 以 https:// 开头
②HTTP 是相对不安全的,而 HTTPS 是相对安全的
③HTTP 标准端口是 80 ,而 HTTPS 的标准端口是 443
④在 OSI 网络模型中,HTTP 工做于应用层,而 HTTPS 工做在传输层
⑤HTTP 无需加密,而 HTTPS 对传输的数据进行加密
⑥HTTP 无需证书,而 HTTPS 须要认证证书
· TCP和UDP的区别?
①TCP提供面向链接的、可靠的数据流传输,而UDP提供的是非面向链接的、不可靠的数据流传输。
②TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报。
③TCP注重数据安全性,UDP数据传输快,由于不须要链接等待,少了许多操做,可是其安全性却通常。
④TCP对应的协议和UDP对应的协议
1). TCP对应的协议:
FTP:定义了文件传输协议,使用21端口。
Telnet:一种用于远程登录的端口,使用23端口,用户能够以本身的身份远程链接到计算机上,可提供基于DOS模式下的通讯服务。
SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。
POP3:它是和SMTP对应,POP3用于接收邮件。POP3协议所用的是110端口。
HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。
2). UDP对应的协议:
DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。
SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。因为网络设备不少,无链接的服务就体现出其优点。
TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。
· TCP是怎么保证传输可靠的?
①确认和重传:接收方收到报文就会确认,发送方发送一段时间后没有收到确认就重传。
②数据校验
③数据合理分片和排序:TCP会按MTU合理分片,接收方会缓存未按序到达的数据,从新排序后再交给应用层。
TCP为何引入接受缓存这个数据结构?
若是没有接受缓存的话,或者说只有一个缓存的话,为了保证接受的数据是按顺序传输的,因此若是位于x序号以后的序号分组先到达目的主机的运输层的话必然丢弃,这样的话将在重传上花费很大的开销,因此通常若是有过大的序号达到接收端,那么会按照序号缓存起来等待以前的序号分许到达,而后一并交付到应用进程。
④流量控制
当接收方来不及处理发送方的数据,能提示发送方下降发送的速率,防止包丢失。
⑤拥塞控制
当网络拥塞时,减小数据的发送。
· 了解交换机、路由器、网关的概念,并知道各自的用途
①交换机
在计算机网络系统中,交换机是针对共享工做模式的弱点而推出的。交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的全部的端口都挂接在这条背部总线上,当控制电路收到数据包之后,处理端口会查找内存中的地址对照表以肯定目的MAC(网卡的硬件地址)的NIC(网卡)挂接在哪一个端口上,经过内部交换矩阵迅速将数据包传送到目的端口。目的MAC若不存在,交换机才广播到全部的端口,接收端口回应后交换机会“学习”新的地址,并把它添加入内部地址表中。
交换机工做于OSI参考模型的第二层,即数据链路层。交换机内部的CPU会在每一个端口成功链接时,经过ARP协议学习它的MAC地址,保存成一张 ARP表。在从此的通信中,发往该MAC地址的数据包将仅送往其对应的端口,而不是全部的端口。所以,交换机可用于划分数据链路层广播,即冲突域;但它不能划分网络层广播,即广播域。
②路由器
路由器(Router)是一种计算机网络设备,提供了路由与转送两种重要机制,能够决定数据包历来源端到目的端所通过的路由路径(host到host之间的传输路径),这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转送。路由工做在OSI模型的第三层——即网络层,例如网际协议。
路由器的一个做用是连通不一样的网络,另外一个做用是选择信息传送的线路。 路由器与交换器的差异,路由器是属于OSI第三层的产品,交换器是OSI第二层的产品(这里特指二层交换机)。
③网关
网关(Gateway),网关是链接两个网络的设备,
在传统TCP/IP术语中,网络设备只分红两种,一种为网关(gateway),另外一种为主机(host)。网关能在网络间转递数据包,但主机不能转送数据包。在主机中,数据包需通过TCP/IP四层协议处理,可是在网关只须要到达网际层,决定路径以后就能够转送。
在现代网络术语中,网关(gateway)与路由器(router)的定义不一样。网关(gateway)能在不一样协议间移动数据,而路由器(router)是在不一样网络间移动数据。
对于以太网中的网关只能转发三层以上数据包,这一点和路由是同样的。而不一样的是网关中并无路由表,他只能按照预先设定的不一样网段来进行转发。网关最重要的一点就是端口映射,子网内用户在外网看来只是外网的IP地址对应着不一样的端口,这样看来就会保护子网内的用户。
· IP地址的分类
A类地址:以0开头, 第一个字节范围:0~127(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);
除去以上三类公有IP的,剩下的为私有IP:10.0.0.0—10.255.255.255, 172.16.0.0—172.31.255.255, 192.168.0.0—192.168.255.255。
· ARP是地址解析协议,简单语言解释一下工做原理。
①每一个主机都会在本身的ARP缓冲区中创建一个ARP列表,以表示IP地址和MAC地址之间的对应关系。
②当源主机要发送数据时,首先检查ARP列表中是否有对应IP地址的目的主机的MAC地址,若是有,则直接发送数据,若是没有,就向本网段的全部主机发送ARP数据包,该数据包包括的内容有:源主机 IP地址,源主机MAC地址,目的主机的IP 地址。
③当本网络的全部主机收到该ARP数据包时,首先检查数据包中的IP地址是不是本身的IP地址,若是不是,则忽略该数据包,若是是,则首先从数据包中取出源主机的IP和MAC地址写入到ARP列表中,若是已经存在,则覆盖,而后将本身的MAC地址写入ARP响应包中,告诉源主机本身是它想要找的MAC地址。
④源主机收到ARP响应包后。将目的主机的IP和MAC地址写入ARP列表,并利用此信息发送数据。若是源主机一直没有收到ARP响应数据包,表示ARP查询失败。
广播发送ARP请求,单播发送ARP响应。
· RARP(反向地址转换协议):
反向地址转换协议就是将局域网中某个主机的物理地址转换为IP地址,好比局域网中有一台主机只知道物理地址而不知道IP地址,那么能够经过RARP协议发出征求自身IP地址的广播请求,而后由RARP服务器负责回答。RARP协议普遍用于获取无盘工做站的IP地址。
①给主机发送一个本地的RARP广播,在此广播包中,声明本身的MAC地址而且请求任何收到此请求的RARP服务器分配一个IP地址;
②本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;
③若是存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;
④若是不存在,RARP服务器对此不作任何的响应;
⑤源主机收到从RARP服务器的响应信息,就利用获得的IP地址进行通信;若是一直没有收到RARP服务器的响应信息,表示初始化失败。
· 为何有了可靠地TCP还须要不可靠的UDP?
①TCP的优缺点。优势呢,TCP是可靠的链接,因为有基本的重传确认机制,能够保证把一个数据块完完整整的从A传到B;缺点也是因优势而生,由于有三次握手,因此会传输更多的包,浪费一些带宽;由于须要可靠地链接进行通讯,则须要双方都必须持续在线,因此在通讯过程当中server须要维持很是大的并发链接,浪费了系统资源,甚至会出现宕机;再者就是由于有重传确认,则会浪费一部分的带宽,且在很差的网络中,会由于不断地链接断开链接,严重下降了传输效率。
②相对于TCP来讲,UDP是非面向链接的不可靠的协议,其优势也由于缺点而生。首先,由于没有三次握手,因此会起步比较快,延时小;另外,因为不须要双方持续在线,因此server不用维护巨量的并发链接,节省了系统资源;三,由于没有重传确认,虽然到达的数据可能会有所缺失,但在不影响使用的状况下,能更高效的利用网络带宽。
③TCP适合实时性要求不高、但要求内容要完整传输的应用。相比而言,UDP因为无链接、无重传确认,因此传输效率高、延时小,适合实时性要求高的应用,如游戏服务器,音频,视频等;另外,因为不用维持大的并发量,因此适合巨量服务的server,加上合适的时间控制,能够用来设计更大的并发服务器;再者就是,UDP能够更高效的利用网络带宽。
· 数据链路两端的设备是:DTE或DCE
DTE(DataTerminalEquipment)数字终端设备:指通常的终端或是计算机。多是大、中、小型计算机,也多是一台只接收数据的打印机。
DCE(DataCircuit-terminatingEquipment)数字通讯设备:一般指调制解调器,多路复用器或数字设备。
DTE,DCE的区别
DCE一方提供时钟,DTE不提供时钟,但它依靠DCE提供的时钟工做。好比PC机和MODEM之间的链接。PC机就是一个DTE,MODEM是一个DCE。DTE能够从硬件上区别它的接口为针式,DCE的接口为孔式。
· Socket编程注意点
客户端(client):socket→connect→具体操做
服务端(serve):socket→bind→listen→accept→具体操做
(bind:端口绑定; listen:端口监听; accept:阻塞,等待客户端connect)
(socket:把TCP/IP协议隐藏在软件接口后面)
· P2P本质上仍是C/S模式,只不过交互的双方既是服务器又是客户端。
· 路由汇聚: 路由汇聚的“含义”是把一组路由汇聚为一个单个的路由。路由汇聚的最终结果和最明显的好处是缩小网络上的路由表的尺寸。这样将减小与每个路由跳有关的延迟,由于因为减小了路由登陆项数量,查询路由表的平均时间将加快。路由汇聚的“用意”是当咱们采用了一种体系化编址规划后的一种用一个IP地址表明一组IP地址的集合的方法。
|