TCP-IP复习
- 格式:doc
- 大小:135.50 KB
- 文档页数:12
2015年TCP/IP网络编程复习题一、选择题1、要对IP协议直接访问,必须使用()套接字①数据流②数据报③原始④没有办法2、下列套接字函数可产生套接字的是()①send ②accept ③connect ④close3、使用数据报套接字进行网络通信的应用层协议是()①FTP ②POP3 ③PPP ④SNMP4、要建立数据报套接字,在socket函数中需要使用的参数是()。
① SOCK_DGRAM②SOCK_STREAM ③ SOCK_RAM ④SOCK_PACKET5、下面的属于IPv4地址结构的是()。
① sockaddr_in ②sockaddr ③ addr ④in_addr6、初始化信号量应该使用的函数名是()。
① pthread_cond_init ②pthread_create ③ sem_init ④pthread_mutex_init7、下列哪个协议是应用层的()①IGMP ②HTTP ③ARP ④ICMP8、下列哪个协议是应用层的()①CSMA ②SMTP③TCP ④ICMP9、在Linux下,下列哪个函数用来关闭一个套接字()①closesocket,②WSACleanup ③close④exit10、在数据流式套接字中()套接字函数将产生网络报文① socket ②bind ③ sendto ④connect11、下列套接字函数中,不能用于数据流通信的是()①socket ②bind ③ send ④recvfrom12、下列套接字函数中,需要地址结构作为参数的是()①socket ②recvfrom ③ send ④close13、 listen函数的作用是()①接受连接请求②设置等待连接状态③连接套接字到目的地④指定本地地址14、 winsock中提供的用于消息机制的函数是()①WSAStartup ② WSAEventSelect ③WSACleanup ④WSAAsynSelect15、将长整形数值从网络顺序转换为本机顺序的函数( )①ntohl ② htons ③ htonl ④ ntohs16、下列哪个函数在linux系统下网络程序不能使用( )①closesocket ② select ③close ④ printf17、套接字函数在完成其任务之前不返回,我们称之为()①消息机制②事件机制③阻塞方式④非阻塞方式18、属于网络层的协议()① CSMA/CD ② ICMP ③ FTP ④ UDP19、属于链路层的协议()① CDMA ② ICMP ③ PPP ④ UDP20、下列应用中使用TCP传输的是()①实时视频② IP电话③网页传输④ DNS21、下列应用中使用UDP传输的是()①文件传输② IP电话③网页传输④电子邮件22、 IP协议具有如下哪个特点()①保证传输可靠性②无连接的数据报③建立虚电路④进行拥塞控制23、下列哪个特点是TCP协议没有的()①保证传输可靠性②流量控制③建立虚电路④进行拥塞控制24 在网络通信中,客户机要访问服务器程序,必须知道服务器的()①地理位置②程序名称③所在国家④端口和主机地址25、下列哪个套接字函数不能用于客户程序()①socket ②send ③accept ④ connect26、下列哪个套接字函数不能用于服务器程序()①socket ②sendto ③accept ④ connect27、下列哪个套接字函数不能用于服务器程序()①listen ②send ③accept ④ connect28、网络应用程序运行在网络系统的()上①端系统②核心系统③路由器④网线29、下列设施属于网络核心系统的是()①路由器②智能手机③Web服务器④ PC30、根据规定,网络字节序是()①Big endian ② Little endian ③和Intel x86一致④说不清31、浏览器是一种()①HTTP客户端②HTTP服务器③文件服务器④邮件客户端32、已知IP地址的点分十进制形式,下列哪个函数能够得到其整数形式()①gethostbyname ②inet_ntoa ③inet_addr ④gethostbyaddr二、判断题1.服务器必须先于客户端启动。
Tcp/Ip复习资料(仅做参考)1.网络体系结构(architecture):计算机网络的各层及其协议的集合,其目的是为网络硬件、软件、协议、存取控制和拓朴结构等提供标准。
体系结构是这个计算机网络及其部件所应完成的功能的精确定义。
实现(implementation):指遵循体系结构的前提下,用何种硬件或软件完成这些功能的问题。
2.网络分层:服务接口:为同一计算机上使用它的通信服务的其他上层实体定义的,简称服务服务访问点 SAP:同一系统相邻两层的实体进行交互的地方实体(entity) :表示任何可发送或接收信息的硬/软件进程协议接口:为另一台计算机上对等实体定义的对等接口,即协议3.封装:为SDU增加对等实体间约定的协议控制信息(Protocol Control Information,PCI)的过程服务数据单元(Service Data Unit,SDU):发送方N层实体从N+1层实体得到的数据包协议数据单元(Protocol Data Unit,PDU):N层实体将SDU视为需要本实体提供服务的数据,将SDU进行封装,以使对方能够理解4.网络协议(protocol):为进行网络中的数据交换而建立的规则、标准或约定的集合,如交换数据的格式、编码方式、同步方式等。
定义了通信的方式和进行通信的时间,主要包括以下3个关键要素:语法:定义了数据与控制信息的结构或格式。
WHAT?语义:定义了需要发出何种控制信息,完成何种动作以及做出何种响应。
HOW? 同步:定义了事件实现顺序以及速度匹配。
体现在当两个实体进行通信时,数据发送的事件以及发送的速率。
WHEN?5.七层标准模型常见的协议分布:应用层:HTTP,FTP 表示层:NBSSN,LPP 会话层:RPC,LDAP传输层:TCP,UDP 网络层:IP,ICMP 数据链路层:PPP,Ethernet6.Tcp/Ip (Transmission Control Protocol / Internet Protocol)传输控制协议/网际协议,既表示网络协议,也表示网络服务,Internet的核心。
TCPIP协议复习题TCP/IP协议复习题1. 什么是TCP/IP协议?TCP/IP协议是一组用于互联网传输的通信协议,它是互联网的基础。
TCP/IP协议包括两个主要协议:传输控制协议(TCP)和互联网协议(IP)。
TCP负责数据的可靠传输,而IP负责数据的路由和寻址。
2. TCP/IP协议的分层结构是什么?TCP/IP协议采用四层分层结构,分别是网络接口层、互联网层、传输层和应用层。
3. 请简要介绍TCP/IP协议的各个层次及其功能。
- 网络接口层:负责物理连接的控制和数据帧的封装与解封装。
- 互联网层:负责数据的分组、寻址和路由选择。
- 传输层:提供端到端的可靠传输和数据流控制。
- 应用层:为应用程序提供服务,包括各种应用协议如HTTP、FTP 等。
4. TCP和UDP的区别是什么?TCP和UDP是传输层的两个重要协议。
- TCP(传输控制协议):提供可靠的、面向连接的传输,保证数据按照顺序到达目的地。
TCP使用三次握手建立连接,并使用滑动窗口和确认机制实现可靠传输。
- UDP(用户数据报协议):提供无连接的传输,数据报以尽可能快的速度发送。
UDP不保证数据的可靠传输,也不需要建立连接,适用于对实时性要求较高的应用,如音视频传输。
5. TCP如何保证可靠传输?TCP使用以下机制来保证可靠传输:- 三次握手:发送方和接收方通过三次握手建立连接,确认双方都准备好进行数据传输。
- 序列号和确认机制:发送方将每个字节进行编号,并等待接收方的确认。
接收方收到数据后发送确认消息,如果发送方没有收到确认,会重新发送数据。
- 滑动窗口:发送方和接收方都有一个窗口,用于控制发送和接收的数据量。
滑动窗口的大小可以动态调整,根据网络条件进行流量控制。
- 超时重传:如果发送方在一定时间内没有收到确认消息,会视为数据丢失,进行超时重传。
6. IP协议的主要功能是什么?IP协议是互联网层的协议,其主要功能包括:- 寻址:IP地址用于标识网络中的主机和路由器,通过IP地址可以确定数据的目的地。
TCPIP复习要点(答案自己整理非标准)一、概述1、TCP/IP体系结构(与OSI模型的对照)应用层,传输层,网络层,数据链路层,物理层。
OSI 应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。
2、每层的主要协议应用层:DNS,FTP,TFTP,SMTP,SMNP传输层:UDP,TCP网络层:ICMP,IGMP,ARP,RARP,IP数据链路层,物理层:由底层网络定义的协议。
3、数据在每层的封装过程应用层::首部+数据传输层:TCP首部+上层数据网络层:IP首部+上层数据数据链路层:以太网首部+上层数据+以太网尾部物理层:比特流4、每层PDU(协议数据单元)的名称物理层:比特流数据链路层:帧网络层:分组传输层:报文段二、数据链路层协议1、以太网的协议结构(层次)应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。
2、MAC帧的格式帧头,数据部分,帧尾。
其中,帧头和帧尾包含一些必要得控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如ip数据报。
MAC帧的帧头包括三个字段。
前两个字段分别为6字节长的目的地址字段和源地址字段,目的地址字段包含目的MAC地址信息,源地址字段包含源MAC地址信息。
第三个字段为2字节的类型字段,里面包含的信息用来标志上一层使用的是什么协议,以便接收端把收到的MAC帧的数据部分上交给上一层的这个协议。
MAC帧的数据部分只有一个字段,其长度在46到1500字节之间,包含的信息是网络层传下来的数据。
MAC帧的帧尾也只有一个字段,为4字节长,包含的信息是帧校验序列FCS(使用CRC校验)。
3、MTU(最大数据传输单元)的含义是指一种通信协议的某一层上面所能通过的最大数据包大小。
4、MAC地址MAC地址是识别LAN(局域网)节点的标识。
网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM,它存储的是传输数据时真正赖以标识发出数据的主机和接收数据的主机的地址。
一单选题1.网络类型号127.x.y.z表示(其中x,y,z表示小于或等于255的一个任意十进制数字)(C)A、一个专用地址B、一个组播地址C、一个回送地址D、一个实验地址2.TCP/IP模型的网络接口层对应于OSI模型的(A)A、物理层和数据链路层B、数据链路层和网络层C、物理层、数据链路层和网络层D、仅网络层3.IP报头的最大长度是多少个字节(B)A、20B、60C、64D、2564.下列哪个协议可提供“ping”和“traceroute”这样的故障诊断功能(A)A、ICMPB、IGMPC、ARPD、RARP5.下列对于IP地址的描述不正确的是(A)A、主机部分全为“1”的IP址址称为有限广播B、0.x.y.z表示本网络的指定主机C、一个A类网的IP址址x.0.0.0表示x这个网络D、IP地址172.16.0.0~172.31.255.255属于保留地址6.下列哪项属于有效的C类IP地址范围(“hhh”表示可分配的主机地址部分)(A)A、192.000.001.hhh ~ 223.255.254.hhhB、192.hhh.hhh.hhh ~ 239.255.255.255C、224.000.000.000 ~ 239.255.255.255D、128.001.hhh.hhh ~ 191.254.hhh.hhh7.为了确定将数据发送到下一个网络的路径,网络层必须首先对接收到的数据帧做什么(D)A、封装数据包B、改变其IP地址C、改变其MAC地址D、拆分数据包8.从一个C类网络的主机地址借3位时,可建立多少个可用子网(B)A、3B、6C、8D、129.位于同一子网内的每台主机的IP地址满足(B)A、网络部分与主机部分相同B、网络部分与子网部分相同C、子网部分与主机部分相同D、只需网络部分相同即可10.使用超网(CIDR)技术的主要原因是(C)A、为了去除对子网掩码的需求B、为了扩大路由表的长度C、为了减少路由表的条目D、为了增加额外的B类网络11.ARP请求作为下列哪种类型的以太网帧被发送(A)A、广播B、单播C、组播D、定向广播12.下列哪项正确地描述了代理ARP(D)A、代理ARP允许一个无盘工作站获取另一个无盘工作站的IP址址B、代理ARP将目的IP地址解析为目的物理(MAC)地址C、代理ARP允许路由器代替本地主机回应ARP请求D、代理ARP允许路由器代替远程主机回应ARP请求13.下列哪项有关UDP的描述是正确的(D)A、UDP是一种面向连接的协议,用于在网络应用程序间建立虚拟线路B、UDP为IP网络中的可靠通信提供错误检测和故障恢复功能C、文件传输协议FTP就是基本UDP协议来工作的D、UDP服务器必须在约定端口收听服务请求,否则该事务可能失败14.下列哪项最恰当地描述了生存时间TTL在IP数据报中的使用(D)A、TTL指出了允许发送主机在线的时间长度B、TTL指出了数据报在一个网段上停留的秒数C、TTL对数据报在一个路由器处等待的时间进行按秒计数D、数据报每经过一个路由器其TTL值就减一15.下列哪项最恰当地描述了UDP的多路分解过程(C)A、UDP使目标主机将接收到的数据包通过多个IP地址进行路由B、UDP使用IP地址使得多个应用程序在同一主机内同步通信C、UDP使用端口编号使得多个应用程序在同一主机内同步通信D、UDP允许多个主机通过单一虚拟线路进行通信16.一个数据报被标记为“不可分段”,而这时数据报要通过一个最大传输单元MTU小于该数据报尺寸的网段进行传输,则接下来会发生(C)A、用于传输的网络设备将调节该网段的MTU以适应该数据报的尺寸B、用于传输的网络设备将压缩此数据报以适应该网段的MTUC、用于传输的网络设备将放弃该数据报并通知源结点D、用于传输的网络设备将保留该数据报直到该网段的MTU增大为止17.为了将几个已经分片的数据报重新组装,目的主机需要使用IP数据报头中的哪个字段(D)A、首部长度字段B、服务类型ToS字段C、版本字段D、标识符字段18.对于下列给定条件:(1)目的网段的最大传输单元MTU为512字节;(2)一个1500字节的数据报;(3)一个20字节的IP报头。
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可以提供面向连接的可靠的数据流服务。
1.按作用范围的不同,计算机网络可分为广域网(WAN)、局域网(LAN)、城域网(MAN)和个人区域网(PAN)。
2.以太网MAC帧通常包括三种类型即:单播帧、广播帧和多播帧。
3.物理层的主要任务是描述为确定与传输媒体的接口的一些特性,即:机械特性、电气特性、功能特性和过程特性。
4.OSI将对等层次之间传送的数据单位称为该层的协议数据单元PDU,在OSI参考模型中,数据链路层和网络层传输的数据单元分别是:帧(Frame)和分组(Packet)或数据包。
5.以太网MAC 帧能够携带的数据部分的最大长度为1500 个字节,其头部格式中的协议类型(类型)字段用来标志上一层使用的是什么协议,以便把收到的 MAC 帧的数据上交给上一层的这个协议去处理。
6.TCP/IP通信中用到两种“映射”技术。
其中将IP地址“映射”为MAC地址是由ARP协议实现,DNS则用于实现IP地址与域名之间的“映射”。
7.计算机网络上的通信面临以下的四种威胁:截获、中断、篡改和伪造,其中截获信息的攻击称为被动攻击。
8.RIP认为一个好的路由就是它通过的路由器的数目少,即“距离短”,RIP允许一条路径最多只能包含 15 个路由器,“距离”的最大值为16 时即相当于不可达,可见 RIP 只适用于小型互联网。
9.两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元TPDU,TCP传送的协议数据单元是 TCP 报文段(segment) ,UDP传送的协议数据单元是UDP报文或用户数据报。
10.构成网络协议的三要素分别是:语法、语义和同步(时序)。
11.复用(multiplexing)是一种有效提高物理信道利用率的通信技术,常用的信道复用技术有:频分复用、时分复用、统计时分复用、波分复用和码分复用等。
12.128.14.32.0/20 表示的地址块共有 212 (或4096)个IP地址,这个地址块的起始IP地址是128.14.32.0。
tcpIP复习资料第⼀章:1.TCP/IP为什么要分层,分层的作⽤是什么?答:⽹络协议通常分不同的层次开发,每⼀层负责不同的通信功能。
⼀个协议族,⽐如tcp/ip,是⼀组不同层次上的多核协议的组合。
TCP/IPD的分层如下:链路层,包括操作系统中的设备驱动程序和计算机中对应的⽹络接⼝卡,其作⽤是把物理链路转换成可靠的数据链路⽹络层,处理分组在⽹络中的活动,例如分组的选路。
运输层,主要为两台主机上的应⽤程序提供端到端的通信。
应⽤层,负责处理特定的应⽤程序细节。
第⼆章:1.什么是MTU?什么事路径MTU?答:MTU是链路层的特性,即最⼤传输单元,不同类型的⽹络对数据帧的长度有不同的上限。
路径MTU指的是两台通信主机路径中最⼩的MTU。
2、MTU与路径MTU(最⼤传输单元MTU)如果IP层有⼀个数据报要传,⽽且数据的长度⽐链路层的MTU还⼤,那么IP 层就需要进⾏分⽚-fragmentation-把数据报分成若⼲⽚,这样每⼀⽚都⼩于MTU 路径mtu:当在同⼀个⽹络上的两台主机互相进⾏通信时,该⽹络的MTU是⾮常重要的。
但是如果两台主机之间的通信要通过多个⽹络,那么每个⽹络的链路层就可能有不同的MTU。
重要的不是两台主机所在⽹络的MTU的值,重要的是两台通信主机路径中的最⼩MTU。
它被称作路径MTU。
两台主机之间的路径MTU不⼀定是个常数。
它取决于当时所选择的路由。
⽽选路不⼀定是对称的(从A到B的路由可能与从B到A的路由不同),因此路径MTU在两个⽅向上不⼀定是⼀致的。
3.ppp(点对点协议)?帧格式在串⾏链路上封装IP数据报的⽅法。
P P P既⽀持数据为8位和⽆奇偶检验的异步模式,还⽀持⾯向⽐特的同步链接。
建⽴、配置及测试数据链路的链路控制协议(LCP-Link Control Protocol)。
它允许通信双⽅进⾏协商,以确定不同的选项。
针对不同⽹络层协议的⽹络控制协议(NCP-Network Control Protocol)体系。
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个报文。
协议三要素:语法、语义、时序协议:通信双方必须遵守的规则、标准或约定Internet协议族Internet标准:RFCISO:国际标准化组织OSI:开放系统互连/参考模型会话层、表示层、应用层——数据Data传输层——数据段网络层——分组数据链路层——帧物理层——二进制比特流特殊IP地址ARP作用、分组格式操作何时发送、送给谁发送方式(单播、广播)发送内容(ARP分组各字段的具体取值,以及封装该分组的以太帧中各字段的具体取值)Proxy ARPRARP作用、操作1.1、TCP/IP的发展1.2、TCP/IP的分层:为什么要分层?TCP/IP协议栈分层的原因:每一层都负责通信的不同方面(Each layer responsible for a different facet of the communications)网络层:路由服务(hop-by-hop service)传输层:端到端服务(end-to-end service)分层带来的好处: 1.各层之间是独立的2.灵活性好3.结构上可分开4.易于实现和维护5.能促进标准化工作各层的功能、所要完成的主要任务1.3、TCP/IP工作原理通信模型;数据封装与解封的过程封装(加头部):应用程序将数据发送给下层的协议栈时,每经过一层,都需要添加头部(某些添加的是尾部,比如链路层-以太网协议),直到将这些数据转化为以太网数据帧(Ethernet frame)TCP segment:数据经过TCP添加头部发送给IP层后,称为 TCP报文UDP datagram:数据经过UDP添加头部发送给IP层后,称为 UDP报文IP datagram:数据经过IP层添加头部发送给网络接口(network interface)后,称为 IP报文Ethernet frame:数据经过链路层添加头部和尾部变成数据流(stream of bits)后,称为以太网数据帧(46-1500 字节bytes)传输层头部添加标识符(Port number),用于区分数据属于什么有应用;IP头部添加标识符(Protocol),用于区分属于什么协议链路层头部添加标识符(Protocol type),用于区分是什么IP协议(IPv4, IPv6)产生的数据解封装(去头部)—:以太网接口收到数据帧之后,会将数据帧丢进协议栈,协议栈会将包头一层层去掉,同时,通过标识符判断需要将数据交给哪一个更高层的协议,直到送给应用层。
TCP/IP复习端口号:HTTP:80、FTP:21、SMTP:25、TELNET:23、SNMP:161IP协议的特点:(1) 支持网间互连的数据报协议(2) 提供网间连接的完善功能(3) 与TCP协议一起构成了TCP/IP协议族的核心(4) 便于寻址和层次化地构造网络ICMP协议主要作用: 主机探测;路由维护;路由选择;流量控制HTTP协议特点:(1)支持客户/服务器模式(2)简单快速(3)灵活(4)无连接(5)无状态Please explain the characteristic of IPv6(简述IPv6协议的特点):(1)更大的地址空间(2)更小的路由表(3)增强的组播支持以及对流的支持(4)加入了对自动配置的支持(5)更高的安全性IPv4协议特点:(1) 有限的地址空间(2) 路由选择效率不高(3) 缺乏服务质量保证IPv4包头中Time to Live(TTL)字段的作用:存活周期,是一个限制分组生存期的计数器.计数时间为秒,一共占8位,所以最大生存期为255(秒/点)通常为64。
当他递减到0时,路由器给源主机发送一个警告分组,原分组被丢弃.这样可以避免数据报长时间存在网络中TCP协议的特点:(1)提供面向连接的服务(2)提供可靠服务(3)TCP对发送的数据进行排序,为每个发送字节关联一个序列号。
对方根据接收到的数据序列号,对接收数据排序,从而保证了数据顺序。
(4)TCP提供流量控制(5)TCP连接是全双工的UDP协议的特点:(1)提供无连接的服务(2)不能确保UDP数据报最终到达目的地(3)UDP传输数据较TCP快,占用系统资源少TCP/IP协议的四层模型:应用层、传输层、网络层、网络接口层Explain briefly the TCP's three-way handshake process(简述TCP三次握手过程):(1)服务器准备接收客户端的连接(2)客户端向服务器发起连接请求。
此时客户端TCP发送一个SYN分节(3)服务器确认客户端的SYN,同时也发送一个SYN分节。
服务器以单个分节向客户端发送SYN和对客户端的SYN的ACK确认(4)客户端确认服务器的SYNWhich I/O models can be used to implement a TCP's server(哪种I/O模型可以用于实现TCP服务器):Select模型、WSAAsy ncselect模型、WSAEventselect模型、Overlapped模型、IOCP模型Please explain the difference between the close() and shutdown()(解释close()函数和shutdown()函数的区别): close():关闭套接字,释放所占资源shutdown():用于通知对方不再发送数据或者不再接收数据,或者既不发送也不接收数据简述uint32_t htonl(uint32_t host32bitvalue)函数功能,调用时间:将主机字节序地址转换成网络字节序地址,转换IPv4地址适用于填充了SOCKET_ADDRESS的场合写出简单TCPClient端和TCPServer端程序调用各个socket函数的次序:TCP服务器阻UDP 服务器阻简述WSAAsyncSelect()函数的原型和功能:int WSAAsyncSelect(SOCKET s, HWND hWnd, unsigned int uMsg, long lEvent);请求当网络事件发生时为套接字发送消息。
当调用该函数时,自动将套接字转换为非阻塞模式。
Explain briefly how to use WSAAsyncSelect() I/O Model(简述如何使用WSAAsyncSelect() I/O模型):Explain briefly how to use WSAEventSelect() I/O Model(简述如何使用WSAEventSelect() I/O模型): WSAAsy ncSelect() I/O:(1)初始化套接字相关信息(2)创建窗口(3)自定义消息(4)开始启动一个事件通知(5)响应窗口的自定义消息处理函数,其中lparam的高位字包含了可能出现的错误WSAEventSelect() I/O:(1)创建事件通知对象,创建一个事件句柄表和一个对应的套接字句柄表(2)关联事件对象与套接字(3)事件的激活与重置(4)网络I/O事件的处理Linux创建进程的函数有何特点,写出创建进程的代码段:fork()函数会向父进程返回子进程的进程号PID,而向子进程返回0,一个函数有两个不同的返回值#include#include /* contains fork prototype */int main(int argc, char **argv) {if (fork() == 0) {printf("I am the child process.\n");} else {printf("I am the parent process.\n");}}用图表示socket异步I/O模型的特点:实现Windows Overlapped I/O模型有哪两种方式,并简述:应用程序可等待“事件对象通知”亦可通过“完成例程”对已经完成的请求加以处理Windows Overlapped模型要使用的主要函数名和结构名:事件通知:WSAOVERLAPPEDWSACreatEvent()WSAWaitForMultipleEvents()WSAResetEvent()WSAGetOverlappedResult()完成例程:WSAOVERLAPPEDWSAOVERLAPPED_COMPLETION_ROUTINECompletionROUTINE()WSARecv()WSASend()SleepEx()socket函数名、结构名、三种基本套接口类型函数名:int WSAStartup( WORD wV ersionRequested, LPWSADATA lpWSAData ) SOCKET socket( int af, int ty pe, int protocol );int bind( SOCKET s, const struct sockaddr FAR * name, int namelen ) ;int listen(SOCKET s, int backlog )SOCKET accept( SOCKET s, struct sockaddr FAR * addr, int FAR * addrlen )int connect(SOCKET s, const struct sockaddr FAR * name, int namelen )int send(SOCKET s, const char FAR * buf, int len, int flags )int recv( SOCKET s, char FAR * buf, int len, int flags )int closesocket( SOCKET s )int getpeername( SOCKET s, struct sockaddr FAR * name, int FAR * namerlen ) int getsockname( SOCKET s, struct sockaddr FAR * name, int FAR * namerlen ) 结构名:(1) struct sockaddr_in{ short sin_family;u_short sin_port;struct in_addr sin_addr;char sin_zero[8]; };(2) Struct in_addr {union {struct {u_char s_b1,s_b2,s_b3,s_b4;} S_un_b;struct { u_short s_w1,s_w2;} S_un_w;u_long S_addr;} S_un;#define s_addr S_un.S_addr …………….(3) struct sockaddr{u_short sa_family;/* address family */char sa_data[14]; /* up to 14 bytes of direct address */};套接口:流套接口:SOCK_STREAM;数据报套接口:SOCK_DGRAM;原始套接口:SOCK_RAWICMP数据包格式描述(1)回送或回送响应:回送消息的源地址是回送响应消息的目的地址。
若要形成一个回送响应消息,应该将源和目的地址交换,将类型代码更改为0,重新计算机校验码。
类型:8代表回送消息;0代表回送响应消息。
(2) Traceroute程序使用ICMP报文和IP首部的TTL字段,发送ICMP回显应答时一般把TTL设置为255。
工作原理:开始时发送一个TTL字段为1的数据报,然后每次将TTL字段值加1,以确定路径中的每个路由器。
每个路由器在丢弃UDP数据报时都返回一个ICMP超时报文2,而最终目的主机则产生一个ICMP端口不可到达的报文。
简述CreateIoCompletionPort()函数有哪两种用法:用于创建一个完成端口对象将一个句柄[HANDLE]和完成端口关联到一起IOCP优点、作用、使用基本步骤、基本函数一个应用程序同时需要管理为数众多的套接字,采用这种模型,可以达到最佳的系统性能。
步骤:(1)创建完成端口(2)创建服务线程(3)将套接字与完成端口关联在一起(4)调用输入输出函数,发起重叠I/O操作(5)在服务线程中,在完成端口上等待重叠I/O操作结果Windows Completion Port模型要使用的主要函数名:CreateIoCompletionPort()GetQueuedCompletionStatus()获取封包列GlobalAlloc()从堆中分配内存GetSy stemInfo()CreateThread()PostQueuedCompletionStatus()完成特定封包CancelIo()线程:一个线程简单的用一个函数来代表,这个函数还会调用其他函数。
一个程序由它的主线程开始执行,在传统C里是main函数,在windows程序里是WinMain函数。
一旦还是运行,程序能够通过一个系统调用(CreateThread)创建新的执行线程,并且指定初始线程函数的名字。