综述

 

OSI标准的七层体系结构概念和理论清楚,但不实用。TCP/IP标准是一个四层体系结构,包括应用层,传输层,网络层(网络层是为了强调这一层是为了解决不同网络互连的问题),网络接口层。但网络接口层没有什么具体内容。因此采用折中的办法去综合OSI和TCP/IP的优点。采用一种只有五层协议的体系结构:将TCP/IP的网络接口层分为数据链路层,物理层。TCP/IP标准也常被人叫做TCP/IP协议,它不是传输层的TCP协议和网络层的IP协议它是为了实现网络互连而定义的一组协议的统称是网络互连的标准涵盖从应用层到网络接口层的各个协议。(TCP/IP协议组中传输层是包括UDP协议的)

HTTP超文本传输协议是互联网上应用最广泛的一种协议,此协议旨在统一发布和接收HTML页面的方法。(万维网创始人的智慧)

TCP/IP因特网互联协议又称网络通讯协议,是国际互联网络的基础,旨在解决不同网络互相连接的问题。TCP/IP定义了电子设备如何连入因特网,以及数据如何在他们之间传输的标准,协议采用了四层结构,主要由网络层的IP协议和传输层的TCP协议组成。

HTTP并没有规定必须使用支持TCP/IP协议的网络(尽管支持TCP/IP协议的网络最多,大多数网络通过实现TCP/IP协议来接入全球最大的网络因特网)来实现超文本的传输,HTTP协议只设定下层可以提供可靠的传输,超文本传输便可被实现。

 

 

应用层:直接为用户的应用进程提供服务,应用层协议有支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议,支持远程登录的TELNET协议。(FTP基于TCP协议)

超文本传送协议HTTP是一个应用层协议,通常使用TCP可靠连接进行传送(只要实现了可靠传输的网络,都可以使用HTTP来进行超文本的传输,只是在可靠传输中使用TCP可靠连接的多)。

URL的一般形式:协议://主机:端口/路径

URL的第一部分是协议,指用什么协议来获取万维网文档,最常用的是HTTP超文本传输协议,其次是FTP文件传送协议。

超文本传输操作:服务器监听TCP的80端口,一旦监听到浏览器发出的连接建立请求且建立TCP连接后,浏览器就向万维网服务器发出某个页面的请求,服务器返回请求页面作为响应。响应后TCP连接被释放。

实现超文本传输首先要和服务器建立可靠连接,通常使用TCP连接。TCP连接需要三次握手,当三次握手的前两次完成后,浏览器就把HTTP请求报文作为TCP连接第三次握手的报文发给万维网服务器。

域名到IP地址的解析过程是由互联网上的域名服务器(程序)解析完成的。当应用进程需要把远程主机名解析为ip地址时,应用进程把待解析的域名放进DNS请求报文中发给本地域名服务器,本地域名服务器解析后把对应的ip地址返回。

域名:例如mail.cctv.com,这是中央电视台的邮件服务器,级别最低的域名写在最左边,com是顶级域名,cctv是二级域名,mail是三级域名,域名只能由数字和字母组成,字母不区分大小写。

国家顶级域名:cn——中国,us——美国,uk——英国。

通用顶级域名:com——公司企业,net——网络服务机构等等。

传输层:传输层的任务是负责向应用层提供通信服务,从网络层来说,IP数据报首部明确标识了主机的IP地址,但真正通信的是主机上的进程。由于主机可同时运行多个进程,因此运输层有复用和分用的功能。复用指多个应用进程同时使用下面运输层的服务。分用则指运输层把收到的信息分别交给上面应用层中相应的进程。运输层协议有TCP传输控制协议——面向连接,数据传输单位是报文段,提供可靠的交付。UDP用户数据报协议——无连接的,数据传输单位是用户数据报,不保证交付的可靠性。TCP协议:在传送数据前必须先建立连接,数据传送完成后必须释放连接。UDP协议:传送数据前不需要建立连接,远程主机收到UDP报文后不需要确认。

TCP三次握手:A发起建立连接请求,B收到后如果同意建立连接则向A发出确认,A再次向B进行确认(避免A之前的连接失效后A不想连了B却又突然收到了失效的请求而建立了和A的连接一直等待),则连接建立。三次握手只是建立建立,真正的传输数据还没开始。

TCP四次握手:A发起释放连接请求,B回复A进行确认(确认后A不能再向B发送数据,A到B方向的连接关闭)。然后A等待B发起释放连接请求,A回复B进行确认(确认后B到A方向的连接被关闭)。至此连接才算完全关闭。

网络层:本层负责将运输层产生的报文段或用户数据报封装成分组或包进行传送。TCP/IP体系中网络层使用IP协议。网络层的另一个任务是选择合适的路由,是源主机运输层传下来的分组,能够通过网络中的路由器找 到目标主机。因特网由大量的异构网络通过路由器相互连接起来。因特网使用的网络层协议主要是无连接的网际协议IP和多种路由选择协议。

数据链路层:数据链路层将网络层交付下来的IP数据报组装成帧,在两个相邻结点间(主机和路由器间或两个路由器间)的链路上透明得传送帧中的数据。每一帧包括数据和必要的控制信息(地址信息,同步信息,查错控制 等)。典型的帧长几百字节到一千多字节。

物理层:物理层的任务是传送比特流。发送方发送1时接收方应收到1而不是0。并且进行数据传输方式的转换。

如图所示应用数据给了第五层应用层后,应用层加上控制信息H5后交给第四层运输层,整体作为运输层的数据部分,运输层的数据部分加上该层的控制信息H4整体再交给第三层后作为第三层的数据部分。。。注意数据链路层将该层的控制信息加到了该层数据部分的首部和尾部。而物理层由于是比特流的传送,不需要加控制信息。

  

                                                                     物理层

 

数据在计算机中多采用并行传输方式,但数据在通信线路上的传输方式一般都是串行传输(处于经济考虑),即逐个比特按照时间顺序传输,因此物理层还要完成传输方式的转换。

数据通信的模型:

 

 

源系统一般包括两部分:

源点/源站/信源:源点设备产生数据,如PC机键盘输入汉字后PC机产生输出的数字比特流。

发送器:源点生成的数字比特流需要发送器编码转换成光/电信号后才能在传输系统中传输。典型的发送器是调制器,现在许多PC机有内置的调制解调器(包含调制器和解调器),用户在PC机外面看不见调制解调器。

目标系统也包括两部分:

接收器:典型的接收器是解调器,负责把来自传输线路上的模拟信号进行解调,还原出发送端产生的数字比特流。

终点:从接收器获取数字比特流最终输出信息。

传输系统可能是简单的传输线,也可能是复杂的网络系统。传输系统中传输的光电信号(比如铜线或光纤中的电磁波)是数据的电气的或电磁的表现。

关于信道(channel):

信道和电路不同,信道表示向某个方向传送信息的媒体,单向通信电路只包含一条信道(从发送方到接受方方向的信道)(任何电路最多只有两个信道,双向通信的话是两个信道)。信道有点对应于三次握手中的每一次握手。

 

                                                                               数据链路层

数据链路层使用的协议主要有:点对点信道和广播信道。

点对点信道的数据链路层通信主要步骤:

1.节点A的数据链路层把网络层交付下来的IP数据包添加首部和尾部封装成帧。

2.把封装好的帧发送给结点B的数据链路层。

3.节点B的数据链路层收到的帧无差错则从收到的帧中提取出IP数据报上交给网络层,否则丢弃此帧。

数据链路层不必考虑物理层如何实现比特流传输的细节。

点对点协议PPP:

因特网用户需要连接到某个ISP(互联网服务提供商)才能接入到因特网。PPP协议就是用户计算机和ISP通信时使用的数据链路层协议。

PPP协议的帧格式:

 

网卡(适配器)的作用:mac地址是厂家固定在网卡中的,用来表示一个唯一的网络节点。

计算机与外界局域网的连接是通过通信适配器,适配器本来是在主机箱内插入的一块网络接口板(或者是笔记本电脑中插入一块PCMCIA卡)。这种接口板又称为网络接口卡NIC也叫网卡。较新的计算机主板会嵌入适配器,不再使用单独插入的适配器/网卡。网卡上有处理器和存储器(包括RAM和ROM)。网卡和局域网之间的通信通过电缆或双绞线以串行传输方式进行,而网卡和计算机之间的通信则通过计算机主板上的I/O总线以并行传输方式进行。因此适配器的一个重要功能就是进行数据串行传输和并行传输的转换。

适配器收到有差错的帧时直接丢弃而不通知计算机,收到正确的帧时交给上层的网络层并用中断来通知计算机。计算机发送IP数据报时将其交给适配器,适配器将IP数据报封装成帧后发送到局域网。

一般网卡/适配器包含了数据链路层和物理层的功能,负责将IP数据报组装成帧并完成数据传输方式的转换(串行并行)。

(1)物理层

l  转发器(repeater):有源转发器将信号解调后再生放大,再调制后传输。

l  集线器(hub):实现星形拓扑的以太网,简单转发比特。

调制/解调器:转换光电信号为比特流。

(2)数据链路层

l  适配器:又称网络接口卡NIC(Network Interface Card),或网卡。用于计算机和局域网的通信。

l  网桥(bridge):用于在数据链路层扩展以太网,根据MAC帧的目的地址对收到的帧进行转发和过滤。含有转发表。它隔离了冲突域,但不隔离广播域。

l  第二层交换机(layer2 switch):多接口的网桥,又称以太网交换机或第二层交换机。可实现虚拟局域网VLAN(Virtual LAN)。

(3)网络层

l  第三层交换机(layer3 switch):能进行路由的交换机,具有一部分路由器功能。

l  路由器(router):连接因特网中各局域网、广域网的设备。拥有路由选择处理机、交换结构、一组输入端口和一组输出端口。

 

                                                                   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

       应用层

 

 

 

什么是长连接、短连接?

在超文本连接协议HTTP/1.0中,默认使用的是短连接(应用层可决定使用长连接或短连接)。也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。如果客户端浏览器访问的某个HTML或其他类型的 Web页中包含有其他的Web资源,如JavaScript文件、图像文件、CSS文件等;当浏览器每遇到这样一个Web资源,就会建立一个HTTP会话。

但从 HTTP/1.1起,默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,会在响应头有加入这行代码:

Connection:keep-alive

在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的 TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接要客户端和服务端都支持长连接。

HTTP协议的长连接和短连接,实质上是TCP协议的长连接和短连接。

 

版权声明:本文为jianmianruxin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jianmianruxin/p/7291538.html