接下来,总结传输层的两大协议UDP和TCP. 一.UDP(用户数据报协议) 讲UDP之间,先了解两个概念:有连接和无连接. 有连接:通信之前,通信双方必须建立一条通道: 无连接:不需要建立通道,发送方只管发,接收方收不收得到不关心. 而UDP叫做无连接.不可靠的运输协议.除了提供进程到进程(而不是主机到主机)的通信之外,就没给IP服务添加任何东西.此外,它还完成非常有限的差错检验.说完它的缺点,那它的优点呢?UDP是个非常简单的协议,只有最小的开销.不考虑可靠性,发送的消息又很短时,就可以用UD…
接下来,总结一下网络层的协议,IP,ARP,RARP,ICMP,IGMP.当我们在网络传输的过程中,把分组交付到主机或路由器需要两级地址:物理地址和逻辑地址.而且我们需要能够把物理地址映射成为相应的逻辑地址,反过来的映射也是必要的. 这时候就涉及两个概念:静态映射与动态映射. 静态映射就是创建一个表,将逻辑地址与物理地址关联起来,这个表存储在网络的每一个机器上.可是存在于网络中的机器的物理地址是经常会发生改变的(更换网卡),这样静态映射表就得时常更新,影响网络的性能. 动态映射就是每当机器知道其…
一.简述TCP/IP协议 Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/互联网互联协议,又名网络通信协议.是Internet最基本的协议.TCP/IP定义了电子设备如何连入因特网,以及数据如何在他们之间传输的标准.通俗而言:TCP负责发现传输问题,一有问题就发出信号,要求重新传输,直到所有数据安全.正确的传输到目的地.而IP是给因特网的每一台联网设备规定一个地址. 二.TCP/IP OSI模型 如图所示,根据OSI模型,TC…
从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概述 1.1引言 1.2分层 层次名 功能 备注 应用层 处理特定应用程序细节 Telnet远程登录.FTP文件传输协议.SMTP简单邮件传送协议.SNMP简单网络管理协议 运输层 为两台主机上的应用程序提供端到端的通信 TCP(传输控制协议) 为两台主机提供高可靠性的数据通信 UDP(用户数据报协议…
2013-08-20 17:51:49 第三章 IP:网际协议 3.1 引言 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP和IGMP数据都以IP数据报格式传输.再来看一下图1-4: IP协议提供不可靠.无连接的数据报传送服务: 不可靠(unreliable) 它不能保证IP数据报能成功的到达目的地.IP仅提供最好的传输服务.任何要求的可靠性必须由上层来提供(如TCP) 无连接(connectionless) IP并不维护任何关于后续数据报的状态信息.每个数据报的处理是…
2013-08-20 14:41:01 2.8 最大传输单元MTU MTU,最大传输单元:以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节.这个不同网络对应的传输上限叫做最大传输单元. 分片(fragmentation):把大于MTU的数据报分成若干片,这样每一片都小于MTU. 2.9 路径MTU 路径MTU:两台通信主机路径中的最小MTU.两台主机之间的路径MTU不一定是一个常数,它取决于当时所选则的路由.而选路不一定是对称的(从A到B的路由可能与从B到A的路…
2013-08-17 17:31:49 1.7 分用 分用(Demultiplexing):这是一个过程——当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议上的报文首部.每层协议盒都要去检查报文首部中的协议标识,以确定接受数据的上层协议——换一种思路理解就是,为数据制定一条解析的路线. 1.8 客户-服务器模型 服务的类型: (多为UDP服务器,当然也存在例外)重复型 (TCP服务器)并发型 I1.等待一个客户请求的到来 C1.等待一个客户请求的到来 I2.处理…
第一章 概述 协议栈 应用层 HTTP,FTP   运输层 TCP, UDP 段(Segment) 网络层 IP, ICMP, IGMP 数据报(Datagram) 链路层   帧(Frame) 物理层     应用层关心的是应用程序的细节,而不是数据在网络中的传输活动:下面四层对应用程序一无所知,但它们要处理所有的通信细节. 互联网地址 端口号 周知端口号(Well-Known Ports) 1-255 Unix系统占用端口 256-1023 临时可分配端口 1024-5000 为其他服务预留…
2013-08-27 15:37:42 6.5 ICMP端口不可达差错 端口不可达报文是ICMP差错报文的一种,它是ICMP不可达报文中的一种,以此来看一看ICMP差错报文中所附加的信息.使用UDP来查看它(第11章). UDP的规则之一是,如果收到一份UDP数据报而目的端口与某个正在使用的进程不相符,那么UDP返回一个ICMP不可达报文.可以用TFTP来强制生成一个端口不可达报文(第15章). 下面通过一个实例来讲解整个过程,例子为用TFTP协议向另一台主机的错误端口发送UDP请求(UDP正确…
2013-08-25 13:39:40 第6章 ICMP:Internet控制报文协议 6.1 引言 ICMP经常被认为是IP层的一个组成部分.它传递差错报文以及其他需要注意的信息.ICMP报文同通常被IP层或更高层协议(TCP或UDP)使用.一些ICMP报文把差错报文返回给用户进程.ICMP报文是在IP数据报内部被传输的,如下图: 所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同.下面我们将逐个介绍各种报文格式.类型字段可以有15个不同的值,以描述特定类型的ICMP报文.某些ICM…
2013-08-21 13:56:23 3.3 IP路由选择 1. IP路由选择有两种情况.(1)如果目的主机与源主机直接相连(如点对点链路)或都在一个共享网络上(以太网或令牌环网),那么IP数据报就直接到达目的主机.(2)如果目的主机和源主机不直接相连,则主机把数据报发往一默认的路由器上,由路由器来转发该数据报. 2. IP层既可以配置成路由器的功能,也可以配置成主机的功能.本质上的区别在于主机从不把数据从一个接口转发到另外一个接口,而路由器则要转发数据报.内含路由器功能的主机应该从不转发数据…
2013-08-16 20:07:11 1.3 TCP/IP的分层 这是一个很好的图,要多看!!图上有些细节会在今后的笔记中提到,看不懂不必深究. IP是网络层上的主要协议,同时被TCP和UDP(这两个协议在上一篇读书笔记已有简单的陈述)使用.TCP和UDP的每组数据都通过断系统和每个中间路由器中的IP层在互联网中进行传输. ICMP是IP协议的附属协议.IP层用它来与其他主机或路由器交换错误报文和其他重要信息. IGMP是Internet组管理协议.它用来把一个UDP数据报多播到多个主机. A…
参考:http://blog.chinaunix.net/uid-26275986-id-4109679.html 继续!TCP的流量控制和拥塞控制. TCP相对UDP可靠的地方在于它的拥塞控制.流量控制. 一.流量控制: 如果发送方把数据发送得过快,接收方可能会来不及接收,这就会造成数据的丢失.所谓流量控制就是把发送方的发送速率不要太快,要让接收方来得及接收.利用滑动窗口机制可以很方便的在TCP连接上实现对发送方的流量控制.主要的方式就是返回ACK中会包含自己的接受窗口的大小,并且利用大小来控…
2013-08-27 15:44:52 第7章 Ping程序 7.1 引言 “ping”这个名字来源于声纳定为操作.Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达.该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答. 一般来说,如果不能Ping到某台主机,那么就不能Telnet或者FTP到那台主机.反过来,如果不能Telnet到某太主机,那么通常可以用Ping程序来确定问题出在哪里.Ping程序还能测出到这台主机的往返时间,以表明该主机离我们有“多远”…
2013-08-25 11:32:06 第5章 RARP:逆地址解析协议 5.1 引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站,则需要采用其他方法来获得IP地址. 网络上的每个系统都具有唯一的硬件地址,它是由网络接口生产厂家配置的.无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求(一帧在网络上广播的数据),请求某个主机相应该无盘系统的IP地址(在RARP应答中). 5.2 RARP的分组格式 上图为AR…
2013-08-24 16:03:39 4.6 ARP代理 ARP代理(Proxy ARP):如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求.这样可以欺骗发起ARP请求的发送端,使它误以为路由器就是目的主机,而事实上目的主机是在路由器的“另一边”.路由器的功能相当于目的主机的代理,把分组从其他主机转发给它.注:路由器在默认情况下不转发广播报文. 通过上边的例子,我们来说明下ARP代理的工作原理.首先当子网140.252.1(gemini)上的其…
2013-08-23 20:00:18 第4章 ARP:地址解析协议 4.1 引言 ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议.物理地址就是我们通常说的MAC地址.当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit的以太网地址来确定目的接口的.设备驱动程序从不检验IP数据报中的目的IP地址.地址解析为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层使用的任何类型的地址.ARP为IP地…
2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的命令跟书上显示的格式不太一样.我从网上找了一些ifconfig命令的基本使用教程,粘贴如下. 首先是我自己的一些研究成果,我在自己的ubuntu13.04上运行了 ifconfig -a 得到了下面的结果 raphael@raphael-Aspire-5741G:~$ ifconfig -a eth…
2013-08-19 22:35:57 2.6 PPP:点对点协议 PPP点对点协议修改了SLIP协议中的所有缺陷: 1. 在串联链路上封装IP数据报的方法.PPP即支持数据为8位&无奇偶检验的异步模式(大多数计算机上普遍存在的串行接口).还支持面向比特的同步链接 2. 建立.配置及测试数据链路的链路控制协议(LCP:Link Contrl Protocol).它允许通讯双方进行协商,以确定不同的选项 3. 针对不同网络层协议的网络控制协议(NCP:Network Control Protoco…
2013-08-18 16:31:17 第2章 链路层 2.1 引言 链路层主要有三个目的: 为IP模块发送和接受IP数据报 为ARP模块发送ARP请求和接受ARP应答 为RARP发送RARP请求和接受RARP应答 TCP/IP支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网.令牌环网.FDDI(光线分布式数据接口)及RS-232串行线路等. 2.2 以太网和IEEE 802封装   以太网 IEEE 802 简介 这个术语一般是指数字设备公司.英特尔和Xerox公司在1982年联合…
2013-08-24 14:22:46 4.5 ARP举例 首先要介绍一些tcpdump这个强大的Linux命令,它不但可以分析封包的流向,连封包的内容也可以监听,如果数据段没有加过密我们就可以做一些很好玩的事情了.具体的使用方法请大家man tcpdump. sudo tcpdump -i wlan0 -nn 这个命令的使用要拥有root权限,上边的命令可以监听wlan0接口. 4.5.1 一般的例子 telnet svr4 discard 作者在ARP告诉缓存为空的前提下,使用了telnet…
2013-08-22 12:42:26 3.4 子网寻址 子网编码:不是把IP地址看成由单纯的网络号和主机号组成,我们把主机号再分成子网号和主机号.这样做是因为,A.B类地址为主机号分配了太多的空间,可分别容纳的主机数为224-2和216-2(由于全0和全1的主机号都是无效的,所以我们把总数减2).但是这么多主机肯定用不完,所以我们把这个蛋糕再切小一点.这种新的分配方法由管理员来定. 上图是一个B类网络地址,原本16位主机号被分成了8位子网号和8位主机号,于是就有了254个子网和254台主机.但…
2013-08-26 22:50:54 6.4 ICMP时间戳请求与应答 ICMP时间戳请求允许系统向另一个系统查询当前的时间.返回的建议值是自午夜开始计算的毫秒数(协调的统一时间,Coordinated Universal Time, UTC——早期手册上说这是格林尼治).这种ICMP报文的好处是提供毫秒级的分辨率,而利用其他方法从别的主机获取的时间(如Unix的rdate命令)只能提供秒级的分辨率.同样这也有意个缺陷,就是不知道日期. ICMP时间戳请求和应答报文格式如上图,请求端填写发起时…
<TCP/IP详解卷1:协议>读书笔记 - QingLiXueShi - 博客园https://www.cnblogs.com/mengwang024/p/4425834.html <TCP/IP详解 卷1:协议>在线阅读版(全网唯一) - 即时通讯开发者社区!http://www.52im.net/topic-tcpipvol1.html TCP-IP详解(卷一.二.三)中文合集高清带目录下载: 链接:https://pan.baidu.com/s/18r-9syY1RZkZO5…
第12章 泛型程序设计 本章内容: * 为什么要使用泛型程序设计 * 定义简单泛型类 * 泛型方法 * 类型变量的限定 * 泛型代码和虚拟机 * 约束与局限性 * 泛型类型的继承规则 * 通配符类型 * 反射和泛型 使用泛型机制编写的程序代码要比那些杂乱地使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性. 12.1 为什么要使用泛型程序设计 泛型程序设计(Generic programming)意味着编写的代码可以被很多不同类型的对象所重用. 12.2 定义简单泛型类…
第7章 图形程序设计 本章内容: * Swing概述 * 创建框架 * 框架定位 * 在组件中显示信息 * 处理2D图形 * 使用颜色 * 文本使用特殊字体 * 显示图像 本章主要讲述如何编写定义屏幕上的窗口大小和位置的程序:如何在窗口中采用多种字体显示文本:如何显示图像等. 7.1 Swing概述 在Java 1.0刚刚出现的时候,包含了一个用于基本GUI程序设计的类库,Sun将它称为抽象窗口工具箱(Abstract Window Toolkit,AWT).基本AWT库采用将处理用户界面元素的…
1. 协议的概念 (1)计算机网络中实现通信必须有一些约定.如对速率.传输代码.代码结构.传输控制步骤和出错控制等约定,这些约定即被称为通信协议 (2)在两个节点之间要成功地进行通信,两个节点之间必须约定使用共同的“语言”,这些被通信各方共同遵守的约定.语言.规则被称为协议 (3)在Internet中,最为通用的网络协议是TCP/IP协议. 2. 网络分层模型 (1)应用层:提供用户接口,特指能够发起网络通信的应用程序,如客户端程序.QQ.MSN.浏览器等,服务器程序有Web服务器.邮件服务器.…
TCP/IP协议族学习笔记: 一.基础概念: (1)TCP(Transmission Control Protocol) 传输控制协议. (2)IP(Internet Protocol)网际协议.IP是一种不可靠的无连接数据协议.一种尽最大努力交付的服务. (3)ISP(Internet Service Provider)因特网服务提供者. (4)ISO 国际标准化组织. (5)IEEE 电气和电子project学会. (6)W3C 万维网联盟. (7) OMA 开放移动联盟. (8)RFC(R…
转自: http://www.zhihu.com/question/20621558   作者:杨华链接:http://www.zhihu.com/question/20621558/answer/15661190来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作为自己的专业知识领域,我决定更新本答案.版权保留,不得商用,转载必须在开始位置注明作者.出处.凭借印象完成,错漏地方,还请大家指正.----视频相关的协议有很多,不同的公司,甚至有自己的协议标准.本文尽量…
常见的网络拓扑 两台主机通信的过程:应用进程产生消息,经由主机的 TCP/IP 协议栈发送到局域网(LAN),最后经过广域网(目前最大的广域网的因特网)中的网络设备(路由器)传给目的主机所在的局域网(LAN),最后经过局域网(LAN)将报文传送个目的主机,经由主机 TCP/IP 协议栈处理,将消息递交给目的应用程序.网络拓扑如下: 图中路由器是网络中的架构设备,是因特网的组成部分. OSI和TCP/IP分层模型 OSI (Open System Interconnection)模型是国际化标准组…