计算机网络
BIG_GENERAL_DD
好好学习,天天向上.
展开
-
IP和子网掩码
IP和子网掩码6. 命令 subnet166.173.197.131 netmask 255.255.255.192{range166.173.197.10 166.173.197.107;default-lease-time600;max-lease-time7200;}表示?()A.向166.173.197.10网转载 2017-07-29 16:48:47 · 490 阅读 · 0 评论 -
Linux下fork函数及pthread函数的总结
forkLinux多进程编程中的可以使用fork函数来创建子进程。fork函数定义在头文件unistd.h中(uni表示unix,std当然是标准库,所以很好记),该函数的声明为pid_t fork(void)其中函数的返回值类型为pid_t,可以理解为一个整型,返回值具体为:在父进程中,fork返回新创建的子进程的进程ID;在子进程中,fork返回0;如果创建子进程失败,则返转载 2017-07-27 13:14:14 · 3370 阅读 · 0 评论 -
第十六章 关于I/O流分离的其他内容
P255~P264调用fopen函数打开文件后可以与文件交换数据,说明调用fopen函数后创建了“流”Stream。 此处的流是指“数据流动”,通常可以比喻成“以数据收发为目的的一种桥梁”。即数据收发路径、分离I/O流2次I/O流分离 2种方法分离I/O流:第一种是TCP I/O过程Routine分离(通过调用fork函数复制出1个文件描述符,以区分输入和输出中使用的原创 2017-08-06 20:56:19 · 268 阅读 · 0 评论 -
第十七章 优于select的epoll
《TCP/IP网络编程》 尹圣雨 P263~P265实现I/O复用的传统方法有select函数和epoll函数。select函数的使用方法由于各种原因导致无法得到令人满意的性能。因此有了Linux下的epoll、BSD的kqueue、Solaris的/dev/poll 和 Windows的IOCP等复用技术、epoll理解及应用select复用方法,无法同时接入上百个客户端,并不适合以原创 2017-08-06 22:24:30 · 382 阅读 · 0 评论 -
计算机网络知识点总结
网络体系结构SAP(访问访问点),OSI参考模型中上层协议实体与下层协议实体之间的逻辑接口叫作服务访问点。两个相邻层间的信息交换,实际上是由两层间的实体通过服务访问点相互作用的。接口以一个或多个服务访问点SAP的形式存在,并通过服务访问点来实现其功能。SAP位于N层和N+1层的逻辑交界面上,是N层实体向N+1层实体提供服务的地方,或者N+1层实体请求N层服务的地原创 2017-08-24 22:52:34 · 5275 阅读 · 0 评论 -
第十二章 I/O复用
并发服务器的第二种实现方法-基于I/O复用Multi-plexing的服务器端构建。 1基于I/O复用的服务器端多进程服务器端的缺点和解决办法创建进程时需要付出极大代价,需要大量的运算和内存空间,每个进程具有独立的内存空间,所以相互间的数据交换也要求采用相对复杂的方法(IPC属于相对复杂的通信方法)I/O复用能不创建进程的同时向多个客户端提供服务。理解复用在1个通信频道原创 2017-08-30 17:44:11 · 308 阅读 · 0 评论 -
第十三章 多种I/O复用
《TCP/IP网络编程》尹圣雨 P211-P225send & recv函数Linux中的send & recv#include ssize_t send(int sockfd, const void *buf,size_t nbytes,int flags);成功时返回发送的字节数,失败时返回-1.#include ssize_t recv(int原创 2017-08-30 17:56:04 · 269 阅读 · 0 评论 -
第十四章 多播与广播
《TCP/IP网络编程》 尹圣雨 P230~P237 向大量客户端发送相同的数据时,会对服务器端和网络流量产生负面影响,可以使用多播技术解决该问题。 多播Multicast多播方式的数据传输是基于UDP完成的。与UDP服务器端/客户端的实现方式非常接近。区别在于,UDP数据传输是以单一目标进行的,而多播数据同时传递到加入(注册)特定组的大量主机。即采用多播方式时,可以同时向多个原创 2017-08-30 18:09:24 · 263 阅读 · 0 评论 -
第十五章 套接字和标准I/O
标准I/O函数的优点标准I/O函数的优点标准I/O函数具有良好的移植性Portability、标准I/O函数可以利用缓冲提高性能。 所有函数都具有移植性,为了支持所有操作系统(编译器),这些函数都是按照ANSI C标准定义的。使用标准I/O函数时会得到额外的缓冲支持。(创建套接字时,操作系统将生成用于I/O的缓冲。此缓冲在执行TCP协议时发挥着重要的作用。此时,若使用标原创 2017-08-30 18:13:39 · 310 阅读 · 0 评论 -
关于TCP/IP,必知必会的十个问题
关于TCP/IP,必知必会的十个问题一、TCP/IP模型TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与O转载 2017-09-07 21:19:00 · 417 阅读 · 0 评论 -
网络学习(1)
1 TCP和UDP分别拥有自己端口号,二者互不干扰,可以共存于同一台主机。客户端可以通过端口号去区分不同的进程,到底是哪个服务器。所以两个服务器可以共存在同一个台主机。2 SMTP :simple mail transfer protocol 即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计原创 2017-10-31 20:41:14 · 363 阅读 · 0 评论 -
浏览器输入一个域名地址,浏览器的执行过程
临近毕业了没事,最近在徐汇这边找了一家公司实习,闲着没事,又把以前的TCP/IP相关的东西拿过来看看。想起了泛亚技术研发中心的一道面试题:向浏览器输入www.baidu.com这个域名后,把具体过程分析一遍。我当时好像只说了关于一个ARP协议,其它的蒙圈了,对于这类基础知识掌握能力不行啊。。。于是又把以前初学TCP时,写的一些博客拿过来看。OSI模型与TCP模型点击打开原创 2018-01-10 09:42:57 · 1474 阅读 · 0 评论 -
TCP协议拥塞控制算法(Reno、HSTCP、BIC、Vegas、Westwood)
TCP协议拥塞控制算法(Reno、HSTCP、BIC、Vegas、Westwood)一、TCP拥塞控制的研究框架二、现有TCP拥塞控制的算法(Reno、HSTCP、Vegas、Westwood)三、参考文献一、TCP拥塞控制的研究框架注:l 基于丢包反馈:通过ACK所带回来的丢包信息来调整源端的拥塞窗口。Reno等是针对转载 2018-01-10 13:49:19 · 22435 阅读 · 4 评论 -
TCP/IP协议三次握手与四次握手
三次握手 所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发,整个流程如下图所示:(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SE转载 2017-07-26 20:09:08 · 484 阅读 · 0 评论 -
TCP/IP协议的学习
IP协议:IP(Internet protocol),这里的IP不是值得我们通常所说的192.168.1.1.这个IP指的是一种协议,而后面的数字值得是IP地址。IP协议的作用在于把各种数据包准确无误的传递给对方,其中两个重要的条件是IP地址,和MAC地址(Media Access Control Address)。由于IP地址是稀有资源,不可能每个人都拥有一个IP地址,所以我们通常的IP地址原创 2017-07-26 18:51:19 · 595 阅读 · 0 评论 -
OSI模型与TCP/IP参考模型
OSI模型OSI模型OSI模型,即开放式通信系统互联参考模型(Open System Interconnection,OSI/RM,Open Systems Interconnection Reference Model),是国际标准化组织(ISO)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架,简称OSI。OSI是一个定义良好的原创 2017-07-26 18:04:54 · 8309 阅读 · 0 评论 -
如何确认同一网段
IP和子网掩码、同一网段中提到 如何通过计算IP地址和 子网掩码来验证网络是否在同一段中,在此处都提到了同一个例子。同一网段指的是IP地址和子网掩码相与得到相同的网络地址。想在同一网段,必需做到网络标识相同。各类IP的网络标识算法都是不一样的,需要根据子网掩码的位数来判断。算法只要把IP和子网掩码的每位数AND就可以了。AND方法:0和1=0 0和0原创 2017-07-29 18:37:01 · 7331 阅读 · 0 评论 -
第一章 理解网络编程和套接字
《TCP/IP网络编程》 尹圣雨P2~ 网络编程就是编写程序使两台联网的计算机相互交换数据。如何编写数据传输软件?操作系统会提供名为“套接字”的部件。“套接字”socket:网络数据传输用的软件设备。套接字本身带有“连接”的含义,如果将其引申,则还可以表示两台计算机之间的网络连接。网络编程值接受请求的套接字创建过程:调用socket函数(安装电话机)创建套接字;原创 2017-07-31 21:49:46 · 263 阅读 · 0 评论 -
第二章 套接字类型与协议设置
《TCP/IP网络编程》 尹圣雨P26~P32协议:计算机之间对换必备通信规则。协议就是为了完成数据交换而定好的约定。第一章 理解网络编程和套接字创建套接字 #includeint socket(int domain ,int type, int protocol);//成功时返回文件描述符,失败返回-1domain:套接字使用的协议族信息;typ原创 2017-07-31 22:40:15 · 424 阅读 · 0 评论 -
第十章 进程与僵尸进程 (上)
《TCP/IP网络编程》 尹圣雨P155~并发服务器端的实现方法网络程序中数据通信时间比CPU运算时间占比更大,因此向多个客户端提供服务是一种有效利用CPU的方式。具有代表性的并发服务器端实现模型与方法:多进程服务器:通过创建多个进程提供服务。 (不适合window平台,主要放在Linux平台)多路复用服务器:提供捆绑并统一管理I/O对象提供服务。多原创 2017-07-30 02:27:43 · 302 阅读 · 2 评论 -
第三章 地址族与数据序列
《TCP/IP网络编程》 尹圣雨P36~P451分配给套接字的IP地址与端口号IP是为收发网络数据而分配给计算机的值。端口号是为区分程序中创建的套接字而分配给套接字的序号。IP地址分为2类:IPv4和IPv6,主要差别是表示IP地址所用的字节数。IPv4标准的4字节IP地址分为网络地址和主机地址,分为ABCDE类型、 网络地址(网络ID)是为区分网络而设置的一部分I原创 2017-08-01 14:11:44 · 279 阅读 · 0 评论 -
第四章 基于TCP的服务器端/客户端(1)
《TCP/IP网络编程》 尹圣雨P59~P711.理解TCP和UDP根据数据传输方式不同,基于网络协议的套接字一般分为TCP套接字和UDP套接字。TCP套接字是面向连接的,称为基于流的套接字。 各层通过操作系统等软件实现,也可能通过类型NIC的硬件设备实现。 补充:开放式系统 Opening System(以多个标准为依据设计的系统)路由器用来完成原创 2017-08-01 15:55:27 · 357 阅读 · 0 评论 -
第十八章 多线程服务器端的实现
线程在windows中的应用比在Liunx平台的应用更广泛。web服务器端协议本身具有的特点,经常需要同时向多个客户端提供服务,开始利用更高效的线程实现WEB服务器端。理解线程的概念引入线程的背景第十章 多进程服务器(下)、 第十章 进程与僵尸进程 (上)介绍了多进程服务器端的实现方法。多进程模型与select或epoll相比具有优势,同时也有缺点。创建进程(复制)的工作本身会原创 2017-08-08 12:50:15 · 315 阅读 · 0 评论 -
第五章 基于TCP的服务器端/客户端(2)
《TCP/IP网络编程》 尹圣雨P82~P90 关于《回声客户端的完美实现》不是特别理解、需要再回过头来再看看。主要学习了第二节部分内容的TCP原理。P91~P96TCP原理TCP套接字中的I/O缓冲write函数调用后并非立即传输数据,read函数调用并非马上接收数据。write函数调用瞬间,数据将转移至输出缓冲池;read函数调用瞬间,从输入缓冲池读取数据。原创 2017-08-02 15:10:37 · 325 阅读 · 0 评论 -
第六章 基于UDP的服务器端/客户端
《TCP/IP网络编程》 尹圣雨P101~P1141 理解UDPUDP提供的是不可靠的数据传输服务。UDP结构上比TCP简洁,不会发送类似ACK的应答消息,不会像SEQ那样给数据包分配序号。因此UDP性能有时会比TCP更高。编程实现UDP也比TCP简单。另外,UDP的可靠性比不上TCP,但也不会像想象中那么频繁地发生数据损毁。UDP作用?为提供可靠的数据传输原创 2017-08-02 16:18:55 · 484 阅读 · 0 评论 -
第七章 优雅地断开套接字连接
《TCP/IP网络编程》 尹圣雨 P120~P124调用Linux的close函数或者windows的closesocket函数是单方面断开连接,意味着完全断开。完全断开不仅指无法传输数据,也不能接收数据。基于TCP的半关闭 Half-close,即“只关闭一部分数据交换中的使用的流”的方法应运而生。断开一部分连接是指,可以传输数据但无法接收,或可以接收数据但无法传输。原创 2017-08-02 17:12:29 · 432 阅读 · 0 评论 -
第九章 套接字的多种可选项
《TCP/IP网络编程》 尹圣雨 P140~P152套接字具体多种特性,可通过可选项更改。1 套接字可选项和I/O缓冲大小SOL_LOCKET层是套接字相关的通用可选项IPPROTO_IP层可选项是IP协议相关事项IPPROTO_TCP层可选项是TCP协议相关事项具体见P120~P141可选项的读取和设置通过如下两个函数完成#in原创 2017-08-02 21:07:31 · 300 阅读 · 0 评论 -
第八章 域名及网络地址
《TCP/IP网络编程》 尹圣雨 P118~P136DNS,Domain Name System,域名系统。DNS是对IP地址和域名进行相互转换的系统,其核心是DNS服务器。域名提供网络服务的服务器端也是通过IP地址区分的,将容易记、易表述的域名分配并取代IP地址、 域名是赋予服务器端的虚拟地址,而非实际地址。因此,需要将虚拟地址转化为实际地址。将域名变为I原创 2017-08-02 19:03:50 · 335 阅读 · 0 评论 -
第十章 多进程服务器(下)
《TCP/IP网络编程》 尹圣雨 P165~P181信号处理“子进程何时终止?调用waitpid函数后要无休止的等待吗?”向操作系统求助子进程终止的识别主体是操作系统,若操作系统能把如下信息告诉正忙于工作的父进程,将有助于构建高效的程序。引入信号处理Signal Handing机制,此处的信号是特定是在特定事件发生时由操作系统向进程发送的消息。为了响应该消息,执行与消息相关的自原创 2017-08-03 15:34:52 · 301 阅读 · 0 评论 -
第十一章 进程间通信
《TCP/IP网络编程》 尹圣雨 P183~P193进程间通信的基本概念进程间通信 Inter Process Communication意味着两个不同进程间可以交换数据。只要有2个进程可以同时访问的内存空间,就可以通过此空间交换数据。进程具有完全独立的内存结构。fork()创建的子进程也不会与父进程共享内存空间。通过管道实现进程间通信为完成进程间通信,需要创建管道原创 2017-08-03 16:14:40 · 197 阅读 · 0 评论 -
快速入门http协议 (https协议)
本篇博客基于2篇博客的基础上,选取了自己需要的部分内容。其他人可以参阅以下的引用的两个链接。1. 基础概念篇1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果...原创 2018-04-18 10:44:56 · 439 阅读 · 1 评论