`
codepeak
  • 浏览: 31876 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
IGMP用于支持主机和路由进行多播,它让一个物理网络上的所有系统知道主机当前所在的多播组.多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。   IGMP被当做IP层的一部分(和ICMP一样)。IGMP报文通过IP数据 ...
一. 广播和多播仅应用于UDP,它们对需要将报文同时传送到多个接收者的应用来说十分重要。TCP是一个面向连接的协议,它意味着分别位于两主机(由两个IP地址确定)内的两个进程(由端口号确定)间存在一条连接。   链路层也有一个“广播”,但是不是这里的这个广播。   二. 主机对由信道传送过来的帧的处理过滤过程: 首先,网卡查看由信道传送过来的帧,确定是否接收该帧,若接收后就将它传往设备驱动程序。通常网卡仅接收那些目的地址为网卡物理地址或广播地址的帧(注意这里的地址是MAC地址),目前多数网卡也能接收目的地址为多播地址或者子网多播地址的帧。对于以太网,当地址中最高字节的最低位设置为1时 ...
一. 简介 1. UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份代发送的IP数据报。   2. UDP不提供可靠性   3. 应用程序必须关系IP数据报的长度。如果它超过网络的MTU,那么就要对IP数据报进行分片。 发送ICMP不可达差错的一种情况是:当路由器收到一份需要分片的数据报,而在IP首部又设置了不分片(DF)的标志比特。   二. UDP首部 1. 端口号表示发送和接收进程。注意,由于IP层会区分TCP和UDP,所以TCP端口号和UDP端口号是独立的。(尽管如此,如果TCP和UDP同时提供某种知名服务,两个协议 ...
一. 内部网关协议IGP(Interior Gateway Protocol)或域内选路协议(intradomain routing protocol): 每个自治系统内部的各个路由之间的选路协议。 常见的有RIP、OSPF   二. RIP(Routing Information Protocol:选路信息协议)   1.RIP报文包含在UDP数据报 ...
  ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或者是更高层协议(TCP,UDP等)使用。一些ICMP报文把差错报文返回给用户进程。   ICMP是在IP数据报中被传输的。   ICMP报文的类型由报文中的类型字段和代码字段共同决定。   当发送一份ICMP差错报文时,报文始终包含IP的首部和产生ICMP差错报文的IP数据报的前八个字节。这样,接收ICMP报文的模块就会把它和某个特定的协议(根据IP数据报首部中的协议字段来判断)和用户进程(根据包含在IP数据报前八个字节中的TCP或UDP报文首部中的TCP或UDP端口号 ...
ARP基本过程: 1) 主机发送一份称作ARP请求的以太网数据帧给以太网上的每一个主机。这个过程称作广播(注意这是数据链路层的广播,不是网络层的广播)。ARP请求包含目的主机的IP地址。这个动作的意思是“如果你是这个IP地址的拥有者,请回答你的硬件地址(MAC)”。 2) 目的主机的ARP层收到这份广播报文后,识别出这是发送端在询问它的IP地址,于是发送一个ARP应答(单播)。这个ARP应答包含IP地址及对应的硬件地址。 3) 收到ARP应答后,使ARP进行请求—应答交换的IP数据报现在就可以传送了。 4) 发送IP数据报到目的主机。   网络接口有一个硬件地址(MAC地址,48位 ...
IP:网际协议 从概念上说,IP路由是非常简单的,特别对于主机来说。如果目的主机和源主机直接相连(如点对点链路)或者都在同一个共享网络上(以太网或令牌环网),那么IP数据报就直接送到目的主机上。否则,主机把数据报发往一个默认的路由上,由路由来转发该数据报。大多数主机都是采用这种简单的路由机制。   IP层既可以配置成路由器的功能,也可以配置成主机的功能。本质的区别在于主机从不把数据从一个接口转发到另一个接口,而路由器则要转发数据报。   IP层在内存中有一个路由表,当收到(上层的)一份数据报并进行发送时,它都要对该表搜索一次。   当数据报来自某个网络接口时,IP首先检查目 ...
C++同时提供了四种新的强制转型形式(通常称为新的或C++风格的强制转型): const_cast(expression) dynamic_cast(expression) reinterpret_cast(expression) static_cast(expression) 每一种适用于特定的目的。   dynamic_cast主要用于执行“安全的 ...
-- C++中拷贝构造函数被调用的三种情形 1) 一个对象以值传递的方式传入函数体; 2) 一个对象以值传递的方式从函数返回; 3) 一个对象需要通过另外一个对象进行初始化; 对于前两种情况,如果不使用拷贝构造函数,就会导致一个指针指向已经被删除的内存空间。 对于第三种情况,初始化和赋值操作的不同含义是构造函数调用的原因。事实上,拷贝构造函数是由普通的构造函数和赋值操作符共同实现的。   拷贝构造函数不可以改变它所引用的对象,原因如下: 当一个对象以值传递的方式传一个函数的时候,拷贝构造函数自动地被调用来生成函数中的对象。如果一个对象时被传入自己的拷贝构造函数。如果 ...
-- 析构函数可以为virtual类型,而构造函数则不能。构造函数为什么不能为virtual类型呢? 虚函数采用一种虚调用的办法。虚调用是一种可以在只有部分信息的情况下工作的机制,特别允许我们调用一个只知道接口而不知道其准确对象类型的函数。但是如果要创建一个对象,就必须要知道对象的准确类型,因此构造函数不能为虚函数。   -- 如果虚函数是非常有效的,我们是否可以把每个函数都声明为虚函数? 不行,这是因为虚函数是有代价的:由于每个虚函数的对象都必须维护一个v表,因此在使用虚函数的时候都会产生一个系统开销。如果仅是一个很小的类,且不想派生其他的类,那么根本没有必要使用虚函数。
1. sizeof的概念: sizeof是C的一种单目运算符,它以字节形式给出了它的操作数的存储大小。操作数可以是一个表达式或者括起来的数据类型。操作数的存储大小由操作数的类型决定。 2. sizeof的使用方法: sizeof用于变量可以不带括号,也可以带括号,但是用于类型必须带括号;sizeof不能用于函数类型,不完全类型和位字段。不完全类型是指具有位置存储大小的类型,如未知大小的数组类型,未知内容的结构或联合,void类型等。 3. sizeof和strlen的比较: 1) sizeof是运算符,strle ...

scanf

scanf
链路层主要有三个目的: (1)为IP模块发送和接受IP数据。 (2)为ARP模块发送ARP请求和接受ARP应答 (3)为RARP发送和接受RARP请求和应答 以太网是TCP/IP采用的主要的局域网技术,它采用CSMA/CD的媒体接入方法,其意思是带冲突检测的载波侦听多路接入(Carrier Sense,Multiple Access with Collision Detection).它的速率为10Mb/s,地址为48bit。   IEEE(电子电气工程师协会)802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,8 ...
定义一个变量,就是分配一块存储空间并给它命名; 给一个变量赋值,就是把一个值保存到这块存储空间中。 变量的定义和赋值也可以一步完成,这称为变量的初始化(Initialization) 初始化是一种特殊的声明,而不是一种赋值语句!
TTL(time to live): 目的是防止数据报在选路时无休止的在网络中流动。 当路由器收到一份IP数据报,如果其TTL字段是0或1,则路由器不转发该数据报(接收到这种数据的主机可以将他交给应用程序,因为不需要转发数据报),相反,路由器将丢弃该数据报,并给信源机发一份ICMP“超时”信息。Traceroute程序的关键在于这份ICMP信息的IP报文的信源地址是该路由器的IP地址。   Traceroute的操作过程: 1) 发送一份TTL字段为1的数据报(UDP数据报,选择一个不可能的端口号)给目的主机。处理这份数据报的第一个路由器将TTL值减一,丢弃该数据报,并发回一份超时I ...
Global site tag (gtag.js) - Google Analytics