
计算机网络
夏夕阳
这个作者很懒,什么都没留下…
展开
-
TCP报文的URG和PSH标志位
URG:紧急标志位,它使一端可以告诉另一端有些具有某种方式的“紧急数据”已经放置在普通的数据流中。另一端被通知这个紧急数据已被放置在普通数据流中,由接收方决定如何处理。该标志位要和紧急指针配合使用。当URG=1时,表明紧急指针字段有效。向系统说明此报文中有紧急数据,应该尽快传送,而不是按照原来的排队顺序来传送。于是发送方TCP就把紧急数据插入到本报文段数据的最前面,而在紧急数据之后的数据仍然是原创 2017-06-28 16:21:49 · 1325 阅读 · 0 评论 -
代理服务器原理
原文:http://blog.youkuaiyun.com/liangzhao_jay/article/details/12025907代理服务器:代理服务器(Proxy Server):代理服务器,顾名思义就是局域上不能直接上网的机器将上网请求(比如说,浏览某个主页)发给能够直接上网的代理服务器,然后代理服务器代理完成这个上网请求,将它所要浏览的主页调入代理服务器的缓存,然后将这个页面传给请转载 2017-06-26 01:37:20 · 948 阅读 · 0 评论 -
端口号
什么是端口?在网络中,主机之间通过TCP/IP协议发送和接受数据报,数据报根据目的主机的 IP进行路由选择。现在多数操作系统都是支持多进程同时运行的,在数据报到达主机后,主机应该将数据报交给同时运行进程中的哪一个进程?因为这个原因,所以引入了端口机制。本地操作系统会给有需求的进程分配协议端口,每个协议端口由一个正整数标识,这个数就称为端口号。在主机接受到数据报时,会根据数据报中目的端口号把原创 2017-06-21 22:56:15 · 1111 阅读 · 0 评论 -
CRC校验原理及步骤
什么是CRC校验?CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。CRC校验原理:其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要原创 2017-06-22 11:59:11 · 209555 阅读 · 52 评论 -
ARP地址解析协议原理
理解ARP协议ARP地址解析协议,是一个很重要的协议。当一个数据帧经过多次路由到达目的网络时,路由器只能知道其数据帧中的目的IP地址,而不知目标主机的硬件地址(网络层使用的是IP地址,但是在实际网络链路上传送数据帧时,最终必须使用该网络的硬件地址),此时需要目的主机的硬件地址,就要使用ARP来获取到对应IP地址主机的硬件地址。注意:ARP是解决同一局域网中主机或者路由器的IP地址和原创 2017-06-25 23:19:42 · 7531 阅读 · 0 评论 -
NAT技术
网络地址转换 NAT(Net Address Translation):它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。NAT技术原理:NAT就是在局域网内部使用内部自己的地址,当内部主机要与外部网络进行通讯时,在网关处,将内部的地址转换为合法的IP地址,从而进行正常的通讯。这种方法最少可以原创 2017-06-26 00:57:59 · 1409 阅读 · 1 评论 -
实现简单UDP服务器客户端模型
UDP是无连接的,在数据的发送之前不需要连接,只需要知道要发数据给谁,然后将数据发出即可,可以直接接收到其他人发来的数据,不必调用listen()和accept()函数。所以UDP中建立好套接字后,就可以直接进行数据的传输。基于UDP的接收和发送函数:#include #include ssize_t sendto(int sockfd, const void *buf,原创 2017-07-04 16:51:31 · 1046 阅读 · 0 评论 -
使用套接字实现简单TCP服务器客户端模型
利用套接字实现一个简单的服务器客户端模型基本步骤如下:1.创建套接字#include #include int socket(int domain, int type, int protocol);参数描述: domian:协议域,AF_INET ipv4, AF_INET6 ipv6, AF_UNIX 表示这个socket原创 2017-07-04 10:23:55 · 970 阅读 · 0 评论 -
TCP连接的建立和释放(三次握手和四次挥手)
TCP的连接建立TCP的连接建立也称握手,握手需要在客户机与服务器之间交换三个TCP报文段,下图给出了三次握手建立连接的过程。连接建立的详细过程:①第一次握手 A向B发送连接请求报文段,这时连接请求报文段的首部同部位SYN=1,同时选择是一个初始序号seq=x。(TCP规定SYN=1的报文不能携带数据,但是需要消耗一个序号),这时,A的TCP客户进程进入SYN-SENT原创 2017-06-29 00:00:11 · 2713 阅读 · 0 评论 -
I/O多路转接之select
在完成I/O操作时,程序中完成真正I/O的时间可能只有少的一部分,而大部分时间都处于一个等的时间。比如,此时需要从一个套接字中读取数据read(socket, buf, BUFSIZE); 这个操作可能会一直阻塞,直到有数据从网络的另一端发送过来。等的时间过于长,这是I/O效率低下的真正原因。可能有人会提出让代码不要阻塞的等,可以进行非阻塞的等待,比如当read一个socket发现没有数据时,就不原创 2017-07-09 23:14:09 · 576 阅读 · 0 评论