武汉理工大学TCPIP及网络编程复习重点

合集下载

TCPIP网络协议知识点的归纳

TCPIP网络协议知识点的归纳

TCPIP网络协议知识点的归纳引导语:网络协议即网络中(包括互联网)传递、管理信息的一些规范以下是小编整理的TCP/IP网络协议知识点的归纳欢迎参考阅读谁来制定这个网络协议国际标准化组织(ISO)定义了网络协议的基本框架被称为OSI 模型要制定通讯规则内容会很多比如要考虑A电脑如何找到B电脑A 电脑在发送信息给B电脑时是否需要B电脑进行反馈A电脑传送给B 电脑的数据的格式又是怎样的内容太多太杂所以OSI模型将这些通讯标准进行层次划分每一层次解决一个类别的问题这样就使得标准的制定没那么复杂OSI模型制定的七层标准模型分别是:应用层表示层会话层传输层网络层数据链路层物理层虽然国际标准化组织制定了这样一个网络协议的模型但是实际上互联网通讯使用的网络协议是TCP/IP网络协议TCP/IP是一个协议族也是按照层次划分共四层:应用层传输层互连网络层网络接口层那么TCP/IP协议和OSI模型有什么区别呢OSI 网络协议模型是一个参考模型而TCP/IP协议是事实上的标准TCP/IP 协议参考了OSI模型但是并没有严格按照OSI规定的七层去划分标准而只划分了四层个人觉得这样会更简单点当划分太多层次时你很难区分某个协议是属于个层次的TCP/IP协议和OSI模型也并不冲突TCP/IP协议中的应用层协议就对应于OSI中的应用层表示层会话层就像以前有工业部和信息产业部现在实行大部制后只有工业和信息化部一个部门但是这个部门还是要做以前两个部门一样多的事情本质上没有多大的差别TCP/IP中有两个重要的协议传输层的TCP协议和互连网络层的IP协议因此就拿这两个协议做代表来命名整个协议族了在说TCP/IP协议时是指整个协议族TCP/IP协议分为四个层次但我们并不需要了解所有层次的协议我觉得主要关注应用层和传输层的协议就可以了拿寄送邮件举例A 寄邮件给BA关心的是用什么格式写什么内容给B(应用层内容)是寄挂号信还是寄平信(传输层内容)但是A是不会去关注邮件传送过程中采用了那条路线邮递员是如何把信件递送到B手里的(互连网络层网络接口层)先说传输层传输层有多个协议但最主要的是TCP和UDP协议两则的区别在于TCP协议需要接收方反馈UDP协议不需要接收方反馈TCP就像挂号信A电脑发信息给B电脑后需要得到B电脑的反馈这样A电脑就能知道B电脑是否已经收到信息UDP就像平信A电脑发信息给B电脑后B电脑并不给A电脑发聩A电脑发送信息出去后并不知道B电脑是否已经收到因此TCP传输比UDP传送更可靠但是TCP传输的效率就不如UDP了至于在传送过程中具体选择种传送方式需要具体问题具体分析在不可靠的网络传送过程中一般选择TCP传送方式在讲求效率或者不在乎传送失误的情况下可以选择UDP方式来提高传输速率应用层的协议有很多每一个协议代表一种类型的服务HTTP协议万维网服务FTP协议文件传送服务POP3邮件服务SOAP协议webService服务在理解TCP/IP协议的过程中常见的问题1.什么是socket?以前有听说过socket编程这种说法也有的说套接字编程我在搜索关于socket的资料时发现有的说socket是指一个连接有的说socket是一指一个端点拿打电话做比喻A电话机和B电话机正在通话那么socket是指的A和B之间的连接线呢还是指电话机(端点)我现在的理解是socket就是一个连接中的一个端点一次通讯(连接)a,b端都会有一个socket一个socket对应一个连接2.http协议属于应用层还是传输层http超文本传送协议听上去像是传输层的协议一样但事实上大家都知道http和ftp一样都是属于应用层的协议我先前很纳闷的是既然是应用层的协议怎么就取这样一个误导人的名称啊在对TCP/IP 协议还不熟悉的时候这很容易让人误解和纳闷的后来我在wiki上发现这么一段话:http中文译名问题HTTP在中国大陆被翻译为“超文本传输协议”因为“transfer”在中文里有“传输”的含意但依据HTTP定制者之一的RoyFielding 博士的论文[1](6.5.3节)作者专门强调“transfer”表示的是“(表述状态的)转移”(RepresentationalStateTransfer)而不是“传输”(transport)故其中文译名“超文本传输协议”恰恰引种反映了这种误解更符合原义的译名应该为“超文本转移协议”这段话解除了我的疑惑那么http协议当然是应用层的协议3.SOAP可以使用HTTP协议进行传输在了解SOAP协议的过程中看到介绍说soap可以通过tcp,udp,http协议来传送这也是让人困惑的描述一看这句话就会感觉http和tcp,udp协议并列了呢难道http还是属于传输层的协议再加上http中文译名的问题名字听上去像传输层初学者又要开始头大了事实上http是应用层的协议这一点可以毫无怀疑那么现在新的问题来了soap和http都是应用层协议说soap能用http协议来传输呢应用层的协议可以用应用层的协议传送我查阅了资料是这样一回事情soap将信息进行XML的序列化后再用http协议的方式再打包进行传送传送的方式还是tcp或者udp 做个比喻就好理解了tcp和udp都是公路暂且把tcp认为是一般公路udp高速公路soap和http就都是汽车那么soap和http都可以在tcp 和udp上跑说soap可以通过http来传送实际就是说soap是小轿车http是装轿车的卡车把soap的信息装到http里面然后再运输当然走的道路还是tcp或udp说soap可以通过http协议来传输这句话不太准确比较准确第说法是:soap信息可以通过http协议包装后通过tcp或udp传输。

TCPIP基础82个知识点

TCPIP基础82个知识点

1.不同厂商、不同型号、运行不同操作系统的计算机之间能够通过TCP/IP协议栈实现相互之间的通信。

2.TCP/IP起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代得到了广泛的应用。

3.TCP/IP是一个真正的开放系统,是网络互联的基础。

4.20世纪60年代以来,计算机网络得到了飞速增长。

各大厂商为了在数据通信网络领域占据主导地位,纷纷推出了各自的网络架构体系和标准,如IBM公司的SNA,Novell IPX/SPX协议,Apple公司的AppleTalk协议,DEC公司的DECnet,以及广泛流行的TCP/IP协议。

同时,各大厂商针对自己的协议生产出了不同的硬件和软件。

各个厂商的共同努力促进了网络技术的快速发展和网络设备种类的迅速增长。

但由于多种协议的并存,也使网络变得越来越复杂;而且,厂商之间的网络设备大部分不能兼容,很难进行通信。

5.为了解决网络之间的兼容性问题,帮助各个厂商生产出可兼容的网络设备,国际标准化组织ISO于1984年提出了OSI RM(Open System Interconnection Reference Model,开放系统互连参考模型)。

OSI 参考模型很快成为计算机网络通信的基础模型。

在设计OSI 参考模型时,遵循了以下原则:各个层之间有清晰的边界,实现特定的功能;层次的划分有利于国际标准协议的制定;层的数目应该足够多,以避免各个层功能重复。

6.OSI参考模型具有以下优点:简化了相关的网络操作;提供即插即用的兼容性和不同厂商之间的标准接口;使各个厂商能够设计出互操作的网络设备,促进标准化工作;防止一个区域网络的变化影响另一个区域的网络,结构上进行分隔,因此每一个区域的网络都能单独快速升级;把复杂的网络问题分解为小的简单问题,易于学习和操作。

7.OSI参考模型分为七层,由下至上依次为第一层物理层(Physical layer)、第二层数据链路层(Data link layer)、第三层网络层(Network layer)、第四层传输层(Transport layer)、第五层会话层(Session layer)、第六层表示层(Presentation layer)、第七层应用层(Application layer)。

tcpip最新复习要点

tcpip最新复习要点

1、Internet是以ARPANET 网络为雏形建立的2、现在Internet中广泛使用的TCP/IP协议族,其版本为V43、tcp/ip一般分为网络接口层,网际层,传输层和应用层四层4、常用的http工作在tcp./ip的应用层层5、ip地址属于tcp/ip中网际层的概念6、传输层常用的两个协议是TCP和UDP7、网络接口卡工作再tcp/ip的网络接口层8、osi/rm开放系统互联参考模型共有7层由国际标准化组织提出9、中国互联网信息中心是1997年6月3日组建的Internet管理和服务机构,行使我国互联网络信息中心的管理职责10、rfc是指请求评价文档第二章1、按照覆盖的地理范围,计算机网络可以分为局域网,城域网和广域网三种2、物理层常用的传输介绍有双绞线,同轴电缆,光纤和无线四种3、物理层数据传输方式有模拟传输,数字传输,光波传输和无线电传输四种4、在数据传输系统中,主要采用的数据编码技术有数字数据的模拟编码,数字数据的数字信号编码和模拟数据的数字信号编码三种5、根据通信双方是否可以同时传输数据,通信可以分为单工通信,半双工通信和全双工通信三种通信方式6、数据编码是指将数据表示成适当的信号形式,以便数据的传输和处理7、在数据传输系统中,主要采用三种数据编码技术:即数字数据的模拟编码,数字数据的数字信号编码和模拟数据的数字信号编码8、常用的数字信号编码方式不归零,差分不归零,曼彻斯特和差分曼彻斯特等第三章1、一个ip地址由网络号和主机号两部分组成2、Ip地址共分为 5 大类3、一个ip地址用4个字节表示,最常用的一种表示格式是点分十进制4、假设一个主机的ip地址为192.168.5.121,而子网掩码为255.255.255.248那么该主机的网络号部分(包括子网号部分)为192.168.5.120/295、以太网是利用Arp协议获得目的主机ip地址与Mac地址的映射关系6、在转发一个ip数据包过程中,如果路由器发现该数据报报头中的ttl字段为0,那么,它首先将该数据报丢弃,然后向源主机发送ICMP报文7、路由器选择算法工作在网际层,它负责确定对所受到的ip数据包应通过哪条传输线转发8、路由表分为静态路由表和动态路由表两种,它们建立与维护方式不同9、tcp/ip协议簇专门设计了用于地址解析的协议,其中ARP可以把一个ip地址映射成对应的物理地址,而对于无法保存ip地址的主机,RARP提供了从物理地址到ip地址的逆向地址映射第四章1、传输层主要提供了TCP和UDP两个常用协议2、端口号用一个16位的二进制数表示3、常用协议HTTP的端口号为804、Tcp可以提供面向连接的可靠的数据流服务。

TCPIP协议分析知识点总结

TCPIP协议分析知识点总结

TCPIP协议分析知识点总结一、TCP/IP协议简介TCP/IP是一组用于网络通信的协议,它包括多个层次,每个层次都由一组相互关联、协同工作的协议组成,这些协议按照其功能分成不同的层次。

TCP/IP协议家族是互联网标准协议。

1.TCP/IP层次结构TCP/IP协议族是一个层次结构的协议族。

TCP/IP协议家族由四个层次组成,分别是网络接口层、网际层、传输层和应用层。

- 网络接口层:此层负责定义操作系统与网络硬件接口之间的通信方式。

- 网际层:此层的主要功能是进行数据包的寻址和路由。

即负责将数据发送到目的地址并最终将数据包传递给网络接口层。

- 传输层:此层负责在源和目的节点之间提供可靠的数据传输服务,常用的传输层协议包括TCP(传输控制协议)和UDP(用户数据报协议)。

- 应用层:此层包含了很多应用程序需要的协议,例如HTTP、FTP、TELNET、SMTP等。

2.TCP/IP通信特点TCP/IP协议族的特点包括:- 分层结构,每一层都有自己的功能和协议,各层之间相互关联、协同工作。

- 独立性,每个层次的协议都是独立的,修改其中一个层次的协议不会影响其他层次的协议。

- 开放性,TCP/IP协议族是一个开放的标准,任何人都可以使用该协议族进行通讯。

- 可靠性,TCP/IP协议族内部有多种机制保证数据传输的可靠性。

- 灵活性,TCP/IP协议族在实际应用中可以根据需要进行灵活的组合。

3.TCP/IP协议族的发展TCP/IP协议族的发展经历了多个阶段:- ARPANET阶段:TCP/IP最早是由美国国防部高级研究计划局(ARPA)于1969年开始建立的。

ARPA最初的目的是为了研究如何使不同类型的计算机互相通讯。

- TCP/IP阶段:ARPA提出了一个新的通讯协议,即TCP/IP协议。

1982年,TCP/IP成为国际标准。

- Internet阶段:1980年代末和1990年代初,TCP/IP协议开始在全球范围内使用,逐渐成为全球网络的标准协议。

09网络-TCPIP复习提纲

09网络-TCPIP复习提纲

《TCP/IP协议》复习提纲第一章概述1. 了解Internet的管理机构:IETF,IANA、CNNIC 的职能。

2. 了解因特网技术文档RFC的含义、作用、标识方法、种类(STD/FYI/BCP)3. 了解“成熟等级”和“需求等级”第二章计算机网络与因特网体系结构1.理解协议的定义、协议的三要素2.掌握设计协议的时候如何设计协议的三要素3.了解现有的网络体系结构有哪些4.?5.理解通信协议模型分层的原因6.掌握TCP/IP协议模型分几层每层的功能、PDU及核心协议是什么7.理解分用和复用的含义,TCP/IP的每层用于分用复用的标识各是什么第三章IP地址(重点)1.理解有类IP编址:分类后的地址空间、有效的IP地址2.掌握划分子网:原理、方法和原则**3.掌握构造超网:原理、方法4.理解无类IP编址:地址块和前缀的概念、划分地址块的方法第四章%第五章ARP和RARP1.理解ARP和RARP的作用、两者间的关系,以及两者如何与IP配合完成网络层的包传输2.掌握ARP、RARP协议解析的过程3.理解ARP如何提高解析效率4.了解查看ARP缓存的命令,注意常用选项的功能5.了解代理ARP和ARP欺骗的原理第六章IP协议(重点)1.了解IP数据报首部一些重要字段的含义,以及传输过程中重要字段的变化2.理解IP数据报首部校验和方法3.~4.掌握数据报的分片与重组:why(为什么要分片、为什么选择某时某地分片重组)、when、where、how(一个给定的数据报、给定的MTU如何分片,在报文中如何标记,哪些部分要复制到报文中)5.了解IP数据报选项的原理,及对应的Ping命令第七章ICMP1.了解ICMP的作用2.了解ICMP报文的封装3.了解ICMP报文的分类及其功能4.理解ICMP报文产生的条件其中差错报文[了解ICMP差错报告的特点及不产生ICMP差错报告的情况了解差错报文的数据部分内容理解产生目标不可达报告和数据报超时报文的时机控制报文理解源抑制报文和重定向报文的原理请求应答报文了解回应请求与应答的作用和原理第八章IP路由1.了解数据分组在向目标主机投递时可分为:直接传递和间接传递2./3.掌握一般的、划分子网的、使用超网情况下的路由转发算法4.了解路由表的建立和刷新可以采用两种不同的方式5.了解路由器自动获取路径信息的两种基本算法6.了解动态路由所使用的路由协议包括内部网关协议(IGP)和外部网关协议(EGP)两种7.理解RIP、OSPF 和BGP路由选择协议的主要特点(类别、路由表内容、最优路径依据、算法、传送方式等等)8.理解路由器的工作层次第九章UDP、TCP和SCTP(重点)1.理解TCP、UDP和SCTP的比较(提供的服务)2.了解计算校验和的方法。

TCPIP重点整理

TCPIP重点整理

1.电路交换:原理:直接利用可切换的物理通信线路,连接通信双方。

三个阶段:建立电路;传输数据;拆除电路特点:在发送数据前,必须建立起点到点的物理通路;建立物理通路时间较长,数据传送延迟较短报文交换:原理:数据报每个报文均带有全称网络地址(源、目的地址);信息以报文(逻辑上完整的信息段)为单位进行存储转发。

特点:线路利用率高;要求中间结点(网络通信设备)缓冲大;延迟时间长。

分组交换:原理:分组:比报文还小的信息段,可定长,也可变长;信息以分组为单位进行存储转发。

源节点把报文分为分组,在中间结点存储转发,目的结点把分组合成报文。

特点:每个分组头包括目的地址,独立进行路由选择;额外信息增加;网络节点设备中不预先分配资源;线路利用率较电路高;节点存储器利用率比报文交换高;易于重传,可靠性比报文交换高。

2.掩码是一个32位数,当用掩码和地址块中的任意一个地址相“与”(AND)时,就可得到该地址的网络地址。

3.特殊的IP地址:特殊地址Netid Hostid 源/目的地址;网络地址特定的全0都不是;直接广播地址特定的全 1 目的地址;受限广播地址全1 全1 目的地址;本网络上的本主机全0 全0 源地址;本网络上的特定主机全0 特定的目的地址;回送地址127任意目的地址4.专用地址:专用网:不需接入Internet,但需要用TCP/IP通信;编址方案:申请,并使用A、B、C类地址;不申请,直接使用A、B、C类地址;不申请,直接使用私有地址私有地址:类Netid 块数A10.0.0 1B172.16~172.31 16C192.168.0~192.168.2552565.直接交付:分组目的与分组的发送接口在同一IP网络中间接交付:分组目的与分组的发送接口在不同IP网络中交付方式判断:分组目的IP与发送接口是否在同一IP网络中判断方法:目的IP & 发送口掩码= 发送口IP & 发送口掩码?相等:直接交付不等:间接交付交付操作:1.地址映射:IP地址→物理地址直接交付:目的IP 地址→物理地址间接交付:下一跳IP地址→物理地址 2.封装成数据链路帧发送6.版本:字段长度为4个比特,用来标识IP协议的版本信息,IP 协议存在两个版本:IPv4 和IPv6,目前的版本为 4;HLEN(首部长度字段):4 bits 以4字节(即32bits)为单位(不是以字节为单位)取值:5 ~ 15(即首部长度为 20 ~ 60 bytes);TOS(服务类型):8 bits 该分组所期望的服务质量;Total length(总长度字段):16 bits 以字节单位首部长度(即4*HLEN)+数据长度;Identification(标识字段):16 bits 源站每发送一个分组,标识值+1 (源IP地址,标识)→全网唯一分组标识;Flags(标志字段):3 bits;Fragmentation offset(片偏移字段):13 bits 以8 bytes为单位;TTL(生存时间):8 bits;协议8 bits:使用IP服务的高层协议;校验和:16 bits7.路由转发技术:基本思想:不是收到IP分组后才为其选路,而是预先获得到所有目的的路由;IP报文查找路由表按预定的路由转发预定路由:路由表主机和路由器都用路由表实现报文的发送、转发8.转发技术:下一跳方法:路由表中只保留下一跳地址,而不是完整的路径。

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

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种。

Tcp ip复习

Tcp ip复习

1.关于tcp的握手连接及状态转换1、建立连接协议(三次握手)(1)客户端发送一个带SYN标志的TCP报文到服务器。

这是三次握手过程中的报文1。

(2)服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN 标志。

因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。

(3)客户必须再次回应服务段一个ACK报文,这是报文段3。

2、连接终止协议(四次握手)由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。

这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。

收到一个FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。

首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。

(1)TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送(报文段4)。

(2)服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。

和SYN 一样,一个FIN将占用一个序号。

(3)服务器关闭客户端的连接,发送一个FIN给客户端(报文段6)。

(4)客户段发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。

CLOSED: 这个没什么好说的了,表示初始状态。

LISTEN: 这个也是非常容易理解的一个状态,表示服务器端的某个SOCKET处于监听状态,可以接受连接了。

SYN_RCVD: 这个状态表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,除非你特意写了一个客户端测试程序,故意将三次TCP握手过程中最后一个ACK报文不予发送。

因此这种状态时,当收到客户端的ACK 报文后,它会进入到ESTABLISHED状态。

SYN_SENT: 这个状态与SYN_RCVD遥想呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,因此也随即它会进入到了SYN_SENT状态,并等待服务端的发送三次握手中的第2个报文。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

复习重点:TCP/IP基础:分层模型、IP地址特点、应用层主要协议;网络编程基础:预留常用端口号、TCP与UDP的主要特点及各自编程主要步骤、应用层的唯一标识、IO模型、MFC对Windows Sockets封装类、WinInet API的封装类功能;ARP:主要步骤、主要概念、主要函数及功能客户机/服务器模式编程:客户端/服务器端编程主要步骤、主要概念FTP:主要交互命令、请求流程HTTP:客户端请求主要命令、http请求流程电子邮件:客户端主要命令、标准信头、发生接收主要步骤编程分析:tcp编程客户机/服务器基本编程、udp基本编程。

TCP和UDP特点及各自编程步骤TCP特点:(1)TCP 是面向连接的运输层协议。

(2)每一条TCP 连接只能有两个端点(endpoint),每一条TCP 连接只能是点对点的(一对一)。

(3)TCP 提供可靠交付的服务。

(4)TCP 提供全双工通信。

(5)面向字节流。

(6)TCP不保证最小传输速率,TCP不允许发送进程以设想的速率发送数据(7)TCP不提供任何延时保障UDP 特点:(1)UDP 是无连接的,即发送数据之前不需要建立连接。

(2)UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。

(3)UDP 是面向报文的。

UDP 没有拥塞控制,很适合多媒体通信的要求。

(4)UDP 支持一对一、一对多、多对一和多对多的交互通信。

(5)UDP 的首部开销小,只有8 个字节。

(6)UDP也不提供延时保障编程步骤:TCP编程UDP编程2.客户/服务器端编程主要步骤:3.电子邮件STMP指令QUIT:终止会话HELP:请求SMTP命令的帮助NOOP:空操作VRFY:验证地址(不要求一定启用)EXPN:扩展一个别名HELO:客户机问候服务器MAIL:指定邮件的发送者RCPT:指定邮件的接收者DA TA:发送邮件的数据状态REST:复位会话状态SEND:指定要发送到用户终端的邮件的发送者SOML:Send或MailSAML:Send和MailTURN:交换客户机/服务器角色标准信头:信头的一般格式信头由若干信头字段(header field)组成。

所有的信头字段包括:字段名,可选的空格,冒号“:”,可选的注解空格和可选的字段体,最后以回车换行符(CRLF)终止。

即信头字段= 字段名:字段体<CRLF>结构化字段和非结构化字段信头字段大体可以分为结构化字段和非结构化字段两种。

结构化字段有特定的格式,由语法分析程序检测。

非结构化的字段含有任意的数据,没有固定格式。

信头字段的元素尽管Email信件的总体结构非常简单,但一些信头字段的结构是很复杂的。

下面介绍一些大多数字段共有的元素。

(1)空白符(2)注解(3)字段折叠(4)字段大小写信头中必须要有的字段在创建信件时,必须使用Date或Resent-Date字段指定创建信件的日期,必须使用From字段指定创建该信件的人或程序的信箱,必须至少使用TO、CC或Bcc中的一个,或者与它们等效的Resent-TO,Resent-CC,Resent-Bcc中的一个,来指定接收信件的人。

除了这些创建信件时要求的信头以外,每个处理信件的邮件传输代理(MTA)必须在它处理的信件头部开始处加一个Received字段,就好像打了一个中转邮戳,这就是我们通常在许多信件的开始看到许多个Received字段的原因。

发送电子邮件的一般步骤1.打开邮件发送的对话;2.指定发送者的邮箱;3.指定接收者的邮箱;4.发送邮件的内容;5.结束邮件发送对话。

接收电子邮件的一般步骤首先利用Winsock连接上POP3服务器,然后:1.使用USER命令发送用户信箱名。

2.使用PASS命令发送信箱密码。

如果密码和信箱不匹配,必须从上一步骤重新开始。

3.对信箱邮件进行操作。

此阶段称为事务状态,在这一个阶段,有许多POP3命令可以使用,大体分为下面几类:(1)取得信箱及邮件状态的命令Stat:取得信箱大小信息List:取得邮件大小信息Uidl:取得邮件的唯一标识符。

(2)取得邮件内容的命令Retr:从服务器取回邮件TOP:取邮件信头和信体的前N行。

(3)对邮件进行操作的命令Dele:为邮件做删除标记。

Rset:复位POP会话。

4.接收邮件完毕,发送QUIT命令,结束POP3对话。

4.预留的常用端口号。

TCP UDP FTP SMTP TFTP HTTP6 17 21 25 69 80POP3 ONS SNMP RPC110 58 161 1355.应用层的唯一标识?套接字(IP地址+端口号)6.IO模型①Select(选择)②WSAAsyncSelect(异步选择)③WSAEventSelect(事件选择)④Overlapped(重叠)⑤Completion port(完成端口)注:Windows套接字在两种模式下执行I/O操作,及阻塞模式和非阻塞模式。

7.MFC对Windows Socket封装的类有哪些?CAsyncSocket类和CSocket类8.WinInet API的封装类功能。

①使用HTTP协议将HTML页面从服务器下载到浏览器中。

②发送FTP请求进行上传或下载文件,或获取目录列表。

③使用Gopher菜单系统获取网络资源。

④ 使用Gopher、FTP、HTTP协议建立于服务器的连接,向服务器发送请求以及断开与服务器之间的连接。

9.HTTP:客户端请求的主要命令和HTTP的请求流程9.1客户端请求的主要命令①GET:请求获取Request-URI所标识的资源。

②POST:在Request-URI所标识的资源后附加新的数据。

③HEAD:请求获取由Request-URI所标识的资源的响应消息报头。

④PUT:请求服务器存储一个资源,并用Request-URI作为其标识。

⑤Delete:请求服务器删除Request-URI所标识的资源。

⑥TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断。

⑦CONNECT:保留将来使用。

⑧OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求。

9.2HTTP的请求流程HTTP协议属于TCP/IP网络模型中的应用层的协议,两个应用程序(这里指浏览器和服务器)之间要相互通信,首先得建立TCP连接,然后浏览器才能向服务器发送请求信息。

而服务器在收到请求信息后,将返回相应的应答信息给浏览器。

浏览器接收到来自服务器的应答信息后,对这些数据进行解释执行。

#include<winsock2.h>#include<stdio.h>#include<windows.h>#pragma comment(lib,"WS2_32.lib")int main(){WSADATA data;WORD w=MAKEWORD(2,0);char sztext[]="欢迎你\r\n";::WSAStartup(w,&data);SOCKET s;s=::socket(AF_INET,SOCK_DGRAM,0);sockaddr_in addr,addr2;int n=sizeof(addr2);char buff[11]={0};addr.sin_family=AF_INET;addr.sin_port=htons(75);addr.sin_addr.S_un.S_addr=INADDR_ANY;::bind(s,(sockaddr*)&addr,sizeof(addr));printf("UDP服务器已经启动\r\n");while(1){if(::recvfrom(s,buff,11,0,(sockaddr*)&addr2,&n)!=0){printf("%s已经连接上\r\n",inet_ntoa(addr2.sin_addr));printf("%s\r\n",buff);::sendto(s,sztext,sizeof(sztext),0,(sockaddr*)&addr2,n);break;}}::closesocket(s);::WSACleanup();if(getchar()) //如果有输入则关闭程序{return 0; //正常结束程序}else{::Sleep(100);}}#include<winsock2.h>#include<stdio.h>#include<windows.h>#pragma comment(lib,"WS2_32.lib")int main(){WSADATA data;WORD w=MAKEWORD(2,0);char sztext[]="服务器,你好!\r\n";::WSAStartup(w,&data);SOCKET s;s=::socket(AF_INET,SOCK_DGRAM,0);sockaddr_in addr,addr2;int n=sizeof(addr2);char buff[10]={0};addr.sin_family=AF_INET;addr.sin_port=htons(75);addr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");printf("UDP客户端已经启动\r\n");if(::sendto(s,sztext,sizeof(sztext),0,(sockaddr*)&addr,n)!=0) {::recvfrom(s,buff,10,0,(sockaddr*)&addr2,&n);printf("服务器说:%s\r\n",buff);::closesocket(s);::WSACleanup();}if(getchar()) //如果有输入则关闭程序{return 0; //正常结束程序}else{::Sleep(100);}}试卷答案1.流套接字提供:双向的,有序的,无重复的并且无记录的数据流服务,它适合于处理大量数据传输。

2.流套接字编程模型主要步骤有:①服务进程创建套接字②将本地地址绑定在所创建的套接字上以便在网络上标识该套接字③将套接字置入监听模式并准备接受连接请求④客户进程调用socket函数创建客户端套接字⑤客户向服务器发出连接请求3.WinInet是对WinInet API的封装,具有以下功能:①使用HTTP协议将HTML页面从服务器下载到浏览器中②发送FTP请求进行上传或下载文件,或获取目录列表③使用Gopher菜单系统获取网络资源④使用Gopher,FTP,HTTP协议建立于服务器的连接,向服务器发送请求以及断开与服务器之间的连接4.MFC提供了两个Windows Sockets封装类,即:CAsyncSocket类和CSocket类.5.信头中必须要有的字段在创建信件时,必须使用Date或Resent-Date字段指定创建信件的日期,必须使用From字段指定创建该信件的人或程序的信箱,必须至少使用TO、CC或Bcc中的一个,或者与它们等效的Resent-TO,Resent-CC,Resent-Bcc中的一个,来指定接收信件的人。

相关文档
最新文档