Chapter1 Internetworking
Internetworking Basics
把1 个大的网络分成几个小点的网络称之为网络分段(network segment),这些工作由routers,switches 和bridges 来完成
引起LAN 拥塞的可能的原因是:
1.太多的主机存在于1 个广播域(broadcast domain)
2.广播风暴
3.多播(multicast)
4.带宽过低
在网络中使用routers 的优点:
1.它们默认是不会转发广播的
2.它们可以基于layer-3(Network layer)的信息来对网络进行过滤
switches 的主要目的:提高LAN 的性能,提供给用户更多的带宽
冲突域(collision domain):Ethernet 术语之1,处于冲突域里的某个设备在某个网段发送数据包,强迫该网段的其他所有设备注意到这个包.而在某1 个相同时间里,不同设备尝试同时发送包,那么将在这个网段导致冲突的发生,降低网络性能
bridges 在某种意义上等同与switches,不同的地方是bridges 只包括2 到4 个端口(port),而switches 可以包括多达上百端口.但是相同的地方是它们都可以分割大的冲突域为数个小冲突域,因为1 个端口即为1 个冲突域,但是它们仍然处在1 个大的广播域中.分割广播域的任务,可以由routers 来完成。
Internetworking Models
早期各个网络厂商拥有私有网络,不便于同其他厂商的网络进行通讯.于是,在20 世纪70 年代末期,ISO 组织创建了OSI(Open System Interconnection)参考模型.OSI 参考模型,用于帮助不同厂家创建可与对方进行协同工作的网络设备和软件等等,最大的特点是分层.但是它仍然只是个参考模型而非物理模型
Advantages of Refernce Models
OSI 参考模型分层化的优点:
1.允许多厂家共同发展网络标准化组件
2.允许不同类型的网络硬件和软件相互通信
3.防止其中某层的变化影响到其他层,避免牵制到整个模型
The OSI Reference Model
OSI 参考模型分为7 层2 组;最高3 层定义了端用户如何进行互相通信;底部4 层定义了数据是如何端到端的传输.最高3 层,也称之为上层(upper layer),它们不关心网络的具体情况,这些工作是又下4 层来完成
整个参考模型由高到低分为:
1.Application
2.Presentation
3.Session
4.Transport
5.Network
6.Data link
7.Physical
在整个OSI 参考模型上运行的网络设备有:
1.网络管理工作站(NMS)
2.网页和应用程序服务器
3.网关(gateways)
4.网络上的主机(hosts)
OSI 参考模型每层的任务:
1.Application 层:提供用户接口
2.Presentation 层:表述数据;对数据的操作诸如加密,压缩等等
3.Session 层:建立会话,分隔不同应用程序的数据
4.Transport 层:提供可靠和不可靠的数据投递;在错误数据重新传输前对其进行更正
5.Network 层:提供逻辑地址,用于routers 的路径选择
6.Data Link 层:把字节性质的包组成帧;根据MAC地址提供对传输介质的访问;实行错误检测,但是不实行错误更正
7.Physical 层:在设备之间传输比特(bit);定义电压,线速,针脚等物理规范
OSI 参考模型每层的功能:
1.Application 层:提供文件,打印,数据库,和其他应用程序等服务
2.Presentation 层:数据加密,压缩和翻译等等
3.Session 层:会话控制
4.Transport 层:提供端到端的连接
5.Network 层:路由(routing)
6.Data Link 层:组成帧
7.Physical 层:定义物理拓扑结构
The Session Layer
The Session layer 负责建立,管理,终止会话.也设备设备和节点(nodes)之间的会话控制.3 种模式:simplex half duplex 和full duplex
一些Session layer 协议和接口的例子:
1.Network File System(NFS)
2.Structured Query Language(SQL)
3.Remote Procedure Call(RPC)
4.X Window
5.AppleTalk Session Protocol
6.Digital Network Architecture Session Control Protocol(DNA SCP)
The Transport Layer
The Transport layer 把数据分段重新组合成数据流(data stream)
Flow Control
流控制(flow control)保证了数据的完整性,防止接受方的缓冲区溢出, 缓冲区溢出将导致数据的不完整.如果数据发送方传输数据过快,接受方将数据报(datagrams)暂时存储在缓冲区(buffer)里可靠的数据传输采用了面向连接(connection-oriented)通信方式,保证:
1.接受方接受到被传输的段(segment)以后将发回确认(acknowledge)给发送方
2.任何没有经过确认的段将被重新传输
3.段在达到接受方之前应按照适当的顺序
4.可以进行管理的流控制技术用于避免拥塞,超载(overloading)和数据的丢失
Connection-Oriented Communication
面向连接式通信:发送方先建立会话(call setup)或者叫做3 度握手(three-way handshake);然后数据开始传输;数据栓书完毕以后,终止虚电路连接(virtual circuit)
3 度握手(面向连接回话)过程:
1.第一个请求连接许可的段用于要求同步,由发送方发送给接受方
2.发送方和接受方协商连接
3.接受方与发送方同步
4.发送方进行确认
5.连接建立,开始传输数据
如果发送方发送数据报过快,而接受方缓冲区已经满了,它会反馈1 条not ready 的信息给发送方,等待缓冲区里的数据处理完毕后会反馈条go 的信息给发送方;于是发送方继续发送数据.这就是流控制的用途
如果任何数据段在传输的过程中丢失了,被复制了,或者损坏了,这将导致传输失败.这个问题的解决方法就得靠接受方反馈确认信息给发送方
Windowing
窗口(window)是指允许发送方不用等待接受方反馈确认的数据段,大小以字节(bytes)衡量,比如:如果1 个TCP 会话是以2 字节的窗口建立的,传输时假如窗口从2 字节增加为3 字节,那么发送方将不用等待之前2 字节的量的确认信息,直接以3 字节的量传输
The Network Layer
the Network layer 用于管理设备地址,跟踪网络上的设备位置,决定传输数据最好的路线.该层上有2 种包(packets):
1.数据(data)
2.路由更新信息(route updates)
routers 必须对每种路由协议保持1 张单独的路由表,因为不同的路由协议根据不同的地址机制跟踪网络信息路由表包含的一些信息:
1.interface:出口
2.度(metric)
routers 的一些要点信息:
1.默认不转发广播和多播(multicast)包
2.根据逻辑地址决定下1 跳(hop)
3.可以提供层2 的桥接功能,可以同时路由同1 个接口
4.提供VLANs 的连接
5.可以提供Quality of Service(QoS)
The Data Link Layer
the Data Link layer 负责数据的物理传输,错误检测,网络拓扑和流控制.这个意味着在数据LAN 上将根据硬件地址来进行投递,还要把Network layer 的包翻译成比特用于在Physicallayer 上传输
IEEE 以太网(Ehernet)的Data Link layer 有2 个子层:
1.Media Access Control(MAC)802.3:这层定义了物理地址和拓扑结构,错误检测,流控制等.共享带宽,先到先服务原则(first come/first served)
2.Logical Link Control(LLC)802.2:负责识别Network layer 协议然后封装(encapsulate)数据.LLC 头部信息告诉Data Link layer 如何处理接受到的帧,LLC 也提供流控制和控制比特的编号
Switches and Bridges at the Data Link Layer
第二层的设备switches 被认为是基于硬件的bridges, 因为采用的是1 种叫做application-specific integrated circuit(ASIC)的特殊硬件.ASICs 可以在很低的延时(latency)里达到gigabit 的速度;而bridges 是基于软件性质的延时:1 个帧从进去的端口到达出去的端口所耗费的时间
透明桥接(transparent bridging):如果目标设备和帧是在同1 个网段,那么层2 设备将堵塞端口防止该帧被传送到其他网段;如果是和目标设备处于不同网段,则该帧将只会被传送到那个目标设备所在的网段
每个和switches 相连的网段必须是相同类型的设备,比如你不能把令牌环(Token Ring)上的主机和以太网上的主机用switches 混合相连,这种方式叫做media translation,不过你可以用routers 来连接这样不同类型的网络
在LAN 内使用switches 比使用hubs 的好处:
1.插入switches 的设备可以同时传输数据,而hubs 不可以
2.在switches 中,每个端口处于1 个单独的冲突域里,而hubs 的所有端口处于1 个大的冲突域里,可想而知,前者在LAN 内可以有效的增加带宽.但是这2 种设备的所有端口仍然处于1 个大的广播域里
The Physical Layer
the Physical layer 负责发送和接受比特.比特由1 或者0 组成.这层也用于识别数据终端装备(data terminal equipment,DTE)和数据通信装备(data communication equipment,DCE)的接口DCE 一般位于服务商(sevice provider)而DTE 一般是附属设备.可用的DTE 服务通常是经由modem 或者channel service unit/data sevice unit(CSU/DSU)来访问
hubs:其实是多端口的repeaters,重新放大信号用,解决线路过长,信号衰减等问题.
1 个物理星形(star)拓扑结构,实际在逻辑上是逻辑总线(bus)拓扑结构
Ethernet Networking
以太网采用1 种争夺(contention) 介质访问方法,这个机制使得在1 个网络上所有主机共享带宽.采用了Physical layer 和Data Link layer 的规范.它采用1 种带冲突检测的载波监听多路访问的(Carrier Sense Multiple Access with Collision Detection,CSMA/CD)机制
CSMA/CD:帮助共享带宽的设备避免同时发送数据,产生冲突的协议.补偿算法(Backoffalgorithms)用于决定产生冲突的2 台设备何时重新传输数据
CSMA/CD 网络带来的问题:
1.延迟(delay)
2.低吞吐量(throughput)
3.拥塞
Half- and Full-Duplex Ethernet
half-duplex(半双工)以太网:它只采用1 对线缆.如果hubs 与switches 相连,那么必须以半双工的模式操作,因为端工作站必须能够检测冲突.半双工以太网带宽的利用率只为上限的30%-40%
full-duplex(全双工)以太网:采用2 对线缆,点对点(point-to-point)的连接,没有冲突,双倍带宽利用率全双工以太网可以使用在以下的3 种形势里:
1.switch 和host 相连
2.switch 和switch 相连
3.用交叉线缆(crossover cable)相连的host 和host
自动检测机制(auto-detection mechanism):当全双工以太网端口电源启动时,它先与远端相连,并且与之进行协商.看是以10Mbps 的速度还是以100Mbps 的速度运行;再检查是否可以采用全双工模式,如果不行,则切换到半双工模式
Ethernet at the Data Link Layer
4 种类型的以太网帧:
1.Ethernet II
2.IEEE 802.2
3.IEEE 802.3
4.SNAP
Ethernet Addressing
MAC 地址是烧录在Network Interface Card(网卡,NIC)里的.MAC 地址,也叫硬件地址,是由48比特长(6 字节),16 进制的数字组成.0-24 位是由厂家自己分配.25-47 位,叫做组织唯一标志符
(organizationally unique identifier,OUI).
OUI 是由IEEE 分配给每个组织.组织按高到低的顺序分配1 个唯一的全局地址给每个网卡以保证不会有重复的编号.第47 位为Individual/Group(I/G)位,当I/G 位为0 的时候,我们可以设想这个地址是MAC 地址的实际地址可以出现在MAC 头部信息;当I/G 位为1 的时候,我们可以设想它为广播或多播.第46 位叫做G/L 位,也叫U/L 位.当这个位为0 的时候代表它是由IEEE 分配的全局地址;当这个位为1 的时候,代表本地管理地址(例如在DECnet 当中)
Ethernet Frames
第二层用于把第一层的比特连接成字节,再组成帧(frames)
3 种介质访问方法的类型:
1.争夺(contention),用于在以太网中
2.令牌传递(token passing),用于在FDDI 和Token Ring 里
3.投票(polling),用于在IBM Mainframes 和100VG-AnyLAN 中
循环冗余校验(cyclic redundancy check,CRC):用于错误检测,而非错误更正隧道(tunneling):把不同类型的帧封装在1 个帧里Ethernet II 帧:
1.前导(preamble)字段:交替的1 和0 组成.5Mhz 的时钟频率,8 字节,包含7 字节的起始帧分界符(start frame delimiter,SFD),SFD 是10101011,最后1 个字节同步(sync)
2.目标地址(destination address,DA):6 字节
3.源地址(source address,SA):6 字节
4.类型(type)字段:用于辨别上层协议,2 字节
5.数据(data):64 到1500 字节
6.帧校验序列(frame check sequence,FCS):4 字节,存储CRC 值
802.3 Ethernet 帧:
1.前导(preamble)字段:交替的1 和0 组成.5Mhz 的时钟频率,8 字节,包含7 字节的起始帧分界符(start frame delimiter,SFD),SFD 是10101011,最后1 个字节同步(sync)
2.目标地址(destination address,DA):6 字节
3.源地址(source address,SA):6 字节
4.长度(length)字段:不能辨别上层协议,2 字节
5.数据(data):64 到1500 字节
6.帧校验序列(frame check sequence,FCS):4 字节,存储CRC 值
802.2 and SNAP
因为802.3 Ethernet 帧没有鉴别上层协议的能力(使用的是length 字段),所以,它需要IEEE 定义的802.2 LLC 标准来帮它实现这个功能
802.2 帧(SAP):
1.目标服务访问点(dest SAP)字段: 1 个字节
2.源服务访问点(source SAP)字段: 1 个字节
3.控制字段:1 或2 个字节
4.数据:大小可变
1 个802.2 帧是由802.3Ethernet 帧加上LLC 信息组成,这样它就可以辨别上层协议802.2 帧(SNAP):它有自己的协议来辨别上层协议
1.目标服务访问点(dest SAP)字段: 1 个字节,总为AA
2.源服务访问点(source SAP)字段: 1 个字节,总为AA
3.控制字段:1 或2 个字节,值总为3
4.OUI ID:3 字节
5.类型(type)字段:2 字节,辨别上层协议
6.数据:大小可变
Ethernet at the Physical Layer
一些原始的和扩展的IEEE 802.3 的标准:
1.10Base2:Base 是指基带传输技术,2 指最大距离接近200 米,实际为185 米,10 指10Mbps 的速度,采用的是物理和逻辑总线拓扑结构,AUI 连接器
2.10Base5:5 指最大距离500 米,10 指10Mbps 的速度,采用的是物理和逻辑总线拓扑结构,AUI连接器
3.10BaseT:10 指10Mbps 的速度,采用的是物理星形和逻辑总线拓扑结构, 3 类UTP 双绞线,RJ-45 连接器,每个设备必须与hub 或者switch 相连,所以1 个网段只能有1 台主机
4.100BaseT:100 指100Mbps 的速度,采用的是物理星形和逻辑总线拓扑结构, 5,6 或者7 类UTP2 对双绞线,RJ-45 连接器, 1 个网段1 台主机
5.100BaseFX:100 指100Mbps 的速度,光纤技术,点对点拓扑结构,最大距离412 米, ST 或者SC连接器
6.1000BaseT:1000 指1000Mbps 的速度,光纤技术,点对点拓扑结构,最大距离412 米, 5 类UTP4对双绞线,最大距离100 米
Ethernet Cabling
以太网线缆接法:
1.直通线(straight-through)
2.交叉线(crossover)
3.反转线(rolled)
Straight-Through Cable
直通线用于连接:
1.主机和switch/hub
2.router 和switch/hub
直通线只使用1,2,3,6 针脚,2 端的连法是一一对应
Crossover Cable
交叉线用于连接:
1switch 和switch
2.主机和主机
3.hub 和hub
4.hub 和switch
5.主机与router 直连
交叉线只使用1,2,3,6 针脚,2 端的连法是1 连3,2 连6,3 连1,6 连2
Rolled Cable
反转线不是用来连接以太网连接的,它是用来连接主机与router 的com 口(console serial port)的,它采用1 到8 跟针脚,2 端全部相反对应
当主机与router 的console 口用反转线连好后,启动Window 系统里的HyperTerminal 程序即可对router 进行连接,其配置如下:
1.Bps:9600
2.Data bits:8
3.Parity:None
4.Stop bits:1
5.Flow control:none
Data Encapsulation
封装(encapsulation):把OSI 参考模型每层自己的协议信息加进数据信息的过程,反之叫做解封装
协议数据单元(protocol data units,PDU):数据包括封装进去的信息在OSI 参考模型每层的叫法:
1.Transport layer:segment
2.Network layer:packet 或者datagram
3.Data Link layer:frame
4.Physical layer:bits
|