人能理解的信息。
▫ 物理层:在设备之间传输比特流,规定了电平、速度和电缆针脚等物理特性。
▫ 数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用
MAC地址)来访问介质,并进行差错检测。
▫ 网络层:定义逻辑地址,供路由器确定路径,负责将数据从源网络传输到目的网络。
▫ 传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。
▫ 会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备 中的应用程序之间的服务请求和响应组成。
▫ 表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的 数据能被另一个系统的应用层识别。
▫ 应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务。
•TCP/IP模型在结构上与OSI模型类似,采用分层架构,同时层与层之间联系紧密。
•TCP/IP标准参考模型将OSI中的数据链路层和物理层合并为网络接入层,这种划分方式其实 是有悖于现实协议制定情况的,故融合了TCP/IP标准模型和OSI模型的TCP/IP对等模型被提 出,后面的讲解也都将基于这种模型。
▫ HTTP(Hypertext Transfer Protocol,超文本传输协议):用来访问在网页服务器上 的各种页面。
▫ FTP(File Transfer Protocol,文件传输协议):为文件传输提供了途径,它允许数 据从一台主机传送到另一台主机上。
▫ DNS(Domain Name Service,域名称解析服务):用于实现从主机域名到IP地址之 间的转换。
▫ TCP (Transmission Control Protocol,传输控制协议) :为应用程序提供可靠的面 向连接的通信服务。目前,许多流行的应用程序都使用TCP。
▫ UDP(User Datagram Protocol,用户数据报协议):提供了无连接通信,且不对传
送数据包进行可靠性的保证。
▫ IP(Internet Protocol,互联网协议):将传输层的数据封装成数据包并完成源站点 到目的站点的转发,提供无连接的、不可靠的服务。
▫ IGMP(Internet Group Management Protocol,因特网组管理协议):负责IP组播 成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播 组成员关系。
▫ ICMP(Internet Control Message Protocol,网际报文控制协议):基于IP协议在网 络中发送控制消息,提供可能发生在通信环境中的各种问题反馈。通过这些信息,使 管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。
▫ PPP(Point-to-Point Protocol,点对点协议):一种点对点模式的数据链路层协议, 多用于广域网。
▫ Ethernet( 以太网协议 ):一种多路访问广播型数据链路层协议,是当前应用最为广 泛的局域网技术。
▫ PPPoE(Point-to-Point Protocol over Ethernet,以太网承载PPP协议):PPPoE提 供通过简单桥接访问设备(接入设备)把一个网络的多个主机连接到远程访问集中器 的功能。常见的应用有家庭宽带拨号上网。
▫ Source Port:源端口,标识哪个应用程序发送。长度为16比特。
▫ Destination Port:目的端口,标识哪个应用程序接收。长度为16比特。
▫ Sequence Number:序号字段。TCP链接中传输的数据流每个字节都编上一个序号。 序号字段的值指的是本报文段所发送数据的第一个字节的序号。长度为32比特。
▫ Acknowledgment Number:确认序列号,是期望收到对方下一个报文段数据的第1 个字节的序号,即上次已成功接收到的数据段的最后一个字节数据的序号加1。只有 Ack标识为1,此字段有效。长度为32比特。
▫ Header Length:头部长度,指出TCP报文头部长度,以32比特(4字节)为计算单位。 若无选项内容,则该字段为5,即头部为20字节。
▫ Reserved:保留,必须填0。长度为6比特。
▫ Control bits:控制位,包含FIN、ACK、SYN等标志位,代表不同状态下的TCP数据 段。
▫ Window:窗口TCP的流量控制,这个值表明当前接收端可接受的最大的数据总数
(以字节为单位)。窗口最大为65535字节。长度为16比特。
▫ Checksum:校验字段,是一个强制性的字段,由发端计算和存储,并由收端进行验 证。在计算检验和时,要包括TCP头部和TCP数据,同时在TCP报文段的前面加上12 字节的伪头部。长度为16比特。
▫ Urgent:紧急指针,只有当URG标志置1时紧急指针才有效。TCP的紧急方式是发送端 向另一端发送紧急数据的一种方式。紧急指针指出在本报文段中紧急数据共有多少个 字节(紧急数据放在本报文段数据的最前面)。长度为16比特。
▫ Options:选项字段(可选),长度为0-40字节。
▫ Source Port:源端口,标识哪个应用程序发送。长度为16比特。
▫ Destination Port:目的端口,标识哪个应用程序接收。长度为16比特。
▫ Length:该字段指定UDP报头和数据总共占用的长度。可能的最小长度是8字节,因为 UDP报头已经占用了8字节。由于这个字段的存在,UDP报文总长不可能超过65535 字节(包括8字节的报头,和65527字节的数据)。
▫ Checksum:覆盖UDP头部和UDP数据的校验和,长度为16比特。
▫ 由TCP连接发起方(图中PC1),发送第一个SYN位置1的TCP报文。初始序列号a为一 个随机生成的数字,因为没收到过来自PC2的任何报文,所以确认序列号为0 ;
▫ 接收方(图中PC2)接收到合法的SYN报文之后,回复一个SYN和ACK置1的TCP报文。 初始序列号b为一个随机生成的数字,同时因为此报文是回复给PC1的报文,所以确 认序列号为a+1;
▫ PC1接收到PC2发送的SYN和ACK置位的TCP报文后,回复一个ACK置位的报文,此时
序列号为a+1,确认序列号为b+1。PC2收到之后,TCP双向连接建立。
▫ 1. PC1将全部待TCP发送的数据按照字节为单位编上号。假设第一个字节的编号为 “a+1”,第二个字节的序号为“a+2”,依次类推。
▫ 2. PC1会把每一段数据的第一个字节的编号作为序列号(Sequence number),然后 将TCP报文发送出去。
▫ 3. PC2在收到PC1发送来的TCP报文后,需要给予确认同时请求下一段数据,如何确 定下一段数据呢?序列号( a+1 )+载荷长度=下一段数据的第一个字节的序号
(a+1+12)
▫ 4. PC1在收到PC2发送的TCP报文之后,发现确认序列号为“a+1+12” ,说明“a+1” 到“a+12”这一段的数据已经被接受,需要从“a+1+12”开始发送。
▫ 1. 由PC1发出一个FIN字段置”1 ”的不带数据的TCP段;
▫ 2. PC2收到PC1发来的FIN置位的TCP报文后,会回复一个ACK置位的TCP报文。
▫ 3. 若PC2也没有需要发送的数据,则直接发送FIN置位的TCP报文。假设此时PC2还有 数据要发送,那么当PC2发送完这些数据之后会发送一个FIN置位的TCP报文去关闭连 接。
▫ 4. PC1收到FIN置位的TCP报文,回复ACK报文,TCP双向连接断开。
•IPv4( Internet Protocol Version 4),简称IP,是目前应用最广泛的网络层协议。
▫ 网络层收到上层(如传输层)协议传来的数据时候,会封装一个IP报文头部,并且把 源和目的IP地址都添加到该头部中。
▫ 中间经过的网络设备(如路由器),会维护一张指导IP报文转发的“地图”——路由
表,通过读取IP数据包的目的地址,查找本地路由表后转发IP数据包。
▫ IP数据包最终到达目的主机,目的主机通过读取目的IP地址确定是否接受并做下一步 处理。
忙进行网络的控制和状态诊断。
•MAC地址由48比特(6个字节)长,12位的16进制数字组成。例如:48-A4-72-1C-8F-4F
▫ 将IP地址解析为MAC地址;
▫ 维护IP地址与MAC地址的映射关系的缓存,即ARP表项;
▫ 实现网段内重复IP地址的检测。
(缺省:180s),设备可以直接从这个表中查找目的MAC地址来进行数据封装,而无需进 行ARP查询。过了这段有效期,ARP表项会被自动删除。
由于主机1不知道主机2的MAC地址,所以目的MAC地址为广播地址FF-FF-FF-FF-FF-FF。
•所有的主机接收到该ARP Request报文后,都会检查它的目的端IP地址字段与自身的IP地址 是否匹配。如果不匹配,则该主机将不会响应该ARP Request报文。如果匹配,则该主机会 将ARP请求报文中的发送端MAC地址和发送端IP地址信息记录到自己的ARP缓存表中,然后 通过ARP Reply报文进行响应。
▫ STP-屏蔽双绞线
▫ UTP-非屏蔽双绞线
▫ 光纤:光传输介质,简单的说,就是一根玻璃纤维,用于约束光传输的通道。
▫ 光模块:将电信号与光信号互转的器件,产生光信号。
串口电缆在设备上连接的接口类型也不同:异/同步串口、ATM接口、POS接口、CE1/PRI 接口等。
▫ 1. IE浏览器(应用程序)调用HTTP(应用层协议),完成应用层数据的封装(图中DATA还
应包括HTTP头部,此处省略) 。
▫ 2. HTTP依靠传输层的TCP进行数据的可靠性传输,将封装好的数据传递到TCP模块。
▫ 3. TCP模块给应用层传递下来的Data添加上相应的TCP头部信息(源端口、目的端口 等)。此时的PDU被称作Segment(段)。
▫ 4. 在IPv4网络中,TCP模块会将封装好的Segment传递给网络层的IPv4模块(若在IPv6
环境,会交给IPv6模块进行处理)。
▫ 5. IPv4模块在收到TCP模块传递来的Segment之后,完成IPv4头部的封装,此时的 PDU被称为Packet(包)。
▫ 6. 由于使用了Ethernet作为数据链路层协议,故在IPv4模块完成封装之后,会将
Packet交由数据链路层的Ethernet模块(例如以太网卡)处理。
▫ 7. Ethernet模块在收到IPv4模块传递来的Packet之后,添加上相应的Ethernet头部信 息和FCS帧尾,此时的PDU被称为Frame(帧)。
▫ 8. 在Ethernet模块封装完毕之后,会将数据传递到物理层。
▫ 9. 根据物理介质的不同,物理层负责将数字信号转换成电信号,光信号,电磁波(无 线)信号等。
▫ 10. 转换完成的信号在网络中开始传递。
▫ 网络中的二层设备(如以太网交换机)只会解封装数据的二层头部,根据二层头部的 信息进行相应的“交换”操作。
▫ 网络中的三层设备(如路由器)只会解封装到三层头部,并且根据三层头部的信息进 行相应的“路由”操作。
▫ 注:“交换”和“路由”的详细细节和原则,将会在后面的课程中详细介绍。
•经过中间网络传递之后,数据最终到达目的服务器。根据不同的协议头部的信息,数据将 被一层层的解封装并做相应的处理和传递,最终交由WEB服务器上的应用程序进行处理。
▫ 各个层次之间分工、界限明确,有助于各个部件的开发、设计和故障排除。
▫ 通过定义在模型的每一层实现什么功能,鼓励产业的标准化。
▫ 通过提供接口的方式,使得各种类型的网络硬件和软件能够相互通信,提高兼容性。
▫ 应用层:HTTP、FTP、Telnet等
▫ 传输层:UDP、TCP
▫ 网络层:IP、ICMP等
▫ 数据链路层:Ethernet、PPP、PPPoE等