摘要: TCP是一个面向连接的协议,无论哪一方向另一方发送数据之前,都必须先在双方之间家里一条连接。为了建立一条TCP连接(如图1所示):请求段(客户端)发送一条SYN段指明客户打算连接服务器的端口,以及初始序号(即ISN)。这个SYN端为报文段1;服务器端发回包含服务器的初始序号的SYN报文段作为应答。同时,将确认序号设置为客户的ISN加1以对客户的SYN报文段的确认。一个SYN将占用一个序号;客户必须将确认序号设置为服务器的ISN加1以对服务器的SYN报文段进行确认。 发送第一个SYN的一端将执行主动打开(action open),接收这个SYN并发回下一个SYN的一端执行被动打开(pas... 阅读全文
posted @ 2013-04-06 09:23 life91 阅读(401) 评论(0) 推荐(0) 编辑
摘要: TCP提供一种面向连接的、可靠的字节流服务。TCP通过以下方式来提供可靠性服务:应用数据被分割成TCP认为最适合发送的数据块,由TCP传递给IP的数据单元成为报文段或段(segment);当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段;当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常推迟几分之一秒;TCP将保持它首部和数据的校验和。如果收到段的校验和有差错,TCP将丢弃这个报文和不确认收到此报文(希望发送端超时重发);由于使用IP数据报来传输,而IP数据报到达可能失序。如果必要,TCP将... 阅读全文
posted @ 2013-04-05 21:06 life91 阅读(272) 评论(0) 推荐(0) 编辑
摘要: Internet组管理协议(IGMP),它让一个物理网络上的所有系统知道主机当前所在的多播组。多播路由器需要这些信息以便知道多播数据报应该向那些端口转发。IGMP在RFC 1112中定义。IGMP有固定的报文长度,没有可选数据。IGMP报文在IP首部中协议字段为2来指明。图1显示了长度为8字节的IGMP报文格式。图1 IGMP报文的字段格式 IGMP类型为1说明是有多播路由器发出的查询报文,为2说明是主机发出的报告报文。组类型为D类IP地址。在查询报文中中组类型设置为0,在报告报文中组地址为要参加的组地址。 IGMP报告和查询: 多播路由器使用IGMP报文来记录与该路由器相连网络中组成员... 阅读全文
posted @ 2013-04-05 20:08 life91 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 广播和多播仅应用于UDP。通常每个以太网帧仅发往单个目的主机,目的地址指明单个接收接口,称之为单播(unicast)。一个主机要向网上所偶其他主机发送帧,这就是广播。多播(multicast)处于单播和广播之间:以太网帧仅发送给属于多播组的多个主机。 主机对由信道传递过来帧的过滤过程,如图1所示: 1.网卡查看帧,确定是否接收该帧,若接收后将它传递给设备驱动程序。网卡仅接收目的地址为网卡物理地址或广播地址的帧。如果多接口设置为混合模式,能接收每个帧的一个复制; 2.设备驱动程序将进行另外的帧过滤:1)帧类型中必须指定要使用的协议; 2)进行多播过滤来检测该主机是否属于多播地址... 阅读全文
posted @ 2013-04-05 19:42 life91 阅读(354) 评论(0) 推荐(0) 编辑
摘要: UDP:用户数据协议 UDP是面向数据报的运输协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。同时UDP提供不可靠性:它把应用应用程序传给IP层的数据发送出去,但是并不保证他们能到达目的地。 应用程序必须关系IP数据报的长度。如果它超过网络的MTU,那么就要对IP数据报进行分片。 UDP首部的各字段如图1所示。其中,端口号表示发送和接收进程。UDP长度字段指的是UDP首部和UDP数据的字节长度,该字段要求最小长度为8字节。UDP校验和覆盖UDP首部和UDP数据。图1 UDP首部 如果发送端没有计算校验和而接收端检测到校验和有差错,那么UDP数据报就要被... 阅读全文
posted @ 2013-04-05 18:34 life91 阅读(353) 评论(0) 推荐(0) 编辑
摘要: IP选路 选路是IP最重要的功能之一,图1是IP层处理过程的简单流程。图1 IP层工作流程 路由表中包含的信息决定了IP层所做的所有决策。列出了IP搜索路由表的几个步骤:搜索匹配的主机地址;搜索匹配的网络地址;搜索默认表项(默认表项一般在路由表中被指定为一个网络表项,其网络号为0)。 IP层进行的选路实际上是一种选路机制,它搜索路由表并决定向哪个网络接口发送分组。选路策略只是一组决定把哪些路由放入路由表的规则。IP执行选路机制,而路由守护程序则提供选路策略。 如果路由表中没有默认项,而又没有找对匹配项时,会发生什么情况? 如果数据报是由主机产生的,那么就给发送该数据报的应用程序的应... 阅读全文
posted @ 2013-04-05 17:17 life91 阅读(481) 评论(0) 推荐(0) 编辑
摘要: IP:网络协议 IP是TCP/IP协议簇中最为核心的协议,它提供不可靠、无连接的数据报传输服务。不可靠(unreliable),就是它不能保证IP数据报能成功地到达目的地,IP仅提供传输服务。如果发生某种错误时,如某个路由器缓冲区耗尽,IP将丢弃该数据报,然后发送ICMP消息报给信源端。任何要求的可靠性必须由上层来提供(如TCP)。无连接(connectionless),就是IP并不维护任何有关后续数据报的状态信息,即IP数据报可以不按发送顺序接收。 IP数据报的格式如图1所示。图1 IP数据报格式及首部中的各字段 在图1中,最高位在左边,记为0 bit;最低位在右边,记为31 bit。4字节 阅读全文
posted @ 2013-04-05 16:04 life91 阅读(334) 评论(0) 推荐(0) 编辑
摘要: ICMP:Internet控制报文协议 ICMP报文通常被IP层或更高层协议(TCP或UDP)使用,用于传递差错报文以及其他需要注意的信息。ICMP报文是在IP数据报内部被传输的,如图1所示。图1 ICMP封装在IP数据报内部 ICMP的正式规范参见RFC 792。ICMP报文格式如图2所示。类型字段可以有15个不同的值,以描述特定类型的ICMP报文。某些ICMP报文还使用代码字段的值进一步描述不同的条件。校验和字段计算覆盖整个ICMP报文。图2 ICMP报文格式 ICMP报文的各种类型如图3所示,不同类型由报文中的类型字段和代码字段共同决定。 当发送一份ICMP差错报文时,报文始终包含IP首 阅读全文
posted @ 2013-04-04 16:22 life91 阅读(585) 评论(0) 推荐(0) 编辑
摘要: ARP:地址解析协议 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48 bit的以太网地址来确定目的接口的。设备驱动程序从不检查IP数据报中的目的IP地址。 地址解析为32 bit的IP地址和数据链路层使用的任何类型的地址提供动态映射。RFC 826是ARP规范描述文档。 用一个例子来解释ARP的运行过程输入下面形式的命令: % ftp bsdi 会发生如下步骤,这些步骤的序号如图1所示:图1 当用户输入命令”ftp 主机名”时ARP的操作应用程序FTP客户端调用函数gethostbyname把主机名(bsdi)转换成32 bit的IP地址。该函数在DNS系统中成为解析 阅读全文
posted @ 2013-04-04 15:19 life91 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 链路层从图1中可以看出,在TCP/IP协议簇中,链路层主要有三个目的:为IP模块发送和接收IP数据报;为ARP模块发送ARP请求和接收ARP应答;为RARP发送RARP请求和接收RARP应答。图1 TCP/IP协议簇中不同层的协议以太网(RFC 894)是当今TCP/IP采用的主要局域网技术,它采用了CSMA/CD的媒体接入方法,即带冲突检测的载波侦听多路接入。IEEE 802(RFC 1042)委员会对其重新定义。两个不同封装的格式如图2所示,图中每个方框下面的数字表示他们的字节长度。两个帧格式都采用48bit(6字节)的目的地址和源地址。在以太网帧格式中,类型字段之后就是数据;而在802帧 阅读全文
posted @ 2013-04-04 10:20 life91 阅读(305) 评论(0) 推荐(0) 编辑