系列文章目录
UDP协议和TCP协议
HTTP协议和HTTPS协议
一、计算机网络
1、计算机网络应该满足的条件
1)至少拥有两台以上的计算机。
2)传输媒体和通信设备把若干台计算机连接到一起。
3)需要网络软件,含操作系统。
4)为了正确地通信,需要有一个共同遵守的约定——通信协议。
5)把多台计算机连接在一起,形成一个网络,是为了通信和资源共享。
2、计算机网络的分类
2.1 根据覆盖地理范围划分:
1)局域网 LAN:方圆几千米以内。
2)城域网 MAN
3) 广域网 WAN:几十千米到几百千米。
4)Internet 因特网
2.2 网络体系结构/网络模型分类
1) ISO/OSI 模型 国际标准化组织/开放系统互联模型
2)TCP/IP 模型
TCP/IP(Transmission Control Protocol/Internet Protocol),传输控制协议/互联网协议,是由很多协议构成的一个协议族
因特网中实际采用的标准,TCP/IP 是 ARPANET 为了实现异种网的互联,在对网间网的研究和应用中产生的
二、OSI模型
1、应用层
应用层(Application Layer)是OSI参考模型的最高层,它是计算机用户以及各种应用程序和网络之间的接口。
具体功能:
1)实现各种服务
- 应用层专注于为用户提供应用功能,它所具有的各种应用程序可以完成和实现用户请求的各种服务,同时应用层负责协调各个应用程序间的工作
2)用户接口。
相关协议:
应用层为用户提供的服务和协议有:
文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务等。
2、表示层
表示层(Presentation Layer)是OSI模型的第六层,
具体功能:
-
数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。 -
数据的编码:处理字符集和数字的转换。例如由于用户程序中的数据类型(整型或实型、有符号或无符号等)、用户标识等都可以有不同的表示方式,因此在设备之间需要具有在不同字符集或格式之间转换的功能。 -
压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与恢复。 -
数据的加密和解密:可以提高网络的安全性
3、会话层
将不同实体之间的表示层的连接称为会话。会话层(Session Layer)是OSI模型的第5层,是用户应用程序和网络之间的接口,
主要任务是:
-
向两个实体的表示层提供建立和使用连接的方法,即建立端口到端口的通信。 -
组织和协调两个会话进程之间的通信,并对数据交换进行管理。
用户可以按照半双工、单工和全双工的方式建立会话。当建立会话时,用户必须提供他们想要连接的远程地址。而这些地址与MAC(介质访问控制子层)地址或网络层的逻辑地址不同,它们是为用户专门设计的,更便于用户记忆。
域名(DN)就是一种网络上使用的远程地址例如:www.3721.com就是一个域名。
具体功能:
-
会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换。例如提供单方向会话或双向同时会话,并管理会话中的发送顺序,以及会话所占用时间的长短。 -
会话流量控制:提供会话流量控制和交叉会话功能。 -
寻址:使用远程地址建立会话连接。 -
出错控制:从逻辑上讲会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并负责纠正错误。会话控制和远程过程调用均属于这一层的功能。但应注意,此层检查的错误不是通信介质的错误,而是磁盘空间、打印机缺纸等类型的高级错误。
4、传输层
OSI下3层的主要任务是数据通信,上3层的任务是数据处理。而传输层(Transport Layer)是OSI模型的第4层。因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。
该层的主要任务是:
该层常见的协议:
-
TCP/IP中的TCP协议 -
Novell网络中的SPX协议 -
微软的NetBIOS/NetBEUI协议。
传输层提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时,对数据进行分割。然后,传输层将数据传递到网络层,并确保数据能正确无误地传送到网络层。因此,传输层负责提供两节点之间数据的可靠传送,当两节点的联系确定之后,传输层则负责监督工作。
综上,传输层的主要功能如下:
-
传输连接管理:提供建立、维护和拆除传输连接的功能。传输层在网络层的基础上为高层提供“面向连接”和“面向无接连”的两种服务。 -
处理传输差错:提供可靠的“面向连接”和不太可靠的“面向无连接”的数据传输服务、差错控制和流量控制。 在提供“面向连接”服务时,通过这一层传输的数据将由目标设备确认,如果在指定的时间内未收到确认信息,数据将被重发。监控服务质量。
5、网络层
网络层(Network Layer)是OSI模型的第三层,它是OSI参考模型中最复杂的一层,也是通信子网的最高一层。它在下两层的基础上向资源子网提供服务。 其主要任务是:
-
通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。 -
该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。 -
具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。 -
网络层负责将数据从一个设备传输到另一个设备,即建立主机到主机的通信。
主要用到IP协议和路由:
在实现网络层功能时,需要解决的主要问题如下:
-
寻址:数据链路层中使用的物理地址(如MAC地址)仅解决网络内部的寻址问题。在不同子网之间通信时,为了识别和找到网络中的设备,每一子网中的设备都会被分配一个唯一的地址。由于各子网使用的物理技术可能不同,因此这个地址应当是逻辑地址(如IP地址)。 -
交换:规定不同的信息交换方式。常见的交换技术有:线路交换技术和存储转发技术,后者又包括报文交换技术和分组交换技术。 -
路由算法:当源节点和目的节点之间存在多条路径时,本层可以根据路由算法,通过网络为数据分组选择最佳路径,并将信息从最合适的路径由发送端传送到接收端。 -
连接服务:与数据链路层流量控制不同的是,前者控制的是网络相邻节点间的流量,后者控制的是从源节点到目的节点间的流量。其目的在于防止阻塞,并进行差错检测。
6、数据链路层
数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路。
该层的主要功能是:
- 在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。
该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。
数据链路层的具体工作是:
- 接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;
- 同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层;
- 并且,还负责处理接收端发回的确认帧的信息,以便提供可靠的数据传输。
交换机:解决了冲突的问题,实现了任意两台电脑的互联,提升了网络间的传输速度。根据网口地址传送信息,工作在数据链路层。适合局域网。
7、物理层
在OSI参考模型中,物理层(Physical Layer)是参考模型的最低层,也是OSI模型的第一层。
物理层的主要功能是:
集线器:将网线集结起来,实现最初级的网络互通,直接通过网线直接传送数据的,工作在物理层。
8、计算机网络为什么有七层
建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题。
它的最大优点是将服务、接口和协议这三个概念明确地区分开来:
-
服务说明某一层为上一层提供一些什么功能 -
接口说明上一层如何使用下层的服务 -
协议涉及如何实现本层的服务
这样各层之间具有很强的独立性,互连网络中各实体采用什么样的协议是没有限制的,只要向上提供相同的服务并且不改变相邻层的接口就可以了。
网络七层的划分也是为了使网络的不同功能模块(不同层次)分担起不同的职责,从而带来如下好处:
-
减轻问题的复杂程度,一旦网络发生故障,可迅速定位故障所处层次,便于查找和纠错; -
在各层分别定义标准接口,使具备相同对等层的不同网络设备能实现互操作,各层之间则相对独立,一种高层协议可放在多种低层协议上运行; -
能有效刺激网络技术革新,因为每次更新都可以在小范围内进行,不需对整个网络动大手术
9、IP网络层与数据链路层有什么区别
IP的作用是主机之间通信的,
MAC的作用则是实现直连的两个设备之间通信,而IP则负责在没有直连的两个网络之间进行通信传输。
源IP地址和目的地址在传输过程中是不会变化的,只有源MAC地址和目标MAC地址一直在变化。
三、TCP/IP模型
TCP/IP四层网络协议分别是应用层,网络层,传输层,数据链路层
1、tcp/IP各层的协议
-
应用层:超文本传输HTTP、文件传输FTP、域名系统DNS、安全外壳SSH。 -
传输层:传输控制TCP、用户数据报文UDP。 -
网络层:网际协议IP、地址转换ARP、反向地址转换RARP、互联网控制报文协议ICMP、互联网组管理协议IGMP、路由信息协议RIP、边界网关协议BGP。 -
数据链路层:自动重传请求协议ARQ、停止等待协议CSMA/CD、点对点协议PPP。
停止等待协议:
2、ip协议
IP (Internet Protocol)译为网际协议/网络协议/互联网协议。
1)对数据包寻址和路由,并从一个网络转发到另一个网络。
- IP 协议在每个发送的数据包前加入一个控制信息,其中包含了源主机的 IP 地 址、目的主机的 IP 地址和其他一些信息。
2)分割和重组在传输层被分割的数据包。
- 由于数据包要从一个网络到另一个网络,当两个网络所支持传输的数据包的大小不相同时,IP协议就要在发送端将数据包分割,然后在分割的每一段前再 加入控制信息进行传输。当接收端接收到数据包后,IP 协议将所有的片段重新组合形成原始的数据。
3)无连接传递数据。
- 无连接是指主机之间不建立用于可靠通信的端到端的连接,源主机只是简单地 将 IP数据包发送出去,而数据包可能会丢失、重复、延迟时间大或者IP 包的次序会混乱。
要实现数据包的可靠传输,就必须依靠高层的协议或应用程序,如传输层的 TCP 协议。
3、IP相关协议
-
DNS域名解析(Domain Name System 域名系统): 将域名网址自动转换为具体的IP地址。 -
ARP协议(Address Resolution Protocol 地址解析协议): 由IP地址求MAC地址。 -
RARP协议:由MAC地址求IP地址。 -
DHCP协议((Dynamic Host Configuration Protocol 动态主机配置协议): 动态获取IP地址,省去配置IP信息的过程。 -
NAT:网络地址转换 -
ICMP协议(Internet Control Message Protocol 互联网控制报文协议): 报告网络包在网络传输过程中出现问题的原因信息等。可分为用于诊断的查询消息(查询报文类型)和用于通知出错原因的错误消息(差错报文类型)。 -
IGMP协议(互联网组管理协议):组播的管理。
常用网络协议
四、ip地址
IP地址:
IP地址由32位正整数来表示,由网络号+主机号识别。
-
A类:0+7位网络号+24位主机号 0.0.0.0~127.255.255.255 -
B类:10+14位网络号+16位主机号 128.0.0.0~191.255.255.255 -
C类:110+24位网络号+8位主机号 192.0.0.0~223.255.255.255 -
主机号全为1,指定某网络下的所有主机(用于广播)。 -
使用D类地址用于多播(可以穿透路由)。
IP地址 & 子网掩码 = 网络号
为什么要分离网络号和主机号?
- 因为两台计算机要通讯,首先要判断是否处于同一个广播域内,即网络地址是都相同,如果网络地址相同表明接收方在本网络上,那么可以直接把数据包发送到目标主机。
无分类编址CIDR:
-
因为IP分类存在许多缺点,所有后面提出了无分类地址的方案,这种方式不再有分类地址的概念 -
32比特的IP地址被划分为两部分,前面是网络号,后面是主机号。表现形式是a.b.c.d/x,其中/x 表示前 x 位属于网络号, x 的范围是 0 ~ 32,这就使得 IP 地址更加具有灵活性。 -
比如10.100.122.2/24,这种地址表示形式就是 CIDR,/24 表示前 24 位是网络号,剩余的 8 位是主机号。 -
网络前缀 + 主机号 (网络前缀是任意的) CIDR中没有A/B/C类网络号,和子网划分的概念。CIDR将网络前缀相同的IIP地址称为一个“CIDR地址块”。相比原来子网划分更加灵活。
ip地址的abcd类是怎样分的
-
A类地址的表示范围是:0.0.0.0-126.255.255.255,默认网络掩码为:255.0.0.0,A类地址分配给规模特别大的网络使用, -
B类地址表示范围是:128.0.0.0-191.255.255.255,默认网络掩码为欸:255.255.0.0,B类地址分配给一般的中型网络 -
C类地址的表示范围是192.0.0.0-223.255.255.255,默认网络掩码是:255.255.255.0,C类地址分配给小型网络,如局域网 -
D类地址称为广播地址,共特殊协议向选定的节点发送信息使用。 这样便于寻址和层次化的构造网络。
ipv6的位数
- IPv6的128位地址通常写成8组,每组由四个十六进制数组成。
两个机器之间的通讯过程 PC1 首先判断目标ip是否和自己在同一网段,是就进行ARP广播,解析出MAC地址。不是,则将网关的MAC地址作为MAC地址。
PC1封装的数据包括目标、源的端口号、IP、MAC地址。
交换机收到数据后,对比MAC地址表,知道从哪个口发出数据。 路由收到数据后根据路由表将数据发往下一个目标地。
最后一个路由通过ARP解析出PC2的MAC地址。 路由封装的数据包括目标、源的端口号、IP、MAC地址。
实现防火墙的主流技术有三种:
-
包过滤技术 包过滤是最早使用的一种防火墙技术,包过滤技术工作的地方就是各种基于TCP/IP协议的数据报文进出的通道,它把这两层作为数据监控的对象,对每个数据包的头部、协议、地址、端口、类型等信息进行分析,并与预先设定好的防火墙过滤规则(Filtering Rule)进行核对,一旦发现某个包的某个或多个部分与过滤规则匹配并且条件为“阻止”的时候,这个包就会被丢弃。 -
应用级网关技术(应用代理技术) 由于包过滤技术无法提供完善的数据保护措施,而且一些特殊的报文攻击仅仅使用过滤的方法并不能消除危害(如SYN攻击、ICMP洪水等),因此人们需要一种更全面的防火墙保护技术,在这样的需求背景下,采用“应用代理”(Application Proxy)技术的防火墙诞生了。 一个完整的代理设备包含一个服务端和客户端,服务端接收来自用户的请求,调用自身的客户端模拟一个基于用户请求的连接到目标服务器,再把目标服务器返回的数据转发给用户,完成一次代理工作过程。 -
状态检测技术 这种防火墙技术通过一种被称为“状态监视”的模块,在不影响网络安全正常工作的前提下采用抽取相关数据的方法对网络通信的各个层次实行监测,并根据各种过滤规则作出安全决策NAT技术,是网络地址转换技术,将专用网的网络地址转换为全球IP地址,从而与外界进行通信。需要注意的是,NAT技术可以隐藏内部网的主机,从而在一定程度上避免网络攻击,但不是主要的实现防火墙的技术。
|