月光大保健

导航

第三章作业

1.什么是C/S架构?

C 是client 客户端, S是Server 服务端 ,实现客户端与服务器之间的通信架构

 

2.互联网协议是什么?分别介绍五层协议中每一层的功能?

互联网协议就是计算机界的英语,网络就是物理链接介质+互联网协议。有应用层,传输层,网络层,数据链路层,物理层

物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0

数据链路层的功能:定义了电信号的分组方式

网络层功能:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址

 

子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

 

 

3.基于tcp协议通信,为何建立链接需要三次握手,而断开链接却需要四次挥手

建立链接三次握手:客户端发送链接请求至服务端(第一次),服务端发送确认可以链接,并且同时发送链接请求至客户端(第二次),客户端收到后,发送确认请求至服务端(第三次)

断开链接四次握手:客户端发送断开链接请求(第一次),服务端收到后,会发送确认请求至客服端,这是客户端至服务端断开,无法发送数据,但此时服务端还有数据没有传完至客户端(第二次),当接发送完数据后,服务端会发送断开请求至客户端(第三次),客户端收到请求后,会发送确认请求信息至服务端(第四次)

 

4.为何基于tcp协议的通信比基于udp协议的通信更可靠?

因为tcp协议发送出去后会有返回信息,确认对方已经收到,但udp只是负责发送出去,并不关心是否对方已经收到,但这种效率高

 

5‍.流式协议指的是什么协议,数据报协议指的是什么协议?

 

6.什么是socket?简述基于tcp协议的套接字通信流程

Socket是应用层和TCP/IP协议之间的软件抽象层,是一种接口

服务端:①生成Socket对象②绑定主机端口号到套接字 bind  ③开始监听listen④accept被动接收

客户端:connect主动初始化TCP服务器链接

 

7.什么是粘包? socket 中造成粘包的原因是什么? 哪些情况会发生粘包现象?

在发送数据包时,两个包粘在一起发送,就为粘包。数据大于接收端设置的最大接收量时,导致数据溢出,这时溢出的数据会暂时放在PIPE里,这样会与下一个即将到来的数据包粘在一起发送过来。

 

基于socket开发一个聊天程序,实现两端互相发送和接收消息

基于tcp socket,开发简单的远程命令执行程序,允许用户执行命令,并返回结果

基于tcp协议编写简单FTP程序,实现上传、下载文件功能,并解决粘包问题

基于udp协议编写程序,实现功能

执行指定的命令,让客户端可以查看服务端的时间

执行指定的命令,让客户端可以与服务的的时间同步

posted on 2018-04-27 00:35  月光大保健  阅读(129)  评论(0编辑  收藏  举报