计算机网络
学战到底
这个作者很懒,什么都没留下…
展开
-
10Mbps以太网的帧长度
1.以太网帧的最短长度为64字节,或者帧中的数据不得少于46个字节,其中以太网帧头有18字节(以太网2的值为:MAC+2类型+4CRC,注意,如果是802.3的规范,它支持SNAP和802.3以太,其中的2个字节的类型字段就变为帧的长度),小于以上长度的帧或数据需要在帧中加入“填充数据(pad)” 。 2.以太网帧的最长长度为1518字节。我们所说的MTU 以太网一般为1500,加上以太网帧原创 2016-07-23 14:28:42 · 5697 阅读 · 0 评论 -
以太网最大帧和最小帧、MTU
文章出处:http://ewangsoft.blog.163.com/blog/static/7721558220093200840864/根据rfc894的说明,以太网封装IP数据包的最大长度是1500字节,也就是说以太网最大帧长应该是以太网首部加上1500,再加上7字节的前导同步码和1字节的帧开始定界符,具体就是:7字节前导同步码 + 1字节帧开始定界符 + 6字节的目的MAC + 6转载 2016-07-23 14:32:38 · 4589 阅读 · 0 评论 -
简述TCP和UDP协议并举例说明它们的区别
TCP是传输控制协议,提供的是面向连接的、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发、丢弃重复数据、校验数据、流量控制等功能,保证数据能从一端传递到另一端。例,TCP连接就像是打电话,两者之间必须有一条不间断的通路,数据不到达对方,对方就一直在等待,除非对方直接挂断电话。先说的话先到,后说的后到,有顺序。UDP是原创 2016-07-25 16:49:38 · 6812 阅读 · 3 评论 -
如何编写Socket套接字
Socket套接字相当于网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据。其定义类似于文件句柄的定义。如果编写的是服务程序,那么先调用socket()创建一个套接字,调用bind()绑定IP地址和端口,然后启动一个死循环,循环中调用accept()接受连接。对于每个接受的连接,可以启动多线程方式进行处理,在线程中调用send()、recv()发原创 2016-07-25 21:40:25 · 3138 阅读 · 0 评论 -
如何将一个网络分为两个子网、如何通过已知IP和子网掩码计算其同一网段的主机IP
IPV4的IP地址格式通常表示为xxx.xxx.xxx.xxx,其中xxx为十进制数,取值范围是[0,255],若用16进制表示则为xx.xx.xx.xx,其中xx的取值范围是[0,FF]。实际上,IP地址使用二进制位表示最能说明其本质,它共占4x8=32个二进制位,前n个二进制为表示网络ID,即,网络号,后32-n个二进制位表示每个子网段的主机IP地址,其中n是根据各个子网内主机的数量的最大原创 2016-07-26 15:54:17 · 13101 阅读 · 2 评论 -
TCP连接断开过程-四次握手
转自:TCP连接断开过程-四次握手,保存在此以学习。断开连接其实从我的角度看不区分客户端和服务器端,任何一方都可以调用close(or closesocket)之类的函数开始主动终止一个连接。这里先暂时说正常情况。当调用close函数断开一个连接时,主动断开的一方发送FIN(finish报文给对方。有了之前的经验,我想你应该明白我说的FIN报文时什么东西。也就是一个设置了FIN标志位的报文转载 2016-07-26 16:50:57 · 3859 阅读 · 0 评论 -
什么是2MSL
转自:什么是2MSL,保存在此以学习。MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因为tcp报文(segment)是ip数据报(datagram)的数据部分,具体称谓请参见《数据在网络各层中的称呼》一文,而ip头中有一个TTL域,TTL是time to live的缩写,中文可转载 2016-07-26 17:10:01 · 1086 阅读 · 0 评论 -
ping命令原理及其所属的协议
ping.exe的原理是,向指定的IP地址发送一定长度的数据包,按照约定,若指定IP地址存在的话,会返回同样大小的数据包,当然,若在特定的时间内没有返回,就是“超时”,就认为指定的IP不存在。由于ping使用的是ICMP协议,有些防火墙会屏蔽ICMP协议,所以有时候ping的结果只能作为参考,ping不通并不一定说明对方IP不存在。ping命令是一个非常有用的命令,大家常用它来测试网络连通原创 2016-07-27 01:29:46 · 8278 阅读 · 0 评论 -
ICMP协议
ICMP协议是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要作用。在网络中经常会使用到ICMP协议,只不过察觉不到而已。原创 2016-07-27 01:44:14 · 665 阅读 · 0 评论 -
TCP的三次握手和四次挥手
TCP协议提供可靠的数据传输连接,三次握手用于建立连接,四次挥手用于断开连接。三次握手:第一次、建立连接时,客户端向服务器发送SYN包(syn=j),即握手信号,进入SYN_SEND状态,等待服务器的响应。第二次、服务器收到SYN包,确认客户端的SYN(ack=j+1),同时向客户端发送一个SYN包(syn=k),即发送SYN+ACK包,此时服务器进入SYN_RECV状态。第三次、原创 2016-07-26 17:13:22 · 516 阅读 · 0 评论 -
TCP的三次握手和四次挥手
转自:http://blog.csdn.net/whuslei/article/details/6667471,保存在此学习。建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文转载 2016-07-03 15:14:41 · 446 阅读 · 0 评论 -
进程和线程
线程是指程序在执行过程中,能够执行程序代码的一个单元。在Java语言中有4种状态:运行、就绪、挂起和结束。进程是一段正在执行的程序。而线程有时也被称为轻量级进程,它是程序执行的最小单元,一个进程可以拥有多个线程,各个线程间共享程序的内存空间(代码段、数据段和堆空间)及一些进程级的资源(例如打开的文件),但是各个线程拥有自己的栈空间,进程与线程之间的对比关系如下图所示:在操作系统级别原创 2016-06-26 21:33:16 · 461 阅读 · 0 评论 -
TCP如何保证可靠性
转自:TCP如何保证可靠性,保存在此以学习。在TCP的连接中,数据流必须以正确的顺序送达对方。TCP的可靠性是通过顺序编号和确认(ACK)来实现的。TCP在开始传送一个段时,为准备重传而首先将该段插入到发送队列之中,同时启动时钟。其后,如果收到了接受端对该段的ACK信息,就将该段从队列中删去。如果在时钟规定的时间内,ACK未返回,那么就从发送队列中再次送出这个段。TCP在协议中就对数据可靠传输转载 2016-08-01 01:16:35 · 5022 阅读 · 0 评论