tcp/ip and http protocol
- 应用层,针对特定应用的协议,如文件传输,电子邮件,远程登录等
- 表示层,负责数据格式的转换,将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层可以处理的格式
- 会话层,负责建立、断开连接,以及数据的分割等
- 传输层,负责可靠传输,只在节点上进行处理,无需在路由上处理
- 网络层,负责地址管理和路由选择
- 数据链路层,负责数据帧的生成和接收
- 物理层,负责0,1比特流和电压高低、灯闪灭这些电子信号之间的切换
- 批处理,事先将程序和数据装入卡带或磁带,并按照一定方式读取,Batch Processing
- 分时系统, 允许多个用户同时使用一台计算机的系统,独占性
- 计算机之间通信,可以轻松的读取另一台计算机中的数据
- 计算机网络,基于分组交换技术的计算机网络,特别是窗口系统的发明,用户可以同时执行多个程序,登录到主机执行程序,从数据库服务器下载数据等
- 互联网的普及,连接不同厂商的计算机建立一个成本更低的网络环境,连接异构的计算机的通信技术
- 以互联网技术为中心的时代
- 从‘单纯的建立连接’到‘安全的建立连接’,无论何时何地一切皆TCP/IP的时代
协议是计算机与计算机之间通过网络实现通信时事先达成的一种约定,这种约定使得不同厂商、不同的CPU以及不同的操作系统组成的计算机之间,只要遵循协议就能实现通信
- TCP/IP, 主要包括TCP、IP、UDP、HTTP、ICMP、TELNET、SMTP、SNMP...
- 优势-可以将每个分层独立使用,即使系统某些分层发生变化,也不会影响到整个系统,因此可以构造一个扩展性和灵活性都较强的系统,而且能够细化通信功能,更易于单独实现每个分层的协议,并界定各个分层的具体责任和义务
- 劣势-过分模块化,使得处理变得更加沉重以及每个模块都不得不实现相似的处理逻辑
由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网采用的最通用的通信协议标准
Local Area Network
Wide Area Network
International Organization for Standards,国际标准化组织
Open Systems Interconnection,开放式通信系统互联参考模型
Internet Engineering Task force
在发送数据之前,需要在接发主机之间建立一条通信线路,数据发送完毕,需要断开连接,如同打电话
发送端可以任何时候自由发送数据,接收端永远不知道自己何时从哪接收数据,此时接收端需要时常确认是否收到了数据,如同邮局寄包裹
交换机负责数据的中转处理,计算机首先连接到交换机,而交换机与交换机之间由众多通信线路继续连接,计算机之间需要发送数据时,需要通过交换机与目标主机建立通信线路,此时其他计算机只能等待
如果让连接到通信线路的计算机将发送的数据分成多个数据包,按照一定的次序发送,所有的计算机可以一齐发送数据,这样就提高了线路利用率,交换机(路由器)收到数据后按照顺序缓存到自己的缓存区,再以队列的顺序逐一发送出去
1对1,如固定电话
1对多,如电视
1对多,会限定某一组主机作为接收端,如电话会议
1对1,会在限定某一组主机中选出一台最符合网络条件的主机作为接收端,如DNS根域名解析服务器
NIC-Network Information Center,也称为网络适配器,目前计算机出厂已经内置了LAN端口,如果没有配置NIC,需要外接一个扩展槽,笔记本电脑可以通过ExpressCard或CardBus等方式
Repeater,物理层面上延长网络的设备,电缆传过来的电信号或光信号经由中继器的波形调整和放大再传给另一个电缆,通过中继器延长网络,距离不能无限延长
可以提供多个端口的中继器
数据链路层面连接两个网络设备,能够识别数据帧,并将其临时存储在内存,重新生成信号作为全新的数据帧发送给相连的网段,还能通过地址(指的是MAC地址,硬件地址,物理地址以及适配器地址,也就是针对NIC分配的具体地址)自学和过滤功能控制网络流量
属于网桥的一种,交换集线器中连接电缆的每个端口都能提供类似网桥的功能
网络层面上连接两个网络,并对分组报文进行转发的设备,网桥是根据物理地址(MAC地址)进行处理,而路由器是根据IP地址进行处理,还具备分担网络负荷的功能,甚至有些路由器还有一定的网络安全功能
负责处理从传输层到应用层的数据,以TCP等协议及其上面的应用层为基础,分析收发数据,并对其进行处理,还具备宽带控制的功能
负责将传输层到应用层的数据进行转换和转发的设备,和4-7层交换机一样是处理传输层以上的数据,但是网关不仅转发数据还负责对数据进行转换,在两个不同的协议之间进行翻译,最终实现两者之间的通信
网络中传输的数据包包含两部分,一是协议所要用到的首部,一是上层传来的数据。首部的结构由协议的具体规范定义,如发送的目标地址,如何读取数据等。每个分层中,都会对所发送的数据附加一个首部。TCP的数据包包含TCP的首部加上一层传来的数据,IP的数据包包含IP首部加TCP的首部加数据
以发送邮件为例
- 应用程序处理:先对数据进行编码
- TCP模块处理:建立连接、发送数据、断开连接
- IP模块处理:紧随IP首部还有判断是TCP还是UDP的信息,参考路由控制表决定接受此IP包的路由或主机,随后,IP包将被发送给连接这些路由或主机网络接口的驱动程序,以实现真正发送数据;如果不知道接收端的MAC地址,可以用ARP(Address Resolution Protocol)查找,然后将MAC地址和IP地址交给以太网的驱动,实现数据传输
- 网络接口(以太网驱动)处理:从IP传来的IP包,对以太网驱动来说就是数据,以太网首部包含接收端MAC地址,发送端MAC地址以及标志以太网的协议,根据这些信息产生的以太网数据包将通过物理层传输给接收端
包在流动时,附加了以太网首部、IP包首部、TCP包首部(或UDP包首部)、以及应用自己的包首部和数据,包的最后追加了以太网包尾,包首至少包含发送端与接收端地址和上一层的协议类型,经过每个协议分层时,都必须有识别包发送端和接收端的信息,以太网用MAC地址,IP会用IP地址,TCP/UDP会用端口号作为识别两台主机的地址
- 网络接口(以太网驱动)处理:根据MAC地址判断是否为发给自己的包,如果不是丢弃数据,如果是则判断是否IP包,如果是别的比如ARP协议,则把数据转给ARP处理,如果无法识别协议类型,也会丢弃数据
- IP模块处理:根据IP地址进行匹配,再判断协议类型是TCP还是UDP进行转发,如果有路由,接收端地址往往不是自己的地址,需要借助路由控制表进行查询再转发
- TCP模块处理:先计算校验和,判断数据是否被破坏,检查是否在按照序号接收数据,最后检查端口号,确定具体的应用程序,接收端接收完毕后会发送一个确认回执给发送端,如果没有返回数据就会一直反复发送,完整接收后,再传给对应端口号的应用程序
- 应用程序处理:接收数据解码数据,处理异常
有时候指的是OSI中的数据链路层,有时候指的是以太网、无线局域网等通信手段,数据链路层的协议定义了通过通信媒介互联的设备之间传输的规范
用于识别数据链路中互连的节点,占6个字节48位(3-24位表示厂商识别码),一般会被烧录到ROM中,任何一个网卡的MAC地址都是唯一的,不管数据链路的网络是以太网、FDDI、ATM、无限LAN还是蓝牙,都不会有相同的MAC地址出现
多个设备共享一个通信媒介的网络,早期的以太网和FDDI就是,这种网络设备之间使用同一种载波信道进行发送和接收,基本都是半双工通信,并有必要对介质进行访问控制,共享介质性网络有两种介质访问的控制方式
CSMA(载波监听多路访问),先到先得的方式占用信道,如果多个站同时发送帧,则会发生冲突,还有改良的CSMA/CD方式,要求每个站提前检查冲突,一旦发生冲突,就尽早释放信道
只有获得令牌的站才能发送数据,一不会有冲突,二每个站都有平等机会获得令牌,即使网络拥堵也不会导致性能下降
每个站(设备)直接连接交换机,由交换机转发数据帧,发送端与接收端不共享通信介质,很多采用全双工通信方式,ATM和最近以太网都采用这种方式
只发送或只接收的通信方式,类似于无线电收发器,若两端同时说话,是听不见对方的
同一时间可以发送和接收数据,类似于电话,接打双方可以同时说话
在使用同轴电缆的以太网共享网络中,同时只有一台主机发送数据,如果联网的主机数量增加,通信性能会明显下降,此时可以用以太网交换机(持有多个端口的网桥)根据数据链路层的每个帧的目标MAC地址,决定从哪个网络接口发送数据,所参考的是转发表
通过网桥联网时,一旦出现环路,最坏的情况是数据帧被一次次的持续转发,越积越多导致网络瘫痪,解决环路问题有生成树和源路由两种方式
网络负载、变换部署网络设备位置的问题,可以不用对硬件线路进行改造,只需修改网络的结构,VLAN技术被附加到了网桥-2层交换机上,该交换机可以按照其端口区分多个网段
最早由Xerox于DEC公司设计,名为Ethernet,之后由IEEE802.3委员会将其规范化,两者对于以太网网帧的格式定义不同,后者被称为802.3以太网
开始,是一根同轴电缆的共享介质型连接方式,现在都是用终端与交换机之间独占电缆的方式,通信介质由开始的同轴电缆,到后面的细同轴电缆、双绞线、光纤
通常采用电磁波、红外线、激光等方式进行数据传播,种类繁多
短距离无线 数米 RF-ID
PAN(Personal Area Network) 10m 蓝牙
LAN(Local Area Network) 100m Wi-Fi
MAN(Metropolitan Area Network)1-100km WiMax
RAN(Regional Area Netrok) 200-700km ---
WAN(Wide Area Network) --- 3G, LTE, 4G,下一代移动通信
定义了无线LAN协议中物理层与数据链路层的一部分(MAC)
是2.4Ghz频段中无线局域网的标准化,最大传输速度分别可达11Mbps和54Mbps,通信距离在30-50m,使用CSMA/CA方式,以基站作为中介进行通信
5Ghz频段,最大传输速度54Mhz的一种无线通信标准化,不使用2.4Ghz频段,不易受到干扰
2.4Ghz或5Ghz频段,在IEEE802.11g和IEEE802.11a的基础上采用同步多条天线的MIMO技术,在5Ghz如果不受干扰,可达150Mbps
与IEEE802.11b/g相似,采用2.4Ghz频段,通信距离根据无线电波信号的强弱,由1m、10m、100m三种类型,最多允许8台设备
Worldwide Interoperability for Microware Access,使用微波在企业或家庭实现无线通信的一种方式
主要应用于家电的远程控制,是一种短距离低功耗的无线通信技术,最多允许65536个终端
Point-to-Point Protocol,一对一连接计算机的协议,相当于OSI参考模型的数据链路层,不像以太网或FDDL,后两者不仅与数据链路层有关,还与物理层有关,PPP属于纯粹的数据链路层,与物理层没有任何关系,PPP可以使用电话线、ISDN、专线、ATM线路
除了以太网、无线通信、PPP等数据链路,还有很多其他类型
Asynchronous Transfer Mode,以一个叫信元(5字节首部加48自字节数据)的单位进行传输的数据链路,是面向连接的一种数据链路,没有以太网和FDDI那种发送权限的限制,允许在任何时候发送任何数据,大量计算机同时发送大量数据时容易引发网络拥堵,可增加限制带宽的细分功能
Packet over SDH/SONET是一种在SDH(SONET)上进行包通信的协议,SDH(SONET)是在光纤上传输数字信号的物理层规范
Fiber Distributed Data Interface,分布式光纤数据接口,以前为了用光纤和双绞线实现100Mbps的传输速率,在主干网和计算机之间的高搜素连接上广泛使用FDDl,后来高速LAN提供了Gbps级的传输速率,FDDI逐渐淡出了应用领域
令牌环网,由于居高不下的价格和支持的提供商少未能普及
鉴于100Mbps以太网(100BASE-TX)的普及,几乎不再被使用
近年被广泛应用于SAN(Storage Area Network)
类似于电信运营商,联网方式
利用固定电话线进行通信
主要是手机
对模拟电话线路的扩展,利用话机到电信局这段线路,附加一个叫做分离器的装置,将音频信号(低频信号)和数字信号(高频信号)隔离以免产生噪声干扰
Fiber To The Home,高速光纤直接到家,或到公司,某一建筑
开始用无线电波发送信号,会受到天线和周围建筑影响,后来采用使用线缆的有限电视,则不会有此干扰,画质也明显提高
一对一的连接
用于连接距离较远的地域
公开可以使用Wi-Fi的服务,服务提供者会架设一个热点即无线电波接收器,使用者到达该区域即可连接
Internet Protocol,TCP/IP的心脏是互联网层,这层主要由IP和ICMP组成,数据链路层的主要作用是在互联同一种数据链路的节点之间进行包传递,一旦跨越多种数据链路,需要借助网络层 ,IP大致分为IP寻址、路由和IP分包与组包
- 主机:配有IP地址但不进行路由控制的设备
- 路由器:配有IP地址且具有路由控制能力的设备 数据链路层提供直连的两个设备之间的通信,而网络层的IP负责在没有直连的两个网络之间进行通信,IP属于面向无连接型,原因有两点:
- 简化,管理连接本身非常繁琐
- 提速,每次通信前需要建立连接,会降低处理速度 IP提供尽力(Best Effor)服务,为了把数据送到最终目标地址尽了最大努力,而提供通信可靠性工作由TCP实现,之所以要分层,可以明确TCP和IP各自协议的最终目的,有利于后续对这些协议进行扩展和性能上的优化
不管主机与哪种数据链路连接,IP地址的形式都保持不变
一跳Hop指的是网络中的一个区间,IP包正是在一个跳间被转发,IP路由也叫多跳路由,路由器或主机在转发IP数据包的时候只指定下一个路由器或主机,直至到达目标地址,数据链路实现某一个区间(一跳)内的通信,而IP实现直到目标地址的通信(点对点), 一个数据包之所以能够到达目标地址,全靠路由控制
为了将数据包发送给目标主机,所有主机都维护着一张路由控制表,该表记录着IP数据在下一步应该发给哪个路由器,IP包根据这个路由表在各个数据链路上传输
数据链路的地址被抽象为IP地址,不同数据链路的最大不同是最大传输单位(MTU:Maximum Transmission Unit),以太网是1500字节,FDDI是4352字节,ATM是9180字节,为了解决这个问题,IP需要对数据包进行分组,到了目标地址再组合