计算机网络基础 学习笔记

OSI七层协议:应用层,表示层,会话层,运输层,网络层,数据链路层,物理层。

TCP/IP四层协议:应用层,运输层,网际层,网络接口层。


物理层:

将数字信号转换为模拟信号,反之也可。其中涉及到编码与调制。其中传输方式有,并行传输,串行传输,异步传输和同步传输。传输的媒介有双绞线,同轴电缆和光纤。

信道复用技术:复用就是通过一条物理线路,同时传输多路用户的信号。其中包括,频分复用,时分复用,波分复用和码分复用。



数据链路层:

数据链路层三个重要问题,封装成帧,差错检测和可靠传输。数据链路层负责把网络层交下来的数据构成帧,以及把帧的数据提取出来,上交给网络层。

封装成帧:在数据首部加上帧首部,尾部加上帧尾部,封装成帧。为了防止数据中出现了首尾flag,会加上转义字符。

差错检测:循环冗余检验。

可靠传输:停止等待协议。即等待接收方返回ACK或NAK再发下一帧。还有超时计时器辅助。还有回退N步协议(滑动窗口协议)和选择重传协议。

PPP协议(点到点协议):PPP由三部分组成:将IP数据报封装到链路的方法,链路控制协议和网络控制协议。

PPP的帧格式: 

第一部分占1个字节。为帧开始标志(01111110)

第二部分为(11111111)

第三部分为(00000011),这两部分目前没有明确含义。

第四部分是占2字节的协议字段,表明该帧是传输什么的。

中间部分是数据部分,最长不超过1500字节。

尾部的第一部分是2字节的CRC帧检测序列。

然后是帧结束标记。


但是PPP只能两台机互联。如果要多台机,常用的协议是CSMA/CD协议(载波监听多址接入/碰撞检测协议 就是以太网用的协议)。使用退避算法尽可能的减少碰撞。

MAC地址:即数据链路层地址,固化在网络适配器中的48位地址

以太网对数据帧不编号,不需要确认,以太网提供的是不可靠交付。帧差错由上一层来解决。

以太网帧由:目的地址,源地址,2字节的类型标志,和IP数据报组成。前面会由硬件加上同步码和帧定界标志。最后会有CRC码。

数据链路层的路由器是网桥和交换机,其中用到了生成树协议。

后来又发展出了无线局域网802.11协议.和新的以太网协议。其中都离不开MAC地址。



网络层:

两个问题:分组转发和路由选择。

同样的,网络层只是尽最大努力交付数据,不提供服务质量承诺。

网际协议IP

包括:ARP地址解析协议,RARP逆地址解析协议。ICMP网际控制报文协议和IGMP国际组管理协议

网络层使用的中间设备叫路由器,物理层的叫转发器,数据链路层的叫网桥,更上的叫网关。

IP地址的编制方式有三个阶段:分类编址,划分子网,和无分类编址,现在用的都是无分类编址。

ARP协议:用来解决已经知道IP地址,但是怎么知道他的物理地址的问题。RARP就反之。运行方式如下:当主机A要发送数据时,先在自己的ARP高速缓存中查看有无主机B的IP地址对应的物理地址,有的话就写入MAC帧,没有的话就运行ARP协议,在局域网上广播一个ARP分组请求“我的IP地址是x.x.x.x,物理地址是x,我想知道IP地址为y.y.y.y的主机的物理地址”。然后就会有反馈了。

IP数据报格式:

首部占20字节+可变的长度,包括版本,首部长度,总长度,标识,标志,片偏移,生存时间,协议,源地址,目的地址,可选字段等。然后就是数据部分。

IP数据报的转发:

路由表转发。简单的说,就是讲目标地址对子网掩码进行与操作,再与目标网络地址比较,相同的话,就转发到相应的接口。

ICMP报文种类:差错报告报文和询问报文。简单的应用:ping。

路由器选择协议包括:内部网关协议:路由信息协议RIP(基于距离),开放最短路径优先OSPF(基于链路状态)等。

外部网关协议:BGP。

路由器其实就是电脑。

VPN:虚拟专用网。简答的说就是把整个局域网转换为一个全球IP地址。

NAT:为了解决IP地址用完的问题,把单个局域网地址转换为全球IP地址。


运输层:

真正的传输终点并不是主机!而是主机中的进程!所以诞生了运输层。其中包括UDP(用户数据报协议)和TCP(传输控制协议)协议。

UDP:

UDP是无连接的,尽最大努力交付的,没有拥塞控制的,面向报文的通信。

首部只有8个字节比TCP的20字节省了很多。

首部包括:源端口,目的端口,长度和检验和。一个UDP端口与一个报文队列相关联,当队列满时,报文被丢弃(没有拥塞控制)。如果端口不正确,会由ICMP发送端口不可达错误。

TCP:

TCP是面向连接的,提供可靠服务的,全双工通讯的(UDP也是),面向字节流的,有拥塞控制和流量控制(与UDP不一样)通讯。

面向报文通讯:发什么就收什么。

面向字节流:把所有发的连在一起发(连多少由TCP控制),读多少就收多少。

报文结构:

1.源端口号和目的端口号。(各两个字节)

2.序号,4个字节。代表本报文段中的第一个字节的序号

3.确认号,4个字节。代表期望收到的下一个报文段的第一个数据字节的序号。

4.数据偏移,4位(是位),其实就是首部长度

5.保留,占6位

6.6个标记,各占1位,分别为:紧急(将数据发到最前面,与紧急指针配合使用),确认(为1时,确认号才有用),推送(立即发送),复位(重新连接),同步(三次握手相关),终止(四次挥手相关)。

7.窗口,占2字节,用来控制对方发送的数据量,就是他用来流量和拥塞控制的,就是允许对方发送的字节的长度。

8.校验和,2字节。

14.可变长度。

TCP为了可靠传输,用到了:差错检测,序号,确认,超时重传,滑动窗口机制。


三次握手:

B先被动打开,然后不断监听是否有连接请求。

A主动打开,向B发送连接请求报文!其格式是:同步位为1,确认号为0,选择一个序号x。

B收到请求!向A发送确认报文!其格式是:同步位为1,确认号为1,确认序号为x+1,选择一个序号y。

A收到确认!向B给出确认!其格式是:同步位为0,确认号为1,确认序号为y+1,序号为x+1.

当同步位为1时,不能携带数据!所以第三次握手其实是可以携带数据的。

那么为什么要第三次握手?因为是防止第一次握手的报文又再次传到B!


四次挥手:

假设A主动请求,向B发送终止报文!终止标志为1。同步位为0(同步位只是用来建立连接,所以肯定为0)

B收到请求,向自己的程序说连接终止,然后向A发送确认报文!这样A到B的连接就释放了处于半关闭状态!但是B仍可以向A发送数据!(还是要确认)但是B不再接受A的数据!

然后B再向A请求释放连接!终止标识为1。

A收到B的请求后,向B发送确认报文!然后就结束了!

但是!A不会马上结束,因为要等待超时重传,如果这个时候又收到了B的请求释放(因为A的确认有可能丢失),那么还要再确认一次!最后才结束!

拥塞控制和流量控制的区别:流量控制是点到点的(缓存不够),拥塞控制是全局的(线路上太多东西在传)。解决方法都是滑动窗口。


应用层:

很简单,就是真实的发送数据了,只是这些数据要遵循不同的格式。

电子邮件SMTP:TCP:25

远程终端访问Telnet:TCP:23

万维网HTPP:TCP:80

文件传输FTP:TCP:21

DHCP:UDP:67,68

DNS:TCP、UDP:53


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值