重复型 | 并发型 |
---|---|
等待一个客户请求的到来 | 等待一个客户请求的到来 |
处理客户请求 | 启动一个新的服务器来处理这个客户的请求 |
发送响应给发送请求的客户 | 处理结束后,终止这个新服务器 |
UDP | TCP |
RIP | DNS | BOOTP服务器 | BOOTP客户 | TFTP | FTP数据连接 | FTP控制连接 | Telnet | SNMP管理进程 | SNMP代理进程 |
---|---|---|---|---|---|---|---|---|---|
520 | 53 | 67 | 68 | 69 | 23 | 20 | 21 | 161 | 162 |
netstat --help //得到使用说明. 没有可以看MTU的呀??
netstat -a //所有接口
netsh interface ip show interface //看MTU
下图是TOS字段推荐值,最后一列中给出的是十六进制值,因为这就是在后面将要看到的tcpdump命令输出
当收到一份数据报并进行发送时,它都要对路由表搜索一次。IP路由选择匹配过程目的IP地址-目的网络号-默认表项。IP路由选择是通过逐跳来实现的。数据报在各站的传输过程中目的 IP地址始终不变,但是封装和目的链路层地址在每一站都可以改变。
7. 主机和路由器的区别:主机不会把数据报从一个接口转发到另一个接口,路由器要转发数据报。
8. 路由表:包含目的IP、下一跳IP、5 bit标志、本地接口的IP地址、指向本地接口的指针。
使用netstat -rn查看
路由器操作 | 启动时不定期在所有广播或多播传送接口上发送通告报文;监听来自主机的请求报文,并发送路由器通告报文以响应;某个接口被关闭时,路由器在该接口上发送最后一份通告报文,生命周期设0;默认路由器会每隔10分钟发送通告报文,生命周期是30分钟;系统管理员为每个路由器设置优先等级 |
---|---|
主机操作 | 引导期间一般发送三份路由器请求报文,每三秒钟发送一次;监听来自相邻路由器的请求报文 |
内部网关协议IGP | 外部网关协议EGP |
---|---|
一个自治系统中各个路由器 | 不同自治系统之间的路由器 |
选路信息协议RIP、开放最短路径优先OSPF | EGP、边界网关协议BGP |
残桩自治系统(stub AS) | 多接口自治系统(multihomed AS) | 转送自治系统(transit AS) |
---|---|---|
与其他自治系统只有单个连接,只有本地流量。 | 与其他自治系统有多个连接,但拒绝传送通过流量 | 与其他自治系统有多个连接,可以传送本地流量和通过流量 |
EGP | EGP | BGP |
RFC1247
RFC1267、RFC1268
是一个距离向量协议,不过BGP列举了到每个目的地址的路由,避免了一些问题。使用BGP的一个目的是减少通过流量。两个运行BGP的系统 之间建立一条TCP连接,然后交换整个BGP路由表,定期发送keepalive报文给其邻站来检测TCP连接对端的链路或主机失败。BGP允许使用基于策略的选路。使用TCP。
RFC1518、RFC1519
防止Internet路由表膨胀的方法,它也称为超网( supernetting)。是采用一种分配多个IP地址的方式,使其能够将路由表中的许多表项总和(summarization)成更少的数目。最佳匹配总是最长的匹配。
netstat -s
单播 | 以太网帧仅发往单个目的主机,目的地址指明单个接收接口 |
---|---|
广播 | 一个主机要向网上的所有其他主机发送帧 |
多播 | 帧仅传送给属于多播组的 多个主机 |
受限的广播 | 指向网络的广播 | 指向子网的广播 | 指向所有子网的广播 | |
---|---|---|---|---|
地址 | 255.255.255.255 | 主机号为全 1的地址 | 主机号为全1且有特定子网号的地址 | 子网号及主机号为全1 |
要求 | 在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报 | 一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择 | 需要了解子网的掩码 | 需要了解目的网络的子网掩码 |
受限的广播通常只在系统初始启动时才会用到。
RFC 922要求将一个指向所有子网的广播传送给所有子网,但当前的路由器没有这么做。更好的方式是使用多播而不是对所有子网的广播。
224.0.0.1 | 224.0.0.2 | 224.0.2.2 | 224.0.0.9 | 224.0.1.2 |
---|---|---|---|---|
该子网内的所有系统组 | 该子网内的所有路由器 组 | 网络时间协议NTP | RIP-2 | SGI公司的dogfight应用 |
RFC793
左下角4个状态放在一个虚 线框内,并标为“主动关闭”。其他两个状态也用虚线框住,并标为“被动关闭”。 执行被动关闭(进入LISTEN),收到一个SYN,发送一个带ACK的SYN(进入SYN_RCVD), 然后收到一个RST,而不是一个ACK,便又回到LISTEN状态并等待另一个连接请求的到来。
一个报文 段发往基准的连接(由目的 I P地址和目的端口号以及源 I P地址和源端口号指明的连接)出现错误,TCP都会发出一个复位报文段
两个应用程序同时彼此执行主动打开,每一方 必须发送一个SYN,且这些SYN必须传递给对方。仅建立一条连接而不是两条连接。交换 4个报文段。每一端既是客户又是服务器。
RFC793,RFC1323
每个选项的开始是1字节kind字段,长度是指总长度,包括kind字节和len字节。
2. 窗口大小:4.3BSD为4096个字节。插口API允许进程设置发送和接收缓存的大小。
3. PUSH标志:发送方使用该标志通知接收方将所收到的数据全部提交给接收进程。
4. 慢启动:发送方和接收方之间存在多个路由器和速率较慢的链路时,发送方将拥塞窗口初始化为1,每收到一个ACK,拥塞窗口就增加一个报文段。发送方取拥塞窗口与通告窗口中的最小值作为发送上限。指数增加。
5. 成块数据的吞吐量:通道的容量称为时延带宽积capacity(bit)=bandwidth(b/s)×round-trip time (s) 从大流量到小流量管道会发生拥塞,再回到大流量,分组间隔还是与最慢链路一致。
6. 紧急方式:使一端可以告诉另一端有些具有某种方式的 “紧急数据”已经放置在普通的数据流中。只要从接收方当前读取位置到紧急数据指针之间有 数据存在,就认为应用程序处于“紧急方式”。最常见的例子是Telnet和Rlogin。
报文格式如图。共同体字段是一个字符串。这是管理进程和代理进程之间的口令,是明文格式。差错索引字段是一个整数偏移量,指明当有差错发生 时,差错发生在哪个参数。
管理信息结构:SNMP有特殊的数据结构,包括整型、字节、ASCII码、空、IP地址、物理地址、时间计数器、序列号、序列向量等。
对象标识符:是一种数据类型,它指明一种“授权”命名的对象。是一个整数序列,树形结构,从顶部开始。
管理信息库:MIB所有代理进程包含的、并且能够被管理进程进行查询和设置的信息的集合。划分为多个组,UDP组、system组、interface组、at组、ip组、icmp组、tcp组。
Case图真实地描述了一个给出的MIB组中变量之间的相互关系。如图。
实例标识:对MIB的每个变量进行标识。简单变量附加“ . 0”,表格指明一个以上的索引。MIB表格是根据其对象标识按照字典的顺序进行排序的。
首先从IP路由表中取到 SLIP连接(140.252.1.29)的接口号(ipRouteIfIndex),然后就可以用这个数值进入接口表并且取得想要的SLIP连接的MTU。
在正式的SNMP规范中都是采用ASN.1(Abstract Syntax Notation 1)语法,且在SNMP报文中比特的编码采用BER。
SNMPv2:RFC1441 定义了新的分组类型和MIB,提供了鉴权和加密,安全性大有提高。
应用进程的启动:客户进程给服务器进程发送4个字符串,包括用户登录进客户进程主机 的登录名和登录服务器进程端主机的登录名,以及用户终端类型名。服务进程返回一字节0。服务器进程可以选择是否要求用户输入口令。通常可以在服务器进程的主目录(home directory)下生成一个文件,记录主机名和用户名,文件里有的用户不用输入口令。输入的口令将以明文的形式发送到服务器进程。服务器进程通常要给客户进程发送请求,询问终端的窗口大小。
流量控制:流量控制是由Rlogin的客户进程完成的。客户进程能够识别用户键入的STOP和START的ASCII字符(Control_S和Control_Q),并且终止或启动终端的输出。
窗口大小:窗口大小的变化发生在客户端,而运行在服务器端的应用程序需要知道窗口大小变化。
服务器到客户的命令:服务器要给客户发送命令时,服务器就进入紧急方式,并且把命令放在紧急数据的最后一个字节中。紧急方式的原因是第一个命令(“清仓输出”)需要立即发送给客户。服务器到客户的输出被流量控制所终止的情况经常发生,客户到服务器的数据流很少被流量控制 所终止。
客户到服务器的命令:只有一个,将当前窗口大小发送给服务器。在两个字节的0xff后面紧跟着发送4个1bit长数据说明窗口大小。
客户的转义符:有些时候,我 们并不需要把键入的信息传输到服务器,而是要和Rlogin客户进程直接通信,开头键入代字符(tilde)“~”,紧跟着四个字符之一,以一个句号结束客户进程,以文件结束符(通常是C o n t r o l _ D)结束客户进程,以任务控制挂起符(通常是C o n t r o l _ Z)挂起客户进程,以任务控制延迟挂起符(通常是 C o n t r o l _ Y)来挂起仅仅是客户进程的输入。
3个字节:一个IAC字节,接着一个字节是WILL, DO, WONT和DONT这四者之一,最后一个ID字节指明激活或禁止选项。 Telnet协议的大部分内容是对称的。
访问的是一个本地文件还是一个NFS文件对于客户来说是透明的。NFS主要使用UDP,最新的 实现也可以使用TCP。 当NFS服务器收到一个客户请求时,它将这个请求传递给本地文件访问例程,后者访 问服务器主机上的一个本地的磁盘文件。 大多数的NFS服务器都是多线程的。在客户内核中一般运行着多个NFS客户。
文件句柄:服务器创建文件句柄,把它传递给客户,然后客户访问文件时,使用对应的文件句柄,客户不会查看文件句柄的内容。
安装协议:客户必须在访问服务器上一个文件系统中的文件之前,使用安装协议安装那个文件系统。
NFS过程:返回一个文件的属性、设置一个文件的属性、返回一个文件系统的状态、查找一个文件、从一个文件中读数据、一个文件进行写操作、创建删除重命名文件、为一个文件构造一个硬链接符号链接、创建删除读目录。
最新的一些实现也支持TCP,主要用于广域网,它可以使文件操作更快。