网络协议-基础概念

https://segmentfault.com/q/1010000004953614/a-1020000004954351

https://www.baidu.com/s?wd=udt%E5%8D%8F%E8%AE%AE%E8%AF%A6%E7%BB%86%E4%BB%8B%E7%BB%8D&rsv_spt=1&rsv_iqid=0x858c83880000a12c&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=3&rsv_sug1=3&rsv_sug7=100&rsv_t=77ddTcU0I%2F66ef3d1WxGV29iQ6Ih0erc3bGMbLp3MvXxTfZcdn5G4cnUOmioUVJClGce

http://blog.csdn.net/yclzh0522/article/details/7019491

https://www.baidu.com/s?wd=udt%E6%98%AF%E5%9F%BA%E4%BA%8ETCP%E8%BF%98%E6%98%AF%E5%9F%BA%E4%BA%8EUDP&rsv_spt=1&rsv_iqid=0x85814a910000d8ee&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=9&rsv_sug1=3&rsv_sug7=100&rsv_t=5ca5gVNn387EZ9egO32ONHCflu6R6K3YpyUFUU25fI5tbR1CIH2%2FHTlH4MjYIGKrXJr%2F&rsv_sug2=0&inputT=15914&rsv_sug4=15915

http://baike.baidu.com/link?url=RTLn0jsK7E6_ly7Vn2iIramToKLYXPY3rEsJScL5-WaUuAqIXnH9whPHoWCnGrp1zsBVsogqV3sspxTPtEZwsK

http://baike.baidu.com/item/%E6%8B%A5%E5%A1%9E%E6%8E%A7%E5%88%B6

http://baike.baidu.com/item/%E6%8B%A5%E5%A1%9E%E7%AA%97%E5%8F%A3

http://baike.baidu.com/item/%E9%80%9A%E4%BF%A1%E5%AD%90%E7%BD%91

http://baike.baidu.com/item/%E9%80%9A%E4%BF%A1%E5%AD%90%E7%BD%91

https://www.baidu.com/s?wd=udp%E5%88%86%E5%8C%85%E7%BB%84%E5%8C%85&rsv_spt=1&rsv_iqid=0xca2fb99e0000a6cf&issp=1&f=3&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=4&rsv_sug1=4&rsv_sug7=100&rsv_t=8d21fhGDbbsiqKlV418Q%2BJbT0Oej3AdBlRaT5wlYIErWbDZVgMlXBCC05s40RT%2FVOm0w&rsv_sug2=1&prefixsug=udp%25E5%2588%2586%25E5%258C%2585&rsp=1&inputT=4409&rsv_sug4=4410

http://blog.csdn.net/cherish_2012/article/details/41681853

TCP/IP协议族的四个层次.png

1、网络协议层次分类:

1、链路层;
2、网络层;
3、运输层;
4、应用层;
1、链路层:

有时也称为数据链路层或网络接口层, 通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡. 它们一起处理与电缆的物理接口细节;

2、网络层:

处理分组在网络中的活动, 在TCP/IP协议族中, 网络层协议包括IP协议,ICMP协议以及IGMP协议;

3、运输层:

由于运输层提供了高可靠性的端到端的通信, 因此应用层可以忽略所有这些细节;

局域网上运行ftp的两台主机.png

应用程序通常是一个用户进程, 而下面三层则一般在内核中执行;

顶层与下三层的一个关键区别是:
应用层关心的是应用程序的细节, 而不是数据在网络中的传输活动;
下三层对应用程序一无所知, 但他们要处理所有的通信细节;

2、TCP可靠:

TCP提供一种面向连接的、可靠的字节流服务:

TCP通过以下方式来提供可靠性:

1、应用数据被分割成 TCP认为最适合发送的数据块。
2、当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能;
及时收到一个确认,将重发这个报文段。
3、当TCP收到发自 TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,
通常将推迟几分之一秒;
4、既然TCP报文段作为 IP数据报来传输,而 IP数据报的到达可能会失序,因此 TCP报文段
的到达也可能会失序。如果必要, TCP将对收到的数据进行重新排序,将收到的数据以
正确的顺序交给应用层。
5、既然IP数据报会发生重复, TCP的接收端必须丢弃重复的数据。

3、TCP首部:

Paste_Image.png
在TCP首部中有6个标志比特, 他们中的多个可以同时被设置为1.

|标志|含义|
|-|
|URG|紧急指针有效|
|ACK|确认序号有效|
|PSH|接收方应该尽快将这个报文段交给应用层|
|RST|重建连接|
|SYN|同步序号用来发起一个连接|
|FIN|发端完成发送任务|

  • 1、每个TCP段都包含源端和目的端的端口号,用于寻找发端和首端应用进程. 这两个值加上IP首部中的源端IP地址和目的端IP地址唯一确定一个TCP连接.
拥塞窗口:

发送端根据网络的拥塞程度所预设的一个大小值, 而这个值就是拥塞窗口.
源端在拥塞控制情况下一次最多能发送的数据包的数量.
发送方控制拥塞窗口的原则是: 只要网络没有出现拥塞, 拥塞窗口就再增大一些, 以便把更多的分组发送出去, 但只要网络出现拥塞, 拥塞窗口就减少一些, 以减少注入到网络中的分组数;

AIMD:

TCP/IP模型中, 属于运输层, 为了解决拥塞控制的一个方法, 即: 加性增, 乘性减.
Example:
当TCP发送方感受到端到端路径无拥塞时就线性的增加其发送速度, 当察觉到路径拥塞时就乘性减小其发送速度;
当TCP发送端收到ACK, 并且没有检测到丢包事件时, 拥塞窗口+1; 当TCP发送端检测到丢包事件时, 拥塞窗口/2.

拥塞控制:
拥塞现象:

拥塞现象是指到达通信子网网中某一部分的分组数量过多, 使得该部分网络来不及处理, 以致引起这部分乃至整个网络性能下降的现象. 严重时甚至会导致网络通信业务陷入停顿, 即出现死锁现象.
Example:
公路网中经常所见的交通拥挤一样, 当节假日公路网中车辆大量增加时, 各种走向的车流相互干扰, 使每辆车到达目的地的时间都相对增加(即延迟增加), 甚至有时在某段公路上车辆因堵塞而无法开动(即发生局部死锁);

网络的吞吐量与通信子网负荷有着密切的联系;

造成拥塞的原因:

1、多条流入线路有分组到达, 并需要同一输出线路, 此时, 如果路由器没有足够的内存来存放所有这些分组 , 那么分组就会丢失;
2、路由器的慢带处理器的缘故, 以至于难以完成必要的处理工作, 如缓冲区排队, 更新路由表等;

udt:

基于UDP的数据传输协议是一种互联网数据传输协议, UDT的主要目的是支持高速广域网上的海量数据传输, 而互联网上的标准数据传输协议TCP在高带宽长距离网络性能很差.
udt是面向连接的双向应用层协议. 它同时支持可靠的数据流传输和部分可靠的数据报传输.
由于UDT完全在UDP上实现, 它也可以应用在除了高速数据传输之外的其他应用领域, 例如点到点技术(p2p), 防火墙穿透, 多媒体数据传输等;

RTT:

往返延时, 在计算机网络中它是一个重要的性能指标, 表示从发送端发送数据开始, 到发送端收到来自接收端的确认, 总共经历的时延。
RTT由三部分构成:

1、链路的传播时间;
2、末端系统的处理时间;
3、路由器的缓存中的排队和处理时间;

路由器的缓存中的排队和处理时间会随着整个网络拥塞程度的变化而变化. 所以RTT的变化在一定程度上反映了网络拥塞程度的变化.

时延:

时延是指一个报文或分组从一个网络的一端传送到另一端所需要的时间;

时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

发送时延与传播时延是我们主要考虑的. 对于报文长度较大的情况, 发送时延是主要矛盾; 报文长度较小的情况, 传播时延是主要矛盾.

时延是指数据包第一个比特进入路由器到最后一个比特从路由器输出的时间间隔;

SSL(Secure Sockets Layer)安全套接字:

TLS与SSL在传输层对网络连接进行加密;
SSL用以保障在Internet上数据传输之安全, 利用数据加密技术, 可确保数据在网络上传输过程中不会被截取及窃听;
SSL协议分为两层:

1、SSL记录协议(SSL Record Protocol);
2、SSL握手协议(SSL Handshake Protocol);
SSL记录协议:

建立在可靠的传输协议之上, 为高层协议提供数据封装, 压缩, 加密等基本功能的支持;

SSL握手协议:

建立在SSL记录协议之上, 用于在实际的数据传输开始前, 通讯双方进行身份认证, 协商加密算法, 交换加密密钥等;

数据封装:

笼统的讲, 就是把业务数据映射到某个封装协议的净荷中, 然后填充对应协议的包头, 形成封装协议的数据包, 并完成速率适配.
数据封装的过程:

  • 1、用户信息转换为数据, 以便在网络上传输;
  • 2、数据转换为数据段, 并在发送方和接收方主机之间建立一条可靠的连接;
  • 3、数据段转换为数据包或数据报, 并在报头中放上逻辑地址, 这样每一个数据包都可以通过互联网络进行传输;
  • 4、数据包或数据段转换为帧, 以便在本地网络中传输. 在本地网段上, 使用硬件地址唯一标识每一台主机;
  • 5、帧转换为比特流, 并采用数字编码和时钟方案;
数据封装的过程.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容

  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,051评论 0 8
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,053评论 6 174
  • 本书结构是自顶向下的,所以请按下列顺序阅读: 1.计算机网络自顶向下--应用层2.计算机网络自顶向下--运输层3....
    牛富贵儿阅读 2,738评论 0 3
  • 协议的定义 为了在计算机网络中有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换数据的格...
    王侦阅读 1,684评论 0 3
  • 【计算机网络】传输层 传输层协议概述 传输层协议为运行在不同host上的进程提供了一种逻辑通信机制。使得端到端不需...
    666真666阅读 1,992评论 0 4