TCP/IP网络编程期末考试复习

第一章

1Internet是以 ARPANET 网络为雏形建立的

2、现在Internet中广泛使用的   TCP/IP  协议族,其版本为  V4

3tcp/ip一般分为  网络接口层  网际层   传输层    应用层  四层

4、常用的http工作在tcp./ip应用层  

5ip地址属于tcp/ip网际层  的概念

6、传输层常用的两个协议是  TCP     UDP

7、网络接口卡工作再tcp/ip网络接口  

8osi/rm开放系统互联参考模型共有 7  国际标准化组织  提出

9中国互联网信息中心   199763日组建的Internet管理和服务机构,行使我国互联网络信息中心的管理职责

10rfc是指  请求评价文档

11网络协议分层有什么好处:

(1)各层之间相互独立。

(2易于设计与实现

3易于维护。

12TCP/IP各层功能:网络接口层: 负责将其之上的网络层要发送出去的数据发送到其下面的物理网络,或接收物理网络发送到该目标机的数据帧,并抽出IP数据报交给网络层。

网际层:把源主机上的分组根据需要发送到互联网中的任何一台主机上。路由选择是其的一个重要功能。传输层:提供应用进程之间的通信,也叫端到端的通信。应用层:提供面向用户的网络服务,如进行文件的传输服务和远程登录服务等。

---------------------------------------------------------------------------------------------------------------------

第二章

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/29

5、以太网是利用 Arp  协议获得目的主机ip地址与Mac地址的映射关系

6、在转发一个ip数据包过程中,如果路由器发现该数据报报头中的ttl字段为0,那么,它首先将该数据报 丢弃   ,然后向 源主机  发送ICMP报文

7、路由器选择算法工作在  网际层 ,它负责确定对所受到的ip数据包应通过哪条传输线转发

8、路由表分为 静态  路由表和  动态  路由表两种,它们建立与维护方式不同

9、tcp/ip协议簇专门设计了用于地址解析的协议,其中  ARP  可以把一个ip地址映射成对应的物理地址,而对于无法保存ip地址的主机, RARP  提供了从物理地址到ip地址的逆向地址映射

特殊IP的分类与功能:(1)网络地址(netid=特定网络号,hostid=0)表示某个网络的网络地址。(2)直接广播地址(netid=特定网络号,hostid=1)用于向指定网络中的所有主机发送数据报。(3)有限广播地址(netid=1hostid=1)用于将数据报发送到本网中的所有主机。(4)本网特定主机地址(netid=0hostid=特定主机号)用于将数据报发送到本网中某一个特定主机。(5)回送地址(netid=127,hostid=任意值)用于网络软件测试或本进程间通信。(6)本网络本主机(netid=0,hostid=0)表示本网络上的本主机(7)私有IP地址:10.0.0.1~10.255.255.254  172.13.0.1~172.32.255.254  192.168.0.1~192.168.255.254  

169.254.0.1~169.254.255.354(用于当DHCP服务器故障时,主机自动给自己分配的临时IP地址)

第四章  

1、传输层主要提供了  TCP   UDP   两个常用协议

2、端口号用一个 16 位的二进制数表示

3、常用协议HTTP的端口号为 80   

4、Tcp可以提供 面向连接的可靠的数据流  服务。而udp可以提供  无连接的不可靠 服务

5、点到点通信和端到端通信有什么不同:直接相连节点之间对等实体的通信叫点到点通信,直接把源主机应用程序产生的数据传输到目标主机中使用这些数据的应用程序,叫做端到端通信,也就是说端到端通信是建立在点到点通信的基础之上的。

6、什么是端口号:在传输层使用的端口号是用一个16位的二进制数表示的,用于识别传输层之上不同的网络通信进程。

7、什么是UDP,说明UDP的特点:用户数据报协议(UDP)是网络层之上常用的一个非常简单的协议,它主要是在IP层之上提供了协议端口的功能,以标识源主机和目标主机上通信的进程。特点:协议简单,无连接,不可靠,传输速率高。

8、什么是TCP,说明TCP的特点:传输控制协议(TCP)提供一种面向连接的,可靠的数据流服务。特点:协议复杂,面向连接,可靠,传输速率低。

第五章

1、DNS域名空间   服务器    解析器  三部分组成

2、顶级域名大致可以分为两类:一类是  组织性 顶级域名 另一类是 地域性  顶级域名,我国的顶级域名是  CN  

3、tcp/ip互联网中,电子邮件客户端程序向邮件服务器发送邮件使用 SMTP  协议,电子邮件客户端查看邮件服务器中自己的邮箱使用  POP3   协议,邮件服务器之间相互传递使用 SMTP  协议

4、ftp可以使用的四种文件类型是  ASCII码文件  EBCDIC码文件   图像文件    本地文件  

5、tcp/ip互联网中,www服务器与WWW浏览器之间的信息传递使用 HTTP  协议

6、URL协议名称   主机名    目录与文件名  三部分组成

解答题:

1、什么是tcp/ip

TCP/IP是网络中使用的基本的通信协议。虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP、TFTP等许多协议,这些协议一起称为TCP/IP协议。

2、网络协议分层的好处

1、各层之间相互独立

2、易于设计与实现

3、易于维护

3、说明tcp/ip的分层结构和各层的功能

1)网络接口层  负责将其之上的网络层要发送出去的数据发送到其下面的物理网络

2)网际层  把源主机上的分组根据需要发送到互联网中的任意一台目标主机上

3)传输层  完成两台主机上对应的应用进程之间的通信,

4)应用层   向用户提供一组常用的应用程序,

4、什么是地址边界

将高层互联网地址与低层物理网卡分开的边界

5、简要说明tcp/ipiso/osi之间的关系

Osi模型与tcp/ip模型都是以层次结构来定义协议栈的,尽管协议的层数不同,但层间功能的分配基本相似,

1、简述路由器的工作原理与功能

原理:路由器在收到报文来判断端口所连的子网是否是目的子网,如果是则直接通过端口发送到网络上,否则,选择一个能够到目的网络的路由器转发。功能:(1)在网络之间接收和发送数据包。(2)为网际间通信选择最合理的路由。(3)根据需要对数据包进行拆分或组装。(4)连接使用不同协议的网络。(5)网络安全功能。

2、说明iptcp/ip协议栈中的地位与作用

IpTcp/ip协议簇中最重要的协议,从协议体系结构来看,向下它屏蔽了不同物理网络的底层,向上它提供了一个逻辑上统一的互联网

3、Ip主要有哪些功能

将上层数据或同层的其他数据封装到ip数据包中

ip数据包传送到最终目的地

为了使数据能够在链路上进行传输,对数据进行分段

确定数据报到达其他网络的路径

4、Ip有什么特点

Ip是一种无连接不可靠的数据包传输协议,

Ip互联网中的计算机没有主次之分,

Ip互联网没有确定的拓扑结构

ip互联网中的任何一台主机都至少有一个独一无二的ip地址

在互联网中有ip地址的设备,不一定是计算机

5、什么是ip的校验和?什么是TTL

a) 用十六位二进制表示,这个域用于协议头数据有效性的校验,可以保证ip报头区在传输过程中的正确性和完整性

b) 8位二进制数表示,它制订了数据包可以在网络中传输的最长时间。在实际应用中,把生存时间字段设置成了数据包可以经过的最大路由器数。

 

6、最大传输单元(mtu)是什么意思

不同网络由于链路层和介质的物理特性不同,因此在进行数据传输时,对数据帧的最大长度的限制,这个限制值叫做MTU

7、Ip地址用来标示互联网中的主机,但少数ip地址有特殊用途不能分配给主机,说明这些特殊ip地址的分类与功能

网络地址在互联网中经常要使用某个网络的网络地址

直接广播地址同时向指定网络中所有主机发送数据

有限广播地址用于对本网广播通信

本网特定主机地址主机想进行本网内主机之间进行通信,但不又不知道本网的网络地址时用

回送地址测试本机进程间通信

本网络本主机

1、点到点的通信和端到端通信有什么不同?

a) 点到点的通信是由网络互联层来实现的,只是解决了数据通信问题端到端通信是建立在点到点通信基础上的,他是比网络互联层通信更高级的通信方式,完成进程到进程的通信,端到端的通信是由传输层来实现的

2、说明常用协议的端口号

a) http80

b) ftp21

c) ftp-data20

d) Telnet23

e) Smtp25

f) Domain53

g) Pop3:110

h) Nntp119

3、如何理解tcp的“3次握手”概念

建立一条连接时通讯双方要进行三次数据包交换

4、说明TCP工作时连接的建立过程

TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据

5、比较tcpudp

TCP-有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换
UDP-非可靠连接,会丢包,没有校验,速度快,无须握手过程

1、什么是网络虚拟终端(NVT

为了解决不同系统之间的互操作问题,telnet专门定义了一种通用字符终端,叫做NVTNVT是虚拟设备,它定义了一套自己的字符集,连接的双方多必须能进行物理端与NVT的相互转换。

2、什么是c/s工作模式,他有什么特点?

   C/S模式是客户机/服务器模式,具有以下特点

    1.C/S模式将应用与服务分离,系统具有稳定性和灵活性

    2.C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性

    3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快

    4.C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂

3、什么是b/s工作模式,他有什么特点?

B/S模式是浏览器/服务器模式,具有以下特点

A)易用性好

B)易于维护

C)信息共享度高

D)扩张性好

E)安全性好

F)支持广域网

G)保护企业投资

4、说明dns进行域名解析的过程

第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。

第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。

第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。

第五步:重复第四步,直到找到正确的纪录。

第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

 

5、说明tcp/ipe-mail的工作原理

tcp/ip互联网中,电子邮件客户端程序向邮件服务器发送邮件使用 SMTP  协议,电子邮件客户端查看邮件服务器中自己的邮箱使用  POP3   协议,邮件服务器之间相互传递使用 SMTP  协议

 

6、举例说明SMTP的工作过程

1)建立TCP连接。

2)客户端向服务器发送HELLO命令以标识发件人自己的身份,然后客户端发送MAIL命令。(3)服务器端以OK作为响应,表示准备接收。

4)客户端发送RCPT命令。

5)服务器端表示是否愿意为收件人接收邮件。

6)协商结束,发送邮件,用命令DATA发送输入内容。

7)结束此次发送,用QUIT命令退出。

7、Mime有什么用途

MiMe只是对邮件格式进行了一些扩展

A)在邮件头中增加了对邮件体结构和内容的说明部分

B)对非ASCII码定义了编码规则

C)什么是Windows sockets

它就是定义了一套Micosoft Windows下网络编程接口。它包含大量的库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。

D)唯一标识网络中的通信的一个进程要用什么样的三元组?

本地协议

本地ip

本地端口号

E)什么是网络字节顺序?

网络字节顺序NBO(Network Byte Order):按从高到低的顺序存储,在网络上使用统一的网络字节顺序,可以避免兼容性问题。

F)开发网络程序要考虑哪些问题

G)并发环境下的网络编程

H)异构环境下的网络编程

I)阻塞与非阻塞通信

J)服务类型的选择

K)Winsock中的数据传输函数有哪几个?

Send() recv()recvfrom()sendto()

L)Winsock中网络连接与套接口的关闭函数有哪几个?

    Connect()  WSAconnect()   shutdown()  closesocket()  WSAcleanup()

1、基于tcp的网络程序,其服务器端和客服端的工作流程如何?在各个工作阶段,需要使用哪些winsock函数?

a) 服务端

i. 使用WSAStatup()函数检查系统协议栈的安装情况

ii. 使用socket函数创建服务器端通信的套接口

iii. 使用bind()函数将创建的套接口与服务器地址绑定

iv. 使用listen()函数使服务器套接口做好接收连接请求的准备

v. 使用accept()函数接收来自客户端由connect发出的连接请求

vi. 建立连接后使用send()函数发送数据或使用recv()函数接收数据

vii. 使用closesocket()函数关闭套接口

viii. 调用WAScleanup结束windows Sockets Api的调用

b) 客户端

i. 使用WSAStatup()函数检查系统协议栈的安装情况

ii. 使用socket函数创建客户端通信的套接口

iii. 使用connect()发出连接请求

iv. 建立连接后使用send()函数发送数据或使用recv()函数接收数据

v. 使用closesocket()函数关闭套接口

vi. 调用WAScleanup结束windows Sockets Api的调用

2、说明TCP网络程序的工作模型

 

1,、编写基于tcp的客户端/服务器程序,要求当客户机向服务器发出请求后,将客户机从键盘输入的字符串信息传输给服务器,然后由服务器将其小写转换成大写原样返回

p99

第九章

1、说明udp网络程序的工作流程

 

2、在具体编写无连接的客户机/服务器时,应注意哪些问题?

a) 通信的一方可以不用绑定ip地址与端口号,而由系统自动分配,但不绑定的一方必须先向bind的一方发送数据

b) 无连接的应用程序也可以调用connect()函数,但是它并不向对方发送连接请求,

c) 无连接的数据报传输过程中作为服务器一方必须先启动,否则客户请求传送不到服务进程

d) 由于无连接的客户端一般不调用connect()因此在数据发送前,客户与服务器之间只建立了半相关,发送过程中动态的建立了全相关

1、编写无连接的客户机/服务器程序,当前客户机向服务器发出请求时,返回服务器当前的时间

 

第十章

1、简单说明MFC中与网络程序设计有关的类

a) 文件服务类

b) Internet服务器Api

c) Internet服务类

d) Windows套接口类

2、使用CSocket类设计网络程序有什么好处

CSocket类派生于CAsyncSocket类,它继承了父类中一些常用易懂的windows SocketApi函数,并对CAsyncSocket中底层的较难控制的一些api进行了处理,为winsock api提供了一个更高级别的编程接口,它通过MFC carchive对象进行信息的接收和发送操作,使得套接口数据的输入同输出如同使用MFC一样简洁易用,同时它支持模块化的后台信息处理,解决了较难克服的多线程处理。

3、原始套接字编程有什么优点

原始套接字可以编写基于IP协议的通讯程序,使用原始套接字可以访问ICMP数据包,可以读写内核不处理的IP数据包。可以创建自定义的IP数据包首部。

 

 

 

你可能感兴趣的:(TCP)