计算机网络
文章平均质量分 86
sandmm112
这个作者很懒,什么都没留下…
展开
-
TCP/IP五层网络模型------应用层
在网络基础------TCP/IP五层模型一文中笼统的介绍了有关TCP/IP五层模型的相关知识点,本文中将详细的说明TCP/IP五层网络模型中的应用层,及相关的应用层协议。应用层概述 应用层的任务是通过应用程序间的交互来完成特定的网络应用。根据网络应用的不同,应用程序之间就需要根据不同的方式来实现交互。如:如果两个应用程序之间要传递整型数据,那么二者之间必须遵循这样的...原创 2018-05-20 20:41:28 · 1910 阅读 · 0 评论 -
TCP协议的连接管理机制------三次握手,四次挥手
有关TCP协议的相关知识见:这篇博客 TCP与UDP最大的区别就是TCP保证可靠性数据传输。从TCP与UDP的协议报头就可以看出差别。TCP的协议报头比UDP报头多了很多东西,而多出来的这些都是用于保证数据的可靠性传输的。下面将具体介绍TCP保证可靠传输的机制以及报头中的字段是如何用于可靠性传输机制的。1. 连接管理机制 下图为客户端和服务器端根据TCP协议:三次握手建...原创 2018-05-29 14:55:00 · 2686 阅读 · 0 评论 -
TCP协议------可靠性保证机制
在这篇博客中介绍了连接管理机制,它是TCP协议保证可靠性的重要机制,除了该机制,还有许多实现可靠性得机制,本文中将一一进行介绍。1. 确认应答(ACK)机制 在TCP的协议报头中有两个字段:序列号和确认序列号。这两个字段就是来保证确认应答机制的。 发送方A将要发送的多个数据段排好序发送给接收端B。比如说A要发送序列号为1~1000的数据段。B如果将这些数...原创 2018-05-29 20:25:44 · 1678 阅读 · 1 评论 -
IO多路转接------select
在五种IO模型一文中介绍了五种IO模型。在数据通信过程中,分为两部分:一个是等待数据到达内核,一个是将数据从内核拷贝到用户区。在实际应用中,等待的时间往往比拷贝的时间多,所以要提高IO的效率,就要减少等的比重。在阻塞IO,非阻塞IO,信号驱动IO和异步IO中,虽然等待的方式或等待的主体不同,但是无论是谁在等,无论如何等,等待的时间总长是不变的。 在IO多路转接中,由于...原创 2018-06-20 21:11:32 · 405 阅读 · 0 评论 -
IO多路转接------poll
在这篇文章中介绍了利用select来实现IO多路转接。在本文中,将介绍利用poll来实现IO多路转接。 poll与select的作用相同。都是一次等待多个文件描述符,当至少有一个文件描述符上的就绪事件发生时,poll返回满足就绪条件的文件描述符的个数并将发生改变的文件描述符由参数带回。只是poll在接口设计上与select有所不同。 select在接口使...原创 2018-06-21 09:57:53 · 361 阅读 · 0 评论 -
IO多路转接------epoll
epoll是实现IO多路转接的另一种方式。它与select,poll的作用相同,都是一次等待多个文件描述符。但是,它在接口的使用及原理上与前两者有很大的不同。它改进了select和poll的缺点,使IO操作效率更高。因此它被公认为LInux2.6下性能最好的IO多路转接就绪通知方法。 下面具体介绍epoll的相关概念。epoll 与select,poll...原创 2018-06-21 18:11:16 · 662 阅读 · 0 评论 -
TCP/IP五层网络模型------IP层(网络层)之IP协议
网络层 网络层的作用是在复杂的网络环境中为要发送的数据报找到一个合适的路径进行传输。 网络层向上提供简单灵活,无连接的,尽最大努力交付的数据报服务。从数据报从主机A发送到主机B的过程中可能要经历很多节点。所谓无连接是指:数据报在传输之前不需要提前规划好整个传输路线,即不用提前建立一条从发送主机到接收主机之间的传输连接路线。(如果是有连接服务,该传输路线建立好之后,各数据...原创 2018-06-02 11:57:43 · 15820 阅读 · 0 评论 -
TCP/IP五层网络模型------数据链路层
在之前的介绍过的网络层的相关内容中可知,网络层的作用是研究如何将一个数据报由一个网络通过路由器转发至另一个网络。而本文中所说的数据链路层的作用则是研究在同一局域网内,如何将数据帧由一台主机传送至另一台主机。在数据链路层使用的通信信道有两种:点对点的数据通信信道(一对一),广播信道(一对多)。 数据链路层的基本数据单元称为帧。 数据链路层的作用主要是:将发...原创 2018-06-11 09:27:28 · 1170 阅读 · 0 评论 -
计算机网络------五种IO模型
和v原创 2018-06-20 11:49:47 · 2113 阅读 · 0 评论 -
TCP/IP五层网络模型------传输层之端口号,UDP协议
ajs原创 2018-05-24 16:06:03 · 4011 阅读 · 0 评论 -
TCP/IP五层网络模型------传输层之TCP协议
在这篇博客中介绍了有关传输层,端口号以及传输层UDP协议的相关概念,本文将介绍传输层的另一重要协议------TCP协议的相关内容。传输控制协议TCP的特点1. TCP协议是面向连接的。即在进行数据通信之前,发送进程要与接收进程建立连接。连接建立好之后,才可以进行数据传输。当传输结束时,在释放连接。2. TCP协议提供可靠的传输服务。即保证数据可靠的送至接收方进程。当数据丢包时或出...原创 2018-05-28 17:04:55 · 2388 阅读 · 0 评论 -
IP协议------路由选择
当一个数据包发送到某个路由器时,该路由器将数据报如何发送呢。在每个路由器中都会维护一张路由表,路由表的每一行有三个基本消息:目的网络 下一跳IP地址 子网掩码 当路由器收到数据报后,会做如下处理:(1)解析数据报中的目的IP地址;(2)将该IP地址和路由表的第一行的子网掩码进行按位与操作,将结果与该行的目标网络进行对比。 如果与目标网络不相等,...原创 2018-06-04 15:26:08 · 2042 阅读 · 0 评论 -
网络基础------TCP/IP五层模型
在生活中,如果一个个的计算机都是独立运行的,即彼此之间互不关联。那我们自己的计算机中有什么,我们就只能看到什么,当要在计算机中查找某个内容时,如果自己的计算机中没有相应的内容就会查找失败。但是在别人的计算机中可能有我们想要查找的内容。所以,如果将各计算机连接起来,形成一个网络,就能达到资源共享的目的。网络概述 网络是由若干结点和连接这些结点的链路组成。其中网络中的结点...原创 2018-05-19 12:10:05 · 1480 阅读 · 0 评论 -
网络基础-------netstat命令详解
1. netstatnetstat是一个用来查看网络状态的重要工具用法:netstat [选项]选项: n:拒绝显示别名,能显示数字的全部转化为数字 l:仅列出在Listen(监听状态)下的进程 p:显示建立相关连接的程序名,如进程的PID,程序的工作目录,可执行程序名等 t:仅显示基于Tcp协议的相关进程 u:仅显示...原创 2018-05-17 18:08:22 · 228 阅读 · 0 评论 -
网络编程------TCP协议实现网络版三子棋小游戏
以下用到的TCP协议的程序代码见:网络编程------TCP协议网络程序以下用到的三子棋的游戏规则的相关代码见:三子棋 在网络编程------TCP协议网络程序一文中根据TCP协议分别实现了单进程,多进程,多线程版本的服务器端程序。在多进程和多线程环境中服务器可以同时接收来自多个客户端的连接请求并与之互发消息进行通信。在本文中将继续根据TCP协议来实现与客户端的通信。 ...原创 2018-05-13 19:58:29 · 3554 阅读 · 2 评论 -
网络编程------TCP协议网络程序
是原创 2018-05-11 09:56:02 · 1132 阅读 · 0 评论 -
网络编程------UDP协议网络程序
以下有关IP地址,端口号,网络字节序列相关知识见:网络编程------IP地址,端口号,套接字,网络字节序 这里要先简单认识UDP协议。UDP协议 UDP协议也称为用户数据报协议。它是传输层的一种协议。根据该协议在进行数据传送时,两台主机之间不需要相互连接,直接根据对方的IP地址和端口号进行数据传送。所以不用花费时间去连接两台主机,因此根据该协议进行传...原创 2018-05-09 17:13:10 · 477 阅读 · 0 评论 -
网络编程------IP地址,端口号,套接字,网络字节序
IP地址 IP地址是IP协议中,用来标识网络中的唯一一台主机的地址。IP协议有两个版本IPv4,IPv6。在IPv4中,IP地址是一个4字节的32位的整数。在IPv6中,IP地址是一个16字节的128位的整数。 我们通常所见到的IP地址如:192.168.3.195。是一用点分隔的字符串,每个数字用一个字节存储,范围是0~255,所以这种形式的IP地址也被称为“点分十进...原创 2018-05-08 21:32:41 · 1804 阅读 · 0 评论 -
IP协议------网段划分
删除吗原创 2018-06-03 21:02:26 · 70636 阅读 · 0 评论 -
IP地址数量限制的解决方案------NAT技术
删除时原创 2018-06-04 10:43:41 · 9281 阅读 · 2 评论 -
计算机网络------fcntl实现非阻塞IO,dup2实现重定向
在五种IO模型中有提到在Linux中,默认所有的套接字都是阻塞的。所以要实现非阻塞的套接字,就要执行特定的系统调用来实现。fcntl 函数原型:#include <unistd.h>#include <fcntl.h>int fcntl(int fd, int cmd, ... /* arg */ ); 参数说明:fd:表示...原创 2018-06-20 17:11:11 · 521 阅读 · 0 评论