
计算机网络
文章平均质量分 63
jiange_zh
linux 网络编程 C++ 算法 数据结构
展开
-
《TCP/IP详解 卷1:协议》 读书笔记 第十一章 UDP:用户数据报协议
第十一章 UDP:用户数据报协议1.引言UDP封装: 20字节IP首部+8字节UDP首部+UDP数据2.UDP首部 端口号表示发送进程和接收进程. UDP长度指UDP首部和数据的总长度. UDP检验和覆盖UDP首部和数据.(不包括伪首部) UDP伪首部包含了IP首部的一些字段,只在计算UDP校验和时使用,并不实际存在.3.UDP检验和UDP校验和包含UDP伪首部,UDP首部和数据,如果数原创 2015-12-12 15:09:54 · 1294 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第十八章 TCP连接的建立与终止
第十八章 TCP连接的建立与终止1.前言TCP连接的建立可以简单的称为三次握手,而连接的中止则可以叫做四次挥手。2.TCP的建立,终止以及半关闭TCP的建立比较熟悉,在此不赘述。由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据原创 2015-12-21 12:07:33 · 1711 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第九章 IP选路
第九章 IP选路1.引言需要进行选路的数据报可以由本地主机产生,也可以由其他主机产生。在后一种情况下,主机必须配置成一个路由器,否则通过网络接口接收到的数据报,如果目的地址不是本机就要被丢弃。2.选路原理IP搜索路由表的几个步骤:1) 搜索匹配的主机地址;2) 搜索匹配的网络地址;3) 搜索默认表项(默认表项一般在路由表中被指定为一个网络表项,其网络号为 0)。××匹配主机地址步骤始终发生在匹配网络原创 2015-12-04 09:14:35 · 902 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》读书笔记 第八章 Traceroute程序
第八章 Traceroute程序1.引言Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由。 (尽管不能保证从源端发往目的端的两份连续的IP数据报具有相同的路由,但是大多数情况下是这样的。)Traceroute程序还可以让我们使用IP源路由选项。2.Traceroute程序的操作traceroute程序使用ICMP报文和IP首部的TTL字段来实现。运行原理: (原创 2015-12-03 21:42:15 · 914 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第十章 动态选路协议
第十章 动态选路协议1.引言上一章讲的是静态选路:通过默认方式生成路由表项(对于直接连接的接口),并通过route命令增加表项,或者通过ICMP重定向生成表项。本章讨论动态选路,它用于路由器间的通信。包括 RIP, OSPF, BGP 以及 CIDR。2.动态选路路由器上有一个路由守护程序,它运行选路协议,并与相邻的一些路由器通信,然后根据收到的信息更新内核中的路由表——这个过程是动态的。Inter原创 2015-12-05 16:50:07 · 1119 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第十九章 TCP的交互数据流
第十九章 TCP的交互数据流1.前言在TCP进行数据传输时,可以分为成块数据流和交互数据流两种,且处理的算法不同.2.交互式输入例子:在一个Rlogin连接上键入一个交互命令所产生的数据流(每一个交互按键都会产生一个数据分组)。 (下面我们将看到,第二,三个报文段是可以合并的)3.经受时延的确认按键确认和按键回显两个报文段合并在一起发送,这种技术叫做经受时延的确认。通常TCP在接收到数据时并不原创 2015-12-24 10:54:51 · 809 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第二十章 TCP的成块数据流
第二十章 TCP的成块数据流1.引言目前建立在TCP协议上的网络协议特别多,有telnet,ssh,有ftp,有http等等。这些协议又可以根据数据吞吐量来大致分成两大类:(1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等。(2)数据成块类型,例如ftp,这种类型的协议要求TCP能尽量的运载数据,把数据的吞吐量做到最大原创 2015-12-25 16:34:42 · 1167 阅读 · 2 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第22章 TCP的坚持定时器
第22章 TCP的坚持定时器1.前言TCP不对ACK报文段进行确认,如果一个ACK丢失了,接收方等待接收数据(因为它已经向发送方通告了一个非0的窗口),而发送方等待允许它继续发送数据的窗口更新。为防止这种死锁,发送方使用坚持定时器(persist timer)来周期性向接收方询查窗口是否已增大。(发出的报文段叫做窗口探查,window probe)2.坚持定时器当TCP服务器收到了客户端的0滑动窗口原创 2015-12-27 10:10:08 · 894 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第21章 TCP的超时与重传
第21章 TCP的超时与重传1.前言对每个连接, TCP管理4个不同的定时器。1.重传定时器适用于当希望收到另一端的确认。2.坚持(persist)定时器使窗口大小信息保持不断流动,即使另一端关闭了其接收窗口。3.保活(keepalive)定时器可检测到一个空闲连接的另一端何时崩溃或重启。4.2MSL定时器测量一个连接处于TIME_WAIT状态的时间。超时重传是TCP协议保证数据可靠性的一个重要机制原创 2015-12-26 23:13:42 · 1831 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第23章 TCP的保活定时器
第23章 TCP的保活定时器因为TCP是面向连接的,所以就会出现只连接不传送数据的“半开放连接”,服务器要检测到这种连接并且在某些情况下释放这种连接,这就是保活定时器的作用。其时限根据服务器的实现不同而不同。如果一个给定的连接在2小时内没有任何动作,那么服务器就向客户发送一个探查报文段.客户主机必须处于以下4个状态之一:(1)客户主机依然正常运行,并从服务器可达.客户的TCP响应正常,而服务器也知道原创 2015-12-27 10:21:27 · 936 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第六章 ICMP:Internet控制报文协议
第六章 ICMP:Internet控制报文协议1.引言ICMP经常被认为是IP层的组成部分,它传递差错报文及其他需要注意的信息。ICMP报文被封装在IP数据报中。类型字段可以有15个不同的值。检验和字段覆盖整个ICMP报文,ICMP的检验和是必需的。2.ICMP报文的类型不同类型的ICMP报文由类型字段和代码字段来共同决定。 下列情况不会产生差错报文: (1)ICMP差错报文不会再次产生差错原创 2015-12-02 00:12:49 · 980 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第五章 RARP:逆地址解析协议
第五章 RARP:逆地址解析协议1.引言具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址,而对于无盘机,则需要用RARP来获取IP地址。无盘系统的RARP的实现为从接口卡上读取硬件地址,然后发送RARP请求,最后RARP服务器在应答中返回该地址对应的IP.2.RARP的分组格式RARP的分组格式与ARP分组基本一致,只是它的请求或应答的帧类型代码是0x8035,请求操作码是3,应答操原创 2015-12-01 19:27:59 · 946 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第十五章 TFTP:简单文件传送协议
第十五章 TFTP:简单文件传送协议TFTP适合于只读存储器,仅用于无盘系统进行系统引导,是一种停等协议。因为UDP在一个客户与一个服务器之间并不提供唯一连接,TFTP服务器通过为每个客户提供一个新的UDP端口来提供并发。TFTP没有提供安全特性,所以需要系统管理员来限制客户的访问。原创 2015-12-12 15:31:49 · 812 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第一章 概述
第一章 概述1.分层TCP/IP协议族分为4层:应用层,运输层,网络层,链路层。应用层和运输层使用End-to-end协议,提供端到端服务;网络层提供Hop-by-hop协议,提供点到点服务。 ××尽管TCP提供了可靠的服务,但是优秀的程序员在编写程序的时候,应该把TCP的思想运用到应用程序中,考虑超时重传和确认分组等问题,而不完全依赖于TCP的可靠性!本书将要讨论的TCP/IP族协议:原创 2015-11-28 10:52:51 · 4027 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第二章 链路层
第二章 链路层1.引言链路层主要有三个目的:1.为IP模块发送和接收IP数据报;2.为ARP模块发送ARP请求和接收ARP应答;3.为RARP模块发送RARP请求和接收RARP应答;硬件: 以太网,令牌环网,FDDI(光纤分布式数据接口),RS-232串行线路等。本章主要讨论 以太网链路层协议,两个串行接口链路层协议(SLIP和PPP)以及环回(loopback)驱动协议。2.以太网和IEEE 80原创 2015-11-28 15:07:26 · 1422 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第三章 IP:网际协议
第三章 IP:网际协议1.引言IP提供的是不可靠,无连接的数据报传递服务。不可靠是说它不能保证IP数据报能成功地到达目的地,它仅提供最好的传输服务。可靠性必须由上层来提供。无连接则是说IP并不维护任何关于后续数据报的状态信息,每个数据报都是独立的。所以IP数据报可以不按序接收,每个数据报独立地进行路由。2.IP首部IP数据报格式: 普通的IP首部为20字节.除非包含选项字段。网络字节序,也被称原创 2015-11-29 10:43:07 · 1248 阅读 · 0 评论 -
【Unix/Linux编程实践】编写时间服务器(使用Socket)
一.服务端相关系统调用:socket:获得一个套接字,SOCK_STREAM为tcp,最后一个参数protocol指的是内核中网络代码所使用的协议,0代表选择标准的协议。bind:将套接字绑定到(地址,端口号)上listen:开启对套接字的监听,参数sockid为接收请求的socket,参数qsize为允许接入连接的数目accept:从连接请求队列中获得连接信息,创建新的套接字,并返回该套接字的文件原创 2015-12-17 09:42:38 · 1013 阅读 · 0 评论 -
【网络编程】SYN Flood (SYN洪水攻击) 源代码分析
一.原理1、TCP握手协议第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包原创 2016-01-01 22:41:11 · 23507 阅读 · 22 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第七章 Ping程序
第七章 Ping程序1.引言Ping程序用来测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。一般来说,如果不能Ping到某台主机,那么就不能Telnet或者FTP到那台主机(当然,有特殊情况)。反过来,如果不能Telnet到某台主机,那么通常可以用Ping程序来确定问题出在哪里。Ping程序还能测出到这台主机的往返时间,以表明该主机离我们有“多远”。2.原创 2015-12-02 14:05:14 · 1121 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第十七章 TCP:传输控制协议
第十七章 TCP:传输控制协议1.TCP的服务TCP提供了一种面向连接的,可靠的字节流服务。面向连接意味着双方在交换数据之前需要建立一个tcp连接,这跟打电话很类似,需要先拨号振铃,接通后才可以对话。TCP通过下列方式来提供可靠性:• 应用数据被分割成TCP认为最适合发送的数据块。这和UDP完全不同,应用程序产生的数据报长度将保持不变。由TCP传递给IP的信息单位称为报文段或段(segment);•原创 2015-12-19 11:30:49 · 1400 阅读 · 0 评论 -
《TCP/IP详解 卷1:协议》 读书笔记 第四章 ARP:地址解析协议
第四章 ARP:地址解析协议1.引言ARP为IP地址与对应的硬件地址之间提供动态的映射。2.ARP运行过程每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包原创 2015-12-01 19:13:37 · 997 阅读 · 0 评论 -
【C++后台开发面试】网络相关
推荐书籍:《TCP/IP详解》相关读书笔记专栏:http://blog.youkuaiyun.com/column/details/tcp-ip1.html1. TCP vs UDPTCP 是一种面向连接的、可靠的、字节流服务, UDP 无连接、不可靠的数据报服务。1. 连接方面: TCP 面向连接,交换数据之前必须通过三次握手先建立一个 TCP 连接。在一个 TCP 中仅原创 2017-05-12 12:05:10 · 4508 阅读 · 1 评论