当前位置:文档之家› 2020年TCPIP协议原理(精选干货)

2020年TCPIP协议原理(精选干货)

第7章TCP/IP协议原理

课程目标:

初级

●掌握TCP/IP的协议体系

●掌握IP协议报文结构

●掌握IP地址分类及掩码计算

●了解TCP、UDP协议基本原理

中级、高级

●掌握IP分片和重组的理论

●掌握TCP、UDP的报文结构

●掌握TCP、UDP的工作原理

●熟悉使用抓包工具对TCP/IP报文进行抓包分析

7.1 TCP/IP概述

7.1.1 TCP/IP 的产生背景及特点

1. TCP/IP的产生背景

传输控制协议/Internet协议(TCP/IP)

是业界标准的协议组,为跨越 LAN 和 WAN 环境的大规模互联网络设计。如下面的时间线所示,TCP/IP 始于 1969 年,也就是美国国防部 (DoD) 委任高级资源计划机构网络(ARPANET) 的时间.......感谢聆听

ARPANET是资源共享实验的结果。其目的是在美国不同地区的各种超级计算机之间提供高速网络通讯链路。

早期协议,如Telnet(用于虚拟终端仿真)和文件传输协议(FTP)是最早开发的,以指定通过ARPANET共享信息所需的基本实用程序。随着ARPANET在规模和作用范围上的日益扩大,出现了其他两个重要协议:

在1974年,传输控制协议(TCP)作为规范草案引入,它描述了如何在网络上建立可靠的、主机对主机的数据传输服务。

在1981年,Internet协议(IP)以草案形式引入,它描述了如何在互联的网络之间实现寻址的标准以及如何进行数据包路由。

1983年1月1日,ARPANET开始对所有的网络通讯和基本通讯都要求标准使用TCP 和 IP协议.从那天开始,ARPANET逐渐成为众所周知的 Internet,它所要求的协议逐渐变成 TCP/IP 协议组。TCP/IP 协议组在各种TCP/IP 软件中实现,可用于多种计算机平台,并经常用于建立大的路由专用国际网络。......感谢聆听TCP/IP是指一整套数据通信协议,其名字是由这些协议中的两个协议组成的,即传输控制协议(Transmission Control Protocol 。—TCP)和网间协议(InternetProtocol —IP)。虽然还有很多其他协议,但是TCP和IP显然是两个最重要的协议。......感谢聆听

2. TCP/IP的特点

TCP/IP协议有一些重要的特点,以确保在特定的时刻能满足一种重要的需求,即世界范围的数据通信。其特点包括:

·开放式协议标准.可免费使用,且与具体的计算机硬件或操作系统无关。由于它受到如此广泛的支持,因而即使不通过Internet 通信,利用TCP/IP来统一不同的硬件和软件也是很理想的。

·与物理网络硬件无关.这就允许TCP/IP可以将很多不同类型的网络集成在一起,它可以适用于以太网、令牌环网、拨号线、X。25网络以及任何其它类型的物理传输介质。

·通用的寻址方案。该方案允许任何TCP/IP设备唯一的寻址整个网络中的任何其他设备,该网络甚至可以象全球Internet那样大。

·各种标准化的高级协议.可广泛而持续地提供多种用户服务。

7。1.2TCP/IP协议体系

TCP/IP参考模型

TCP/IP 协议体系和 OSI参考模型一样,也是一种分层结构。它是由基于硬件层次上的四个概念性层次构成,即网络接口层、互联网层、传输层和应用层。图7.1 表示TCP/IP与OSI参考模型的对应关系。图7.2 TCP/IP参考模型的层次结构.......感谢聆听

图7。1 OSI与TCP/IP参考模型对照图

图7.2TCP/IP参考模型

在TCP/IP参考模型中,去掉了OSI参考模型中的会话层和表示层(这两层的功能被合并到应用层实现)。同时将OSI参考模型中的数据链路层和物理层合并为网络接口层.下面,分别介绍各层的主要功能。

·网络接口层

网络接口层也称为数据链路层,它是TCP/IP的最底层,但是 TCP/IP协议并没有严格定义该层,它只是要求能够提供给其上层--网络层一个访问接口,以便在其上传递IP分组。由于这一层次未被定义,所以其具体的实现方法将随着网络类型的不同而不同。......感谢聆听

·互联网层

互联网层(InternetLayer)俗称 IP层,它处理机器之间的通信。它接受来自传输层的请求,传输某个具有目的地址信息的分组.该层把分组封装到IP数

据报中,填入数据报的首部(也称为报头),使用路由算法来选择是直接把数据报发送到目标机还是把数据报发送给路由器,然后把数据报交给下面的网络接口层中的对应网络接口模块。该层还有处理接收到的数据报,检验其正确性,使用路由算法来决定对数据报是否在本地进行处理还是继续向前传送。......感谢聆听

·传输层

在TCP/IP模型中,传输层的功能是使源端主机和目标端主机上的对等实体可以进行会话。在传输层定义了两种服务质量不同的协议。即:传输控制协议TCP(transmission controlprotocol)和用户数据报协议UDP(user datagram protocol)。TCP协议是一个面向连接的、可靠的协议。它将一台主机发出的字节流无差错地发往互联网上的其他主机。在发送端,它负责把上层传送下来的字节流分成报文段并传递给下层.在接收端,它负责把收到的报文进行重组后递交给上层。TCP协议还要处理端到端的流量控制,以避免缓慢接收的接收方没有足够的缓冲区接收发送方发送的大量数据。UDP协议是一个不可靠的、无连接协议,主要适用于不需要对报文进行排序和流量控制的场合。......感谢聆听

·应用层

TCP/IP模型将OSI参考模型中的会话层和表示层的功能合并到应用层实现.应用层面向不同的网络应用引入了不同的应用层协议。其中,有基于TCP协议的,如文件传输协议( Protocol,FTP)、虚拟终端协议(TELNET)、超文本链接协议(HyperText Transfer Protocol,HTTP),简单邮件传输协议(Simple Mail Transport

Protocol,smtp);也有基于UDP协议的,如网络文件系统(Network NFS)、简单网络管理协议(Simple Network Management Protocol SNMP)、域名系统(Domain Name Server DNS)以及简单文件传输系统(The Trivial Protocol TFTP)。......感谢聆听

7.1。3 TCP/IP常用概念介绍

TCP/IP 协议体系及其实现中有很多概念和术语,为了方便读者理解后面的内容,本节集中介绍一些最常用的概念与术语.

1.包

包(packet)是网络上传输的数据片段,也称分组。在计算机网络上,用户数据要按照规定划分为大小适中的若干组,每个组加上包头构成一个包,这个过程称为封装(encapsulation)。网络上使用包为单位传输的目的是为了更好地实现资源共享和检错、纠错。包是一种统称,在不同的协议不同的层次,包有不同的名字,如TCP/I P协议中,数据链路层的包叫帧(Frame),IP 层的包称为 IP 数据报,TCP层的包常称为TCP 报文等.应用程序自己也可以设计自己的包类型,如在自己设计的socket 程序中使用包。......感谢聆听

2。网络字节顺序

由于不同体系结构的计算机存储数据的格式和顺序都不一样,要建立一个独立于任何特定厂家的机器结构或

网络硬件的互联网,就必须定义一个数据的表示标准。例如,将一台计算机上的一个32位的二进制整数发送到另一台计算机,由于不同的机器上存储整数的字节顺序可能不一样,如Intel 结构的计算机存储整数是低地址低字节数,即最低存储器地址存放整数的低位字节(叫做小端机,Little Endian),而 Sun Sparc 结构的计算机存储整数是低地址高字节数,即最低存储器地址存放整数的高位字节(叫做大端机,Big Endian)。因此,直接把数据按照恒定的顺序发送到另一台机器上时可能会改变数字的值. ......感谢聆听

为了解决字节顺序的问题, TCP/IP 协议定义了一种所有机器在互联网分组的二进制字段中必须使用的网络标准字节顺序(network standard byte order):必须首先发送整数中最高有效字节(同大端机).因此,网络应用程序都要求遵循一个字节顺序转换规则:“主机字节顺序── 〉网络字节顺序── >主机字节顺序”,即发送方将主机字节顺序的整数转换为网络字节顺序然后发送出去,接收方收到数据后将网络字节顺序的整数转换为自己的主机字节顺序然后处理. ......感谢聆听

3.服务、接口、协议

服务、接口、协议是 TCP/IP体系结构中非常重要的概念,它们贯穿了整个参考模型的始终。

2017福师TCP-IP协议原理与编程在线作业(含答案)

201710TCPIP协议原理与编程作业 1.( 2.0分)下列说法正确的是 A、TCP伪头部和长度补足部分要进行传输 B、RARP是传输层的协议 C、TCP连接的三次握手目的是为了同步连接双方发送数据的初始序列号 D、IP协议提供可靠的数据传输服务 我的答案:C 2.(2.0分)IP头部中,“头部长”字段的度量单位是 A、8位 B、16位 C、32位 D、64位 我的答案:C 3.(2.0分)关于ARP的说法错误的是 A、ARP使用询问/回答机制 B、ARP缓存用于减少地址解析需要的通信 C、ARP实现从物理地址到IP地址的映射 D、ARP只能在同一个物理网络中使用 我的答案:C 4.(2.0分)下列说法错误的是 A、OSI的发展比TCP/IP早10年左右 B、OSI具有完整的七层结构 C、OSI架构很少有实际运行的系统 D、TCP/IP现已成为Internet的主流协议

我的答案:A 5.(2.0分)RIP路由算法所支持的最大Hop数为 A、10 B、15 C、16 D、32 我的答案:B 6.(2.0分)以下哪个IP地址可以在Internet上使用 A、/ B、/ C、/ D、/ 我的答案:A 7.(2.0分)滑动窗口协议是一种 A、超时判断机制 B、差错纠正机制 C、差错检测机制 D、确认重发机制 我的答案:D 8.(2.0分)OSPF采用( )方式进行路由通告 A、单播 B、组播 C、广播 D、以上皆是 我的答案:B 9.(2.0分)以下不属于网络层协议的是

A、ARP B、IGMP C、ICMP D、FTP 我的答案:D 10.(2.0分)负责电子邮件传输的应用层协议是 A、SMTP B、PPP C、IP D、FTP 我的答案:A 11.(2.0分)对已经是分片的IP数据包再进行分片后得到的每个分片中的标志位是 A、一定是1 B、一定是0 C、可能是0 D、以上皆错 我的答案:A 12.(2.0分)TCP协议利用()来提供可靠服务 A、三次握手协议 B、建立连接 C、流量控制 D、超时重发机制 我的答案:A 13.(2.0分)ICMP的类型字段中,字段值为0表示的是 A、超时

TCP和UDP协议简介

TCP和UDP协议简介 从专业的角度说,TCP的可靠保证,是它的三次握手机制,这一机制保证校验了数据,保证了他的可靠性。而UDP就没有了,所以不可靠。不过UDP的速度是TCP比不了的,而且UDP的反应速度更快,QQ就是用UDP协议传输的,HTTP是用TCP协议传输的,不用我说什么,自己体验一下就能发现区别了。再有就是UDP和TCP的目的端口不一样(这句话好象是多余的),而且两个协议不在同一层,TCP在三层,UDP不是在四层就是七层。TCP/IP协议介绍 TCP/IP的通讯协议 这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP 协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。 TCP/IP整体构架概述 TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line 等)来传送数据。 TCP/IP中的协议 以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的: 1.IP 网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。 IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的

TCP协议通讯工作原理

TCP协议通讯工作原理 一、TCP三次握手 传输控制协议(Transport Control Protocol)是一种面向连接的,可靠的传输层协议。面向连接是指一次正常的TCP传输需要通过在TCP客户端和TCP服务端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。可靠性可以通过很多种方法来提供保证,在这里我们关心的是数据序列和确认。TCP通过数据分段(Segment)中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输的完整性。要通过TCP传输数据,必须在两端主机之间建立连接。举例说明,TCP客户端需要和TCP服务端建立连接,过程如下所示: TCP Client Flags TCP Server 1 Send SYN (seq=w)----SYN--->SYN Received 2 SYN/ACK Received<---SYN/ACK----Send SYN (seq=x),ACK (w+1) 3 Send ACK (x+1)----ACK--->ACK Received,Connection Established w: ISN (Initial Sequence Number) of the Client x: ISN of the Server 在第一步中,客户端向服务端提出连接请求。这时TCP SYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插入自己的ISN。服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK 标志置位)。在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的T CP连接,开始全双工模式的数据传输过程。 二、TCP标志 这里有必要介绍一下TCP分段中的标志(Flag)置位情况。如下图所示:

MODBUS-TCP协议介绍

MODBUS-TCP ~ ~~ IEEE 802.3 CSMA/CD 10Mb/s (1)10 Base 5 RG-8 500m (2)10 Base 2 RG-58 185m (3)10 Base T UTP STP 100m ~~ 100Mb/s 802.3a 100 Base Tx 100 Base Fx ~~ 10/100M 100M “ ” (UTP) 100m 2 3km 100km 1000Mb/s 802.3z/802.3ab 10Gb/s 802.3ae ~ ~~ IEEE802.3 EN50081-2 EN50082-2 1 DIN UTP STP( ) ~TCP/IP 1. TCP/IP ~~ TCP/IP 20 80 X.25 TCP/IP ( ) TCP/IP TCP/IP TCP/IP

Internet TCP/IP TCP/IP ~~ TCP/IP OSI OSI TCP/IP 1 TCP/IP 2. Internet Protocol(IP) ~~IP Internet http://biz.doczj.com/doc/c914108542.html, RFC79 ( RFC: Request For Comments ) ~~IP IP “ ” I/O IP IP IP “IP ” “ ” “ ” “ ” IP IP ~~IP IP 2

~~IP 4 ( 3 ) A 16387064 (1 126) B 64516 ( 128 191) C 254 ( 192 223) D (“0.0.0.0”) 1 (“255.255.255.255”) 3. Transmission Control Protocol (TCP) ~~TCP ( 4 ) RFC793 TCP TCP TCP

TCPIP协议分析

TCP/IP协议分析及应用 在计算机网络的发展过程中,TCP/IP网络是迄今为止对人类社会影响最重要的一种网络。TCP和IP是两种网络通信协议,以这两种协议为核心协议的网络总称为TCP/IP网络。人们常说的国际互联网或因特网就是一种TCP/IP网络,大多数企业的内部网也是TCP/IP网络。 作为一名学习计算机的学生,我们一定要对TCP/IP协议进行深刻的解析。通过对协议的分析进一步了解网络上数据的传送方式和网络上出现的问题的解决方法。本实验就是对文件传输协议进行分析来确定FTP协议工作方式。 目的:通过访问FTP:202.207.112.32,向FTP服务器上传和下载文件。用抓包工作来捕捉数据在网络上的传送过程。为的方便数据包的分析,通过上传一个内容为全A的TXT文件,来更直观的分析文件传输的过程。 过程: 1.在本机上安装科莱抓包软件 2.对科莱进行进滤器的设置(arp、ftp、ftp ctrl、ftp data) 3.通过运行CMD窗口进行FTP的访问 4.用PUT和GET进行文件的上传与下载 5.对抓到的包进行详细的分析 CMD中的工作过程: C:\Documents and Settings\Administrator>ftp 202.207.112.32 Connected to 202.207.112.32. 220 Serv-U FTP Server v5.1 for WinSock ready... User (202.207.112.32:(none)): anonymous //通过匿名方式访问 331 User name okay, please send complete E-mail address as password. Password: 230 User logged in, proceed. ftp> cd 学生作业上传区/暂存文件夹 250 Directory changed to /学生作业上传区/暂存文件夹 ftp> put d:\aaa123.txt //上传aaa123.txt文件 200 PORT Command successful. 150 Opening ASCII mode data connection for aaa123.txt.

TCP-IP协议的结构与运行原理

TCP/IP协议的结构与运行原理 TCP/IP模型很成功,其设计已经经得起多年的磨练。无奈,TCP/IP协议族是很繁杂的一个模型,为了全面理解它,宜采取先全局后局部的庖丁解牛式。本文从应用的角度试着去理解TCP/IP的全貌,配合例 子加以讲解。 本文目的: 巩固自己这方面的知识,作为深入TCP/IP协议族的基础。 本文内容: 1. TCP/IP协议族组成 从字面上理解,TCP/IP协议族只有TCP、IP协议,其实不然。其真正的名字是Internet协议族(Internet Protocol Suite) 。和大型软件一样,其分为四层:应用层、传输层、网络层、链路层。 每一层的功能和目的都是不一样的,每一层上服务的协议也不是有区别的。从上往下看: 应用层(产生|利用数据) 协议:FTP、HTTP、SNMP(网管)、SMTP(Email)等常用协议; 职责:利用应用层协议发送用户的应用数据,比如利用FTP发送文件,利用SMTP发送Email;由系 统调用交给运输层处理。 运输层(发送|接收数据) 协议:TCP(有连接)、UDP(无连接); 职责:负责建立连接、将数据分割发送;释放连接、数据重组或错误处理。 网络层(分组|路由数据) 协议:IP、ICMP(控制报文协议)、IGMP(组管理协议); 职责:负责数据的路由,即数据往哪个路由器发送。 链路层(按位发送|接收数据) 协议:以太网卡设备驱动、令牌网卡驱动程序、ARP、RARP等; 职责:负责传输校验二进制用户数据。 从可靠性角度看各层区别: 网络层IP协议是不可靠的协议,为此,如果其上面的层也不做任何特殊处理,也将是不可靠的。于是, 运输层的TCP协议弥补了这个空缺,提供有连接的、可校验的数据传输服务。 应用层的话可对数据进行加密之类的处理,增强的是传输数据的安全性,如https。 链路层可对数据进行校验。 从运行进程态看各层区别: 应用层运行在用户程序进程中,属性用户态; 其他层则在系统内核进程运行,属于核心态; 从通信方式上看各层区别: 传输层是端对端的通信,也就是说,处理的是进程与进程之间的通信,如两个TCP进程; 网络层是点对点的通信,也就是说,处理的是机器之间的逻辑连接。 从传输数据单元上看区别: 传输层上形成的是TCP或UDP报文段; 网络层形成的是IP数据报; 数据链路层形成的是帧(Frame)。 从寻址方式上看各层区别: 网络层通过IP寻址; 链路层通过MAC寻址。 注解:

详解TCPIP协议总结

TCP/IP 协议 TCP/IP 不是一个协议,而是一个协议族的统称。里面包括IP 协议、 IMCP 协议、TCP 协议。 这里有儿个需要注意的知识点: ?互联网地址:也就是IP 地址,一般为网络号+子网号+主机号 ?域名系统:通俗的来说,就是一个数据库,可以将主机名转换成IP 地址 ? RFC : TCP/IP 协议的标准文档 ?端口号:一个逻辑号码,IP 包所带有的标记 ? Socket :应用编程接口 数据链路层的工作特性: ?为IP 模块发送和接收IP 数据报 ?为ARP 模块发送ARP 请求和接收ARP 应答(ARP :地址解析协议,将IP 地 址转换 成MAC 地址) ? 为RARP 发送RARP 请求和接收RARP 应答 接下来我们了解一下TCP/IP 的工作流 程: 数据链路层从ARP 得到数据的传递信息,再从IP 得到具体的数据信息 IP 协议 IP 协议头当中,最重要的就是TTL (IP 允许通过的最大网段数量)字 段(八位),规定该数据包能穿过儿个路山之后才会被抛弃。 IP 路由选择 版本首部长圍区分服务 总长度 标识 标志 片偏移 生存时间 协议 首部检验利 源地址 目的地址 可选字段(长度可变) 填充 I 4 8 24 31 部分 16 19 数 据 部 分 固 皆定 部分 发送在前 IP 数据

箝古畫帕igiKMudeu ICMP 协议(网络控制文协议) 将IP 数据包不能传送的错误信息传送给主机 查询报文 1. ping 査询:主机是否可达,通过计算间隔时间和传送多少个包的数量 2. 子网掩码 3. 时间戳:获得当询时间 优元幔萦匹配 ?SEE 失? ■ 匹杞同孑協1的跨用器 ?成切? 发送冷總民避 丿 1 丿 V / 、 Z 、 匹配同网号杓路Fh 器 ?或6 发送IP SS 冕包绘跑国器 1 丿 1 丿 芨索SKIAB^田 发迭IP 数据给淫呂器 艾败 丢弃担个? ARP 协议工作原理 ( e?*Aw>?a? r^?WARpr?s 爸旁丰0?榜 ?ommeu

tcp,ip详解卷1,协议,下载

竭诚为您提供优质文档/双击可除tcp,ip详解卷1,协议,下载 篇一:tcp_ip协议详解 tcp/ip协议详解 这部分简要介绍一下tcp/ip的内部结构,为讨论与互联网有关的安全问题打下基础。tcp/ip协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如t1和x.25、以太网以及Rs-232串行接口)之上。确切地说,tcp/ip协议是一组包括tcp协议和ip协议,udp (userdatagramprotocol)协议、icmp (internetcontrolmessageprotocol)协议和其他一些协议的协议组。 tcp/ip整体构架概述 tcp/ip协议并不完全符合osi的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而tcp/ip通讯协议采用了4层的层级结构,每一层都呼叫它的

下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(smtp)、文件传输协议(Ftp)、网络远程访问协议(telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(tcp)、用户数据报协议(udp)等,tcp和udp给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(ip)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如ethernet、serialline等)来传送数据。 tcp/ip中的协议 以下简单介绍tcp/ip中的协议都具备什么样的功能,都是如何工作的: 1.ip 网际协议ip是tcp/ip的心脏,也是网络层中最重要的协议。 ip层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---tcp或udp层;相反,ip层也把从tcp或udp层接收来的数据包传

3-TCPIP协议编程实验(winsocket)

第三节TCP/IP协议编程实验 |━Windows环境下基于TCP/IP的信息传送程序设计 1.1实验目的: 1、掌握基于TCP/IP协议进行远程通讯的原理 2、掌握Sockets网络程序设计的原理和方法 3、理解面向连接服务、面向无连接的特点 1.2 实验任务 1 学会Winsock 网络编程基础 2 Winsock控件的属性和方法 1.3 实验环境 Windows98 或Windows2000 操作系统,编译环境任选。 1.4 实验方法 一、实验原理 (一)TCP/IP的特点和Socket TCP/IP是网络上广泛应用的协议,其中IP是网络层的协议,它是无连接的;TCP是传输层的协议,它是面向连接的。在实际系统中,TCP/IP通常在操作系统内核中实现,用户所能感受到的和可以用来进行网络程序开发的是操作系统提供的网络编程界面。在TCP/IP 网络环境下,网络编程界面称为套接字(Socket)(见图1)。 图1、TCP/IP协议核心与应用程序关系图 图1中的应用程序1和2可以是位于不同主机上的2个进程,他们的作用方式是客户/服务器模式。 1、Sockets编程原理 (1)Sockets编程中的主要概念 ●协议、地址、端口: 在Sockets编程中,传输层的协议既可以是TCP,也可以是UDP。 Sockets是用于网间进程通讯的,因此在标识上要进行网间进程标识。地址是标识主机的,在Sockets编程中通常指IP地址;而端口标识通信的进程,它可以是1-65535间的任何一个数字,其中1-255保留给特定的服务、256-1023保留给其它的一般服务(如路由函数)、

1024-4999可以被任意的客户机端口使用、5000-65535可以被任意的服务器端口使用。地址+端口就实现了网间进程标识。 (协议、本地地址、本地端口号、远程地址、远程端口号)是一组五元相关。 ●面向连结、无连接、Socket类型: 传输层中的TCP协议是面向连接的,UDP协议是无连接的,因此Socket主要有两种类型:流套接字用于TCP/IP编程,提供面向连接的服务;数据报套接字用于UDP/IP编程,提供无连接的服务。 ●网络字节顺序: 不同的计算机存放多字节值的顺序不同,为保证数据的正确性,在网络协议中必须指定网络字节顺序。TCP/IP协议使用16位整数和32位整数的高位先存格式。在编程中,调用htons()和htonl()函数来转换端口(短整型数值)和地址(长整型数值)参数的字节顺序(2)Sockets编程原理 ●创建套接字:用socket()来创建套接字。 ●指定本地地址:用bind()来指定本地地址。 ●侦听连接:面向连接的服务中,服务器套接字在socket()和bind()后,就要调用listen()来侦听客户机的请求。 ●建立套接字连接:面向连接的服务中,客户机在socket()和bind()之后,要调用connect()来向服务器请求连接,服务器在侦听到客户机的请求后,要调用accept()来接受连接。 ●数据传输:当一个连接建立以后,就可以传输数据了。在传输数据时,用到send()和recv()。 ●输入/输出多路复用:用select()函数指定你想等待数据的套接字,当数据被套接字接收到以后,select()返回,并确定在输入队列中哪个套接字在等待数据,然后,就可以接收数据。 ●关闭套接字:用closesocket()函数关闭套接字,并释放分配给该套接字的资源。 2、使用已封装好的类进行Windows Sockets编程 以上所提到的WinSock编程的方法和函数是标准Sockets调用和WinSock API所提供的,在Windows环境下使用任何编程语言、开发环境都可以实现。现在,很多开发环境都提供了已经封装好的用于Windows Sockets编程的类,这些现成的类使得WinSock的程序开发更方便、快速。

tcp-ip协议详细讲解

TCP/IP协议详解 这部分简要介绍一下TCP/IP的部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。 TCP/IP整体构架概述 TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。 TCP/IP中的协议 以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的: 1. IP 网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。 IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一

tcpip协议原理期末考试复习提纲

一、填空题 1 ?网络拓扑定义了(终端用户设备和网络设备)的连接方式,它包括(物理拓扑和逻 辑 拓扑)2种含义。 2.物理拓扑是指(物理结构上各种设备和传输介质的布局),它包括(总线型、环型、星型、扩展星型、树型、网状)等结构(至少列出 4种)。 3 ?逻辑拓扑定义了(发送数据的主机访问传输介质的方式),它包括(广播和令牌传递) 这2种常见的方式。 4?冲突是指(当2个比特信号同时在同一物理介质中传播时发生的一种情形),它的产生 主要和(信道的传输方式)有关。 5?信道的传输方式包括(单工、半双工和全双工)3种,其中(半双工)方式下会 产生 冲突。 6. IEEE局域网标准(802 )把数据链路层分为了(逻辑链路层和介质访问控制层)2层。 7 ?介质访问控制子层定义了(如何在物理线路上传输帧),它处理(每一个相关设备 的 物理寻址、网络拓扑定义以及线路规程)。 &令牌环属于(确定性)的介质访问控制方法,以太网属于(不确定性)的介质访问 控制方法。 9?以太网MAC地址长度(48位),由(厂商代码和设备编号)2部分组成。 10. 以太网MAC地址(48位全为1 )表示为广播地址,(第 8位为1 )表示为组播地址。 11. ( CSMA/CD即载波监听多路访问/冲突检测)是广播式以太网共享传输介质的理论基础。 12?交换机构建的以太网通过(冗余链路)来防止网络中单点失效的问题,但它也导 致了 (交换回路)的出现。 13?为了解决冗余链路下交换回路问题,交换机采用了(IEEE 802.1d )协议。 14?数据链路结构可以分为(点对点链路和点对多点链路)2种,其中包含(主站、 从 站、复合站)3种角色的是(点对点链路)结构。 15?数据链路控制的功能主要包括(帧控制、帧同步、寻址、差错控制、流量控制、链路 管理、透明传输和异常状态恢复)。(至少列出6种) 16?帧同步和透明传输的实现方法由(成帧方式)决定。 17?帧的成帧方式主要包括(面向字符型和面向比特型)2种。 18?面向字符型的成帧方式以(一些特殊字符,如SYN、DLE STX等)标识帧的起始、 终止位置及帧的组成部分,采用(字符填充法)实现透传。 19?面向比特型的成帧方式以(二进制序列01111110 )作为帧的开始和结束标志,采 用 (位填充法)实现透传。

TCPIP协议详解-配置选项

附录E 配置选项 我们已经看到了许多冠以“依赖于具体配置”的T C P/I P特征。典型的例子包括是否使能U D P的检验和(11 .3节),具有同样的网络号但不同的子网号的目的I P地址是本地的还是非本地的(1 8.4节)以及是否转发直接的广播(1 2.3节)。实际上,一个特定的T C P/I P实现的许多操作特征都可以被系统管理员修改。 这个附录列举了本书中用到的一些不同的T C P/I P实现可以配置的选项。就像你可能想到的,每个厂商都提供了与其他实现不同的方案。不过,这个附录给出的是不同的实现可以修改的参数类型。一些与实现联系紧密的选项,如内存缓存池的低水平线,没有描述。 这些描述的变量只用于报告的目的。在不同的实现版本中,它们的名字、默认值、或含义都可以改变。所以你必须检查你的厂商的文档(或向他们要更充分的文档)来 了解这些变量实际使用的单词。 这个附录没有覆盖每次系统引导时发生的初始化工作:对每个网络接口使用i f c o n f i g 进行初始化(设置I P地址、子网掩码等等)、往路由表中输入静态路由等等。这个附录集中描述了影响T C P/I P操作的那些配置选项。 E.1 BSD/386 版本1.0 这个系统是自从4 .2B S D以来使用的“经典”B S D配置的一个例子。因为源代码是和系统一起发布的,所以管理员可以指明配置选项,内核也可重编译。存在两种类型的选项:在内核配置文件中定义的常量(参见c o n f i g( 8)手册)和在不同的C源文件中的变量初始化。大胆而又经验丰富的管理员也可以使用排错工具修改正在运行的内核或者内核的磁盘映像中这些变量的值,以避免重新构造内核。 下面列出的是在内核配置文件中可以修改的常量。 IPFORWARDING 这个常量的值初始化内核变量i p f o r w a r d i n g。如果值为0(默认),就不转发I P数据报。如果是1,就总是使能转发功能。 GATEWAY 如果定义了这个常量,就使得I P F O R WA R D I N G的值被置为1。另外,定义这个常量还使得特定的系统表格(A R P快速缓存表和路由表)更大。 SUBNETSARELOCAL 这个常量的值初始化内核变量s u b n e t s a r e l o c a l。如果值为1(默认),一个和发送主 I P地址被认为是本地的。如果是0,只有在同一个子

TCPIP协议基础之二(TCPIP协议介绍)

TCP/IP协议基础之二(TCP/IP协议介绍) 这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP 协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议之上。确切地说, TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP (Internet Control Message Protocol)协议和其他一些协议的协议组。 AD: TCP/IP的通讯协议 这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。 确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。 TCP/IP整体构架概述 TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

TCPIP协议体系结构简介

TCP/IP协议体系结构简介 -------------------------------------------------------------------------------- 好喜爱学习网http://biz.doczj.com/doc/c914108542.html, 分类:网络基础网络协议来源:网络收集录入:管理员 -------------------------------------------------------------------------------- 09 协议的定义及意义协议的定义及意义如何定义网络协议,它有哪些意义?协议是对网络中设备以Email协议基础知识1.Email系统的基本原理INTERNET邮件Google重拳:Gmail 支持POP3协议互联网搜索巨擎Google推出其引领业界千兆风潮的Gmail已经有一PPPoE 协议在宽带接入网中的应用近年来,网络数据业务发展迅速,宽带用户呈爆炸式的增长,运营商在采用x1、TCP/IP协议栈 四层模型 TCP/IP这个协议遵守一个四层的模型概念:应用层、传输层、互联层和网络接口层。 网络接口层 模型的基层是网络接口层。负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。 互联层 互联协议将数据包封装成internet数据报,并运行必要的路由算法。 这里有四个互联协议: 网际协议IP:负责在主机和网络之间寻址和路由数据包。 地址解析协议ARP:获得同一物理网络中的硬件主机地址。 网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。 互联组管理协议IGMP:被IP主机拿来向本地多路广播路由器报告主机组成员。 传输层 传输协议在计算机之间提供通信会话。传输协议的选择根据数据传输方式而定。 两个传输协议: 传输控制协议TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。 用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。 应用层 应用程序通过这一层访问网络。 网络接口技术 IP使用网络设备接口规范NDIS向网络接口层提交帧。IP支持广域网和本地网接口技术。 串行线路协议 TCP/IPG一般通过internet串行线路协议SLIP或点对点协议PPP在串行线上进行数据传送。

详解TCPIP协议的含义和参数

详解TCP/IP协议的含义和参数最重要的概念是IP地址,它是32位地址,采用如下的形式: nnn.nnn.nnn.nnn 其中每个nnn为8位,范围为0~255。通常互连网上的每台机器的地址都是唯一的。这相当于身份证号码,但这号码不易记忆,后来就出现了域名的概念,它与IP地址唯一对应,实际就是网络世界的门牌号码。如网事网络:域名:http://biz.doczj.com/doc/c914108542.html, IP地址:210.77.43.3 域名的申请是有专门的管理机关负责的。常用的定级域名有行业与地区两种,以下为常见的域名: 地区: .cn中国; .hk香港; .uk英国; .tw台湾; .au澳大利亚; .jp日本; .ru俄罗斯; .fr法国 行业: .com公司;

.gov政府; .net网络; .edu教育; .mil军事; .org非赢利组织 TCP/IP协议中的三个参数 TCP/IP(TransmiteControlProtocol传输控制协议/InternetProtocol网际协议)已成为计算机网络的一套工业标准协议。Internet网之所以能将广阔范围内各种各样网络系统的计算机互联起来,主要是因为应用了“统一天下”的TCP/IP协议。在应用TCP/IP协议的网络环境中,为了唯一地确定一台主机的位置,必须为TCP/IP协议指定三个参数,即IP地址、子网掩码和网关地址。 IP地址 IP地址实际上是采用IP网间网层通过上层软件完成“统一”网络物理地址的技巧,这种技巧使用统一的地址格式,在统一管理下分配给主机。Internet 网上不同的主机有不同的IP地址,每个主机的IP地址都是由32比特,即4个字节组成的。为了便于用户阅读和理解,通常采用“点分十进制表示技巧”表示,每个字节为一部分,中间用点号分隔开来。如210.77.43.3就是网事网络WEB服务器的IP地址。每个IP地址又可分为两部分。网络号表示网络规模的大小,主机号表示网络中主机的地址编号。按照网络规模的大小,IP地址可以分为A、B、C、D、E五类,其中A、B、C类是三种主要的类型地址,D类专供多目传送用的多目地址,E类用于扩展备用地址。A、B、C三类IP地址有效范围如下表: 类别 网络号 主机号 A

tcpip协议详解,pdf

竭诚为您提供优质文档/双击可除 tcpip协议详解,pdf 篇一:tcpip详解-卷一-协议-3.11小结 3.11小结 本章开始描述了ip首部的格式,并简要讨论了首部中的各个字段。我们还介绍了ip路由选择,并指出主机的路由选择可以非常简单:如果目的主机在直接相连的网络上,那么就把数据报直接传给目的主机,否则传给默认路由器。 在进行路由选择决策时,主机和路由器都使用路由表。在表中有三种类型的路由:特定主机型、特定网络型和默认路由型。路由表中的表目具有一定的优先级。在选择路由时,主机路由优先于网络路由,最后在没有其他可选路由存在时才选择默认路由。 ip路由选择是通过逐跳来实现的。数据报在各站的传输过程中目的ip地址始终不变,但是封装和目的链路层地址在每一站都可以改变。大多数的主机和许多路由器对于非本地网络的数据报都使用默认的下一站路由器。a类和b类地址一般都要进行子网划分。用于子网号的比特数通过子网掩码来指定。我们为此举了一个实例来详细说明,即作者所在

的子网,并介绍了变长子网的概念。子网的划分缩小了internet路由表的规模,因为许多网络经常可以通过单个表目就可以访问了。接口和网络的有关信息通过ifconfig和netstat命令可以获得,包括接口的ip地址、子网掩码、广播地址以及mtu等。 在本章的最后,我们对internet协议族潜在的改进建议—下一代ip进行了讨论。 习题 3.1环回地址必须是127.0.0.1吗? 3.2在图3-6中指出有两个网络接口的路由器。 3.3子网号为16bit的a类地址与子网号为8bit的b类地址的子网掩码有什么不同? 3.4阅读RFc1219[tsuchiya1991],学习分配子网号和主机号的有关推荐技术。 3.5子网掩码255.255.0.255是否对a类地址有效? 3.6你认为为什么3.9小节中打印出来的环回接口的mtu要设置为1536? 3.7tcp/ip协议族是基于一种数据报的网络技术,即ip 层,其他的协议族则基于面向连接的网络技术。阅读文献[clark1988],找出数据报网络层提供的三个优点。 篇二:tcpip等协议报文格式 tcp/ip等协议报文格式

TCPIP协议

TCP/IP协议介绍 TCP/IP的通讯协议 这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP 协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。 TCP/IP整体构架概述 TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为: 应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文

件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。 互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。 网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。 TCP/IP中的协议 以下简单介绍TCP/IP中的协议都具备什么样的功能,都是如何工作的: 1.IP 网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。

TCP协议详解

TCP协议详解 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。 但是简单的连到一起是远远不够的,就好像语言不同的两个人互相见了面,完全不能交流信息。因而他们需要定义一些共通的东西来进行交流,TCP/IP就是为此而生。TCP/IP不是一个协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的http、ftp、pop3协议等等。电脑有了这些,就好像学会了外语一样,就可以和其他的计算机终端做自由的交流了。 TCP/IP协议分层 ![TCP分层 2.jpg](http://upload-images.jianshu.io/upload_images/2964446-94da7e7442050d15.jpg?i mageMogr2/auto-orient/strip%7CimageView2/2/w/1240) TCP/IP协议族按照层次由上到下,层层包装。 应用层: 向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。

TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。 传输层: 提供应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。 网络层: 负责相邻计算机之间的通信。其功能包括三方面。 一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。 二、处理输入数据报:首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。 三、处理路径、流控、拥塞等问题。 网络接口层: 这是TCP/IP软件的最低层,负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。 IP 是无连接的 IP 用于计算机之间的通信。 IP 是无连接的通信协议。它不会占用两个正在通信的计算机之间的通信线路。这样,IP 就降低了对网络线路的需求。每条线可以同时满足许多不同的计算机之间的通信需要。 通过IP,消息(或者其他数据)被分割为小的独立的包,并通过因特网在计算机之间传送。 IP 负责将每个包路由至它的目的地。 IP地址 每个计算机必须有一个IP 地址才能够连入因特网。 每个IP 包必须有一个地址才能够发送到另一台计算机。

TCPIP详解-卷一-协议-14.4一个简单的例子.

14.4一个简单的例子 让我们从一个简单的例子来了解一个名字解析器与一个名字服务器之间的通信过程。在sun 主机上运行Telnet 客户程序远程登录到gemini 主机上,并连接daytime 服务器: 在这个例子中,我们引导sun 主机(运行Telnet 客户程序)上的名字解析器来使用位于http://biz.doczj.com/doc/c914108542.html, (140.252.1.54)的名字服务器。图14-9显示了这三个系统的排列情况。和以前提到的一样,名字解析器是客户程序的一部分,并且在Telnet 客户程序与daytime 服务器建立TCP 连接之前,名字解析器就能通过名字服务器获取IP 地址。在这个图中,省略了sun 主机与140.252.1以太网的连接实际上是一个SLIP 连接的细节(参见封2的插图),因为它不影响我们的讨论。通过在SLIP 链路上运行tcpdump 程序来了解名字解析器与名字服务器之间的分组交换。 图14-9用于简单DNS 例子的系统 sun 主机上的文件/etc/resolv.conf将告诉名字解析器作什么: sun%cat/etc/resolv.confnameserver140.252.1.54doma http://biz.doczj.com/doc/c914108542.html, 第1行给出名字服务器—主机http://biz.doczj.com/doc/c914108542.html, 的IP 地址。最多可说明3个名字服务器行来提供足够的后备以防名字服务器故障或不可达。域名行说明默认域名。如果要查找的域名不是一个完全合格的域名(没有以句点结束),那末默认的域 名http://biz.doczj.com/doc/c914108542.html, 将加到待查名后。 图14-10显示了名字解析器与名字服务器之间的分组交换。

图14-10向名字服务器查询主机名http://biz.doczj.com/doc/c914108542.html, 的输出 让tcpdump 程序不再显示每个IP 数据报的源地址和目的地址。相反,它显示客户 (resolver )的IP 地址140.252.1.29和名字服务器的IP 地址140.252.1.54。客户的临时端口号为1447,而名字服务器则使用熟知端口53。如果让tcpdump 程序显示名字而不是IP 地址,它可能会和同一个名字服务器联系(作指示查询),以致产生混乱的输出结果。 第1行中冒号后的字段(1+)表示标识字段为1,加号“+”表示RD 标志(期望递归)为1。默认情况下,名字解析器要求递归查询方式。 下一个字段为A? ,表示查询类型为A (我们需要一个IP 地址),该问号指明它是一个查询 (不是一个响应)。待查名字显示在后面:http://biz.doczj.com/doc/c914108542.html,. 。名字解析器在待查名字后加上句点号指明它是一个绝对字段名。 在UDP 数据报中的用户数据长度显示为37字节:12字节为固定长度的报文首部(图143);21字节为查询名字(图14-6),以及用于查询类型和查询类的4个字节。在DNS 报文中无需填充数据。 tcpdump 程序的第2行显示的是从名字服务器发回的响应。1*是标识字段,星号表示设置 AA 标志(授权回答)(该服务器是http://biz.doczj.com/doc/c914108542.html, 域的主域名服务器,其回答在该域内是可相信的。)输出结果2/0/0表示在响应报文中最后3个变长字段的资源记录数:回答RR 数为2,授权RR 和附加信息RR 数均为0。tcpdump 仅显示第一个回答,回答类型为A (IP 地址),值为 140.252.1.11。

相关主题