网络基础知识
网络
OSI,TCP/IP,五层协议的体系结构,以及各层协议
OSI分层(7层):
- 物理层(协议:RJ45、CLOCK、IEEE802.3 作用:通过媒介传输比特,确定机械及电气规范)
- 数据链路层(协议:PPP、FR、HDLC、VLAN、MAC 作用:将比特组装成帧和点到点的传递)
- 网络层(协议:IP、ICMP、ARP、IGRP 作用:负责数据包从源到宿的传递和网际互连)
- 传输层(协议:TCP、UDP、SPX 作用:提供端到端的可靠报文传递和错误恢复)
- 会话层(协议:NFS、SQL、RPC 作用:建立、管理和终止会话)
- 表示层(协议:JPEG、MPEG、ASII 作用:对数据进行翻译、加密和压缩)
- 应用层(协议:FTP、DNS、HTTP、WWW 作用:允许访问OSI环境的手段)
TCP/IP分层(4层):
- 网络接口层
- 网际层
- 运输层
- 应用层
五层协议(5层):
- 物理层
- 数据链路层
- 网络层
- 运输层
- 应用层
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);(作为多播使用)
E类地址:保留
其中A、B、C是基本类,D、E类作为多播和保留使用。
以下是留用的内部私有地址:
A类 10.0.0.0--10.255.255.255
B类 172.16.0.0--172.31.255.255
C类 192.168.0.0--192.168.255.255
TCP三次握手和四次挥手:
建立连接需要三次握手,断开连接需要四次挥手
-
第一次握手:客户端发送syn包(syn = 1,seq = x)到服务器,并进入SYN_SENT状态,等待服务器确认
-
第二次握手:服务器收到syn包,必须确认客户的SYN(ack = x + 1),同时自己也发送一个SYN包(syn = y),即SYN + ACK包,此时服务器进入SYN_RECV状态
-
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack = y + 1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
握手过程中传送的包里不包含数据,三次握手完毕之后。客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP连接都将被一直保持下去
-
第一次挥手:主动关闭方发送一个FIN,用来关闭主动方到被动关闭方的数据传送,也就是主动关闭方告诉被动关闭方:我已经不会再给你发数据了,但是此时主动关闭方还可以接受数据
-
第二次挥手:被动关闭方收到FIN包后,发送一个ACK给对方,确认序号为收到序号+1
-
第三次挥手:被动关闭方发送一个FIN,用来关闭被动关闭方到主动关闭方的数据传送,也就是告诉主动关闭方,我的数据也发送完了,不会再给你发数据了。
-
第四次挥手:主动关闭方收到FIN后,发送一个ACK给被动关闭方,确认序号为收到序号+1,至此,完成四次挥手
在浏览器中输入www.baidu.com后的执行过程
- 客户端浏览器通过DNS解析到百度的IP地址为220.181.27.48,通过这个IP地址找到客户端到服务端的路径。客户端浏览器发起一个HTTP会话到220.181.27.48,然后通过TCP进行封装数据包,输入到网络层
- 在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如服务器使用80端口监听客户端的请求,客户端由系统随机选择一个端口如5000,与服务器进行交换,服务器把相应的请求返回给客户端的5000端口。然后使用IP层的IP地址查找目的端。
- 客户端的网络层不用关心应用层或者传输层的东西,主要做的是通过查找路由表确定如何到达服务器,期间可能经过多个路由器,这些都是由路由器来完成的工作,我不作过多的描述,无非就是通过查找路由表决定通过那个路径到达服务器。
- 客户端的链路层,包通过链路层发送到路由器,通过邻居协议查找给定IP地址的MAC地址,然后发送ARP请求查找目的地址,如果得到回应后就可以使用ARP的请求应答交换的IP数据包现在就可以传输了,然后发送IP数据包到达服务器的地址。
TCP与UDP的区别:
TCP提供面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。
TCP传输单位称为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服务。
DNS域名系统,简单描述其工作原理
当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称。客户机发送的每条查询信息包括三条信息:包括:
指定的DNS域名,指定的查询类型,DNS域名的指定类别。
基于UDP服务,端口53. 该应用一般不直接为用户使用,而是为其他应用服务,如HTTP,SMTP等在其中需要完成主机名到IP地址的转换。
交换机、路由器、网关:
-
交换机:
在计算机网络系统中,交换机是针对共享工作模式的弱点而推出的。
交换机拥有一条高带宽的背部总线和内部交换矩阵。交换机的所有的端口都挂接在这条背 部总线上
交换机工作于OSI参考模型的第二层,即数据链路层。
-
路由器:
路由器(Router)是一种计算机网络设备,提供了路由与转送两种重要机制,可以决定数据包从来源端到目的端所经过 的路由路径(host到host之间的传输路径),这个过程称为路由;
路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转 送。路由工作在OSI模型的第三层——即网络层,例如网际协议。
-
网关:
**网关(Gateway),网关顾名思义就是连接两个网络的设备,区别于路由器(由于历史的原因,许多有关TCP/IP 的文献曾经把网络层使用的路由器(Router)称为网关,在今天很多局域网采用都是路由来接入网络,因此现在通常指的网关就是路由器的IP),经常在家 庭中或者小型企业网络中使用,用于连接局域网和Internet。 **