因特网以及相关硬件概念
因特网是一个互联了全世界的计算机设备的网络,这些计算机设备包括传统的桌面PC,Linux工作站,服务器(用于存储和传输web页面和电子邮件报文等信息) 以及 非传统的因特网端系统(如手机,平板电脑,电视,游戏机等)和安全系统。我们统称这些设备为主机或端系统。

互联网,局域网,万维网,以太网的区别
(1)互联网internet是指多套设备(计算机,手机等)通过特定通信协议TCP/IP、IPX/SPX、NetBIOS、NetBEUI、Apple Talk组成的网络,一般分为:
- 局域网LAN 一般不大于10公里,而且通常只使用一种传输介质;地域上看局域网通常是用在一座建筑物或一个工厂内,使用上通常是某一单位或某一部门使用,规模上一般不超过几百个用户。以太网是为实现局域网通信而设计的一种技术。
- 城域网MAN 一种比局域网更大的网,通常覆盖一个城市,从几十公里到100公里不等,可能会有多种介质,用户的数目也比局域网更多。
- 广域网WAN 一切大于城域网的网都可称为广域网。不同的局域网、城域网或广域网还可以根据需要互相链接构成规模更大的国际网。
(2)因特网Internet是由上千万台设备组成的网络(一般指具有一定规模的网络)。因特网使用TCP/IP协议让不同设备彼此通信。设备接入因特网需要满足两个要求,首先网络设备必须安装TCP/IP协议,用于和因特网的其他网络设备通信;其次必须具备一个公网地址,用于在因特网中标记该设备,使得因特网的其他网络设备能将其定位。
(3)万维网
万维网是基于因特网,通过TCP/IP应用层协议中的HTTP协议提供的服务,浏览器使用HTTP协议与服务器进行通信,发送数据请求,获取HTML文件,再通过浏览器解析,最终以网页的形式呈现给用户。
(4)以太网
以太网(Ethernet)不是一种具体的网络,是一个网络通信协议的标准。它指的是由Xerox公司创建并由Xerox,Intel和DEC公司联合开发的基带局域网规范。以太网络使用CSMA/CD(载波监听多路访问及冲突检测技术)技术,并以10M/S的速率运行在多种类型的电缆上。
(5)三者联系 互联网 > 因特网 > 万维网
只要多台设备之间可以通过特定的通信协议进行通信,它们便组成了一个互联网。因特网中的设备则必须使用TCP/IP协议通信,且要构成一定规模的网络(包含若干子网络),不同子网络必须具备自己的公网地址。万维网则是TCP/IP应用层协议中的HTTP协议所提供的服务,实现用户通过浏览器浏览网页。
通信链路和分组交换机
端系统通过通信链路和分组交换机连接在一起。
通信链路由不同类型的物理媒体组成,例如铜线,光纤等,不同的链路能以不同的速率传输数据。当一台端系统要向另一台端系统发送数据时,发送段系统会将数据分段,并为每段加上首部节点,由此形成的信息包称为分组。
多数分组交换机在链路的输入端使用存储转发传输机制,即在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。分组交换机从它的一条输入通信链路 接受到来的分组,并从它的一条输出通信链路转发该分组。在当今的因特网中,分组交换机分为路由器和链路层交换机两种类型。链路层交换机通常用于接入网中,而路由器通常用于网络核心中。
交换机与路由器
交换机
交换机工作在数据链路层,连接的所有设备同属于一个局域网,负责局域网内部通信。局域网内的设备对它而言都是一个个的MAC地址,并且它还有交换表,用于记录某一个MAC地址需要送到哪个接口。
路由器
路由器工作于网络层,连接的设备分属不同子网,工作范围是多个子网之间,负责网络与网络之间通信。它可以将数据包转发到另一个网络,因此路由器需要读取IP地址,以此确定其是用于本地网络还是外部网络。
此外还有一个概念:网关。它并不是一个具体的产品,只要连接两个不同的网络的设备都可以叫网关,而路由器包含了很多这样的网关,其中一个是默认网关。如果到达路由器的数据不知道自己下一步该怎么走,它就会去默认网关那里。路由器还包含很多其他网关。
电路交换和分组交换
通过数据链路和交换机 移动数据有两种方法:电路交换 和 分组交换。
电路交换
在端系统通信期间,会预留端系统通信沿路径所需要的资源(缓存,链路传输速率):发送方和接收方需要建立一条连接,电路交换网络会在连接期间 在该网络链路上预留恒定的传输速率,这样发送方可以以确保的恒定速率向接收方传送数据。下图是一个电路交换网络,4条链路互联了4台电路交换机,每条链路都有4台电路。每台主机都有与一台交换机直接相连,当有主机要通信时,网络必须要预留一条电路,并且在整个通信过程中始终占用该链路。由于通信的过程中不可能一直在使用传输线路,因此电路交换对线路的利用率很低。

分组交换
端系统相互交换报文,而报文可以包含协议设计者需要的任何东西,报文可以执行一种控制功能,也可以包含数据(例如电子邮件数据,MP3音频文件等)。源端系统将长报文划分为较小的数据块,简称分组。在源和目的之间,每个分组通过通信链路和分组交换机传送。在同一个传输线路上同时传输多个分组互相不会影响,因此在同一条传输线路上允许同时传输多个分组,也就是说分组交换不需要占用传输线路。但如果很多人同时使用网络,可能产生拥塞(congestion),导致分组延迟和丢失。
排队时延和分组丢失
每台分组交换机有多条链路与之相连,对于每条链路,分组交换机具有一个输出缓存,用于存储准备发送某条链路的分组。如果到达的分组准备传输时,发现该链路正用于传输其他分组,则到达的分组必须在输出缓存中等待。而排队时延是指分组在缓存中等待被发送到链路的时间,这些时延是变化的,变化程度取决于网络中的拥塞程度。
缓存空间的大小是有限的,一个到达的分组可能会发现该缓存已被其他等待传输的分组占满,因此可能会出现分组丢失(丢包),即到达的分组或已经排队的分组之一将会被丢弃。
网络协议
计算机网络分为7层协议和5层协议。

五层协议
应用层
它是计算机网络与用户交互的接口或界面,直接向用户提供服务。提供的服务有:Web服务,E-mail服务,DNS服务,DHCP服务、FTP服务等。
我们将应用层的信息分组称为报文。
传输层
负责两台主机的各个应用进程之间的通信。其主要协议有TCP,UDP。
我们将传输层分组称为报文段。
网络层
该层主要解决如何将分组从源主机沿着网络路径传送到目的主机。提供路由和寻址的功能,使两终端系统能够互连且决定最佳路径,并具有一定的拥塞控制和流量控制的能力。其主要协议有IP协议,ARP协议,ICMP协议。
我们将网络层分组称为数据报。
数据链路层
该层在原始的,有差错的物理传输线路的基础上,采取差错检测、差错控制与流量控制等方法,将有差错的物理线路改进成逻辑上无差错的数据链路,以便向网络层提供服务。总结的说:该层负责控制数据传输。其主要协议有点对点协议。
该层分组被称为帧。
物理层
该层主要负责在物理介质上为数据链路层提供原始比特流传输的物理链接。物理层解决的问题就是数据传输。上面的所有层都是封装数据和管理,所有数据到达物理层都会变成二进制的载波信号。
为什么要分层?
(1)各层之间相互独立:高层并不需要知道它的下层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。
(2)灵活性好:各层都可以采用最适当的技术来实现,例如某一层的实现技术发生了变化,用硬件代替了软件,只要这一层的功能与接口保持不变,实现技术的变化都并不会对其他各层以及整个系统的工作产生影响;
(3)易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统。
计算机网络通信示意图

七层协议
在五层协议的基础上,增加两层:
表示层:信息的语法语义以及它们的关联,比如加密解密,压缩解压缩等。
**会话层:**通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。不同及其上用户之间建立和管理会话。