[个人笔记] 计算机网络

0. 概述

0.1 网络模型

osi七层网络结构:应用层/表示层/会话层/传输层/网络层/数据链路层/物理层
TCP/IP体系结构: 应用层/运输层/网际层/网络接口层
五层协议的体系结构:应用层/传输层/网络层/数据链路层/物理层
协议是控制两个对等实体(或者多个实体之间)进行通信的规则的结合,再协议的控制下,两个对等实体之间的通信使得本层能够向上一层提供服务,要实现本层协议,需要使用像下面一层提供的服务;;协议是水平的,服务是垂直的

0.2 核心交换技术

电路交换 的三个阶段:建立连接——通话——释放连接
在通话时,两用户之间占用端到端的资源,而由于绝大部分时间线路都是空闲的,所以线路的传输速率往往很低。
分组交换 的组成:报文、首部、分组。采用存储转发技术,即收到分组——存储分组——查询路由(路由选择协议)——转发分组。优点:高效、灵活、迅速、可靠。缺点:时延、开销。关键构件:路由器。
报文交换 整个报文传送到相邻结点,全部存储下来之后查询转发表,转发到下一个结点。

0.3 设备

物理层中间设备:转发器(repeater)
数据链路层中间设备:网桥或桥接器(bridge)
网络层中间设备:路由器(router)
网络层以上的中间设备:网关(gateway)

1. 物理层

传输的单位是比特
香农公式:信道的极限信息传输速率(bit/s)C=Wlog2(1+s/n) 信噪比越大 传输速率越高 奈奎斯特定理 最大码元传输速率B=2W(Baud)

2. 数据链路层

三个基本问题:封装成帧 添加首部和尾部(用于帧定界,是分组交换的必然要求);透明传输,插入转义符ESC(十六进制1B);差错检测 循环冗余校验CRC

2.1 ppp 点对点协议

在这里插入图片描述

有三个组成部分:一个将ip数据报封装到串行链路的方法;链路控制协议(LCP);网络控制协议(NCP)在这里插入图片描述

在这里,协议有三种0x0021 ppp中信息部分是ip数据报,0xC021:ppp链路控制协议LCP内容;0x8021:网络层的控制数据;
尾部的FCS是帧校验序列
透明传输有两种 字符填充(将每一个 0x7E字节变为(0x7D, 0x5E),0x7D转变成为(0x7D, 0x5D)。ASCII 码的控制字符(即数值小于 0x20 的字符),则在前面要加入0x7D,同时将该字符的编码加以改变)和零比特填充(五个连续的1就填入一个0)
PPP 协议的工作状态
链路静止-建立物理层-链路建立-pc发LCP-NCP分配IP地址-链路打开,网络层建立。(释放时倒过来)
广播
CSMA/CD 多点接入,载波监听,碰撞检测

2. 网络层

ip数据报,和ip协议配套的有三个协议:地址解析协议ARP(根据ip解析mac地址),逆地址解析协议RARP,网际控制报文协议ICMP,网际组管理协议IGMP

在这里插入图片描述
ip地址分类
A类 0 8位网络号
B类10 16位网络号
C类110 24位网络号
D类1110 多播地址
E类1111 保留今后使用

2.1 icmp

icmp差错报文一共有五种
终点不可达,源点抑制(流量控制的时候起作用),时间超过,参数问题,改变路由(重定向)
icmp询问报文有两种
回送请求和回答报文
时间戳请求和回答报文

2.2 路由选择协议

2.2.1 内部网关协议igp:

rip
基于距离向量的路由选择协议,仅和相邻路由器交换信息,按照固定的时间间隔交换路由信息
实现简单,开销比较小,限制了网络的规模,最大距离为15,16表示不可达;;在出现网络故障的时候,需要经过比较长的时间才能将这个信息传送到所哟丶路由器;路由交换的信息是整个路由表,开销比较大
ospf
链路状态协议
使用洪泛法向本自治系统中所有的路由器发送信息,发送的信息是和本路由器相邻的所有路由器的链路状态;;只有在链路状态发生变化的时候,才会向所有殴打路由器发送这个信息

2.2.2 外部网关协议EGP

3. 运输层

提供端到端的通信在这里插入图片描述

常见的端口

协议端口
FTP21
LELNET23
SMTP25
DNS53
TFTP69
HTTP80
SNMP161
SNMP(trap)162

3.1 UDP

无连接,尽最大努力交付,面向报文,没有拥塞控制,支持一对一,一对多,多对多和多对一的交互通信,首部开销比较小只有8个字节
在这里插入图片描述

3.2 TCP

tcp三次握手和4次握手
三次握手
在这里插入图片描述

为什么需要第三次握手
避免失效的请求到了从而错误的建立连接

四次握手断开
在这里插入图片描述

为什么要等待2MSL
在客户端ack没有到达服务器的时候进行重传

3.3 实现可靠传输

停止等待,每个分组编号发送确认超时重传
滑动窗口 连续ARQ:窗口内一起发送不等待确认,积累确认 滑动窗口以字节为单位
流量控制 通过滑动窗口进行实现

3.4 拥塞控制

慢开始 指数增长
拥塞避免 加法增大
快重传 连续收到3个ack,就重传
快恢复 连续三个ack,将门限值减半,随后执行拥塞避免算法

4 应用层

4.1 DNS

域名服务器将域名转化为ip地址供网络层使用
服务器按照层次进行划分:

根域名服务器
顶级域名服务器
本地域名服务器

主机向本地域名服务器采用递归查询的方式
本地域名服务器向根域名服务器采用迭代查询的方式

4.2 万维网和http

http是无连接和无状态的
无连接是指每一次连接只处理一次请求
无状态是指同一个客户在第二次访问这个页面的时候得到的响应和第一次是一样的,对事务处理不具有记忆能力

http发展历史
在这里插入图片描述

http1.0和http1.1
1.0的缺点 :每请求一个文档都需要两倍的RTT的开销,如果一个主页上有很多的链接的对象的时候需要依次进行链接,每一次链接都是2RTT的开销;另一个开销是客户端和服务器每一次建立新的TCP连接都需要分配缓存和变量,服务器的负担很重(非持续连接)
1.1使用了持续连接
有两种持续连接的工作方式;非流水线式 客户收到前一个响应之后才能发出下一个请求;;流水线式:客户在收到HTTP响应报文之前就可以接着发送新的请求报文

http和https
http使用明文发送,内容可能被窃听,不验证通信方的身份,可能遭遇伪装,无法证明报文的完整性,所以可能已经遭到篡改
http通过ssl(安全套接层)或者TLS(安全层传输协议)的组合使用,加密内容(通信加密,在整个通信线路中加密)
端口不同http80,https443

https加密方式
对称加密方式:加密和解密使用的是同一个密钥的方式
非对称加密:使用公钥和私钥
公钥和私钥一一对应,发送方使用接收方的公钥对数据进行加密,发送到接收方之后,接收方使用自己的私钥来对数据进行解密查看

http建立连接的过程
就是一个tcp的连接,在第三次握手的时候,HTTP请求报文会作为报文数据传输给万维网服务器
https建立连接的过程
在这里插入图片描述
get和post的区别
get只发送一个报文,浏览器会把http header和和data一并发送出去,服务器响应200(返回数据)
POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。但是在firefox中只发送一次
GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark(书签),而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求的参数会完整的被保存在历史记录里,POST不会。
GET请求参数放在URL中,POST放在request body中。
GET请求只能进行url编码,POST请求支持多种编码方式。
对于参数类型,GET只接受ASCII字符,而POST没有限制。
GET请求在URL中传递的参数是有长度限制的,而POST没有。
GET比POST更不安全,因为参数直接暴露在URL中,所以不能传递敏感信息。

4.3 邮件传输

邮件传输过程 smtp 端口25 发送协议smtp,读取协议imap/pop3
动态主机配置协议DHCP 用于得到ip地址
服务端广播发送discover报文(包含mac地址和计算机名等信息),服务器接收到之后提供offer报文(封装了前面的mac地址还有一个xid编号来辨别封包,报文中还包含了ip地址,子网掩码,地址租期等信息),客户机从多个dhcp服务器中选择一个发送请求报文,并广播dhcp request数据包,告诉所有的服务器他接受了哪个ip(此时源ip还是0.0.0.0),服务器接收到之后发送ack,并且发送ack数据,客户机接收到这个ack之后向网络发送三个针对这个ip地址的arp解析请求执行冲突检测

4.4 ftp文件传输协议

使用客户服务启方式;服务器中分为两大进程:主进程用来接收请求消息;接收到文件传送消息之后启动若干从属进程处理消息;主进程仍然处于等待状态;
主进程和从属进程并发进行的;
在数据传送过程中,启动两个从属进程:控制进程和数据传送进程;其中控制进程用来传送数据传送过程中产生的控制信息;数据传送进程传送数据;同时建立两条连接:控制连接(21号端口)和数据传送连接(20号端口);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值