第二章 TCP/IP 基础知识
TCP/IP transmission control protocol and ip internet protocol 是互联网众多通信协议中最为著名的。
2.2 TCP/IP 的标准化
2.2.2 TCP/IP 标准化精髓
TCP/IP 协议始终具有很强的实用性。
相比于TCP/IP ,OSI 之所以未能达到普及,主要原因在于未能尽早的制定可行性较强的协议、未能提出应对技术快速更新的协议以及没有能及时进行后期的改良的方案。
2.2.3 TCP/IP 规范 ——RFC
那些需要标准化的协议,被人们列为RFC (Request For Comment)文档并在互联网上公布。RFC不仅记录了协议规范内容,还包含了协议的实现和运用的相关信息,以及实验方面的信息。
2.3 互联网基础知识
互联网与TCP/IP 的关系
互联网的协议就是TCP/IP ,TCP/IP 就是互联网协议
2.3.3 互联网的结构
互联网中的每个网络都是由骨干网(BackBone)和末端网(Stub)组成的。每个网络之间通过NOC network opeartion center 相连。如果网络的运营商不同,它的网络连接方式和使用方法也会不同。连接这种异构网络需要IX 的支持 internet
exchange 网络交换中心 。总之互联网就是众多异构的网络通过IX 互联的一个巨型网络。
2.4 TCP/IP 协议分层模型
2.4.4 互联网层 网络层
IP 是跨越网络传送数据包,使整个互联网 都能收到数据的协议。IP协议使数据能够发送到地球的另一端这期间它使用IP地址作为主机的标识。
ICMP
IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时,需要给发送端发送一个发生异常的通知。ICMP就是为这一功能而指定的。它有时也被用来诊断网络的健康状况。
ARP
从分组数据包的IP地址中解析出物理地址MAC地址的一种协议。
2.4.5 传输层
传输层最主要的功能就是嫩巩固让应用程序之间实现通信。计算机内部,通常同一时间运行着多个程序。为此,必须分清是那些程序与哪些程序在进行通信。识别这些应用程序的是端口号。
TCP
TCP是一种面向有链接的传输层协议。他可以保证两端通信主机之间的通信可达。TCP 能够正确处理在传输过程中丢包、传输顺序乱掉等异常情况。此外TCP还能够有效利用带宽,缓解网络拥堵。
为了建立与断开链接,有时需要至少7次的发包收包,导致网络流量的浪费。
UDP
面向无连接的传输层协议。UDP 不会关注对端是否真的收到了传送过去的数据,如果需要见擦汗对端是否收到分组数据包,或者对端首付连接到网络,则需要在应用程序中实现。
2.5 TCP /IP 分层模型与通信示例
2.5.1 数据包首部
包、帧、数据报、段、消息
包可以说是全能性术语。帧用于表示数据链路层中包的单位。而数据报是IP和UDP等网络层以上的分层中包的单位。段则表示TCP数据流的信息。最后,消息是指应用协议中数据的单位。
在数据包的首部,明确标明了协议应该如何读取数据。反过来,看到首部也就能够了解协议必要的信息以及所要处理内容。因此看到包首部就如同看到协议的规范。 首部就像是协议 的脸。
2.5.3 经过数据链路的包
分组数据包 经过以太网的数据链路时如图
第三章
数据链路
3.1 数据链路的作用
3.2.1 MAC 地址
MAC 地址用于识别 数据链路中互连的节点。
3.2.2 共享介质网络
共享介质网络指由多个设备共享一个通信介质的一种网络。设备之间使用同一个载波信道进行发送和接受。。为此,基本采用半双工通信,并有必要对介质进行访问控制。
共享介质网络有两种介质访问控制方式 :一种是争用方式,另一种是令牌传递方式
争用方式 是指争夺获取数据传输的权利 也叫CSMA 载波监听多路访问 。这种方式通常令网络中的各个站采用先到先得的方式占用信道发送数据,如果多个站同时发送帧,则会产生冲突现象。也因此会导致网络拥堵与性能下降。
在一部分以太网上,采用了改良的CSMA的另一种方式CSMA/CD 方式 。CSMA/CD 要求每个站提前见检查冲突,一旦发生冲突,则尽早释放信道。carrier sense multiple access with collision detection .
令牌传递方式
令牌传递方式是沿着令牌环发送一种叫做令牌的特殊报文,是控制传输的一种方式。只有获得令牌的站才能发送数据。这种方式有两个特点:一是不会有冲突,二是每个站都有通过平等循环获得两排的机会。
3.2.3 非共享介质网络
非共享介质网络是指不共享介质,是对介质采取专用的一种传输控制方式。
网络中的每个站直连交换机,由交换机负责转发数据帧。此方式下,发送端与接收端并不共享通信介质,因此很多情况下采用全双工通信方式。
3.2.5 环路检测技术
通过网桥连接网络时,一旦出现环路该如何处理?这与网络的拓扑结构和所使用的网桥种类有直接关系。最坏的情况下,数据帧会在环路中被一而再再而三的持续转发。而一旦这种数据帧越积越多将会导致网络瘫痪。
为此,有必要解决网络中的环路问题。具体有生成树与源路由两种方式。
生成树方式
每个网桥必须在每1~10秒内相互交换BPDU birdge protocol data unit 包,从而判断哪些端口使用哪些不适用,以便消除环路。一旦发生故障,则自动切换通信线路,利用哪些没有被使用的端口继续进行传输。
以某一网桥为构造树的根,并对每个端口设置权重。这一权重可以由网络管理员适当的设置,指定优先使用哪些端口以及发生问题时该使用哪些端口。
生成树发其实语计算机和路由器的功能没有关系,但是只要有生成树的功能就足以消除环路。
IEEE802.1 D中所定义的生成树方法有一个弊端,就是在发生故障切换网络时需要几十秒。为了解决这个用时过长的问题,在IEEE 802.1W中定义了一个叫RSTPrapid spanning tree protocl 的方法。
源路由法
源路由判断发送数据的源地址是通过那个网桥实现传输的,并将帧写入RIF (Routing information field )。网桥则根据这个RIF 信息发送帧给目标地址。因此,即使网桥中出现了环路,数据帧也不会被反复转发,可成功的发送到目标地址。
3.2.6 VLAN
该交换机按照其端口区分了多个网段,从而区分了广播数据传播的范围、减少了网络负载并提高了网络的安全性。然而异构的两个网段之间,就需要利用具有路由功能的交换机,或者在各段中间通过路由器的连接才能实现通信。
对这种VLAN 进行了扩展,定义了IEEE 802.1Q的标准,该标准允许包含跨越异构交换机的网段。TAG VLAN ID 的标签进行唯一标识。在交换机中传输帧时,在以太网首部加入这个VID标签,根据这个值将数据帧发送给哪个网段。
3.3 以太网
在众多链路中最为著名,使用最为广泛的是以太网。它的规范简单,易于NIC网卡及驱动程序实现。
3.3.1 以太网连接形式
3.3.2 以太网的分类
3.3.4 以太网的帧格式
以太网帧前端有一个叫做前导码preamble的部分,它由0、1数字交替组合而成,表示一个以太网的开始,也是对端网卡能够确保与其同步的标志。前导码末尾是一个叫做SFD Start frame delimiter的域,它的值是11.在这个域之后就是以太网的本体。前导码与SFD 合起来占8个字节。
以太网本体的前端是以太网的首部,它总共占14个字节。分别是6个字节的目标MAC地址、6个字节的源MAC 地址以及2个字节的上层协议类型。
紧随帧头后面的是数据。一个数据帧所能容纳的最大数据范围是46~1500个字节。帧尾是一个叫做FCS frame check sequence 帧检验序列 的四个字节。
类型通常跟数据一起传送,它包含用以标识协议类型的编号,即比哦啊名以太网的再上一层网络协议的类型。
帧尾最后出现的是FCS。用它可以检查帧是否有所损坏。
FCS 中保存着整个帧除以生成多项式的余数。在接收端也用同样的方式计算,如果得到的FCS的值相同,就判断所接受的帧没有差错。
带有VLAN标记的交换机之间流动的以太网帧格式
数据链路层分为两层
如果再进一步细分,还可以将数据链路层分为介质访问控制层和逻辑链路控制层
介质访问控制层 根据以太网或FDDI等不同数据链路所特有的首部信息进行控制。与之相比,逻辑链路层则根据以太网或FDDI等不同数据链路所共有的帧头信息进行控制。
3.4 无线通信
无线通信通常使用电磁波、红外线、激光等方式进行传播数据。一般在办公室的局域网内组成的较高速的连接称为无线局域网
3.4.1 无线通信的种类
无线PAN personal area network
无线Lan local area network 802.11
无线MAN metropolitan area network 802.16
无线RAN regional area network 802.22等无线标准
无线WAN wide area network 的最典型就是手机通信。
3.4.2 IEEE 802.11
定义了无线LAN协议中物理层与数据链路层的一部分(MAC)。
作为一种通信方式,IEEE 802.11 在物理层上使用电磁波或红外线,通信速度为1Mpbs或2Mbps。现在已经基本无人使用了。
3.4.6 使用无线LAN 时的注意事项
3.4.7 蓝牙
3.5PPP
3.5.1 ppp定义
Point to point protocol PPP 指点对点,即1对1 连接计算机的协议。PPP相当于位于OSI参考模型第二层的数据链路层
PPP可以使用电话线或ISDN、专线、ATM线路 。人们更多的是在用ADSL或有线电视通过PPPo Etry 实现互联网接入。
PPPoE PPP over ethernet
仅有PPP无法实现通信,还需要有物理层的支持。
3.5.2 LCP 与NCP
在PPP的主要功能有两个协议:一个是不依赖上层的LCP 协议(Link control protocol ),另一个是依赖上层的NCP 协议(Network control protocol)
如果上层 为IP,此时的NCP也叫做IPCP ip control protocol
通过PPP连接 ,通常需要进行用户名密码的验证,并且对通信两端进行双方向的验证。
3.5.3 PPP的帧格式
PPP 的数据帧格式
HDLC就是在每个帧的前后加上一个8位字节 "01111110"用来区分帧。这一个8位字节叫做标志码。在两个标志码中间不允许出现连续6个以上的1。
在通过电脑进行拨号时,PPP已在软件中实现。因此,那些插入或删除0的操作或FCS 计算都交由电脑的CPU去处理。这也是为什么人们常说PPP这种方式会给计算机带来大量负荷的原因所在。
3.5.4 PPPoE
有些互联网接入服务商在以太网上利用PPPoE PPP over ethernet 提供PPP功能。
单纯的以太网没有验证能力,也没有建立和断开连接的处理,因此无法按时计费。
而才哟个PPPoE管理以太网连接,就可以利用PPP的验证等功能使各家ISP 可以有效的管理终端用户的使用。
3.6 其他数据链路
ATM asynchronous transfer mode 是以一个叫做信元 的单位进行传输的数据链路,由于其线路占用时间段和能够高效传输大容量数据等特点主要用于广域网的连接。
ATM的特点
3.6.13 高速PLC
高速PLC 是指在家里或办公室内利用电力线上传MHz~数十MHz 频带范围,实现通信方式。使用电力线不用重新布线,也能进行日常生活以及家电设备或办公设备的控制。然而,本不是为通信目的而设计的电力线在传输高频信号时,极容易收到电波干扰,一般仅限于市内使用。
3.7 VPN
虚拟专用网络用于连接距离较远的地域。这种服务包括IP-VPN和广域以太网
IP-VPN
在IP网络上建立VPN
网络服务商提供一种在IP网络上使用MPLS技术构建VPN的服务。其中MPLS(Multiprotocol Label Switching 多协议标签交换 )在IP包种附加一个骄傲做标签(Label)的信息进行传输控制。每个用户的标签信息不同,因此在通过MPLS网时,可以轻松的判断出目标地址。这样一来就可以将多个不同用户的VPN信息 通过MPLS 网加以区分,形成封闭的私有网络。还能进行用户级的带宽控制。
除了使用服务提供商 的IP -VPN 服务之外,有时企业还可以在互联网上建立自己的VPN,一般采用的是IPsec技术。该方法对VPN通信中的IP包进行验证和加密,在互联网上构造一个封闭的私有网络。虽然这种方式可以利用价格低廉的互联网通信线路,并且还可以根据自己的情况对数据进行不同级别的加密,但是有时会收到网络拥堵的影响。
广域以太网
广域以太网 则是作为数据链路层的以太网上利用VLAN 实现VPN的技术。该技术还可以使用TCP/IP 中的其他协议。