《TCP/IP协议分析及应用》课后答案

  • 更新时间:
  • 9545人关注
  • 点击下载

给大家带来的是关于TCP/IP相关的课后习题答案下载,介绍了关于TCP/IP协议分析、TCP/IP协议应用方面的内容,由松冰旋 网友提供,本资源目前已被535人关注,高等院校TCP/IP类教材综合评分为:8.2分

《TCP/IP协议分析及应用》是2007年机械工业出版社出版的图书,作者是杨延双。

本书系统介绍了TCP/IP协议族中主要协议的原理、功能及应用。全书共分11章,内容包括网络协议、标准以及网络标准化的有关概念;OSI参考模型和TCP/IP协议族的基本知识;TCP/IP协议族的主要协议:网际协议、路由选择协议、Internet控制协议、Internet组管理协议、传输层协议、面向应用的协议、网络管理协议和网络安全协议等。每章的小结对该章的重点内容进行了简要概括,各章后均附有习题。本书内容丰富、概念清晰、系统性强、重点突出、注重理论联系实际。

本书适合作为大专院校计算机专业及相关专业的本科生、研究生教材,也可作为从事计算机网络研究和应用的开发人员、网络管理人员的参考书,本书还适合于其他需要了解TCP/IP技术的人员阅读。

目录

  • 出版说明
  • 前言
  • 第1章 概述
  • 1.1 协议和网络标准
  • 1.2 网络标准化
  • 1.3 标准化过程和RFC文档
  • 1.4 本章小结
  • 1.5 练习题
  • 第2章 TCP/IP协议族与OSI参考模型
  • 2.1 分层的体系结构与协议分层
  • 2.2 OSI参考模型
  • 2.3 TCP/IP协议族
  • 2.4 客户-服务器模型
  • 2.5 本章小结
  • 2.6 练习题
  • 第3章 网络协议
  • 3.1 IPv4
  • 3.2 下一代IP(IPv6)
  • 3.3 移动IP
  • 3.4 本章小结
  • 3.5 练习题
  • 第4章 路由选择协议
  • 4.1 路由选择技术
  • 4.2 分类寻址路由表
  • 4.3 无分类域间路由选择(CIDR)
  • 4.4 内部和外部路由协议
  • 4.5 本章小结
  • 4.6 练习题
  • 第5章 Internet控制协议
  • 第6章 多播和Internet组管理协议(IGMP)
  • 第7章 用户数据报协议(UDP)
  • 第8章 传输控制协议(TCP)
  • 第9章 面向应用的协议
  • 第10章 简单网络管理协议
  • 第11章 网络安全协议
  • 参考文献
  • 重要网址
展开阅读
精选笔记1:Node.js学习之TCP/IP数据通讯(实例讲解)

9小时6分钟前回答

1.使用net模块实现基于TCP的数据通讯

提供了一个net模块,专用于实现TCP服务器与TCP客户端之间的通信

1.1创建TCP服务器

在Node.js利用net模块创建TCP服务器

var server = net.createServer([options],[connectionListener])
//options:false当TCP服务器接收到客户端发送的一个FIN包时将会回发一个FIN包
   true当TCP服务器接收到客户端发送的一个FIN包时将不会回发FIN包,这使得TCP服务器可以继续向客户端发送数据,但不会继续接收客户端发送的数据。来发者必须调用end方法来关闭socket连接。默认为false
connectionListener:指定当客户端与服务器端简历连接时所要调用的回调函数
function(socket){
 //回调函数代码
}

参数值为TCP服务器监听的socket端口对象createServer方法返回被创建的TCP服务器

当客户端与服务器建立连接时,触发connection事件,可以利用下面方式执行回调函数

server.on('connection',function(socket){
//回调函数代码
})

在创建TCP服务器后,使用listen方法通知服务器开始监听客户端连接

server.listen(port,[host],[backlog],[callback])
//port指定需要监听的端口号,
host:指定需要监听的IP地址或主机名,如果省略,服务器将监听来自于任何IPv4地址的客户端连接
backlog:指定位于等待队列中的客户端连接的最大数量
callback:无参回调函数

server.listen(path,[callback])
//server:代表一个使用unix端口的服务器
path:指定需要监听的路径,会触发listening事件,然后执行回调函数callback

server.listenting(handle,[callback])
//server 代表一个TCP服务器
handle:指定需要监听的socket句柄(该句柄可以为一个TCP服务器对象,socket端口对象,文件描述符)

现举例创建一个TCP服务器:

var net = require('net')
var server = net.createServer(function(socket){
 console.log('客户端与服务器连接已建立')
})
server.listen(8431,'localhost',function(){
 console.log('服务器端开始监听')
})

运行后可得如下结果:

Node.js学习之TCP/IP数据通讯(实例讲解)

利用telnet访问对应的服务器:

telnet localhost 8431

会出现的结果如下:

Node.js学习之TCP/IP数据通讯(实例讲解)

socket端口对象举例:

var net = require('net')
var file = require('fs').createWriteStream('./message.txt');
var server = net.createServer(function(socket){
console.log('客户端与服务器连接已建立')
server.getConnections(function(err,count){
 console.log('当前存在%d个客户端连接。',count);
 server.maxConnections = 4;
 console.log('TCP服务器的最大连接数为%d',server.maxConnections);
 
})

// server.close(function(){
 // console.log('TCP服务器被关闭。');
// })
})
server.listen(8431,'localhost',function(){
console.log('服务器端开始监听')

})
server.on('connection',function(socket){
address = socket.address();
console.log('被监视的地址信息为%j',address);
socket.pipe(file);
socket.setEncoding('utf8');
socket.on('data',function(data){
 console.log(data.toString());
 console.log('已接受到%d字节数据。',socket.bytesRead);
});
socket.on('end',function(){
 file.end('再见')
 console.log('客户端连接被关闭。')
})

socket.pause();
setTimeout(function(){
 console.log('*************')
 socket.resume();
 socket.pipe(file,{end:false});
},30*1000);
// socket.pipe(file,{end:false});
// setTimeout(function(){
 // file.end('再见。');
 // socket.unpipe(file);
// },5000);
socket.setTimeout(10*1000);
socket.on('timeout',function(){
 console.log('客户端连接超时');
 socket.setTimeout(0);
})

})

1.2 创建TCP客户端

建立TCP客户端举例:

var net = require("net");
var client = new net.Socket();
client.setEncoding('utf8');
client.connect(8431,'localhost',function(){
console.log('已连接到服务器');
client.write('你好');
console.log('当前已发送%d字节',client.bytesWritten);
client.end('再见')
console.log('当前已发送%d字节',client.bytesWritten);
// setTimeout(function(){
 // client.end('再见');  
// },10*1000)

});
client.on('data',function(data){
//console.log('已接收服务器端发送的数据: '+data);
console.log('已接收服务器端发送的数据');
})
client.on('error',function(err){
console.log('与服务器连接或通信的过程中发生了一个错误,错误编码为%s',err.code);
client.destroy();
})

同时需要建立对应的服务器:

var net = require('net');
var fs = require('fs');
var server = net.createServer();
server.on('connection',function(socket){
console.log('客户端与服务器端连接已建立');
socket.setEncoding('utf8');
var readStream = fs.createReadStream('./server.js');
readStream.on('data',function(data){
 var flag = socket.write(data);
 console.log('write方法的返回值为:'+flag);
 console.log('缓存队列中当前缓存了%d字符。',socket.bufferSize);
})
socket.on('data',function(data){
 console.log('已连接客户端发送的数据:'+data);
 socket.write('确认数据:'+data);
})
socket.on('error',function(err){
 console.log('客户端通信的过程中发生了一个错误,错误编码为%s',err.code);
 socket.destroy();
})
socket.on('end',function(){
 console.log('客户端连接被关闭。');
 server.unref();
})
socket.on('close',function(had_error){
 if(had_error){
  console.log('由于一个错误导致socket端口被关闭。');
  server.unref();
 }else{
  console.log('socket端口被正常关闭。');
 }
})
server.getConnections(function(err,count){
 if(count==2)
  server.close();
});
});

server.listen(8431,'localhost');
server.on('close',function(){
console.log('TCP服务器被关闭。');
})

在Node.js中利用下面方法可以向客户端或服务器不断发送探测包,以确定连接状态;

socket.setKeepAlive([enable],[initialDelay])
//enable:true:启用Keep-alive机制,不断向对方发送一个探测包,如果没有回应表示连接关闭
initialDelay:间隔时间(毫秒)

以上这篇Node.js学习之TCP/IP数据通讯(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。

展开阅读

TCP/IP相关资源

  • TCP/IP详解 卷1:协议

    TCP/IP详解 卷1:协议

    《TCP/IP详解》是已故网络专家、著名技术作家W. Richard Stevens的传世之作,内容详尽且极具权*,被誉为TCP/IP领域的不朽名著。 本书是 《TCP/IP详解》第1卷的第2版 ,主要讲述TCP/IP协议,结合大量

    大小:132.1 MB网络

    立即下载
  • TCP/IP网络互联技术:客户-服务器编程与应用(卷3)

    TCP/IP网络互联技术:客户-服务器编程与应用(卷3)

    书名=TCP/IP网络互联技术:客户-服务器编程与应用(卷3) 作者=(美)科默斯蒂文斯著张卫王能译 出版日期=2004年09月第1版

    大小:17.96MBTCP/IP

    立即下载
  • 用TCP/IP进行网际互联 第一卷 原理、协议与结构(第四版)

    用TCP/IP进行网际互联 第一卷 原理、协议与结构(第四版)

    用TCP/IP进行网际互联第一卷原理、协议与结构(第四版) 丛书名:国外计算机科学教材系列 作者:(美)DouglasE.Comer 出版日期:2001-5-1 本书是一部关于计算机网络的经典教科书。它是目前美国大多数大学里所开设的计算机网络课程的主要参考书。目前国内外能见到的各种有关TCP/IP的书籍,其主要内容均出自本书。本书的特点是:强调原理、概念准确、深入浅出、内容丰富新颖。全书共分为三卷。第一卷从TCP/IP基本概念讲起,讨论了主要协议和结构,讲解了

    大小:13.7MBTCP/IP

    立即下载
  • 一本书读懂TCP/IP

    一本书读懂TCP/IP

    大小:82.5 MBTCP/IP

    立即下载
  • TCP/IP协议族

    TCP/IP协议族

    《世界著名计算机教材精选TCP/IP协议族(第4版)》 最新版进行了扩充,以体现计算机网络技术的最新发展,全书含有七大部分共30章和7个附录:第一部分介绍一些基本概念和基础底层技术;第

    大小:88.2 MBTCP/IP

    立即下载
  • TCP/IP详解 卷2:实现

    TCP/IP详解 卷2:实现

    TCP/IP详解卷2:实现

    大小:22.9MBTCP/IP

    立即下载
  • TCP/IP详解 卷3:TCP事务协议,HTTP,NNTP和UNIX域协议

    TCP/IP详解 卷3:TCP事务协议,HTTP,NNTP和UNIX域协议

    TCP/IP详解卷3:TCP事务协议,HTTP,NNTP和UNIX域协议

    大小:6MBTCP/IP

    立即下载

学习笔记

17小时20分钟前回答

Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例

本文实例讲述了Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能。分享给大家供大家参考,具体如下: 由于目前工作的需要,需要在IPv4和IPv6两种网络模式下TCP和UDP的连接,要做到客户端发包,服务端收包。 前几天写了代码,但是把UDP的客户端和服务端使用TCP模式的代码了。今天在公司使用该工具的时候,发现了问题,忘记了UDP不需要验证。疏忽,疏忽。不过刚刚接触编程,可以原谅。 现在在家,已经把代码改好了。经测试可以使用。 先运行客户端: python MiniClient.py host port mode(t4, t6, u4, u6) 再运行服务端: python MiniServer.py host port mode(t4, t6, u4, u6) 客户端代码如下: import socket, sysimport timecla……

5小时56分钟前回答

Python socket网络编程TCP/IP服务器与客户端通信

Python socket网络编程 初学 python,前段时间买了两本书《python 编程从入门到实践》《Python 核心编程第三版》,第一本书主要讲的是一些基本语法和一些基本的使用方法,而第二本则深入很多,自己看来也是一知半解,刚好看到了这部分网络编程,依然有好多不太理解的地方,不过想来通过自己不断的摸索,不断地搜寻资料学习,早晚应该会变得通透吧....... 这部分主要使用的模块就是 socket 模块,在这个模块中可以找到 socket()函数,该函数用于创建套接字对象,套接字也有自己的方法集,这些方法可以实现基于套接字的网络通信。 socket()模块函数 要创建套接字,必须使用 socket.socket()函数,他一般的语法……