计算机网络
2015-10-12 19:13
549 查看
计算机体系结构
-协议是为对等层实体之间进行逻辑通信而定义的规则的集合.
-
接口是相邻两层之间进行交互的地方.(
不能跨层通信)
-
服务是下层对上层提供的功能.
-
实体是任何可以发送或接受信息的硬件或软件进程.
-协议是水平的,服务是垂直的,由下层向上层通过接口来提供.
ISO/OSI参考模型和TCP/IP模型
ISO七层 |
---|
应用层 |
表示层 |
会话层 |
传输层 |
网络层 |
数据链路层 |
物理层 |
物理层
通信基础
-信道:向某一个方向传输信息的媒体-波特:单位时间内传输的码元数
-波特率:波特率指的是信号每秒钟电平变化的次数,单位是Hz:比如一个信号在一秒钟内电平发生了365次变化,那么这个信号的波特率就是365Hz
-比特率:比特率是信号每秒钟传输的数据的位数,我们知道在计算机中,数据都是用0,1表示的,所以比特率也就是每秒钟传输0和1的个数,单位是bps(bit per second)
-带宽:一般信道都有一个最高的信号频率和最低的信号频率,只有在这两个频率之间的信号才能通过这个信道,这两个频率的差值就叫做这个信道的带宽,单位是Hz
-信道容量:口语中也会把信道容量叫做“带宽”
-集线器:实质是多接口的中继器
奈奎斯特定理
Cmax=2×B×log2LCmax指的是信道的最大容量,B是信道的带宽,L是信号电平的个数
-奈奎斯特定理适用的情况是无噪声信道,用来计算理论值。一根针掉在地上还有声音呢,没有噪声的信道在现实中是不存在的,香农定理出马了
香农定理
Cmax=B×log2(1+(S/N))S/N指的是信道的信噪比,但是我们一般测量出来的以db为单位的是经过10×log10(S/N)换算的,所以这里还要换算回来才行。
数据链路层
功能
-帧同步:例如连续发过来5个1,是帧的开始,5个0,是帧的结束,中间是数据.-流量控制:保证A发送的B肯定能收到,B能收3个,就不发4个.
-差错控制:
-寻址:
-数据和控制信息分开
工作过程
-数据链路层传输的是帧,帧就相当于数据链路层之间的协议结点A把数据传输到结点B的过程:
1.A把数据从网络层传送到链路层
2.链路层把数据封装成帧
3.发到物理链路上
4.B收到数据,判断是不是发给自己的
5.B把数据还原成帧,掐头去尾得到IP数据报
组帧
在一段数据的前后加首部和尾部,然后就构成了一个帧,首部和尾部的重要作用是帧定界
透明传输
解决透明传输问题
1.比特填充:在数据中出现”SHO”或”EOT”时,前面加一个转义字符”ESC”2.字节填充:接收端的数据链路层将数据传送到网络层前删除插入的转义字符
3.如果转义字符也出现在数据中,就在转义字符前再插一个转义字符
4.若字符中出现ASCII码的控制字符(即数值小于0x20的字符),则在前面加一个0x7D字节
5.零比特填充
循环冗余检验(CRC)
流量控制和可靠传输机制
1.滑动窗口变量设置发送窗口
-发送端设立一个变量,称为发送窗口,用SWS(send window size)表示
-发送窗口的大小SWS(窗口值)表示没有接受到确认帧的情况下,发送端最多可以发送帧的大小
-待发送的一段字节序列连续的范围称之为“窗口”
-左侧是已经发送的帧,右侧是不允许发送的帧,每发送一个帧允许发送的帧数就减1,但发送窗口不移动(等全发送完后收到确认信息时才动),当发送完没有收到确认信息时,不能继续发送
-发送端每收到一个帧的确认,发送窗口就向右移动一个帧的位置
-发送窗口的最大值:当RWS = 1时 SWSmax = SeqNum(序号) - 1
-
序号:看图片.RWS的大小表示了允许接收的序号上限
接收窗口
-接收端设立一个变量,称为接受窗口,用RWS(receive window size)表示
-接收窗口的大小RWS表示女仆接收帧的序号的上限(只有帧的序号在接收窗口内才允许接收该数据帧)
-不必每接收一个帧就发确认,可以连续接收几个之后对最后一个帧发确认信息
-对某一数据帧的确认就表明这个帧及它之前的所有帧均已准确无误的接收(累积确认)
-RWS可以根据需要设定
-接收窗口移动了,发送窗口才能移动
2.流量控制
流量控制主要是接收方传递信息给发送方,使其不要发送数据太快,是一种端到端的控制.主要的方式就是返回的ACK中会包含自己的接收窗口的大小,并且利用大小来控制发送方的数据发送
3.ARQ协议
(1)停等式ARQ
数据报文发送完成之后,发送方等待确认,如果发送成功,发送后续的数据报文,否则重传该报文.发送窗口和接收窗口大小均为1,发送方每发送一帧之后就必须停下来等待接收方的确认返回,所需缓冲空间最小,信道效率很低.
(2)回退n帧ARQ
发信侧不用等待收信侧的应答,持续的发送多个帧,假如发现已发送的帧中有错误发生,那么从那个发生错误的帧开始及其之后所有的帧全部再重新发送.
(3)选择性重传ARQ
持续发送多个帧,如发现已发送帧中有误,发送端只重新发送错误帧.
(4)混合ARQ
帧传送到接收端之后,即使出错也不会被丢弃.接收端指示发送端重传出错报文的部分或者全部信息,将再次收到的报文信息与上次收到的报文信息进行合并,以恢复报文信息.
会话层
会话层任务之一是管理会话.(会话什么时候开始,什么时候结束).另一种会话服务是同步,在数据流中插入校验点,用于断点续传.
表示层
表示层以下的部分尽关心可靠的传输比特流,而表示层关心面向应用的信息的语法.相关文章推荐
- Java基础知识强化之网络编程笔记11:TCP之TCP协议上传文本文件
- Java基础知识强化之网络编程笔记10:TCP之客户端读取文本文件服务器控制台输出
- “大师兄”社区(http://www.daxixiong.com/)欢迎你!!!
- 客户端通过http访问服务器端乱码问题的解决方案
- 网络编程 笔记(三) 套接字类型 协议设置
- iOS通过HTTP POST上传文件
- CPU亲缘性及网卡中断绑定
- 从源码安装apache httpd,并加载对php的支持
- ios测试基础一:mac下HTTP与HTTPS抓包
- POJ 1149 PIGS
- android中URLConnection和HttpURLConnection
- IOS网络编程简单介绍
- http\网络\
- HTTP协议初识
- Android中基于Http请求获取数据基础
- HTTP (http://) resource load since it is insecure.
- 错误代码:0x80070035 找不到网络路径
- ios-监听网络状态
- SOCKET API和TCP STATE的对应关系__三次握手(listen,accept,connect)__四次挥手close及TCP延迟确认(调用一次setsockopt函数,设置TCP_QUI
- OVS:网络环路 广播风暴解决方案