通过IP完整的路由是路由机制,它通过搜索路由表来确定从哪个分组被发送的接口执行此,它是不一样的路由策略,路由策略 它是一组规则,这些规则可以被用来确定哪些路由编程到路由表,Net/3内核实现的路由机制,路由守护程序,通常如 routed要么gated,实现选路策略. 1.路由表结构 下图是某主机上的路由表. 对于Flags列须要简单说明下. G  该路由通向一个网关(路由器),这样的路由被称为间接路由.假设没有设置本标志,则表明路由的目的地与本机直接相连, 称为直接路由. H  该路由通往一台主…
Net/3于ARP和实施密切与路由表相关联的,下图显示了我们的叙述性说明ARP使用样品. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVE9ERDkxMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt=""> 以下,我们简要概述图中的有关要点. 1.llinfo_arp结构的双向链表包括了每个ARP已知的硬件…
1.接口和地址 如下面的图全部本文中讨论的接口和地址的结构看一个示例配置: 上图中显示了我们三个接口样例:以太网接口,SLIP接口和环回接口. 它们都有一个链路层地址作为地址列表中的第一个结点. 显示的以太网接口有两个IP地址.SLIP接口有一个IP地址,而且环回接口有一个IP地址和一个OSI地址. 全部的IP地址都被链接到in_ifaddr列表中,而且全部链路层地址能从ifnet_addrs数组訪问. 后面的部分讨论上图的数据结构以及用来查看和改动这些结构的IP专用ioctl命令. 2.soc…
网络的基础知识 一.协议 1.简介: 在计算机网络与信息通信领域里,人们经常提及“协议”一词.互联网中常用的具有代表性的协议有IP.TCP.HTTP等.而LAN(局域网)中常用的协议有IPX/SPX”等. 下面通过通俗一点的方式来解释一下协议: 有三个人A.B.C.A只会说汉语.B只会说英语.而C既会说汉语又会说英语.现在A与B要聊天,他们之间该如何沟通呢?若A与C要聊天,又会怎样?这时如果我们: 将汉语和英语当作“协议” 将聊天当作“通信” 将说话的内容当作“数据” 那么A和B之间由于采用的是…
网络的基础知识 一.协议 1.简介: 在计算机网络与信息通信领域里,人们经常提及“协议”一词.互联网中常用的具有代表性的协议有IP.TCP.HTTP等.而LAN(局域网)中常用的协议有IPX/SPX”等. 下面通过通俗一点的方式来解释一下协议: 有三个人A.B.C.A只会说汉语.B只会说英语.而C既会说汉语又会说英语.现在A与B要聊天,他们之间该如何沟通呢?若A与C要聊天,又会怎样?这时如果我们: 将汉语和英语当作“协议” 将聊天当作“通信” 将说话的内容当作“数据” 那么A和B之间由于采用的是…
简介: // OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 // 3. 会话层 // 4. 传输层 // 5. 网络层 // 6. 数据链接层 // 7. 物理层 // TCP/IP, 由美国国防部制定 // 1. 应用层, HTTP, FTP, SMTP, DNS // 2. 传输层, TCP, UDP // 3. 网络层, IP // 4. 链路层, ARP, RARP // HTTP(短连接) // 1. 建立链接, 三次握手 // 2…
1.该规范的发展概况                                    原始版本1997年9月3日作为公共评论的草案.     再版1999年3月29日,即修订版1.0.     没有大的技术改动,仅作了补充说明.增加了附录A和B作为对一些常用执行问题的回应. 该Modbus/TCP规范在万维网上公开发行.它表明开发者的意愿是把它作为工业自动化领域具有互用性的标准. 既然MODBUS和MODBUS/TCP作为事实上的“实际”标准,而且很多生产商已经实现了它的功能,此规范主要是…
1.广播和多播都只适用于UDP,因为TCP是面向连接的,需要将两台主机的两个进程绑定在一起,即IP地址和端口对 2.通常,网卡能看到网络中的每一个数据帧,但是往往它只接受目的地址与自己MAC地址相同的或者为广播地址的帧(现在有些也能接收多播地址),然后将它传输给设备驱动 3.广播的问题在于它给那些对广播数据不感兴趣的主机增加了处理负担(需要通过网卡,驱动,IP等一层层的判断),而多播的出现恰好解决了这些问题.通常一台主机会被指定加入一个或多个多播组,网卡也会被告知自己属于哪几个多播组,于是只有属…
1.一个物理层的网络,例如以太网,可以同时被多个不同的网络层所使用.例如网络中的一些主机使用TCP/IP协议,其他主机使用其他的网络协议. 2.设备驱动软件从不关心IP数据报中的目的IP地址.这也是为什么要有ARP的原因.既然局域网中能够采用广播的方式传递数据,那为什么不把每个包都进行广播,然后让目的主机核对IP地址呢?原因就在于物理层首先需要核对数据帧中的目的物理地址是否与自己的地址相匹配,如果不匹配就可能被丢弃了,网络层都没有机会进行IP地址的匹配.而且每个包都使用广播的方式,让每台主机都到…
1.Delayed Acknowledgements:TCP通常不会在收到数据之后立即返回一个ACK,而是会有一个延时,希望能ACK报文段中带上一些数据,通常这个延时为200ms 2.Nagle Algorithm:在TCP连接中,只能有一个小的报文段未被确认.即TCP在发送了一个小的报文段之后,会将之后的小数据都收集起来,直到之前的小报文段得到确认,才将收集到的小数据打包成一个报文段发出.这样做的减少了网络中小报文段的数量,减轻了网络的阻塞,提高了传输的效率 3.当一个包到达以后,它首先被设备…
1.在每个TCP报文段中,头部的flag字段里的SYN,FIN,RST,PSH可以多个有效,并没有限定为必须只有一个 2.TCP连接建立过程: 1)客户端发送一个SYN报文段,其中包含了客户端要传送的初始字节序列J 2)服务器端收到上述报文段,并且返回一个报文段,其中包含了服务器端的SYN序号K,以及对客户端SYN序号的响应信号ACK,J+1,其实ACK确认序列号指的是服务器端希望从客户端得到的下一个字节流的序号,由于SYN消耗了一个序号,因此返回的ACK确认序号为J+1 3)同样,接收到从服务…
1.DNS是一个分布式数据库系统用来提供主机名和IP地址之间的映射,之所以称为分布式原因的原因是因特网上没有一台主机知道这类映射的全部信息,当然也不可能做到,因为数据量实在太大了 2.应用程序通过一个叫resolver的程序(也可以认为是DNS的客户端)调用DNS服务,通常在UNIX系统下由gethostbyname(由主机名得到IP地址)和gethostbyaddr(由IP地址得到主机名)这两个库函数实现 3.不是每个name server都知道如何和其他所有的name sever通信的,但它…
1.进程每产生一个UDP数据报就由一个IP数据报进行发送,而在TCP中,一个IP数据报并不与每个TCP报文段一一对应 2.UDP的端口号和TCP的端口号是相互独立的,对那些众所周知的端口号TCP和UDP往往是相同的,仅仅只是为了方便而已,并不是必须的 3.UDP checksum:对于检验和字段,TCP是必须的,而UDP是可选的,至于计算方法和IP检验和的计算方法相同,并且它校验的是整个UDP数据报而非仅仅只是一个头部.因此整个UDP数据报的长度必须是偶数个字节的,因为校验和字段的长度是16位.…
1.以下条件只要有一个不满足,则需要使用动态路由协议:1)网络规模小,2)只有一个连接点用于连接其他网络,3)没有冗余的路由器(一般用作备份) 2.所谓动态路由就是各个路由器与自己相邻的路由器交换各自连接的网络的信息,从而使自身的路由表一直处于最新状态,而不同的交流更新方式,称为不同的动态路由协议 3.我们将整个互联网分为许多个自治系统(autonomous system,AS),每个自治系统里的路由器使用同一个动态路由协议,称为IGP(interior gateway protocol)而两个…
1.Network byte order:数据在网络中的传输是按照大端模式来的,即如果需要传递一个四个字节的int变量,先传递最高的字节,然后依次类推.因此无论主机存储数据用的是大端模式还是小端模式,在传输之前都必须将其转换为大端. 2.IP数据报报头的检验和字段只对报头进行检验.因为通常IP数据报的数据字段中包含的TCP,UDP,ICMP,IGMP数据头部都包含对自身每个比特的校验,所以并不需要在IP数据报报头中进行重复校验. 3.IP路由:当IP层收到一个数据报之后,首先1)检验目的IP地址…
1.persist timer:当接收方建议的窗口大小为0时,发送方就会停止发送,直到接收方有缓存空间时再用一个窗口值非零的ACK提示发送方可以继续发送.但是这个称为window update的ACK报文段很可能会发生丢失,这个时候就不可避免地发送了死锁.因此,发送方需要设置一个persist timer,每隔一段时间就向接收方发送一个询问报文window probes,当接收方可以接收数据时就重新开始发送 2.通常发送方都会包含一个字节数据的报文段作为window probes,该字节的数据其…
1.TCP提供的是可靠传输,它通过接收方发送一个确认报文ACK来提供这种可靠性.但是数据报文和确认报文都可能会丢失,所以TCP会给发出的数据报文设置一个时间,如果超时了则进行重传 2.Karn's Algorithm:当发生了一次超时重传之后,我们不能根据发回的对于重传数据的ACK更新RTT和RTO(retransmission timeout 重传时间)的值.因为我们不知道这个ACK是对于第一次传送的数据的确认(可能是第一次发送的数据在网络中有延时或者是它对应的ACK报文有延时)还是对重传数据…
1.主机中的路由表只能被守护进程routing daemon或者“redirect”类型的ICMP报文所更新. 2.在根据路由表进行路由选择时,判断的优先级从高到低依次为1)表中存在与目的IP完全匹配的表项2)表中存在与目的地址的网络地址匹配的表项3)表中存在default,即默认路由表项.经历上述三个步骤仍未匹配成功的,则丢弃该数据报. 3.netstat指令用于查看主机的路由表,如下图所示: 其中Gateway的“0.0.0.0”表示目的主机与当前主机在同一网段中,可直接到达,无需网关进行转…
1.ping是用于测试对方主机是否可达的命令,其实本质上就是echo类型的ICMP报文.同时,ping还能用于计算RTT(round-trip time),即两台主机间的往返时延. 2.随着网络安全意识的增加,路由器的访问权限控制和防火墙等网络安全措施的使用,使得主机的可达性不仅仅取决于网络层的状况,而且也与协议的类型和端口号等等其他因素有关,所以现在ping指令的失败并不能代表目的主机就是不可达的. 3.IP record route:许多版本的ping命令在添加了-R的选项后,能够让数据报经…
本篇主干内容是TCP/IP网络编程1-9章学习笔记 1. linux文件描述符 描述符从3开始以由小到大的顺序编号,0,1,2,分配给标准I/O用作标准输入.标准输出和标准错误. 2. 协议族与套接字类型(socket函数第一.二个参数) domain常用 : IPv4协议族 PF_INET: type: SOCK_STREAM(面向连接,TCP), SOCK_DRGAM(面向消息, UDP) 选用TCP时,第三个参数可以为0. 3.地址族与数据序列 4字节IP地址分类: A类地址: 首字节范围…
非常多年前买过<TCP/IP具体解释>3卷,当时可能根本没看,也可能是看了又忘了,没有留下什么印象,当时的书也当做废品卖了. 卖书时的感觉貌似是.买了太多的书,基本都没看,搬家搬来搬去的麻烦,不如从网上看些资料来的直接.三箱子书都卖了.有非常多书都是当年颇有名的,书的范围也非常广. 单说语言层面,事实上当时没有理解语言的精髓,甚至把开发工具的熟练使用当做学会语言.如今还记得的,买过的有各种<开发者指南>:Delphi.C++Builder.VB.ASP.JBuilder.C#:如今…
接口层包含在本地网上发送和接收分组的硬件与软件. 我们用设备驱动程序来表示与硬件及网络接口通信的软件,网络接口是指在一个特定网络上硬件与设备驱动器之间的接口. Net/3接口层试图在网络协议和连接到一个系统的网络设备的驱动器间提供一个与硬件无关的编程接口.这个接口层为全部的 设备提供下面支持. 1.一套精心定义的接口函数. 2.一套标准的统计与控制标志. 3.一个与设备无关的存储协议地址的方法. 4.一个标准的输出分组的排队方法. 这个不要求接口层提供可靠地分组传输,仅须要提供最大努力的服务.…
五 Wireless LANs(Wi-Fi) 现在很流行的一种接入互联网的方式就是Wi-Fi了.我们用的ipad.手机.笔记本电脑等等都能够用这样的方式接入互联网,很方便灵活.一个典型的Wi-Fi网络例如以下图所看到的,一些基本概念大致了解. 1. 802.11标准帧格式 802.11标准规定了Wi-Fi帧格式,例如以下图所看到的,当然,并非每一种类型的帧都具备全部的部分. 一開始的preamble是用来同步的.它依靠于使用的802.11版本号.PLCP提供相应的物理层的一些信息. 我们姑且觉得…
  TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样.计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用.只有把它们联合起来,电脑才会发挥出它最大的潜力.于是人们就想方设法的用电线把电脑连接到了一起. 但是简单的连到一起是远远不够的,就好像语言不同的两个人互相见了面,完全不能交流信息.因而他们需要…
TCP/IP协议学习之实例ping命令学习笔记(一) 一. 目的为了让网络协议学习更有效果,在真实网络上进行ping命令前相关知识的学习,暂时不管DNS,在内网中,进行2台主机间的ping命令的整个详细过程的深入研究.包括的知识点有:ping,ICMP,IP,协议系统,ARP.包含的章节有第1,3,4,6,7章. 二. 实践环境1. 网络环境2. 协议分析工具Ethereal工具.在本机上安装并进行抓包观察.三. 工具设置由于Ethereal工具在进行网络监视时,会抓取来自其他机器的数据包,为了…
1.简介 TCP/IP协议并非单指TCP协议.IP协议,它是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议.ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组(是一个协议集合),大家叫的时候方便说,所以统称为TCP/IP. 2.整体构架 TCP/IP协议并不完全符合OSI的七层参考模型.传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务.该模型的目的是使各种硬…
TCP/IP详解学习笔记   这位仁兄写得太好了   TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/204448.aspx TCP/IP详解学习笔记(13)-TCP坚持定时器,TCP保活定时器 TCP/IP详解学习笔记(12)-TCP的超时与重传TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流 TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运…
TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统路由表. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface192.168.11.0    *               255.…
  TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/204448.aspx TCP/IP详解学习笔记(13)-TCP坚持定时器,TCP保活定时器 TCP/IP详解学习笔记(12)-TCP的超时与重传 TCP/IP详解学习笔记(11)-TCP交互数据流,成块数据流 TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/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…