CCNA学习指南-----1-3章笔记

网络互联
1.2
交换机划分冲突域路由器(路由器也叫三层交换机)划分广播域集线器不划分任何域,因此只有集线器的网络只有一个冲突域。
一个广播域中可以有很多冲突域。冲突域越多,广播域的广播速度越慢。
在同一个广播域中的主机可直接通过广播查找目的主机的IP,不在同一广播域的则需要用到DNS解析。
集线器可用交换机替换。
路由器功能:分组交换、分组过滤、网络间通信、路径选择
串行接口连接到wan

上图为常见的VLAN连法,有10个冲突域(1,2,3,4,12,13,14,123,124,234)

1.3
一般的本地应用程序不位于应用层中,而是与应用层协议交互,而一些需要联网的应用程序如FTP则位于应用层中。
表示层本质上是一个转换器,提供编码和转换功能,以及压缩解密还有流媒体相关的操作。那么像htol()、htons()、codec等应该是作用于表示层的。
会话层基本功能是将不同应用程序的数据分离,负责在实体之间建立、管理和终止会话,还可以控制对话,有单工(只能单向通信)、半双工(可双向通信但不能同时双向通信)、全工(可同时双向通信)三种模式。
传输层:流量控制(确认重传排序)、三次握手构建了一条虚电路、窗口
网络层主要是路由器的路由选择,管理设备编址、跟踪设备在网络中的位置并确定最佳的数据传输路径。有个路由选择表用于判断是否此路由可达。网络层通过数据进行分组:被路由协议包括IP、IPv6
通过路由更新分组:路由选择协议RIP、RIPv2、EIGRP、OSPF
二层口和三层口都对应了一个net_device,但二层口是没有配置ip地址并且端口设置为混杂模式,并且加入网桥的端口。
二层转发是不修改报文头部的而三层转发需要对报文的二层头部进行相应的修改。网桥的桥接就是二层转发的,每个桥维护一个FDB表,包含MAC地址和port(交换机的端口)ioctl用于控制设备的I/O通道,ifconfig命令就是通过ioctl接口与内核通信,ifconfig命
令首先打开一个socket,然后调用ioctl将request传递到内核,从而获取request请求数据。还有ifreq、ifconf。
会表应:用户信息转为数据以便进行网络传输。
:数据被转为数据段,发送主机和接收主机之间建立一条可靠连接。包含端口信息。
:数据段转为分组或数据报,逻辑地址被添加在报头中,以便进行路由分组。包含IP信息以及一个协议字段。
:分组或数据报转为帧,以便在本地网络中传输。包含MAC信息。
:帧转换为比特,并使用数字编码方法和时钟同步方案。转为比特。


2.1
冲突域中的两台主机之间会起冲突,不能同时交流。
半双工模式下需要使用CSMA/CD冲突检测机制,网卡会在数据发送前发出一个CSMA/CD侦听包,判断冲突域中是否冲突产生,而全双工有两个信道,是不需要的。CSMA/CD会检测收到一个拥堵信号,后退算法决定了之后多久可重新传输。全双工以太网下每一个端口都对应一个独立的冲突域。
单工一般用于广播电视、半双工用于交替进行的、全双工典型的有普通电话等。
专有LAN中使用802.3_Ethernet帧,一般IPv4(0x0800)、IPv6(0x86dd)使用Ethernet_II帧,因为它可以识别上层协议类型。
直通电缆(主机到交换机或集线器、路由器到交换机或集线器)、交叉电缆(交换机到交换机、集线器到集线器、主机到主机、集线器到交换机、路由器到主机、路由器到路由器)、反转电缆(超级终端到主机串行端口)。
端口号标识虚电路和上层进程,这里提一下源端口,需要满足TCP四元组的唯一性。有两种
可能:https://blog.csdn.net/dog250/article/details/14054987
调用bind,但是bind的端口是0的时候;//列维搜索算法
关于列维搜索算法运用:

#include<stdio.h>
#include<stdlib.h>
#include<pthread.h>
#define LOW 10000
#define HIGH 65535
int get_local_port(int base)
{
    unsigned int i,j,port,remaining;
again:
    remaining = (HIGH - LOW) + 1;
    port = LOW + random()%remaining;
    for(i=1;i<=remaining;i++){
        int port_ok = 0;//接着省略从内核判断port_ok
        port_ok = 1;
        if(port_ok){
            goto check_inner;
        }
        port++;
    }
check_inner:
    {    
        int port_inner_ok;//应该是从内核判断port_inner_ok
        port_inner_ok = 1;
        if(!port_inner_ok){
            goto again;
        }
    }
}


没有调用bind,直接调用connect的时候。这时候知道了四元组中的三个变量,可以通过哈希连接这三个变量推出相类似的端口号。主机只能使用不小于1024的端口号,所以源端口值一般是大于1024(0~1023为知名端口号)
2.3思科三层模型
核心层:主干。最重要的就是速度,并且要求高容错性。设计时应选择汇聚时间短的路由协议,考虑使用包含冗余链路(也就是备份链路,以提高网络的健壮性,常见的问题是备份链路之间存在环路,需要用生成树协议进行解决)的吉比特以太网,甚至是10吉比特的以太网。
集散层:路由选择。主要提供路由选择、过滤和WAN接入(还有安全性和网络策略包括地址转换和防火墙,定义广播域,访问列表和排队,路由选择协议之间的重分发等),以及在必要时确定如何让分组进入核心层。大多为三层交换机也就是路由器。
接入层:交换。控制用户和工作组对互联网资源的访问,大多数用户需要的网络资源位于本地,而所有远程服务数据流都由集散层处理,建立冲突域,提供到集散层的工作组连接,常采用吉比特以太网和快速以太网交互等技术。

MAC地址的组成成分:长48位(6B),前24位(3B)称为OUI(组织唯一标识符,由IEEE分配给NIC制造商)后24位由制造商唯一标识。
以太网帧结构:前导码,帧起始位置分隔符,源MAC,目的MAC,长度或类型,帧校验序列。
关于net_device和in_device结构体https://www.2cto.com/kf/201804/737022.html
net_device结构主要用于内核自身(设备驱动、上层协议等)对网络设备的操作,in_device主要是保存用户态对此设备的配置信息比如IP地址的配置,其保存在in_device的成员ifa_list中,两个结构体通过指针互联在一起。net_device成员包括网卡硬件类信息、统计类信息、上层协议处理接口、流控接口等。
TCP/IP
3.1关于一堆协议:
Telnet终端模拟
FTP、TFTP文件传输协议,相比于邮件收发协议,可以传输更大的文件(50GB),基于TCP面向连接所以可以断点续传,而电子邮件客户端不支持。FTP没有加密传输文件,而SCP可以加密传输文件,SFTP比SCP更好。
NFS网络文件系统,让windows服务器的部分RAM看起来像存储的是Unix文件,windows文件系统和unix文件系统不同的地方在于是否区分大小写、文件名长度、安全性等方面不同。(关于稀疏文件)
SMTP简单邮件传输协议,主要用于发送邮件投送至目的地的队列,定期检查队列即可收到邮件。
POP邮局协议/IMAP因特网消息访问协议,主要用于接收文件。IMAP逐渐取代POP3,POP3不允许选择性的下载邮件,邮件下载后就可以C/S的交互就结束了,用户可以随意删除和操作邮件。而IMAP可以查看或下载邮件的一部分,并且提供了搜索功能可根据邮件情况搜索,还提供了一些身份验证功能。IMAP服务器可以允许多人同时在服务器上对邮件进行操作,对邮件进行标识,而不用全部下载下来。
TLS传输层安全,前身SSL安全套接字层,保障在线数据传输的安全。
SIP(VoIP)会话发起协议,信令协议,用于建立和拆除多媒体通信会话,可用于语音和视频呼叫、视频会议、流媒体分发、即时通信、状态信息、在线游戏等。
RTP(VoIP)实时传输协议
LPD行式打印机守护进程/LPR行式打印机,用于共享打印机的资源和设备。
X Window
SNMP收集并操作有价值的网络信息,可作为网络看门狗,出现异常可以向管理工作站发送trap警告。
NNTP网络新闻传输协议,新闻阅读器程序常见于搜索引擎中。
LDAP轻量级目录访问协议,用于在某个地方存储目录以记录所有网络资源,如设备和用户。
IGMP因特网组管理协议,是一种用于管理IP组播会话的TCP/IP协议,职责:通过网络发送唯一的IGMP消息,以揭示组播组信息,并找出主机所属的组播组,IP网络中的主机也使用IGMP消息来加入和退出组播组,IGMP用于跟踪组成员关系以及激活组播流。
关于DHCP,最好一个局域网只有一个DHCP服务器,这样就不会多个服务器应答ip导致ip不可用。DHCP有四个步骤:
DHCP发现:客户端广播DHCP请求寻找可用的DHCP服务器。
DHCP提供:DHCP收到客户端IP租约请求后提供一个IP租约单播或单播(根据协议字段中的要求)回客户端。
DHCP请求:客户端收到后广播发送一个DHCPREQUEST消息表明接受了租约请求。
DHCP确认:收到DHCPREQUEST后开始配置最后阶段完成DHCP分配。
关于DHCP冲突一般使用ping命令或免费ARP(Gratuitous ARP)来判断此ip是否被使用。免费ARP用于向全局广播我是10.1.1.1,我正在使用10.1.1.1,如果有相同的ip正在使用则报告冲突并将地址从地址池中删除,在管理员解决冲突前此ip无法分配。
免费ARP还用来在系统引导时查找自己的IP和MAC,引导时执行tcpdump免费ARP发现的都是自己的ip和mac。


TCP负责将来自大型应用程序的程序块划分成数据段并给每个数据段编号,让接受主机的TCP栈能够按应用程序希望的顺序排列数据段。发送数据段后将等待接收方的确认并重传。
在TCP这一层发送方的TCP栈将与目标主机的TCP栈联系,建立一个虚电路的连接。两个栈对顺序、信息量等预先达成一致。
TCP图:


这里可以看到TCP记录该块数据的序列号用以排序,确认号用以及接收目标主机的确认,报头长度定义数据开始的位置,窗口大小由接收方缓存大小、网络拥塞程度共同决定,一旦win=0发送方停止发送数据直到有可用win。标志有URG、ACK、PSH、RST、SYN、FIN,其中ACK的序列号不加1,否则无法完成握手。
端口号用于跟踪通过网络同时进行的不同会话,源端口是源主机自动分配的值不小于1024(意思为1024及以上的端口可用于与其他主机建立会话)。

3.2.3
关于因特网层协议:IP,路由选择以及提供单个到上层的接口。
如果没有这一层,应用程序开发人员需要写很多个钩子,接入各种网络协议,这样应用程序会有以太网版本、无线版本等。
因特网层协议:
IP,包含了访问IP协议的方式

ICMP是一种管理协议,为IP消息提供收发服务,可以给主机提供发现前往网关的路由的功能。ICMP的返回网络故障的信息,封装在IP数据报中。常见事件:网络不可达,如果路由器不能再向前转发IP数据报,则使用ICMP通告网络不可达。
缓冲区已满
超过跳数/时间
Ping、Traceroute
ARP作为网络的侦探:如果IP在ARP缓存中没有找到目标主机的硬件地址,那么发送广播,要求有特定IP地址的机器使用其硬件地址进行应答。
RARP:已知MAC,获得IP。
代理ARP(一般是由路由器进行代理):对于没有配置缺省网关路由策略的计算机要和其他网络中的计算机通信,网关在收到源主机的ARP请求时用自己的MAC地址和目标计算机的IP地址进行应答。(这里的理解也就是当源主机和目标主机不属于同一网段而是经过了路由器的隔离,arp就会发现当前网关的IP,如果不知道网关的MAC地址,那么接着arp返回网关的MAC地址封装进自己的数据包中。当网关路由器收到了这个数据包后发现不是给自己的所以决定进行路由,路由至主机B所在网段,接着arp找主机B的MAC,找到后将主机B的MAC替换网关的MAC,至此发送。因此全过程下来不断在变化的只有目标主机的MAC,而源IP、源MAC、目标主机的IP是不会变的。查询这件事协议栈会帮你做好)。路由器对于每个经过他查询的包都会记录下来。

3.3
IP编址
A类以0开头,0-127,1B为网络位,3B为主机位(极大网络)
B类以10开头,128-191,2B为网络位,2B为主机位(中等网络)
C类以110开头,192-223,3B为网络位,1B为主机位(极小网络)
A类私有:10.0.0.0-10.255.255.255(公司网,65535个)
B类私有:172.16.0.0-172.31.255.255
C类私有:192.168.0.0-192.168.255.255(家庭网,254个足够了)
私有网络涉及到NAT私有地址转化。

IPv4地址类型
2层广播:MAC的广播
3层广播:IP的广播(ARP)
单播:(DHCP服务器原理)路由器通过识别目标端口67(BootP服务器)将请求转发至DHCP服务器,主机只用(2层或3层)广播发送,路由器将修改目标地址为DHCP服务器地址。ip helper-address启用DHCP转发功能。
组播地址:组播路由器借助组播路由协议为组播数据包建立树形路由,被传递的信息在尽
可能远的分叉路口才开始复制和分发。组播IP地址在224.0.0.0-239.255.255.255。
DoD:因特网层、进程/应用层、主机到主机层

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值